addedInput schema / anyOf
Added value: +[
+ {
+ "additionalProperties": false,
+ "properties": {
+ "branch": {
+ "description": "Branch the project must be on for this operation. Ignored when blank. Fails if the repository has no branches or the project is on another branch. Omit for repository 'local' and non-branch repositories.",
+ "type": "string"
+ },
+ "conflictPolicy": {
+ "description": "How to handle a target file that already exists: FAIL (default) returns an error; OVERWRITE replaces its content in place; SKIP leaves the existing file unchanged and reports it skipped. Has no effect when creating a new file.",
+ "enum": [
+ "FAIL",
+ "OVERWRITE",
+ "SKIP"
+ ],
+ "type": "string"
+ },
+ "content": {
+ "description": "UTF-8 text content.",
+ "type": "string"
+ },
+ "createFolders": {
+ "default": true,
+ "description": "If true (default), missing intermediate folders are created automatically; otherwise the parent folder must already exist.",
+ "type": "boolean"
+ },
+ "encoding": {
+ "const": "utf-8",
+ "description": "Optional explicit UTF-8 encoding; omitted means UTF-8.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Optional commit message. PRESENT → the write is committed to Git after saving the project (a new revision is created). ABSENT → the write stays in the project WORKING COPY (commit it later with openl_save_project). NOTE: committing saves ALL pending project changes (OpenL has no per-file commit), and only works for design (Git) repositories — not 'local'.",
+ "type": "string"
+ },
+ "path": {
+ "description": "Project-relative path to the resource (e.g. 'rules/Model.xlsx'). Do NOT include the project name itself; paths are relative to the project root. A trailing slash denotes a folder.",
+ "minLength": 1,
+ "type": "string"
+ },
+ "projectId": {
+ "description": "Project ID returned by backend. Use the exact 'projectId' value from openl_list_projects() response without modification or reformatting.",
+ "type": "string"
+ },
+ "response_format": {
+ "default": "json",
+ "description": "Response format: 'json' for structured, round-trippable data (default), 'markdown' for human-readable output, 'markdown_concise' for a brief summary (1-2 paragraphs), or 'markdown_detailed' for full details with context",
+ "enum": [
+ "json",
+ "markdown",
+ "markdown_concise",
+ "markdown_detailed"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "projectId",
+ "path",
+ "createFolders",
+ "content"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "branch": {
+ "description": "Branch the project must be on for this operation. Ignored when blank. Fails if the repository has no branches or the project is on another branch. Omit for repository 'local' and non-branch repositories.",
+ "type": "string"
+ },
+ "conflictPolicy": {
+ "description": "How to handle a target file that already exists: FAIL (default) returns an error; OVERWRITE replaces its content in place; SKIP leaves the existing file unchanged and reports it skipped. Has no effect when creating a new file.",
+ "enum": [
+ "FAIL",
+ "OVERWRITE",
+ "SKIP"
+ ],
+ "type": "string"
+ },
+ "content": {
+ "description": "Legacy base64 binary content. Whitespace and line wrapping are accepted.",
+ "type": "string"
+ },
+ "createFolders": {
+ "default": true,
+ "description": "If true (default), missing intermediate folders are created automatically; otherwise the parent folder must already exist.",
+ "type": "boolean"
+ },
+ "encoding": {
+ "const": "base64",
+ "description": "Marks the legacy content parameter as base64.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Optional commit message. PRESENT → the write is committed to Git after saving the project (a new revision is created). ABSENT → the write stays in the project WORKING COPY (commit it later with openl_save_project). NOTE: committing saves ALL pending project changes (OpenL has no per-file commit), and only works for design (Git) repositories — not 'local'.",
+ "type": "string"
+ },
+ "path": {
+ "description": "Project-relative path to the resource (e.g. 'rules/Model.xlsx'). Do NOT include the project name itself; paths are relative to the project root. A trailing slash denotes a folder.",
+ "minLength": 1,
+ "type": "string"
+ },
+ "projectId": {
+ "description": "Project ID returned by backend. Use the exact 'projectId' value from openl_list_projects() response without modification or reformatting.",
+ "type": "string"
+ },
+ "response_format": {
+ "default": "json",
+ "description": "Response format: 'json' for structured, round-trippable data (default), 'markdown' for human-readable output, 'markdown_concise' for a brief summary (1-2 paragraphs), or 'markdown_detailed' for full details with context",
+ "enum": [
+ "json",
+ "markdown",
+ "markdown_concise",
+ "markdown_detailed"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "projectId",
+ "path",
+ "createFolders",
+ "content",
+ "encoding"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "blob": {
+ "contentEncoding": "base64",
+ "contentMediaType": "application/octet-stream",
+ "description": "Binary file bytes encoded as base64. Uses JSON Schema 2020-12 contentEncoding='base64'.",
+ "format": "base64",
+ "pattern": "^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$",
+ "type": "string"
+ },
+ "branch": {
+ "description": "Branch the project must be on for this operation. Ignored when blank. Fails if the repository has no branches or the project is on another branch. Omit for repository 'local' and non-branch repositories.",
+ "type": "string"
+ },
+ "conflictPolicy": {
+ "description": "How to handle a target file that already exists: FAIL (default) returns an error; OVERWRITE replaces its content in place; SKIP leaves the existing file unchanged and reports it skipped. Has no effect when creating a new file.",
+ "enum": [
+ "FAIL",
+ "OVERWRITE",
+ "SKIP"
+ ],
+ "type": "string"
+ },
+ "createFolders": {
+ "default": true,
+ "description": "If true (default), missing intermediate folders are created automatically; otherwise the parent folder must already exist.",
+ "type": "boolean"
+ },
+ "message": {
+ "description": "Optional commit message. PRESENT → the write is committed to Git after saving the project (a new revision is created). ABSENT → the write stays in the project WORKING COPY (commit it later with openl_save_project). NOTE: committing saves ALL pending project changes (OpenL has no per-file commit), and only works for design (Git) repositories — not 'local'.",
+ "type": "string"
+ },
+ "path": {
+ "description": "Project-relative path to the resource (e.g. 'rules/Model.xlsx'). Do NOT include the project name itself; paths are relative to the project root. A trailing slash denotes a folder.",
+ "minLength": 1,
+ "type": "string"
+ },
+ "projectId": {
+ "description": "Project ID returned by backend. Use the exact 'projectId' value from openl_list_projects() response without modification or reformatting.",
+ "type": "string"
+ },
+ "response_format": {
+ "default": "json",
+ "description": "Response format: 'json' for structured, round-trippable data (default), 'markdown' for human-readable output, 'markdown_concise' for a brief summary (1-2 paragraphs), or 'markdown_detailed' for full details with context",
+ "enum": [
+ "json",
+ "markdown",
+ "markdown_concise",
+ "markdown_detailed"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "projectId",
+ "path",
+ "createFolders",
+ "blob"
+ ],
+ "type": "object"
+ }
+]
removedInput schema / properties
Removed value: -{
- "branch": {
- "description": "Branch the project must be on for this operation. Ignored when blank. Fails if the repository has no branches or the project is on another branch. Omit for repository 'local' and non-branch repositories.",
- "type": "string"
- },
- "conflictPolicy": {
- "description": "How to handle a target file that already exists: FAIL (default) returns an error; OVERWRITE replaces its content in place; SKIP leaves the existing file unchanged and reports it skipped. Has no effect when creating a new file.",
- "enum": [
- "FAIL",
- "OVERWRITE",
- "SKIP"
- ],
- "type": "string"
- },
- "content": {
- "description": "File content, interpreted according to 'encoding'. Use base64 for binary files (xlsx, images, zip).",
- "type": "string"
- },
- "createFolders": {
- "default": true,
- "description": "If true (default), missing intermediate folders are created automatically; otherwise the parent folder must already exist.",
- "type": "boolean"
- },
- "encoding": {
- "default": "utf-8",
- "description": "How 'content' is encoded: 'utf-8' (default) for text, 'base64' for binary.",
- "enum": [
- "utf-8",
- "base64"
- ],
- "type": "string"
- },
- "message": {
- "description": "Optional commit message. PRESENT → the write is committed to Git after saving the project (a new revision is created). ABSENT → the write stays in the project WORKING COPY (commit it later with openl_save_project). NOTE: committing saves ALL pending project changes (OpenL has no per-file commit), and only works for design (Git) repositories — not 'local'.",
- "type": "string"
- },
- "path": {
- "description": "Project-relative path to the resource (e.g. 'rules/Model.xlsx'). Do NOT include the project name itself; paths are relative to the project root. A trailing slash denotes a folder.",
- "minLength": 1,
- "type": "string"
- },
- "projectId": {
- "description": "Project ID returned by backend. Use the exact 'projectId' value from openl_list_projects() response without modification or reformatting.",
- "type": "string"
- },
- "response_format": {
- "default": "markdown",
- "description": "Response format: 'json' for structured data, 'markdown' for human-readable (default), 'markdown_concise' for brief summary (1-2 paragraphs), 'markdown_detailed' for full details with context",
- "enum": [
- "json",
- "markdown",
- "markdown_concise",
- "markdown_detailed"
- ],
- "type": "string"
- }
-}