/** SDK-owned platform module. This implementation is maintained in goodvibes-sdk. */ /** JSON Schema definition for the edit tool input. */ export declare const editSchema: { readonly type: "object"; readonly properties: { readonly edits: { readonly type: "array"; readonly minItems: 1; readonly items: { readonly type: "object"; readonly required: readonly ["path", "find", "replace"]; readonly properties: { readonly path: { readonly type: "string"; readonly description: "File path to edit (relative to project root or absolute within it)"; }; readonly find: { readonly type: "string"; readonly description: "Text to find in the file"; }; readonly find_base64: { readonly type: "string"; readonly description: "Base64-encoded text to find (alternative to find for binary-safe transport)"; }; readonly replace: { readonly type: "string"; readonly description: "Replacement text"; }; readonly replace_base64: { readonly type: "string"; readonly description: "Base64-encoded replacement text (alternative to replace for binary-safe transport)"; }; readonly id: { readonly type: "string"; readonly description: "Optional identifier for this edit, used in result tracking"; }; readonly occurrence: { readonly anyOf: readonly [{ readonly type: "string"; readonly enum: readonly ["first", "last", "all"]; readonly description: "Which occurrence to replace: first, last, or all"; }, { readonly type: "integer"; readonly minimum: 1; readonly description: "Replace the Nth occurrence (1-based)"; }]; readonly description: string; }; readonly hints: { readonly type: "object"; readonly properties: { readonly near_line: { readonly type: "integer"; readonly minimum: 1; readonly description: "Prefer the occurrence closest to this line number"; }; readonly in_function: { readonly type: "string"; readonly description: "Only match within a function with this name"; }; readonly in_class: { readonly type: "string"; readonly description: "Only match within a class with this name"; }; readonly after: { readonly type: "string"; readonly description: "Only match occurrences that appear after this text anchor in the file"; }; readonly before: { readonly type: "string"; readonly description: "Only match occurrences that appear before this text anchor in the file"; }; }; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; }; readonly match: { readonly type: "object"; readonly properties: { readonly mode: { readonly type: "string"; readonly enum: readonly ["exact", "fuzzy", "regex", "ast", "ast_pattern"]; readonly description: string; readonly default: "exact"; }; readonly case_sensitive: { readonly type: "boolean"; readonly description: "Whether matching is case-sensitive. Default: true."; readonly default: true; }; readonly whitespace_sensitive: { readonly type: "boolean"; readonly description: "Whether whitespace differences matter. When false in exact mode, delegates to fuzzy matching algorithm. Default: true."; readonly default: true; }; readonly multiline: { readonly type: "boolean"; readonly description: string; readonly default: false; }; }; readonly additionalProperties: false; }; readonly transaction: { readonly type: "object"; readonly properties: { readonly mode: { readonly type: "string"; readonly enum: readonly ["atomic", "partial", "none"]; readonly description: string; readonly default: "atomic"; }; }; readonly additionalProperties: false; }; readonly output: { readonly type: "object"; readonly properties: { readonly format: { readonly type: "string"; readonly enum: readonly ["count_only", "minimal", "with_diff", "verbose"]; readonly description: string; readonly default: "minimal"; }; readonly diff_context: { readonly type: "integer"; readonly minimum: 0; readonly description: string; readonly default: 3; }; }; readonly additionalProperties: false; }; readonly dry_run: { readonly type: "boolean"; readonly description: "Compute all replacements and return diffs without writing to disk. Default: false."; readonly default: false; }; readonly validate: { readonly type: "object"; readonly description: "Run validators before and/or after applying edits."; readonly properties: { readonly before: { readonly type: "array"; readonly description: "Validators to run before applying edits. If any fail, edits are not applied."; readonly items: { readonly type: "string"; readonly enum: readonly ["typecheck", "lint", "test", "build"]; }; }; readonly after: { readonly type: "array"; readonly description: "Validators to run after applying edits. If any fail in atomic mode, edits are rolled back."; readonly items: { readonly type: "string"; readonly enum: readonly ["typecheck", "lint", "test", "build"]; }; }; }; readonly additionalProperties: false; }; readonly notebook_operations: { readonly type: "object"; readonly description: "Jupyter notebook (.ipynb) cell operations. Alternative to edits, provide either edits or notebook_operations, not both."; readonly properties: { readonly path: { readonly type: "string"; readonly description: "Path to .ipynb notebook file"; }; readonly operations: { readonly type: "array"; readonly minItems: 1; readonly items: { readonly type: "object"; readonly required: readonly ["op"]; readonly properties: { readonly op: { readonly type: "string"; readonly enum: readonly ["replace", "insert", "delete"]; readonly description: "Cell operation: replace existing cell content, insert a new cell, or delete a cell"; }; readonly cell: { readonly type: "integer"; readonly minimum: 0; readonly description: "0-based cell index (used by replace/delete when cell_id is not provided)"; }; readonly cell_id: { readonly type: "string"; readonly description: "Cell ID targeting, takes precedence over cell index for all operations"; }; readonly after: { readonly type: "integer"; readonly minimum: -1; readonly description: "For insert: insert after this 0-based index (-1 = insert at beginning). Omit to append at end."; }; readonly source: { readonly type: "string"; readonly description: "Cell source content (required for replace and insert operations)"; }; readonly cell_type: { readonly type: "string"; readonly enum: readonly ["code", "markdown", "raw"]; readonly description: "Cell type (required for insert; optional for replace, if provided, changes the cell type)"; }; readonly clear_outputs: { readonly type: "boolean"; readonly description: "Clear cell outputs on replace (default: false)"; }; }; readonly additionalProperties: false; }; }; }; readonly required: readonly ["path", "operations"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; //# sourceMappingURL=schema.d.ts.map