changedInput schema / allOf
Previous value: -[
- {
- "if": {
- "properties": {
- "operation": {
- "const": "read_document"
- }
- },
- "required": [
- "operation"
- ]
- },
- "then": {
- "properties": {
- "parameters": {
- "additionalProperties": false,
- "properties": {
- "max_cells": {
- "description": "Maximum number of spreadsheet cells to return.",
- "type": "number"
- },
- "path": {
- "description": "Document path.",
- "type": "string"
- },
- "sheet": {
- "description": "Worksheet name for XLSX.",
- "type": "string"
- }
- },
- "required": [
- "path"
- ],
- "type": "object"
- }
- },
- "required": [
- "parameters"
- ]
- }
- },
- {
- "if": {
- "properties": {
- "operation": {
- "const": "edit_spreadsheet"
- }
- },
- "required": [
- "operation"
- ]
- },
- "then": {
- "properties": {
- "parameters": {
- "additionalProperties": false,
- "properties": {
- "create": {
- "description": "Create a new XLSX at path. Fails if path already exists; do not combine with output.",
- "type": "boolean"
- },
- "edits": {
- "description": "Bounded list of spreadsheet edits; each item names a cell/range and the value(s) or formula to write.",
- "items": {
- "additionalProperties": false,
- "properties": {
- "cell": {
- "description": "Single A1 cell reference.",
- "type": "string"
- },
- "formula": {
- "description": "Optional formula; for a range it is written to each expanded cell.",
- "type": "string"
- },
- "range": {
- "description": "Rectangular range such as A1:C3.",
- "type": "string"
- },
- "value": {
- "description": "Scalar value for one cell or to fill a range."
- },
- "values": {
- "description": "2D matrix matching the range dimensions.",
- "items": {
- "items": {},
- "type": "array"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "maxItems": 500,
- "type": "array"
- },
- "output": {
- "description": "Optional output .xlsx when editing an existing workbook; defaults to replacing input.",
- "type": "string"
- },
- "path": {
- "description": "Existing .xlsx path, or the new workbook destination when create=true.",
- "type": "string"
- },
- "sheet": {
- "description": "Worksheet name. For create=true, defaults to Sheet1 and becomes the new workbook sheet name.",
- "type": "string"
- }
- },
- "required": [
- "path",
- "edits"
- ],
- "type": "object"
- }
- },
- "required": [
- "parameters"
- ]
- }
- },
- {
- "if": {
- "properties": {
- "operation": {
- "const": "edit_document"
- }
- },
- "required": [
- "operation"
- ]
- },
- "then": {
- "properties": {
- "parameters": {
- "additionalProperties": false,
- "properties": {
- "create": {
- "description": "Create a new DOCX at path. Fails if path already exists; do not combine with output.",
- "type": "boolean"
- },
- "operations": {
- "description": "Bounded list of structured document operations executed in order.",
- "items": {
- "additionalProperties": false,
- "properties": {
- "action": {
- "description": "Operation to perform; choose the narrowest action that directly matches the requested outcome.",
- "enum": [
- "replace",
- "append_paragraph",
- "prepend_paragraph",
- "insert_paragraph_before",
- "insert_paragraph_after",
- "delete_paragraph"
- ],
- "type": "string"
- },
- "all": {
- "description": "Apply to all matching paragraphs; default true.",
- "type": "boolean"
- },
- "replacement": {
- "description": "Replacement text for matching document content.",
- "type": "string"
- },
- "search": {
- "description": "Paragraph text substring for replace/insert/delete operations.",
- "type": "string"
- },
- "text": {
- "description": "Paragraph text to append/prepend/insert.",
- "type": "string"
- }
- },
- "required": [
- "action"
- ],
- "type": "object"
- },
- "maxItems": 100,
- "type": "array"
- },
- "output": {
- "description": "Optional output .docx path when editing an existing document.",
- "type": "string"
- },
- "path": {
- "description": "Existing .docx path, or the new document destination when create=true.",
- "type": "string"
- }
- },
- "required": [
- "path",
- "operations"
- ],
- "type": "object"
- }
- },
- "required": [
- "parameters"
- ]
- }
- },
- {
- "if": {
- "properties": {
- "operation": {
- "const": "pdf_action"
- }
- },
- "required": [
- "operation"
- ]
- },
- "then": {
- "properties": {
- "parameters": {
- "additionalProperties": false,
- "allOf": [
- {
- "if": {
- "properties": {
- "action": {
- "enum": [
- "annotations",
- "info",
- "split",
- "extract_pages"
- ]
- }
- },
- "required": [
- "action"
- ]
- },
- "then": {
- "required": [
- "path"
- ]
- }
- },
- {
- "if": {
- "properties": {
- "action": {
- "const": "merge"
- }
- },
- "required": [
- "action"
- ]
- },
- "then": {
- "required": [
- "paths",
- "output"
- ]
- }
- },
- {
- "if": {
- "properties": {
- "action": {
- "const": "extract_pages"
- }
- },
- "required": [
- "action"
- ]
- },
- "then": {
- "required": [
- "pages",
- "output"
- ]
- }
- }
- ],
- "properties": {
- "action": {
- "description": "Operation to perform; choose the narrowest action that directly matches the requested outcome.",
- "enum": [
- "merge",
- "split",
- "extract_pages",
- "annotations",
- "info"
- ],
- "type": "string"
- },
- "output": {
- "description": "Optional permitted output path; when omitted the tool may update the input according to its action.",
- "type": "string"
- },
- "output_dir": {
- "description": "Permitted directory for generated output files.",
- "type": "string"
- },
- "pages": {
- "description": "Page list/ranges such as 1-3,5.",
- "type": "string"
- },
- "path": {
- "description": "Permitted local filesystem path.",
- "type": "string"
- },
- "paths": {
- "description": "List of permitted local filesystem paths.",
- "items": {
- "type": "string"
- },
- "maxItems": 100,
- "minItems": 2,
- "type": "array"
- },
- "pattern": {
- "description": "Output filename pattern where supported.",
- "type": "string"
- }
- },
- "required": [
- "action"
- ],
- "type": "object"
- }
- },
- "required": [
- "parameters"
- ]
- }
- }
-]New value: +[
+ {
+ "if": {
+ "properties": {
+ "operation": {
+ "const": "read_document"
+ }
+ },
+ "required": [
+ "operation"
+ ]
+ },
+ "then": {
+ "properties": {
+ "parameters": {
+ "additionalProperties": false,
+ "properties": {
+ "max_cells": {
+ "description": "Maximum number of spreadsheet cells to return.",
+ "type": "number"
+ },
+ "path": {
+ "description": "Document path.",
+ "type": "string"
+ },
+ "sheet": {
+ "description": "Worksheet name for XLSX.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "path"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "parameters"
+ ]
+ }
+ },
+ {
+ "if": {
+ "properties": {
+ "operation": {
+ "const": "pdf_action"
+ }
+ },
+ "required": [
+ "operation"
+ ]
+ },
+ "then": {
+ "properties": {
+ "parameters": {
+ "additionalProperties": false,
+ "allOf": [
+ {
+ "if": {
+ "properties": {
+ "action": {
+ "enum": [
+ "annotations",
+ "info",
+ "split",
+ "extract_pages"
+ ]
+ }
+ },
+ "required": [
+ "action"
+ ]
+ },
+ "then": {
+ "required": [
+ "path"
+ ]
+ }
+ },
+ {
+ "if": {
+ "properties": {
+ "action": {
+ "const": "merge"
+ }
+ },
+ "required": [
+ "action"
+ ]
+ },
+ "then": {
+ "required": [
+ "paths",
+ "output"
+ ]
+ }
+ },
+ {
+ "if": {
+ "properties": {
+ "action": {
+ "const": "extract_pages"
+ }
+ },
+ "required": [
+ "action"
+ ]
+ },
+ "then": {
+ "required": [
+ "pages",
+ "output"
+ ]
+ }
+ }
+ ],
+ "properties": {
+ "action": {
+ "description": "Operation to perform; choose the narrowest action that directly matches the requested outcome.",
+ "enum": [
+ "merge",
+ "split",
+ "extract_pages",
+ "annotations",
+ "info"
+ ],
+ "type": "string"
+ },
+ "output": {
+ "description": "Optional permitted output path; when omitted the tool may update the input according to its action.",
+ "type": "string"
+ },
+ "output_dir": {
+ "description": "Permitted directory for generated output files.",
+ "type": "string"
+ },
+ "pages": {
+ "description": "Page list/ranges such as 1-3,5.",
+ "type": "string"
+ },
+ "path": {
+ "description": "Permitted local filesystem path.",
+ "type": "string"
+ },
+ "paths": {
+ "description": "List of permitted local filesystem paths.",
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 2,
+ "type": "array"
+ },
+ "pattern": {
+ "description": "Output filename pattern where supported.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "action"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "parameters"
+ ]
+ }
+ }
+]
changedOutput schema / oneOf
Previous value: -[
- {
- "additionalProperties": true,
- "description": "Read document structured result for read_document. Stable fields are declared explicitly; platform-specific fields may be added. Large results may return truncated/bytes/preview instead of the full payload.",
- "properties": {
- "bytes": {
- "description": "Serialized structured-result size when truncation metadata is returned.",
- "type": "number"
- },
- "cells": {
- "items": {},
- "type": "array"
- },
- "data": {},
- "path": {
- "type": "string"
- },
- "preview": {
- "description": "Bounded JSON preview when the full structured mirror is too large.",
- "type": "string"
- },
- "rows": {
- "items": {},
- "type": "array"
- },
- "sheet": {
- "type": "string"
- },
- "sheets": {
- "items": {
- "additionalProperties": true,
- "type": "object"
- },
- "type": "array"
- },
- "text": {
- "type": "string"
- },
- "truncated": {
- "description": "True when the structured mirror was bounded because the result was large.",
- "type": "boolean"
- }
- },
- "type": "object"
- },
- {
- "additionalProperties": true,
- "description": "Edit spreadsheet structured result for edit_spreadsheet. Stable fields are declared explicitly; platform-specific fields may be added. Large results may return truncated/bytes/preview instead of the full payload.",
- "properties": {
- "bytes": {
- "description": "Serialized structured-result size when truncation metadata is returned.",
- "type": "number"
- },
- "created": {
- "type": "boolean"
- },
- "data": {
- "description": "Array/scalar payload wrapper used when the natural result is not an object."
- },
- "edited_cells": {
- "type": "number"
- },
- "path": {
- "type": "string"
- },
- "preview": {
- "description": "Bounded JSON preview when the full structured mirror is too large.",
- "type": "string"
- },
- "sheet": {
- "type": "string"
- },
- "text": {
- "description": "Human-readable structured mirror for text-only results.",
- "type": "string"
- },
- "truncated": {
- "description": "True when the structured mirror was bounded because the result was large.",
- "type": "boolean"
- }
- },
- "type": "object"
- },
- {
- "additionalProperties": true,
- "description": "Edit DOCX document structured result for edit_document. Stable fields are declared explicitly; platform-specific fields may be added. Large results may return truncated/bytes/preview instead of the full payload.",
- "properties": {
- "bytes": {
- "description": "Serialized structured-result size when truncation metadata is returned.",
- "type": "number"
- },
- "changes": {
- "type": "number"
- },
- "created": {
- "type": "boolean"
- },
- "data": {
- "description": "Array/scalar payload wrapper used when the natural result is not an object."
- },
- "operations": {
- "type": "number"
- },
- "path": {
- "type": "string"
- },
- "preview": {
- "description": "Bounded JSON preview when the full structured mirror is too large.",
- "type": "string"
- },
- "text": {
- "description": "Human-readable structured mirror for text-only results.",
- "type": "string"
- },
- "truncated": {
- "description": "True when the structured mirror was bounded because the result was large.",
- "type": "boolean"
- }
- },
- "type": "object"
- },
- {
- "additionalProperties": true,
- "description": "PDF action structured result for pdf_action. Stable fields are declared explicitly; platform-specific fields may be added. Large results may return truncated/bytes/preview instead of the full payload.",
- "properties": {
- "action": {
- "type": "string"
- },
- "annotation_count": {
- "description": "Number of PDF annotations found by the info action.",
- "type": "number"
- },
- "annotations": {
- "items": {
- "additionalProperties": true,
- "type": "object"
- },
- "type": "array"
- },
- "bytes": {
- "description": "Serialized structured-result size when truncation metadata is returned.",
- "type": "number"
- },
- "data": {
- "description": "Array/scalar payload wrapper used when the natural result is not an object."
- },
- "files": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "inputs": {
- "type": "number"
- },
- "output": {
- "type": "string"
- },
- "output_dir": {
- "type": "string"
- },
- "pages": {
- "type": "string"
- },
- "path": {
- "type": "string"
- },
- "preview": {
- "description": "Bounded JSON preview when the full structured mirror is too large.",
- "type": "string"
- },
- "source": {
- "type": "string"
- },
- "text": {
- "description": "Human-readable structured mirror for text-only results.",
- "type": "string"
- },
- "truncated": {
- "description": "True when the structured mirror was bounded because the result was large.",
- "type": "boolean"
- }
- },
- "type": "object"
- }
-]New value: +[
+ {
+ "additionalProperties": true,
+ "description": "Read document structured result for read_document. Stable fields are declared explicitly; platform-specific fields may be added. Large results may return truncated/bytes/preview instead of the full payload.",
+ "properties": {
+ "bytes": {
+ "description": "Serialized structured-result size when truncation metadata is returned.",
+ "type": "number"
+ },
+ "cells": {
+ "items": {},
+ "type": "array"
+ },
+ "data": {},
+ "path": {
+ "type": "string"
+ },
+ "preview": {
+ "description": "Bounded JSON preview when the full structured mirror is too large.",
+ "type": "string"
+ },
+ "rows": {
+ "items": {},
+ "type": "array"
+ },
+ "sheet": {
+ "type": "string"
+ },
+ "sheets": {
+ "items": {
+ "additionalProperties": true,
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "text": {
+ "type": "string"
+ },
+ "truncated": {
+ "description": "True when the structured mirror was bounded because the result was large.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "additionalProperties": true,
+ "description": "PDF action structured result for pdf_action. Stable fields are declared explicitly; platform-specific fields may be added. Large results may return truncated/bytes/preview instead of the full payload.",
+ "properties": {
+ "action": {
+ "type": "string"
+ },
+ "annotation_count": {
+ "description": "Number of PDF annotations found by the info action.",
+ "type": "number"
+ },
+ "annotations": {
+ "items": {
+ "additionalProperties": true,
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "bytes": {
+ "description": "Serialized structured-result size when truncation metadata is returned.",
+ "type": "number"
+ },
+ "data": {
+ "description": "Array/scalar payload wrapper used when the natural result is not an object."
+ },
+ "files": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "inputs": {
+ "type": "number"
+ },
+ "output": {
+ "type": "string"
+ },
+ "output_dir": {
+ "type": "string"
+ },
+ "pages": {
+ "type": "string"
+ },
+ "path": {
+ "type": "string"
+ },
+ "preview": {
+ "description": "Bounded JSON preview when the full structured mirror is too large.",
+ "type": "string"
+ },
+ "source": {
+ "type": "string"
+ },
+ "text": {
+ "description": "Human-readable structured mirror for text-only results.",
+ "type": "string"
+ },
+ "truncated": {
+ "description": "True when the structured mirror was bounded because the result was large.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+]