addedInput schema / $defs
Added value: +{
+ "EditSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "newText": {
+ "description": "Replacement text. Use an empty string to delete the matched oldText.",
+ "type": "string"
+ },
+ "oldText": {
+ "description": "Exact literal text to locate in the file. Must include 3-5 lines of context to ensure uniqueness and avoid matching the wrong block.",
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "oldText",
+ "newText"
+ ],
+ "type": "object"
+ }
+}
removedInput schema / $schema
Removed value: -"https://json-schema.org/draft/2020-12/schema"
addedInput schema / oneOf
Added value: +[
+ {
+ "required": [
+ "path",
+ "edits"
+ ]
+ },
+ {
+ "required": [
+ "files"
+ ]
+ }
+]
changedInput schema / properties / dryRun / description
Previous value: -"Preview edits without writing. Check `unmatchedEdits` in response."New value: +"Preview diffs without writing to disk (default: false = apply edits)"
changedInput schema / properties / edits / description
Previous value: -"List of replacements to apply sequentially. Each edit replaces the first occurrence of oldText."New value: +"Replacements applied to path; not allowed when using files"
addedInput schema / properties / edits / items / $ref
Added value: +"#/$defs/EditSpec"
removedInput schema / properties / edits / items / additionalProperties
Removed value: -false
removedInput schema / properties / edits / items / properties
Removed value: -{
- "newText": {
- "description": "Replacement string. Preserve surrounding indentation style.",
- "type": "string"
- },
- "oldText": {
- "description": "Exact literal string to replace (character-for-character). Include 3–5 lines of context for unique targeting.",
- "maxLength": 102400,
- "minLength": 1,
- "type": "string"
- }
-}
removedInput schema / properties / edits / items / required
Removed value: -[
- "oldText",
- "newText"
-]
removedInput schema / properties / edits / items / type
Removed value: -"object"
addedInput schema / properties / edits / maxItems
Added value: +100
addedInput schema / properties / files
Added value: +{
+ "description": "Per-file entries (batch mode)",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "edits": {
+ "description": "Replacements to apply to this specific file",
+ "items": {
+ "$ref": "#/$defs/EditSpec"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array"
+ },
+ "path": {
+ "description": "File or directory path inside an allowed workspace root.",
+ "maxLength": 4096,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "path",
+ "edits"
+ ],
+ "type": "object"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array"
+}
changedInput schema / properties / ignoreWhitespace / description
Previous value: -"Treat all whitespace sequences as equivalent when matching oldText."New value: +"Ignore leading/trailing whitespace differences when matching oldText"
changedInput schema / properties / path / description
Previous value: -"Absolute path to file or directory."New value: +"Single file path; mutually exclusive with files"
removedInput schema / required
Removed value: -[
- "path",
- "edits"
-]
removedOutput schema / $schema
Removed value: -"https://json-schema.org/draft/2020-12/schema"
removedOutput schema / properties / appliedEdits
Removed value: -{
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
-}
removedOutput schema / properties / diff
Removed value: -{
- "description": "Unified diff of changes (dryRun)",
- "type": "string"
-}
removedOutput schema / properties / lineRange
Removed value: -{
- "description": "Line range modified [start, end] (1-based)",
- "prefixItems": [
- {
- "maximum": 9007199254740991,
- "minimum": 1,
- "type": "integer"
- },
- {
- "maximum": 9007199254740991,
- "minimum": 1,
- "type": "integer"
- }
- ],
- "type": "array"
-}
removedOutput schema / properties / linesAdded
Removed value: -{
- "description": "Lines added",
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
-}
removedOutput schema / properties / linesRemoved
Removed value: -{
- "description": "Lines removed",
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
-}
removedOutput schema / properties / ok
Removed value: -{
- "type": "boolean"
-}
removedOutput schema / properties / path
Removed value: -{
- "type": "string"
-}
addedOutput schema / properties / results
Added value: +{
+ "description": "Per-path edit results ordered to match the input paths",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "error": {
+ "additionalProperties": false,
+ "description": "Error details; present on failure",
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "path": {
+ "type": "string"
+ },
+ "suggestion": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object"
+ },
+ "path": {
+ "description": "Requested file path",
+ "type": "string"
+ },
+ "value": {
+ "additionalProperties": false,
+ "description": "Edit result; present on success",
+ "properties": {
+ "appliedEdits": {
+ "description": "Number of edits successfully applied",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "diff": {
+ "description": "Unified diff of all changes (present only in dryRun mode)",
+ "type": "string"
+ },
+ "kind": {
+ "description": "Broad file kind: text, binary, image, audio, or pdf",
+ "enum": [
+ "text",
+ "binary",
+ "image",
+ "audio",
+ "pdf"
+ ],
+ "type": "string"
+ },
+ "lineCount": {
+ "description": "Number of lines in the file after edits",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "lineRange": {
+ "description": "Line range [firstLine, lastLine] covering all applied edits",
+ "prefixItems": [
+ {
+ "exclusiveMinimum": 0,
+ "type": "integer"
+ },
+ {
+ "exclusiveMinimum": 0,
+ "type": "integer"
+ }
+ ],
+ "type": "array"
+ },
+ "linesAdded": {
+ "description": "Net lines added by all applied edits",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "linesRemoved": {
+ "description": "Net lines removed by all applied edits",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "mimeType": {
+ "description": "Detected MIME type of the file",
+ "type": "string"
+ },
+ "modified": {
+ "description": "Last modification timestamp after edits (ISO 8601 UTC)",
+ "format": "date-time",
+ "type": "string"
+ },
+ "path": {
+ "description": "Resolved absolute path of the edited file",
+ "type": "string"
+ },
+ "resourceUri": {
+ "description": "Resource URI pointing to the updated file content; omitted when no edit matched (appliedEdits is 0) and the file was left untouched",
+ "type": "string"
+ },
+ "size": {
+ "description": "File size in bytes after edits",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "unmatchedEdits": {
+ "description": "oldText values that did not match any content in the file",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "path",
+ "size",
+ "lineCount",
+ "mimeType",
+ "kind",
+ "modified",
+ "appliedEdits"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "path"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+}
addedOutput schema / properties / summary
Added value: +{
+ "additionalProperties": false,
+ "properties": {
+ "failed": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "succeeded": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "total": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "total",
+ "succeeded",
+ "failed"
+ ],
+ "type": "object"
+}
removedOutput schema / properties / unmatchedEdits
Removed value: -{
- "description": "Edits that could not be applied",
- "items": {
- "type": "string"
- },
- "type": "array"
-}
changedOutput schema / required
Previous value: -[
- "ok"
-]New value: +[
+ "results",
+ "summary"
+]