{
  "type": "createFile",
  "label": "Create File",
  "category": "Content & Media",
  "description": "Creates a document file (txt, docx, or html) from workflow data, optionally saving it to the WordPress Media Library. Runs on the WordPress site (local-only).",
  "capabilities": ["file generation", "txt/docx/html output", "media library storage"],
  "modes": ["local"],
  "credits": 1,
  "config": [
    { "name": "fileName", "type": "string", "required": true, "supportsVariables": true, "description": "Name of the file to create." },
    { "name": "fileFormat", "type": "enum", "required": true, "default": "txt",
      "options": ["txt", "docx", "html"], "description": "Output file format." },
    { "name": "fileContent", "type": "string", "required": true, "supportsVariables": true, "description": "Text content to write into the file." },
    { "name": "saveToMedia", "type": "boolean", "required": false, "description": "Save the file to the WordPress Media Library." }
  ],
  "inputs": ["main"],
  "outputs": ["main"],
  "example": { "nodeName": "Export Report", "fileName": "report-[[date] from trigger-1]", "fileFormat": "docx", "fileContent": "[Input from writeArticle-1]", "saveToMedia": true },
  "keywords": ["file", "create", "document", "docx", "txt", "html", "export"],
  "contract": {
    "produces": { "kind": "media", "cardinality": "single", "namedFields": false, "jsonExtractable": false, "reference": "[Input from {id}]", "note": "Produces a file URL / media id." },
    "consumes": { "fields": [ { "name": "fileName", "required": true, "supportsVariables": true }, { "name": "fileContent", "required": true, "supportsVariables": true } ] }
  }
}
