From 53efe5a8d4997841ccf47192989d12f8982d8bf7 Mon Sep 17 00:00:00 2001 From: Nick Bernal Date: Fri, 20 Feb 2026 08:21:43 -0800 Subject: [PATCH 1/9] feat: superdoc sdk --- .gitignore | 4 + apps/cli/generated/sdk-contract.json | 17808 +++++++++++++++ apps/cli/scripts/export-sdk-contract.ts | 251 + .../__tests__/cli-only-definitions.test.ts | 134 + .../src/cli/cli-only-operation-definitions.ts | 307 + apps/cli/src/cli/operation-params.ts | 12 +- apps/cli/src/cli/operation-set.ts | 92 +- apps/cli/src/cli/response-schemas.ts | 24 +- apps/cli/src/cli/types.ts | 35 + package.json | 6 +- packages/sdk/codegen/package.json | 10 + .../src/__tests__/contract-integrity.test.ts | 363 + .../src/__tests__/cross-lang-parity.test.ts | 482 + packages/sdk/codegen/src/generate-all.mjs | 55 + packages/sdk/codegen/src/generate-node.mjs | 213 + packages/sdk/codegen/src/generate-python.mjs | 297 + .../codegen/src/generate-tool-catalogs.mjs | 338 + packages/sdk/codegen/src/shared.mjs | 89 + packages/sdk/langs/node/.gitignore | 1 + packages/sdk/langs/node/README.md | 116 + packages/sdk/langs/node/package.json | 42 + .../sdk/langs/node/skills/editing-docx.md | 31 + .../sdk/langs/node/src/generated/client.ts | 1891 ++ .../sdk/langs/node/src/generated/contract.ts | 17813 ++++++++++++++++ packages/sdk/langs/node/src/index.ts | 44 + .../__tests__/transport-common.test.ts | 163 + .../langs/node/src/runtime/embedded-cli.ts | 102 + packages/sdk/langs/node/src/runtime/errors.ts | 19 + packages/sdk/langs/node/src/runtime/host.ts | 456 + .../sdk/langs/node/src/runtime/process.ts | 40 + .../node/src/runtime/transport-common.ts | 117 + packages/sdk/langs/node/src/skills.ts | 171 + packages/sdk/langs/node/src/tools.ts | 524 + packages/sdk/langs/node/tools | 1 + packages/sdk/langs/node/tsconfig.json | 18 + packages/sdk/langs/python/pyproject.toml | 35 + .../sdk/langs/python/superdoc/__init__.py | 28 + .../langs/python/superdoc/_vendor/__init__.py | 1 + .../python/superdoc/_vendor/cli/.gitignore | 3 + .../sdk/langs/python/superdoc/embedded_cli.py | 79 + packages/sdk/langs/python/superdoc/errors.py | 6 + .../python/superdoc/generated/__init__.py | 1 + .../langs/python/superdoc/generated/client.py | 4260 ++++ .../python/superdoc/generated/contract.py | 7 + packages/sdk/langs/python/superdoc/runtime.py | 355 + .../sdk/langs/python/superdoc/skill_api.py | 154 + .../langs/python/superdoc/skills/__init__.py | 1 + .../python/superdoc/skills/editing-docx.md | 31 + .../python/superdoc/test_parity_helper.py | 87 + packages/sdk/langs/python/superdoc/tools | 1 + .../sdk/langs/python/superdoc/tools_api.py | 537 + .../python/superdoc_sdk.egg-info/PKG-INFO | 7 + .../python/superdoc_sdk.egg-info/SOURCES.txt | 26 + .../dependency_links.txt | 1 + .../superdoc_sdk.egg-info/top_level.txt | 1 + packages/sdk/package.json | 16 + packages/sdk/scripts/sdk-generate.mjs | 172 + packages/sdk/scripts/sdk-release.mjs | 164 + packages/sdk/scripts/sdk-validate.mjs | 293 + packages/sdk/scripts/sync-sdk-version.mjs | 137 + packages/sdk/tools/__init__.py | 1 + packages/sdk/tools/catalog.json | 17410 +++++++++++++++ packages/sdk/tools/tool-name-map.json | 96 + packages/sdk/tools/tools-policy.json | 100 + packages/sdk/tools/tools.anthropic.json | 3557 +++ packages/sdk/tools/tools.generic.json | 16855 +++++++++++++++ packages/sdk/tools/tools.openai.json | 3839 ++++ packages/sdk/tools/tools.vercel.json | 3839 ++++ packages/sdk/version.json | 3 + pnpm-lock.yaml | 16 + 70 files changed, 94086 insertions(+), 102 deletions(-) create mode 100644 apps/cli/generated/sdk-contract.json create mode 100644 apps/cli/scripts/export-sdk-contract.ts create mode 100644 apps/cli/src/cli/__tests__/cli-only-definitions.test.ts create mode 100644 apps/cli/src/cli/cli-only-operation-definitions.ts create mode 100644 packages/sdk/codegen/package.json create mode 100644 packages/sdk/codegen/src/__tests__/contract-integrity.test.ts create mode 100644 packages/sdk/codegen/src/__tests__/cross-lang-parity.test.ts create mode 100644 packages/sdk/codegen/src/generate-all.mjs create mode 100644 packages/sdk/codegen/src/generate-node.mjs create mode 100644 packages/sdk/codegen/src/generate-python.mjs create mode 100644 packages/sdk/codegen/src/generate-tool-catalogs.mjs create mode 100644 packages/sdk/codegen/src/shared.mjs create mode 100644 packages/sdk/langs/node/.gitignore create mode 100644 packages/sdk/langs/node/README.md create mode 100644 packages/sdk/langs/node/package.json create mode 100644 packages/sdk/langs/node/skills/editing-docx.md create mode 100644 packages/sdk/langs/node/src/generated/client.ts create mode 100644 packages/sdk/langs/node/src/generated/contract.ts create mode 100644 packages/sdk/langs/node/src/index.ts create mode 100644 packages/sdk/langs/node/src/runtime/__tests__/transport-common.test.ts create mode 100644 packages/sdk/langs/node/src/runtime/embedded-cli.ts create mode 100644 packages/sdk/langs/node/src/runtime/errors.ts create mode 100644 packages/sdk/langs/node/src/runtime/host.ts create mode 100644 packages/sdk/langs/node/src/runtime/process.ts create mode 100644 packages/sdk/langs/node/src/runtime/transport-common.ts create mode 100644 packages/sdk/langs/node/src/skills.ts create mode 100644 packages/sdk/langs/node/src/tools.ts create mode 120000 packages/sdk/langs/node/tools create mode 100644 packages/sdk/langs/node/tsconfig.json create mode 100644 packages/sdk/langs/python/pyproject.toml create mode 100644 packages/sdk/langs/python/superdoc/__init__.py create mode 100644 packages/sdk/langs/python/superdoc/_vendor/__init__.py create mode 100644 packages/sdk/langs/python/superdoc/_vendor/cli/.gitignore create mode 100644 packages/sdk/langs/python/superdoc/embedded_cli.py create mode 100644 packages/sdk/langs/python/superdoc/errors.py create mode 100644 packages/sdk/langs/python/superdoc/generated/__init__.py create mode 100644 packages/sdk/langs/python/superdoc/generated/client.py create mode 100644 packages/sdk/langs/python/superdoc/generated/contract.py create mode 100644 packages/sdk/langs/python/superdoc/runtime.py create mode 100644 packages/sdk/langs/python/superdoc/skill_api.py create mode 100644 packages/sdk/langs/python/superdoc/skills/__init__.py create mode 100644 packages/sdk/langs/python/superdoc/skills/editing-docx.md create mode 100644 packages/sdk/langs/python/superdoc/test_parity_helper.py create mode 120000 packages/sdk/langs/python/superdoc/tools create mode 100644 packages/sdk/langs/python/superdoc/tools_api.py create mode 100644 packages/sdk/langs/python/superdoc_sdk.egg-info/PKG-INFO create mode 100644 packages/sdk/langs/python/superdoc_sdk.egg-info/SOURCES.txt create mode 100644 packages/sdk/langs/python/superdoc_sdk.egg-info/dependency_links.txt create mode 100644 packages/sdk/langs/python/superdoc_sdk.egg-info/top_level.txt create mode 100644 packages/sdk/package.json create mode 100644 packages/sdk/scripts/sdk-generate.mjs create mode 100644 packages/sdk/scripts/sdk-release.mjs create mode 100644 packages/sdk/scripts/sdk-validate.mjs create mode 100644 packages/sdk/scripts/sync-sdk-version.mjs create mode 100644 packages/sdk/tools/__init__.py create mode 100644 packages/sdk/tools/catalog.json create mode 100644 packages/sdk/tools/tool-name-map.json create mode 100644 packages/sdk/tools/tools-policy.json create mode 100644 packages/sdk/tools/tools.anthropic.json create mode 100644 packages/sdk/tools/tools.generic.json create mode 100644 packages/sdk/tools/tools.openai.json create mode 100644 packages/sdk/tools/tools.vercel.json create mode 100644 packages/sdk/version.json diff --git a/.gitignore b/.gitignore index 67f41ef92c..cab2c896f8 100644 --- a/.gitignore +++ b/.gitignore @@ -78,3 +78,7 @@ devtools/visual-testing/pnpm-lock.yaml .bun-cache/ +# Python +__pycache__/ +*.pyc +*.pyo diff --git a/apps/cli/generated/sdk-contract.json b/apps/cli/generated/sdk-contract.json new file mode 100644 index 0000000000..97211c3791 --- /dev/null +++ b/apps/cli/generated/sdk-contract.json @@ -0,0 +1,17808 @@ +{ + "contractVersion": "0.1.0", + "sourceHash": "937cad0ad9eb592c", + "cli": { + "package": "@superdoc-dev/cli", + "minVersion": "1.0.0" + }, + "protocol": { + "version": "1.0", + "transport": "stdio", + "features": [ + "cli.invoke", + "host.shutdown", + "host.describe", + "host.describe.command" + ], + "notifications": [ + "event.remoteChange", + "event.sessionClosed" + ] + }, + "operations": { + "doc.find": { + "operationId": "doc.find", + "command": "find", + "commandTokens": [ + "find" + ], + "category": "query", + "description": "Search the document for nodes matching type, text, or attribute criteria.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "find_content", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "within", + "kind": "jsonFlag", + "type": "json", + "flag": "within-json", + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "inline" + }, + "nodeType": { + "oneOf": [ + { + "const": "run" + }, + { + "const": "bookmark" + }, + { + "const": "comment" + }, + { + "const": "hyperlink" + }, + { + "const": "sdt" + }, + { + "const": "image" + }, + { + "const": "footnoteRef" + }, + { + "const": "tab" + }, + { + "const": "lineBreak" + } + ] + }, + "anchor": { + "type": "object", + "properties": { + "start": { + "type": "object", + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "number" + } + }, + "required": [ + "blockId", + "offset" + ] + }, + "end": { + "type": "object", + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "number" + } + }, + "required": [ + "blockId", + "offset" + ] + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ] + } + ] + } + }, + { + "name": "limit", + "kind": "flag", + "type": "number" + }, + { + "name": "offset", + "kind": "flag", + "type": "number" + }, + { + "name": "includeNodes", + "kind": "flag", + "type": "boolean", + "flag": "include-nodes" + }, + { + "name": "includeUnknown", + "kind": "flag", + "type": "boolean", + "flag": "include-unknown" + }, + { + "name": "type", + "kind": "flag", + "type": "string" + }, + { + "name": "nodeType", + "kind": "flag", + "type": "string", + "flag": "node-type" + }, + { + "name": "kind", + "kind": "flag", + "type": "string" + }, + { + "name": "pattern", + "kind": "flag", + "type": "string" + }, + { + "name": "mode", + "kind": "flag", + "type": "string" + }, + { + "name": "caseSensitive", + "kind": "flag", + "type": "boolean", + "flag": "case-sensitive" + }, + { + "name": "query", + "kind": "jsonFlag", + "type": "json", + "flag": "query-json" + } + ], + "constraints": { + "requiresOneOf": [ + [ + "type", + "query" + ] + ], + "mutuallyExclusive": [ + [ + "type", + "query" + ] + ] + }, + "mutates": false, + "idempotency": "idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "includeNodes": { + "type": "boolean" + }, + "includeUnknown": { + "type": "boolean" + }, + "limit": { + "type": "integer" + }, + "offset": { + "type": "integer" + }, + "select": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "caseSensitive": { + "type": "boolean" + }, + "mode": { + "enum": [ + "contains", + "regex" + ] + }, + "pattern": { + "type": "string" + }, + "type": { + "const": "text" + } + }, + "required": [ + "type", + "pattern" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "enum": [ + "block", + "inline" + ] + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt", + "run", + "bookmark", + "comment", + "hyperlink", + "footnoteRef", + "tab", + "lineBreak" + ] + }, + "type": { + "const": "node" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt", + "run", + "bookmark", + "comment", + "hyperlink", + "footnoteRef", + "tab", + "lineBreak" + ] + } + }, + "required": [ + "nodeType" + ], + "type": "object" + } + ] + }, + "within": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt" + ] + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "anchor": { + "additionalProperties": false, + "properties": { + "end": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + }, + "start": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "kind": { + "const": "inline" + }, + "nodeType": { + "enum": [ + "run", + "bookmark", + "comment", + "hyperlink", + "sdt", + "image", + "footnoteRef", + "tab", + "lineBreak" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ], + "type": "object" + } + ] + } + }, + "required": [ + "select" + ], + "type": "object" + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "context": { + "items": { + "additionalProperties": false, + "properties": { + "address": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt" + ] + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "anchor": { + "additionalProperties": false, + "properties": { + "end": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + }, + "start": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "kind": { + "const": "inline" + }, + "nodeType": { + "enum": [ + "run", + "bookmark", + "comment", + "hyperlink", + "sdt", + "image", + "footnoteRef", + "tab", + "lineBreak" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ], + "type": "object" + } + ] + }, + "highlightRange": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "snippet": { + "type": "string" + }, + "textRanges": { + "items": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "address", + "snippet", + "highlightRange" + ], + "type": "object" + }, + "type": "array" + }, + "diagnostics": { + "items": { + "additionalProperties": false, + "properties": { + "address": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt" + ] + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "anchor": { + "additionalProperties": false, + "properties": { + "end": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + }, + "start": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "kind": { + "const": "inline" + }, + "nodeType": { + "enum": [ + "run", + "bookmark", + "comment", + "hyperlink", + "sdt", + "image", + "footnoteRef", + "tab", + "lineBreak" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ], + "type": "object" + } + ] + }, + "hint": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "type": "array" + }, + "matches": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt" + ] + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "anchor": { + "additionalProperties": false, + "properties": { + "end": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + }, + "start": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "kind": { + "const": "inline" + }, + "nodeType": { + "enum": [ + "run", + "bookmark", + "comment", + "hyperlink", + "sdt", + "image", + "footnoteRef", + "tab", + "lineBreak" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "nodes": { + "items": { + "additionalProperties": false, + "properties": { + "bodyNodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "bodyText": { + "type": "string" + }, + "kind": { + "enum": [ + "block", + "inline" + ] + }, + "nodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt", + "run", + "bookmark", + "comment", + "hyperlink", + "footnoteRef", + "tab", + "lineBreak" + ] + }, + "properties": { + "type": "object" + }, + "summary": { + "additionalProperties": false, + "properties": { + "label": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "nodeType", + "kind" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "matches", + "total" + ], + "type": "object" + } + }, + "doc.getNode": { + "operationId": "doc.getNode", + "command": "get-node", + "commandTokens": [ + "get-node" + ], + "category": "query", + "description": "Retrieve a single node by target position.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "get_node", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "address", + "kind": "jsonFlag", + "type": "json", + "flag": "address-json" + } + ], + "constraints": null, + "mutates": false, + "idempotency": "idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt" + ] + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "anchor": { + "additionalProperties": false, + "properties": { + "end": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + }, + "start": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "kind": { + "const": "inline" + }, + "nodeType": { + "enum": [ + "run", + "bookmark", + "comment", + "hyperlink", + "sdt", + "image", + "footnoteRef", + "tab", + "lineBreak" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ], + "type": "object" + } + ] + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "bodyNodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "bodyText": { + "type": "string" + }, + "kind": { + "enum": [ + "block", + "inline" + ] + }, + "nodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt", + "run", + "bookmark", + "comment", + "hyperlink", + "footnoteRef", + "tab", + "lineBreak" + ] + }, + "properties": { + "type": "object" + }, + "summary": { + "additionalProperties": false, + "properties": { + "label": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "nodeType", + "kind" + ], + "type": "object" + } + }, + "doc.getNodeById": { + "operationId": "doc.getNodeById", + "command": "get-node-by-id", + "commandTokens": [ + "get-node-by-id" + ], + "category": "query", + "description": "Retrieve a single node by its unique ID.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "get_node_by_id", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "id", + "kind": "flag", + "type": "string", + "required": true + }, + { + "name": "nodeType", + "kind": "flag", + "type": "string", + "flag": "node-type", + "schema": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + } + } + ], + "constraints": null, + "mutates": false, + "idempotency": "idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "nodeId": { + "type": "string" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt" + ] + } + }, + "required": [ + "nodeId" + ], + "type": "object" + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "bodyNodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "bodyText": { + "type": "string" + }, + "kind": { + "enum": [ + "block", + "inline" + ] + }, + "nodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt", + "run", + "bookmark", + "comment", + "hyperlink", + "footnoteRef", + "tab", + "lineBreak" + ] + }, + "properties": { + "type": "object" + }, + "summary": { + "additionalProperties": false, + "properties": { + "label": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "nodeType", + "kind" + ], + "type": "object" + } + }, + "doc.info": { + "operationId": "doc.info", + "command": "info", + "commandTokens": [ + "info" + ], + "category": "query", + "description": "Return document metadata including revision, node count, and capabilities.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "get_document_info", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + } + ], + "constraints": null, + "mutates": false, + "idempotency": "idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "capabilities": { + "additionalProperties": false, + "properties": { + "canComment": { + "type": "boolean" + }, + "canFind": { + "type": "boolean" + }, + "canGetNode": { + "type": "boolean" + }, + "canReplace": { + "type": "boolean" + } + }, + "required": [ + "canFind", + "canGetNode", + "canComment", + "canReplace" + ], + "type": "object" + }, + "counts": { + "additionalProperties": false, + "properties": { + "comments": { + "type": "integer" + }, + "headings": { + "type": "integer" + }, + "images": { + "type": "integer" + }, + "paragraphs": { + "type": "integer" + }, + "tables": { + "type": "integer" + }, + "words": { + "type": "integer" + } + }, + "required": [ + "words", + "paragraphs", + "headings", + "tables", + "images", + "comments" + ], + "type": "object" + }, + "outline": { + "items": { + "additionalProperties": false, + "properties": { + "level": { + "type": "integer" + }, + "nodeId": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "level", + "text", + "nodeId" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "counts", + "outline", + "capabilities" + ], + "type": "object" + } + }, + "doc.insert": { + "operationId": "doc.insert", + "command": "insert", + "commandTokens": [ + "insert" + ], + "category": "mutation", + "description": "Insert text or inline content at a target position.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "insert_content", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "dryRun", + "kind": "flag", + "type": "boolean", + "flag": "dry-run", + "agentVisible": false + }, + { + "name": "target", + "kind": "jsonFlag", + "type": "json", + "flag": "target-json", + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + { + "name": "text", + "kind": "flag", + "type": "string", + "required": true + } + ], + "constraints": null, + "mutates": true, + "idempotency": "non-idempotent", + "supportsTrackedMode": true, + "supportsDryRun": true, + "inputSchema": { + "additionalProperties": false, + "properties": { + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET", + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure", + "resolution" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET", + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure", + "resolution" + ], + "type": "object" + } + }, + "doc.replace": { + "operationId": "doc.replace", + "command": "replace", + "commandTokens": [ + "replace" + ], + "category": "mutation", + "description": "Replace content at a target position with new text or inline content.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "replace_content", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "dryRun", + "kind": "flag", + "type": "boolean", + "flag": "dry-run", + "agentVisible": false + }, + { + "name": "target", + "kind": "jsonFlag", + "type": "json", + "flag": "target-json", + "required": true, + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + { + "name": "text", + "kind": "flag", + "type": "string", + "required": true + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": true, + "supportsDryRun": true, + "inputSchema": { + "additionalProperties": false, + "properties": { + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "text" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET", + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure", + "resolution" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET", + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure", + "resolution" + ], + "type": "object" + } + }, + "doc.delete": { + "operationId": "doc.delete", + "command": "delete", + "commandTokens": [ + "delete" + ], + "category": "mutation", + "description": "Delete content at a target position.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "delete_content", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "dryRun", + "kind": "flag", + "type": "boolean", + "flag": "dry-run", + "agentVisible": false + }, + { + "name": "target", + "kind": "jsonFlag", + "type": "json", + "flag": "target-json", + "required": true, + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": true, + "supportsDryRun": true, + "inputSchema": { + "additionalProperties": false, + "properties": { + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + } + }, + "required": [ + "target" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure", + "resolution" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure", + "resolution" + ], + "type": "object" + } + }, + "doc.format.bold": { + "operationId": "doc.format.bold", + "command": "format bold", + "commandTokens": [ + "format", + "bold" + ], + "category": "format", + "description": "Toggle bold formatting on the target range.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "format_bold", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "dryRun", + "kind": "flag", + "type": "boolean", + "flag": "dry-run", + "agentVisible": false + }, + { + "name": "target", + "kind": "jsonFlag", + "type": "json", + "flag": "target-json", + "required": true, + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": true, + "supportsDryRun": true, + "inputSchema": { + "additionalProperties": false, + "properties": { + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + } + }, + "required": [ + "target" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure", + "resolution" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure", + "resolution" + ], + "type": "object" + } + }, + "doc.format.italic": { + "operationId": "doc.format.italic", + "command": "format italic", + "commandTokens": [ + "format", + "italic" + ], + "category": "format", + "description": "Toggle italic formatting on the target range.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "format_italic", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "dryRun", + "kind": "flag", + "type": "boolean", + "flag": "dry-run", + "agentVisible": false + }, + { + "name": "target", + "kind": "jsonFlag", + "type": "json", + "flag": "target-json", + "required": true, + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": true, + "supportsDryRun": true, + "inputSchema": { + "additionalProperties": false, + "properties": { + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + } + }, + "required": [ + "target" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure", + "resolution" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure", + "resolution" + ], + "type": "object" + } + }, + "doc.format.underline": { + "operationId": "doc.format.underline", + "command": "format underline", + "commandTokens": [ + "format", + "underline" + ], + "category": "format", + "description": "Toggle underline formatting on the target range.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "format_underline", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "dryRun", + "kind": "flag", + "type": "boolean", + "flag": "dry-run", + "agentVisible": false + }, + { + "name": "target", + "kind": "jsonFlag", + "type": "json", + "flag": "target-json", + "required": true, + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": true, + "supportsDryRun": true, + "inputSchema": { + "additionalProperties": false, + "properties": { + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + } + }, + "required": [ + "target" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure", + "resolution" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure", + "resolution" + ], + "type": "object" + } + }, + "doc.format.strikethrough": { + "operationId": "doc.format.strikethrough", + "command": "format strikethrough", + "commandTokens": [ + "format", + "strikethrough" + ], + "category": "format", + "description": "Toggle strikethrough formatting on the target range.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "format_strikethrough", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "dryRun", + "kind": "flag", + "type": "boolean", + "flag": "dry-run", + "agentVisible": false + }, + { + "name": "target", + "kind": "jsonFlag", + "type": "json", + "flag": "target-json", + "required": true, + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": true, + "supportsDryRun": true, + "inputSchema": { + "additionalProperties": false, + "properties": { + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + } + }, + "required": [ + "target" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure", + "resolution" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure", + "resolution" + ], + "type": "object" + } + }, + "doc.create.paragraph": { + "operationId": "doc.create.paragraph", + "command": "create paragraph", + "commandTokens": [ + "create", + "paragraph" + ], + "category": "create", + "description": "Create a new paragraph at the target position.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "create_paragraph", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "dryRun", + "kind": "flag", + "type": "boolean", + "flag": "dry-run", + "agentVisible": false + }, + { + "name": "at", + "kind": "jsonFlag", + "type": "json", + "flag": "at-json", + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "kind": { + "const": "documentStart" + } + }, + "required": [ + "kind" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "documentEnd" + } + }, + "required": [ + "kind" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "before" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "kind", + "target" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "after" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "kind", + "target" + ] + } + ] + } + }, + { + "name": "text", + "kind": "flag", + "type": "string" + }, + { + "name": "input", + "kind": "jsonFlag", + "type": "json", + "flag": "input-json" + } + ], + "constraints": null, + "mutates": true, + "idempotency": "non-idempotent", + "supportsTrackedMode": true, + "supportsDryRun": true, + "inputSchema": { + "additionalProperties": false, + "properties": { + "at": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "documentStart" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "documentEnd" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "before" + }, + "target": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt" + ] + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + } + }, + "required": [ + "kind", + "target" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "after" + }, + "target": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt" + ] + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + } + }, + "required": [ + "kind", + "target" + ], + "type": "object" + } + ] + }, + "text": { + "type": "string" + } + }, + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "insertionPoint": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "paragraph": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "paragraph" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + }, + "trackedChangeRefs": { + "items": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "success", + "paragraph", + "insertionPoint" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "insertionPoint": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "paragraph": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "paragraph" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + }, + "trackedChangeRefs": { + "items": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "success", + "paragraph", + "insertionPoint" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.lists.list": { + "operationId": "doc.lists.list", + "command": "lists list", + "commandTokens": [ + "lists", + "list" + ], + "category": "lists", + "description": "List all list nodes in the document, optionally filtered by scope.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "list_lists", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "within", + "kind": "jsonFlag", + "type": "json", + "flag": "within-json", + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + { + "name": "limit", + "kind": "flag", + "type": "number" + }, + { + "name": "offset", + "kind": "flag", + "type": "number" + }, + { + "name": "kind", + "kind": "flag", + "type": "string", + "schema": { + "oneOf": [ + { + "const": "ordered" + }, + { + "const": "bullet" + } + ] + } + }, + { + "name": "level", + "kind": "flag", + "type": "number" + }, + { + "name": "ordinal", + "kind": "flag", + "type": "number" + }, + { + "name": "query", + "kind": "jsonFlag", + "type": "json", + "flag": "query-json" + } + ], + "constraints": { + "mutuallyExclusive": [ + [ + "query", + "within" + ], + [ + "query", + "kind" + ], + [ + "query", + "level" + ], + [ + "query", + "ordinal" + ], + [ + "query", + "limit" + ], + [ + "query", + "offset" + ] + ] + }, + "mutates": false, + "idempotency": "idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "kind": { + "enum": [ + "ordered", + "bullet" + ] + }, + "level": { + "type": "integer" + }, + "limit": { + "type": "integer" + }, + "offset": { + "type": "integer" + }, + "ordinal": { + "type": "integer" + }, + "within": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt" + ] + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + } + }, + "type": "object" + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "items": { + "items": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "kind": { + "enum": [ + "ordered", + "bullet" + ] + }, + "level": { + "type": "integer" + }, + "marker": { + "type": "string" + }, + "ordinal": { + "type": "integer" + }, + "path": { + "items": { + "type": "integer" + }, + "type": "array" + }, + "text": { + "type": "string" + } + }, + "required": [ + "address" + ], + "type": "object" + }, + "type": "array" + }, + "matches": { + "items": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "matches", + "total", + "items" + ], + "type": "object" + } + }, + "doc.lists.get": { + "operationId": "doc.lists.get", + "command": "lists get", + "commandTokens": [ + "lists", + "get" + ], + "category": "lists", + "description": "Retrieve a specific list node by target.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "get_list", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "address", + "kind": "jsonFlag", + "type": "json", + "flag": "address-json", + "required": true, + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + } + ], + "constraints": null, + "mutates": false, + "idempotency": "idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + } + }, + "required": [ + "address" + ], + "type": "object" + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "kind": { + "enum": [ + "ordered", + "bullet" + ] + }, + "level": { + "type": "integer" + }, + "marker": { + "type": "string" + }, + "ordinal": { + "type": "integer" + }, + "path": { + "items": { + "type": "integer" + }, + "type": "array" + }, + "text": { + "type": "string" + } + }, + "required": [ + "address" + ], + "type": "object" + } + }, + "doc.lists.insert": { + "operationId": "doc.lists.insert", + "command": "lists insert", + "commandTokens": [ + "lists", + "insert" + ], + "category": "lists", + "description": "Insert a new list at the target position.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "insert_list", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "dryRun", + "kind": "flag", + "type": "boolean", + "flag": "dry-run", + "agentVisible": false + }, + { + "name": "target", + "kind": "jsonFlag", + "type": "json", + "flag": "target-json", + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + { + "name": "position", + "kind": "flag", + "type": "string", + "schema": { + "oneOf": [ + { + "const": "before" + }, + { + "const": "after" + } + ] + } + }, + { + "name": "text", + "kind": "flag", + "type": "string" + }, + { + "name": "input", + "kind": "jsonFlag", + "type": "json", + "flag": "input-json" + } + ], + "constraints": null, + "mutates": true, + "idempotency": "non-idempotent", + "supportsTrackedMode": true, + "supportsDryRun": true, + "inputSchema": { + "additionalProperties": false, + "properties": { + "position": { + "enum": [ + "before", + "after" + ] + }, + "target": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "position" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "insertionPoint": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + }, + "trackedChangeRefs": { + "items": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "success", + "item", + "insertionPoint" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "insertionPoint": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + }, + "trackedChangeRefs": { + "items": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "success", + "item", + "insertionPoint" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.lists.setType": { + "operationId": "doc.lists.setType", + "command": "lists set-type", + "commandTokens": [ + "lists", + "set-type" + ], + "category": "lists", + "description": "Change the list type (ordered, unordered) of a target list.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "set_list_type", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "dryRun", + "kind": "flag", + "type": "boolean", + "flag": "dry-run", + "agentVisible": false + }, + { + "name": "target", + "kind": "jsonFlag", + "type": "json", + "flag": "target-json", + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + { + "name": "kind", + "kind": "flag", + "type": "string", + "schema": { + "oneOf": [ + { + "const": "ordered" + }, + { + "const": "bullet" + } + ] + } + }, + { + "name": "input", + "kind": "jsonFlag", + "type": "json", + "flag": "input-json" + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": true, + "inputSchema": { + "additionalProperties": false, + "properties": { + "kind": { + "enum": [ + "ordered", + "bullet" + ] + }, + "target": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + } + }, + "required": [ + "target", + "kind" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP", + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP", + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.lists.indent": { + "operationId": "doc.lists.indent", + "command": "lists indent", + "commandTokens": [ + "lists", + "indent" + ], + "category": "lists", + "description": "Increase the indentation level of a list item.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "indent_list", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "dryRun", + "kind": "flag", + "type": "boolean", + "flag": "dry-run", + "agentVisible": false + }, + { + "name": "target", + "kind": "jsonFlag", + "type": "json", + "flag": "target-json", + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + { + "name": "input", + "kind": "jsonFlag", + "type": "json", + "flag": "input-json" + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": true, + "inputSchema": { + "additionalProperties": false, + "properties": { + "target": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + } + }, + "required": [ + "target" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP", + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP", + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.lists.outdent": { + "operationId": "doc.lists.outdent", + "command": "lists outdent", + "commandTokens": [ + "lists", + "outdent" + ], + "category": "lists", + "description": "Decrease the indentation level of a list item.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "outdent_list", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "dryRun", + "kind": "flag", + "type": "boolean", + "flag": "dry-run", + "agentVisible": false + }, + { + "name": "target", + "kind": "jsonFlag", + "type": "json", + "flag": "target-json", + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + { + "name": "input", + "kind": "jsonFlag", + "type": "json", + "flag": "input-json" + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": true, + "inputSchema": { + "additionalProperties": false, + "properties": { + "target": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + } + }, + "required": [ + "target" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP", + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP", + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.lists.restart": { + "operationId": "doc.lists.restart", + "command": "lists restart", + "commandTokens": [ + "lists", + "restart" + ], + "category": "lists", + "description": "Restart numbering of an ordered list at the target item.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "restart_list_numbering", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "dryRun", + "kind": "flag", + "type": "boolean", + "flag": "dry-run", + "agentVisible": false + }, + { + "name": "target", + "kind": "jsonFlag", + "type": "json", + "flag": "target-json", + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + { + "name": "input", + "kind": "jsonFlag", + "type": "json", + "flag": "input-json" + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": true, + "inputSchema": { + "additionalProperties": false, + "properties": { + "target": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + } + }, + "required": [ + "target" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP", + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP", + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.lists.exit": { + "operationId": "doc.lists.exit", + "command": "lists exit", + "commandTokens": [ + "lists", + "exit" + ], + "category": "lists", + "description": "Exit a list context, converting the target item to a paragraph.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "exit_list", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "dryRun", + "kind": "flag", + "type": "boolean", + "flag": "dry-run", + "agentVisible": false + }, + { + "name": "target", + "kind": "jsonFlag", + "type": "json", + "flag": "target-json", + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + { + "name": "input", + "kind": "jsonFlag", + "type": "json", + "flag": "input-json" + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": true, + "inputSchema": { + "additionalProperties": false, + "properties": { + "target": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + } + }, + "required": [ + "target" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "paragraph": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "paragraph" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "paragraph" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "paragraph": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "paragraph" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "paragraph" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.comments.add": { + "operationId": "doc.comments.add", + "command": "comments add", + "commandTokens": [ + "comments", + "add" + ], + "category": "comments", + "description": "Add a new comment thread anchored to a target range.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "add_comment", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "target", + "kind": "jsonFlag", + "type": "json", + "flag": "target-json", + "required": true, + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + { + "name": "text", + "kind": "flag", + "type": "string", + "required": true + } + ], + "constraints": null, + "mutates": true, + "idempotency": "non-idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "text" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET", + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET", + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.comments.edit": { + "operationId": "doc.comments.edit", + "command": "comments edit", + "commandTokens": [ + "comments", + "edit" + ], + "category": "comments", + "description": "Edit the content of an existing comment.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "edit_comment", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "id", + "kind": "flag", + "type": "string", + "required": true + }, + { + "name": "text", + "kind": "flag", + "type": "string", + "required": true + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "commentId": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "commentId", + "text" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.comments.reply": { + "operationId": "doc.comments.reply", + "command": "comments reply", + "commandTokens": [ + "comments", + "reply" + ], + "category": "comments", + "description": "Add a reply to an existing comment thread.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "reply_to_comment", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "parentId", + "kind": "flag", + "type": "string", + "flag": "parent-id", + "required": true + }, + { + "name": "text", + "kind": "flag", + "type": "string", + "required": true + } + ], + "constraints": null, + "mutates": true, + "idempotency": "non-idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "parentCommentId": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "parentCommentId", + "text" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.comments.move": { + "operationId": "doc.comments.move", + "command": "comments move", + "commandTokens": [ + "comments", + "move" + ], + "category": "comments", + "description": "Move a comment thread to a new anchor range.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "move_comment", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "id", + "kind": "flag", + "type": "string", + "required": true + }, + { + "name": "target", + "kind": "jsonFlag", + "type": "json", + "flag": "target-json", + "required": true, + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "commentId": { + "type": "string" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + } + }, + "required": [ + "commentId", + "target" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET", + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET", + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.comments.resolve": { + "operationId": "doc.comments.resolve", + "command": "comments resolve", + "commandTokens": [ + "comments", + "resolve" + ], + "category": "comments", + "description": "Resolve or unresolve a comment thread.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "resolve_comment", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "id", + "kind": "flag", + "type": "string", + "required": true + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "commentId": { + "type": "string" + } + }, + "required": [ + "commentId" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.comments.remove": { + "operationId": "doc.comments.remove", + "command": "comments remove", + "commandTokens": [ + "comments", + "remove" + ], + "category": "comments", + "description": "Remove a comment or reply by ID.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "remove_comment", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "id", + "kind": "flag", + "type": "string", + "required": true + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "commentId": { + "type": "string" + } + }, + "required": [ + "commentId" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.comments.setInternal": { + "operationId": "doc.comments.setInternal", + "command": "comments set-internal", + "commandTokens": [ + "comments", + "set-internal" + ], + "category": "comments", + "description": "Toggle the internal (private) flag on a comment thread.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "set_comment_internal", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "id", + "kind": "flag", + "type": "string", + "required": true + }, + { + "name": "isInternal", + "kind": "flag", + "type": "boolean", + "flag": "is-internal", + "required": true + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "commentId": { + "type": "string" + }, + "isInternal": { + "type": "boolean" + } + }, + "required": [ + "commentId", + "isInternal" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP", + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP", + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.comments.setActive": { + "operationId": "doc.comments.setActive", + "command": "comments set-active", + "commandTokens": [ + "comments", + "set-active" + ], + "category": "comments", + "description": "Set the active (focused) comment thread for UI highlighting.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "set_comment_active", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "commentId", + "kind": "jsonFlag", + "type": "json", + "flag": "comment-id-json", + "schema": { + "type": "json" + } + }, + { + "name": "id", + "kind": "flag", + "type": "string" + }, + { + "name": "clear", + "kind": "flag", + "type": "boolean" + } + ], + "constraints": { + "requiresOneOf": [ + [ + "id", + "clear" + ] + ], + "mutuallyExclusive": [ + [ + "id", + "clear" + ] + ] + }, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "commentId": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "commentId" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.comments.goTo": { + "operationId": "doc.comments.goTo", + "command": "comments go-to", + "commandTokens": [ + "comments", + "go-to" + ], + "category": "comments", + "description": "Scroll the viewport to a comment thread by ID.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "go_to_comment", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "id", + "kind": "flag", + "type": "string", + "required": true + } + ], + "constraints": null, + "mutates": false, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "commentId": { + "type": "string" + } + }, + "required": [ + "commentId" + ], + "type": "object" + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + } + }, + "doc.comments.get": { + "operationId": "doc.comments.get", + "command": "comments get", + "commandTokens": [ + "comments", + "get" + ], + "category": "comments", + "description": "Retrieve a single comment thread by ID.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "get_comment", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "id", + "kind": "flag", + "type": "string", + "required": true + } + ], + "constraints": null, + "mutates": false, + "idempotency": "idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "commentId": { + "type": "string" + } + }, + "required": [ + "commentId" + ], + "type": "object" + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "commentId": { + "type": "string" + }, + "createdTime": { + "type": "number" + }, + "creatorEmail": { + "type": "string" + }, + "creatorName": { + "type": "string" + }, + "importedId": { + "type": "string" + }, + "isInternal": { + "type": "boolean" + }, + "parentCommentId": { + "type": "string" + }, + "status": { + "enum": [ + "open", + "resolved" + ] + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "address", + "commentId", + "status" + ], + "type": "object" + } + }, + "doc.comments.list": { + "operationId": "doc.comments.list", + "command": "comments list", + "commandTokens": [ + "comments", + "list" + ], + "category": "comments", + "description": "List all comment threads in the document.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "list_comments", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "includeResolved", + "kind": "flag", + "type": "boolean", + "flag": "include-resolved" + } + ], + "constraints": null, + "mutates": false, + "idempotency": "idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "includeResolved": { + "type": "boolean" + } + }, + "type": "object" + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "matches": { + "items": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "commentId": { + "type": "string" + }, + "createdTime": { + "type": "number" + }, + "creatorEmail": { + "type": "string" + }, + "creatorName": { + "type": "string" + }, + "importedId": { + "type": "string" + }, + "isInternal": { + "type": "boolean" + }, + "parentCommentId": { + "type": "string" + }, + "status": { + "enum": [ + "open", + "resolved" + ] + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "address", + "commentId", + "status" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "matches", + "total" + ], + "type": "object" + } + }, + "doc.trackChanges.list": { + "operationId": "doc.trackChanges.list", + "command": "track-changes list", + "commandTokens": [ + "track-changes", + "list" + ], + "category": "trackChanges", + "description": "List all tracked changes in the document.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "list_tracked_changes", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "limit", + "kind": "flag", + "type": "number" + }, + { + "name": "offset", + "kind": "flag", + "type": "number" + }, + { + "name": "type", + "kind": "flag", + "type": "string", + "schema": { + "oneOf": [ + { + "const": "insert" + }, + { + "const": "delete" + }, + { + "const": "format" + } + ] + } + } + ], + "constraints": null, + "mutates": false, + "idempotency": "idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "limit": { + "type": "integer" + }, + "offset": { + "type": "integer" + }, + "type": { + "enum": [ + "insert", + "delete", + "format" + ] + } + }, + "type": "object" + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "changes": { + "items": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "author": { + "type": "string" + }, + "authorEmail": { + "type": "string" + }, + "authorImage": { + "type": "string" + }, + "date": { + "type": "string" + }, + "excerpt": { + "type": "string" + }, + "id": { + "type": "string" + }, + "type": { + "enum": [ + "insert", + "delete", + "format" + ] + } + }, + "required": [ + "address", + "id", + "type" + ], + "type": "object" + }, + "type": "array" + }, + "matches": { + "items": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "matches", + "total" + ], + "type": "object" + } + }, + "doc.trackChanges.get": { + "operationId": "doc.trackChanges.get", + "command": "track-changes get", + "commandTokens": [ + "track-changes", + "get" + ], + "category": "trackChanges", + "description": "Retrieve a single tracked change by ID.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "get_tracked_change", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "id", + "kind": "flag", + "type": "string", + "required": true + } + ], + "constraints": null, + "mutates": false, + "idempotency": "idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "author": { + "type": "string" + }, + "authorEmail": { + "type": "string" + }, + "authorImage": { + "type": "string" + }, + "date": { + "type": "string" + }, + "excerpt": { + "type": "string" + }, + "id": { + "type": "string" + }, + "type": { + "enum": [ + "insert", + "delete", + "format" + ] + } + }, + "required": [ + "address", + "id", + "type" + ], + "type": "object" + } + }, + "doc.trackChanges.accept": { + "operationId": "doc.trackChanges.accept", + "command": "track-changes accept", + "commandTokens": [ + "track-changes", + "accept" + ], + "category": "trackChanges", + "description": "Accept a tracked change, applying it permanently.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "accept_tracked_change", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "id", + "kind": "flag", + "type": "string", + "required": true + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.trackChanges.reject": { + "operationId": "doc.trackChanges.reject", + "command": "track-changes reject", + "commandTokens": [ + "track-changes", + "reject" + ], + "category": "trackChanges", + "description": "Reject a tracked change, reverting it.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "reject_tracked_change", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "id", + "kind": "flag", + "type": "string", + "required": true + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.trackChanges.acceptAll": { + "operationId": "doc.trackChanges.acceptAll", + "command": "track-changes accept-all", + "commandTokens": [ + "track-changes", + "accept-all" + ], + "category": "trackChanges", + "description": "Accept all tracked changes in the document.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "accept_all_tracked_changes", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.trackChanges.rejectAll": { + "operationId": "doc.trackChanges.rejectAll", + "command": "track-changes reject-all", + "commandTokens": [ + "track-changes", + "reject-all" + ], + "category": "trackChanges", + "description": "Reject all tracked changes in the document.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "reject_all_tracked_changes", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.open": { + "operationId": "doc.open", + "command": "open", + "commandTokens": [ + "open" + ], + "category": "lifecycle", + "description": "Open a document and create a persistent editing session.", + "requiresDocumentContext": false, + "docRequirement": "required", + "intentName": "open_document", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string", + "required": true + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "collaboration", + "kind": "jsonFlag", + "type": "json", + "flag": "collaboration-json" + }, + { + "name": "collabDocumentId", + "kind": "flag", + "type": "string", + "flag": "collab-document-id" + }, + { + "name": "collabUrl", + "kind": "flag", + "type": "string", + "flag": "collab-url" + } + ], + "constraints": null, + "mutates": false, + "idempotency": "non-idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "outputSchema": { + "type": "object", + "properties": { + "contextId": { + "type": "string" + }, + "sessionType": { + "type": "string" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + }, + "revision": { + "type": "number" + } + } + }, + "collaboration": { + "type": "object", + "properties": { + "documentId": { + "type": "string" + }, + "url": { + "type": "string" + } + } + } + }, + "required": [ + "contextId", + "sessionType" + ] + } + }, + "doc.save": { + "operationId": "doc.save", + "command": "save", + "commandTokens": [ + "save" + ], + "category": "lifecycle", + "description": "Save the current session to the original file or a new path.", + "requiresDocumentContext": false, + "docRequirement": "none", + "intentName": "save_document", + "params": [ + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "inPlace", + "kind": "flag", + "type": "boolean", + "flag": "in-place" + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "outputSchema": { + "type": "object", + "properties": { + "contextId": { + "type": "string" + }, + "saved": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + }, + "revision": { + "type": "number" + } + } + }, + "context": { + "type": "object", + "properties": { + "dirty": { + "type": "boolean" + }, + "revision": { + "type": "number" + }, + "lastSavedAt": { + "type": "string" + } + } + }, + "output": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "byteLength": { + "type": "number" + } + } + } + }, + "required": [ + "contextId", + "saved" + ] + } + }, + "doc.close": { + "operationId": "doc.close", + "command": "close", + "commandTokens": [ + "close" + ], + "category": "lifecycle", + "description": "Close the active editing session and clean up resources.", + "requiresDocumentContext": false, + "docRequirement": "none", + "intentName": "close_document", + "params": [ + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "discard", + "kind": "flag", + "type": "boolean" + } + ], + "constraints": null, + "mutates": false, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "outputSchema": { + "type": "object", + "properties": { + "contextId": { + "type": "string" + }, + "closed": { + "type": "boolean" + }, + "saved": { + "type": "boolean" + }, + "discarded": { + "type": "boolean" + }, + "defaultSessionCleared": { + "type": "boolean" + }, + "wasDirty": { + "type": "boolean" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + }, + "revision": { + "type": "number" + } + } + } + }, + "required": [ + "contextId", + "closed" + ] + } + }, + "doc.status": { + "operationId": "doc.status", + "command": "status", + "commandTokens": [ + "status" + ], + "category": "introspection", + "description": "Show the current session status and document metadata.", + "requiresDocumentContext": false, + "docRequirement": "none", + "intentName": "get_status", + "params": [ + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + } + ], + "constraints": null, + "mutates": false, + "idempotency": "idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "outputSchema": { + "type": "object", + "properties": { + "contextId": { + "type": "string" + }, + "sessionType": { + "type": "string" + }, + "dirty": { + "type": "boolean" + }, + "revision": { + "type": "number" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + } + } + } + }, + "required": [ + "contextId" + ] + } + }, + "doc.describe": { + "operationId": "doc.describe", + "command": "describe", + "commandTokens": [ + "describe" + ], + "category": "introspection", + "description": "List all available CLI operations and contract metadata.", + "requiresDocumentContext": false, + "docRequirement": "none", + "intentName": "describe_commands", + "params": [], + "constraints": null, + "mutates": false, + "idempotency": "idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "outputSchema": { + "type": "object", + "properties": { + "contractVersion": { + "type": "string" + }, + "operations": { + "type": "array", + "items": { + "type": "object", + "properties": { + "operationId": { + "type": "string" + }, + "command": { + "type": "string" + }, + "category": { + "type": "string" + }, + "description": { + "type": "string" + }, + "mutates": { + "type": "boolean" + } + } + } + } + } + } + }, + "doc.describeCommand": { + "operationId": "doc.describeCommand", + "command": "describe command", + "commandTokens": [ + "describe", + "command" + ], + "category": "introspection", + "description": "Show detailed metadata for a single CLI operation.", + "requiresDocumentContext": false, + "docRequirement": "none", + "intentName": "describe_command", + "params": [ + { + "name": "operationId", + "kind": "doc", + "type": "string", + "required": true + } + ], + "constraints": null, + "mutates": false, + "idempotency": "idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "outputSchema": { + "type": "object", + "properties": { + "operationId": { + "type": "string" + }, + "command": { + "type": "string" + }, + "category": { + "type": "string" + }, + "description": { + "type": "string" + }, + "mutates": { + "type": "boolean" + }, + "params": { + "type": "array" + }, + "constraints": {} + } + } + }, + "doc.session.list": { + "operationId": "doc.session.list", + "command": "session list", + "commandTokens": [ + "session", + "list" + ], + "category": "session", + "description": "List all active editing sessions.", + "requiresDocumentContext": false, + "docRequirement": "none", + "intentName": "list_sessions", + "params": [], + "constraints": null, + "mutates": false, + "idempotency": "idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "outputSchema": { + "type": "object", + "properties": { + "activeSessionId": { + "type": "string" + }, + "sessions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "sessionType": { + "type": "string" + }, + "dirty": { + "type": "boolean" + }, + "revision": { + "type": "number" + } + } + } + }, + "total": { + "type": "number" + } + } + } + }, + "doc.session.save": { + "operationId": "doc.session.save", + "command": "session save", + "commandTokens": [ + "session", + "save" + ], + "category": "session", + "description": "Persist the current session state.", + "requiresDocumentContext": false, + "docRequirement": "none", + "intentName": "save_session", + "params": [ + { + "name": "sessionId", + "kind": "doc", + "type": "string", + "required": true + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "inPlace", + "kind": "flag", + "type": "boolean", + "flag": "in-place" + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "outputSchema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "contextId": { + "type": "string" + }, + "saved": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + }, + "revision": { + "type": "number" + } + } + }, + "output": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "byteLength": { + "type": "number" + } + } + } + }, + "required": [ + "sessionId" + ] + } + }, + "doc.session.close": { + "operationId": "doc.session.close", + "command": "session close", + "commandTokens": [ + "session", + "close" + ], + "category": "session", + "description": "Close a specific editing session by ID.", + "requiresDocumentContext": false, + "docRequirement": "none", + "intentName": "close_session", + "params": [ + { + "name": "sessionId", + "kind": "doc", + "type": "string", + "required": true + }, + { + "name": "discard", + "kind": "flag", + "type": "boolean" + } + ], + "constraints": null, + "mutates": false, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "outputSchema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "contextId": { + "type": "string" + }, + "closed": { + "type": "boolean" + }, + "saved": { + "type": "boolean" + }, + "discarded": { + "type": "boolean" + }, + "defaultSessionCleared": { + "type": "boolean" + }, + "wasDirty": { + "type": "boolean" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + }, + "revision": { + "type": "number" + } + } + } + }, + "required": [ + "sessionId" + ] + } + }, + "doc.session.setDefault": { + "operationId": "doc.session.setDefault", + "command": "session set-default", + "commandTokens": [ + "session", + "set-default" + ], + "category": "session", + "description": "Set the default session for subsequent commands.", + "requiresDocumentContext": false, + "docRequirement": "none", + "intentName": "set_default_session", + "params": [ + { + "name": "sessionId", + "kind": "doc", + "type": "string", + "required": true + } + ], + "constraints": null, + "mutates": false, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "outputSchema": { + "type": "object", + "properties": { + "activeSessionId": { + "type": "string" + } + }, + "required": [ + "activeSessionId" + ] + } + } + } +} diff --git a/apps/cli/scripts/export-sdk-contract.ts b/apps/cli/scripts/export-sdk-contract.ts new file mode 100644 index 0000000000..4592e870c7 --- /dev/null +++ b/apps/cli/scripts/export-sdk-contract.ts @@ -0,0 +1,251 @@ +/** + * export-sdk-contract.ts — Produces `apps/cli/generated/sdk-contract.json`. + * + * This is the single input artifact the SDK codegen consumes. It merges: + * - CLI operation metadata (transport plane: params, constraints, command tokens) + * - document-api schemas (schema plane: inputSchema, outputSchema, successSchema) + * - CLI-only operation definitions (from canonical definitions module) + * - Host protocol metadata + * + * Run: bun run apps/cli/scripts/export-sdk-contract.ts + * Check: bun run apps/cli/scripts/export-sdk-contract.ts --check + */ + +import { readFileSync, writeFileSync, mkdirSync } from 'node:fs'; +import { resolve, dirname } from 'node:path'; +import { createHash } from 'node:crypto'; +import { tmpdir } from 'node:os'; + +import { COMMAND_CATALOG } from '@superdoc/document-api'; + +import { CLI_OPERATION_METADATA } from '../src/cli/operation-params'; +import { + CLI_OPERATION_IDS, + cliCategory, + cliDescription, + cliCommandTokens, + cliRequiresDocumentContext, + toDocApiId, + type DocBackedCliOpId, +} from '../src/cli/operation-set'; +import type { CliOnlyOperation } from '../src/cli/types'; +import { CLI_ONLY_OPERATION_DEFINITIONS } from '../src/cli/cli-only-operation-definitions'; +import { HOST_PROTOCOL_VERSION, HOST_PROTOCOL_FEATURES, HOST_PROTOCOL_NOTIFICATIONS } from '../src/host/protocol'; + +// --------------------------------------------------------------------------- +// Paths +// --------------------------------------------------------------------------- + +const ROOT = resolve(import.meta.dir, '../../..'); +const CLI_DIR = resolve(ROOT, 'apps/cli'); +const CONTRACT_JSON_PATH = resolve(ROOT, 'packages/document-api/generated/schemas/document-api-contract.json'); +const OUTPUT_PATH = resolve(CLI_DIR, 'generated/sdk-contract.json'); +const CLI_PKG_PATH = resolve(CLI_DIR, 'package.json'); + +// --------------------------------------------------------------------------- +// Intent names — human-friendly tool names for doc-backed operations only. +// CLI-only intent names live in CLI_ONLY_OPERATION_DEFINITIONS. +// Typed exhaustively: missing entry = compile error. +// --------------------------------------------------------------------------- + +const INTENT_NAMES = { + 'doc.find': 'find_content', + 'doc.getNode': 'get_node', + 'doc.getNodeById': 'get_node_by_id', + 'doc.info': 'get_document_info', + 'doc.insert': 'insert_content', + 'doc.replace': 'replace_content', + 'doc.delete': 'delete_content', + 'doc.format.bold': 'format_bold', + 'doc.format.italic': 'format_italic', + 'doc.format.underline': 'format_underline', + 'doc.format.strikethrough': 'format_strikethrough', + 'doc.create.paragraph': 'create_paragraph', + 'doc.lists.list': 'list_lists', + 'doc.lists.get': 'get_list', + 'doc.lists.insert': 'insert_list', + 'doc.lists.setType': 'set_list_type', + 'doc.lists.indent': 'indent_list', + 'doc.lists.outdent': 'outdent_list', + 'doc.lists.restart': 'restart_list_numbering', + 'doc.lists.exit': 'exit_list', + 'doc.comments.add': 'add_comment', + 'doc.comments.edit': 'edit_comment', + 'doc.comments.reply': 'reply_to_comment', + 'doc.comments.move': 'move_comment', + 'doc.comments.resolve': 'resolve_comment', + 'doc.comments.remove': 'remove_comment', + 'doc.comments.setInternal': 'set_comment_internal', + 'doc.comments.setActive': 'set_comment_active', + 'doc.comments.goTo': 'go_to_comment', + 'doc.comments.get': 'get_comment', + 'doc.comments.list': 'list_comments', + 'doc.trackChanges.list': 'list_tracked_changes', + 'doc.trackChanges.get': 'get_tracked_change', + 'doc.trackChanges.accept': 'accept_tracked_change', + 'doc.trackChanges.reject': 'reject_tracked_change', + 'doc.trackChanges.acceptAll': 'accept_all_tracked_changes', + 'doc.trackChanges.rejectAll': 'reject_all_tracked_changes', +} as const satisfies Record; + +// --------------------------------------------------------------------------- +// Load inputs +// --------------------------------------------------------------------------- + +function loadDocApiContract(): { + contractVersion: string; + operations: Record>; +} { + const raw = readFileSync(CONTRACT_JSON_PATH, 'utf-8'); + return JSON.parse(raw); +} + +function loadCliPackage(): { name: string; version: string } { + const raw = readFileSync(CLI_PKG_PATH, 'utf-8'); + return JSON.parse(raw); +} + +// --------------------------------------------------------------------------- +// Build contract +// --------------------------------------------------------------------------- + +function buildSdkContract() { + const docApiContract = loadDocApiContract(); + const cliPkg = loadCliPackage(); + + const sourceHash = createHash('sha256').update(JSON.stringify(docApiContract)).digest('hex').slice(0, 16); + + const operations: Record = {}; + + for (const cliOpId of CLI_OPERATION_IDS) { + const metadata = CLI_OPERATION_METADATA[cliOpId]; + const docApiId = toDocApiId(cliOpId); + const stripped = cliOpId.slice(4) as CliOnlyOperation; + + // Resolve intentName: doc-backed from INTENT_NAMES, CLI-only from definitions + const cliOnlyDef = docApiId ? null : CLI_ONLY_OPERATION_DEFINITIONS[stripped]; + const intentName = docApiId ? INTENT_NAMES[cliOpId as DocBackedCliOpId] : cliOnlyDef!.intentName; + if (!intentName) { + throw new Error(`Missing intentName for ${cliOpId}`); + } + + // Base fields shared by all operations + const entry: Record = { + operationId: cliOpId, + command: metadata.command, + commandTokens: [...cliCommandTokens(cliOpId)], + category: cliCategory(cliOpId), + description: cliDescription(cliOpId), + requiresDocumentContext: cliRequiresDocumentContext(cliOpId), + docRequirement: metadata.docRequirement, + intentName, + + // Transport plane + params: metadata.params.map((p) => { + const spec: Record = { + name: p.name, + kind: p.kind, + type: p.type, + }; + if (p.flag && p.flag !== p.name) spec.flag = p.flag; + if (p.required) spec.required = true; + if (p.schema) spec.schema = p.schema; + if (p.agentVisible === false) spec.agentVisible = false; + return spec; + }), + constraints: metadata.constraints ?? null, + }; + + if (docApiId) { + // Doc-backed operation — metadata from COMMAND_CATALOG + const catalog = COMMAND_CATALOG[docApiId]; + entry.mutates = catalog.mutates; + entry.idempotency = catalog.idempotency; + entry.supportsTrackedMode = catalog.supportsTrackedMode; + entry.supportsDryRun = catalog.supportsDryRun; + + // Schema plane from document-api-contract.json + const docOp = docApiContract.operations[docApiId]; + if (!docOp) { + throw new Error(`Missing document-api contract entry for ${docApiId}`); + } + entry.inputSchema = docOp.inputSchema; + entry.outputSchema = docOp.outputSchema; + if (docOp.successSchema) entry.successSchema = docOp.successSchema; + if (docOp.failureSchema) entry.failureSchema = docOp.failureSchema; + } else { + // CLI-only operation — metadata from canonical definitions + const def = cliOnlyDef!; + entry.mutates = def.sdkMetadata.mutates; + entry.idempotency = def.sdkMetadata.idempotency; + entry.supportsTrackedMode = def.sdkMetadata.supportsTrackedMode; + entry.supportsDryRun = def.sdkMetadata.supportsDryRun; + entry.outputSchema = def.outputSchema; + } + + // Invariant: every operation must have outputSchema + if (!entry.outputSchema) { + throw new Error(`Operation ${cliOpId} is missing outputSchema — contract export bug.`); + } + + operations[cliOpId] = entry; + } + + return { + contractVersion: docApiContract.contractVersion, + sourceHash, + cli: { + package: cliPkg.name, + minVersion: cliPkg.version, + }, + protocol: { + version: HOST_PROTOCOL_VERSION, + transport: 'stdio', + features: [...HOST_PROTOCOL_FEATURES], + notifications: [...HOST_PROTOCOL_NOTIFICATIONS], + }, + operations, + }; +} + +// --------------------------------------------------------------------------- +// Main +// --------------------------------------------------------------------------- + +function main() { + const isCheck = process.argv.includes('--check'); + const contract = buildSdkContract(); + const json = JSON.stringify(contract, null, 2) + '\n'; + + if (isCheck) { + let existing: string; + try { + existing = readFileSync(OUTPUT_PATH, 'utf-8'); + } catch { + console.error(`--check: ${OUTPUT_PATH} does not exist. Run without --check to generate.`); + process.exit(1); + } + + if (existing === json) { + console.log('sdk-contract.json is up to date.'); + process.exit(0); + } + + // Write to temp for diff + const tmpPath = resolve(tmpdir(), 'sdk-contract-check.json'); + writeFileSync(tmpPath, json); + console.error(`--check: sdk-contract.json is stale.`); + console.error(` Committed: ${OUTPUT_PATH}`); + console.error(` Generated: ${tmpPath}`); + console.error(` Run without --check to regenerate.`); + process.exit(1); + } + + mkdirSync(dirname(OUTPUT_PATH), { recursive: true }); + writeFileSync(OUTPUT_PATH, json); + + const opCount = Object.keys(contract.operations).length; + console.log(`Wrote ${OUTPUT_PATH} (${opCount} operations)`); +} + +main(); diff --git a/apps/cli/src/cli/__tests__/cli-only-definitions.test.ts b/apps/cli/src/cli/__tests__/cli-only-definitions.test.ts new file mode 100644 index 0000000000..6cceff0570 --- /dev/null +++ b/apps/cli/src/cli/__tests__/cli-only-definitions.test.ts @@ -0,0 +1,134 @@ +import { describe, expect, test } from 'bun:test'; + +import { CLI_ONLY_OPERATIONS } from '../operation-set'; +import { CLI_ONLY_OPERATION_DEFINITIONS } from '../cli-only-operation-definitions'; + +// --------------------------------------------------------------------------- +// Structural completeness +// --------------------------------------------------------------------------- + +describe('CLI-only operation definitions', () => { + test('all CLI_ONLY_OPERATIONS have entries in CLI_ONLY_OPERATION_DEFINITIONS', () => { + for (const op of CLI_ONLY_OPERATIONS) { + expect(CLI_ONLY_OPERATION_DEFINITIONS[op]).toBeDefined(); + } + }); + + test('no extra entries beyond CLI_ONLY_OPERATIONS', () => { + const definedKeys = new Set(Object.keys(CLI_ONLY_OPERATION_DEFINITIONS)); + const expectedKeys = new Set(CLI_ONLY_OPERATIONS); + expect(definedKeys).toEqual(expectedKeys); + }); + + test('all CLI-only ops have non-empty outputSchema with type:object', () => { + for (const [, def] of Object.entries(CLI_ONLY_OPERATION_DEFINITIONS)) { + expect(def.outputSchema).toBeTruthy(); + expect(def.outputSchema.type).toBe('object'); + } + }); + + test('outputSchema required arrays only reference defined properties', () => { + function checkSchema(schema: Record, path: string) { + const properties = schema.properties as Record | undefined; + const required = schema.required as string[] | undefined; + + if (required && properties) { + for (const req of required) { + expect(properties[req]).toBeDefined(); + } + } + + // Recurse into nested object schemas + if (properties) { + for (const [key, propSchema] of Object.entries(properties)) { + if ( + propSchema && + typeof propSchema === 'object' && + (propSchema as Record).type === 'object' + ) { + checkSchema(propSchema as Record, `${path}.${key}`); + } + } + } + } + + for (const [op, def] of Object.entries(CLI_ONLY_OPERATION_DEFINITIONS)) { + checkSchema(def.outputSchema, op); + } + }); + + test('all CLI-only ops have non-empty intentName', () => { + for (const [, def] of Object.entries(CLI_ONLY_OPERATION_DEFINITIONS)) { + expect(def.intentName).toBeTruthy(); + } + }); + + test('sdkMetadata fields present and correctly typed', () => { + const validIdempotency = new Set(['idempotent', 'non-idempotent', 'conditional']); + + for (const [, def] of Object.entries(CLI_ONLY_OPERATION_DEFINITIONS)) { + expect(typeof def.sdkMetadata.mutates).toBe('boolean'); + expect(validIdempotency.has(def.sdkMetadata.idempotency)).toBe(true); + expect(typeof def.sdkMetadata.supportsTrackedMode).toBe('boolean'); + expect(typeof def.sdkMetadata.supportsDryRun).toBe('boolean'); + } + }); +}); + +// --------------------------------------------------------------------------- +// Schema validity (lightweight — no AJV dependency) +// --------------------------------------------------------------------------- + +describe('CLI-only outputSchema validity', () => { + const VALID_TYPES = new Set(['string', 'number', 'integer', 'boolean', 'array', 'object']); + + function validateSchemaNode(schema: Record, path: string) { + if (schema.type) { + expect(VALID_TYPES.has(schema.type as string)).toBe(true); + } + + if (schema.type === 'object' && schema.properties) { + expect(typeof schema.properties).toBe('object'); + for (const [key, propSchema] of Object.entries(schema.properties as Record)) { + if (propSchema && typeof propSchema === 'object') { + validateSchemaNode(propSchema as Record, `${path}.properties.${key}`); + } + } + } + + if (schema.type === 'array' && schema.items) { + expect(typeof schema.items).toBe('object'); + validateSchemaNode(schema.items as Record, `${path}.items`); + } + + if (schema.required) { + expect(Array.isArray(schema.required)).toBe(true); + } + } + + test('all outputSchemas have valid JSON Schema structure', () => { + for (const [op, def] of Object.entries(CLI_ONLY_OPERATION_DEFINITIONS)) { + validateSchemaNode(def.outputSchema, op); + } + }); +}); + +// --------------------------------------------------------------------------- +// Intent name naming policy +// --------------------------------------------------------------------------- + +describe('CLI-only intent name naming policy', () => { + test('all intentNames match snake_case naming policy', () => { + for (const [, def] of Object.entries(CLI_ONLY_OPERATION_DEFINITIONS)) { + expect(def.intentName).toMatch(/^[a-z][a-z0-9_]*$/); + } + }); + + test('all intentNames are unique', () => { + const seen = new Set(); + for (const [, def] of Object.entries(CLI_ONLY_OPERATION_DEFINITIONS)) { + expect(seen.has(def.intentName)).toBe(false); + seen.add(def.intentName); + } + }); +}); diff --git a/apps/cli/src/cli/cli-only-operation-definitions.ts b/apps/cli/src/cli/cli-only-operation-definitions.ts new file mode 100644 index 0000000000..6eb59d1ce6 --- /dev/null +++ b/apps/cli/src/cli/cli-only-operation-definitions.ts @@ -0,0 +1,307 @@ +/** + * Canonical CLI-only operation definitions — single source of truth. + * + * This module consolidates metadata for the 10 CLI-only operations that + * are not backed by document-api. All downstream consumers project the + * views they need from this canonical object: + * + * - operation-set.ts → category, description, tokens, requiresDoc + * - export-sdk-contract.ts → intentName, sdkMetadata, outputSchema + * - response-schemas.ts → CLI-only response schema entries + */ + +import type { CliCategory, CliOnlyOperation } from './types'; + +// --------------------------------------------------------------------------- +// Types +// --------------------------------------------------------------------------- + +export interface CliOnlySdkMetadata { + mutates: boolean; + idempotency: 'idempotent' | 'non-idempotent' | 'conditional'; + supportsTrackedMode: boolean; + supportsDryRun: boolean; +} + +export interface CliOnlyOperationDefinition { + category: CliCategory; + description: string; + requiresDocumentContext: boolean; + tokenOverride?: readonly string[]; + intentName: string; + sdkMetadata: CliOnlySdkMetadata; + outputSchema: Record; +} + +// --------------------------------------------------------------------------- +// Canonical definitions +// --------------------------------------------------------------------------- + +export const CLI_ONLY_OPERATION_DEFINITIONS: Record = { + open: { + category: 'lifecycle', + description: 'Open a document and create a persistent editing session.', + requiresDocumentContext: false, + intentName: 'open_document', + sdkMetadata: { mutates: false, idempotency: 'non-idempotent', supportsTrackedMode: false, supportsDryRun: false }, + outputSchema: { + type: 'object', + properties: { + contextId: { type: 'string' }, + sessionType: { type: 'string' }, + document: { + type: 'object', + properties: { + path: { type: 'string' }, + source: { type: 'string' }, + revision: { type: 'number' }, + }, + }, + collaboration: { + type: 'object', + properties: { + documentId: { type: 'string' }, + url: { type: 'string' }, + }, + }, + }, + required: ['contextId', 'sessionType'], + }, + }, + save: { + category: 'lifecycle', + description: 'Save the current session to the original file or a new path.', + requiresDocumentContext: false, + intentName: 'save_document', + sdkMetadata: { mutates: true, idempotency: 'conditional', supportsTrackedMode: false, supportsDryRun: false }, + outputSchema: { + type: 'object', + properties: { + contextId: { type: 'string' }, + saved: { type: 'boolean' }, + inPlace: { type: 'boolean' }, + document: { + type: 'object', + properties: { + path: { type: 'string' }, + source: { type: 'string' }, + revision: { type: 'number' }, + }, + }, + context: { + type: 'object', + properties: { + dirty: { type: 'boolean' }, + revision: { type: 'number' }, + lastSavedAt: { type: 'string' }, + }, + }, + output: { + type: 'object', + properties: { + path: { type: 'string' }, + byteLength: { type: 'number' }, + }, + }, + }, + required: ['contextId', 'saved'], + }, + }, + close: { + category: 'lifecycle', + description: 'Close the active editing session and clean up resources.', + requiresDocumentContext: false, + intentName: 'close_document', + sdkMetadata: { mutates: false, idempotency: 'conditional', supportsTrackedMode: false, supportsDryRun: false }, + outputSchema: { + type: 'object', + properties: { + contextId: { type: 'string' }, + closed: { type: 'boolean' }, + saved: { type: 'boolean' }, + discarded: { type: 'boolean' }, + defaultSessionCleared: { type: 'boolean' }, + wasDirty: { type: 'boolean' }, + document: { + type: 'object', + properties: { + path: { type: 'string' }, + source: { type: 'string' }, + revision: { type: 'number' }, + }, + }, + }, + required: ['contextId', 'closed'], + }, + }, + status: { + category: 'introspection', + description: 'Show the current session status and document metadata.', + requiresDocumentContext: false, + intentName: 'get_status', + sdkMetadata: { mutates: false, idempotency: 'idempotent', supportsTrackedMode: false, supportsDryRun: false }, + outputSchema: { + type: 'object', + properties: { + contextId: { type: 'string' }, + sessionType: { type: 'string' }, + dirty: { type: 'boolean' }, + revision: { type: 'number' }, + document: { + type: 'object', + properties: { + path: { type: 'string' }, + source: { type: 'string' }, + }, + }, + }, + required: ['contextId'], + }, + }, + describe: { + category: 'introspection', + description: 'List all available CLI operations and contract metadata.', + requiresDocumentContext: false, + intentName: 'describe_commands', + sdkMetadata: { mutates: false, idempotency: 'idempotent', supportsTrackedMode: false, supportsDryRun: false }, + outputSchema: { + type: 'object', + properties: { + contractVersion: { type: 'string' }, + operations: { + type: 'array', + items: { + type: 'object', + properties: { + operationId: { type: 'string' }, + command: { type: 'string' }, + category: { type: 'string' }, + description: { type: 'string' }, + mutates: { type: 'boolean' }, + }, + }, + }, + }, + }, + }, + describeCommand: { + category: 'introspection', + description: 'Show detailed metadata for a single CLI operation.', + requiresDocumentContext: false, + tokenOverride: ['describe', 'command'], + intentName: 'describe_command', + sdkMetadata: { mutates: false, idempotency: 'idempotent', supportsTrackedMode: false, supportsDryRun: false }, + outputSchema: { + type: 'object', + properties: { + operationId: { type: 'string' }, + command: { type: 'string' }, + category: { type: 'string' }, + description: { type: 'string' }, + mutates: { type: 'boolean' }, + params: { type: 'array' }, + constraints: {}, + }, + }, + }, + 'session.list': { + category: 'session', + description: 'List all active editing sessions.', + requiresDocumentContext: false, + intentName: 'list_sessions', + sdkMetadata: { mutates: false, idempotency: 'idempotent', supportsTrackedMode: false, supportsDryRun: false }, + outputSchema: { + type: 'object', + properties: { + activeSessionId: { type: 'string' }, + sessions: { + type: 'array', + items: { + type: 'object', + properties: { + sessionId: { type: 'string' }, + sessionType: { type: 'string' }, + dirty: { type: 'boolean' }, + revision: { type: 'number' }, + }, + }, + }, + total: { type: 'number' }, + }, + }, + }, + 'session.save': { + category: 'session', + description: 'Persist the current session state.', + requiresDocumentContext: false, + intentName: 'save_session', + sdkMetadata: { mutates: true, idempotency: 'conditional', supportsTrackedMode: false, supportsDryRun: false }, + outputSchema: { + type: 'object', + properties: { + sessionId: { type: 'string' }, + contextId: { type: 'string' }, + saved: { type: 'boolean' }, + inPlace: { type: 'boolean' }, + document: { + type: 'object', + properties: { + path: { type: 'string' }, + source: { type: 'string' }, + revision: { type: 'number' }, + }, + }, + output: { + type: 'object', + properties: { + path: { type: 'string' }, + byteLength: { type: 'number' }, + }, + }, + }, + required: ['sessionId'], + }, + }, + 'session.close': { + category: 'session', + description: 'Close a specific editing session by ID.', + requiresDocumentContext: false, + intentName: 'close_session', + sdkMetadata: { mutates: false, idempotency: 'conditional', supportsTrackedMode: false, supportsDryRun: false }, + outputSchema: { + type: 'object', + properties: { + sessionId: { type: 'string' }, + contextId: { type: 'string' }, + closed: { type: 'boolean' }, + saved: { type: 'boolean' }, + discarded: { type: 'boolean' }, + defaultSessionCleared: { type: 'boolean' }, + wasDirty: { type: 'boolean' }, + document: { + type: 'object', + properties: { + path: { type: 'string' }, + source: { type: 'string' }, + revision: { type: 'number' }, + }, + }, + }, + required: ['sessionId'], + }, + }, + 'session.setDefault': { + category: 'session', + description: 'Set the default session for subsequent commands.', + requiresDocumentContext: false, + intentName: 'set_default_session', + sdkMetadata: { mutates: false, idempotency: 'conditional', supportsTrackedMode: false, supportsDryRun: false }, + outputSchema: { + type: 'object', + properties: { + activeSessionId: { type: 'string' }, + }, + required: ['activeSessionId'], + }, + }, +}; diff --git a/apps/cli/src/cli/operation-params.ts b/apps/cli/src/cli/operation-params.ts index 907d8812af..68ce3cd073 100644 --- a/apps/cli/src/cli/operation-params.ts +++ b/apps/cli/src/cli/operation-params.ts @@ -38,21 +38,29 @@ import { CLI_OPERATION_COMMAND_KEYS } from './commands'; const DOC_PARAM: CliOperationParamSpec = { name: 'doc', kind: 'doc', type: 'string' }; const SESSION_PARAM: CliOperationParamSpec = { name: 'sessionId', kind: 'flag', flag: 'session', type: 'string' }; -const OUT_PARAM: CliOperationParamSpec = { name: 'out', kind: 'flag', type: 'string' }; +const OUT_PARAM: CliOperationParamSpec = { name: 'out', kind: 'flag', type: 'string', agentVisible: false }; const FORCE_PARAM: CliOperationParamSpec = { name: 'force', kind: 'flag', type: 'boolean' }; -const DRY_RUN_PARAM: CliOperationParamSpec = { name: 'dryRun', kind: 'flag', flag: 'dry-run', type: 'boolean' }; +const DRY_RUN_PARAM: CliOperationParamSpec = { + name: 'dryRun', + kind: 'flag', + flag: 'dry-run', + type: 'boolean', + agentVisible: false, +}; const CHANGE_MODE_PARAM: CliOperationParamSpec = { name: 'changeMode', kind: 'flag', flag: 'change-mode', type: 'string', schema: { oneOf: [{ const: 'direct' }, { const: 'tracked' }] } as CliTypeSpec, + agentVisible: false, }; const EXPECTED_REVISION_PARAM: CliOperationParamSpec = { name: 'expectedRevision', kind: 'flag', flag: 'expected-revision', type: 'number', + agentVisible: false, }; // --------------------------------------------------------------------------- diff --git a/apps/cli/src/cli/operation-set.ts b/apps/cli/src/cli/operation-set.ts index 56e3e3b454..063733b5fc 100644 --- a/apps/cli/src/cli/operation-set.ts +++ b/apps/cli/src/cli/operation-set.ts @@ -18,6 +18,11 @@ import { type ReferenceGroupKey, } from '@superdoc/document-api'; +import { CLI_ONLY_OPERATION_DEFINITIONS } from './cli-only-operation-definitions'; + +export { CLI_ONLY_OPERATIONS, type CliCategory, type CliOnlyOperation } from './types'; +import { CLI_ONLY_OPERATIONS, type CliCategory, type CliOnlyOperation } from './types'; + // --------------------------------------------------------------------------- // Doc-backed operations (derived from document-api with denylist) // --------------------------------------------------------------------------- @@ -43,25 +48,6 @@ export const CLI_DOC_OPERATIONS: readonly CliExposedOperationId[] = OPERATION_ID (id): id is CliExposedOperationId => !denySet.has(id), ); -// --------------------------------------------------------------------------- -// CLI-only operations (not in document-api) -// --------------------------------------------------------------------------- - -export const CLI_ONLY_OPERATIONS = [ - 'open', - 'save', - 'close', - 'status', - 'describe', - 'describeCommand', - 'session.list', - 'session.save', - 'session.close', - 'session.setDefault', -] as const; - -export type CliOnlyOperation = (typeof CLI_ONLY_OPERATIONS)[number]; - // --------------------------------------------------------------------------- // CliOperationId — union of all CLI operation IDs // --------------------------------------------------------------------------- @@ -97,32 +83,6 @@ export function isDocBackedOperation(cliOpId: string): boolean { // Category derivation // --------------------------------------------------------------------------- -export type CliCategory = - | 'query' - | 'mutation' - | 'format' - | 'create' - | 'lists' - | 'comments' - | 'trackChanges' - | 'capabilities' - | 'lifecycle' - | 'session' - | 'introspection'; - -const CLI_ONLY_CATEGORIES: Record = { - open: 'lifecycle', - save: 'lifecycle', - close: 'lifecycle', - status: 'introspection', - describe: 'introspection', - describeCommand: 'introspection', - 'session.list': 'session', - 'session.save': 'session', - 'session.close': 'session', - 'session.setDefault': 'session', -}; - const REFERENCE_GROUP_BY_OP = new Map(); for (const group of REFERENCE_OPERATION_GROUPS) { for (const opId of group.operations) { @@ -146,45 +106,19 @@ export function cliCategory(cliOpId: CliOperationId): CliCategory { if (docApiId) return deriveCategoryFromDocApi(docApiId); const stripped = cliOpId.slice(4) as CliOnlyOperation; - return CLI_ONLY_CATEGORIES[stripped] ?? 'introspection'; + return CLI_ONLY_OPERATION_DEFINITIONS[stripped].category; } // --------------------------------------------------------------------------- // Description + requiresDocumentContext accessors // --------------------------------------------------------------------------- -const CLI_ONLY_DESCRIPTIONS: Record = { - open: 'Open a document and create a persistent editing session.', - save: 'Save the current session to the original file or a new path.', - close: 'Close the active editing session and clean up resources.', - status: 'Show the current session status and document metadata.', - describe: 'List all available CLI operations and contract metadata.', - describeCommand: 'Show detailed metadata for a single CLI operation.', - 'session.list': 'List all active editing sessions.', - 'session.save': 'Persist the current session state.', - 'session.close': 'Close a specific editing session by ID.', - 'session.setDefault': 'Set the default session for subsequent commands.', -}; - -const CLI_ONLY_REQUIRES_DOCUMENT: Record = { - open: false, - save: false, - close: false, - status: false, - describe: false, - describeCommand: false, - 'session.list': false, - 'session.save': false, - 'session.close': false, - 'session.setDefault': false, -}; - export function cliDescription(cliOpId: CliOperationId): string { const docApiId = toDocApiId(cliOpId); if (docApiId) return OPERATION_DESCRIPTION_MAP[docApiId]; const stripped = cliOpId.slice(4) as CliOnlyOperation; - return CLI_ONLY_DESCRIPTIONS[stripped] ?? ''; + return CLI_ONLY_OPERATION_DEFINITIONS[stripped].description; } export function cliRequiresDocumentContext(cliOpId: CliOperationId): boolean { @@ -192,7 +126,7 @@ export function cliRequiresDocumentContext(cliOpId: CliOperationId): boolean { if (docApiId) return OPERATION_REQUIRES_DOCUMENT_CONTEXT_MAP[docApiId]; const stripped = cliOpId.slice(4) as CliOnlyOperation; - return CLI_ONLY_REQUIRES_DOCUMENT[stripped] ?? false; + return CLI_ONLY_OPERATION_DEFINITIONS[stripped].requiresDocumentContext; } // --------------------------------------------------------------------------- @@ -210,14 +144,6 @@ function camelToKebab(str: string): string { return str.replace(/[A-Z]/g, (ch) => `-${ch.toLowerCase()}`); } -/** - * Explicit command token overrides for CLI-only operations whose - * algorithmic derivation doesn't match the expected CLI surface. - */ -const CLI_ONLY_TOKEN_OVERRIDES: Partial> = { - describeCommand: ['describe', 'command'], -}; - export function cliCommandTokens(cliOpId: CliOperationId): readonly string[] { const docApiId = toDocApiId(cliOpId); if (docApiId) { @@ -226,7 +152,7 @@ export function cliCommandTokens(cliOpId: CliOperationId): readonly string[] { } const stripped = cliOpId.slice(4) as CliOnlyOperation; - const override = CLI_ONLY_TOKEN_OVERRIDES[stripped]; + const override = CLI_ONLY_OPERATION_DEFINITIONS[stripped].tokenOverride; if (override) return override; return stripped.split('.').map(camelToKebab); diff --git a/apps/cli/src/cli/response-schemas.ts b/apps/cli/src/cli/response-schemas.ts index 778d30c479..92e4248b82 100644 --- a/apps/cli/src/cli/response-schemas.ts +++ b/apps/cli/src/cli/response-schemas.ts @@ -3,12 +3,13 @@ * * `validateOperationResponseData()` validates `CommandExecution["data"]`, * which for doc-backed ops IS the document-api output directly. - * For CLI-only ops, schemas are defined inline. + * For CLI-only ops, permissive JSON validation is derived from the canonical + * definitions object (precise schemas live in outputSchema for SDK use). */ -import { buildInternalContractSchemas, type OperationId } from '@superdoc/document-api'; +import { buildInternalContractSchemas } from '@superdoc/document-api'; import type { CliTypeSpec } from './types'; -import { toDocApiId, type CliOperationId } from './operation-set'; +import { CLI_ONLY_OPERATION_DEFINITIONS } from './cli-only-operation-definitions'; type JsonSchema = Record; @@ -62,19 +63,10 @@ function getDocResponseSchemas(): Map { return cachedDocSchemas; } -/** CLI-only operation response schemas (permissive — CLI-only ops have varied shapes). */ -const CLI_ONLY_RESPONSE_SCHEMAS: Record = { - 'doc.open': { type: 'json' }, - 'doc.save': { type: 'json' }, - 'doc.close': { type: 'json' }, - 'doc.status': { type: 'json' }, - 'doc.describe': { type: 'json' }, - 'doc.describeCommand': { type: 'json' }, - 'doc.session.list': { type: 'json' }, - 'doc.session.save': { type: 'json' }, - 'doc.session.close': { type: 'json' }, - 'doc.session.setDefault': { type: 'json' }, -}; +/** CLI-only operation response schemas (permissive — derived from canonical definitions). */ +const CLI_ONLY_RESPONSE_SCHEMAS: Record = Object.fromEntries( + Object.keys(CLI_ONLY_OPERATION_DEFINITIONS).map((op) => [`doc.${op}`, { type: 'json' } as CliTypeSpec]), +); /** * Returns the response validation schema for a CLI operation. diff --git a/apps/cli/src/cli/types.ts b/apps/cli/src/cli/types.ts index 0b880c4981..bc56cafd9e 100644 --- a/apps/cli/src/cli/types.ts +++ b/apps/cli/src/cli/types.ts @@ -38,6 +38,8 @@ export type CliOperationParamSpec = { type: 'string' | 'number' | 'boolean' | 'string[]' | 'json'; required?: boolean; schema?: CliTypeSpec; + /** When false, param is a transport-envelope detail hidden from agent tool schemas. */ + agentVisible?: boolean; }; // --------------------------------------------------------------------------- @@ -101,3 +103,36 @@ export type CliCommandSpec = { export type CliOperationArgsById = { [K: string]: Record; }; + +// --------------------------------------------------------------------------- +// CLI-only operation types (shared between operation-set and definitions) +// --------------------------------------------------------------------------- + +export type CliCategory = + | 'query' + | 'mutation' + | 'format' + | 'create' + | 'lists' + | 'comments' + | 'trackChanges' + | 'capabilities' + | 'lifecycle' + | 'session' + | 'introspection'; + +/** The 10 CLI-only operation identifiers (without `doc.` prefix). Single source of truth. */ +export const CLI_ONLY_OPERATIONS = [ + 'open', + 'save', + 'close', + 'status', + 'describe', + 'describeCommand', + 'session.list', + 'session.save', + 'session.close', + 'session.setDefault', +] as const; + +export type CliOnlyOperation = (typeof CLI_ONLY_OPERATIONS)[number]; diff --git a/package.json b/package.json index e5ee41f1f9..99cb31ad1d 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,11 @@ "test:cli": "pnpm --prefix apps/cli run test", "cli:prepare": "pnpm run test:cli && pnpm --prefix apps/cli run build:prepublish", "cli:release": "pnpm run cli:prepare && pnpm --prefix apps/cli run publish:platforms", - "cli:release:dry": "pnpm run cli:prepare && pnpm --prefix apps/cli run publish:platforms:dry" + "cli:release:dry": "pnpm run cli:prepare && pnpm --prefix apps/cli run publish:platforms:dry", + "cli:export-sdk-contract": "bun apps/cli/scripts/export-sdk-contract.ts", + "sdk:sync-version": "node packages/sdk/scripts/sync-sdk-version.mjs", + "sdk:release": "node packages/sdk/scripts/sdk-release.mjs", + "sdk:release:dry": "node packages/sdk/scripts/sdk-release.mjs --dry-run" }, "devDependencies": { "@commitlint/cli": "catalog:", diff --git a/packages/sdk/codegen/package.json b/packages/sdk/codegen/package.json new file mode 100644 index 0000000000..fbeafb28af --- /dev/null +++ b/packages/sdk/codegen/package.json @@ -0,0 +1,10 @@ +{ + "name": "@superdoc-dev/sdk-codegen", + "version": "0.0.1", + "private": true, + "type": "module", + "scripts": { + "generate": "node ./src/generate-all.mjs", + "test": "bun test" + } +} diff --git a/packages/sdk/codegen/src/__tests__/contract-integrity.test.ts b/packages/sdk/codegen/src/__tests__/contract-integrity.test.ts new file mode 100644 index 0000000000..d97474cd6e --- /dev/null +++ b/packages/sdk/codegen/src/__tests__/contract-integrity.test.ts @@ -0,0 +1,363 @@ +import { describe, expect, test } from 'bun:test'; +import { readFile } from 'node:fs/promises'; +import path from 'node:path'; + +const REPO_ROOT = path.resolve(import.meta.dir, '../../../../../'); +const CONTRACT_PATH = path.join(REPO_ROOT, 'apps/cli/generated/sdk-contract.json'); +const CATALOG_PATH = path.join(REPO_ROOT, 'packages/sdk/tools/catalog.json'); +const NAME_MAP_PATH = path.join(REPO_ROOT, 'packages/sdk/tools/tool-name-map.json'); + +async function loadJson(filePath: string): Promise { + return JSON.parse(await readFile(filePath, 'utf8')) as T; +} + +type Contract = { + contractVersion: string; + sourceHash: string; + cli: { package: string; minVersion: string }; + protocol: { version: string; transport: string; features: string[] }; + operations: Record< + string, + { + operationId: string; + command: string; + commandTokens: string[]; + category: string; + description: string; + params: Array<{ + name: string; + kind: string; + flag?: string; + type: string; + required?: boolean; + agentVisible?: boolean; + }>; + mutates: boolean; + intentName: string | null; + outputSchema: Record; + inputSchema?: Record; + successSchema?: Record; + failureSchema?: Record; + } + >; +}; + +type Catalog = { + contractVersion: string; + toolCount: number; + profiles: { + intent: { tools: Array<{ operationId: string; toolName: string }> }; + operation: { tools: Array<{ operationId: string; toolName: string }> }; + }; +}; + +describe('Contract integrity', () => { + let contract: Contract; + + test('loads and has required top-level fields', async () => { + contract = await loadJson(CONTRACT_PATH); + expect(contract.contractVersion).toBeTruthy(); + expect(contract.sourceHash).toBeTruthy(); + expect(contract.cli.package).toBe('@superdoc-dev/cli'); + expect(contract.protocol.version).toBe('1.0'); + expect(contract.protocol.features).toContain('cli.invoke'); + }); + + test('all operations have required fields', async () => { + contract = await loadJson(CONTRACT_PATH); + for (const [id, op] of Object.entries(contract.operations)) { + expect(op.operationId).toBe(id); + expect(op.commandTokens.length).toBeGreaterThan(0); + expect(op.category).toBeTruthy(); + expect(op.description).toBeTruthy(); + expect(op.outputSchema).toBeTruthy(); + expect(Array.isArray(op.params)).toBe(true); + expect(typeof op.mutates).toBe('boolean'); + } + }); + + test('all operations start with doc.', async () => { + contract = await loadJson(CONTRACT_PATH); + for (const id of Object.keys(contract.operations)) { + expect(id.startsWith('doc.')).toBe(true); + } + }); + + test('mutations have successSchema and failureSchema', async () => { + contract = await loadJson(CONTRACT_PATH); + for (const [id, op] of Object.entries(contract.operations)) { + if (op.mutates && op.inputSchema) { + // Doc-backed mutations should have success/failure schemas + expect(op.successSchema).toBeTruthy(); + expect(op.failureSchema).toBeTruthy(); + } + } + }); + + test('doc-backed operations have inputSchema', async () => { + contract = await loadJson(CONTRACT_PATH); + const CLI_ONLY = new Set([ + 'doc.open', + 'doc.save', + 'doc.close', + 'doc.status', + 'doc.describe', + 'doc.describeCommand', + 'doc.session.list', + 'doc.session.save', + 'doc.session.close', + 'doc.session.setDefault', + ]); + for (const [id, op] of Object.entries(contract.operations)) { + if (!CLI_ONLY.has(id)) { + expect(op.inputSchema).toBeTruthy(); + } + } + }); + + test('param specs have valid shapes', async () => { + contract = await loadJson(CONTRACT_PATH); + const validKinds = new Set(['doc', 'flag', 'jsonFlag']); + const validTypes = new Set(['string', 'number', 'boolean', 'json', 'string[]']); + + for (const [id, op] of Object.entries(contract.operations)) { + for (const param of op.params) { + expect(validKinds.has(param.kind)).toBe(true); + expect(validTypes.has(param.type)).toBe(true); + if (param.kind === 'doc') { + expect(param.type).toBe('string'); + } + if (param.kind === 'flag' || param.kind === 'jsonFlag') { + expect(param.flag ?? param.name).toBeTruthy(); + } + } + } + }); +}); + +describe('Tool catalog integrity', () => { + test('tool counts match contract operation count', async () => { + const contract = await loadJson(CONTRACT_PATH); + const catalog = await loadJson(CATALOG_PATH); + const opCount = Object.keys(contract.operations).length; + + expect(catalog.profiles.intent.tools.length).toBe(opCount); + expect(catalog.profiles.operation.tools.length).toBe(opCount); + expect(catalog.toolCount).toBe(opCount * 2); + }); + + test('tool name map covers all operations', async () => { + const contract = await loadJson(CONTRACT_PATH); + const nameMap = await loadJson>(NAME_MAP_PATH); + const contractOps = new Set(Object.keys(contract.operations)); + const mappedOps = new Set(Object.values(nameMap)); + + for (const opId of contractOps) { + expect(mappedOps.has(opId)).toBe(true); + } + }); + + test('all catalog entries have required fields', async () => { + const catalog = await loadJson(CATALOG_PATH); + + for (const profile of ['intent', 'operation'] as const) { + for (const tool of catalog.profiles[profile].tools) { + expect(tool.operationId).toBeTruthy(); + expect(tool.toolName).toBeTruthy(); + } + } + }); + + test('provider bundles have correct structure', async () => { + const contract = await loadJson(CONTRACT_PATH); + const opCount = Object.keys(contract.operations).length; + const providers = ['openai', 'anthropic', 'vercel', 'generic']; + + for (const provider of providers) { + const bundle = await loadJson<{ profiles: Record }>( + path.join(REPO_ROOT, `packages/sdk/tools/tools.${provider}.json`), + ); + expect(Array.isArray(bundle.profiles.intent)).toBe(true); + expect(Array.isArray(bundle.profiles.operation)).toBe(true); + expect(bundle.profiles.intent.length).toBe(opCount); + expect(bundle.profiles.operation.length).toBe(opCount); + } + }); + + test('OpenAI tools have required function shape', async () => { + const bundle = await loadJson<{ profiles: { intent: Array> } }>( + path.join(REPO_ROOT, 'packages/sdk/tools/tools.openai.json'), + ); + + for (const tool of bundle.profiles.intent) { + expect(tool.type).toBe('function'); + const fn = tool.function as Record; + expect(typeof fn.name).toBe('string'); + expect(typeof fn.description).toBe('string'); + expect(typeof fn.parameters).toBe('object'); + } + }); + + test('Anthropic tools have required shape', async () => { + const bundle = await loadJson<{ profiles: { intent: Array> } }>( + path.join(REPO_ROOT, 'packages/sdk/tools/tools.anthropic.json'), + ); + + for (const tool of bundle.profiles.intent) { + expect(typeof tool.name).toBe('string'); + expect(typeof tool.description).toBe('string'); + expect(typeof tool.input_schema).toBe('object'); + } + }); +}); + +const POLICY_PATH = path.join(REPO_ROOT, 'packages/sdk/tools/tools-policy.json'); + +type ToolsPolicy = { + policyVersion: string; + contractHash: string; + phases: Record; + defaults: { + maxToolsByProfile: Record; + minReadTools: number; + foundationalOperationIds: string[]; + chooserDecisionVersion: string; + }; + capabilityFeatures: Record; +}; + +describe('Tools policy integrity', () => { + test('loads and has required structure', async () => { + const policy = await loadJson(POLICY_PATH); + expect(policy.policyVersion).toBeTruthy(); + expect(policy.contractHash).toBeTruthy(); + expect(typeof policy.phases).toBe('object'); + expect(typeof policy.defaults).toBe('object'); + expect(typeof policy.capabilityFeatures).toBe('object'); + }); + + test('all 4 phase keys present with correct shape', async () => { + const policy = await loadJson(POLICY_PATH); + for (const phase of ['read', 'locate', 'mutate', 'review']) { + expect(policy.phases[phase]).toBeDefined(); + expect(Array.isArray(policy.phases[phase].include)).toBe(true); + expect(Array.isArray(policy.phases[phase].exclude)).toBe(true); + expect(Array.isArray(policy.phases[phase].priority)).toBe(true); + } + }); + + test('phase categories exist in catalog entries', async () => { + const policy = await loadJson(POLICY_PATH); + const catalog = await loadJson(CATALOG_PATH); + const catalogCategories = new Set(catalog.profiles.intent.tools.map((t) => (t as Record).category)); + + for (const phaseRule of Object.values(policy.phases)) { + for (const category of [...phaseRule.include, ...phaseRule.exclude]) { + expect(catalogCategories.has(category)).toBe(true); + } + } + }); + + test('foundational operation IDs exist in contract', async () => { + const policy = await loadJson(POLICY_PATH); + const contract = await loadJson(CONTRACT_PATH); + for (const opId of policy.defaults.foundationalOperationIds) { + expect(contract.operations[opId]).toBeDefined(); + } + }); + + test('contractHash matches contract sourceHash', async () => { + const policy = await loadJson(POLICY_PATH); + const contract = await loadJson(CONTRACT_PATH); + expect(policy.contractHash).toBe(contract.sourceHash); + }); + + test('capabilityFeatures consistent with catalog entries', async () => { + const policy = await loadJson(POLICY_PATH); + const catalog = await loadJson(CATALOG_PATH); + + for (const [category, expectedFeatures] of Object.entries(policy.capabilityFeatures)) { + const categoryTools = catalog.profiles.intent.tools.filter( + (t) => (t as Record).category === category, + ); + for (const tool of categoryTools) { + expect((tool as Record).requiredCapabilities).toEqual(expectedFeatures); + } + } + }); +}); + +describe('Intent name integrity', () => { + test('all operations have intentName in contract', async () => { + const contract = await loadJson(CONTRACT_PATH); + for (const [id, op] of Object.entries(contract.operations)) { + expect(op.intentName).toBeTruthy(); + } + }); + + test('contract intentNames match catalog intent profile toolNames', async () => { + const contract = await loadJson(CONTRACT_PATH); + const catalog = await loadJson(CATALOG_PATH); + + const catalogIntentNames = new Map(catalog.profiles.intent.tools.map((t) => [t.operationId, t.toolName])); + + for (const [id, op] of Object.entries(contract.operations)) { + const catalogName = catalogIntentNames.get(id); + expect(catalogName).toBe(op.intentName); + } + }); + + test('all intentNames are unique and match snake_case naming policy', async () => { + const contract = await loadJson(CONTRACT_PATH); + const seen = new Set(); + for (const [id, op] of Object.entries(contract.operations)) { + expect(op.intentName).toMatch(/^[a-z][a-z0-9_]*$/); + expect(seen.has(op.intentName!)).toBe(false); + seen.add(op.intentName!); + } + }); +}); + +describe('agentVisible param annotation integrity', () => { + const EXPECTED_HIDDEN = new Set(['out', 'expectedRevision', 'changeMode', 'dryRun']); + + test('expected transport-envelope params are agentVisible: false', async () => { + const contract = await loadJson(CONTRACT_PATH); + for (const [, op] of Object.entries(contract.operations)) { + for (const param of op.params) { + if (EXPECTED_HIDDEN.has(param.name)) { + expect(param.agentVisible).toBe(false); + } + } + } + }); + + test('agentVisible: false params are excluded from catalog inputSchema', async () => { + const contract = await loadJson(CONTRACT_PATH); + const catalog = await loadJson(CATALOG_PATH); + + for (const tool of catalog.profiles.intent.tools) { + const entry = tool as Record; + const inputSchema = entry.inputSchema as { properties?: Record } | undefined; + if (!inputSchema?.properties) continue; + const op = contract.operations[entry.operationId as string]; + if (!op) continue; + + const hiddenParams = op.params.filter((p) => p.agentVisible === false).map((p) => p.name); + for (const hidden of hiddenParams) { + expect(inputSchema.properties[hidden]).toBeUndefined(); + } + } + }); + + test('no unexpected params are marked agentVisible: false', async () => { + const contract = await loadJson(CONTRACT_PATH); + for (const [, op] of Object.entries(contract.operations)) { + for (const param of op.params) { + if (param.agentVisible === false) { + expect(EXPECTED_HIDDEN.has(param.name)).toBe(true); + } + } + } + }); +}); diff --git a/packages/sdk/codegen/src/__tests__/cross-lang-parity.test.ts b/packages/sdk/codegen/src/__tests__/cross-lang-parity.test.ts new file mode 100644 index 0000000000..c404efca91 --- /dev/null +++ b/packages/sdk/codegen/src/__tests__/cross-lang-parity.test.ts @@ -0,0 +1,482 @@ +import { describe, expect, test } from 'bun:test'; +import { spawn } from 'node:child_process'; +import { readFileSync } from 'node:fs'; +import path from 'node:path'; + +const REPO_ROOT = path.resolve(import.meta.dir, '../../../../../'); +const PYTHON_SDK = path.join(REPO_ROOT, 'packages/sdk/langs/python'); + +// -------------------------------------------------------------------------- +// Helpers +// -------------------------------------------------------------------------- + +type SelectionEntry = { operationId: string; toolName: string; category: string; mutates: boolean; profile: string }; +type ChooseResult = { + selected: SelectionEntry[]; + excluded: Array<{ toolName: string; reason: string }>; + selectionMeta: Record; +}; + +/** Call the Python parity helper with a JSON command and parse the result. */ +function callPython(command: Record): Promise { + return new Promise((resolve, reject) => { + const proc = spawn('python3', ['-m', 'superdoc.test_parity_helper'], { + cwd: PYTHON_SDK, + stdio: ['pipe', 'pipe', 'pipe'], + }); + + let stdout = ''; + let stderr = ''; + proc.stdout.on('data', (chunk) => { + stdout += chunk; + }); + proc.stderr.on('data', (chunk) => { + stderr += chunk; + }); + + proc.on('close', (code) => { + if (code !== 0) { + reject(new Error(`Python helper exited ${code}: ${stderr}`)); + return; + } + try { + const result = JSON.parse(stdout.trim()); + if (!result.ok) { + reject(new Error(`Python helper error:\n${result.error}`)); + return; + } + resolve(result.result); + } catch (error) { + reject(new Error(`Failed to parse Python output: ${stdout}\nstderr: ${stderr}`)); + } + }); + + proc.stdin.write(JSON.stringify(command)); + proc.stdin.end(); + }); +} + +/** Import Node SDK chooseTools (cached). */ +let _nodeTools: typeof import('../../../langs/node/src/tools.js') | null = null; +async function nodeTools() { + if (!_nodeTools) { + _nodeTools = await import(path.join(REPO_ROOT, 'packages/sdk/langs/node/src/tools.ts')); + } + return _nodeTools; +} + +// -------------------------------------------------------------------------- +// Phase 1 — Minimal parity tests (3 test cases for 3 bug fixes) +// -------------------------------------------------------------------------- + +describe('Cross-language parity (Phase 1)', () => { + test('chooseTools: foundational seeding includes both foundational ops', async () => { + const input = { + provider: 'generic' as const, + profile: 'intent' as const, + taskContext: { phase: 'read' as const }, + budget: { minReadTools: 2 }, + }; + + const { chooseTools } = await nodeTools(); + const nodeResult = await chooseTools(input); + const nodeIds = nodeResult.selected.map((s: { operationId: string }) => s.operationId); + + const pyResult = (await callPython({ action: 'chooseTools', input })) as ChooseResult; + const pyIds = pyResult.selected.map((s) => s.operationId); + + expect(nodeIds).toContain('doc.info'); + expect(nodeIds).toContain('doc.find'); + expect(pyIds).toContain('doc.info'); + expect(pyIds).toContain('doc.find'); + expect(pyIds).toEqual(nodeIds); + }); + + test('constraint validation: mutuallyExclusive rejects in both runtimes', async () => { + const args = { type: 'paragraph', query: 'test' }; + + const { dispatchSuperDocTool } = await nodeTools(); + let nodeError: { code?: string } | null = null; + try { + await dispatchSuperDocTool({ doc: {} }, 'find_content', args); + } catch (error: unknown) { + nodeError = error as { code?: string }; + } + + const pyResult = (await callPython({ + action: 'validateDispatchArgs', + operationId: 'doc.find', + args, + })) as { rejected?: boolean; code?: string }; + + expect(nodeError).not.toBeNull(); + expect(nodeError!.code).toBe('INVALID_ARGUMENT'); + expect(pyResult.rejected).toBe(true); + expect(pyResult.code).toBe('INVALID_ARGUMENT'); + }); + + test('type mismatches pass through to CLI: both runtimes accept true for a number param', async () => { + const args = { query: 'test', limit: true }; + + const pyResult = await callPython({ + action: 'validateDispatchArgs', + operationId: 'doc.find', + args, + }); + + expect(pyResult).toBe('passed'); + }); +}); + +// -------------------------------------------------------------------------- +// Phase 6 — Expanded golden tests +// -------------------------------------------------------------------------- + +describe('chooseTools parity — phases and profiles', () => { + const phases = ['read', 'locate', 'mutate', 'review'] as const; + const profiles = ['intent', 'operation'] as const; + + for (const phase of phases) { + for (const profile of profiles) { + test(`${phase}/${profile}: identical selected operationIds`, async () => { + const input = { provider: 'generic' as const, profile, taskContext: { phase } }; + + const { chooseTools } = await nodeTools(); + const nodeResult = await chooseTools(input); + const nodeIds = nodeResult.selected.map((s: SelectionEntry) => s.operationId); + + const pyResult = (await callPython({ action: 'chooseTools', input })) as ChooseResult; + const pyIds = pyResult.selected.map((s) => s.operationId); + + expect(pyIds).toEqual(nodeIds); + }); + } + } +}); + +describe('chooseTools parity — budget constraints', () => { + test('maxTools=5, minReadTools=3: same selections', async () => { + const input = { + provider: 'generic' as const, + profile: 'intent' as const, + taskContext: { phase: 'read' as const }, + budget: { maxTools: 5, minReadTools: 3 }, + }; + + const { chooseTools } = await nodeTools(); + const nodeResult = await chooseTools(input); + const nodeIds = nodeResult.selected.map((s: SelectionEntry) => s.operationId); + + const pyResult = (await callPython({ action: 'chooseTools', input })) as ChooseResult; + const pyIds = pyResult.selected.map((s) => s.operationId); + + expect(pyIds).toEqual(nodeIds); + expect(nodeIds.length).toBeLessThanOrEqual(5); + }); + + test('maxTools=1: only 1 tool selected', async () => { + const input = { + provider: 'generic' as const, + profile: 'intent' as const, + taskContext: { phase: 'mutate' as const }, + budget: { maxTools: 1, minReadTools: 0 }, + }; + + const { chooseTools } = await nodeTools(); + const nodeResult = await chooseTools(input); + const pyResult = (await callPython({ action: 'chooseTools', input })) as ChooseResult; + + expect(nodeResult.selected.length).toBe(1); + expect(pyResult.selected.length).toBe(1); + expect(pyResult.selected[0].operationId).toBe(nodeResult.selected[0].operationId); + }); +}); + +describe('chooseTools parity — policy overrides', () => { + test('forceExclude removes tool from both runtimes', async () => { + const input = { + provider: 'generic' as const, + profile: 'intent' as const, + taskContext: { phase: 'read' as const }, + policy: { forceExclude: ['get_document_info'] }, + }; + + const { chooseTools } = await nodeTools(); + const nodeResult = await chooseTools(input); + const nodeIds = nodeResult.selected.map((s: SelectionEntry) => s.operationId); + + const pyResult = (await callPython({ action: 'chooseTools', input })) as ChooseResult; + const pyIds = pyResult.selected.map((s) => s.operationId); + + expect(nodeIds).not.toContain('doc.info'); + expect(pyIds).not.toContain('doc.info'); + expect(pyIds).toEqual(nodeIds); + }); + + test('forceInclude adds tool in both runtimes', async () => { + const input = { + provider: 'generic' as const, + profile: 'intent' as const, + taskContext: { phase: 'read' as const }, + policy: { forceInclude: ['insert_content'] }, + }; + + const { chooseTools } = await nodeTools(); + const nodeResult = await chooseTools(input); + const nodeIds = nodeResult.selected.map((s: SelectionEntry) => s.operationId); + + const pyResult = (await callPython({ action: 'chooseTools', input })) as ChooseResult; + const pyIds = pyResult.selected.map((s) => s.operationId); + + // insert_content is normally excluded in read phase (it's a mutation). + // forceInclude should still add it. + expect(nodeIds).toContain('doc.insert'); + expect(pyIds).toContain('doc.insert'); + expect(pyIds).toEqual(nodeIds); + }); +}); + +describe('chooseTools parity — capability filtering', () => { + test('hasComments=false excludes comment tools in both runtimes', async () => { + const input = { + provider: 'generic' as const, + profile: 'intent' as const, + taskContext: { phase: 'mutate' as const }, + documentFeatures: { + hasTables: false, + hasLists: false, + hasComments: false, + hasTrackedChanges: false, + isEmptyDocument: false, + }, + }; + + const { chooseTools } = await nodeTools(); + const nodeResult = await chooseTools(input); + const nodeIds = nodeResult.selected.map((s: SelectionEntry) => s.operationId); + + const pyResult = (await callPython({ action: 'chooseTools', input })) as ChooseResult; + const pyIds = pyResult.selected.map((s) => s.operationId); + + // No comment operations should be selected + const commentOps = nodeIds.filter((id: string) => id.startsWith('doc.comments.')); + expect(commentOps.length).toBe(0); + expect(pyIds).toEqual(nodeIds); + }); + + test('selectionMeta matches between runtimes', async () => { + const input = { + provider: 'generic' as const, + profile: 'operation' as const, + taskContext: { phase: 'locate' as const }, + budget: { maxTools: 8 }, + }; + + const { chooseTools } = await nodeTools(); + const nodeResult = await chooseTools(input); + + const pyResult = (await callPython({ action: 'chooseTools', input })) as ChooseResult; + + expect(pyResult.selectionMeta).toEqual(nodeResult.selectionMeta); + }); +}); + +describe('inferDocumentFeatures parity', () => { + test('standard doc.info response', async () => { + const infoResult = { + counts: { words: 500, paragraphs: 12, tables: 2, comments: 3, lists: 5, trackedChanges: 1 }, + }; + + const { inferDocumentFeatures } = await nodeTools(); + const nodeFeatures = inferDocumentFeatures(infoResult); + + const pyFeatures = await callPython({ action: 'inferDocumentFeatures', infoResult }); + + expect(pyFeatures).toEqual(nodeFeatures); + expect(nodeFeatures.hasTables).toBe(true); + expect(nodeFeatures.hasComments).toBe(true); + expect(nodeFeatures.hasLists).toBe(true); + expect(nodeFeatures.hasTrackedChanges).toBe(true); + expect(nodeFeatures.isEmptyDocument).toBe(false); + }); + + test('empty document', async () => { + const infoResult = { + counts: { words: 0, paragraphs: 1, tables: 0, comments: 0, lists: 0, trackedChanges: 0 }, + }; + + const { inferDocumentFeatures } = await nodeTools(); + const nodeFeatures = inferDocumentFeatures(infoResult); + + const pyFeatures = await callPython({ action: 'inferDocumentFeatures', infoResult }); + + expect(pyFeatures).toEqual(nodeFeatures); + expect(nodeFeatures.isEmptyDocument).toBe(true); + expect(nodeFeatures.hasTables).toBe(false); + }); + + test('missing counts keys', async () => { + const infoResult = { counts: {} }; + + const { inferDocumentFeatures } = await nodeTools(); + const nodeFeatures = inferDocumentFeatures(infoResult); + + const pyFeatures = await callPython({ action: 'inferDocumentFeatures', infoResult }); + + expect(pyFeatures).toEqual(nodeFeatures); + }); + + test('null info result', async () => { + const { inferDocumentFeatures } = await nodeTools(); + const nodeFeatures = inferDocumentFeatures(null); + + const pyFeatures = await callPython({ action: 'inferDocumentFeatures', infoResult: null }); + + expect(pyFeatures).toEqual(nodeFeatures); + }); +}); + +describe('Tool name resolution parity', () => { + test('all tool names in name map resolve identically', async () => { + const nameMap = JSON.parse( + readFileSync(path.join(REPO_ROOT, 'packages/sdk/tools/tool-name-map.json'), 'utf8'), + ) as Record; + + const { resolveToolOperation } = await nodeTools(); + + // Test a representative sample (first 10 entries) + const entries = Object.entries(nameMap).slice(0, 10); + for (const [toolName, expectedOpId] of entries) { + const nodeResult = await resolveToolOperation(toolName); + + const pyResult = await callPython({ action: 'resolveToolOperation', toolName }); + + expect(nodeResult).toBe(expectedOpId); + expect(pyResult).toBe(expectedOpId); + } + }); + + test('unknown tool name returns null in both runtimes', async () => { + const { resolveToolOperation } = await nodeTools(); + const nodeResult = await resolveToolOperation('nonexistent_tool_xyz'); + + const pyResult = await callPython({ action: 'resolveToolOperation', toolName: 'nonexistent_tool_xyz' }); + + expect(nodeResult).toBeNull(); + expect(pyResult).toBeNull(); + }); +}); + +describe('Constraint validation parity', () => { + test('requiresOneOf: missing required group rejects in both runtimes', async () => { + // doc.find has requiresOneOf: [["type", "query"]] — must provide at least one + const args = { limit: 10 }; + + const { dispatchSuperDocTool } = await nodeTools(); + let nodeError: { code?: string } | null = null; + try { + await dispatchSuperDocTool({ doc: {} }, 'find_content', args); + } catch (error: unknown) { + nodeError = error as { code?: string }; + } + + const pyResult = (await callPython({ + action: 'validateDispatchArgs', + operationId: 'doc.find', + args, + })) as { rejected?: boolean; code?: string }; + + expect(nodeError).not.toBeNull(); + expect(nodeError!.code).toBe('INVALID_ARGUMENT'); + expect(pyResult.rejected).toBe(true); + expect(pyResult.code).toBe('INVALID_ARGUMENT'); + }); + + test('unknown param rejected in both runtimes', async () => { + const args = { unknownParam: 'value' }; + + const { dispatchSuperDocTool } = await nodeTools(); + let nodeError: { code?: string } | null = null; + try { + await dispatchSuperDocTool({ doc: {} }, 'get_document_info', args); + } catch (error: unknown) { + nodeError = error as { code?: string }; + } + + const pyResult = (await callPython({ + action: 'validateDispatchArgs', + operationId: 'doc.info', + args, + })) as { rejected?: boolean; code?: string }; + + expect(nodeError).not.toBeNull(); + expect(nodeError!.code).toBe('INVALID_ARGUMENT'); + expect(pyResult.rejected).toBe(true); + expect(pyResult.code).toBe('INVALID_ARGUMENT'); + }); + + test('valid args pass in both runtimes', async () => { + // doc.find with just query (satisfies requiresOneOf) + const args = { query: 'test' }; + + const pyResult = await callPython({ + action: 'validateDispatchArgs', + operationId: 'doc.find', + args, + }); + + // When validation passes, helper returns 'passed' + expect(pyResult).toBe('passed'); + }); +}); + +// -------------------------------------------------------------------------- +// Python session targeting and collab guard +// -------------------------------------------------------------------------- + +describe('Python session targeting and collab guard', () => { + test('doc.session.setDefault is session-bound (derives sessionId)', async () => { + const result = await callPython({ + action: 'isSessionBound', + operationId: 'doc.session.setDefault', + }); + expect(result).toBe(true); + }); + + test('doc.open is NOT session-bound', async () => { + const result = await callPython({ + action: 'isSessionBound', + operationId: 'doc.open', + }); + expect(result).toBe(false); + }); + + test('all doc-backed session ops are session-bound', async () => { + const sessionOps = [ + 'doc.status', + 'doc.save', + 'doc.close', + 'doc.info', + 'doc.find', + 'doc.session.save', + 'doc.session.close', + 'doc.session.setDefault', + ]; + for (const opId of sessionOps) { + const result = await callPython({ + action: 'isSessionBound', + operationId: opId, + }); + expect(result).toBe(true); + } + }); + + test('collab session rejected for session-bound op', async () => { + const result = (await callPython({ + action: 'assertCollabRejection', + operationId: 'doc.session.setDefault', + sessionId: 'test-collab-session', + })) as { rejected: boolean; code?: string }; + expect(result).toEqual({ rejected: true, code: 'NOT_SUPPORTED' }); + }); +}); diff --git a/packages/sdk/codegen/src/generate-all.mjs b/packages/sdk/codegen/src/generate-all.mjs new file mode 100644 index 0000000000..9d4c0e7436 --- /dev/null +++ b/packages/sdk/codegen/src/generate-all.mjs @@ -0,0 +1,55 @@ +import path from 'node:path'; +import { mkdir, writeFile } from 'node:fs/promises'; +import { loadContract, REPO_ROOT, writeGeneratedFile } from './shared.mjs'; +import { generateNodeSdk } from './generate-node.mjs'; +import { generatePythonSdk } from './generate-python.mjs'; +import { generateToolCatalogs } from './generate-tool-catalogs.mjs'; + +/** + * When SDK_CODEGEN_OUTPUT_ROOT is set (for --check mode), redirect outputs + * to subdirectories under that root instead of the real repo paths. + */ +const outputRoot = process.env.SDK_CODEGEN_OUTPUT_ROOT; + +function redirectedWriteGeneratedFile(filePath, content) { + const relToRepo = path.relative(REPO_ROOT, filePath); + let destPath; + + if (relToRepo.startsWith(path.join('packages', 'sdk', 'langs', 'node', 'src', 'generated'))) { + const relPart = path.relative(path.join(REPO_ROOT, 'packages/sdk/langs/node/src/generated'), filePath); + destPath = path.join(outputRoot, 'node-generated', relPart); + } else if (relToRepo.startsWith(path.join('packages', 'sdk', 'langs', 'python', 'superdoc', 'generated'))) { + const relPart = path.relative(path.join(REPO_ROOT, 'packages/sdk/langs/python/superdoc/generated'), filePath); + destPath = path.join(outputRoot, 'python-generated', relPart); + } else if (relToRepo.startsWith(path.join('packages', 'sdk', 'tools'))) { + const relPart = path.relative(path.join(REPO_ROOT, 'packages/sdk/tools'), filePath); + destPath = path.join(outputRoot, 'tools', relPart); + } else { + destPath = path.join(outputRoot, 'other', path.basename(filePath)); + } + + return mkdir(path.dirname(destPath), { recursive: true }) + .then(() => writeFile(destPath, content, 'utf8')); +} + +async function main() { + const contract = await loadContract(); + + // Set global redirect function for --check mode (shared.mjs reads this) + if (outputRoot) { + globalThis.__SDK_CODEGEN_WRITE_FN = redirectedWriteGeneratedFile; + } + + await Promise.all([ + generateNodeSdk(contract), + generatePythonSdk(contract), + generateToolCatalogs(contract), + ]); + + console.log('Generated Node + Python SDKs + tool catalogs from contract.'); +} + +main().catch((error) => { + console.error(error); + process.exitCode = 1; +}); diff --git a/packages/sdk/codegen/src/generate-node.mjs b/packages/sdk/codegen/src/generate-node.mjs new file mode 100644 index 0000000000..9dd1704f84 --- /dev/null +++ b/packages/sdk/codegen/src/generate-node.mjs @@ -0,0 +1,213 @@ +import path from 'node:path'; +import { + camelCase, + createOperationTree, + loadContract, + pascalCase, + REPO_ROOT, + sanitizeOperationId, + toNodeType, + writeGeneratedFile, +} from './shared.mjs'; + +const NODE_GENERATED_DIR = path.join(REPO_ROOT, 'packages/sdk/langs/node/src/generated'); + +// --------------------------------------------------------------------------- +// contract.ts — embedded contract JSON +// --------------------------------------------------------------------------- + +function generateContractTs(contract) { + const contractForEmbed = { + contractVersion: contract.contractVersion, + cli: contract.cli, + protocol: contract.protocol, + operations: contract.operations, + }; + + return [ + '/* eslint-disable */', + '// Auto-generated by packages/sdk/codegen/src/generate-node.mjs', + '', + `export const CONTRACT = ${JSON.stringify(contractForEmbed, null, 2)} as const;`, + '', + 'export type Contract = typeof CONTRACT;', + `export type OperationEntry = Contract['operations'][keyof Contract['operations']];`, + '', + ].join('\n'); +} + +// --------------------------------------------------------------------------- +// Type generation utilities +// --------------------------------------------------------------------------- + +function toTsType(typeSpec, indent = '') { + if (!typeSpec) return 'unknown'; + + if (Object.prototype.hasOwnProperty.call(typeSpec, 'const')) { + return JSON.stringify(typeSpec.const); + } + + if (Array.isArray(typeSpec.oneOf)) { + const variants = typeSpec.oneOf.map((v) => toTsType(v, indent)); + return variants.map((v) => (v.includes('\n') ? `(${v})` : v)).join(' | '); + } + + if (typeSpec.enum && Array.isArray(typeSpec.enum)) { + return typeSpec.enum.map((v) => JSON.stringify(v)).join(' | '); + } + + switch (typeSpec.type) { + case 'string': + return 'string'; + case 'number': + case 'integer': + return 'number'; + case 'boolean': + return 'boolean'; + case 'null': + return 'null'; + case 'array': + return `Array<${toTsType(typeSpec.items, indent)}>`; + case 'object': { + const required = new Set(typeSpec.required ?? []); + const props = Object.entries(typeSpec.properties ?? {}); + if (props.length === 0) return 'Record'; + const lines = ['{']; + for (const [name, propSpec] of props) { + const opt = required.has(name) ? '' : '?'; + lines.push(`${indent} ${name}${opt}: ${toTsType(propSpec, `${indent} `)};`); + } + lines.push(`${indent}}`); + return lines.join('\n'); + } + default: + return 'unknown'; + } +} + +// --------------------------------------------------------------------------- +// Param interface generation (from params[] — transport plane) +// --------------------------------------------------------------------------- + +function generateParamInterface(operationId, operation) { + const name = `Doc${pascalCase(sanitizeOperationId(operationId))}Params`; + const lines = [`export interface ${name} {`]; + + for (const param of operation.params ?? []) { + const opt = param.required ? '' : '?'; + let paramType; + if (param.type === 'json' && param.schema) { + paramType = toTsType(param.schema, ' '); + } else { + paramType = toNodeType(param.type); + } + lines.push(` ${param.name}${opt}: ${paramType};`); + } + + lines.push('}'); + return { name, source: lines.join('\n') }; +} + +// --------------------------------------------------------------------------- +// Result type generation (successSchema ?? outputSchema — schema plane) +// --------------------------------------------------------------------------- + +function generateResultType(operationId, operation) { + const name = `Doc${pascalCase(sanitizeOperationId(operationId))}Result`; + const schema = operation.successSchema ?? operation.outputSchema; + + if (!schema) { + throw new Error(`Operation ${operationId} missing both successSchema and outputSchema`); + } + + const body = toTsType(schema); + return { name, source: `export type ${name} = ${body};` }; +} + +// --------------------------------------------------------------------------- +// Client tree rendering +// --------------------------------------------------------------------------- + +function renderTreeNode(treeNode, paramTypeMap, resultTypeMap, indent = ' ') { + const entries = Object.entries(treeNode); + const rendered = entries.map(([key, value]) => { + if (value.__operation) { + const op = value.__operation; + const typeName = paramTypeMap.get(op.id); + const resultTypeName = resultTypeMap.get(op.id); + const hasRequired = (op.params ?? []).some((p) => p.required); + const paramsArg = hasRequired ? `params: ${typeName}` : `params: ${typeName} = {}`; + return `${indent}${camelCase(key)}: (${paramsArg}, options?: InvokeOptions) => runtime.invoke<${resultTypeName}>(CONTRACT.operations[${JSON.stringify(op.id)}], params as unknown as Record, options),`; + } + + const nested = renderTreeNode(value, paramTypeMap, resultTypeMap, `${indent} `); + return `${indent}${camelCase(key)}: {\n${nested}\n${indent}},`; + }); + + return rendered.join('\n'); +} + +// --------------------------------------------------------------------------- +// client.ts generation +// --------------------------------------------------------------------------- + +function generateClientTs(contract) { + const paramInterfaces = []; + const resultTypes = []; + const paramTypeMap = new Map(); + const resultTypeMap = new Map(); + + for (const [operationId, operation] of Object.entries(contract.operations)) { + const { name: pName, source: pSource } = generateParamInterface(operationId, operation); + paramTypeMap.set(operationId, pName); + paramInterfaces.push(pSource); + + const { name: rName, source: rSource } = generateResultType(operationId, operation); + resultTypeMap.set(operationId, rName); + resultTypes.push(rSource); + } + + const tree = createOperationTree(contract.operations); + const treeSource = renderTreeNode(tree, paramTypeMap, resultTypeMap); + + return [ + '/* eslint-disable */', + '// Auto-generated by packages/sdk/codegen/src/generate-node.mjs', + '', + "import { CONTRACT } from './contract.js';", + "import type { SuperDocRuntime, InvokeOptions } from '../runtime/process.js';", + '', + paramInterfaces.join('\n\n'), + '', + resultTypes.join('\n\n'), + '', + 'export function createDocApi(runtime: SuperDocRuntime) {', + ' return {', + treeSource, + ' };', + '}', + '', + 'export type SuperDocDocApi = ReturnType;', + '', + ].join('\n'); +} + +// --------------------------------------------------------------------------- +// Entry +// --------------------------------------------------------------------------- + +export async function generateNodeSdk(contract) { + const contractContent = generateContractTs(contract); + const clientContent = generateClientTs(contract); + + await Promise.all([ + writeGeneratedFile(path.join(NODE_GENERATED_DIR, 'contract.ts'), contractContent), + writeGeneratedFile(path.join(NODE_GENERATED_DIR, 'client.ts'), clientContent), + ]); +} + +if (import.meta.url.endsWith(process.argv[1]?.replace(/^file:\/\//, '') ?? '')) { + const contract = await loadContract(); + await generateNodeSdk(contract); + console.log('Generated Node SDK files.'); +} diff --git a/packages/sdk/codegen/src/generate-python.mjs b/packages/sdk/codegen/src/generate-python.mjs new file mode 100644 index 0000000000..989dde524b --- /dev/null +++ b/packages/sdk/codegen/src/generate-python.mjs @@ -0,0 +1,297 @@ +import path from 'node:path'; +import { + camelCase, + createOperationTree, + loadContract, + pascalCase, + REPO_ROOT, + sanitizeOperationId, + writeGeneratedFile, +} from './shared.mjs'; + +const PYTHON_GENERATED_DIR = path.join(REPO_ROOT, 'packages/sdk/langs/python/superdoc/generated'); + +// --------------------------------------------------------------------------- +// contract.py — embedded contract dict +// --------------------------------------------------------------------------- + +function generateContractPy(contract) { + const payload = JSON.stringify(contract); + return [ + '# Auto-generated by packages/sdk/codegen/src/generate-python.mjs', + '', + 'import json', + '', + `CONTRACT = json.loads(${JSON.stringify(payload)})`, + '', + 'OPERATION_INDEX = {op_id: op for op_id, op in CONTRACT["operations"].items()}', + '', + ].join('\n'); +} + +// --------------------------------------------------------------------------- +// Python type mapping +// --------------------------------------------------------------------------- + +function toPythonLiteral(value) { + if (typeof value === 'string') return JSON.stringify(value); + if (typeof value === 'number') return String(value); + if (typeof value === 'boolean') return value ? 'True' : 'False'; + return 'None'; +} + +function toPythonType(typeSpec, classNameBase, generatedClasses, classBlocks) { + if (!typeSpec) return 'Any'; + + if (Object.prototype.hasOwnProperty.call(typeSpec, 'const')) { + return `Literal[${toPythonLiteral(typeSpec.const)}]`; + } + + if (Array.isArray(typeSpec.oneOf)) { + const variants = typeSpec.oneOf.map((v, i) => + toPythonType(v, `${classNameBase}Variant${i + 1}`, generatedClasses, classBlocks), + ); + return variants.join(' | '); + } + + if (typeSpec.enum && Array.isArray(typeSpec.enum)) { + return typeSpec.enum.map((v) => `Literal[${toPythonLiteral(v)}]`).join(' | '); + } + + switch (typeSpec.type) { + case 'string': + return 'str'; + case 'number': + case 'integer': + return 'int | float'; + case 'boolean': + return 'bool'; + case 'null': + return 'None'; + case 'json': + return 'Any'; + case 'array': + return `list[${toPythonType(typeSpec.items, `${classNameBase}Item`, generatedClasses, classBlocks)}]`; + case 'object': { + const className = classNameBase; + if (!generatedClasses.has(className)) { + generatedClasses.add(className); + const lines = [`${className} = TypedDict(`, ` ${JSON.stringify(className)},`, ' {']; + const properties = Object.entries(typeSpec.properties ?? {}); + if (properties.length === 0) { + lines.push(' },'); + lines.push(' total=False,'); + lines.push(')'); + } else { + for (const [name, propSpec] of properties) { + const propType = toPythonType( + propSpec, + `${className}${pascalCase(name)}`, + generatedClasses, + classBlocks, + ); + lines.push(` ${JSON.stringify(name)}: ${propType},`); + } + lines.push(' },'); + lines.push(' total=False,'); + lines.push(')'); + } + classBlocks.push(lines.join('\n')); + } + return className; + } + default: + return 'Any'; + } +} + +// --------------------------------------------------------------------------- +// Param type spec helpers +// --------------------------------------------------------------------------- + +function paramTypeSpec(param) { + if (param.type === 'string') return { type: 'string' }; + if (param.type === 'number') return { type: 'number' }; + if (param.type === 'boolean') return { type: 'boolean' }; + if (param.type === 'string[]') return { type: 'array', items: { type: 'string' } }; + if (param.type === 'json' && param.schema) return param.schema; + return { type: 'json' }; +} + +function buildParamsObjectSpec(operation) { + const properties = {}; + const required = []; + + for (const param of operation.params ?? []) { + properties[param.name] = paramTypeSpec(param); + if (param.required) required.push(param.name); + } + + return { type: 'object', properties, required }; +} + +// --------------------------------------------------------------------------- +// Response and param type generation +// --------------------------------------------------------------------------- + +function generateResponseTypes(operations, generatedClasses, classBlocks) { + const map = new Map(); + + for (const [operationId, operation] of Object.entries(operations)) { + const resultClassName = `Doc${pascalCase(sanitizeOperationId(operationId))}Result`; + const schema = operation.successSchema ?? operation.outputSchema; + if (!schema) { + throw new Error(`Operation ${operationId} missing both successSchema and outputSchema`); + } + map.set(operationId, toPythonType(schema, resultClassName, generatedClasses, classBlocks)); + } + + return map; +} + +function generateParamTypes(operations, generatedClasses, classBlocks) { + const map = new Map(); + + for (const [operationId, operation] of Object.entries(operations)) { + const paramsClassName = `Doc${pascalCase(sanitizeOperationId(operationId))}Params`; + const paramsType = toPythonType( + buildParamsObjectSpec(operation), + paramsClassName, + generatedClasses, + classBlocks, + ); + map.set(operationId, paramsType); + } + + return map; +} + +// --------------------------------------------------------------------------- +// Class generation +// --------------------------------------------------------------------------- + +function classNameFor(pathParts, asyncMode) { + const prefix = asyncMode ? '_Async' : '_Sync'; + return `${prefix}${pathParts.map((p) => pascalCase(p)).join('')}Api`; +} + +function renderClass(treeNode, pathParts, asyncMode, resultTypeMap, paramTypeMap) { + const className = classNameFor(pathParts, asyncMode); + const lines = [`class ${className}:`, ' def __init__(self, runtime):', ' self._runtime = runtime', '']; + + for (const [key, value] of Object.entries(treeNode)) { + if (value.__operation) { + const methodName = camelCase(key); + const operationId = value.__operation.id; + const resultType = resultTypeMap.get(operationId) ?? 'dict[str, Any]'; + const paramsType = paramTypeMap.get(operationId) ?? 'dict[str, Any]'; + + if (asyncMode) { + lines.push( + ` async def ${methodName}(self, params: ${paramsType} | None = None, *, timeout_ms=None, stdin_bytes=None) -> ${resultType}:`, + ); + lines.push( + ` return await self._runtime.invoke(${JSON.stringify(operationId)}, params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes)`, + ); + } else { + lines.push( + ` def ${methodName}(self, params: ${paramsType} | None = None, *, timeout_ms=None, stdin_bytes=None) -> ${resultType}:`, + ); + lines.push( + ` return self._runtime.invoke(${JSON.stringify(operationId)}, params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes)`, + ); + } + lines.push(''); + continue; + } + + const propertyName = camelCase(key); + const nestedClassName = classNameFor([...pathParts, key], asyncMode); + lines.push(' @property'); + lines.push(` def ${propertyName}(self):`); + lines.push(` return ${nestedClassName}(self._runtime)`); + lines.push(''); + } + + return lines.join('\n').trimEnd(); +} + +function renderAllClasses(treeNode, pathParts, asyncMode, resultTypeMap, paramTypeMap) { + const blocks = [renderClass(treeNode, pathParts, asyncMode, resultTypeMap, paramTypeMap)]; + + for (const [key, value] of Object.entries(treeNode)) { + if (value.__operation) continue; + blocks.push(''); + blocks.push(renderAllClasses(value, [...pathParts, key], asyncMode, resultTypeMap, paramTypeMap)); + } + + return blocks.join('\n'); +} + +// --------------------------------------------------------------------------- +// client.py generation +// --------------------------------------------------------------------------- + +function generateClientPy(contract) { + const tree = createOperationTree(contract.operations); + const generatedClasses = new Set(); + const classBlocks = []; + const resultTypeMap = generateResponseTypes(contract.operations, generatedClasses, classBlocks); + const paramTypeMap = generateParamTypes(contract.operations, generatedClasses, classBlocks); + const sharedTypes = classBlocks.join('\n\n'); + const syncClasses = renderAllClasses(tree, ['doc'], false, resultTypeMap, paramTypeMap); + const asyncClasses = renderAllClasses(tree, ['doc'], true, resultTypeMap, paramTypeMap); + + return [ + '# Auto-generated by packages/sdk/codegen/src/generate-python.mjs', + '', + 'from __future__ import annotations', + '', + 'from typing import Any, Literal, TypedDict', + '', + 'from ..runtime import SuperDocSyncRuntime, SuperDocAsyncRuntime', + '', + sharedTypes, + '', + syncClasses, + '', + asyncClasses, + '', + '', + 'class SuperDocClient:', + ' def __init__(self, *, env=None, default_change_mode=None):', + ' self._runtime = SuperDocSyncRuntime(env=env, default_change_mode=default_change_mode)', + ' self.doc = _SyncDocApi(self._runtime)', + '', + '', + 'class AsyncSuperDocClient:', + ' def __init__(self, *, env=None, default_change_mode=None):', + ' self._runtime = SuperDocAsyncRuntime(env=env, default_change_mode=default_change_mode)', + ' self.doc = _AsyncDocApi(self._runtime)', + '', + ].join('\n'); +} + +// --------------------------------------------------------------------------- +// Entry +// --------------------------------------------------------------------------- + +export async function generatePythonSdk(contract) { + const contractContent = generateContractPy(contract); + const clientContent = generateClientPy(contract); + + await Promise.all([ + writeGeneratedFile(path.join(PYTHON_GENERATED_DIR, 'contract.py'), contractContent), + writeGeneratedFile(path.join(PYTHON_GENERATED_DIR, 'client.py'), clientContent), + writeGeneratedFile( + path.join(PYTHON_GENERATED_DIR, '__init__.py'), + 'from .client import SuperDocClient, AsyncSuperDocClient\n', + ), + ]); +} + +if (import.meta.url.endsWith(process.argv[1]?.replace(/^file:\/\//, '') ?? '')) { + const contract = await loadContract(); + await generatePythonSdk(contract); + console.log('Generated Python SDK files.'); +} diff --git a/packages/sdk/codegen/src/generate-tool-catalogs.mjs b/packages/sdk/codegen/src/generate-tool-catalogs.mjs new file mode 100644 index 0000000000..a49eb59a0d --- /dev/null +++ b/packages/sdk/codegen/src/generate-tool-catalogs.mjs @@ -0,0 +1,338 @@ +import { readFile } from 'node:fs/promises'; +import path from 'node:path'; +import { loadContract, REPO_ROOT, sanitizeOperationId, writeGeneratedFile } from './shared.mjs'; + +const TOOLS_OUTPUT_DIR = path.join(REPO_ROOT, 'packages/sdk/tools'); +const DOCAPI_TOOLS_PATH = path.join( + REPO_ROOT, + 'packages/document-api/generated/manifests/document-api-tools.json', +); + +const NAME_POLICY_VERSION = 'v1'; +const EXPOSURE_VERSION = 'v1'; + +// --------------------------------------------------------------------------- +// Intent naming — read from contract's intentName field, fallback to derivation +// --------------------------------------------------------------------------- + +function toIntentName(operationId, operation) { + if (operation.intentName) { + return operation.intentName; + } + // Fallback: strip 'doc.' prefix and convert dots/camelCase to snake_case + return sanitizeOperationId(operationId) + .replace(/\./g, '_') + .replace(/([a-z])([A-Z])/g, '$1_$2') + .toLowerCase(); +} + +// Operation name is simpler: just replace dots with underscores +function toOperationToolName(operationId) { + return operationId.replace(/\./g, '_'); +} + +// --------------------------------------------------------------------------- +// Tools policy — shared data that both runtimes consume from tools-policy.json +// --------------------------------------------------------------------------- + +const TOOLS_POLICY = { + policyVersion: 'v1', + phases: { + read: { + include: ['introspection', 'query'], + exclude: ['mutation', 'trackChanges', 'session', 'create', 'comments', 'format'], + priority: ['query', 'introspection'], + }, + locate: { + include: ['query'], + exclude: ['mutation', 'trackChanges', 'session', 'create', 'comments', 'format'], + priority: ['query'], + }, + mutate: { + include: ['query', 'mutation', 'format', 'comments', 'create'], + exclude: ['session'], + priority: ['query', 'mutation', 'create', 'format', 'comments'], + }, + review: { + include: ['query', 'trackChanges', 'comments'], + exclude: ['mutation', 'create', 'session', 'format'], + priority: ['trackChanges', 'comments', 'query'], + }, + }, + defaults: { + maxToolsByProfile: { intent: 12, operation: 16 }, + minReadTools: 2, + foundationalOperationIds: ['doc.info', 'doc.find'], + chooserDecisionVersion: 'v1', + }, + capabilityFeatures: { + comments: ['hasComments'], + trackChanges: ['hasTrackedChanges'], + lists: ['hasLists'], + }, +}; + +// --------------------------------------------------------------------------- +// Category inference for capabilities +// --------------------------------------------------------------------------- + +const CAPABILITY_FEATURES = TOOLS_POLICY.capabilityFeatures; + +function inferRequiredCapabilities(category) { + return CAPABILITY_FEATURES[category] ?? []; +} + +function inferCapabilities(operation) { + const capabilities = new Set(); + const params = operation.params ?? []; + const paramNames = new Set(params.map((p) => p.name)); + + if (paramNames.has('doc')) capabilities.add('stateless-doc'); + if (paramNames.has('sessionId')) capabilities.add('session-targeting'); + if (paramNames.has('expectedRevision')) capabilities.add('optimistic-concurrency'); + if (paramNames.has('changeMode')) capabilities.add('tracked-change-mode'); + if (paramNames.has('dryRun')) capabilities.add('dry-run'); + if (paramNames.has('out')) capabilities.add('output-path'); + if (operation.category === 'comments') capabilities.add('comments'); + if (operation.category === 'trackChanges') capabilities.add('track-changes'); + if (operation.category === 'session') capabilities.add('session-management'); + if (operation.category === 'create') capabilities.add('structural-create'); + if (operation.category === 'query') capabilities.add('search'); + if (operation.category === 'introspection') capabilities.add('introspection'); + + return Array.from(capabilities).sort(); +} + +function inferSessionRequirements(operation) { + const params = operation.params ?? []; + const paramNames = new Set(params.map((p) => p.name)); + return { + requiresOpenContext: paramNames.has('doc') || paramNames.has('sessionId'), + supportsSessionTargeting: paramNames.has('sessionId'), + }; +} + +// --------------------------------------------------------------------------- +// Build input schema from CLI params (for CLI-only ops or as fallback) +// --------------------------------------------------------------------------- + +function buildInputSchemaFromParams(operation) { + const properties = {}; + const required = []; + + for (const param of operation.params ?? []) { + // Skip params annotated as not agent-visible (transport-envelope details). + if (param.agentVisible === false) { + continue; + } + + let schema; + if (param.type === 'string') schema = { type: 'string' }; + else if (param.type === 'number') schema = { type: 'number' }; + else if (param.type === 'boolean') schema = { type: 'boolean' }; + else if (param.type === 'string[]') schema = { type: 'array', items: { type: 'string' } }; + else if (param.type === 'json' && param.schema) schema = param.schema; + else schema = {}; + + if (param.description) schema.description = param.description; + properties[param.name] = schema; + if (param.required) required.push(param.name); + } + + const result = { type: 'object', properties }; + if (required.length > 0) result.required = required; + result.additionalProperties = false; + return result; +} + +// --------------------------------------------------------------------------- +// Load document-api tools indexed by name +// --------------------------------------------------------------------------- + +async function loadDocApiTools() { + const raw = await readFile(DOCAPI_TOOLS_PATH, 'utf8'); + const manifest = JSON.parse(raw); + const index = new Map(); + for (const tool of manifest.tools ?? []) { + index.set(tool.name, tool); + } + return index; +} + +// --------------------------------------------------------------------------- +// Build unified catalog entry +// --------------------------------------------------------------------------- + +function buildCatalogEntry(operationId, operation, docApiTool, profile) { + const toolName = profile === 'intent' ? toIntentName(operationId, operation) : toOperationToolName(operationId); + + // Input schema: always derive from CLI params so field names match the dispatcher + // contract (doc-api inputSchema uses different names e.g. commentId vs id). + const inputSchema = buildInputSchemaFromParams(operation); + + // Output schema from contract + const outputSchema = operation.successSchema ?? operation.outputSchema ?? {}; + + return { + operationId, + toolName, + profile, + source: profile === 'intent' ? 'intent' : 'operation', + description: operation.description ?? '', + inputSchema, + outputSchema, + mutates: operation.mutates ?? false, + category: operation.category ?? 'misc', + capabilities: inferCapabilities(operation), + constraints: operation.constraints ?? undefined, + errors: docApiTool?.possibleFailureCodes ?? [], + examples: [], + commandTokens: operation.commandTokens ?? [], + profileTags: [], + requiredCapabilities: inferRequiredCapabilities(operation.category), + sessionRequirements: inferSessionRequirements(operation), + intentId: profile === 'intent' ? toIntentName(operationId, operation) : undefined, + }; +} + +// --------------------------------------------------------------------------- +// Provider formatters +// --------------------------------------------------------------------------- + +function toOpenAiTool(entry) { + return { + type: 'function', + function: { + name: entry.toolName, + description: entry.description, + parameters: entry.inputSchema, + }, + }; +} + +function toAnthropicTool(entry) { + return { + name: entry.toolName, + description: entry.description, + input_schema: entry.inputSchema, + }; +} + +function toVercelTool(entry) { + return { + type: 'function', + function: { + name: entry.toolName, + description: entry.description, + parameters: entry.inputSchema, + }, + }; +} + +function toGenericTool(entry) { + return { + name: entry.toolName, + description: entry.description, + parameters: entry.inputSchema, + returns: entry.outputSchema, + metadata: { + operationId: entry.operationId, + profile: entry.profile, + mutates: entry.mutates, + category: entry.category, + capabilities: entry.capabilities, + constraints: entry.constraints, + requiredCapabilities: entry.requiredCapabilities, + profileTags: entry.profileTags, + examples: entry.examples, + commandTokens: entry.commandTokens, + }, + }; +} + +// --------------------------------------------------------------------------- +// Main generation +// --------------------------------------------------------------------------- + +export async function generateToolCatalogs(contract) { + const docApiTools = await loadDocApiTools(); + + const intentTools = []; + const operationTools = []; + + for (const [operationId, operation] of Object.entries(contract.operations)) { + // Map to doc-api tool by stripping 'doc.' prefix + const docApiName = operationId.replace(/^doc\./, ''); + const docApiTool = docApiTools.get(docApiName); + + intentTools.push(buildCatalogEntry(operationId, operation, docApiTool, 'intent')); + operationTools.push(buildCatalogEntry(operationId, operation, docApiTool, 'operation')); + } + + // Full catalog + const catalog = { + contractVersion: contract.contractVersion, + generatedAt: null, + namePolicyVersion: NAME_POLICY_VERSION, + exposureVersion: EXPOSURE_VERSION, + toolCount: intentTools.length + operationTools.length, + profiles: { + intent: { name: 'intent', tools: intentTools }, + operation: { name: 'operation', tools: operationTools }, + }, + }; + + // Tool name -> operation ID map + const toolNameMap = {}; + for (const tool of intentTools) { + toolNameMap[tool.toolName] = tool.operationId; + } + for (const tool of operationTools) { + toolNameMap[tool.toolName] = tool.operationId; + } + + // Provider bundles + const providers = { + openai: { formatter: toOpenAiTool, file: 'tools.openai.json' }, + anthropic: { formatter: toAnthropicTool, file: 'tools.anthropic.json' }, + vercel: { formatter: toVercelTool, file: 'tools.vercel.json' }, + generic: { formatter: toGenericTool, file: 'tools.generic.json' }, + }; + + // Tools policy with contract hash + const policy = { + ...TOOLS_POLICY, + contractHash: contract.sourceHash, + }; + + const writes = [ + writeGeneratedFile(path.join(TOOLS_OUTPUT_DIR, 'catalog.json'), JSON.stringify(catalog, null, 2) + '\n'), + writeGeneratedFile( + path.join(TOOLS_OUTPUT_DIR, 'tool-name-map.json'), + JSON.stringify(toolNameMap, null, 2) + '\n', + ), + writeGeneratedFile( + path.join(TOOLS_OUTPUT_DIR, 'tools-policy.json'), + JSON.stringify(policy, null, 2) + '\n', + ), + ]; + + for (const [, { formatter, file }] of Object.entries(providers)) { + const bundle = { + contractVersion: contract.contractVersion, + profiles: { + intent: intentTools.map(formatter), + operation: operationTools.map(formatter), + }, + }; + writes.push(writeGeneratedFile(path.join(TOOLS_OUTPUT_DIR, file), JSON.stringify(bundle, null, 2) + '\n')); + } + + await Promise.all(writes); +} + +if (import.meta.url.endsWith(process.argv[1]?.replace(/^file:\/\//, '') ?? '')) { + const contract = await loadContract(); + await generateToolCatalogs(contract); + console.log('Generated tool catalog files.'); +} diff --git a/packages/sdk/codegen/src/shared.mjs b/packages/sdk/codegen/src/shared.mjs new file mode 100644 index 0000000000..d55ebb7f07 --- /dev/null +++ b/packages/sdk/codegen/src/shared.mjs @@ -0,0 +1,89 @@ +import { readFile, writeFile, mkdir } from 'node:fs/promises'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); + +export const REPO_ROOT = path.resolve(__dirname, '../../../../'); +export const CONTRACT_PATH = path.join(REPO_ROOT, 'apps/cli/generated/sdk-contract.json'); + +export function pascalCase(value) { + return value + .replace(/[^a-zA-Z0-9]+/g, ' ') + .split(' ') + .filter(Boolean) + .map((part) => part.charAt(0).toUpperCase() + part.slice(1)) + .join(''); +} + +export function camelCase(value) { + const p = pascalCase(value); + return p.charAt(0).toLowerCase() + p.slice(1); +} + +export async function loadContract() { + const raw = await readFile(CONTRACT_PATH, 'utf8'); + return JSON.parse(raw); +} + +export async function writeGeneratedFile(filePath, content) { + // Allow generate-all.mjs to redirect writes for --check mode + if (globalThis.__SDK_CODEGEN_WRITE_FN) { + return globalThis.__SDK_CODEGEN_WRITE_FN(filePath, content); + } + await mkdir(path.dirname(filePath), { recursive: true }); + await writeFile(filePath, content, 'utf8'); +} + +/** + * Strip 'doc.' prefix and replace dots with spaces for naming. + * E.g. "doc.comments.add" -> "comments add" + */ +export function sanitizeOperationId(operationId) { + return operationId.replace(/^doc\./, '').replace(/\./g, ' '); +} + +export function toNodeType(paramType) { + switch (paramType) { + case 'string': + return 'string'; + case 'number': + return 'number'; + case 'boolean': + return 'boolean'; + case 'string[]': + return 'string[]'; + case 'json': + return 'Record | unknown[]'; + default: + return 'unknown'; + } +} + +/** + * Build a nested operation tree from the flat operations object. + * New contract format: operations is Record. + */ +export function createOperationTree(operations) { + const root = {}; + + for (const [operationId, operation] of Object.entries(operations)) { + const pathParts = operationId.split('.').slice(1); // strip 'doc.' + let node = root; + + for (let i = 0; i < pathParts.length; i += 1) { + const part = pathParts[i]; + const isLeaf = i === pathParts.length - 1; + + if (isLeaf) { + node[part] = { __operation: { ...operation, id: operationId } }; + } else { + node[part] = node[part] ?? {}; + node = node[part]; + } + } + } + + return root; +} diff --git a/packages/sdk/langs/node/.gitignore b/packages/sdk/langs/node/.gitignore new file mode 100644 index 0000000000..849ddff3b7 --- /dev/null +++ b/packages/sdk/langs/node/.gitignore @@ -0,0 +1 @@ +dist/ diff --git a/packages/sdk/langs/node/README.md b/packages/sdk/langs/node/README.md new file mode 100644 index 0000000000..8d2243716a --- /dev/null +++ b/packages/sdk/langs/node/README.md @@ -0,0 +1,116 @@ +# @superdoc-dev/sdk + +Programmatic SDK for deterministic DOCX operations through SuperDoc's Document API. + +## Install + +```bash +npm install @superdoc-dev/sdk +``` + +The package automatically installs a native CLI binary for your platform via optionalDependencies. Supported platforms: + +| Platform | Package | +|----------|---------| +| macOS (Apple Silicon) | `@superdoc-dev/sdk-darwin-arm64` | +| macOS (Intel) | `@superdoc-dev/sdk-darwin-x64` | +| Linux (x64) | `@superdoc-dev/sdk-linux-x64` | +| Linux (ARM64) | `@superdoc-dev/sdk-linux-arm64` | +| Windows (x64) | `@superdoc-dev/sdk-windows-x64` | + +## Quick Start + +```ts +import { createSuperDocClient } from '@superdoc-dev/sdk'; + +const client = createSuperDocClient(); +await client.connect(); + +await client.doc.open({ doc: './contract.docx' }); + +const info = await client.doc.info(); +console.log(info.counts); + +const results = await client.doc.find({ query: { kind: 'text', pattern: 'termination' } }); + +await client.doc.replace({ + target: results.context[0].textRanges[0], + text: 'expiration', +}); + +await client.doc.save({ inPlace: true }); +await client.doc.close(); +await client.dispose(); +``` + +## API + +### Client + +```ts +import { SuperDocClient, createSuperDocClient } from '@superdoc-dev/sdk'; + +const client = createSuperDocClient(options?); +await client.connect(); // start the host process +await client.dispose(); // shut down gracefully +``` + +All document operations are on `client.doc`: + +```ts +client.doc.open(params) +client.doc.find(params) +client.doc.insert(params) +// ... etc +``` + +### Operations + +| Category | Operations | +|----------|-----------| +| **Query** | `find`, `getNode`, `getNodeById`, `info` | +| **Mutation** | `insert`, `replace`, `delete` | +| **Format** | `format.bold`, `format.italic`, `format.underline`, `format.strikethrough` | +| **Create** | `create.paragraph` | +| **Lists** | `lists.list`, `lists.get`, `lists.insert`, `lists.setType`, `lists.indent`, `lists.outdent`, `lists.restart`, `lists.exit` | +| **Comments** | `comments.add`, `comments.edit`, `comments.reply`, `comments.move`, `comments.resolve`, `comments.remove`, `comments.setInternal`, `comments.setActive`, `comments.goTo`, `comments.get`, `comments.list` | +| **Track Changes** | `trackChanges.list`, `trackChanges.get`, `trackChanges.accept`, `trackChanges.reject`, `trackChanges.acceptAll`, `trackChanges.rejectAll` | +| **Lifecycle** | `open`, `save`, `close` | +| **Session** | `session.list`, `session.save`, `session.close`, `session.setDefault` | +| **Introspection** | `status`, `describe`, `describeCommand` | + +### AI Tool Integration + +The SDK includes built-in support for exposing document operations as AI tool definitions: + +```ts +import { chooseTools, dispatchSuperDocTool, inferDocumentFeatures } from '@superdoc-dev/sdk'; + +// Get tool definitions for your AI provider +const { tools, selected } = await chooseTools({ + provider: 'openai', // 'openai' | 'anthropic' | 'vercel' | 'generic' + profile: 'intent', // human-friendly tool names + taskContext: { phase: 'mutate' }, + documentFeatures: inferDocumentFeatures(await client.doc.info()), +}); + +// Dispatch a tool call from the AI model +const result = await dispatchSuperDocTool(client, toolName, args); +``` + +| Function | Description | +|----------|-------------| +| `chooseTools(input)` | Select tools filtered by phase, capabilities, and budget | +| `listTools(provider, options?)` | List all tool definitions for a provider | +| `dispatchSuperDocTool(client, toolName, args)` | Execute a tool call against a client | +| `resolveToolOperation(toolName)` | Map a tool name to its operation ID | +| `getToolCatalog(options?)` | Load the full tool catalog | +| `inferDocumentFeatures(infoResult)` | Derive feature flags from `doc.info` output | + +## Part of SuperDoc + +This SDK is part of [SuperDoc](https://github.com/superdoc-dev/superdoc) — an open source document editor bringing Microsoft Word to the web. + +## License + +AGPL-3.0 · [Enterprise license available](https://superdoc.dev) diff --git a/packages/sdk/langs/node/package.json b/packages/sdk/langs/node/package.json new file mode 100644 index 0000000000..10323e5ec2 --- /dev/null +++ b/packages/sdk/langs/node/package.json @@ -0,0 +1,42 @@ +{ + "name": "@superdoc-dev/sdk", + "version": "1.0.0-alpha.5", + "private": false, + "type": "module", + "main": "./dist/index.js", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", + "exports": { + ".": { + "import": { + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist", + "tools" + ], + "scripts": { + "build": "tsc", + "typecheck": "tsc --noEmit", + "prepack": "rm -rf tools && cp -r ../../tools ./tools && rm -f ./tools/__init__.py", + "postpack": "rm -rf tools && ln -s ../../tools tools" + }, + "optionalDependencies": { + "@superdoc-dev/sdk-darwin-arm64": "1.0.0-alpha.5", + "@superdoc-dev/sdk-darwin-x64": "1.0.0-alpha.5", + "@superdoc-dev/sdk-linux-arm64": "1.0.0-alpha.5", + "@superdoc-dev/sdk-linux-x64": "1.0.0-alpha.5", + "@superdoc-dev/sdk-windows-x64": "1.0.0-alpha.5" + }, + "devDependencies": { + "@types/bun": "catalog:", + "@types/node": "catalog:", + "typescript": "catalog:" + }, + "publishConfig": { + "access": "public" + } +} diff --git a/packages/sdk/langs/node/skills/editing-docx.md b/packages/sdk/langs/node/skills/editing-docx.md new file mode 100644 index 0000000000..db5a836ff1 --- /dev/null +++ b/packages/sdk/langs/node/skills/editing-docx.md @@ -0,0 +1,31 @@ +# Editing DOCX Documents with SuperDoc SDK + +You are a document editing assistant using the SuperDoc SDK. You have access to tools +that let you open, read, search, and modify `.docx` files programmatically. + +## Workflow + +1. **Open** the document with `doc.open` +2. **Inspect** it with `doc.info` to understand structure +3. **Find** content with `doc.find` using text search or node type queries +4. **Modify** content using `doc.insert`, `doc.replace`, `doc.delete`, or formatting operations +5. **Save** changes with `doc.save` +6. **Close** when done with `doc.close` + +## Key Operations + +- `doc.find` — Search by text pattern, node type, or structured query +- `doc.getNode` — Get a specific node by address +- `doc.insert` — Insert text at a position +- `doc.replace` — Replace content at a position +- `doc.delete` — Delete content at a position +- `doc.format.*` — Apply bold, italic, underline, strikethrough +- `doc.comments.*` — Add, edit, resolve, remove comments +- `doc.trackChanges.*` — Accept/reject tracked changes + +## Best Practices + +- Always open before operating, save when done +- Use `doc.find` to locate content before modifying +- Use `doc.info` to check document capabilities +- Handle errors gracefully — operations may fail if targets are invalid diff --git a/packages/sdk/langs/node/src/generated/client.ts b/packages/sdk/langs/node/src/generated/client.ts new file mode 100644 index 0000000000..7379112701 --- /dev/null +++ b/packages/sdk/langs/node/src/generated/client.ts @@ -0,0 +1,1891 @@ +/* eslint-disable */ +// Auto-generated by packages/sdk/codegen/src/generate-node.mjs + +import { CONTRACT } from './contract.js'; +import type { SuperDocRuntime, InvokeOptions } from '../runtime/process.js'; + +export interface DocFindParams { + doc?: string; + sessionId?: string; + within?: ({ + kind: "block"; + nodeType: "paragraph" | "heading" | "listItem" | "table" | "tableRow" | "tableCell" | "image" | "sdt"; + nodeId: string; + }) | ({ + kind: "inline"; + nodeType: "run" | "bookmark" | "comment" | "hyperlink" | "sdt" | "image" | "footnoteRef" | "tab" | "lineBreak"; + anchor: { + start: { + blockId: string; + offset: number; + }; + end: { + blockId: string; + offset: number; + }; + }; + }); + limit?: number; + offset?: number; + includeNodes?: boolean; + includeUnknown?: boolean; + type?: string; + nodeType?: string; + kind?: string; + pattern?: string; + mode?: string; + caseSensitive?: boolean; + query?: Record | unknown[]; +} + +export interface DocGetNodeParams { + doc?: string; + sessionId?: string; + address?: Record | unknown[]; +} + +export interface DocGetNodeByIdParams { + doc?: string; + sessionId?: string; + id: string; + nodeType?: string; +} + +export interface DocInfoParams { + doc?: string; + sessionId?: string; +} + +export interface DocInsertParams { + doc?: string; + sessionId?: string; + out?: string; + force?: boolean; + expectedRevision?: number; + changeMode?: string; + dryRun?: boolean; + target?: { + kind: "text"; + blockId: string; + range: { + start: number; + end: number; + }; + }; + text: string; +} + +export interface DocReplaceParams { + doc?: string; + sessionId?: string; + out?: string; + force?: boolean; + expectedRevision?: number; + changeMode?: string; + dryRun?: boolean; + target: { + kind: "text"; + blockId: string; + range: { + start: number; + end: number; + }; + }; + text: string; +} + +export interface DocDeleteParams { + doc?: string; + sessionId?: string; + out?: string; + force?: boolean; + expectedRevision?: number; + changeMode?: string; + dryRun?: boolean; + target: { + kind: "text"; + blockId: string; + range: { + start: number; + end: number; + }; + }; +} + +export interface DocFormatBoldParams { + doc?: string; + sessionId?: string; + out?: string; + force?: boolean; + expectedRevision?: number; + changeMode?: string; + dryRun?: boolean; + target: { + kind: "text"; + blockId: string; + range: { + start: number; + end: number; + }; + }; +} + +export interface DocFormatItalicParams { + doc?: string; + sessionId?: string; + out?: string; + force?: boolean; + expectedRevision?: number; + changeMode?: string; + dryRun?: boolean; + target: { + kind: "text"; + blockId: string; + range: { + start: number; + end: number; + }; + }; +} + +export interface DocFormatUnderlineParams { + doc?: string; + sessionId?: string; + out?: string; + force?: boolean; + expectedRevision?: number; + changeMode?: string; + dryRun?: boolean; + target: { + kind: "text"; + blockId: string; + range: { + start: number; + end: number; + }; + }; +} + +export interface DocFormatStrikethroughParams { + doc?: string; + sessionId?: string; + out?: string; + force?: boolean; + expectedRevision?: number; + changeMode?: string; + dryRun?: boolean; + target: { + kind: "text"; + blockId: string; + range: { + start: number; + end: number; + }; + }; +} + +export interface DocCreateParagraphParams { + doc?: string; + sessionId?: string; + out?: string; + force?: boolean; + expectedRevision?: number; + changeMode?: string; + dryRun?: boolean; + at?: ({ + kind: "documentStart"; + }) | ({ + kind: "documentEnd"; + }) | ({ + kind: "before"; + target: { + kind: "block"; + nodeType: "paragraph" | "heading" | "listItem" | "table" | "tableRow" | "tableCell" | "image" | "sdt"; + nodeId: string; + }; + }) | ({ + kind: "after"; + target: { + kind: "block"; + nodeType: "paragraph" | "heading" | "listItem" | "table" | "tableRow" | "tableCell" | "image" | "sdt"; + nodeId: string; + }; + }); + text?: string; + input?: Record | unknown[]; +} + +export interface DocListsListParams { + doc?: string; + sessionId?: string; + within?: { + kind: "block"; + nodeType: "paragraph" | "heading" | "listItem" | "table" | "tableRow" | "tableCell" | "image" | "sdt"; + nodeId: string; + }; + limit?: number; + offset?: number; + kind?: string; + level?: number; + ordinal?: number; + query?: Record | unknown[]; +} + +export interface DocListsGetParams { + doc?: string; + sessionId?: string; + address: { + kind: "block"; + nodeType: "listItem"; + nodeId: string; + }; +} + +export interface DocListsInsertParams { + doc?: string; + sessionId?: string; + out?: string; + force?: boolean; + expectedRevision?: number; + changeMode?: string; + dryRun?: boolean; + target?: { + kind: "block"; + nodeType: "listItem"; + nodeId: string; + }; + position?: string; + text?: string; + input?: Record | unknown[]; +} + +export interface DocListsSetTypeParams { + doc?: string; + sessionId?: string; + out?: string; + force?: boolean; + expectedRevision?: number; + changeMode?: string; + dryRun?: boolean; + target?: { + kind: "block"; + nodeType: "listItem"; + nodeId: string; + }; + kind?: string; + input?: Record | unknown[]; +} + +export interface DocListsIndentParams { + doc?: string; + sessionId?: string; + out?: string; + force?: boolean; + expectedRevision?: number; + changeMode?: string; + dryRun?: boolean; + target?: { + kind: "block"; + nodeType: "listItem"; + nodeId: string; + }; + input?: Record | unknown[]; +} + +export interface DocListsOutdentParams { + doc?: string; + sessionId?: string; + out?: string; + force?: boolean; + expectedRevision?: number; + changeMode?: string; + dryRun?: boolean; + target?: { + kind: "block"; + nodeType: "listItem"; + nodeId: string; + }; + input?: Record | unknown[]; +} + +export interface DocListsRestartParams { + doc?: string; + sessionId?: string; + out?: string; + force?: boolean; + expectedRevision?: number; + changeMode?: string; + dryRun?: boolean; + target?: { + kind: "block"; + nodeType: "listItem"; + nodeId: string; + }; + input?: Record | unknown[]; +} + +export interface DocListsExitParams { + doc?: string; + sessionId?: string; + out?: string; + force?: boolean; + expectedRevision?: number; + changeMode?: string; + dryRun?: boolean; + target?: { + kind: "block"; + nodeType: "listItem"; + nodeId: string; + }; + input?: Record | unknown[]; +} + +export interface DocCommentsAddParams { + doc?: string; + sessionId?: string; + out?: string; + force?: boolean; + expectedRevision?: number; + changeMode?: string; + target: { + kind: "text"; + blockId: string; + range: { + start: number; + end: number; + }; + }; + text: string; +} + +export interface DocCommentsEditParams { + doc?: string; + sessionId?: string; + out?: string; + force?: boolean; + expectedRevision?: number; + changeMode?: string; + id: string; + text: string; +} + +export interface DocCommentsReplyParams { + doc?: string; + sessionId?: string; + out?: string; + force?: boolean; + expectedRevision?: number; + changeMode?: string; + parentId: string; + text: string; +} + +export interface DocCommentsMoveParams { + doc?: string; + sessionId?: string; + out?: string; + force?: boolean; + expectedRevision?: number; + changeMode?: string; + id: string; + target: { + kind: "text"; + blockId: string; + range: { + start: number; + end: number; + }; + }; +} + +export interface DocCommentsResolveParams { + doc?: string; + sessionId?: string; + out?: string; + force?: boolean; + expectedRevision?: number; + changeMode?: string; + id: string; +} + +export interface DocCommentsRemoveParams { + doc?: string; + sessionId?: string; + out?: string; + force?: boolean; + expectedRevision?: number; + changeMode?: string; + id: string; +} + +export interface DocCommentsSetInternalParams { + doc?: string; + sessionId?: string; + out?: string; + force?: boolean; + expectedRevision?: number; + changeMode?: string; + id: string; + isInternal: boolean; +} + +export interface DocCommentsSetActiveParams { + doc?: string; + sessionId?: string; + out?: string; + force?: boolean; + expectedRevision?: number; + changeMode?: string; + commentId?: unknown; + id?: string; + clear?: boolean; +} + +export interface DocCommentsGoToParams { + doc?: string; + sessionId?: string; + id: string; +} + +export interface DocCommentsGetParams { + doc?: string; + sessionId?: string; + id: string; +} + +export interface DocCommentsListParams { + doc?: string; + sessionId?: string; + includeResolved?: boolean; +} + +export interface DocTrackChangesListParams { + doc?: string; + sessionId?: string; + limit?: number; + offset?: number; + type?: string; +} + +export interface DocTrackChangesGetParams { + doc?: string; + sessionId?: string; + id: string; +} + +export interface DocTrackChangesAcceptParams { + doc?: string; + sessionId?: string; + out?: string; + force?: boolean; + expectedRevision?: number; + changeMode?: string; + id: string; +} + +export interface DocTrackChangesRejectParams { + doc?: string; + sessionId?: string; + out?: string; + force?: boolean; + expectedRevision?: number; + changeMode?: string; + id: string; +} + +export interface DocTrackChangesAcceptAllParams { + doc?: string; + sessionId?: string; + out?: string; + force?: boolean; + expectedRevision?: number; + changeMode?: string; +} + +export interface DocTrackChangesRejectAllParams { + doc?: string; + sessionId?: string; + out?: string; + force?: boolean; + expectedRevision?: number; + changeMode?: string; +} + +export interface DocOpenParams { + doc: string; + sessionId?: string; + collaboration?: Record | unknown[]; + collabDocumentId?: string; + collabUrl?: string; +} + +export interface DocSaveParams { + sessionId?: string; + out?: string; + force?: boolean; + inPlace?: boolean; +} + +export interface DocCloseParams { + sessionId?: string; + discard?: boolean; +} + +export interface DocStatusParams { + sessionId?: string; +} + +export interface DocDescribeParams { +} + +export interface DocDescribeCommandParams { + operationId: string; +} + +export interface DocSessionListParams { +} + +export interface DocSessionSaveParams { + sessionId: string; + out?: string; + force?: boolean; + inPlace?: boolean; +} + +export interface DocSessionCloseParams { + sessionId: string; + discard?: boolean; +} + +export interface DocSessionSetDefaultParams { + sessionId: string; +} + +export type DocFindResult = { + context?: Array<{ + address: ({ + kind: "block"; + nodeId: string; + nodeType: "paragraph" | "heading" | "listItem" | "table" | "tableRow" | "tableCell" | "image" | "sdt"; + }) | ({ + anchor: { + end: { + blockId: string; + offset: number; + }; + start: { + blockId: string; + offset: number; + }; + }; + kind: "inline"; + nodeType: "run" | "bookmark" | "comment" | "hyperlink" | "sdt" | "image" | "footnoteRef" | "tab" | "lineBreak"; + }); + highlightRange: { + end: number; + start: number; + }; + snippet: string; + textRanges?: Array<{ + blockId: string; + kind: "text"; + range: { + end: number; + start: number; + }; + }>; + }>; + diagnostics?: Array<{ + address?: ({ + kind: "block"; + nodeId: string; + nodeType: "paragraph" | "heading" | "listItem" | "table" | "tableRow" | "tableCell" | "image" | "sdt"; + }) | ({ + anchor: { + end: { + blockId: string; + offset: number; + }; + start: { + blockId: string; + offset: number; + }; + }; + kind: "inline"; + nodeType: "run" | "bookmark" | "comment" | "hyperlink" | "sdt" | "image" | "footnoteRef" | "tab" | "lineBreak"; + }); + hint?: string; + message: string; + }>; + matches: Array<({ + kind: "block"; + nodeId: string; + nodeType: "paragraph" | "heading" | "listItem" | "table" | "tableRow" | "tableCell" | "image" | "sdt"; + }) | ({ + anchor: { + end: { + blockId: string; + offset: number; + }; + start: { + blockId: string; + offset: number; + }; + }; + kind: "inline"; + nodeType: "run" | "bookmark" | "comment" | "hyperlink" | "sdt" | "image" | "footnoteRef" | "tab" | "lineBreak"; + })>; + nodes?: Array<{ + bodyNodes?: Array>; + bodyText?: string; + kind: "block" | "inline"; + nodes?: Array>; + nodeType: "paragraph" | "heading" | "listItem" | "table" | "tableRow" | "tableCell" | "image" | "sdt" | "run" | "bookmark" | "comment" | "hyperlink" | "footnoteRef" | "tab" | "lineBreak"; + properties?: Record; + summary?: { + label?: string; + text?: string; + }; + text?: string; + }>; + total: number; +}; + +export type DocGetNodeResult = { + bodyNodes?: Array>; + bodyText?: string; + kind: "block" | "inline"; + nodes?: Array>; + nodeType: "paragraph" | "heading" | "listItem" | "table" | "tableRow" | "tableCell" | "image" | "sdt" | "run" | "bookmark" | "comment" | "hyperlink" | "footnoteRef" | "tab" | "lineBreak"; + properties?: Record; + summary?: { + label?: string; + text?: string; + }; + text?: string; +}; + +export type DocGetNodeByIdResult = { + bodyNodes?: Array>; + bodyText?: string; + kind: "block" | "inline"; + nodes?: Array>; + nodeType: "paragraph" | "heading" | "listItem" | "table" | "tableRow" | "tableCell" | "image" | "sdt" | "run" | "bookmark" | "comment" | "hyperlink" | "footnoteRef" | "tab" | "lineBreak"; + properties?: Record; + summary?: { + label?: string; + text?: string; + }; + text?: string; +}; + +export type DocInfoResult = { + capabilities: { + canComment: boolean; + canFind: boolean; + canGetNode: boolean; + canReplace: boolean; + }; + counts: { + comments: number; + headings: number; + images: number; + paragraphs: number; + tables: number; + words: number; + }; + outline: Array<{ + level: number; + nodeId: string; + text: string; + }>; +}; + +export type DocInsertResult = { + inserted?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + removed?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + resolution: { + range: { + from: number; + to: number; + }; + requestedTarget?: { + blockId: string; + kind: "text"; + range: { + end: number; + start: number; + }; + }; + target: { + blockId: string; + kind: "text"; + range: { + end: number; + start: number; + }; + }; + text: string; + }; + success: true; + updated?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; +}; + +export type DocReplaceResult = { + inserted?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + removed?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + resolution: { + range: { + from: number; + to: number; + }; + requestedTarget?: { + blockId: string; + kind: "text"; + range: { + end: number; + start: number; + }; + }; + target: { + blockId: string; + kind: "text"; + range: { + end: number; + start: number; + }; + }; + text: string; + }; + success: true; + updated?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; +}; + +export type DocDeleteResult = { + inserted?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + removed?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + resolution: { + range: { + from: number; + to: number; + }; + requestedTarget?: { + blockId: string; + kind: "text"; + range: { + end: number; + start: number; + }; + }; + target: { + blockId: string; + kind: "text"; + range: { + end: number; + start: number; + }; + }; + text: string; + }; + success: true; + updated?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; +}; + +export type DocFormatBoldResult = { + inserted?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + removed?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + resolution: { + range: { + from: number; + to: number; + }; + requestedTarget?: { + blockId: string; + kind: "text"; + range: { + end: number; + start: number; + }; + }; + target: { + blockId: string; + kind: "text"; + range: { + end: number; + start: number; + }; + }; + text: string; + }; + success: true; + updated?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; +}; + +export type DocFormatItalicResult = { + inserted?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + removed?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + resolution: { + range: { + from: number; + to: number; + }; + requestedTarget?: { + blockId: string; + kind: "text"; + range: { + end: number; + start: number; + }; + }; + target: { + blockId: string; + kind: "text"; + range: { + end: number; + start: number; + }; + }; + text: string; + }; + success: true; + updated?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; +}; + +export type DocFormatUnderlineResult = { + inserted?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + removed?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + resolution: { + range: { + from: number; + to: number; + }; + requestedTarget?: { + blockId: string; + kind: "text"; + range: { + end: number; + start: number; + }; + }; + target: { + blockId: string; + kind: "text"; + range: { + end: number; + start: number; + }; + }; + text: string; + }; + success: true; + updated?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; +}; + +export type DocFormatStrikethroughResult = { + inserted?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + removed?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + resolution: { + range: { + from: number; + to: number; + }; + requestedTarget?: { + blockId: string; + kind: "text"; + range: { + end: number; + start: number; + }; + }; + target: { + blockId: string; + kind: "text"; + range: { + end: number; + start: number; + }; + }; + text: string; + }; + success: true; + updated?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; +}; + +export type DocCreateParagraphResult = { + insertionPoint: { + blockId: string; + kind: "text"; + range: { + end: number; + start: number; + }; + }; + paragraph: { + kind: "block"; + nodeId: string; + nodeType: "paragraph"; + }; + success: true; + trackedChangeRefs?: Array<{ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + }>; +}; + +export type DocListsListResult = { + items: Array<{ + address: { + kind: "block"; + nodeId: string; + nodeType: "listItem"; + }; + kind?: "ordered" | "bullet"; + level?: number; + marker?: string; + ordinal?: number; + path?: Array; + text?: string; + }>; + matches: Array<{ + kind: "block"; + nodeId: string; + nodeType: "listItem"; + }>; + total: number; +}; + +export type DocListsGetResult = { + address: { + kind: "block"; + nodeId: string; + nodeType: "listItem"; + }; + kind?: "ordered" | "bullet"; + level?: number; + marker?: string; + ordinal?: number; + path?: Array; + text?: string; +}; + +export type DocListsInsertResult = { + insertionPoint: { + blockId: string; + kind: "text"; + range: { + end: number; + start: number; + }; + }; + item: { + kind: "block"; + nodeId: string; + nodeType: "listItem"; + }; + success: true; + trackedChangeRefs?: Array<{ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + }>; +}; + +export type DocListsSetTypeResult = { + item: { + kind: "block"; + nodeId: string; + nodeType: "listItem"; + }; + success: true; +}; + +export type DocListsIndentResult = { + item: { + kind: "block"; + nodeId: string; + nodeType: "listItem"; + }; + success: true; +}; + +export type DocListsOutdentResult = { + item: { + kind: "block"; + nodeId: string; + nodeType: "listItem"; + }; + success: true; +}; + +export type DocListsRestartResult = { + item: { + kind: "block"; + nodeId: string; + nodeType: "listItem"; + }; + success: true; +}; + +export type DocListsExitResult = { + paragraph: { + kind: "block"; + nodeId: string; + nodeType: "paragraph"; + }; + success: true; +}; + +export type DocCommentsAddResult = { + inserted?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + removed?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + success: true; + updated?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; +}; + +export type DocCommentsEditResult = { + inserted?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + removed?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + success: true; + updated?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; +}; + +export type DocCommentsReplyResult = { + inserted?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + removed?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + success: true; + updated?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; +}; + +export type DocCommentsMoveResult = { + inserted?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + removed?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + success: true; + updated?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; +}; + +export type DocCommentsResolveResult = { + inserted?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + removed?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + success: true; + updated?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; +}; + +export type DocCommentsRemoveResult = { + inserted?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + removed?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + success: true; + updated?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; +}; + +export type DocCommentsSetInternalResult = { + inserted?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + removed?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + success: true; + updated?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; +}; + +export type DocCommentsSetActiveResult = { + inserted?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + removed?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + success: true; + updated?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; +}; + +export type DocCommentsGoToResult = { + inserted?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + removed?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + success: true; + updated?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; +}; + +export type DocCommentsGetResult = { + address: { + entityId: string; + entityType: "comment"; + kind: "entity"; + }; + commentId: string; + createdTime?: number; + creatorEmail?: string; + creatorName?: string; + importedId?: string; + isInternal?: boolean; + parentCommentId?: string; + status: "open" | "resolved"; + target?: { + blockId: string; + kind: "text"; + range: { + end: number; + start: number; + }; + }; + text?: string; +}; + +export type DocCommentsListResult = { + matches: Array<{ + address: { + entityId: string; + entityType: "comment"; + kind: "entity"; + }; + commentId: string; + createdTime?: number; + creatorEmail?: string; + creatorName?: string; + importedId?: string; + isInternal?: boolean; + parentCommentId?: string; + status: "open" | "resolved"; + target?: { + blockId: string; + kind: "text"; + range: { + end: number; + start: number; + }; + }; + text?: string; + }>; + total: number; +}; + +export type DocTrackChangesListResult = { + changes?: Array<{ + address: { + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + }; + author?: string; + authorEmail?: string; + authorImage?: string; + date?: string; + excerpt?: string; + id: string; + type: "insert" | "delete" | "format"; + }>; + matches: Array<{ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + }>; + total: number; +}; + +export type DocTrackChangesGetResult = { + address: { + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + }; + author?: string; + authorEmail?: string; + authorImage?: string; + date?: string; + excerpt?: string; + id: string; + type: "insert" | "delete" | "format"; +}; + +export type DocTrackChangesAcceptResult = { + inserted?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + removed?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + success: true; + updated?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; +}; + +export type DocTrackChangesRejectResult = { + inserted?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + removed?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + success: true; + updated?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; +}; + +export type DocTrackChangesAcceptAllResult = { + inserted?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + removed?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + success: true; + updated?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; +}; + +export type DocTrackChangesRejectAllResult = { + inserted?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + removed?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; + success: true; + updated?: Array<({ + entityId: string; + entityType: "comment"; + kind: "entity"; + }) | ({ + entityId: string; + entityType: "trackedChange"; + kind: "entity"; + })>; +}; + +export type DocOpenResult = { + contextId: string; + sessionType: string; + document?: { + path?: string; + source?: string; + revision?: number; + }; + collaboration?: { + documentId?: string; + url?: string; + }; +}; + +export type DocSaveResult = { + contextId: string; + saved: boolean; + inPlace?: boolean; + document?: { + path?: string; + source?: string; + revision?: number; + }; + context?: { + dirty?: boolean; + revision?: number; + lastSavedAt?: string; + }; + output?: { + path?: string; + byteLength?: number; + }; +}; + +export type DocCloseResult = { + contextId: string; + closed: boolean; + saved?: boolean; + discarded?: boolean; + defaultSessionCleared?: boolean; + wasDirty?: boolean; + document?: { + path?: string; + source?: string; + revision?: number; + }; +}; + +export type DocStatusResult = { + contextId: string; + sessionType?: string; + dirty?: boolean; + revision?: number; + document?: { + path?: string; + source?: string; + }; +}; + +export type DocDescribeResult = { + contractVersion?: string; + operations?: Array<{ + operationId?: string; + command?: string; + category?: string; + description?: string; + mutates?: boolean; + }>; +}; + +export type DocDescribeCommandResult = { + operationId?: string; + command?: string; + category?: string; + description?: string; + mutates?: boolean; + params?: Array; + constraints?: unknown; +}; + +export type DocSessionListResult = { + activeSessionId?: string; + sessions?: Array<{ + sessionId?: string; + sessionType?: string; + dirty?: boolean; + revision?: number; + }>; + total?: number; +}; + +export type DocSessionSaveResult = { + sessionId: string; + contextId?: string; + saved?: boolean; + inPlace?: boolean; + document?: { + path?: string; + source?: string; + revision?: number; + }; + output?: { + path?: string; + byteLength?: number; + }; +}; + +export type DocSessionCloseResult = { + sessionId: string; + contextId?: string; + closed?: boolean; + saved?: boolean; + discarded?: boolean; + defaultSessionCleared?: boolean; + wasDirty?: boolean; + document?: { + path?: string; + source?: string; + revision?: number; + }; +}; + +export type DocSessionSetDefaultResult = { + activeSessionId: string; +}; + +export function createDocApi(runtime: SuperDocRuntime) { + return { + find: (params: DocFindParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.find"], params as unknown as Record, options), + getNode: (params: DocGetNodeParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.getNode"], params as unknown as Record, options), + getNodeById: (params: DocGetNodeByIdParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.getNodeById"], params as unknown as Record, options), + info: (params: DocInfoParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.info"], params as unknown as Record, options), + insert: (params: DocInsertParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.insert"], params as unknown as Record, options), + replace: (params: DocReplaceParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.replace"], params as unknown as Record, options), + delete: (params: DocDeleteParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.delete"], params as unknown as Record, options), + format: { + bold: (params: DocFormatBoldParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.format.bold"], params as unknown as Record, options), + italic: (params: DocFormatItalicParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.format.italic"], params as unknown as Record, options), + underline: (params: DocFormatUnderlineParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.format.underline"], params as unknown as Record, options), + strikethrough: (params: DocFormatStrikethroughParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.format.strikethrough"], params as unknown as Record, options), + }, + create: { + paragraph: (params: DocCreateParagraphParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.create.paragraph"], params as unknown as Record, options), + }, + lists: { + list: (params: DocListsListParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.lists.list"], params as unknown as Record, options), + get: (params: DocListsGetParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.lists.get"], params as unknown as Record, options), + insert: (params: DocListsInsertParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.lists.insert"], params as unknown as Record, options), + setType: (params: DocListsSetTypeParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.lists.setType"], params as unknown as Record, options), + indent: (params: DocListsIndentParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.lists.indent"], params as unknown as Record, options), + outdent: (params: DocListsOutdentParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.lists.outdent"], params as unknown as Record, options), + restart: (params: DocListsRestartParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.lists.restart"], params as unknown as Record, options), + exit: (params: DocListsExitParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.lists.exit"], params as unknown as Record, options), + }, + comments: { + add: (params: DocCommentsAddParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.comments.add"], params as unknown as Record, options), + edit: (params: DocCommentsEditParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.comments.edit"], params as unknown as Record, options), + reply: (params: DocCommentsReplyParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.comments.reply"], params as unknown as Record, options), + move: (params: DocCommentsMoveParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.comments.move"], params as unknown as Record, options), + resolve: (params: DocCommentsResolveParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.comments.resolve"], params as unknown as Record, options), + remove: (params: DocCommentsRemoveParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.comments.remove"], params as unknown as Record, options), + setInternal: (params: DocCommentsSetInternalParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.comments.setInternal"], params as unknown as Record, options), + setActive: (params: DocCommentsSetActiveParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.comments.setActive"], params as unknown as Record, options), + goTo: (params: DocCommentsGoToParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.comments.goTo"], params as unknown as Record, options), + get: (params: DocCommentsGetParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.comments.get"], params as unknown as Record, options), + list: (params: DocCommentsListParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.comments.list"], params as unknown as Record, options), + }, + trackChanges: { + list: (params: DocTrackChangesListParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.trackChanges.list"], params as unknown as Record, options), + get: (params: DocTrackChangesGetParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.trackChanges.get"], params as unknown as Record, options), + accept: (params: DocTrackChangesAcceptParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.trackChanges.accept"], params as unknown as Record, options), + reject: (params: DocTrackChangesRejectParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.trackChanges.reject"], params as unknown as Record, options), + acceptAll: (params: DocTrackChangesAcceptAllParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.trackChanges.acceptAll"], params as unknown as Record, options), + rejectAll: (params: DocTrackChangesRejectAllParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.trackChanges.rejectAll"], params as unknown as Record, options), + }, + open: (params: DocOpenParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.open"], params as unknown as Record, options), + save: (params: DocSaveParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.save"], params as unknown as Record, options), + close: (params: DocCloseParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.close"], params as unknown as Record, options), + status: (params: DocStatusParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.status"], params as unknown as Record, options), + describe: (params: DocDescribeParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.describe"], params as unknown as Record, options), + describeCommand: (params: DocDescribeCommandParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.describeCommand"], params as unknown as Record, options), + session: { + list: (params: DocSessionListParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.session.list"], params as unknown as Record, options), + save: (params: DocSessionSaveParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.session.save"], params as unknown as Record, options), + close: (params: DocSessionCloseParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.session.close"], params as unknown as Record, options), + setDefault: (params: DocSessionSetDefaultParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.session.setDefault"], params as unknown as Record, options), + }, + }; +} + +export type SuperDocDocApi = ReturnType; diff --git a/packages/sdk/langs/node/src/generated/contract.ts b/packages/sdk/langs/node/src/generated/contract.ts new file mode 100644 index 0000000000..58379bb727 --- /dev/null +++ b/packages/sdk/langs/node/src/generated/contract.ts @@ -0,0 +1,17813 @@ +/* eslint-disable */ +// Auto-generated by packages/sdk/codegen/src/generate-node.mjs + +export const CONTRACT = { + "contractVersion": "0.1.0", + "cli": { + "package": "@superdoc-dev/cli", + "minVersion": "1.0.0" + }, + "protocol": { + "version": "1.0", + "transport": "stdio", + "features": [ + "cli.invoke", + "host.shutdown", + "host.describe", + "host.describe.command" + ], + "notifications": [ + "event.remoteChange", + "event.sessionClosed" + ] + }, + "operations": { + "doc.find": { + "operationId": "doc.find", + "command": "find", + "commandTokens": [ + "find" + ], + "category": "query", + "description": "Search the document for nodes matching type, text, or attribute criteria.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "find_content", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "within", + "kind": "jsonFlag", + "type": "json", + "flag": "within-json", + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "inline" + }, + "nodeType": { + "oneOf": [ + { + "const": "run" + }, + { + "const": "bookmark" + }, + { + "const": "comment" + }, + { + "const": "hyperlink" + }, + { + "const": "sdt" + }, + { + "const": "image" + }, + { + "const": "footnoteRef" + }, + { + "const": "tab" + }, + { + "const": "lineBreak" + } + ] + }, + "anchor": { + "type": "object", + "properties": { + "start": { + "type": "object", + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "number" + } + }, + "required": [ + "blockId", + "offset" + ] + }, + "end": { + "type": "object", + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "number" + } + }, + "required": [ + "blockId", + "offset" + ] + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ] + } + ] + } + }, + { + "name": "limit", + "kind": "flag", + "type": "number" + }, + { + "name": "offset", + "kind": "flag", + "type": "number" + }, + { + "name": "includeNodes", + "kind": "flag", + "type": "boolean", + "flag": "include-nodes" + }, + { + "name": "includeUnknown", + "kind": "flag", + "type": "boolean", + "flag": "include-unknown" + }, + { + "name": "type", + "kind": "flag", + "type": "string" + }, + { + "name": "nodeType", + "kind": "flag", + "type": "string", + "flag": "node-type" + }, + { + "name": "kind", + "kind": "flag", + "type": "string" + }, + { + "name": "pattern", + "kind": "flag", + "type": "string" + }, + { + "name": "mode", + "kind": "flag", + "type": "string" + }, + { + "name": "caseSensitive", + "kind": "flag", + "type": "boolean", + "flag": "case-sensitive" + }, + { + "name": "query", + "kind": "jsonFlag", + "type": "json", + "flag": "query-json" + } + ], + "constraints": { + "requiresOneOf": [ + [ + "type", + "query" + ] + ], + "mutuallyExclusive": [ + [ + "type", + "query" + ] + ] + }, + "mutates": false, + "idempotency": "idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "includeNodes": { + "type": "boolean" + }, + "includeUnknown": { + "type": "boolean" + }, + "limit": { + "type": "integer" + }, + "offset": { + "type": "integer" + }, + "select": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "caseSensitive": { + "type": "boolean" + }, + "mode": { + "enum": [ + "contains", + "regex" + ] + }, + "pattern": { + "type": "string" + }, + "type": { + "const": "text" + } + }, + "required": [ + "type", + "pattern" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "enum": [ + "block", + "inline" + ] + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt", + "run", + "bookmark", + "comment", + "hyperlink", + "footnoteRef", + "tab", + "lineBreak" + ] + }, + "type": { + "const": "node" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt", + "run", + "bookmark", + "comment", + "hyperlink", + "footnoteRef", + "tab", + "lineBreak" + ] + } + }, + "required": [ + "nodeType" + ], + "type": "object" + } + ] + }, + "within": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt" + ] + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "anchor": { + "additionalProperties": false, + "properties": { + "end": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + }, + "start": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "kind": { + "const": "inline" + }, + "nodeType": { + "enum": [ + "run", + "bookmark", + "comment", + "hyperlink", + "sdt", + "image", + "footnoteRef", + "tab", + "lineBreak" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ], + "type": "object" + } + ] + } + }, + "required": [ + "select" + ], + "type": "object" + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "context": { + "items": { + "additionalProperties": false, + "properties": { + "address": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt" + ] + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "anchor": { + "additionalProperties": false, + "properties": { + "end": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + }, + "start": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "kind": { + "const": "inline" + }, + "nodeType": { + "enum": [ + "run", + "bookmark", + "comment", + "hyperlink", + "sdt", + "image", + "footnoteRef", + "tab", + "lineBreak" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ], + "type": "object" + } + ] + }, + "highlightRange": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "snippet": { + "type": "string" + }, + "textRanges": { + "items": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "address", + "snippet", + "highlightRange" + ], + "type": "object" + }, + "type": "array" + }, + "diagnostics": { + "items": { + "additionalProperties": false, + "properties": { + "address": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt" + ] + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "anchor": { + "additionalProperties": false, + "properties": { + "end": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + }, + "start": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "kind": { + "const": "inline" + }, + "nodeType": { + "enum": [ + "run", + "bookmark", + "comment", + "hyperlink", + "sdt", + "image", + "footnoteRef", + "tab", + "lineBreak" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ], + "type": "object" + } + ] + }, + "hint": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "type": "array" + }, + "matches": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt" + ] + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "anchor": { + "additionalProperties": false, + "properties": { + "end": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + }, + "start": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "kind": { + "const": "inline" + }, + "nodeType": { + "enum": [ + "run", + "bookmark", + "comment", + "hyperlink", + "sdt", + "image", + "footnoteRef", + "tab", + "lineBreak" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "nodes": { + "items": { + "additionalProperties": false, + "properties": { + "bodyNodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "bodyText": { + "type": "string" + }, + "kind": { + "enum": [ + "block", + "inline" + ] + }, + "nodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt", + "run", + "bookmark", + "comment", + "hyperlink", + "footnoteRef", + "tab", + "lineBreak" + ] + }, + "properties": { + "type": "object" + }, + "summary": { + "additionalProperties": false, + "properties": { + "label": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "nodeType", + "kind" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "matches", + "total" + ], + "type": "object" + } + }, + "doc.getNode": { + "operationId": "doc.getNode", + "command": "get-node", + "commandTokens": [ + "get-node" + ], + "category": "query", + "description": "Retrieve a single node by target position.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "get_node", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "address", + "kind": "jsonFlag", + "type": "json", + "flag": "address-json" + } + ], + "constraints": null, + "mutates": false, + "idempotency": "idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt" + ] + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "anchor": { + "additionalProperties": false, + "properties": { + "end": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + }, + "start": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "kind": { + "const": "inline" + }, + "nodeType": { + "enum": [ + "run", + "bookmark", + "comment", + "hyperlink", + "sdt", + "image", + "footnoteRef", + "tab", + "lineBreak" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ], + "type": "object" + } + ] + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "bodyNodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "bodyText": { + "type": "string" + }, + "kind": { + "enum": [ + "block", + "inline" + ] + }, + "nodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt", + "run", + "bookmark", + "comment", + "hyperlink", + "footnoteRef", + "tab", + "lineBreak" + ] + }, + "properties": { + "type": "object" + }, + "summary": { + "additionalProperties": false, + "properties": { + "label": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "nodeType", + "kind" + ], + "type": "object" + } + }, + "doc.getNodeById": { + "operationId": "doc.getNodeById", + "command": "get-node-by-id", + "commandTokens": [ + "get-node-by-id" + ], + "category": "query", + "description": "Retrieve a single node by its unique ID.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "get_node_by_id", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "id", + "kind": "flag", + "type": "string", + "required": true + }, + { + "name": "nodeType", + "kind": "flag", + "type": "string", + "flag": "node-type", + "schema": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + } + } + ], + "constraints": null, + "mutates": false, + "idempotency": "idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "nodeId": { + "type": "string" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt" + ] + } + }, + "required": [ + "nodeId" + ], + "type": "object" + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "bodyNodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "bodyText": { + "type": "string" + }, + "kind": { + "enum": [ + "block", + "inline" + ] + }, + "nodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt", + "run", + "bookmark", + "comment", + "hyperlink", + "footnoteRef", + "tab", + "lineBreak" + ] + }, + "properties": { + "type": "object" + }, + "summary": { + "additionalProperties": false, + "properties": { + "label": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "nodeType", + "kind" + ], + "type": "object" + } + }, + "doc.info": { + "operationId": "doc.info", + "command": "info", + "commandTokens": [ + "info" + ], + "category": "query", + "description": "Return document metadata including revision, node count, and capabilities.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "get_document_info", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + } + ], + "constraints": null, + "mutates": false, + "idempotency": "idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "capabilities": { + "additionalProperties": false, + "properties": { + "canComment": { + "type": "boolean" + }, + "canFind": { + "type": "boolean" + }, + "canGetNode": { + "type": "boolean" + }, + "canReplace": { + "type": "boolean" + } + }, + "required": [ + "canFind", + "canGetNode", + "canComment", + "canReplace" + ], + "type": "object" + }, + "counts": { + "additionalProperties": false, + "properties": { + "comments": { + "type": "integer" + }, + "headings": { + "type": "integer" + }, + "images": { + "type": "integer" + }, + "paragraphs": { + "type": "integer" + }, + "tables": { + "type": "integer" + }, + "words": { + "type": "integer" + } + }, + "required": [ + "words", + "paragraphs", + "headings", + "tables", + "images", + "comments" + ], + "type": "object" + }, + "outline": { + "items": { + "additionalProperties": false, + "properties": { + "level": { + "type": "integer" + }, + "nodeId": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "level", + "text", + "nodeId" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "counts", + "outline", + "capabilities" + ], + "type": "object" + } + }, + "doc.insert": { + "operationId": "doc.insert", + "command": "insert", + "commandTokens": [ + "insert" + ], + "category": "mutation", + "description": "Insert text or inline content at a target position.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "insert_content", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "dryRun", + "kind": "flag", + "type": "boolean", + "flag": "dry-run", + "agentVisible": false + }, + { + "name": "target", + "kind": "jsonFlag", + "type": "json", + "flag": "target-json", + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + { + "name": "text", + "kind": "flag", + "type": "string", + "required": true + } + ], + "constraints": null, + "mutates": true, + "idempotency": "non-idempotent", + "supportsTrackedMode": true, + "supportsDryRun": true, + "inputSchema": { + "additionalProperties": false, + "properties": { + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET", + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure", + "resolution" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET", + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure", + "resolution" + ], + "type": "object" + } + }, + "doc.replace": { + "operationId": "doc.replace", + "command": "replace", + "commandTokens": [ + "replace" + ], + "category": "mutation", + "description": "Replace content at a target position with new text or inline content.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "replace_content", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "dryRun", + "kind": "flag", + "type": "boolean", + "flag": "dry-run", + "agentVisible": false + }, + { + "name": "target", + "kind": "jsonFlag", + "type": "json", + "flag": "target-json", + "required": true, + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + { + "name": "text", + "kind": "flag", + "type": "string", + "required": true + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": true, + "supportsDryRun": true, + "inputSchema": { + "additionalProperties": false, + "properties": { + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "text" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET", + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure", + "resolution" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET", + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure", + "resolution" + ], + "type": "object" + } + }, + "doc.delete": { + "operationId": "doc.delete", + "command": "delete", + "commandTokens": [ + "delete" + ], + "category": "mutation", + "description": "Delete content at a target position.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "delete_content", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "dryRun", + "kind": "flag", + "type": "boolean", + "flag": "dry-run", + "agentVisible": false + }, + { + "name": "target", + "kind": "jsonFlag", + "type": "json", + "flag": "target-json", + "required": true, + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": true, + "supportsDryRun": true, + "inputSchema": { + "additionalProperties": false, + "properties": { + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + } + }, + "required": [ + "target" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure", + "resolution" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure", + "resolution" + ], + "type": "object" + } + }, + "doc.format.bold": { + "operationId": "doc.format.bold", + "command": "format bold", + "commandTokens": [ + "format", + "bold" + ], + "category": "format", + "description": "Toggle bold formatting on the target range.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "format_bold", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "dryRun", + "kind": "flag", + "type": "boolean", + "flag": "dry-run", + "agentVisible": false + }, + { + "name": "target", + "kind": "jsonFlag", + "type": "json", + "flag": "target-json", + "required": true, + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": true, + "supportsDryRun": true, + "inputSchema": { + "additionalProperties": false, + "properties": { + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + } + }, + "required": [ + "target" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure", + "resolution" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure", + "resolution" + ], + "type": "object" + } + }, + "doc.format.italic": { + "operationId": "doc.format.italic", + "command": "format italic", + "commandTokens": [ + "format", + "italic" + ], + "category": "format", + "description": "Toggle italic formatting on the target range.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "format_italic", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "dryRun", + "kind": "flag", + "type": "boolean", + "flag": "dry-run", + "agentVisible": false + }, + { + "name": "target", + "kind": "jsonFlag", + "type": "json", + "flag": "target-json", + "required": true, + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": true, + "supportsDryRun": true, + "inputSchema": { + "additionalProperties": false, + "properties": { + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + } + }, + "required": [ + "target" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure", + "resolution" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure", + "resolution" + ], + "type": "object" + } + }, + "doc.format.underline": { + "operationId": "doc.format.underline", + "command": "format underline", + "commandTokens": [ + "format", + "underline" + ], + "category": "format", + "description": "Toggle underline formatting on the target range.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "format_underline", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "dryRun", + "kind": "flag", + "type": "boolean", + "flag": "dry-run", + "agentVisible": false + }, + { + "name": "target", + "kind": "jsonFlag", + "type": "json", + "flag": "target-json", + "required": true, + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": true, + "supportsDryRun": true, + "inputSchema": { + "additionalProperties": false, + "properties": { + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + } + }, + "required": [ + "target" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure", + "resolution" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure", + "resolution" + ], + "type": "object" + } + }, + "doc.format.strikethrough": { + "operationId": "doc.format.strikethrough", + "command": "format strikethrough", + "commandTokens": [ + "format", + "strikethrough" + ], + "category": "format", + "description": "Toggle strikethrough formatting on the target range.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "format_strikethrough", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "dryRun", + "kind": "flag", + "type": "boolean", + "flag": "dry-run", + "agentVisible": false + }, + { + "name": "target", + "kind": "jsonFlag", + "type": "json", + "flag": "target-json", + "required": true, + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": true, + "supportsDryRun": true, + "inputSchema": { + "additionalProperties": false, + "properties": { + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + } + }, + "required": [ + "target" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure", + "resolution" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure", + "resolution" + ], + "type": "object" + } + }, + "doc.create.paragraph": { + "operationId": "doc.create.paragraph", + "command": "create paragraph", + "commandTokens": [ + "create", + "paragraph" + ], + "category": "create", + "description": "Create a new paragraph at the target position.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "create_paragraph", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "dryRun", + "kind": "flag", + "type": "boolean", + "flag": "dry-run", + "agentVisible": false + }, + { + "name": "at", + "kind": "jsonFlag", + "type": "json", + "flag": "at-json", + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "kind": { + "const": "documentStart" + } + }, + "required": [ + "kind" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "documentEnd" + } + }, + "required": [ + "kind" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "before" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "kind", + "target" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "after" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "kind", + "target" + ] + } + ] + } + }, + { + "name": "text", + "kind": "flag", + "type": "string" + }, + { + "name": "input", + "kind": "jsonFlag", + "type": "json", + "flag": "input-json" + } + ], + "constraints": null, + "mutates": true, + "idempotency": "non-idempotent", + "supportsTrackedMode": true, + "supportsDryRun": true, + "inputSchema": { + "additionalProperties": false, + "properties": { + "at": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "documentStart" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "documentEnd" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "before" + }, + "target": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt" + ] + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + } + }, + "required": [ + "kind", + "target" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "after" + }, + "target": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt" + ] + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + } + }, + "required": [ + "kind", + "target" + ], + "type": "object" + } + ] + }, + "text": { + "type": "string" + } + }, + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "insertionPoint": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "paragraph": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "paragraph" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + }, + "trackedChangeRefs": { + "items": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "success", + "paragraph", + "insertionPoint" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "insertionPoint": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "paragraph": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "paragraph" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + }, + "trackedChangeRefs": { + "items": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "success", + "paragraph", + "insertionPoint" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.lists.list": { + "operationId": "doc.lists.list", + "command": "lists list", + "commandTokens": [ + "lists", + "list" + ], + "category": "lists", + "description": "List all list nodes in the document, optionally filtered by scope.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "list_lists", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "within", + "kind": "jsonFlag", + "type": "json", + "flag": "within-json", + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + { + "name": "limit", + "kind": "flag", + "type": "number" + }, + { + "name": "offset", + "kind": "flag", + "type": "number" + }, + { + "name": "kind", + "kind": "flag", + "type": "string", + "schema": { + "oneOf": [ + { + "const": "ordered" + }, + { + "const": "bullet" + } + ] + } + }, + { + "name": "level", + "kind": "flag", + "type": "number" + }, + { + "name": "ordinal", + "kind": "flag", + "type": "number" + }, + { + "name": "query", + "kind": "jsonFlag", + "type": "json", + "flag": "query-json" + } + ], + "constraints": { + "mutuallyExclusive": [ + [ + "query", + "within" + ], + [ + "query", + "kind" + ], + [ + "query", + "level" + ], + [ + "query", + "ordinal" + ], + [ + "query", + "limit" + ], + [ + "query", + "offset" + ] + ] + }, + "mutates": false, + "idempotency": "idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "kind": { + "enum": [ + "ordered", + "bullet" + ] + }, + "level": { + "type": "integer" + }, + "limit": { + "type": "integer" + }, + "offset": { + "type": "integer" + }, + "ordinal": { + "type": "integer" + }, + "within": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt" + ] + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + } + }, + "type": "object" + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "items": { + "items": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "kind": { + "enum": [ + "ordered", + "bullet" + ] + }, + "level": { + "type": "integer" + }, + "marker": { + "type": "string" + }, + "ordinal": { + "type": "integer" + }, + "path": { + "items": { + "type": "integer" + }, + "type": "array" + }, + "text": { + "type": "string" + } + }, + "required": [ + "address" + ], + "type": "object" + }, + "type": "array" + }, + "matches": { + "items": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "matches", + "total", + "items" + ], + "type": "object" + } + }, + "doc.lists.get": { + "operationId": "doc.lists.get", + "command": "lists get", + "commandTokens": [ + "lists", + "get" + ], + "category": "lists", + "description": "Retrieve a specific list node by target.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "get_list", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "address", + "kind": "jsonFlag", + "type": "json", + "flag": "address-json", + "required": true, + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + } + ], + "constraints": null, + "mutates": false, + "idempotency": "idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + } + }, + "required": [ + "address" + ], + "type": "object" + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "kind": { + "enum": [ + "ordered", + "bullet" + ] + }, + "level": { + "type": "integer" + }, + "marker": { + "type": "string" + }, + "ordinal": { + "type": "integer" + }, + "path": { + "items": { + "type": "integer" + }, + "type": "array" + }, + "text": { + "type": "string" + } + }, + "required": [ + "address" + ], + "type": "object" + } + }, + "doc.lists.insert": { + "operationId": "doc.lists.insert", + "command": "lists insert", + "commandTokens": [ + "lists", + "insert" + ], + "category": "lists", + "description": "Insert a new list at the target position.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "insert_list", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "dryRun", + "kind": "flag", + "type": "boolean", + "flag": "dry-run", + "agentVisible": false + }, + { + "name": "target", + "kind": "jsonFlag", + "type": "json", + "flag": "target-json", + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + { + "name": "position", + "kind": "flag", + "type": "string", + "schema": { + "oneOf": [ + { + "const": "before" + }, + { + "const": "after" + } + ] + } + }, + { + "name": "text", + "kind": "flag", + "type": "string" + }, + { + "name": "input", + "kind": "jsonFlag", + "type": "json", + "flag": "input-json" + } + ], + "constraints": null, + "mutates": true, + "idempotency": "non-idempotent", + "supportsTrackedMode": true, + "supportsDryRun": true, + "inputSchema": { + "additionalProperties": false, + "properties": { + "position": { + "enum": [ + "before", + "after" + ] + }, + "target": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "position" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "insertionPoint": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + }, + "trackedChangeRefs": { + "items": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "success", + "item", + "insertionPoint" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "insertionPoint": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + }, + "trackedChangeRefs": { + "items": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "success", + "item", + "insertionPoint" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.lists.setType": { + "operationId": "doc.lists.setType", + "command": "lists set-type", + "commandTokens": [ + "lists", + "set-type" + ], + "category": "lists", + "description": "Change the list type (ordered, unordered) of a target list.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "set_list_type", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "dryRun", + "kind": "flag", + "type": "boolean", + "flag": "dry-run", + "agentVisible": false + }, + { + "name": "target", + "kind": "jsonFlag", + "type": "json", + "flag": "target-json", + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + { + "name": "kind", + "kind": "flag", + "type": "string", + "schema": { + "oneOf": [ + { + "const": "ordered" + }, + { + "const": "bullet" + } + ] + } + }, + { + "name": "input", + "kind": "jsonFlag", + "type": "json", + "flag": "input-json" + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": true, + "inputSchema": { + "additionalProperties": false, + "properties": { + "kind": { + "enum": [ + "ordered", + "bullet" + ] + }, + "target": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + } + }, + "required": [ + "target", + "kind" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP", + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP", + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.lists.indent": { + "operationId": "doc.lists.indent", + "command": "lists indent", + "commandTokens": [ + "lists", + "indent" + ], + "category": "lists", + "description": "Increase the indentation level of a list item.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "indent_list", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "dryRun", + "kind": "flag", + "type": "boolean", + "flag": "dry-run", + "agentVisible": false + }, + { + "name": "target", + "kind": "jsonFlag", + "type": "json", + "flag": "target-json", + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + { + "name": "input", + "kind": "jsonFlag", + "type": "json", + "flag": "input-json" + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": true, + "inputSchema": { + "additionalProperties": false, + "properties": { + "target": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + } + }, + "required": [ + "target" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP", + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP", + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.lists.outdent": { + "operationId": "doc.lists.outdent", + "command": "lists outdent", + "commandTokens": [ + "lists", + "outdent" + ], + "category": "lists", + "description": "Decrease the indentation level of a list item.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "outdent_list", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "dryRun", + "kind": "flag", + "type": "boolean", + "flag": "dry-run", + "agentVisible": false + }, + { + "name": "target", + "kind": "jsonFlag", + "type": "json", + "flag": "target-json", + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + { + "name": "input", + "kind": "jsonFlag", + "type": "json", + "flag": "input-json" + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": true, + "inputSchema": { + "additionalProperties": false, + "properties": { + "target": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + } + }, + "required": [ + "target" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP", + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP", + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.lists.restart": { + "operationId": "doc.lists.restart", + "command": "lists restart", + "commandTokens": [ + "lists", + "restart" + ], + "category": "lists", + "description": "Restart numbering of an ordered list at the target item.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "restart_list_numbering", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "dryRun", + "kind": "flag", + "type": "boolean", + "flag": "dry-run", + "agentVisible": false + }, + { + "name": "target", + "kind": "jsonFlag", + "type": "json", + "flag": "target-json", + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + { + "name": "input", + "kind": "jsonFlag", + "type": "json", + "flag": "input-json" + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": true, + "inputSchema": { + "additionalProperties": false, + "properties": { + "target": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + } + }, + "required": [ + "target" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP", + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP", + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.lists.exit": { + "operationId": "doc.lists.exit", + "command": "lists exit", + "commandTokens": [ + "lists", + "exit" + ], + "category": "lists", + "description": "Exit a list context, converting the target item to a paragraph.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "exit_list", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "dryRun", + "kind": "flag", + "type": "boolean", + "flag": "dry-run", + "agentVisible": false + }, + { + "name": "target", + "kind": "jsonFlag", + "type": "json", + "flag": "target-json", + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + { + "name": "input", + "kind": "jsonFlag", + "type": "json", + "flag": "input-json" + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": true, + "inputSchema": { + "additionalProperties": false, + "properties": { + "target": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + } + }, + "required": [ + "target" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "paragraph": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "paragraph" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "paragraph" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "paragraph": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "paragraph" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "paragraph" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.comments.add": { + "operationId": "doc.comments.add", + "command": "comments add", + "commandTokens": [ + "comments", + "add" + ], + "category": "comments", + "description": "Add a new comment thread anchored to a target range.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "add_comment", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "target", + "kind": "jsonFlag", + "type": "json", + "flag": "target-json", + "required": true, + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + { + "name": "text", + "kind": "flag", + "type": "string", + "required": true + } + ], + "constraints": null, + "mutates": true, + "idempotency": "non-idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "text" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET", + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET", + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.comments.edit": { + "operationId": "doc.comments.edit", + "command": "comments edit", + "commandTokens": [ + "comments", + "edit" + ], + "category": "comments", + "description": "Edit the content of an existing comment.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "edit_comment", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "id", + "kind": "flag", + "type": "string", + "required": true + }, + { + "name": "text", + "kind": "flag", + "type": "string", + "required": true + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "commentId": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "commentId", + "text" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.comments.reply": { + "operationId": "doc.comments.reply", + "command": "comments reply", + "commandTokens": [ + "comments", + "reply" + ], + "category": "comments", + "description": "Add a reply to an existing comment thread.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "reply_to_comment", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "parentId", + "kind": "flag", + "type": "string", + "flag": "parent-id", + "required": true + }, + { + "name": "text", + "kind": "flag", + "type": "string", + "required": true + } + ], + "constraints": null, + "mutates": true, + "idempotency": "non-idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "parentCommentId": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "parentCommentId", + "text" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.comments.move": { + "operationId": "doc.comments.move", + "command": "comments move", + "commandTokens": [ + "comments", + "move" + ], + "category": "comments", + "description": "Move a comment thread to a new anchor range.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "move_comment", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "id", + "kind": "flag", + "type": "string", + "required": true + }, + { + "name": "target", + "kind": "jsonFlag", + "type": "json", + "flag": "target-json", + "required": true, + "schema": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "commentId": { + "type": "string" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + } + }, + "required": [ + "commentId", + "target" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET", + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET", + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.comments.resolve": { + "operationId": "doc.comments.resolve", + "command": "comments resolve", + "commandTokens": [ + "comments", + "resolve" + ], + "category": "comments", + "description": "Resolve or unresolve a comment thread.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "resolve_comment", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "id", + "kind": "flag", + "type": "string", + "required": true + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "commentId": { + "type": "string" + } + }, + "required": [ + "commentId" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.comments.remove": { + "operationId": "doc.comments.remove", + "command": "comments remove", + "commandTokens": [ + "comments", + "remove" + ], + "category": "comments", + "description": "Remove a comment or reply by ID.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "remove_comment", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "id", + "kind": "flag", + "type": "string", + "required": true + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "commentId": { + "type": "string" + } + }, + "required": [ + "commentId" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.comments.setInternal": { + "operationId": "doc.comments.setInternal", + "command": "comments set-internal", + "commandTokens": [ + "comments", + "set-internal" + ], + "category": "comments", + "description": "Toggle the internal (private) flag on a comment thread.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "set_comment_internal", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "id", + "kind": "flag", + "type": "string", + "required": true + }, + { + "name": "isInternal", + "kind": "flag", + "type": "boolean", + "flag": "is-internal", + "required": true + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "commentId": { + "type": "string" + }, + "isInternal": { + "type": "boolean" + } + }, + "required": [ + "commentId", + "isInternal" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP", + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP", + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.comments.setActive": { + "operationId": "doc.comments.setActive", + "command": "comments set-active", + "commandTokens": [ + "comments", + "set-active" + ], + "category": "comments", + "description": "Set the active (focused) comment thread for UI highlighting.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "set_comment_active", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "commentId", + "kind": "jsonFlag", + "type": "json", + "flag": "comment-id-json", + "schema": { + "type": "json" + } + }, + { + "name": "id", + "kind": "flag", + "type": "string" + }, + { + "name": "clear", + "kind": "flag", + "type": "boolean" + } + ], + "constraints": { + "requiresOneOf": [ + [ + "id", + "clear" + ] + ], + "mutuallyExclusive": [ + [ + "id", + "clear" + ] + ] + }, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "commentId": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "commentId" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "INVALID_TARGET" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.comments.goTo": { + "operationId": "doc.comments.goTo", + "command": "comments go-to", + "commandTokens": [ + "comments", + "go-to" + ], + "category": "comments", + "description": "Scroll the viewport to a comment thread by ID.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "go_to_comment", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "id", + "kind": "flag", + "type": "string", + "required": true + } + ], + "constraints": null, + "mutates": false, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "commentId": { + "type": "string" + } + }, + "required": [ + "commentId" + ], + "type": "object" + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + } + }, + "doc.comments.get": { + "operationId": "doc.comments.get", + "command": "comments get", + "commandTokens": [ + "comments", + "get" + ], + "category": "comments", + "description": "Retrieve a single comment thread by ID.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "get_comment", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "id", + "kind": "flag", + "type": "string", + "required": true + } + ], + "constraints": null, + "mutates": false, + "idempotency": "idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "commentId": { + "type": "string" + } + }, + "required": [ + "commentId" + ], + "type": "object" + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "commentId": { + "type": "string" + }, + "createdTime": { + "type": "number" + }, + "creatorEmail": { + "type": "string" + }, + "creatorName": { + "type": "string" + }, + "importedId": { + "type": "string" + }, + "isInternal": { + "type": "boolean" + }, + "parentCommentId": { + "type": "string" + }, + "status": { + "enum": [ + "open", + "resolved" + ] + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "address", + "commentId", + "status" + ], + "type": "object" + } + }, + "doc.comments.list": { + "operationId": "doc.comments.list", + "command": "comments list", + "commandTokens": [ + "comments", + "list" + ], + "category": "comments", + "description": "List all comment threads in the document.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "list_comments", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "includeResolved", + "kind": "flag", + "type": "boolean", + "flag": "include-resolved" + } + ], + "constraints": null, + "mutates": false, + "idempotency": "idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "includeResolved": { + "type": "boolean" + } + }, + "type": "object" + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "matches": { + "items": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "commentId": { + "type": "string" + }, + "createdTime": { + "type": "number" + }, + "creatorEmail": { + "type": "string" + }, + "creatorName": { + "type": "string" + }, + "importedId": { + "type": "string" + }, + "isInternal": { + "type": "boolean" + }, + "parentCommentId": { + "type": "string" + }, + "status": { + "enum": [ + "open", + "resolved" + ] + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "address", + "commentId", + "status" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "matches", + "total" + ], + "type": "object" + } + }, + "doc.trackChanges.list": { + "operationId": "doc.trackChanges.list", + "command": "track-changes list", + "commandTokens": [ + "track-changes", + "list" + ], + "category": "trackChanges", + "description": "List all tracked changes in the document.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "list_tracked_changes", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "limit", + "kind": "flag", + "type": "number" + }, + { + "name": "offset", + "kind": "flag", + "type": "number" + }, + { + "name": "type", + "kind": "flag", + "type": "string", + "schema": { + "oneOf": [ + { + "const": "insert" + }, + { + "const": "delete" + }, + { + "const": "format" + } + ] + } + } + ], + "constraints": null, + "mutates": false, + "idempotency": "idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "limit": { + "type": "integer" + }, + "offset": { + "type": "integer" + }, + "type": { + "enum": [ + "insert", + "delete", + "format" + ] + } + }, + "type": "object" + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "changes": { + "items": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "author": { + "type": "string" + }, + "authorEmail": { + "type": "string" + }, + "authorImage": { + "type": "string" + }, + "date": { + "type": "string" + }, + "excerpt": { + "type": "string" + }, + "id": { + "type": "string" + }, + "type": { + "enum": [ + "insert", + "delete", + "format" + ] + } + }, + "required": [ + "address", + "id", + "type" + ], + "type": "object" + }, + "type": "array" + }, + "matches": { + "items": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "matches", + "total" + ], + "type": "object" + } + }, + "doc.trackChanges.get": { + "operationId": "doc.trackChanges.get", + "command": "track-changes get", + "commandTokens": [ + "track-changes", + "get" + ], + "category": "trackChanges", + "description": "Retrieve a single tracked change by ID.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "get_tracked_change", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "id", + "kind": "flag", + "type": "string", + "required": true + } + ], + "constraints": null, + "mutates": false, + "idempotency": "idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "author": { + "type": "string" + }, + "authorEmail": { + "type": "string" + }, + "authorImage": { + "type": "string" + }, + "date": { + "type": "string" + }, + "excerpt": { + "type": "string" + }, + "id": { + "type": "string" + }, + "type": { + "enum": [ + "insert", + "delete", + "format" + ] + } + }, + "required": [ + "address", + "id", + "type" + ], + "type": "object" + } + }, + "doc.trackChanges.accept": { + "operationId": "doc.trackChanges.accept", + "command": "track-changes accept", + "commandTokens": [ + "track-changes", + "accept" + ], + "category": "trackChanges", + "description": "Accept a tracked change, applying it permanently.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "accept_tracked_change", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "id", + "kind": "flag", + "type": "string", + "required": true + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.trackChanges.reject": { + "operationId": "doc.trackChanges.reject", + "command": "track-changes reject", + "commandTokens": [ + "track-changes", + "reject" + ], + "category": "trackChanges", + "description": "Reject a tracked change, reverting it.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "reject_tracked_change", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + }, + { + "name": "id", + "kind": "flag", + "type": "string", + "required": true + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.trackChanges.acceptAll": { + "operationId": "doc.trackChanges.acceptAll", + "command": "track-changes accept-all", + "commandTokens": [ + "track-changes", + "accept-all" + ], + "category": "trackChanges", + "description": "Accept all tracked changes in the document.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "accept_all_tracked_changes", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.trackChanges.rejectAll": { + "operationId": "doc.trackChanges.rejectAll", + "command": "track-changes reject-all", + "commandTokens": [ + "track-changes", + "reject-all" + ], + "category": "trackChanges", + "description": "Reject all tracked changes in the document.", + "requiresDocumentContext": true, + "docRequirement": "optional", + "intentName": "reject_all_tracked_changes", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string" + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "expectedRevision", + "kind": "flag", + "type": "number", + "flag": "expected-revision", + "agentVisible": false + }, + { + "name": "changeMode", + "kind": "flag", + "type": "string", + "flag": "change-mode", + "schema": { + "oneOf": [ + { + "const": "direct" + }, + { + "const": "tracked" + } + ] + }, + "agentVisible": false + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "inputSchema": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "outputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + ] + }, + "successSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "failureSchema": { + "additionalProperties": false, + "properties": { + "failure": { + "additionalProperties": false, + "properties": { + "code": { + "enum": [ + "NO_OP" + ] + }, + "details": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "success": { + "const": false + } + }, + "required": [ + "success", + "failure" + ], + "type": "object" + } + }, + "doc.open": { + "operationId": "doc.open", + "command": "open", + "commandTokens": [ + "open" + ], + "category": "lifecycle", + "description": "Open a document and create a persistent editing session.", + "requiresDocumentContext": false, + "docRequirement": "required", + "intentName": "open_document", + "params": [ + { + "name": "doc", + "kind": "doc", + "type": "string", + "required": true + }, + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "collaboration", + "kind": "jsonFlag", + "type": "json", + "flag": "collaboration-json" + }, + { + "name": "collabDocumentId", + "kind": "flag", + "type": "string", + "flag": "collab-document-id" + }, + { + "name": "collabUrl", + "kind": "flag", + "type": "string", + "flag": "collab-url" + } + ], + "constraints": null, + "mutates": false, + "idempotency": "non-idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "outputSchema": { + "type": "object", + "properties": { + "contextId": { + "type": "string" + }, + "sessionType": { + "type": "string" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + }, + "revision": { + "type": "number" + } + } + }, + "collaboration": { + "type": "object", + "properties": { + "documentId": { + "type": "string" + }, + "url": { + "type": "string" + } + } + } + }, + "required": [ + "contextId", + "sessionType" + ] + } + }, + "doc.save": { + "operationId": "doc.save", + "command": "save", + "commandTokens": [ + "save" + ], + "category": "lifecycle", + "description": "Save the current session to the original file or a new path.", + "requiresDocumentContext": false, + "docRequirement": "none", + "intentName": "save_document", + "params": [ + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "inPlace", + "kind": "flag", + "type": "boolean", + "flag": "in-place" + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "outputSchema": { + "type": "object", + "properties": { + "contextId": { + "type": "string" + }, + "saved": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + }, + "revision": { + "type": "number" + } + } + }, + "context": { + "type": "object", + "properties": { + "dirty": { + "type": "boolean" + }, + "revision": { + "type": "number" + }, + "lastSavedAt": { + "type": "string" + } + } + }, + "output": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "byteLength": { + "type": "number" + } + } + } + }, + "required": [ + "contextId", + "saved" + ] + } + }, + "doc.close": { + "operationId": "doc.close", + "command": "close", + "commandTokens": [ + "close" + ], + "category": "lifecycle", + "description": "Close the active editing session and clean up resources.", + "requiresDocumentContext": false, + "docRequirement": "none", + "intentName": "close_document", + "params": [ + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + }, + { + "name": "discard", + "kind": "flag", + "type": "boolean" + } + ], + "constraints": null, + "mutates": false, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "outputSchema": { + "type": "object", + "properties": { + "contextId": { + "type": "string" + }, + "closed": { + "type": "boolean" + }, + "saved": { + "type": "boolean" + }, + "discarded": { + "type": "boolean" + }, + "defaultSessionCleared": { + "type": "boolean" + }, + "wasDirty": { + "type": "boolean" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + }, + "revision": { + "type": "number" + } + } + } + }, + "required": [ + "contextId", + "closed" + ] + } + }, + "doc.status": { + "operationId": "doc.status", + "command": "status", + "commandTokens": [ + "status" + ], + "category": "introspection", + "description": "Show the current session status and document metadata.", + "requiresDocumentContext": false, + "docRequirement": "none", + "intentName": "get_status", + "params": [ + { + "name": "sessionId", + "kind": "flag", + "type": "string", + "flag": "session" + } + ], + "constraints": null, + "mutates": false, + "idempotency": "idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "outputSchema": { + "type": "object", + "properties": { + "contextId": { + "type": "string" + }, + "sessionType": { + "type": "string" + }, + "dirty": { + "type": "boolean" + }, + "revision": { + "type": "number" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + } + } + } + }, + "required": [ + "contextId" + ] + } + }, + "doc.describe": { + "operationId": "doc.describe", + "command": "describe", + "commandTokens": [ + "describe" + ], + "category": "introspection", + "description": "List all available CLI operations and contract metadata.", + "requiresDocumentContext": false, + "docRequirement": "none", + "intentName": "describe_commands", + "params": [], + "constraints": null, + "mutates": false, + "idempotency": "idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "outputSchema": { + "type": "object", + "properties": { + "contractVersion": { + "type": "string" + }, + "operations": { + "type": "array", + "items": { + "type": "object", + "properties": { + "operationId": { + "type": "string" + }, + "command": { + "type": "string" + }, + "category": { + "type": "string" + }, + "description": { + "type": "string" + }, + "mutates": { + "type": "boolean" + } + } + } + } + } + } + }, + "doc.describeCommand": { + "operationId": "doc.describeCommand", + "command": "describe command", + "commandTokens": [ + "describe", + "command" + ], + "category": "introspection", + "description": "Show detailed metadata for a single CLI operation.", + "requiresDocumentContext": false, + "docRequirement": "none", + "intentName": "describe_command", + "params": [ + { + "name": "operationId", + "kind": "doc", + "type": "string", + "required": true + } + ], + "constraints": null, + "mutates": false, + "idempotency": "idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "outputSchema": { + "type": "object", + "properties": { + "operationId": { + "type": "string" + }, + "command": { + "type": "string" + }, + "category": { + "type": "string" + }, + "description": { + "type": "string" + }, + "mutates": { + "type": "boolean" + }, + "params": { + "type": "array" + }, + "constraints": {} + } + } + }, + "doc.session.list": { + "operationId": "doc.session.list", + "command": "session list", + "commandTokens": [ + "session", + "list" + ], + "category": "session", + "description": "List all active editing sessions.", + "requiresDocumentContext": false, + "docRequirement": "none", + "intentName": "list_sessions", + "params": [], + "constraints": null, + "mutates": false, + "idempotency": "idempotent", + "supportsTrackedMode": false, + "supportsDryRun": false, + "outputSchema": { + "type": "object", + "properties": { + "activeSessionId": { + "type": "string" + }, + "sessions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "sessionType": { + "type": "string" + }, + "dirty": { + "type": "boolean" + }, + "revision": { + "type": "number" + } + } + } + }, + "total": { + "type": "number" + } + } + } + }, + "doc.session.save": { + "operationId": "doc.session.save", + "command": "session save", + "commandTokens": [ + "session", + "save" + ], + "category": "session", + "description": "Persist the current session state.", + "requiresDocumentContext": false, + "docRequirement": "none", + "intentName": "save_session", + "params": [ + { + "name": "sessionId", + "kind": "doc", + "type": "string", + "required": true + }, + { + "name": "out", + "kind": "flag", + "type": "string", + "agentVisible": false + }, + { + "name": "force", + "kind": "flag", + "type": "boolean" + }, + { + "name": "inPlace", + "kind": "flag", + "type": "boolean", + "flag": "in-place" + } + ], + "constraints": null, + "mutates": true, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "outputSchema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "contextId": { + "type": "string" + }, + "saved": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + }, + "revision": { + "type": "number" + } + } + }, + "output": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "byteLength": { + "type": "number" + } + } + } + }, + "required": [ + "sessionId" + ] + } + }, + "doc.session.close": { + "operationId": "doc.session.close", + "command": "session close", + "commandTokens": [ + "session", + "close" + ], + "category": "session", + "description": "Close a specific editing session by ID.", + "requiresDocumentContext": false, + "docRequirement": "none", + "intentName": "close_session", + "params": [ + { + "name": "sessionId", + "kind": "doc", + "type": "string", + "required": true + }, + { + "name": "discard", + "kind": "flag", + "type": "boolean" + } + ], + "constraints": null, + "mutates": false, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "outputSchema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "contextId": { + "type": "string" + }, + "closed": { + "type": "boolean" + }, + "saved": { + "type": "boolean" + }, + "discarded": { + "type": "boolean" + }, + "defaultSessionCleared": { + "type": "boolean" + }, + "wasDirty": { + "type": "boolean" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + }, + "revision": { + "type": "number" + } + } + } + }, + "required": [ + "sessionId" + ] + } + }, + "doc.session.setDefault": { + "operationId": "doc.session.setDefault", + "command": "session set-default", + "commandTokens": [ + "session", + "set-default" + ], + "category": "session", + "description": "Set the default session for subsequent commands.", + "requiresDocumentContext": false, + "docRequirement": "none", + "intentName": "set_default_session", + "params": [ + { + "name": "sessionId", + "kind": "doc", + "type": "string", + "required": true + } + ], + "constraints": null, + "mutates": false, + "idempotency": "conditional", + "supportsTrackedMode": false, + "supportsDryRun": false, + "outputSchema": { + "type": "object", + "properties": { + "activeSessionId": { + "type": "string" + } + }, + "required": [ + "activeSessionId" + ] + } + } + } +} as const; + +export type Contract = typeof CONTRACT; +export type OperationEntry = Contract['operations'][keyof Contract['operations']]; diff --git a/packages/sdk/langs/node/src/index.ts b/packages/sdk/langs/node/src/index.ts new file mode 100644 index 0000000000..c0901411de --- /dev/null +++ b/packages/sdk/langs/node/src/index.ts @@ -0,0 +1,44 @@ +import { createDocApi } from './generated/client.js'; +import { SuperDocRuntime, type SuperDocClientOptions } from './runtime/process.js'; + +/** + * High-level client for interacting with SuperDoc documents via the CLI. + * + * Provides a typed `doc` API for opening, querying, and mutating documents. + * Call {@link connect} before operations and {@link dispose} when finished + * to manage the host process lifecycle. + */ +export class SuperDocClient { + private readonly runtime: SuperDocRuntime; + readonly doc: ReturnType; + + constructor(options: SuperDocClientOptions = {}) { + this.runtime = new SuperDocRuntime(options); + this.doc = createDocApi(this.runtime); + } + + async connect(): Promise { + await this.runtime.connect(); + } + + async dispose(): Promise { + await this.runtime.dispose(); + } +} + +export function createSuperDocClient(options: SuperDocClientOptions = {}): SuperDocClient { + return new SuperDocClient(options); +} + +export { getSkill, installSkill, listSkills } from './skills.js'; +export { + chooseTools, + dispatchSuperDocTool, + getToolCatalog, + inferDocumentFeatures, + listTools, + resolveToolOperation, +} from './tools.js'; +export { SuperDocCliError } from './runtime/errors.js'; +export type { InvokeOptions, OperationSpec, OperationParamSpec, SuperDocClientOptions } from './runtime/process.js'; +export type { DocumentFeatures, ToolChooserInput, ToolPhase, ToolProfile, ToolProvider } from './tools.js'; diff --git a/packages/sdk/langs/node/src/runtime/__tests__/transport-common.test.ts b/packages/sdk/langs/node/src/runtime/__tests__/transport-common.test.ts new file mode 100644 index 0000000000..fa3753611d --- /dev/null +++ b/packages/sdk/langs/node/src/runtime/__tests__/transport-common.test.ts @@ -0,0 +1,163 @@ +import { describe, expect, test } from 'bun:test'; +import { buildOperationArgv, resolveInvocation, type OperationSpec } from '../transport-common.js'; + +const makeOp = (overrides: Partial = {}): OperationSpec => ({ + operationId: 'doc.test', + commandTokens: ['test'], + params: [], + ...overrides, +}); + +describe('resolveInvocation', () => { + test('returns bare binary for non-script paths', () => { + const result = resolveInvocation('/usr/local/bin/superdoc'); + expect(result.command).toBe('/usr/local/bin/superdoc'); + expect(result.prefixArgs).toEqual([]); + }); + + test('wraps .js files with node', () => { + const result = resolveInvocation('/path/to/cli.js'); + expect(result.command).toBe('node'); + expect(result.prefixArgs).toEqual(['/path/to/cli.js']); + }); + + test('wraps .ts files with bun', () => { + const result = resolveInvocation('/path/to/cli.ts'); + expect(result.command).toBe('bun'); + expect(result.prefixArgs).toEqual(['/path/to/cli.ts']); + }); +}); + +describe('buildOperationArgv', () => { + test('starts with commandTokens', () => { + const op = makeOp({ commandTokens: ['format', 'bold'] }); + const argv = buildOperationArgv(op, {}, {}, undefined); + expect(argv[0]).toBe('format'); + expect(argv[1]).toBe('bold'); + }); + + test('appends --output json', () => { + const argv = buildOperationArgv(makeOp(), {}, {}, undefined); + expect(argv).toContain('--output'); + expect(argv[argv.indexOf('--output') + 1]).toBe('json'); + }); + + test('encodes doc positional param', () => { + const op = makeOp({ + params: [{ name: 'doc', kind: 'doc', type: 'string' }], + }); + const argv = buildOperationArgv(op, { doc: 'report.docx' }, {}, undefined); + expect(argv).toContain('report.docx'); + }); + + test('encodes string flag param', () => { + const op = makeOp({ + params: [{ name: 'pattern', kind: 'flag', flag: 'pattern', type: 'string' }], + }); + const argv = buildOperationArgv(op, { pattern: 'hello' }, {}, undefined); + expect(argv).toContain('--pattern'); + expect(argv[argv.indexOf('--pattern') + 1]).toBe('hello'); + }); + + test('encodes boolean flag param as explicit true/false', () => { + const op = makeOp({ + params: [{ name: 'caseSensitive', kind: 'flag', flag: 'case-sensitive', type: 'boolean' }], + }); + + const argvTrue = buildOperationArgv(op, { caseSensitive: true }, {}, undefined); + expect(argvTrue).toContain('--case-sensitive'); + expect(argvTrue[argvTrue.indexOf('--case-sensitive') + 1]).toBe('true'); + + const argvFalse = buildOperationArgv(op, { caseSensitive: false }, {}, undefined); + expect(argvFalse).toContain('--case-sensitive'); + expect(argvFalse[argvFalse.indexOf('--case-sensitive') + 1]).toBe('false'); + }); + + test('encodes string[] flag with repeated flags', () => { + const op = makeOp({ + params: [{ name: 'tags', kind: 'flag', flag: 'tag', type: 'string[]' }], + }); + const argv = buildOperationArgv(op, { tags: ['a', 'b', 'c'] }, {}, undefined); + const tagIndices = argv.reduce((acc, v, i) => (v === '--tag' ? [...acc, i] : acc), []); + expect(tagIndices.length).toBe(3); + expect(argv[tagIndices[0] + 1]).toBe('a'); + expect(argv[tagIndices[1] + 1]).toBe('b'); + expect(argv[tagIndices[2] + 1]).toBe('c'); + }); + + test('encodes json flag as stringified JSON', () => { + const op = makeOp({ + params: [{ name: 'query', kind: 'jsonFlag', flag: 'query-json', type: 'json' }], + }); + const data = { select: { type: 'text' } }; + const argv = buildOperationArgv(op, { query: data }, {}, undefined); + expect(argv).toContain('--query-json'); + expect(argv[argv.indexOf('--query-json') + 1]).toBe(JSON.stringify(data)); + }); + + test('skips null/undefined params', () => { + const op = makeOp({ + params: [ + { name: 'pattern', kind: 'flag', flag: 'pattern', type: 'string' }, + { name: 'mode', kind: 'flag', flag: 'mode', type: 'string' }, + ], + }); + const argv = buildOperationArgv(op, { pattern: 'hello' }, {}, undefined); + expect(argv).toContain('--pattern'); + expect(argv).not.toContain('--mode'); + }); + + test('appends timeout-ms when specified in options', () => { + const argv = buildOperationArgv(makeOp(), {}, { timeoutMs: 5000 }, undefined); + expect(argv).toContain('--timeout-ms'); + expect(argv[argv.indexOf('--timeout-ms') + 1]).toBe('5000'); + }); + + test('appends runtime timeout when no per-call override', () => { + const argv = buildOperationArgv(makeOp(), {}, {}, 10000); + expect(argv).toContain('--timeout-ms'); + expect(argv[argv.indexOf('--timeout-ms') + 1]).toBe('10000'); + }); + + test('per-call timeout overrides runtime timeout', () => { + const argv = buildOperationArgv(makeOp(), {}, { timeoutMs: 3000 }, 10000); + expect(argv).toContain('--timeout-ms'); + expect(argv[argv.indexOf('--timeout-ms') + 1]).toBe('3000'); + }); + + test('injects defaultChangeMode when operation supports it and user did not specify', () => { + const op = makeOp({ + params: [ + { name: 'doc', kind: 'doc', type: 'string' }, + { name: 'changeMode', kind: 'flag', flag: 'change-mode', type: 'string' }, + ], + }); + const argv = buildOperationArgv(op, { doc: 'test.docx' }, {}, undefined, 'tracked'); + expect(argv).toContain('--change-mode'); + expect(argv[argv.indexOf('--change-mode') + 1]).toBe('tracked'); + }); + + test('does not inject defaultChangeMode when user explicitly passes changeMode', () => { + const op = makeOp({ + params: [ + { name: 'doc', kind: 'doc', type: 'string' }, + { name: 'changeMode', kind: 'flag', flag: 'change-mode', type: 'string' }, + ], + }); + const argv = buildOperationArgv(op, { doc: 'test.docx', changeMode: 'direct' }, {}, undefined, 'tracked'); + expect(argv).toContain('--change-mode'); + // Should use user's value, not the default + expect(argv[argv.indexOf('--change-mode') + 1]).toBe('direct'); + // Should only appear once + const count = argv.filter((v) => v === '--change-mode').length; + expect(count).toBe(1); + }); + + test('does not inject defaultChangeMode when operation does not support it', () => { + const op = makeOp({ + params: [{ name: 'doc', kind: 'doc', type: 'string' }], + }); + const argv = buildOperationArgv(op, { doc: 'test.docx' }, {}, undefined, 'tracked'); + expect(argv).not.toContain('--change-mode'); + }); +}); diff --git a/packages/sdk/langs/node/src/runtime/embedded-cli.ts b/packages/sdk/langs/node/src/runtime/embedded-cli.ts new file mode 100644 index 0000000000..085cc29096 --- /dev/null +++ b/packages/sdk/langs/node/src/runtime/embedded-cli.ts @@ -0,0 +1,102 @@ +import { chmodSync, existsSync } from 'node:fs'; +import { createRequire } from 'node:module'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { SuperDocCliError } from './errors.js'; + +const require = createRequire(import.meta.url); + +type SupportedTarget = 'darwin-arm64' | 'darwin-x64' | 'linux-x64' | 'linux-arm64' | 'windows-x64'; + +const TARGET_TO_PACKAGE: Record = { + 'darwin-arm64': '@superdoc-dev/sdk-darwin-arm64', + 'darwin-x64': '@superdoc-dev/sdk-darwin-x64', + 'linux-x64': '@superdoc-dev/sdk-linux-x64', + 'linux-arm64': '@superdoc-dev/sdk-linux-arm64', + 'windows-x64': '@superdoc-dev/sdk-windows-x64', +}; + +const TARGET_TO_DIR: Record = { + 'darwin-arm64': 'sdk-darwin-arm64', + 'darwin-x64': 'sdk-darwin-x64', + 'linux-x64': 'sdk-linux-x64', + 'linux-arm64': 'sdk-linux-arm64', + 'windows-x64': 'sdk-windows-x64', +}; + +function resolveTarget(): SupportedTarget | null { + const platform = process.platform; + const arch = process.arch; + + if (platform === 'darwin' && arch === 'arm64') return 'darwin-arm64'; + if (platform === 'darwin' && arch === 'x64') return 'darwin-x64'; + if (platform === 'linux' && arch === 'x64') return 'linux-x64'; + if (platform === 'linux' && arch === 'arm64') return 'linux-arm64'; + if (platform === 'win32' && arch === 'x64') return 'windows-x64'; + + return null; +} + +function binaryNameForTarget(target: SupportedTarget): string { + return target === 'windows-x64' ? 'superdoc.exe' : 'superdoc'; +} + +function ensureExecutable(binaryPath: string): void { + if (process.platform === 'win32') return; + try { + chmodSync(binaryPath, 0o755); + } catch { + // Non-fatal: if chmod fails, spawn() will surface the real execution error. + } +} + +function resolveFromPlatformPackage(target: SupportedTarget): string | null { + const pkg = TARGET_TO_PACKAGE[target]; + const binaryName = binaryNameForTarget(target); + + try { + return require.resolve(`${pkg}/bin/${binaryName}`); + } catch { + return null; + } +} + +function resolveFromWorkspaceFallback(target: SupportedTarget): string | null { + const binaryName = binaryNameForTarget(target); + const dirName = TARGET_TO_DIR[target]; + const filePath = path.resolve(fileURLToPath(new URL('../../platforms', import.meta.url)), dirName, 'bin', binaryName); + if (!existsSync(filePath)) return null; + return filePath; +} + +/** + * Resolve the path to the embedded SuperDoc CLI binary for the current platform. + */ +export function resolveEmbeddedCliBinary(): string { + const target = resolveTarget(); + if (!target) { + throw new SuperDocCliError('No embedded SuperDoc CLI binary is available for this platform.', { + code: 'UNSUPPORTED_PLATFORM', + details: { + platform: process.platform, + arch: process.arch, + }, + }); + } + + const platformPackagePath = resolveFromPlatformPackage(target); + const resolvedPath = platformPackagePath ?? resolveFromWorkspaceFallback(target); + + if (!resolvedPath) { + throw new SuperDocCliError('Embedded SuperDoc CLI binary is missing for this platform.', { + code: 'CLI_BINARY_MISSING', + details: { + target, + packageName: TARGET_TO_PACKAGE[target], + }, + }); + } + + ensureExecutable(resolvedPath); + return resolvedPath; +} diff --git a/packages/sdk/langs/node/src/runtime/errors.ts b/packages/sdk/langs/node/src/runtime/errors.ts new file mode 100644 index 0000000000..b582b2c2e3 --- /dev/null +++ b/packages/sdk/langs/node/src/runtime/errors.ts @@ -0,0 +1,19 @@ +/** + * Error thrown by the SuperDoc SDK when a CLI operation fails. + * + * Includes a machine-readable `code` for programmatic error handling + * and optional `details` with structured diagnostic context. + */ +export class SuperDocCliError extends Error { + readonly code: string; + readonly details?: unknown; + readonly exitCode?: number; + + constructor(message: string, options: { code: string; details?: unknown; exitCode?: number }) { + super(message); + this.name = 'SuperDocCliError'; + this.code = options.code; + this.details = options.details; + this.exitCode = options.exitCode; + } +} diff --git a/packages/sdk/langs/node/src/runtime/host.ts b/packages/sdk/langs/node/src/runtime/host.ts new file mode 100644 index 0000000000..1b93e65b38 --- /dev/null +++ b/packages/sdk/langs/node/src/runtime/host.ts @@ -0,0 +1,456 @@ +import { spawn, type ChildProcessWithoutNullStreams } from 'node:child_process'; +import { createInterface, type Interface as ReadlineInterface } from 'node:readline'; +import { + buildOperationArgv, + resolveInvocation, + type ChangeMode, + type InvokeOptions, + type OperationSpec, + type SuperDocClientOptions, +} from './transport-common.js'; +import { SuperDocCliError } from './errors.js'; + +type PendingRequest = { + resolve: (value: unknown) => void; + reject: (error: SuperDocCliError) => void; + timer: NodeJS.Timeout; +}; + +type JsonRpcErrorData = { + cliCode?: unknown; + message?: unknown; + details?: unknown; + exitCode?: unknown; +}; + +type JsonRpcError = { + code: number; + message: string; + data?: JsonRpcErrorData; +}; + +const HOST_PROTOCOL_VERSION = '1.0'; +const REQUIRED_FEATURES = ['cli.invoke', 'host.shutdown']; +const CHANGE_MODES: readonly ChangeMode[] = ['direct', 'tracked']; + +const JSON_RPC_TIMEOUT_CODE = -32011; + +/** + * Transport that communicates with a long-lived CLI host process over JSON-RPC stdio. + */ +export class HostTransport { + private readonly cliBin: string; + private readonly env?: Record; + private readonly startupTimeoutMs: number; + private readonly shutdownTimeoutMs: number; + private readonly requestTimeoutMs?: number; + private readonly watchdogTimeoutMs: number; + private readonly maxQueueDepth: number; + private readonly defaultChangeMode?: ChangeMode; + + private child: ChildProcessWithoutNullStreams | null = null; + private stdoutReader: ReadlineInterface | null = null; + private readonly pending = new Map(); + private nextRequestId = 1; + private connecting: Promise | null = null; + private stopping = false; + + constructor(options: { cliBin: string } & SuperDocClientOptions) { + this.cliBin = options.cliBin; + this.env = options.env; + + this.startupTimeoutMs = options.startupTimeoutMs ?? 5_000; + this.shutdownTimeoutMs = options.shutdownTimeoutMs ?? 5_000; + this.requestTimeoutMs = options.requestTimeoutMs; + this.watchdogTimeoutMs = options.watchdogTimeoutMs ?? 30_000; + this.maxQueueDepth = options.maxQueueDepth ?? 100; + if (options.defaultChangeMode != null && !CHANGE_MODES.includes(options.defaultChangeMode)) { + throw new SuperDocCliError('defaultChangeMode must be "direct" or "tracked".', { + code: 'INVALID_ARGUMENT', + details: { defaultChangeMode: options.defaultChangeMode }, + }); + } + this.defaultChangeMode = options.defaultChangeMode; + } + + async connect(): Promise { + await this.ensureConnected(); + } + + async dispose(): Promise { + if (!this.child) return; + + this.stopping = true; + + const child = this.child; + try { + await this.sendJsonRpcRequest('host.shutdown', {}, this.shutdownTimeoutMs); + } catch { + // ignore and force shutdown below + } + + await new Promise((resolve) => { + const timer = setTimeout(() => { + child.kill('SIGKILL'); + resolve(); + }, this.shutdownTimeoutMs); + + child.once('close', () => { + clearTimeout(timer); + resolve(); + }); + }); + + this.cleanupProcess(null); + this.stopping = false; + } + + async invoke>( + operation: OperationSpec, + params: Record = {}, + options: InvokeOptions = {}, + ): Promise { + await this.ensureConnected(); + + const argv = buildOperationArgv(operation, params, options, this.requestTimeoutMs, this.defaultChangeMode); + const stdinBase64 = options.stdinBytes ? Buffer.from(options.stdinBytes).toString('base64') : ''; + const watchdogTimeout = this.resolveWatchdogTimeout(options.timeoutMs); + + const response = await this.sendJsonRpcRequest( + 'cli.invoke', + { + argv, + stdinBase64, + }, + watchdogTimeout, + ); + + if (typeof response !== 'object' || response == null || Array.isArray(response)) { + throw new SuperDocCliError('Host returned invalid cli.invoke result.', { + code: 'HOST_PROTOCOL_ERROR', + details: { result: response }, + }); + } + + const resultRecord = response as Record; + return resultRecord.data as TData; + } + + private async ensureConnected(): Promise { + if (this.child && !this.child.killed) { + return; + } + + if (this.connecting) { + await this.connecting; + return; + } + + this.connecting = this.startHostProcess(); + try { + await this.connecting; + } finally { + this.connecting = null; + } + } + + private async startHostProcess(): Promise { + const { command, prefixArgs } = resolveInvocation(this.cliBin); + const args = [...prefixArgs, 'host', '--stdio']; + + const child = spawn(command, args, { + env: { + ...process.env, + ...(this.env ?? {}), + }, + stdio: ['pipe', 'pipe', 'pipe'], + }); + + this.child = child; + + const stdoutReader = createInterface({ + input: child.stdout, + crlfDelay: Number.POSITIVE_INFINITY, + }); + this.stdoutReader = stdoutReader; + + stdoutReader.on('line', (line) => { + this.onStdoutLine(line); + }); + + child.stderr.on('data', () => { + // stderr intentionally ignored in host mode + }); + + child.on('error', (error) => { + this.handleDisconnect( + new SuperDocCliError('Host process failed.', { + code: 'HOST_DISCONNECTED', + details: { + message: error instanceof Error ? error.message : String(error), + }, + }), + ); + }); + + child.on('close', (code, signal) => { + if (this.stopping) { + this.cleanupProcess(null); + return; + } + + this.handleDisconnect( + new SuperDocCliError('Host process disconnected.', { + code: 'HOST_DISCONNECTED', + details: { exitCode: code, signal }, + }), + ); + }); + + try { + const capabilities = await this.sendJsonRpcRequest('host.capabilities', {}, this.startupTimeoutMs); + this.assertCapabilities(capabilities); + } catch (error) { + const normalized = + error instanceof SuperDocCliError + ? error + : new SuperDocCliError('Host handshake failed.', { + code: 'HOST_HANDSHAKE_FAILED', + details: { + message: error instanceof Error ? error.message : String(error), + }, + }); + this.handleDisconnect(normalized); + throw normalized; + } + } + + private assertCapabilities(response: unknown): void { + if (typeof response !== 'object' || response == null || Array.isArray(response)) { + throw new SuperDocCliError('Host capabilities response is invalid.', { + code: 'HOST_HANDSHAKE_FAILED', + details: { response }, + }); + } + + const record = response as Record; + const protocolVersion = record.protocolVersion; + const features = record.features; + + if (protocolVersion !== HOST_PROTOCOL_VERSION) { + throw new SuperDocCliError('Host protocol version is unsupported.', { + code: 'HOST_HANDSHAKE_FAILED', + details: { + expected: HOST_PROTOCOL_VERSION, + actual: protocolVersion, + }, + }); + } + + if (!Array.isArray(features) || features.some((f) => typeof f !== 'string')) { + throw new SuperDocCliError('Host capabilities.features must be a string array.', { + code: 'HOST_HANDSHAKE_FAILED', + details: { features }, + }); + } + + for (const requiredFeature of REQUIRED_FEATURES) { + if (!features.includes(requiredFeature)) { + throw new SuperDocCliError(`Host does not support required feature: ${requiredFeature}`, { + code: 'HOST_HANDSHAKE_FAILED', + details: { features }, + }); + } + } + } + + private resolveWatchdogTimeout(timeoutMsOverride: number | undefined): number { + if (timeoutMsOverride != null) { + return Math.max(this.watchdogTimeoutMs, timeoutMsOverride + 1_000); + } + + if (this.requestTimeoutMs != null) { + return Math.max(this.watchdogTimeoutMs, this.requestTimeoutMs + 1_000); + } + + return this.watchdogTimeoutMs; + } + + private async sendJsonRpcRequest(method: string, params: unknown, watchdogTimeoutMs: number): Promise { + const child = this.child; + if (!child || !child.stdin.writable) { + throw new SuperDocCliError('Host process is not available.', { + code: 'HOST_DISCONNECTED', + }); + } + + if (this.pending.size >= this.maxQueueDepth) { + throw new SuperDocCliError('Host request queue is full.', { + code: 'HOST_QUEUE_FULL', + details: { maxQueueDepth: this.maxQueueDepth }, + }); + } + + const id = this.nextRequestId; + this.nextRequestId += 1; + + const payload = JSON.stringify({ + jsonrpc: '2.0', + id, + method, + params, + }); + + const promise = new Promise((resolve, reject) => { + const timer = setTimeout(() => { + this.pending.delete(id); + + reject( + new SuperDocCliError(`Host watchdog timed out waiting for ${method}.`, { + code: 'HOST_TIMEOUT', + details: { method, timeoutMs: watchdogTimeoutMs }, + }), + ); + + this.handleDisconnect( + new SuperDocCliError('Host watchdog timeout; host process will be restarted on next request.', { + code: 'HOST_DISCONNECTED', + details: { method, timeoutMs: watchdogTimeoutMs }, + }), + ); + }, watchdogTimeoutMs); + + this.pending.set(id, { resolve, reject, timer }); + + child.stdin.write(`${payload}\n`, (error) => { + if (!error) return; + + const pending = this.pending.get(id); + if (!pending) return; + + clearTimeout(pending.timer); + this.pending.delete(id); + reject( + new SuperDocCliError('Failed to write request to host process.', { + code: 'HOST_DISCONNECTED', + details: { method, message: error.message }, + }), + ); + }); + }); + + return promise; + } + + private onStdoutLine(line: string): void { + let parsed: unknown; + try { + parsed = JSON.parse(line); + } catch { + return; + } + + if (typeof parsed !== 'object' || parsed == null || Array.isArray(parsed)) { + return; + } + + const record = parsed as Record; + if (record.jsonrpc !== '2.0') { + return; + } + + // Notification (no id) — reserved for future eventing + if ('method' in record && !('id' in record)) { + return; + } + + const idRaw = record.id; + if (typeof idRaw !== 'number') { + return; + } + + const pending = this.pending.get(idRaw); + if (!pending) { + return; + } + + clearTimeout(pending.timer); + this.pending.delete(idRaw); + + if ('error' in record) { + pending.reject(this.mapJsonRpcError(record.error)); + return; + } + + pending.resolve(record.result); + } + + private mapJsonRpcError(rawError: unknown): SuperDocCliError { + if (typeof rawError !== 'object' || rawError == null || Array.isArray(rawError)) { + return new SuperDocCliError('Host returned an unknown JSON-RPC error.', { + code: 'HOST_PROTOCOL_ERROR', + details: { error: rawError }, + }); + } + + const error = rawError as JsonRpcError; + const data = error.data as JsonRpcErrorData | undefined; + const cliCode = typeof data?.cliCode === 'string' ? data.cliCode : undefined; + const cliMessage = typeof data?.message === 'string' ? data.message : undefined; + const exitCode = typeof data?.exitCode === 'number' ? data.exitCode : undefined; + + if (cliCode) { + return new SuperDocCliError(cliMessage ?? error.message ?? 'Command failed.', { + code: cliCode, + details: data?.details, + exitCode, + }); + } + + if (error.code === JSON_RPC_TIMEOUT_CODE) { + return new SuperDocCliError(error.message, { + code: 'TIMEOUT', + details: data, + }); + } + + return new SuperDocCliError(error.message, { + code: 'COMMAND_FAILED', + details: data, + }); + } + + private handleDisconnect(error: SuperDocCliError): void { + this.cleanupProcess(error); + } + + private cleanupProcess(error: SuperDocCliError | null): void { + const child = this.child; + if (child) { + child.removeAllListeners(); + child.kill('SIGKILL'); + } + + this.child = null; + + if (this.stdoutReader) { + this.stdoutReader.removeAllListeners(); + this.stdoutReader.close(); + this.stdoutReader = null; + } + + const pendingEntries = Array.from(this.pending.values()); + this.pending.clear(); + + const rejection = + error ?? + new SuperDocCliError('Host process was disposed while request was in flight.', { + code: 'HOST_DISCONNECTED', + }); + + for (const pending of pendingEntries) { + clearTimeout(pending.timer); + pending.reject(rejection); + } + } +} diff --git a/packages/sdk/langs/node/src/runtime/process.ts b/packages/sdk/langs/node/src/runtime/process.ts new file mode 100644 index 0000000000..ca517c3144 --- /dev/null +++ b/packages/sdk/langs/node/src/runtime/process.ts @@ -0,0 +1,40 @@ +import { HostTransport } from './host.js'; +import { resolveEmbeddedCliBinary } from './embedded-cli.js'; +import type { InvokeOptions, OperationParamSpec, OperationSpec, SuperDocClientOptions } from './transport-common.js'; + +/** + * Internal runtime that delegates CLI invocations to a persistent host transport. + * + * Resolves the CLI binary and creates a {@link HostTransport} that communicates + * with a long-lived `superdoc host --stdio` process. + */ +export class SuperDocRuntime { + private readonly transport: HostTransport; + + constructor(options: SuperDocClientOptions = {}) { + const cliBin = options.env?.SUPERDOC_CLI_BIN ?? process.env.SUPERDOC_CLI_BIN ?? resolveEmbeddedCliBinary(); + + this.transport = new HostTransport({ + cliBin, + ...options, + }); + } + + async connect(): Promise { + await this.transport.connect(); + } + + async dispose(): Promise { + await this.transport.dispose(); + } + + async invoke>( + operation: OperationSpec, + params: Record = {}, + options: InvokeOptions = {}, + ): Promise { + return this.transport.invoke(operation, params, options); + } +} + +export type { InvokeOptions, OperationParamSpec, OperationSpec, SuperDocClientOptions }; diff --git a/packages/sdk/langs/node/src/runtime/transport-common.ts b/packages/sdk/langs/node/src/runtime/transport-common.ts new file mode 100644 index 0000000000..608ddf41e5 --- /dev/null +++ b/packages/sdk/langs/node/src/runtime/transport-common.ts @@ -0,0 +1,117 @@ +import { SuperDocCliError } from './errors.js'; + +export type ParamType = 'string' | 'number' | 'boolean' | 'json' | 'string[]'; +export type ParamKind = 'doc' | 'flag' | 'jsonFlag'; + +export interface OperationParamSpec { + readonly name: string; + readonly kind: ParamKind; + readonly flag?: string; + readonly type: ParamType; + readonly required?: boolean; +} + +export interface OperationSpec { + readonly operationId: string; + readonly commandTokens: readonly string[]; + readonly params: readonly OperationParamSpec[]; +} + +export interface InvokeOptions { + timeoutMs?: number; + stdinBytes?: Uint8Array; +} + +export type ChangeMode = 'direct' | 'tracked'; + +export interface SuperDocClientOptions { + env?: Record; + startupTimeoutMs?: number; + shutdownTimeoutMs?: number; + requestTimeoutMs?: number; + watchdogTimeoutMs?: number; + maxQueueDepth?: number; + defaultChangeMode?: ChangeMode; +} + +export interface CliInvocation { + command: string; + prefixArgs: string[]; +} + +function hasExtension(filePath: string, extension: string): boolean { + return filePath.toLowerCase().endsWith(extension); +} + +export function resolveInvocation(cliBin: string): CliInvocation { + if (hasExtension(cliBin, '.js')) { + return { command: 'node', prefixArgs: [cliBin] }; + } + + if (hasExtension(cliBin, '.ts')) { + return { command: 'bun', prefixArgs: [cliBin] }; + } + + return { command: cliBin, prefixArgs: [] }; +} + +/** + * Build the CLI argument vector for an operation invocation. + * + * Key design choices vs old SDK: + * - changeMode injection BEFORE argv loop, not after. changeMode is already a + * param in operationSpec.params (envelope param for mutations). Appending after + * the loop would duplicate it. + * - Booleans encoded as `--flag true`/`--flag false` explicitly, matching current CLI. + */ +export function buildOperationArgv( + operation: OperationSpec, + params: Record, + options: InvokeOptions, + runtimeTimeoutMs: number | undefined, + defaultChangeMode?: ChangeMode, +): string[] { + // Inject defaultChangeMode into params BEFORE encoding — single source of truth. + const normalizedParams = + defaultChangeMode != null && params.changeMode == null && operation.params.some((p) => p.name === 'changeMode') + ? { ...params, changeMode: defaultChangeMode } + : params; + + const argv: string[] = [...operation.commandTokens]; + + for (const spec of operation.params) { + const value = normalizedParams[spec.name]; + if (value == null) continue; + + const flag = `--${spec.flag ?? spec.name}`; + + switch (spec.kind) { + case 'doc': + argv.push(String(value)); + break; + case 'flag': + if (spec.type === 'boolean') { + // Explicit true/false — matches current CLI operation-executor.ts. + argv.push(flag, value === true ? 'true' : 'false'); + } else if (spec.type === 'string[]') { + if (Array.isArray(value)) { + for (const entry of value) argv.push(flag, String(entry)); + } + } else { + argv.push(flag, String(value)); + } + break; + case 'jsonFlag': + argv.push(flag, JSON.stringify(value)); + break; + } + } + + const timeoutMs = options.timeoutMs ?? runtimeTimeoutMs; + if (timeoutMs != null) { + argv.push('--timeout-ms', String(timeoutMs)); + } + + argv.push('--output', 'json'); + return argv; +} diff --git a/packages/sdk/langs/node/src/skills.ts b/packages/sdk/langs/node/src/skills.ts new file mode 100644 index 0000000000..502238c07e --- /dev/null +++ b/packages/sdk/langs/node/src/skills.ts @@ -0,0 +1,171 @@ +import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from 'node:fs'; +import os from 'node:os'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { SuperDocCliError } from './runtime/errors.js'; + +// Resolve skills directory relative to package root (works from both src/ and dist/) +const skillsDir = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..', 'skills'); +const SKILL_NAME_RE = /^[A-Za-z0-9][A-Za-z0-9_-]*$/; +const SUPPORTED_SKILL_RUNTIMES = ['claude'] as const; +const SUPPORTED_INSTALL_SCOPES = ['project', 'user'] as const; + +type SkillRuntime = (typeof SUPPORTED_SKILL_RUNTIMES)[number]; +type SkillInstallScope = (typeof SUPPORTED_INSTALL_SCOPES)[number]; + +export interface InstallSkillOptions { + runtime?: SkillRuntime; + scope?: SkillInstallScope; + targetDir?: string; + cwd?: string; + homeDir?: string; + overwrite?: boolean; +} + +export interface InstalledSkillResult { + name: string; + runtime: SkillRuntime; + scope: SkillInstallScope | 'custom'; + path: string; + written: boolean; + overwritten: boolean; +} + +function resolveSkillFilePath(skillName: string): string { + const filePath = path.resolve(skillsDir, `${skillName}.md`); + const root = `${skillsDir}${path.sep}`; + if (!filePath.startsWith(root)) { + throw new SuperDocCliError('Skill name resolved outside SDK skill directory.', { + code: 'INVALID_ARGUMENT', + details: { skillName }, + }); + } + return filePath; +} + +function normalizeSkillName(name: string): string { + const normalized = name.trim(); + if (!normalized || !SKILL_NAME_RE.test(normalized)) { + throw new SuperDocCliError('Skill name is required.', { + code: 'INVALID_ARGUMENT', + details: { name }, + }); + } + return normalized; +} + +export function listSkills(): string[] { + try { + return readdirSync(skillsDir) + .filter((entry) => path.extname(entry) === '.md') + .map((entry) => path.basename(entry, '.md')) + .sort(); + } catch (error) { + throw new SuperDocCliError('Unable to enumerate SDK skills.', { + code: 'SKILL_IO_ERROR', + details: { + skillsDir, + message: error instanceof Error ? error.message : String(error), + }, + }); + } +} + +export function getSkill(name: string): string { + const normalized = normalizeSkillName(name); + const filePath = resolveSkillFilePath(normalized); + try { + return readFileSync(filePath, 'utf8'); + } catch (error) { + const nodeError = error as NodeJS.ErrnoException; + if (nodeError?.code === 'ENOENT') { + let available: string[] = []; + try { + available = listSkills(); + } catch { + // Keep available empty + } + throw new SuperDocCliError('Requested SDK skill was not found.', { + code: 'SKILL_NOT_FOUND', + details: { name: normalized, available }, + }); + } + + throw new SuperDocCliError('Unable to read SDK skill file.', { + code: 'SKILL_IO_ERROR', + details: { + name: normalized, + message: error instanceof Error ? error.message : String(error), + }, + }); + } +} + +export function installSkill(name: string, options: InstallSkillOptions = {}): InstalledSkillResult { + const normalizedName = normalizeSkillName(name); + const runtime = options.runtime ?? 'claude'; + if (!(SUPPORTED_SKILL_RUNTIMES as readonly string[]).includes(runtime)) { + throw new SuperDocCliError('Unsupported skill runtime.', { + code: 'INVALID_ARGUMENT', + details: { runtime, supportedRuntimes: [...SUPPORTED_SKILL_RUNTIMES] }, + }); + } + + const scope = options.scope ?? 'project'; + if (!(SUPPORTED_INSTALL_SCOPES as readonly string[]).includes(scope)) { + throw new SuperDocCliError('Unsupported skill install scope.', { + code: 'INVALID_ARGUMENT', + details: { scope, supportedScopes: [...SUPPORTED_INSTALL_SCOPES] }, + }); + } + + const skillsRoot = + options.targetDir !== undefined + ? path.resolve(options.targetDir) + : scope === 'user' + ? path.resolve(options.homeDir ?? os.homedir(), '.claude', 'skills') + : path.resolve(options.cwd ?? process.cwd(), '.claude', 'skills'); + + const skillFile = path.join(skillsRoot, normalizedName, 'SKILL.md'); + const overwrite = options.overwrite ?? true; + const alreadyExists = existsSync(skillFile); + + if (!overwrite && alreadyExists) { + return { + name: normalizedName, + runtime, + scope: options.targetDir !== undefined ? 'custom' : scope, + path: skillFile, + written: false, + overwritten: false, + }; + } + + try { + const content = getSkill(name); + mkdirSync(path.dirname(skillFile), { recursive: true }); + writeFileSync(skillFile, content, 'utf8'); + } catch (error) { + if (error instanceof SuperDocCliError) throw error; + + throw new SuperDocCliError('Unable to install SDK skill.', { + code: 'SKILL_IO_ERROR', + details: { + name: normalizedName, + runtime, + scope: options.targetDir !== undefined ? 'custom' : scope, + path: skillFile, + message: error instanceof Error ? error.message : String(error), + }, + }); + } + + return { + name: normalizedName, + runtime, + scope: options.targetDir !== undefined ? 'custom' : scope, + path: skillFile, + written: true, + overwritten: alreadyExists, + }; +} diff --git a/packages/sdk/langs/node/src/tools.ts b/packages/sdk/langs/node/src/tools.ts new file mode 100644 index 0000000000..7c83149254 --- /dev/null +++ b/packages/sdk/langs/node/src/tools.ts @@ -0,0 +1,524 @@ +import { readFile } from 'node:fs/promises'; +import { readFileSync } from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { CONTRACT } from './generated/contract.js'; +import type { InvokeOptions } from './runtime/process.js'; +import { SuperDocCliError } from './runtime/errors.js'; + +export type ToolProvider = 'openai' | 'anthropic' | 'vercel' | 'generic'; +export type ToolProfile = 'intent' | 'operation'; +export type ToolPhase = 'read' | 'locate' | 'mutate' | 'review'; + +export type DocumentFeatures = { + hasTables: boolean; + hasLists: boolean; + hasComments: boolean; + hasTrackedChanges: boolean; + isEmptyDocument: boolean; +}; + +export type ToolChooserInput = { + provider: ToolProvider; + profile?: ToolProfile; + documentFeatures?: Partial; + taskContext?: { + phase?: ToolPhase; + previousToolCalls?: Array<{ toolName: string; ok: boolean }>; + }; + budget?: { + maxTools?: number; + minReadTools?: number; + }; + policy?: { + includeCategories?: string[]; + excludeCategories?: string[]; + allowMutatingTools?: boolean; + forceInclude?: string[]; + forceExclude?: string[]; + }; +}; + +export type ToolCatalog = { + contractVersion: string; + generatedAt: string | null; + namePolicyVersion: string; + exposureVersion: string; + toolCount: number; + profiles: { + intent: { name: 'intent'; tools: ToolCatalogEntry[] }; + operation: { name: 'operation'; tools: ToolCatalogEntry[] }; + }; +}; + +type ToolCatalogEntry = { + operationId: string; + toolName: string; + profile: ToolProfile; + source: 'operation' | 'intent'; + description: string; + inputSchema: Record; + outputSchema: Record; + mutates: boolean; + category: string; + capabilities: string[]; + constraints?: Record; + errors: string[]; + examples: Array<{ description: string; args: Record }>; + commandTokens: string[]; + profileTags: string[]; + requiredCapabilities: Array; + sessionRequirements: { + requiresOpenContext: boolean; + supportsSessionTargeting: boolean; + }; + intentId?: string; +}; + +// Resolve tools directory relative to package root (works from both src/ and dist/) +const toolsDir = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..', 'tools'); +const providerFileByName: Record = { + openai: 'tools.openai.json', + anthropic: 'tools.anthropic.json', + vercel: 'tools.vercel.json', + generic: 'tools.generic.json', +}; + +// Policy is loaded from the generated tools-policy.json artifact. +type ToolsPolicy = { + policyVersion: string; + contractHash: string; + phases: Record; + defaults: { + maxToolsByProfile: Record; + minReadTools: number; + foundationalOperationIds: string[]; + chooserDecisionVersion: string; + }; + capabilityFeatures: Record; +}; + +let _policyCache: ToolsPolicy | null = null; +function loadPolicy(): ToolsPolicy { + if (_policyCache) return _policyCache; + const raw = readFileSync(path.join(toolsDir, 'tools-policy.json'), 'utf8'); + _policyCache = JSON.parse(raw) as ToolsPolicy; + return _policyCache; +} + +function isRecord(value: unknown): value is Record { + return typeof value === 'object' && value != null && !Array.isArray(value); +} + +function isPresent(value: unknown): boolean { + if (value == null) return false; + if (Array.isArray(value)) return value.length > 0; + return true; +} + +function extractProviderToolName(tool: Record): string | null { + // Anthropic / Generic: top-level name + if (typeof tool.name === 'string') return tool.name; + // OpenAI / Vercel: nested under function.name + if (isRecord(tool.function) && typeof (tool.function as Record).name === 'string') { + return (tool.function as Record).name as string; + } + return null; +} + +function invalidArgument(message: string, details?: Record): never { + throw new SuperDocCliError(message, { code: 'INVALID_ARGUMENT', details }); +} + +async function readJson(fileName: string): Promise { + const filePath = path.join(toolsDir, fileName); + let raw = ''; + try { + raw = await readFile(filePath, 'utf8'); + } catch (error) { + throw new SuperDocCliError('Unable to load packaged tool artifact.', { + code: 'TOOLS_ASSET_NOT_FOUND', + details: { + filePath, + message: error instanceof Error ? error.message : String(error), + }, + }); + } + + try { + return JSON.parse(raw) as T; + } catch (error) { + throw new SuperDocCliError('Packaged tool artifact is invalid JSON.', { + code: 'TOOLS_ASSET_INVALID', + details: { + filePath, + message: error instanceof Error ? error.message : String(error), + }, + }); + } +} + +async function loadProviderBundle(provider: ToolProvider): Promise<{ + contractVersion: string; + profiles: Record; +}> { + return readJson(providerFileByName[provider]); +} + +async function loadToolNameMap(): Promise> { + return readJson>('tool-name-map.json'); +} + +async function loadCatalog(): Promise { + return readJson('catalog.json'); +} + +function normalizeFeatures(features?: Partial): DocumentFeatures { + return { + hasTables: Boolean(features?.hasTables), + hasLists: Boolean(features?.hasLists), + hasComments: Boolean(features?.hasComments), + hasTrackedChanges: Boolean(features?.hasTrackedChanges), + isEmptyDocument: Boolean(features?.isEmptyDocument), + }; +} + +function stableSortByPhasePriority(entries: ToolCatalogEntry[], priorityOrder: string[]): ToolCatalogEntry[] { + const priority = new Map(priorityOrder.map((category, index) => [category, index])); + return [...entries].sort((a, b) => { + const aPriority = priority.get(a.category) ?? Number.MAX_SAFE_INTEGER; + const bPriority = priority.get(b.category) ?? Number.MAX_SAFE_INTEGER; + if (aPriority !== bPriority) return aPriority - bPriority; + return a.toolName.localeCompare(b.toolName); + }); +} + +type ContractOperation = (typeof CONTRACT.operations)[keyof typeof CONTRACT.operations]; + +const OPERATION_INDEX: Record = Object.fromEntries( + Object.entries(CONTRACT.operations).map(([id, op]) => [id, op]), +); + +function validateDispatchArgs(operationId: string, args: Record): void { + const operation = OPERATION_INDEX[operationId]; + if (!operation) { + invalidArgument(`Unknown operation id ${operationId}.`); + } + + // Unknown-param rejection + const allowedParams = new Set(operation.params.map((param) => String(param.name))); + for (const key of Object.keys(args)) { + if (!allowedParams.has(key)) { + invalidArgument(`Unexpected parameter ${key} for ${operationId}.`); + } + } + + // Required-param enforcement + for (const param of operation.params) { + if ('required' in param && Boolean(param.required) && args[param.name] == null) { + invalidArgument(`Missing required parameter ${param.name} for ${operationId}.`); + } + } + + // Constraint validation (CLI handles schema-level type validation authoritatively) + const constraints = 'constraints' in operation ? (operation as Record).constraints : undefined; + if (!constraints || !isRecord(constraints)) return; + + const mutuallyExclusive = Array.isArray(constraints.mutuallyExclusive) ? constraints.mutuallyExclusive : []; + const requiresOneOf = Array.isArray(constraints.requiresOneOf) ? constraints.requiresOneOf : []; + const requiredWhen = Array.isArray(constraints.requiredWhen) ? constraints.requiredWhen : []; + + for (const group of mutuallyExclusive) { + if (!Array.isArray(group)) continue; + const present = group.filter((name: string) => isPresent(args[name])); + if (present.length > 1) { + invalidArgument(`Arguments are mutually exclusive for ${operationId}: ${group.join(', ')}`, { + operationId, + group, + }); + } + } + + for (const group of requiresOneOf) { + if (!Array.isArray(group)) continue; + const hasAny = group.some((name: string) => isPresent(args[name])); + if (!hasAny) { + invalidArgument(`One of the following arguments is required for ${operationId}: ${group.join(', ')}`, { + operationId, + group, + }); + } + } + + for (const rule of requiredWhen) { + if (!isRecord(rule)) continue; + const whenValue = args[rule.whenParam as string]; + let shouldRequire = false; + if (Object.prototype.hasOwnProperty.call(rule, 'equals')) { + shouldRequire = whenValue === rule.equals; + } else if (Object.prototype.hasOwnProperty.call(rule, 'present')) { + const present = rule.present === true; + shouldRequire = present ? isPresent(whenValue) : !isPresent(whenValue); + } else { + shouldRequire = isPresent(whenValue); + } + + if (shouldRequire && !isPresent(args[rule.param as string])) { + invalidArgument(`Argument ${rule.param} is required by constraints for ${operationId}.`, { + operationId, + rule, + }); + } + } +} + +function resolveDocApiMethod( + client: { doc: Record }, + operationId: string, +): (args: unknown, options?: InvokeOptions) => Promise { + const tokens = operationId.split('.').slice(1); + let cursor: unknown = client.doc; + + for (const token of tokens) { + if (!isRecord(cursor) || !(token in cursor)) { + throw new SuperDocCliError(`No SDK doc method found for operation ${operationId}.`, { + code: 'TOOL_DISPATCH_NOT_FOUND', + details: { operationId, token }, + }); + } + cursor = cursor[token]; + } + + if (typeof cursor !== 'function') { + throw new SuperDocCliError(`Resolved member for ${operationId} is not callable.`, { + code: 'TOOL_DISPATCH_NOT_FOUND', + details: { operationId }, + }); + } + + return cursor as (args: unknown, options?: InvokeOptions) => Promise; +} + +export async function getToolCatalog(options: { profile?: ToolProfile } = {}): Promise { + const catalog = await loadCatalog(); + if (!options.profile) return catalog; + + return { + ...catalog, + profiles: { + intent: options.profile === 'intent' ? catalog.profiles.intent : { name: 'intent', tools: [] }, + operation: options.profile === 'operation' ? catalog.profiles.operation : { name: 'operation', tools: [] }, + }, + }; +} + +export async function listTools(provider: ToolProvider, options: { profile?: ToolProfile } = {}): Promise { + const profile = options.profile ?? 'intent'; + const bundle = await loadProviderBundle(provider); + const tools = bundle.profiles[profile]; + if (!Array.isArray(tools)) { + throw new SuperDocCliError('Tool provider bundle is missing profile tools.', { + code: 'TOOLS_ASSET_INVALID', + details: { provider, profile }, + }); + } + return tools; +} + +export async function resolveToolOperation(toolName: string): Promise { + const map = await loadToolNameMap(); + return typeof map[toolName] === 'string' ? map[toolName] : null; +} + +export function inferDocumentFeatures(infoResult: Record | null | undefined): DocumentFeatures { + if (!isRecord(infoResult)) { + return { + hasTables: false, + hasLists: false, + hasComments: false, + hasTrackedChanges: false, + isEmptyDocument: false, + }; + } + + const counts = isRecord(infoResult.counts) ? infoResult.counts : {}; + const words = typeof counts.words === 'number' ? counts.words : 0; + const paragraphs = typeof counts.paragraphs === 'number' ? counts.paragraphs : 0; + const tables = typeof counts.tables === 'number' ? counts.tables : 0; + const comments = typeof counts.comments === 'number' ? counts.comments : 0; + const lists = + typeof counts.lists === 'number' ? counts.lists : typeof counts.listItems === 'number' ? counts.listItems : 0; + const trackedChanges = + typeof counts.trackedChanges === 'number' + ? counts.trackedChanges + : typeof counts.tracked_changes === 'number' + ? counts.tracked_changes + : 0; + + return { + hasTables: tables > 0, + hasLists: lists > 0, + hasComments: comments > 0, + hasTrackedChanges: trackedChanges > 0, + isEmptyDocument: words === 0 && paragraphs <= 1, + }; +} + +export async function chooseTools(input: ToolChooserInput): Promise<{ + tools: unknown[]; + selected: Array<{ + operationId: string; + toolName: string; + category: string; + mutates: boolean; + profile: ToolProfile; + }>; + excluded: Array<{ toolName: string; reason: string }>; + selectionMeta: { + profile: ToolProfile; + phase: ToolPhase; + maxTools: number; + minReadTools: number; + selectedCount: number; + decisionVersion: string; + provider: ToolProvider; + }; +}> { + const catalog = await loadCatalog(); + const policy = loadPolicy(); + const profile = input.profile ?? 'intent'; + const phase = input.taskContext?.phase ?? 'read'; + const phasePolicy = policy.phases[phase]; + const featureMap = normalizeFeatures(input.documentFeatures); + + const maxTools = Math.max(1, input.budget?.maxTools ?? policy.defaults.maxToolsByProfile[profile]); + const minReadTools = Math.max(0, input.budget?.minReadTools ?? policy.defaults.minReadTools); + + const includeCategories = new Set(input.policy?.includeCategories ?? phasePolicy.include); + const excludeCategories = new Set([...(input.policy?.excludeCategories ?? []), ...phasePolicy.exclude]); + const allowMutatingTools = input.policy?.allowMutatingTools ?? phase === 'mutate'; + + const excluded: Array<{ toolName: string; reason: string }> = []; + const profileTools = catalog.profiles[profile].tools; + const indexByToolName = new Map(profileTools.map((tool) => [tool.toolName, tool])); + + let candidates = profileTools.filter((tool) => { + if (tool.requiredCapabilities.some((capability) => !featureMap[capability])) { + excluded.push({ toolName: tool.toolName, reason: 'missing-required-capability' }); + return false; + } + + if (!allowMutatingTools && tool.mutates) { + excluded.push({ toolName: tool.toolName, reason: 'mutations-disabled' }); + return false; + } + + if (includeCategories.size > 0 && !includeCategories.has(tool.category)) { + excluded.push({ toolName: tool.toolName, reason: 'category-not-included' }); + return false; + } + + if (excludeCategories.has(tool.category)) { + excluded.push({ toolName: tool.toolName, reason: 'phase-category-excluded' }); + return false; + } + + return true; + }); + + const forceExclude = new Set(input.policy?.forceExclude ?? []); + candidates = candidates.filter((tool) => { + if (!forceExclude.has(tool.toolName)) return true; + excluded.push({ toolName: tool.toolName, reason: 'force-excluded' }); + return false; + }); + + for (const forcedToolName of input.policy?.forceInclude ?? []) { + const forced = indexByToolName.get(forcedToolName); + if (!forced) { + excluded.push({ toolName: forcedToolName, reason: 'not-in-profile' }); + continue; + } + candidates.push(forced); + } + + candidates = [...new Map(candidates.map((tool) => [tool.toolName, tool])).values()]; + + const selected: ToolCatalogEntry[] = []; + const foundationalIds = new Set(policy.defaults.foundationalOperationIds); + const foundational = candidates.filter((tool) => foundationalIds.has(tool.operationId)); + for (const tool of foundational) { + if (selected.length >= minReadTools || selected.length >= maxTools) break; + selected.push(tool); + } + + const remaining = stableSortByPhasePriority( + candidates.filter((tool) => !selected.some((entry) => entry.toolName === tool.toolName)), + phasePolicy.priority, + ); + + for (const tool of remaining) { + if (selected.length >= maxTools) { + excluded.push({ toolName: tool.toolName, reason: 'budget-trim' }); + continue; + } + selected.push(tool); + } + + const bundle = await loadProviderBundle(input.provider); + const providerTools = Array.isArray(bundle.profiles[profile]) ? bundle.profiles[profile] : []; + const providerIndex = new Map( + providerTools + .filter((tool): tool is Record => isRecord(tool)) + .map((tool) => [extractProviderToolName(tool), tool] as const) + .filter((entry): entry is [string, Record] => entry[0] !== null), + ); + + const selectedProviderTools = selected + .map((tool) => providerIndex.get(tool.toolName)) + .filter((tool): tool is Record => Boolean(tool)); + + return { + tools: selectedProviderTools, + selected: selected.map((tool) => ({ + operationId: tool.operationId, + toolName: tool.toolName, + category: tool.category, + mutates: tool.mutates, + profile: tool.profile, + })), + excluded, + selectionMeta: { + profile, + phase, + maxTools, + minReadTools, + selectedCount: selected.length, + decisionVersion: policy.defaults.chooserDecisionVersion, + provider: input.provider, + }, + }; +} + +export async function dispatchSuperDocTool( + client: { doc: Record }, + toolName: string, + args: Record = {}, + invokeOptions?: InvokeOptions, +): Promise { + const operationId = await resolveToolOperation(toolName); + if (!operationId) { + throw new SuperDocCliError(`Unknown SuperDoc tool: ${toolName}`, { + code: 'TOOL_NOT_FOUND', + details: { toolName }, + }); + } + + if (!isRecord(args)) { + invalidArgument(`Tool arguments for ${toolName} must be an object.`); + } + + validateDispatchArgs(operationId, args); + const method = resolveDocApiMethod(client, operationId); + return method(args, invokeOptions); +} diff --git a/packages/sdk/langs/node/tools b/packages/sdk/langs/node/tools new file mode 120000 index 0000000000..31941e941d --- /dev/null +++ b/packages/sdk/langs/node/tools @@ -0,0 +1 @@ +../../tools \ No newline at end of file diff --git a/packages/sdk/langs/node/tsconfig.json b/packages/sdk/langs/node/tsconfig.json new file mode 100644 index 0000000000..6db4a5d2f2 --- /dev/null +++ b/packages/sdk/langs/node/tsconfig.json @@ -0,0 +1,18 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "NodeNext", + "moduleResolution": "nodenext", + "strict": true, + "skipLibCheck": true, + "esModuleInterop": true, + "isolatedModules": true, + "resolveJsonModule": true, + "declaration": true, + "declarationMap": true, + "outDir": "./dist", + "rootDir": "./src" + }, + "include": ["src"], + "exclude": ["src/**/__tests__"] +} diff --git a/packages/sdk/langs/python/pyproject.toml b/packages/sdk/langs/python/pyproject.toml new file mode 100644 index 0000000000..b62b006670 --- /dev/null +++ b/packages/sdk/langs/python/pyproject.toml @@ -0,0 +1,35 @@ +[build-system] +requires = ["setuptools>=70.1", "wheel"] +build-backend = "setuptools.build_meta" + +[project] +name = "superdoc-sdk" +version = "1.0.0-alpha.5" +description = "SuperDoc SDK (CLI-backed)" +requires-python = ">=3.9" +license = "AGPL-3.0" +authors = [{ name = "SuperDoc" }] + +[tool.setuptools] +packages = [ + "superdoc", + "superdoc.generated", + "superdoc.skills", + "superdoc.tools", + "superdoc._vendor", + "superdoc._vendor.cli", +] + +[tool.setuptools.package-data] +superdoc = [ + "_vendor/cli/*/superdoc", + "_vendor/cli/*/superdoc.exe", + "skills/*.md", + "tools/*.json", +] + +[tool.cibuildwheel] +build = "cp39-* cp310-* cp311-* cp312-* cp313-*" +skip = "pp* *-musllinux_*" +build-verbosity = 1 +test-command = "python -c \"import superdoc; print('superdoc-sdk wheel smoke ok')\"" diff --git a/packages/sdk/langs/python/superdoc/__init__.py b/packages/sdk/langs/python/superdoc/__init__.py new file mode 100644 index 0000000000..19fcb31f31 --- /dev/null +++ b/packages/sdk/langs/python/superdoc/__init__.py @@ -0,0 +1,28 @@ +from .errors import SuperDocError +from .generated.client import AsyncSuperDocClient, SuperDocClient +from .skill_api import get_skill, install_skill, list_skills +from .tools_api import ( + choose_tools, + dispatch_superdoc_tool, + dispatch_superdoc_tool_async, + get_tool_catalog, + infer_document_features, + list_tools, + resolve_tool_operation, +) + +__all__ = [ + "SuperDocClient", + "AsyncSuperDocClient", + "SuperDocError", + "get_skill", + "install_skill", + "list_skills", + "get_tool_catalog", + "list_tools", + "resolve_tool_operation", + "infer_document_features", + "choose_tools", + "dispatch_superdoc_tool", + "dispatch_superdoc_tool_async", +] diff --git a/packages/sdk/langs/python/superdoc/_vendor/__init__.py b/packages/sdk/langs/python/superdoc/_vendor/__init__.py new file mode 100644 index 0000000000..1941d3842f --- /dev/null +++ b/packages/sdk/langs/python/superdoc/_vendor/__init__.py @@ -0,0 +1 @@ +# Vendored dependencies. diff --git a/packages/sdk/langs/python/superdoc/_vendor/cli/.gitignore b/packages/sdk/langs/python/superdoc/_vendor/cli/.gitignore new file mode 100644 index 0000000000..eef9780c59 --- /dev/null +++ b/packages/sdk/langs/python/superdoc/_vendor/cli/.gitignore @@ -0,0 +1,3 @@ +# Vendored CLI binaries are platform-specific and not committed +* +!.gitignore diff --git a/packages/sdk/langs/python/superdoc/embedded_cli.py b/packages/sdk/langs/python/superdoc/embedded_cli.py new file mode 100644 index 0000000000..31448e9675 --- /dev/null +++ b/packages/sdk/langs/python/superdoc/embedded_cli.py @@ -0,0 +1,79 @@ +from __future__ import annotations + +import os +import platform +from importlib import resources +from pathlib import Path +from typing import Optional + +from .errors import SuperDocError + + +def _normalized_machine(value: str) -> str: + normalized = value.strip().lower() + if normalized in {'x86_64', 'amd64'}: + return 'x64' + if normalized in {'aarch64', 'arm64'}: + return 'arm64' + return normalized + + +def _resolve_target() -> Optional[str]: + system = platform.system().lower() + machine = _normalized_machine(platform.machine()) + + if system == 'darwin' and machine == 'arm64': + return 'darwin-arm64' + if system == 'darwin' and machine == 'x64': + return 'darwin-x64' + if system == 'linux' and machine == 'x64': + return 'linux-x64' + if system == 'linux' and machine == 'arm64': + return 'linux-arm64' + if system == 'windows' and machine == 'x64': + return 'windows-x64' + + return None + + +def _resolve_binary_name(target: str) -> str: + return 'superdoc.exe' if target.startswith('windows-') else 'superdoc' + + +def _resource_to_path(resource) -> Optional[Path]: + try: + candidate = Path(str(resource)) + except Exception: + return None + + return candidate if candidate.exists() else None + + +def resolve_embedded_cli_path() -> str: + target = _resolve_target() + if target is None: + raise SuperDocError( + 'No embedded SuperDoc CLI binary is available for this platform.', + code='UNSUPPORTED_PLATFORM', + details={'platform': platform.system(), 'machine': platform.machine()}, + ) + + binary_name = _resolve_binary_name(target) + resource = resources.files('superdoc').joinpath('_vendor', 'cli', target, binary_name) + binary_path = _resource_to_path(resource) + + if binary_path is None: + raise SuperDocError( + 'Embedded SuperDoc CLI binary is missing for this platform.', + code='CLI_BINARY_MISSING', + details={'target': target, 'binary': binary_name}, + ) + + if os.name != 'nt': + try: + mode = binary_path.stat().st_mode + os.chmod(binary_path, mode | 0o111) + except Exception: + pass + + return str(binary_path) diff --git a/packages/sdk/langs/python/superdoc/errors.py b/packages/sdk/langs/python/superdoc/errors.py new file mode 100644 index 0000000000..e453597584 --- /dev/null +++ b/packages/sdk/langs/python/superdoc/errors.py @@ -0,0 +1,6 @@ +class SuperDocError(Exception): + def __init__(self, message: str, code: str, details=None, exit_code=None): + super().__init__(message) + self.code = code + self.details = details + self.exit_code = exit_code diff --git a/packages/sdk/langs/python/superdoc/generated/__init__.py b/packages/sdk/langs/python/superdoc/generated/__init__.py new file mode 100644 index 0000000000..e282045e3d --- /dev/null +++ b/packages/sdk/langs/python/superdoc/generated/__init__.py @@ -0,0 +1 @@ +from .client import SuperDocClient, AsyncSuperDocClient diff --git a/packages/sdk/langs/python/superdoc/generated/client.py b/packages/sdk/langs/python/superdoc/generated/client.py new file mode 100644 index 0000000000..392e1242af --- /dev/null +++ b/packages/sdk/langs/python/superdoc/generated/client.py @@ -0,0 +1,4260 @@ +# Auto-generated by packages/sdk/codegen/src/generate-python.mjs + +from __future__ import annotations + +from typing import Any, Literal, TypedDict + +from ..runtime import SuperDocSyncRuntime, SuperDocAsyncRuntime + +DocFindResultContextItemAddressVariant1 = TypedDict( + "DocFindResultContextItemAddressVariant1", + { + "kind": Literal["block"], + "nodeId": str, + "nodeType": Literal["paragraph"] | Literal["heading"] | Literal["listItem"] | Literal["table"] | Literal["tableRow"] | Literal["tableCell"] | Literal["image"] | Literal["sdt"], + }, + total=False, +) + +DocFindResultContextItemAddressVariant2AnchorEnd = TypedDict( + "DocFindResultContextItemAddressVariant2AnchorEnd", + { + "blockId": str, + "offset": int | float, + }, + total=False, +) + +DocFindResultContextItemAddressVariant2AnchorStart = TypedDict( + "DocFindResultContextItemAddressVariant2AnchorStart", + { + "blockId": str, + "offset": int | float, + }, + total=False, +) + +DocFindResultContextItemAddressVariant2Anchor = TypedDict( + "DocFindResultContextItemAddressVariant2Anchor", + { + "end": DocFindResultContextItemAddressVariant2AnchorEnd, + "start": DocFindResultContextItemAddressVariant2AnchorStart, + }, + total=False, +) + +DocFindResultContextItemAddressVariant2 = TypedDict( + "DocFindResultContextItemAddressVariant2", + { + "anchor": DocFindResultContextItemAddressVariant2Anchor, + "kind": Literal["inline"], + "nodeType": Literal["run"] | Literal["bookmark"] | Literal["comment"] | Literal["hyperlink"] | Literal["sdt"] | Literal["image"] | Literal["footnoteRef"] | Literal["tab"] | Literal["lineBreak"], + }, + total=False, +) + +DocFindResultContextItemHighlightRange = TypedDict( + "DocFindResultContextItemHighlightRange", + { + "end": int | float, + "start": int | float, + }, + total=False, +) + +DocFindResultContextItemTextRangesItemRange = TypedDict( + "DocFindResultContextItemTextRangesItemRange", + { + "end": int | float, + "start": int | float, + }, + total=False, +) + +DocFindResultContextItemTextRangesItem = TypedDict( + "DocFindResultContextItemTextRangesItem", + { + "blockId": str, + "kind": Literal["text"], + "range": DocFindResultContextItemTextRangesItemRange, + }, + total=False, +) + +DocFindResultContextItem = TypedDict( + "DocFindResultContextItem", + { + "address": DocFindResultContextItemAddressVariant1 | DocFindResultContextItemAddressVariant2, + "highlightRange": DocFindResultContextItemHighlightRange, + "snippet": str, + "textRanges": list[DocFindResultContextItemTextRangesItem], + }, + total=False, +) + +DocFindResultDiagnosticsItemAddressVariant1 = TypedDict( + "DocFindResultDiagnosticsItemAddressVariant1", + { + "kind": Literal["block"], + "nodeId": str, + "nodeType": Literal["paragraph"] | Literal["heading"] | Literal["listItem"] | Literal["table"] | Literal["tableRow"] | Literal["tableCell"] | Literal["image"] | Literal["sdt"], + }, + total=False, +) + +DocFindResultDiagnosticsItemAddressVariant2AnchorEnd = TypedDict( + "DocFindResultDiagnosticsItemAddressVariant2AnchorEnd", + { + "blockId": str, + "offset": int | float, + }, + total=False, +) + +DocFindResultDiagnosticsItemAddressVariant2AnchorStart = TypedDict( + "DocFindResultDiagnosticsItemAddressVariant2AnchorStart", + { + "blockId": str, + "offset": int | float, + }, + total=False, +) + +DocFindResultDiagnosticsItemAddressVariant2Anchor = TypedDict( + "DocFindResultDiagnosticsItemAddressVariant2Anchor", + { + "end": DocFindResultDiagnosticsItemAddressVariant2AnchorEnd, + "start": DocFindResultDiagnosticsItemAddressVariant2AnchorStart, + }, + total=False, +) + +DocFindResultDiagnosticsItemAddressVariant2 = TypedDict( + "DocFindResultDiagnosticsItemAddressVariant2", + { + "anchor": DocFindResultDiagnosticsItemAddressVariant2Anchor, + "kind": Literal["inline"], + "nodeType": Literal["run"] | Literal["bookmark"] | Literal["comment"] | Literal["hyperlink"] | Literal["sdt"] | Literal["image"] | Literal["footnoteRef"] | Literal["tab"] | Literal["lineBreak"], + }, + total=False, +) + +DocFindResultDiagnosticsItem = TypedDict( + "DocFindResultDiagnosticsItem", + { + "address": DocFindResultDiagnosticsItemAddressVariant1 | DocFindResultDiagnosticsItemAddressVariant2, + "hint": str, + "message": str, + }, + total=False, +) + +DocFindResultMatchesItemVariant1 = TypedDict( + "DocFindResultMatchesItemVariant1", + { + "kind": Literal["block"], + "nodeId": str, + "nodeType": Literal["paragraph"] | Literal["heading"] | Literal["listItem"] | Literal["table"] | Literal["tableRow"] | Literal["tableCell"] | Literal["image"] | Literal["sdt"], + }, + total=False, +) + +DocFindResultMatchesItemVariant2AnchorEnd = TypedDict( + "DocFindResultMatchesItemVariant2AnchorEnd", + { + "blockId": str, + "offset": int | float, + }, + total=False, +) + +DocFindResultMatchesItemVariant2AnchorStart = TypedDict( + "DocFindResultMatchesItemVariant2AnchorStart", + { + "blockId": str, + "offset": int | float, + }, + total=False, +) + +DocFindResultMatchesItemVariant2Anchor = TypedDict( + "DocFindResultMatchesItemVariant2Anchor", + { + "end": DocFindResultMatchesItemVariant2AnchorEnd, + "start": DocFindResultMatchesItemVariant2AnchorStart, + }, + total=False, +) + +DocFindResultMatchesItemVariant2 = TypedDict( + "DocFindResultMatchesItemVariant2", + { + "anchor": DocFindResultMatchesItemVariant2Anchor, + "kind": Literal["inline"], + "nodeType": Literal["run"] | Literal["bookmark"] | Literal["comment"] | Literal["hyperlink"] | Literal["sdt"] | Literal["image"] | Literal["footnoteRef"] | Literal["tab"] | Literal["lineBreak"], + }, + total=False, +) + +DocFindResultNodesItemBodyNodesItem = TypedDict( + "DocFindResultNodesItemBodyNodesItem", + { + }, + total=False, +) + +DocFindResultNodesItemNodesItem = TypedDict( + "DocFindResultNodesItemNodesItem", + { + }, + total=False, +) + +DocFindResultNodesItemProperties = TypedDict( + "DocFindResultNodesItemProperties", + { + }, + total=False, +) + +DocFindResultNodesItemSummary = TypedDict( + "DocFindResultNodesItemSummary", + { + "label": str, + "text": str, + }, + total=False, +) + +DocFindResultNodesItem = TypedDict( + "DocFindResultNodesItem", + { + "bodyNodes": list[DocFindResultNodesItemBodyNodesItem], + "bodyText": str, + "kind": Literal["block"] | Literal["inline"], + "nodes": list[DocFindResultNodesItemNodesItem], + "nodeType": Literal["paragraph"] | Literal["heading"] | Literal["listItem"] | Literal["table"] | Literal["tableRow"] | Literal["tableCell"] | Literal["image"] | Literal["sdt"] | Literal["run"] | Literal["bookmark"] | Literal["comment"] | Literal["hyperlink"] | Literal["footnoteRef"] | Literal["tab"] | Literal["lineBreak"], + "properties": DocFindResultNodesItemProperties, + "summary": DocFindResultNodesItemSummary, + "text": str, + }, + total=False, +) + +DocFindResult = TypedDict( + "DocFindResult", + { + "context": list[DocFindResultContextItem], + "diagnostics": list[DocFindResultDiagnosticsItem], + "matches": list[DocFindResultMatchesItemVariant1 | DocFindResultMatchesItemVariant2], + "nodes": list[DocFindResultNodesItem], + "total": int | float, + }, + total=False, +) + +DocGetNodeResultBodyNodesItem = TypedDict( + "DocGetNodeResultBodyNodesItem", + { + }, + total=False, +) + +DocGetNodeResultNodesItem = TypedDict( + "DocGetNodeResultNodesItem", + { + }, + total=False, +) + +DocGetNodeResultProperties = TypedDict( + "DocGetNodeResultProperties", + { + }, + total=False, +) + +DocGetNodeResultSummary = TypedDict( + "DocGetNodeResultSummary", + { + "label": str, + "text": str, + }, + total=False, +) + +DocGetNodeResult = TypedDict( + "DocGetNodeResult", + { + "bodyNodes": list[DocGetNodeResultBodyNodesItem], + "bodyText": str, + "kind": Literal["block"] | Literal["inline"], + "nodes": list[DocGetNodeResultNodesItem], + "nodeType": Literal["paragraph"] | Literal["heading"] | Literal["listItem"] | Literal["table"] | Literal["tableRow"] | Literal["tableCell"] | Literal["image"] | Literal["sdt"] | Literal["run"] | Literal["bookmark"] | Literal["comment"] | Literal["hyperlink"] | Literal["footnoteRef"] | Literal["tab"] | Literal["lineBreak"], + "properties": DocGetNodeResultProperties, + "summary": DocGetNodeResultSummary, + "text": str, + }, + total=False, +) + +DocGetNodeByIdResultBodyNodesItem = TypedDict( + "DocGetNodeByIdResultBodyNodesItem", + { + }, + total=False, +) + +DocGetNodeByIdResultNodesItem = TypedDict( + "DocGetNodeByIdResultNodesItem", + { + }, + total=False, +) + +DocGetNodeByIdResultProperties = TypedDict( + "DocGetNodeByIdResultProperties", + { + }, + total=False, +) + +DocGetNodeByIdResultSummary = TypedDict( + "DocGetNodeByIdResultSummary", + { + "label": str, + "text": str, + }, + total=False, +) + +DocGetNodeByIdResult = TypedDict( + "DocGetNodeByIdResult", + { + "bodyNodes": list[DocGetNodeByIdResultBodyNodesItem], + "bodyText": str, + "kind": Literal["block"] | Literal["inline"], + "nodes": list[DocGetNodeByIdResultNodesItem], + "nodeType": Literal["paragraph"] | Literal["heading"] | Literal["listItem"] | Literal["table"] | Literal["tableRow"] | Literal["tableCell"] | Literal["image"] | Literal["sdt"] | Literal["run"] | Literal["bookmark"] | Literal["comment"] | Literal["hyperlink"] | Literal["footnoteRef"] | Literal["tab"] | Literal["lineBreak"], + "properties": DocGetNodeByIdResultProperties, + "summary": DocGetNodeByIdResultSummary, + "text": str, + }, + total=False, +) + +DocInfoResultCapabilities = TypedDict( + "DocInfoResultCapabilities", + { + "canComment": bool, + "canFind": bool, + "canGetNode": bool, + "canReplace": bool, + }, + total=False, +) + +DocInfoResultCounts = TypedDict( + "DocInfoResultCounts", + { + "comments": int | float, + "headings": int | float, + "images": int | float, + "paragraphs": int | float, + "tables": int | float, + "words": int | float, + }, + total=False, +) + +DocInfoResultOutlineItem = TypedDict( + "DocInfoResultOutlineItem", + { + "level": int | float, + "nodeId": str, + "text": str, + }, + total=False, +) + +DocInfoResult = TypedDict( + "DocInfoResult", + { + "capabilities": DocInfoResultCapabilities, + "counts": DocInfoResultCounts, + "outline": list[DocInfoResultOutlineItem], + }, + total=False, +) + +DocInsertResultInsertedItemVariant1 = TypedDict( + "DocInsertResultInsertedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocInsertResultInsertedItemVariant2 = TypedDict( + "DocInsertResultInsertedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocInsertResultRemovedItemVariant1 = TypedDict( + "DocInsertResultRemovedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocInsertResultRemovedItemVariant2 = TypedDict( + "DocInsertResultRemovedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocInsertResultResolutionRange = TypedDict( + "DocInsertResultResolutionRange", + { + "from": int | float, + "to": int | float, + }, + total=False, +) + +DocInsertResultResolutionRequestedTargetRange = TypedDict( + "DocInsertResultResolutionRequestedTargetRange", + { + "end": int | float, + "start": int | float, + }, + total=False, +) + +DocInsertResultResolutionRequestedTarget = TypedDict( + "DocInsertResultResolutionRequestedTarget", + { + "blockId": str, + "kind": Literal["text"], + "range": DocInsertResultResolutionRequestedTargetRange, + }, + total=False, +) + +DocInsertResultResolutionTargetRange = TypedDict( + "DocInsertResultResolutionTargetRange", + { + "end": int | float, + "start": int | float, + }, + total=False, +) + +DocInsertResultResolutionTarget = TypedDict( + "DocInsertResultResolutionTarget", + { + "blockId": str, + "kind": Literal["text"], + "range": DocInsertResultResolutionTargetRange, + }, + total=False, +) + +DocInsertResultResolution = TypedDict( + "DocInsertResultResolution", + { + "range": DocInsertResultResolutionRange, + "requestedTarget": DocInsertResultResolutionRequestedTarget, + "target": DocInsertResultResolutionTarget, + "text": str, + }, + total=False, +) + +DocInsertResultUpdatedItemVariant1 = TypedDict( + "DocInsertResultUpdatedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocInsertResultUpdatedItemVariant2 = TypedDict( + "DocInsertResultUpdatedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocInsertResult = TypedDict( + "DocInsertResult", + { + "inserted": list[DocInsertResultInsertedItemVariant1 | DocInsertResultInsertedItemVariant2], + "removed": list[DocInsertResultRemovedItemVariant1 | DocInsertResultRemovedItemVariant2], + "resolution": DocInsertResultResolution, + "success": Literal[True], + "updated": list[DocInsertResultUpdatedItemVariant1 | DocInsertResultUpdatedItemVariant2], + }, + total=False, +) + +DocReplaceResultInsertedItemVariant1 = TypedDict( + "DocReplaceResultInsertedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocReplaceResultInsertedItemVariant2 = TypedDict( + "DocReplaceResultInsertedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocReplaceResultRemovedItemVariant1 = TypedDict( + "DocReplaceResultRemovedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocReplaceResultRemovedItemVariant2 = TypedDict( + "DocReplaceResultRemovedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocReplaceResultResolutionRange = TypedDict( + "DocReplaceResultResolutionRange", + { + "from": int | float, + "to": int | float, + }, + total=False, +) + +DocReplaceResultResolutionRequestedTargetRange = TypedDict( + "DocReplaceResultResolutionRequestedTargetRange", + { + "end": int | float, + "start": int | float, + }, + total=False, +) + +DocReplaceResultResolutionRequestedTarget = TypedDict( + "DocReplaceResultResolutionRequestedTarget", + { + "blockId": str, + "kind": Literal["text"], + "range": DocReplaceResultResolutionRequestedTargetRange, + }, + total=False, +) + +DocReplaceResultResolutionTargetRange = TypedDict( + "DocReplaceResultResolutionTargetRange", + { + "end": int | float, + "start": int | float, + }, + total=False, +) + +DocReplaceResultResolutionTarget = TypedDict( + "DocReplaceResultResolutionTarget", + { + "blockId": str, + "kind": Literal["text"], + "range": DocReplaceResultResolutionTargetRange, + }, + total=False, +) + +DocReplaceResultResolution = TypedDict( + "DocReplaceResultResolution", + { + "range": DocReplaceResultResolutionRange, + "requestedTarget": DocReplaceResultResolutionRequestedTarget, + "target": DocReplaceResultResolutionTarget, + "text": str, + }, + total=False, +) + +DocReplaceResultUpdatedItemVariant1 = TypedDict( + "DocReplaceResultUpdatedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocReplaceResultUpdatedItemVariant2 = TypedDict( + "DocReplaceResultUpdatedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocReplaceResult = TypedDict( + "DocReplaceResult", + { + "inserted": list[DocReplaceResultInsertedItemVariant1 | DocReplaceResultInsertedItemVariant2], + "removed": list[DocReplaceResultRemovedItemVariant1 | DocReplaceResultRemovedItemVariant2], + "resolution": DocReplaceResultResolution, + "success": Literal[True], + "updated": list[DocReplaceResultUpdatedItemVariant1 | DocReplaceResultUpdatedItemVariant2], + }, + total=False, +) + +DocDeleteResultInsertedItemVariant1 = TypedDict( + "DocDeleteResultInsertedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocDeleteResultInsertedItemVariant2 = TypedDict( + "DocDeleteResultInsertedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocDeleteResultRemovedItemVariant1 = TypedDict( + "DocDeleteResultRemovedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocDeleteResultRemovedItemVariant2 = TypedDict( + "DocDeleteResultRemovedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocDeleteResultResolutionRange = TypedDict( + "DocDeleteResultResolutionRange", + { + "from": int | float, + "to": int | float, + }, + total=False, +) + +DocDeleteResultResolutionRequestedTargetRange = TypedDict( + "DocDeleteResultResolutionRequestedTargetRange", + { + "end": int | float, + "start": int | float, + }, + total=False, +) + +DocDeleteResultResolutionRequestedTarget = TypedDict( + "DocDeleteResultResolutionRequestedTarget", + { + "blockId": str, + "kind": Literal["text"], + "range": DocDeleteResultResolutionRequestedTargetRange, + }, + total=False, +) + +DocDeleteResultResolutionTargetRange = TypedDict( + "DocDeleteResultResolutionTargetRange", + { + "end": int | float, + "start": int | float, + }, + total=False, +) + +DocDeleteResultResolutionTarget = TypedDict( + "DocDeleteResultResolutionTarget", + { + "blockId": str, + "kind": Literal["text"], + "range": DocDeleteResultResolutionTargetRange, + }, + total=False, +) + +DocDeleteResultResolution = TypedDict( + "DocDeleteResultResolution", + { + "range": DocDeleteResultResolutionRange, + "requestedTarget": DocDeleteResultResolutionRequestedTarget, + "target": DocDeleteResultResolutionTarget, + "text": str, + }, + total=False, +) + +DocDeleteResultUpdatedItemVariant1 = TypedDict( + "DocDeleteResultUpdatedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocDeleteResultUpdatedItemVariant2 = TypedDict( + "DocDeleteResultUpdatedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocDeleteResult = TypedDict( + "DocDeleteResult", + { + "inserted": list[DocDeleteResultInsertedItemVariant1 | DocDeleteResultInsertedItemVariant2], + "removed": list[DocDeleteResultRemovedItemVariant1 | DocDeleteResultRemovedItemVariant2], + "resolution": DocDeleteResultResolution, + "success": Literal[True], + "updated": list[DocDeleteResultUpdatedItemVariant1 | DocDeleteResultUpdatedItemVariant2], + }, + total=False, +) + +DocFormatBoldResultInsertedItemVariant1 = TypedDict( + "DocFormatBoldResultInsertedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocFormatBoldResultInsertedItemVariant2 = TypedDict( + "DocFormatBoldResultInsertedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocFormatBoldResultRemovedItemVariant1 = TypedDict( + "DocFormatBoldResultRemovedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocFormatBoldResultRemovedItemVariant2 = TypedDict( + "DocFormatBoldResultRemovedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocFormatBoldResultResolutionRange = TypedDict( + "DocFormatBoldResultResolutionRange", + { + "from": int | float, + "to": int | float, + }, + total=False, +) + +DocFormatBoldResultResolutionRequestedTargetRange = TypedDict( + "DocFormatBoldResultResolutionRequestedTargetRange", + { + "end": int | float, + "start": int | float, + }, + total=False, +) + +DocFormatBoldResultResolutionRequestedTarget = TypedDict( + "DocFormatBoldResultResolutionRequestedTarget", + { + "blockId": str, + "kind": Literal["text"], + "range": DocFormatBoldResultResolutionRequestedTargetRange, + }, + total=False, +) + +DocFormatBoldResultResolutionTargetRange = TypedDict( + "DocFormatBoldResultResolutionTargetRange", + { + "end": int | float, + "start": int | float, + }, + total=False, +) + +DocFormatBoldResultResolutionTarget = TypedDict( + "DocFormatBoldResultResolutionTarget", + { + "blockId": str, + "kind": Literal["text"], + "range": DocFormatBoldResultResolutionTargetRange, + }, + total=False, +) + +DocFormatBoldResultResolution = TypedDict( + "DocFormatBoldResultResolution", + { + "range": DocFormatBoldResultResolutionRange, + "requestedTarget": DocFormatBoldResultResolutionRequestedTarget, + "target": DocFormatBoldResultResolutionTarget, + "text": str, + }, + total=False, +) + +DocFormatBoldResultUpdatedItemVariant1 = TypedDict( + "DocFormatBoldResultUpdatedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocFormatBoldResultUpdatedItemVariant2 = TypedDict( + "DocFormatBoldResultUpdatedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocFormatBoldResult = TypedDict( + "DocFormatBoldResult", + { + "inserted": list[DocFormatBoldResultInsertedItemVariant1 | DocFormatBoldResultInsertedItemVariant2], + "removed": list[DocFormatBoldResultRemovedItemVariant1 | DocFormatBoldResultRemovedItemVariant2], + "resolution": DocFormatBoldResultResolution, + "success": Literal[True], + "updated": list[DocFormatBoldResultUpdatedItemVariant1 | DocFormatBoldResultUpdatedItemVariant2], + }, + total=False, +) + +DocFormatItalicResultInsertedItemVariant1 = TypedDict( + "DocFormatItalicResultInsertedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocFormatItalicResultInsertedItemVariant2 = TypedDict( + "DocFormatItalicResultInsertedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocFormatItalicResultRemovedItemVariant1 = TypedDict( + "DocFormatItalicResultRemovedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocFormatItalicResultRemovedItemVariant2 = TypedDict( + "DocFormatItalicResultRemovedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocFormatItalicResultResolutionRange = TypedDict( + "DocFormatItalicResultResolutionRange", + { + "from": int | float, + "to": int | float, + }, + total=False, +) + +DocFormatItalicResultResolutionRequestedTargetRange = TypedDict( + "DocFormatItalicResultResolutionRequestedTargetRange", + { + "end": int | float, + "start": int | float, + }, + total=False, +) + +DocFormatItalicResultResolutionRequestedTarget = TypedDict( + "DocFormatItalicResultResolutionRequestedTarget", + { + "blockId": str, + "kind": Literal["text"], + "range": DocFormatItalicResultResolutionRequestedTargetRange, + }, + total=False, +) + +DocFormatItalicResultResolutionTargetRange = TypedDict( + "DocFormatItalicResultResolutionTargetRange", + { + "end": int | float, + "start": int | float, + }, + total=False, +) + +DocFormatItalicResultResolutionTarget = TypedDict( + "DocFormatItalicResultResolutionTarget", + { + "blockId": str, + "kind": Literal["text"], + "range": DocFormatItalicResultResolutionTargetRange, + }, + total=False, +) + +DocFormatItalicResultResolution = TypedDict( + "DocFormatItalicResultResolution", + { + "range": DocFormatItalicResultResolutionRange, + "requestedTarget": DocFormatItalicResultResolutionRequestedTarget, + "target": DocFormatItalicResultResolutionTarget, + "text": str, + }, + total=False, +) + +DocFormatItalicResultUpdatedItemVariant1 = TypedDict( + "DocFormatItalicResultUpdatedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocFormatItalicResultUpdatedItemVariant2 = TypedDict( + "DocFormatItalicResultUpdatedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocFormatItalicResult = TypedDict( + "DocFormatItalicResult", + { + "inserted": list[DocFormatItalicResultInsertedItemVariant1 | DocFormatItalicResultInsertedItemVariant2], + "removed": list[DocFormatItalicResultRemovedItemVariant1 | DocFormatItalicResultRemovedItemVariant2], + "resolution": DocFormatItalicResultResolution, + "success": Literal[True], + "updated": list[DocFormatItalicResultUpdatedItemVariant1 | DocFormatItalicResultUpdatedItemVariant2], + }, + total=False, +) + +DocFormatUnderlineResultInsertedItemVariant1 = TypedDict( + "DocFormatUnderlineResultInsertedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocFormatUnderlineResultInsertedItemVariant2 = TypedDict( + "DocFormatUnderlineResultInsertedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocFormatUnderlineResultRemovedItemVariant1 = TypedDict( + "DocFormatUnderlineResultRemovedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocFormatUnderlineResultRemovedItemVariant2 = TypedDict( + "DocFormatUnderlineResultRemovedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocFormatUnderlineResultResolutionRange = TypedDict( + "DocFormatUnderlineResultResolutionRange", + { + "from": int | float, + "to": int | float, + }, + total=False, +) + +DocFormatUnderlineResultResolutionRequestedTargetRange = TypedDict( + "DocFormatUnderlineResultResolutionRequestedTargetRange", + { + "end": int | float, + "start": int | float, + }, + total=False, +) + +DocFormatUnderlineResultResolutionRequestedTarget = TypedDict( + "DocFormatUnderlineResultResolutionRequestedTarget", + { + "blockId": str, + "kind": Literal["text"], + "range": DocFormatUnderlineResultResolutionRequestedTargetRange, + }, + total=False, +) + +DocFormatUnderlineResultResolutionTargetRange = TypedDict( + "DocFormatUnderlineResultResolutionTargetRange", + { + "end": int | float, + "start": int | float, + }, + total=False, +) + +DocFormatUnderlineResultResolutionTarget = TypedDict( + "DocFormatUnderlineResultResolutionTarget", + { + "blockId": str, + "kind": Literal["text"], + "range": DocFormatUnderlineResultResolutionTargetRange, + }, + total=False, +) + +DocFormatUnderlineResultResolution = TypedDict( + "DocFormatUnderlineResultResolution", + { + "range": DocFormatUnderlineResultResolutionRange, + "requestedTarget": DocFormatUnderlineResultResolutionRequestedTarget, + "target": DocFormatUnderlineResultResolutionTarget, + "text": str, + }, + total=False, +) + +DocFormatUnderlineResultUpdatedItemVariant1 = TypedDict( + "DocFormatUnderlineResultUpdatedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocFormatUnderlineResultUpdatedItemVariant2 = TypedDict( + "DocFormatUnderlineResultUpdatedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocFormatUnderlineResult = TypedDict( + "DocFormatUnderlineResult", + { + "inserted": list[DocFormatUnderlineResultInsertedItemVariant1 | DocFormatUnderlineResultInsertedItemVariant2], + "removed": list[DocFormatUnderlineResultRemovedItemVariant1 | DocFormatUnderlineResultRemovedItemVariant2], + "resolution": DocFormatUnderlineResultResolution, + "success": Literal[True], + "updated": list[DocFormatUnderlineResultUpdatedItemVariant1 | DocFormatUnderlineResultUpdatedItemVariant2], + }, + total=False, +) + +DocFormatStrikethroughResultInsertedItemVariant1 = TypedDict( + "DocFormatStrikethroughResultInsertedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocFormatStrikethroughResultInsertedItemVariant2 = TypedDict( + "DocFormatStrikethroughResultInsertedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocFormatStrikethroughResultRemovedItemVariant1 = TypedDict( + "DocFormatStrikethroughResultRemovedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocFormatStrikethroughResultRemovedItemVariant2 = TypedDict( + "DocFormatStrikethroughResultRemovedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocFormatStrikethroughResultResolutionRange = TypedDict( + "DocFormatStrikethroughResultResolutionRange", + { + "from": int | float, + "to": int | float, + }, + total=False, +) + +DocFormatStrikethroughResultResolutionRequestedTargetRange = TypedDict( + "DocFormatStrikethroughResultResolutionRequestedTargetRange", + { + "end": int | float, + "start": int | float, + }, + total=False, +) + +DocFormatStrikethroughResultResolutionRequestedTarget = TypedDict( + "DocFormatStrikethroughResultResolutionRequestedTarget", + { + "blockId": str, + "kind": Literal["text"], + "range": DocFormatStrikethroughResultResolutionRequestedTargetRange, + }, + total=False, +) + +DocFormatStrikethroughResultResolutionTargetRange = TypedDict( + "DocFormatStrikethroughResultResolutionTargetRange", + { + "end": int | float, + "start": int | float, + }, + total=False, +) + +DocFormatStrikethroughResultResolutionTarget = TypedDict( + "DocFormatStrikethroughResultResolutionTarget", + { + "blockId": str, + "kind": Literal["text"], + "range": DocFormatStrikethroughResultResolutionTargetRange, + }, + total=False, +) + +DocFormatStrikethroughResultResolution = TypedDict( + "DocFormatStrikethroughResultResolution", + { + "range": DocFormatStrikethroughResultResolutionRange, + "requestedTarget": DocFormatStrikethroughResultResolutionRequestedTarget, + "target": DocFormatStrikethroughResultResolutionTarget, + "text": str, + }, + total=False, +) + +DocFormatStrikethroughResultUpdatedItemVariant1 = TypedDict( + "DocFormatStrikethroughResultUpdatedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocFormatStrikethroughResultUpdatedItemVariant2 = TypedDict( + "DocFormatStrikethroughResultUpdatedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocFormatStrikethroughResult = TypedDict( + "DocFormatStrikethroughResult", + { + "inserted": list[DocFormatStrikethroughResultInsertedItemVariant1 | DocFormatStrikethroughResultInsertedItemVariant2], + "removed": list[DocFormatStrikethroughResultRemovedItemVariant1 | DocFormatStrikethroughResultRemovedItemVariant2], + "resolution": DocFormatStrikethroughResultResolution, + "success": Literal[True], + "updated": list[DocFormatStrikethroughResultUpdatedItemVariant1 | DocFormatStrikethroughResultUpdatedItemVariant2], + }, + total=False, +) + +DocCreateParagraphResultInsertionPointRange = TypedDict( + "DocCreateParagraphResultInsertionPointRange", + { + "end": int | float, + "start": int | float, + }, + total=False, +) + +DocCreateParagraphResultInsertionPoint = TypedDict( + "DocCreateParagraphResultInsertionPoint", + { + "blockId": str, + "kind": Literal["text"], + "range": DocCreateParagraphResultInsertionPointRange, + }, + total=False, +) + +DocCreateParagraphResultParagraph = TypedDict( + "DocCreateParagraphResultParagraph", + { + "kind": Literal["block"], + "nodeId": str, + "nodeType": Literal["paragraph"], + }, + total=False, +) + +DocCreateParagraphResultTrackedChangeRefsItem = TypedDict( + "DocCreateParagraphResultTrackedChangeRefsItem", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCreateParagraphResult = TypedDict( + "DocCreateParagraphResult", + { + "insertionPoint": DocCreateParagraphResultInsertionPoint, + "paragraph": DocCreateParagraphResultParagraph, + "success": Literal[True], + "trackedChangeRefs": list[DocCreateParagraphResultTrackedChangeRefsItem], + }, + total=False, +) + +DocListsListResultItemsItemAddress = TypedDict( + "DocListsListResultItemsItemAddress", + { + "kind": Literal["block"], + "nodeId": str, + "nodeType": Literal["listItem"], + }, + total=False, +) + +DocListsListResultItemsItem = TypedDict( + "DocListsListResultItemsItem", + { + "address": DocListsListResultItemsItemAddress, + "kind": Literal["ordered"] | Literal["bullet"], + "level": int | float, + "marker": str, + "ordinal": int | float, + "path": list[int | float], + "text": str, + }, + total=False, +) + +DocListsListResultMatchesItem = TypedDict( + "DocListsListResultMatchesItem", + { + "kind": Literal["block"], + "nodeId": str, + "nodeType": Literal["listItem"], + }, + total=False, +) + +DocListsListResult = TypedDict( + "DocListsListResult", + { + "items": list[DocListsListResultItemsItem], + "matches": list[DocListsListResultMatchesItem], + "total": int | float, + }, + total=False, +) + +DocListsGetResultAddress = TypedDict( + "DocListsGetResultAddress", + { + "kind": Literal["block"], + "nodeId": str, + "nodeType": Literal["listItem"], + }, + total=False, +) + +DocListsGetResult = TypedDict( + "DocListsGetResult", + { + "address": DocListsGetResultAddress, + "kind": Literal["ordered"] | Literal["bullet"], + "level": int | float, + "marker": str, + "ordinal": int | float, + "path": list[int | float], + "text": str, + }, + total=False, +) + +DocListsInsertResultInsertionPointRange = TypedDict( + "DocListsInsertResultInsertionPointRange", + { + "end": int | float, + "start": int | float, + }, + total=False, +) + +DocListsInsertResultInsertionPoint = TypedDict( + "DocListsInsertResultInsertionPoint", + { + "blockId": str, + "kind": Literal["text"], + "range": DocListsInsertResultInsertionPointRange, + }, + total=False, +) + +DocListsInsertResultItem = TypedDict( + "DocListsInsertResultItem", + { + "kind": Literal["block"], + "nodeId": str, + "nodeType": Literal["listItem"], + }, + total=False, +) + +DocListsInsertResultTrackedChangeRefsItem = TypedDict( + "DocListsInsertResultTrackedChangeRefsItem", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocListsInsertResult = TypedDict( + "DocListsInsertResult", + { + "insertionPoint": DocListsInsertResultInsertionPoint, + "item": DocListsInsertResultItem, + "success": Literal[True], + "trackedChangeRefs": list[DocListsInsertResultTrackedChangeRefsItem], + }, + total=False, +) + +DocListsSetTypeResultItem = TypedDict( + "DocListsSetTypeResultItem", + { + "kind": Literal["block"], + "nodeId": str, + "nodeType": Literal["listItem"], + }, + total=False, +) + +DocListsSetTypeResult = TypedDict( + "DocListsSetTypeResult", + { + "item": DocListsSetTypeResultItem, + "success": Literal[True], + }, + total=False, +) + +DocListsIndentResultItem = TypedDict( + "DocListsIndentResultItem", + { + "kind": Literal["block"], + "nodeId": str, + "nodeType": Literal["listItem"], + }, + total=False, +) + +DocListsIndentResult = TypedDict( + "DocListsIndentResult", + { + "item": DocListsIndentResultItem, + "success": Literal[True], + }, + total=False, +) + +DocListsOutdentResultItem = TypedDict( + "DocListsOutdentResultItem", + { + "kind": Literal["block"], + "nodeId": str, + "nodeType": Literal["listItem"], + }, + total=False, +) + +DocListsOutdentResult = TypedDict( + "DocListsOutdentResult", + { + "item": DocListsOutdentResultItem, + "success": Literal[True], + }, + total=False, +) + +DocListsRestartResultItem = TypedDict( + "DocListsRestartResultItem", + { + "kind": Literal["block"], + "nodeId": str, + "nodeType": Literal["listItem"], + }, + total=False, +) + +DocListsRestartResult = TypedDict( + "DocListsRestartResult", + { + "item": DocListsRestartResultItem, + "success": Literal[True], + }, + total=False, +) + +DocListsExitResultParagraph = TypedDict( + "DocListsExitResultParagraph", + { + "kind": Literal["block"], + "nodeId": str, + "nodeType": Literal["paragraph"], + }, + total=False, +) + +DocListsExitResult = TypedDict( + "DocListsExitResult", + { + "paragraph": DocListsExitResultParagraph, + "success": Literal[True], + }, + total=False, +) + +DocCommentsAddResultInsertedItemVariant1 = TypedDict( + "DocCommentsAddResultInsertedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsAddResultInsertedItemVariant2 = TypedDict( + "DocCommentsAddResultInsertedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsAddResultRemovedItemVariant1 = TypedDict( + "DocCommentsAddResultRemovedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsAddResultRemovedItemVariant2 = TypedDict( + "DocCommentsAddResultRemovedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsAddResultUpdatedItemVariant1 = TypedDict( + "DocCommentsAddResultUpdatedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsAddResultUpdatedItemVariant2 = TypedDict( + "DocCommentsAddResultUpdatedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsAddResult = TypedDict( + "DocCommentsAddResult", + { + "inserted": list[DocCommentsAddResultInsertedItemVariant1 | DocCommentsAddResultInsertedItemVariant2], + "removed": list[DocCommentsAddResultRemovedItemVariant1 | DocCommentsAddResultRemovedItemVariant2], + "success": Literal[True], + "updated": list[DocCommentsAddResultUpdatedItemVariant1 | DocCommentsAddResultUpdatedItemVariant2], + }, + total=False, +) + +DocCommentsEditResultInsertedItemVariant1 = TypedDict( + "DocCommentsEditResultInsertedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsEditResultInsertedItemVariant2 = TypedDict( + "DocCommentsEditResultInsertedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsEditResultRemovedItemVariant1 = TypedDict( + "DocCommentsEditResultRemovedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsEditResultRemovedItemVariant2 = TypedDict( + "DocCommentsEditResultRemovedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsEditResultUpdatedItemVariant1 = TypedDict( + "DocCommentsEditResultUpdatedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsEditResultUpdatedItemVariant2 = TypedDict( + "DocCommentsEditResultUpdatedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsEditResult = TypedDict( + "DocCommentsEditResult", + { + "inserted": list[DocCommentsEditResultInsertedItemVariant1 | DocCommentsEditResultInsertedItemVariant2], + "removed": list[DocCommentsEditResultRemovedItemVariant1 | DocCommentsEditResultRemovedItemVariant2], + "success": Literal[True], + "updated": list[DocCommentsEditResultUpdatedItemVariant1 | DocCommentsEditResultUpdatedItemVariant2], + }, + total=False, +) + +DocCommentsReplyResultInsertedItemVariant1 = TypedDict( + "DocCommentsReplyResultInsertedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsReplyResultInsertedItemVariant2 = TypedDict( + "DocCommentsReplyResultInsertedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsReplyResultRemovedItemVariant1 = TypedDict( + "DocCommentsReplyResultRemovedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsReplyResultRemovedItemVariant2 = TypedDict( + "DocCommentsReplyResultRemovedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsReplyResultUpdatedItemVariant1 = TypedDict( + "DocCommentsReplyResultUpdatedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsReplyResultUpdatedItemVariant2 = TypedDict( + "DocCommentsReplyResultUpdatedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsReplyResult = TypedDict( + "DocCommentsReplyResult", + { + "inserted": list[DocCommentsReplyResultInsertedItemVariant1 | DocCommentsReplyResultInsertedItemVariant2], + "removed": list[DocCommentsReplyResultRemovedItemVariant1 | DocCommentsReplyResultRemovedItemVariant2], + "success": Literal[True], + "updated": list[DocCommentsReplyResultUpdatedItemVariant1 | DocCommentsReplyResultUpdatedItemVariant2], + }, + total=False, +) + +DocCommentsMoveResultInsertedItemVariant1 = TypedDict( + "DocCommentsMoveResultInsertedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsMoveResultInsertedItemVariant2 = TypedDict( + "DocCommentsMoveResultInsertedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsMoveResultRemovedItemVariant1 = TypedDict( + "DocCommentsMoveResultRemovedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsMoveResultRemovedItemVariant2 = TypedDict( + "DocCommentsMoveResultRemovedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsMoveResultUpdatedItemVariant1 = TypedDict( + "DocCommentsMoveResultUpdatedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsMoveResultUpdatedItemVariant2 = TypedDict( + "DocCommentsMoveResultUpdatedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsMoveResult = TypedDict( + "DocCommentsMoveResult", + { + "inserted": list[DocCommentsMoveResultInsertedItemVariant1 | DocCommentsMoveResultInsertedItemVariant2], + "removed": list[DocCommentsMoveResultRemovedItemVariant1 | DocCommentsMoveResultRemovedItemVariant2], + "success": Literal[True], + "updated": list[DocCommentsMoveResultUpdatedItemVariant1 | DocCommentsMoveResultUpdatedItemVariant2], + }, + total=False, +) + +DocCommentsResolveResultInsertedItemVariant1 = TypedDict( + "DocCommentsResolveResultInsertedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsResolveResultInsertedItemVariant2 = TypedDict( + "DocCommentsResolveResultInsertedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsResolveResultRemovedItemVariant1 = TypedDict( + "DocCommentsResolveResultRemovedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsResolveResultRemovedItemVariant2 = TypedDict( + "DocCommentsResolveResultRemovedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsResolveResultUpdatedItemVariant1 = TypedDict( + "DocCommentsResolveResultUpdatedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsResolveResultUpdatedItemVariant2 = TypedDict( + "DocCommentsResolveResultUpdatedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsResolveResult = TypedDict( + "DocCommentsResolveResult", + { + "inserted": list[DocCommentsResolveResultInsertedItemVariant1 | DocCommentsResolveResultInsertedItemVariant2], + "removed": list[DocCommentsResolveResultRemovedItemVariant1 | DocCommentsResolveResultRemovedItemVariant2], + "success": Literal[True], + "updated": list[DocCommentsResolveResultUpdatedItemVariant1 | DocCommentsResolveResultUpdatedItemVariant2], + }, + total=False, +) + +DocCommentsRemoveResultInsertedItemVariant1 = TypedDict( + "DocCommentsRemoveResultInsertedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsRemoveResultInsertedItemVariant2 = TypedDict( + "DocCommentsRemoveResultInsertedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsRemoveResultRemovedItemVariant1 = TypedDict( + "DocCommentsRemoveResultRemovedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsRemoveResultRemovedItemVariant2 = TypedDict( + "DocCommentsRemoveResultRemovedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsRemoveResultUpdatedItemVariant1 = TypedDict( + "DocCommentsRemoveResultUpdatedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsRemoveResultUpdatedItemVariant2 = TypedDict( + "DocCommentsRemoveResultUpdatedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsRemoveResult = TypedDict( + "DocCommentsRemoveResult", + { + "inserted": list[DocCommentsRemoveResultInsertedItemVariant1 | DocCommentsRemoveResultInsertedItemVariant2], + "removed": list[DocCommentsRemoveResultRemovedItemVariant1 | DocCommentsRemoveResultRemovedItemVariant2], + "success": Literal[True], + "updated": list[DocCommentsRemoveResultUpdatedItemVariant1 | DocCommentsRemoveResultUpdatedItemVariant2], + }, + total=False, +) + +DocCommentsSetInternalResultInsertedItemVariant1 = TypedDict( + "DocCommentsSetInternalResultInsertedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsSetInternalResultInsertedItemVariant2 = TypedDict( + "DocCommentsSetInternalResultInsertedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsSetInternalResultRemovedItemVariant1 = TypedDict( + "DocCommentsSetInternalResultRemovedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsSetInternalResultRemovedItemVariant2 = TypedDict( + "DocCommentsSetInternalResultRemovedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsSetInternalResultUpdatedItemVariant1 = TypedDict( + "DocCommentsSetInternalResultUpdatedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsSetInternalResultUpdatedItemVariant2 = TypedDict( + "DocCommentsSetInternalResultUpdatedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsSetInternalResult = TypedDict( + "DocCommentsSetInternalResult", + { + "inserted": list[DocCommentsSetInternalResultInsertedItemVariant1 | DocCommentsSetInternalResultInsertedItemVariant2], + "removed": list[DocCommentsSetInternalResultRemovedItemVariant1 | DocCommentsSetInternalResultRemovedItemVariant2], + "success": Literal[True], + "updated": list[DocCommentsSetInternalResultUpdatedItemVariant1 | DocCommentsSetInternalResultUpdatedItemVariant2], + }, + total=False, +) + +DocCommentsSetActiveResultInsertedItemVariant1 = TypedDict( + "DocCommentsSetActiveResultInsertedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsSetActiveResultInsertedItemVariant2 = TypedDict( + "DocCommentsSetActiveResultInsertedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsSetActiveResultRemovedItemVariant1 = TypedDict( + "DocCommentsSetActiveResultRemovedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsSetActiveResultRemovedItemVariant2 = TypedDict( + "DocCommentsSetActiveResultRemovedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsSetActiveResultUpdatedItemVariant1 = TypedDict( + "DocCommentsSetActiveResultUpdatedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsSetActiveResultUpdatedItemVariant2 = TypedDict( + "DocCommentsSetActiveResultUpdatedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsSetActiveResult = TypedDict( + "DocCommentsSetActiveResult", + { + "inserted": list[DocCommentsSetActiveResultInsertedItemVariant1 | DocCommentsSetActiveResultInsertedItemVariant2], + "removed": list[DocCommentsSetActiveResultRemovedItemVariant1 | DocCommentsSetActiveResultRemovedItemVariant2], + "success": Literal[True], + "updated": list[DocCommentsSetActiveResultUpdatedItemVariant1 | DocCommentsSetActiveResultUpdatedItemVariant2], + }, + total=False, +) + +DocCommentsGoToResultInsertedItemVariant1 = TypedDict( + "DocCommentsGoToResultInsertedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsGoToResultInsertedItemVariant2 = TypedDict( + "DocCommentsGoToResultInsertedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsGoToResultRemovedItemVariant1 = TypedDict( + "DocCommentsGoToResultRemovedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsGoToResultRemovedItemVariant2 = TypedDict( + "DocCommentsGoToResultRemovedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsGoToResultUpdatedItemVariant1 = TypedDict( + "DocCommentsGoToResultUpdatedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsGoToResultUpdatedItemVariant2 = TypedDict( + "DocCommentsGoToResultUpdatedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsGoToResult = TypedDict( + "DocCommentsGoToResult", + { + "inserted": list[DocCommentsGoToResultInsertedItemVariant1 | DocCommentsGoToResultInsertedItemVariant2], + "removed": list[DocCommentsGoToResultRemovedItemVariant1 | DocCommentsGoToResultRemovedItemVariant2], + "success": Literal[True], + "updated": list[DocCommentsGoToResultUpdatedItemVariant1 | DocCommentsGoToResultUpdatedItemVariant2], + }, + total=False, +) + +DocCommentsGetResultAddress = TypedDict( + "DocCommentsGetResultAddress", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsGetResultTargetRange = TypedDict( + "DocCommentsGetResultTargetRange", + { + "end": int | float, + "start": int | float, + }, + total=False, +) + +DocCommentsGetResultTarget = TypedDict( + "DocCommentsGetResultTarget", + { + "blockId": str, + "kind": Literal["text"], + "range": DocCommentsGetResultTargetRange, + }, + total=False, +) + +DocCommentsGetResult = TypedDict( + "DocCommentsGetResult", + { + "address": DocCommentsGetResultAddress, + "commentId": str, + "createdTime": int | float, + "creatorEmail": str, + "creatorName": str, + "importedId": str, + "isInternal": bool, + "parentCommentId": str, + "status": Literal["open"] | Literal["resolved"], + "target": DocCommentsGetResultTarget, + "text": str, + }, + total=False, +) + +DocCommentsListResultMatchesItemAddress = TypedDict( + "DocCommentsListResultMatchesItemAddress", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocCommentsListResultMatchesItemTargetRange = TypedDict( + "DocCommentsListResultMatchesItemTargetRange", + { + "end": int | float, + "start": int | float, + }, + total=False, +) + +DocCommentsListResultMatchesItemTarget = TypedDict( + "DocCommentsListResultMatchesItemTarget", + { + "blockId": str, + "kind": Literal["text"], + "range": DocCommentsListResultMatchesItemTargetRange, + }, + total=False, +) + +DocCommentsListResultMatchesItem = TypedDict( + "DocCommentsListResultMatchesItem", + { + "address": DocCommentsListResultMatchesItemAddress, + "commentId": str, + "createdTime": int | float, + "creatorEmail": str, + "creatorName": str, + "importedId": str, + "isInternal": bool, + "parentCommentId": str, + "status": Literal["open"] | Literal["resolved"], + "target": DocCommentsListResultMatchesItemTarget, + "text": str, + }, + total=False, +) + +DocCommentsListResult = TypedDict( + "DocCommentsListResult", + { + "matches": list[DocCommentsListResultMatchesItem], + "total": int | float, + }, + total=False, +) + +DocTrackChangesListResultChangesItemAddress = TypedDict( + "DocTrackChangesListResultChangesItemAddress", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocTrackChangesListResultChangesItem = TypedDict( + "DocTrackChangesListResultChangesItem", + { + "address": DocTrackChangesListResultChangesItemAddress, + "author": str, + "authorEmail": str, + "authorImage": str, + "date": str, + "excerpt": str, + "id": str, + "type": Literal["insert"] | Literal["delete"] | Literal["format"], + }, + total=False, +) + +DocTrackChangesListResultMatchesItem = TypedDict( + "DocTrackChangesListResultMatchesItem", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocTrackChangesListResult = TypedDict( + "DocTrackChangesListResult", + { + "changes": list[DocTrackChangesListResultChangesItem], + "matches": list[DocTrackChangesListResultMatchesItem], + "total": int | float, + }, + total=False, +) + +DocTrackChangesGetResultAddress = TypedDict( + "DocTrackChangesGetResultAddress", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocTrackChangesGetResult = TypedDict( + "DocTrackChangesGetResult", + { + "address": DocTrackChangesGetResultAddress, + "author": str, + "authorEmail": str, + "authorImage": str, + "date": str, + "excerpt": str, + "id": str, + "type": Literal["insert"] | Literal["delete"] | Literal["format"], + }, + total=False, +) + +DocTrackChangesAcceptResultInsertedItemVariant1 = TypedDict( + "DocTrackChangesAcceptResultInsertedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocTrackChangesAcceptResultInsertedItemVariant2 = TypedDict( + "DocTrackChangesAcceptResultInsertedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocTrackChangesAcceptResultRemovedItemVariant1 = TypedDict( + "DocTrackChangesAcceptResultRemovedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocTrackChangesAcceptResultRemovedItemVariant2 = TypedDict( + "DocTrackChangesAcceptResultRemovedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocTrackChangesAcceptResultUpdatedItemVariant1 = TypedDict( + "DocTrackChangesAcceptResultUpdatedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocTrackChangesAcceptResultUpdatedItemVariant2 = TypedDict( + "DocTrackChangesAcceptResultUpdatedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocTrackChangesAcceptResult = TypedDict( + "DocTrackChangesAcceptResult", + { + "inserted": list[DocTrackChangesAcceptResultInsertedItemVariant1 | DocTrackChangesAcceptResultInsertedItemVariant2], + "removed": list[DocTrackChangesAcceptResultRemovedItemVariant1 | DocTrackChangesAcceptResultRemovedItemVariant2], + "success": Literal[True], + "updated": list[DocTrackChangesAcceptResultUpdatedItemVariant1 | DocTrackChangesAcceptResultUpdatedItemVariant2], + }, + total=False, +) + +DocTrackChangesRejectResultInsertedItemVariant1 = TypedDict( + "DocTrackChangesRejectResultInsertedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocTrackChangesRejectResultInsertedItemVariant2 = TypedDict( + "DocTrackChangesRejectResultInsertedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocTrackChangesRejectResultRemovedItemVariant1 = TypedDict( + "DocTrackChangesRejectResultRemovedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocTrackChangesRejectResultRemovedItemVariant2 = TypedDict( + "DocTrackChangesRejectResultRemovedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocTrackChangesRejectResultUpdatedItemVariant1 = TypedDict( + "DocTrackChangesRejectResultUpdatedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocTrackChangesRejectResultUpdatedItemVariant2 = TypedDict( + "DocTrackChangesRejectResultUpdatedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocTrackChangesRejectResult = TypedDict( + "DocTrackChangesRejectResult", + { + "inserted": list[DocTrackChangesRejectResultInsertedItemVariant1 | DocTrackChangesRejectResultInsertedItemVariant2], + "removed": list[DocTrackChangesRejectResultRemovedItemVariant1 | DocTrackChangesRejectResultRemovedItemVariant2], + "success": Literal[True], + "updated": list[DocTrackChangesRejectResultUpdatedItemVariant1 | DocTrackChangesRejectResultUpdatedItemVariant2], + }, + total=False, +) + +DocTrackChangesAcceptAllResultInsertedItemVariant1 = TypedDict( + "DocTrackChangesAcceptAllResultInsertedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocTrackChangesAcceptAllResultInsertedItemVariant2 = TypedDict( + "DocTrackChangesAcceptAllResultInsertedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocTrackChangesAcceptAllResultRemovedItemVariant1 = TypedDict( + "DocTrackChangesAcceptAllResultRemovedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocTrackChangesAcceptAllResultRemovedItemVariant2 = TypedDict( + "DocTrackChangesAcceptAllResultRemovedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocTrackChangesAcceptAllResultUpdatedItemVariant1 = TypedDict( + "DocTrackChangesAcceptAllResultUpdatedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocTrackChangesAcceptAllResultUpdatedItemVariant2 = TypedDict( + "DocTrackChangesAcceptAllResultUpdatedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocTrackChangesAcceptAllResult = TypedDict( + "DocTrackChangesAcceptAllResult", + { + "inserted": list[DocTrackChangesAcceptAllResultInsertedItemVariant1 | DocTrackChangesAcceptAllResultInsertedItemVariant2], + "removed": list[DocTrackChangesAcceptAllResultRemovedItemVariant1 | DocTrackChangesAcceptAllResultRemovedItemVariant2], + "success": Literal[True], + "updated": list[DocTrackChangesAcceptAllResultUpdatedItemVariant1 | DocTrackChangesAcceptAllResultUpdatedItemVariant2], + }, + total=False, +) + +DocTrackChangesRejectAllResultInsertedItemVariant1 = TypedDict( + "DocTrackChangesRejectAllResultInsertedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocTrackChangesRejectAllResultInsertedItemVariant2 = TypedDict( + "DocTrackChangesRejectAllResultInsertedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocTrackChangesRejectAllResultRemovedItemVariant1 = TypedDict( + "DocTrackChangesRejectAllResultRemovedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocTrackChangesRejectAllResultRemovedItemVariant2 = TypedDict( + "DocTrackChangesRejectAllResultRemovedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocTrackChangesRejectAllResultUpdatedItemVariant1 = TypedDict( + "DocTrackChangesRejectAllResultUpdatedItemVariant1", + { + "entityId": str, + "entityType": Literal["comment"], + "kind": Literal["entity"], + }, + total=False, +) + +DocTrackChangesRejectAllResultUpdatedItemVariant2 = TypedDict( + "DocTrackChangesRejectAllResultUpdatedItemVariant2", + { + "entityId": str, + "entityType": Literal["trackedChange"], + "kind": Literal["entity"], + }, + total=False, +) + +DocTrackChangesRejectAllResult = TypedDict( + "DocTrackChangesRejectAllResult", + { + "inserted": list[DocTrackChangesRejectAllResultInsertedItemVariant1 | DocTrackChangesRejectAllResultInsertedItemVariant2], + "removed": list[DocTrackChangesRejectAllResultRemovedItemVariant1 | DocTrackChangesRejectAllResultRemovedItemVariant2], + "success": Literal[True], + "updated": list[DocTrackChangesRejectAllResultUpdatedItemVariant1 | DocTrackChangesRejectAllResultUpdatedItemVariant2], + }, + total=False, +) + +DocOpenResultDocument = TypedDict( + "DocOpenResultDocument", + { + "path": str, + "source": str, + "revision": int | float, + }, + total=False, +) + +DocOpenResultCollaboration = TypedDict( + "DocOpenResultCollaboration", + { + "documentId": str, + "url": str, + }, + total=False, +) + +DocOpenResult = TypedDict( + "DocOpenResult", + { + "contextId": str, + "sessionType": str, + "document": DocOpenResultDocument, + "collaboration": DocOpenResultCollaboration, + }, + total=False, +) + +DocSaveResultDocument = TypedDict( + "DocSaveResultDocument", + { + "path": str, + "source": str, + "revision": int | float, + }, + total=False, +) + +DocSaveResultContext = TypedDict( + "DocSaveResultContext", + { + "dirty": bool, + "revision": int | float, + "lastSavedAt": str, + }, + total=False, +) + +DocSaveResultOutput = TypedDict( + "DocSaveResultOutput", + { + "path": str, + "byteLength": int | float, + }, + total=False, +) + +DocSaveResult = TypedDict( + "DocSaveResult", + { + "contextId": str, + "saved": bool, + "inPlace": bool, + "document": DocSaveResultDocument, + "context": DocSaveResultContext, + "output": DocSaveResultOutput, + }, + total=False, +) + +DocCloseResultDocument = TypedDict( + "DocCloseResultDocument", + { + "path": str, + "source": str, + "revision": int | float, + }, + total=False, +) + +DocCloseResult = TypedDict( + "DocCloseResult", + { + "contextId": str, + "closed": bool, + "saved": bool, + "discarded": bool, + "defaultSessionCleared": bool, + "wasDirty": bool, + "document": DocCloseResultDocument, + }, + total=False, +) + +DocStatusResultDocument = TypedDict( + "DocStatusResultDocument", + { + "path": str, + "source": str, + }, + total=False, +) + +DocStatusResult = TypedDict( + "DocStatusResult", + { + "contextId": str, + "sessionType": str, + "dirty": bool, + "revision": int | float, + "document": DocStatusResultDocument, + }, + total=False, +) + +DocDescribeResultOperationsItem = TypedDict( + "DocDescribeResultOperationsItem", + { + "operationId": str, + "command": str, + "category": str, + "description": str, + "mutates": bool, + }, + total=False, +) + +DocDescribeResult = TypedDict( + "DocDescribeResult", + { + "contractVersion": str, + "operations": list[DocDescribeResultOperationsItem], + }, + total=False, +) + +DocDescribeCommandResult = TypedDict( + "DocDescribeCommandResult", + { + "operationId": str, + "command": str, + "category": str, + "description": str, + "mutates": bool, + "params": list[Any], + "constraints": Any, + }, + total=False, +) + +DocSessionListResultSessionsItem = TypedDict( + "DocSessionListResultSessionsItem", + { + "sessionId": str, + "sessionType": str, + "dirty": bool, + "revision": int | float, + }, + total=False, +) + +DocSessionListResult = TypedDict( + "DocSessionListResult", + { + "activeSessionId": str, + "sessions": list[DocSessionListResultSessionsItem], + "total": int | float, + }, + total=False, +) + +DocSessionSaveResultDocument = TypedDict( + "DocSessionSaveResultDocument", + { + "path": str, + "source": str, + "revision": int | float, + }, + total=False, +) + +DocSessionSaveResultOutput = TypedDict( + "DocSessionSaveResultOutput", + { + "path": str, + "byteLength": int | float, + }, + total=False, +) + +DocSessionSaveResult = TypedDict( + "DocSessionSaveResult", + { + "sessionId": str, + "contextId": str, + "saved": bool, + "inPlace": bool, + "document": DocSessionSaveResultDocument, + "output": DocSessionSaveResultOutput, + }, + total=False, +) + +DocSessionCloseResultDocument = TypedDict( + "DocSessionCloseResultDocument", + { + "path": str, + "source": str, + "revision": int | float, + }, + total=False, +) + +DocSessionCloseResult = TypedDict( + "DocSessionCloseResult", + { + "sessionId": str, + "contextId": str, + "closed": bool, + "saved": bool, + "discarded": bool, + "defaultSessionCleared": bool, + "wasDirty": bool, + "document": DocSessionCloseResultDocument, + }, + total=False, +) + +DocSessionSetDefaultResult = TypedDict( + "DocSessionSetDefaultResult", + { + "activeSessionId": str, + }, + total=False, +) + +DocFindParamsWithinVariant1 = TypedDict( + "DocFindParamsWithinVariant1", + { + "kind": Literal["block"], + "nodeType": Literal["paragraph"] | Literal["heading"] | Literal["listItem"] | Literal["table"] | Literal["tableRow"] | Literal["tableCell"] | Literal["image"] | Literal["sdt"], + "nodeId": str, + }, + total=False, +) + +DocFindParamsWithinVariant2AnchorStart = TypedDict( + "DocFindParamsWithinVariant2AnchorStart", + { + "blockId": str, + "offset": int | float, + }, + total=False, +) + +DocFindParamsWithinVariant2AnchorEnd = TypedDict( + "DocFindParamsWithinVariant2AnchorEnd", + { + "blockId": str, + "offset": int | float, + }, + total=False, +) + +DocFindParamsWithinVariant2Anchor = TypedDict( + "DocFindParamsWithinVariant2Anchor", + { + "start": DocFindParamsWithinVariant2AnchorStart, + "end": DocFindParamsWithinVariant2AnchorEnd, + }, + total=False, +) + +DocFindParamsWithinVariant2 = TypedDict( + "DocFindParamsWithinVariant2", + { + "kind": Literal["inline"], + "nodeType": Literal["run"] | Literal["bookmark"] | Literal["comment"] | Literal["hyperlink"] | Literal["sdt"] | Literal["image"] | Literal["footnoteRef"] | Literal["tab"] | Literal["lineBreak"], + "anchor": DocFindParamsWithinVariant2Anchor, + }, + total=False, +) + +DocFindParams = TypedDict( + "DocFindParams", + { + "doc": str, + "sessionId": str, + "within": DocFindParamsWithinVariant1 | DocFindParamsWithinVariant2, + "limit": int | float, + "offset": int | float, + "includeNodes": bool, + "includeUnknown": bool, + "type": str, + "nodeType": str, + "kind": str, + "pattern": str, + "mode": str, + "caseSensitive": bool, + "query": Any, + }, + total=False, +) + +DocGetNodeParams = TypedDict( + "DocGetNodeParams", + { + "doc": str, + "sessionId": str, + "address": Any, + }, + total=False, +) + +DocGetNodeByIdParams = TypedDict( + "DocGetNodeByIdParams", + { + "doc": str, + "sessionId": str, + "id": str, + "nodeType": str, + }, + total=False, +) + +DocInfoParams = TypedDict( + "DocInfoParams", + { + "doc": str, + "sessionId": str, + }, + total=False, +) + +DocInsertParamsTargetRange = TypedDict( + "DocInsertParamsTargetRange", + { + "start": int | float, + "end": int | float, + }, + total=False, +) + +DocInsertParamsTarget = TypedDict( + "DocInsertParamsTarget", + { + "kind": Literal["text"], + "blockId": str, + "range": DocInsertParamsTargetRange, + }, + total=False, +) + +DocInsertParams = TypedDict( + "DocInsertParams", + { + "doc": str, + "sessionId": str, + "out": str, + "force": bool, + "expectedRevision": int | float, + "changeMode": str, + "dryRun": bool, + "target": DocInsertParamsTarget, + "text": str, + }, + total=False, +) + +DocReplaceParamsTargetRange = TypedDict( + "DocReplaceParamsTargetRange", + { + "start": int | float, + "end": int | float, + }, + total=False, +) + +DocReplaceParamsTarget = TypedDict( + "DocReplaceParamsTarget", + { + "kind": Literal["text"], + "blockId": str, + "range": DocReplaceParamsTargetRange, + }, + total=False, +) + +DocReplaceParams = TypedDict( + "DocReplaceParams", + { + "doc": str, + "sessionId": str, + "out": str, + "force": bool, + "expectedRevision": int | float, + "changeMode": str, + "dryRun": bool, + "target": DocReplaceParamsTarget, + "text": str, + }, + total=False, +) + +DocDeleteParamsTargetRange = TypedDict( + "DocDeleteParamsTargetRange", + { + "start": int | float, + "end": int | float, + }, + total=False, +) + +DocDeleteParamsTarget = TypedDict( + "DocDeleteParamsTarget", + { + "kind": Literal["text"], + "blockId": str, + "range": DocDeleteParamsTargetRange, + }, + total=False, +) + +DocDeleteParams = TypedDict( + "DocDeleteParams", + { + "doc": str, + "sessionId": str, + "out": str, + "force": bool, + "expectedRevision": int | float, + "changeMode": str, + "dryRun": bool, + "target": DocDeleteParamsTarget, + }, + total=False, +) + +DocFormatBoldParamsTargetRange = TypedDict( + "DocFormatBoldParamsTargetRange", + { + "start": int | float, + "end": int | float, + }, + total=False, +) + +DocFormatBoldParamsTarget = TypedDict( + "DocFormatBoldParamsTarget", + { + "kind": Literal["text"], + "blockId": str, + "range": DocFormatBoldParamsTargetRange, + }, + total=False, +) + +DocFormatBoldParams = TypedDict( + "DocFormatBoldParams", + { + "doc": str, + "sessionId": str, + "out": str, + "force": bool, + "expectedRevision": int | float, + "changeMode": str, + "dryRun": bool, + "target": DocFormatBoldParamsTarget, + }, + total=False, +) + +DocFormatItalicParamsTargetRange = TypedDict( + "DocFormatItalicParamsTargetRange", + { + "start": int | float, + "end": int | float, + }, + total=False, +) + +DocFormatItalicParamsTarget = TypedDict( + "DocFormatItalicParamsTarget", + { + "kind": Literal["text"], + "blockId": str, + "range": DocFormatItalicParamsTargetRange, + }, + total=False, +) + +DocFormatItalicParams = TypedDict( + "DocFormatItalicParams", + { + "doc": str, + "sessionId": str, + "out": str, + "force": bool, + "expectedRevision": int | float, + "changeMode": str, + "dryRun": bool, + "target": DocFormatItalicParamsTarget, + }, + total=False, +) + +DocFormatUnderlineParamsTargetRange = TypedDict( + "DocFormatUnderlineParamsTargetRange", + { + "start": int | float, + "end": int | float, + }, + total=False, +) + +DocFormatUnderlineParamsTarget = TypedDict( + "DocFormatUnderlineParamsTarget", + { + "kind": Literal["text"], + "blockId": str, + "range": DocFormatUnderlineParamsTargetRange, + }, + total=False, +) + +DocFormatUnderlineParams = TypedDict( + "DocFormatUnderlineParams", + { + "doc": str, + "sessionId": str, + "out": str, + "force": bool, + "expectedRevision": int | float, + "changeMode": str, + "dryRun": bool, + "target": DocFormatUnderlineParamsTarget, + }, + total=False, +) + +DocFormatStrikethroughParamsTargetRange = TypedDict( + "DocFormatStrikethroughParamsTargetRange", + { + "start": int | float, + "end": int | float, + }, + total=False, +) + +DocFormatStrikethroughParamsTarget = TypedDict( + "DocFormatStrikethroughParamsTarget", + { + "kind": Literal["text"], + "blockId": str, + "range": DocFormatStrikethroughParamsTargetRange, + }, + total=False, +) + +DocFormatStrikethroughParams = TypedDict( + "DocFormatStrikethroughParams", + { + "doc": str, + "sessionId": str, + "out": str, + "force": bool, + "expectedRevision": int | float, + "changeMode": str, + "dryRun": bool, + "target": DocFormatStrikethroughParamsTarget, + }, + total=False, +) + +DocCreateParagraphParamsAtVariant1 = TypedDict( + "DocCreateParagraphParamsAtVariant1", + { + "kind": Literal["documentStart"], + }, + total=False, +) + +DocCreateParagraphParamsAtVariant2 = TypedDict( + "DocCreateParagraphParamsAtVariant2", + { + "kind": Literal["documentEnd"], + }, + total=False, +) + +DocCreateParagraphParamsAtVariant3Target = TypedDict( + "DocCreateParagraphParamsAtVariant3Target", + { + "kind": Literal["block"], + "nodeType": Literal["paragraph"] | Literal["heading"] | Literal["listItem"] | Literal["table"] | Literal["tableRow"] | Literal["tableCell"] | Literal["image"] | Literal["sdt"], + "nodeId": str, + }, + total=False, +) + +DocCreateParagraphParamsAtVariant3 = TypedDict( + "DocCreateParagraphParamsAtVariant3", + { + "kind": Literal["before"], + "target": DocCreateParagraphParamsAtVariant3Target, + }, + total=False, +) + +DocCreateParagraphParamsAtVariant4Target = TypedDict( + "DocCreateParagraphParamsAtVariant4Target", + { + "kind": Literal["block"], + "nodeType": Literal["paragraph"] | Literal["heading"] | Literal["listItem"] | Literal["table"] | Literal["tableRow"] | Literal["tableCell"] | Literal["image"] | Literal["sdt"], + "nodeId": str, + }, + total=False, +) + +DocCreateParagraphParamsAtVariant4 = TypedDict( + "DocCreateParagraphParamsAtVariant4", + { + "kind": Literal["after"], + "target": DocCreateParagraphParamsAtVariant4Target, + }, + total=False, +) + +DocCreateParagraphParams = TypedDict( + "DocCreateParagraphParams", + { + "doc": str, + "sessionId": str, + "out": str, + "force": bool, + "expectedRevision": int | float, + "changeMode": str, + "dryRun": bool, + "at": DocCreateParagraphParamsAtVariant1 | DocCreateParagraphParamsAtVariant2 | DocCreateParagraphParamsAtVariant3 | DocCreateParagraphParamsAtVariant4, + "text": str, + "input": Any, + }, + total=False, +) + +DocListsListParamsWithin = TypedDict( + "DocListsListParamsWithin", + { + "kind": Literal["block"], + "nodeType": Literal["paragraph"] | Literal["heading"] | Literal["listItem"] | Literal["table"] | Literal["tableRow"] | Literal["tableCell"] | Literal["image"] | Literal["sdt"], + "nodeId": str, + }, + total=False, +) + +DocListsListParams = TypedDict( + "DocListsListParams", + { + "doc": str, + "sessionId": str, + "within": DocListsListParamsWithin, + "limit": int | float, + "offset": int | float, + "kind": str, + "level": int | float, + "ordinal": int | float, + "query": Any, + }, + total=False, +) + +DocListsGetParamsAddress = TypedDict( + "DocListsGetParamsAddress", + { + "kind": Literal["block"], + "nodeType": Literal["listItem"], + "nodeId": str, + }, + total=False, +) + +DocListsGetParams = TypedDict( + "DocListsGetParams", + { + "doc": str, + "sessionId": str, + "address": DocListsGetParamsAddress, + }, + total=False, +) + +DocListsInsertParamsTarget = TypedDict( + "DocListsInsertParamsTarget", + { + "kind": Literal["block"], + "nodeType": Literal["listItem"], + "nodeId": str, + }, + total=False, +) + +DocListsInsertParams = TypedDict( + "DocListsInsertParams", + { + "doc": str, + "sessionId": str, + "out": str, + "force": bool, + "expectedRevision": int | float, + "changeMode": str, + "dryRun": bool, + "target": DocListsInsertParamsTarget, + "position": str, + "text": str, + "input": Any, + }, + total=False, +) + +DocListsSetTypeParamsTarget = TypedDict( + "DocListsSetTypeParamsTarget", + { + "kind": Literal["block"], + "nodeType": Literal["listItem"], + "nodeId": str, + }, + total=False, +) + +DocListsSetTypeParams = TypedDict( + "DocListsSetTypeParams", + { + "doc": str, + "sessionId": str, + "out": str, + "force": bool, + "expectedRevision": int | float, + "changeMode": str, + "dryRun": bool, + "target": DocListsSetTypeParamsTarget, + "kind": str, + "input": Any, + }, + total=False, +) + +DocListsIndentParamsTarget = TypedDict( + "DocListsIndentParamsTarget", + { + "kind": Literal["block"], + "nodeType": Literal["listItem"], + "nodeId": str, + }, + total=False, +) + +DocListsIndentParams = TypedDict( + "DocListsIndentParams", + { + "doc": str, + "sessionId": str, + "out": str, + "force": bool, + "expectedRevision": int | float, + "changeMode": str, + "dryRun": bool, + "target": DocListsIndentParamsTarget, + "input": Any, + }, + total=False, +) + +DocListsOutdentParamsTarget = TypedDict( + "DocListsOutdentParamsTarget", + { + "kind": Literal["block"], + "nodeType": Literal["listItem"], + "nodeId": str, + }, + total=False, +) + +DocListsOutdentParams = TypedDict( + "DocListsOutdentParams", + { + "doc": str, + "sessionId": str, + "out": str, + "force": bool, + "expectedRevision": int | float, + "changeMode": str, + "dryRun": bool, + "target": DocListsOutdentParamsTarget, + "input": Any, + }, + total=False, +) + +DocListsRestartParamsTarget = TypedDict( + "DocListsRestartParamsTarget", + { + "kind": Literal["block"], + "nodeType": Literal["listItem"], + "nodeId": str, + }, + total=False, +) + +DocListsRestartParams = TypedDict( + "DocListsRestartParams", + { + "doc": str, + "sessionId": str, + "out": str, + "force": bool, + "expectedRevision": int | float, + "changeMode": str, + "dryRun": bool, + "target": DocListsRestartParamsTarget, + "input": Any, + }, + total=False, +) + +DocListsExitParamsTarget = TypedDict( + "DocListsExitParamsTarget", + { + "kind": Literal["block"], + "nodeType": Literal["listItem"], + "nodeId": str, + }, + total=False, +) + +DocListsExitParams = TypedDict( + "DocListsExitParams", + { + "doc": str, + "sessionId": str, + "out": str, + "force": bool, + "expectedRevision": int | float, + "changeMode": str, + "dryRun": bool, + "target": DocListsExitParamsTarget, + "input": Any, + }, + total=False, +) + +DocCommentsAddParamsTargetRange = TypedDict( + "DocCommentsAddParamsTargetRange", + { + "start": int | float, + "end": int | float, + }, + total=False, +) + +DocCommentsAddParamsTarget = TypedDict( + "DocCommentsAddParamsTarget", + { + "kind": Literal["text"], + "blockId": str, + "range": DocCommentsAddParamsTargetRange, + }, + total=False, +) + +DocCommentsAddParams = TypedDict( + "DocCommentsAddParams", + { + "doc": str, + "sessionId": str, + "out": str, + "force": bool, + "expectedRevision": int | float, + "changeMode": str, + "target": DocCommentsAddParamsTarget, + "text": str, + }, + total=False, +) + +DocCommentsEditParams = TypedDict( + "DocCommentsEditParams", + { + "doc": str, + "sessionId": str, + "out": str, + "force": bool, + "expectedRevision": int | float, + "changeMode": str, + "id": str, + "text": str, + }, + total=False, +) + +DocCommentsReplyParams = TypedDict( + "DocCommentsReplyParams", + { + "doc": str, + "sessionId": str, + "out": str, + "force": bool, + "expectedRevision": int | float, + "changeMode": str, + "parentId": str, + "text": str, + }, + total=False, +) + +DocCommentsMoveParamsTargetRange = TypedDict( + "DocCommentsMoveParamsTargetRange", + { + "start": int | float, + "end": int | float, + }, + total=False, +) + +DocCommentsMoveParamsTarget = TypedDict( + "DocCommentsMoveParamsTarget", + { + "kind": Literal["text"], + "blockId": str, + "range": DocCommentsMoveParamsTargetRange, + }, + total=False, +) + +DocCommentsMoveParams = TypedDict( + "DocCommentsMoveParams", + { + "doc": str, + "sessionId": str, + "out": str, + "force": bool, + "expectedRevision": int | float, + "changeMode": str, + "id": str, + "target": DocCommentsMoveParamsTarget, + }, + total=False, +) + +DocCommentsResolveParams = TypedDict( + "DocCommentsResolveParams", + { + "doc": str, + "sessionId": str, + "out": str, + "force": bool, + "expectedRevision": int | float, + "changeMode": str, + "id": str, + }, + total=False, +) + +DocCommentsRemoveParams = TypedDict( + "DocCommentsRemoveParams", + { + "doc": str, + "sessionId": str, + "out": str, + "force": bool, + "expectedRevision": int | float, + "changeMode": str, + "id": str, + }, + total=False, +) + +DocCommentsSetInternalParams = TypedDict( + "DocCommentsSetInternalParams", + { + "doc": str, + "sessionId": str, + "out": str, + "force": bool, + "expectedRevision": int | float, + "changeMode": str, + "id": str, + "isInternal": bool, + }, + total=False, +) + +DocCommentsSetActiveParams = TypedDict( + "DocCommentsSetActiveParams", + { + "doc": str, + "sessionId": str, + "out": str, + "force": bool, + "expectedRevision": int | float, + "changeMode": str, + "commentId": Any, + "id": str, + "clear": bool, + }, + total=False, +) + +DocCommentsGoToParams = TypedDict( + "DocCommentsGoToParams", + { + "doc": str, + "sessionId": str, + "id": str, + }, + total=False, +) + +DocCommentsGetParams = TypedDict( + "DocCommentsGetParams", + { + "doc": str, + "sessionId": str, + "id": str, + }, + total=False, +) + +DocCommentsListParams = TypedDict( + "DocCommentsListParams", + { + "doc": str, + "sessionId": str, + "includeResolved": bool, + }, + total=False, +) + +DocTrackChangesListParams = TypedDict( + "DocTrackChangesListParams", + { + "doc": str, + "sessionId": str, + "limit": int | float, + "offset": int | float, + "type": str, + }, + total=False, +) + +DocTrackChangesGetParams = TypedDict( + "DocTrackChangesGetParams", + { + "doc": str, + "sessionId": str, + "id": str, + }, + total=False, +) + +DocTrackChangesAcceptParams = TypedDict( + "DocTrackChangesAcceptParams", + { + "doc": str, + "sessionId": str, + "out": str, + "force": bool, + "expectedRevision": int | float, + "changeMode": str, + "id": str, + }, + total=False, +) + +DocTrackChangesRejectParams = TypedDict( + "DocTrackChangesRejectParams", + { + "doc": str, + "sessionId": str, + "out": str, + "force": bool, + "expectedRevision": int | float, + "changeMode": str, + "id": str, + }, + total=False, +) + +DocTrackChangesAcceptAllParams = TypedDict( + "DocTrackChangesAcceptAllParams", + { + "doc": str, + "sessionId": str, + "out": str, + "force": bool, + "expectedRevision": int | float, + "changeMode": str, + }, + total=False, +) + +DocTrackChangesRejectAllParams = TypedDict( + "DocTrackChangesRejectAllParams", + { + "doc": str, + "sessionId": str, + "out": str, + "force": bool, + "expectedRevision": int | float, + "changeMode": str, + }, + total=False, +) + +DocOpenParams = TypedDict( + "DocOpenParams", + { + "doc": str, + "sessionId": str, + "collaboration": Any, + "collabDocumentId": str, + "collabUrl": str, + }, + total=False, +) + +DocSaveParams = TypedDict( + "DocSaveParams", + { + "sessionId": str, + "out": str, + "force": bool, + "inPlace": bool, + }, + total=False, +) + +DocCloseParams = TypedDict( + "DocCloseParams", + { + "sessionId": str, + "discard": bool, + }, + total=False, +) + +DocStatusParams = TypedDict( + "DocStatusParams", + { + "sessionId": str, + }, + total=False, +) + +DocDescribeParams = TypedDict( + "DocDescribeParams", + { + }, + total=False, +) + +DocDescribeCommandParams = TypedDict( + "DocDescribeCommandParams", + { + "operationId": str, + }, + total=False, +) + +DocSessionListParams = TypedDict( + "DocSessionListParams", + { + }, + total=False, +) + +DocSessionSaveParams = TypedDict( + "DocSessionSaveParams", + { + "sessionId": str, + "out": str, + "force": bool, + "inPlace": bool, + }, + total=False, +) + +DocSessionCloseParams = TypedDict( + "DocSessionCloseParams", + { + "sessionId": str, + "discard": bool, + }, + total=False, +) + +DocSessionSetDefaultParams = TypedDict( + "DocSessionSetDefaultParams", + { + "sessionId": str, + }, + total=False, +) + +class _SyncDocApi: + def __init__(self, runtime): + self._runtime = runtime + + def find(self, params: DocFindParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocFindResult: + return self._runtime.invoke("doc.find", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def getNode(self, params: DocGetNodeParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocGetNodeResult: + return self._runtime.invoke("doc.getNode", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def getNodeById(self, params: DocGetNodeByIdParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocGetNodeByIdResult: + return self._runtime.invoke("doc.getNodeById", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def info(self, params: DocInfoParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocInfoResult: + return self._runtime.invoke("doc.info", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def insert(self, params: DocInsertParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocInsertResult: + return self._runtime.invoke("doc.insert", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def replace(self, params: DocReplaceParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocReplaceResult: + return self._runtime.invoke("doc.replace", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def delete(self, params: DocDeleteParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocDeleteResult: + return self._runtime.invoke("doc.delete", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + @property + def format(self): + return _SyncDocFormatApi(self._runtime) + + @property + def create(self): + return _SyncDocCreateApi(self._runtime) + + @property + def lists(self): + return _SyncDocListsApi(self._runtime) + + @property + def comments(self): + return _SyncDocCommentsApi(self._runtime) + + @property + def trackChanges(self): + return _SyncDocTrackChangesApi(self._runtime) + + def open(self, params: DocOpenParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocOpenResult: + return self._runtime.invoke("doc.open", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def save(self, params: DocSaveParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocSaveResult: + return self._runtime.invoke("doc.save", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def close(self, params: DocCloseParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCloseResult: + return self._runtime.invoke("doc.close", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def status(self, params: DocStatusParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocStatusResult: + return self._runtime.invoke("doc.status", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def describe(self, params: DocDescribeParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocDescribeResult: + return self._runtime.invoke("doc.describe", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def describeCommand(self, params: DocDescribeCommandParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocDescribeCommandResult: + return self._runtime.invoke("doc.describeCommand", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + @property + def session(self): + return _SyncDocSessionApi(self._runtime) + +class _SyncDocFormatApi: + def __init__(self, runtime): + self._runtime = runtime + + def bold(self, params: DocFormatBoldParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocFormatBoldResult: + return self._runtime.invoke("doc.format.bold", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def italic(self, params: DocFormatItalicParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocFormatItalicResult: + return self._runtime.invoke("doc.format.italic", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def underline(self, params: DocFormatUnderlineParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocFormatUnderlineResult: + return self._runtime.invoke("doc.format.underline", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def strikethrough(self, params: DocFormatStrikethroughParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocFormatStrikethroughResult: + return self._runtime.invoke("doc.format.strikethrough", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + +class _SyncDocCreateApi: + def __init__(self, runtime): + self._runtime = runtime + + def paragraph(self, params: DocCreateParagraphParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCreateParagraphResult: + return self._runtime.invoke("doc.create.paragraph", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + +class _SyncDocListsApi: + def __init__(self, runtime): + self._runtime = runtime + + def list(self, params: DocListsListParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsListResult: + return self._runtime.invoke("doc.lists.list", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def get(self, params: DocListsGetParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsGetResult: + return self._runtime.invoke("doc.lists.get", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def insert(self, params: DocListsInsertParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsInsertResult: + return self._runtime.invoke("doc.lists.insert", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def setType(self, params: DocListsSetTypeParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsSetTypeResult: + return self._runtime.invoke("doc.lists.setType", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def indent(self, params: DocListsIndentParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsIndentResult: + return self._runtime.invoke("doc.lists.indent", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def outdent(self, params: DocListsOutdentParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsOutdentResult: + return self._runtime.invoke("doc.lists.outdent", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def restart(self, params: DocListsRestartParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsRestartResult: + return self._runtime.invoke("doc.lists.restart", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def exit(self, params: DocListsExitParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsExitResult: + return self._runtime.invoke("doc.lists.exit", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + +class _SyncDocCommentsApi: + def __init__(self, runtime): + self._runtime = runtime + + def add(self, params: DocCommentsAddParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsAddResult: + return self._runtime.invoke("doc.comments.add", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def edit(self, params: DocCommentsEditParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsEditResult: + return self._runtime.invoke("doc.comments.edit", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def reply(self, params: DocCommentsReplyParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsReplyResult: + return self._runtime.invoke("doc.comments.reply", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def move(self, params: DocCommentsMoveParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsMoveResult: + return self._runtime.invoke("doc.comments.move", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def resolve(self, params: DocCommentsResolveParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsResolveResult: + return self._runtime.invoke("doc.comments.resolve", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def remove(self, params: DocCommentsRemoveParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsRemoveResult: + return self._runtime.invoke("doc.comments.remove", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def setInternal(self, params: DocCommentsSetInternalParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsSetInternalResult: + return self._runtime.invoke("doc.comments.setInternal", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def setActive(self, params: DocCommentsSetActiveParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsSetActiveResult: + return self._runtime.invoke("doc.comments.setActive", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def goTo(self, params: DocCommentsGoToParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsGoToResult: + return self._runtime.invoke("doc.comments.goTo", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def get(self, params: DocCommentsGetParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsGetResult: + return self._runtime.invoke("doc.comments.get", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def list(self, params: DocCommentsListParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsListResult: + return self._runtime.invoke("doc.comments.list", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + +class _SyncDocTrackChangesApi: + def __init__(self, runtime): + self._runtime = runtime + + def list(self, params: DocTrackChangesListParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocTrackChangesListResult: + return self._runtime.invoke("doc.trackChanges.list", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def get(self, params: DocTrackChangesGetParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocTrackChangesGetResult: + return self._runtime.invoke("doc.trackChanges.get", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def accept(self, params: DocTrackChangesAcceptParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocTrackChangesAcceptResult: + return self._runtime.invoke("doc.trackChanges.accept", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def reject(self, params: DocTrackChangesRejectParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocTrackChangesRejectResult: + return self._runtime.invoke("doc.trackChanges.reject", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def acceptAll(self, params: DocTrackChangesAcceptAllParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocTrackChangesAcceptAllResult: + return self._runtime.invoke("doc.trackChanges.acceptAll", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def rejectAll(self, params: DocTrackChangesRejectAllParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocTrackChangesRejectAllResult: + return self._runtime.invoke("doc.trackChanges.rejectAll", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + +class _SyncDocSessionApi: + def __init__(self, runtime): + self._runtime = runtime + + def list(self, params: DocSessionListParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocSessionListResult: + return self._runtime.invoke("doc.session.list", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def save(self, params: DocSessionSaveParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocSessionSaveResult: + return self._runtime.invoke("doc.session.save", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def close(self, params: DocSessionCloseParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocSessionCloseResult: + return self._runtime.invoke("doc.session.close", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + def setDefault(self, params: DocSessionSetDefaultParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocSessionSetDefaultResult: + return self._runtime.invoke("doc.session.setDefault", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + +class _AsyncDocApi: + def __init__(self, runtime): + self._runtime = runtime + + async def find(self, params: DocFindParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocFindResult: + return await self._runtime.invoke("doc.find", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def getNode(self, params: DocGetNodeParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocGetNodeResult: + return await self._runtime.invoke("doc.getNode", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def getNodeById(self, params: DocGetNodeByIdParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocGetNodeByIdResult: + return await self._runtime.invoke("doc.getNodeById", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def info(self, params: DocInfoParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocInfoResult: + return await self._runtime.invoke("doc.info", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def insert(self, params: DocInsertParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocInsertResult: + return await self._runtime.invoke("doc.insert", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def replace(self, params: DocReplaceParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocReplaceResult: + return await self._runtime.invoke("doc.replace", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def delete(self, params: DocDeleteParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocDeleteResult: + return await self._runtime.invoke("doc.delete", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + @property + def format(self): + return _AsyncDocFormatApi(self._runtime) + + @property + def create(self): + return _AsyncDocCreateApi(self._runtime) + + @property + def lists(self): + return _AsyncDocListsApi(self._runtime) + + @property + def comments(self): + return _AsyncDocCommentsApi(self._runtime) + + @property + def trackChanges(self): + return _AsyncDocTrackChangesApi(self._runtime) + + async def open(self, params: DocOpenParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocOpenResult: + return await self._runtime.invoke("doc.open", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def save(self, params: DocSaveParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocSaveResult: + return await self._runtime.invoke("doc.save", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def close(self, params: DocCloseParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCloseResult: + return await self._runtime.invoke("doc.close", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def status(self, params: DocStatusParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocStatusResult: + return await self._runtime.invoke("doc.status", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def describe(self, params: DocDescribeParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocDescribeResult: + return await self._runtime.invoke("doc.describe", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def describeCommand(self, params: DocDescribeCommandParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocDescribeCommandResult: + return await self._runtime.invoke("doc.describeCommand", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + @property + def session(self): + return _AsyncDocSessionApi(self._runtime) + +class _AsyncDocFormatApi: + def __init__(self, runtime): + self._runtime = runtime + + async def bold(self, params: DocFormatBoldParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocFormatBoldResult: + return await self._runtime.invoke("doc.format.bold", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def italic(self, params: DocFormatItalicParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocFormatItalicResult: + return await self._runtime.invoke("doc.format.italic", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def underline(self, params: DocFormatUnderlineParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocFormatUnderlineResult: + return await self._runtime.invoke("doc.format.underline", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def strikethrough(self, params: DocFormatStrikethroughParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocFormatStrikethroughResult: + return await self._runtime.invoke("doc.format.strikethrough", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + +class _AsyncDocCreateApi: + def __init__(self, runtime): + self._runtime = runtime + + async def paragraph(self, params: DocCreateParagraphParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCreateParagraphResult: + return await self._runtime.invoke("doc.create.paragraph", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + +class _AsyncDocListsApi: + def __init__(self, runtime): + self._runtime = runtime + + async def list(self, params: DocListsListParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsListResult: + return await self._runtime.invoke("doc.lists.list", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def get(self, params: DocListsGetParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsGetResult: + return await self._runtime.invoke("doc.lists.get", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def insert(self, params: DocListsInsertParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsInsertResult: + return await self._runtime.invoke("doc.lists.insert", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def setType(self, params: DocListsSetTypeParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsSetTypeResult: + return await self._runtime.invoke("doc.lists.setType", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def indent(self, params: DocListsIndentParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsIndentResult: + return await self._runtime.invoke("doc.lists.indent", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def outdent(self, params: DocListsOutdentParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsOutdentResult: + return await self._runtime.invoke("doc.lists.outdent", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def restart(self, params: DocListsRestartParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsRestartResult: + return await self._runtime.invoke("doc.lists.restart", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def exit(self, params: DocListsExitParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsExitResult: + return await self._runtime.invoke("doc.lists.exit", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + +class _AsyncDocCommentsApi: + def __init__(self, runtime): + self._runtime = runtime + + async def add(self, params: DocCommentsAddParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsAddResult: + return await self._runtime.invoke("doc.comments.add", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def edit(self, params: DocCommentsEditParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsEditResult: + return await self._runtime.invoke("doc.comments.edit", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def reply(self, params: DocCommentsReplyParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsReplyResult: + return await self._runtime.invoke("doc.comments.reply", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def move(self, params: DocCommentsMoveParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsMoveResult: + return await self._runtime.invoke("doc.comments.move", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def resolve(self, params: DocCommentsResolveParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsResolveResult: + return await self._runtime.invoke("doc.comments.resolve", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def remove(self, params: DocCommentsRemoveParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsRemoveResult: + return await self._runtime.invoke("doc.comments.remove", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def setInternal(self, params: DocCommentsSetInternalParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsSetInternalResult: + return await self._runtime.invoke("doc.comments.setInternal", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def setActive(self, params: DocCommentsSetActiveParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsSetActiveResult: + return await self._runtime.invoke("doc.comments.setActive", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def goTo(self, params: DocCommentsGoToParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsGoToResult: + return await self._runtime.invoke("doc.comments.goTo", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def get(self, params: DocCommentsGetParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsGetResult: + return await self._runtime.invoke("doc.comments.get", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def list(self, params: DocCommentsListParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsListResult: + return await self._runtime.invoke("doc.comments.list", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + +class _AsyncDocTrackChangesApi: + def __init__(self, runtime): + self._runtime = runtime + + async def list(self, params: DocTrackChangesListParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocTrackChangesListResult: + return await self._runtime.invoke("doc.trackChanges.list", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def get(self, params: DocTrackChangesGetParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocTrackChangesGetResult: + return await self._runtime.invoke("doc.trackChanges.get", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def accept(self, params: DocTrackChangesAcceptParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocTrackChangesAcceptResult: + return await self._runtime.invoke("doc.trackChanges.accept", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def reject(self, params: DocTrackChangesRejectParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocTrackChangesRejectResult: + return await self._runtime.invoke("doc.trackChanges.reject", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def acceptAll(self, params: DocTrackChangesAcceptAllParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocTrackChangesAcceptAllResult: + return await self._runtime.invoke("doc.trackChanges.acceptAll", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def rejectAll(self, params: DocTrackChangesRejectAllParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocTrackChangesRejectAllResult: + return await self._runtime.invoke("doc.trackChanges.rejectAll", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + +class _AsyncDocSessionApi: + def __init__(self, runtime): + self._runtime = runtime + + async def list(self, params: DocSessionListParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocSessionListResult: + return await self._runtime.invoke("doc.session.list", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def save(self, params: DocSessionSaveParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocSessionSaveResult: + return await self._runtime.invoke("doc.session.save", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def close(self, params: DocSessionCloseParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocSessionCloseResult: + return await self._runtime.invoke("doc.session.close", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + async def setDefault(self, params: DocSessionSetDefaultParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocSessionSetDefaultResult: + return await self._runtime.invoke("doc.session.setDefault", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) + + +class SuperDocClient: + def __init__(self, *, env=None, default_change_mode=None): + self._runtime = SuperDocSyncRuntime(env=env, default_change_mode=default_change_mode) + self.doc = _SyncDocApi(self._runtime) + + +class AsyncSuperDocClient: + def __init__(self, *, env=None, default_change_mode=None): + self._runtime = SuperDocAsyncRuntime(env=env, default_change_mode=default_change_mode) + self.doc = _AsyncDocApi(self._runtime) diff --git a/packages/sdk/langs/python/superdoc/generated/contract.py b/packages/sdk/langs/python/superdoc/generated/contract.py new file mode 100644 index 0000000000..43043a14db --- /dev/null +++ b/packages/sdk/langs/python/superdoc/generated/contract.py @@ -0,0 +1,7 @@ +# Auto-generated by packages/sdk/codegen/src/generate-python.mjs + +import json + +CONTRACT = json.loads("{\"contractVersion\":\"0.1.0\",\"sourceHash\":\"937cad0ad9eb592c\",\"cli\":{\"package\":\"@superdoc-dev/cli\",\"minVersion\":\"1.0.0\"},\"protocol\":{\"version\":\"1.0\",\"transport\":\"stdio\",\"features\":[\"cli.invoke\",\"host.shutdown\",\"host.describe\",\"host.describe.command\"],\"notifications\":[\"event.remoteChange\",\"event.sessionClosed\"]},\"operations\":{\"doc.find\":{\"operationId\":\"doc.find\",\"command\":\"find\",\"commandTokens\":[\"find\"],\"category\":\"query\",\"description\":\"Search the document for nodes matching type, text, or attribute criteria.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"find_content\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"within\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"within-json\",\"schema\":{\"oneOf\":[{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeType\":{\"oneOf\":[{\"const\":\"paragraph\"},{\"const\":\"heading\"},{\"const\":\"listItem\"},{\"const\":\"table\"},{\"const\":\"tableRow\"},{\"const\":\"tableCell\"},{\"const\":\"image\"},{\"const\":\"sdt\"}]},\"nodeId\":{\"type\":\"string\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"]},{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"inline\"},\"nodeType\":{\"oneOf\":[{\"const\":\"run\"},{\"const\":\"bookmark\"},{\"const\":\"comment\"},{\"const\":\"hyperlink\"},{\"const\":\"sdt\"},{\"const\":\"image\"},{\"const\":\"footnoteRef\"},{\"const\":\"tab\"},{\"const\":\"lineBreak\"}]},\"anchor\":{\"type\":\"object\",\"properties\":{\"start\":{\"type\":\"object\",\"properties\":{\"blockId\":{\"type\":\"string\"},\"offset\":{\"type\":\"number\"}},\"required\":[\"blockId\",\"offset\"]},\"end\":{\"type\":\"object\",\"properties\":{\"blockId\":{\"type\":\"string\"},\"offset\":{\"type\":\"number\"}},\"required\":[\"blockId\",\"offset\"]}},\"required\":[\"start\",\"end\"]}},\"required\":[\"kind\",\"nodeType\",\"anchor\"]}]}},{\"name\":\"limit\",\"kind\":\"flag\",\"type\":\"number\"},{\"name\":\"offset\",\"kind\":\"flag\",\"type\":\"number\"},{\"name\":\"includeNodes\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"include-nodes\"},{\"name\":\"includeUnknown\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"include-unknown\"},{\"name\":\"type\",\"kind\":\"flag\",\"type\":\"string\"},{\"name\":\"nodeType\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"node-type\"},{\"name\":\"kind\",\"kind\":\"flag\",\"type\":\"string\"},{\"name\":\"pattern\",\"kind\":\"flag\",\"type\":\"string\"},{\"name\":\"mode\",\"kind\":\"flag\",\"type\":\"string\"},{\"name\":\"caseSensitive\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"case-sensitive\"},{\"name\":\"query\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"query-json\"}],\"constraints\":{\"requiresOneOf\":[[\"type\",\"query\"]],\"mutuallyExclusive\":[[\"type\",\"query\"]]},\"mutates\":false,\"idempotency\":\"idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"includeNodes\":{\"type\":\"boolean\"},\"includeUnknown\":{\"type\":\"boolean\"},\"limit\":{\"type\":\"integer\"},\"offset\":{\"type\":\"integer\"},\"select\":{\"anyOf\":[{\"additionalProperties\":false,\"properties\":{\"caseSensitive\":{\"type\":\"boolean\"},\"mode\":{\"enum\":[\"contains\",\"regex\"]},\"pattern\":{\"type\":\"string\"},\"type\":{\"const\":\"text\"}},\"required\":[\"type\",\"pattern\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"kind\":{\"enum\":[\"block\",\"inline\"]},\"nodeType\":{\"enum\":[\"paragraph\",\"heading\",\"listItem\",\"table\",\"tableRow\",\"tableCell\",\"image\",\"sdt\",\"run\",\"bookmark\",\"comment\",\"hyperlink\",\"footnoteRef\",\"tab\",\"lineBreak\"]},\"type\":{\"const\":\"node\"}},\"required\":[\"type\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"nodeType\":{\"enum\":[\"paragraph\",\"heading\",\"listItem\",\"table\",\"tableRow\",\"tableCell\",\"image\",\"sdt\",\"run\",\"bookmark\",\"comment\",\"hyperlink\",\"footnoteRef\",\"tab\",\"lineBreak\"]}},\"required\":[\"nodeType\"],\"type\":\"object\"}]},\"within\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"enum\":[\"paragraph\",\"heading\",\"listItem\",\"table\",\"tableRow\",\"tableCell\",\"image\",\"sdt\"]}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"anchor\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"offset\":{\"type\":\"integer\"}},\"required\":[\"blockId\",\"offset\"],\"type\":\"object\"},\"start\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"offset\":{\"type\":\"integer\"}},\"required\":[\"blockId\",\"offset\"],\"type\":\"object\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"},\"kind\":{\"const\":\"inline\"},\"nodeType\":{\"enum\":[\"run\",\"bookmark\",\"comment\",\"hyperlink\",\"sdt\",\"image\",\"footnoteRef\",\"tab\",\"lineBreak\"]}},\"required\":[\"kind\",\"nodeType\",\"anchor\"],\"type\":\"object\"}]}},\"required\":[\"select\"],\"type\":\"object\"},\"outputSchema\":{\"additionalProperties\":false,\"properties\":{\"context\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"address\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"enum\":[\"paragraph\",\"heading\",\"listItem\",\"table\",\"tableRow\",\"tableCell\",\"image\",\"sdt\"]}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"anchor\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"offset\":{\"type\":\"integer\"}},\"required\":[\"blockId\",\"offset\"],\"type\":\"object\"},\"start\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"offset\":{\"type\":\"integer\"}},\"required\":[\"blockId\",\"offset\"],\"type\":\"object\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"},\"kind\":{\"const\":\"inline\"},\"nodeType\":{\"enum\":[\"run\",\"bookmark\",\"comment\",\"hyperlink\",\"sdt\",\"image\",\"footnoteRef\",\"tab\",\"lineBreak\"]}},\"required\":[\"kind\",\"nodeType\",\"anchor\"],\"type\":\"object\"}]},\"highlightRange\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"},\"snippet\":{\"type\":\"string\"},\"textRanges\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"type\":\"array\"}},\"required\":[\"address\",\"snippet\",\"highlightRange\"],\"type\":\"object\"},\"type\":\"array\"},\"diagnostics\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"address\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"enum\":[\"paragraph\",\"heading\",\"listItem\",\"table\",\"tableRow\",\"tableCell\",\"image\",\"sdt\"]}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"anchor\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"offset\":{\"type\":\"integer\"}},\"required\":[\"blockId\",\"offset\"],\"type\":\"object\"},\"start\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"offset\":{\"type\":\"integer\"}},\"required\":[\"blockId\",\"offset\"],\"type\":\"object\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"},\"kind\":{\"const\":\"inline\"},\"nodeType\":{\"enum\":[\"run\",\"bookmark\",\"comment\",\"hyperlink\",\"sdt\",\"image\",\"footnoteRef\",\"tab\",\"lineBreak\"]}},\"required\":[\"kind\",\"nodeType\",\"anchor\"],\"type\":\"object\"}]},\"hint\":{\"type\":\"string\"},\"message\":{\"type\":\"string\"}},\"required\":[\"message\"],\"type\":\"object\"},\"type\":\"array\"},\"matches\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"enum\":[\"paragraph\",\"heading\",\"listItem\",\"table\",\"tableRow\",\"tableCell\",\"image\",\"sdt\"]}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"anchor\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"offset\":{\"type\":\"integer\"}},\"required\":[\"blockId\",\"offset\"],\"type\":\"object\"},\"start\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"offset\":{\"type\":\"integer\"}},\"required\":[\"blockId\",\"offset\"],\"type\":\"object\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"},\"kind\":{\"const\":\"inline\"},\"nodeType\":{\"enum\":[\"run\",\"bookmark\",\"comment\",\"hyperlink\",\"sdt\",\"image\",\"footnoteRef\",\"tab\",\"lineBreak\"]}},\"required\":[\"kind\",\"nodeType\",\"anchor\"],\"type\":\"object\"}]},\"type\":\"array\"},\"nodes\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"bodyNodes\":{\"items\":{\"type\":\"object\"},\"type\":\"array\"},\"bodyText\":{\"type\":\"string\"},\"kind\":{\"enum\":[\"block\",\"inline\"]},\"nodes\":{\"items\":{\"type\":\"object\"},\"type\":\"array\"},\"nodeType\":{\"enum\":[\"paragraph\",\"heading\",\"listItem\",\"table\",\"tableRow\",\"tableCell\",\"image\",\"sdt\",\"run\",\"bookmark\",\"comment\",\"hyperlink\",\"footnoteRef\",\"tab\",\"lineBreak\"]},\"properties\":{\"type\":\"object\"},\"summary\":{\"additionalProperties\":false,\"properties\":{\"label\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"nodeType\",\"kind\"],\"type\":\"object\"},\"type\":\"array\"},\"total\":{\"type\":\"integer\"}},\"required\":[\"matches\",\"total\"],\"type\":\"object\"}},\"doc.getNode\":{\"operationId\":\"doc.getNode\",\"command\":\"get-node\",\"commandTokens\":[\"get-node\"],\"category\":\"query\",\"description\":\"Retrieve a single node by target position.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"get_node\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"address\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"address-json\"}],\"constraints\":null,\"mutates\":false,\"idempotency\":\"idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"enum\":[\"paragraph\",\"heading\",\"listItem\",\"table\",\"tableRow\",\"tableCell\",\"image\",\"sdt\"]}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"anchor\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"offset\":{\"type\":\"integer\"}},\"required\":[\"blockId\",\"offset\"],\"type\":\"object\"},\"start\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"offset\":{\"type\":\"integer\"}},\"required\":[\"blockId\",\"offset\"],\"type\":\"object\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"},\"kind\":{\"const\":\"inline\"},\"nodeType\":{\"enum\":[\"run\",\"bookmark\",\"comment\",\"hyperlink\",\"sdt\",\"image\",\"footnoteRef\",\"tab\",\"lineBreak\"]}},\"required\":[\"kind\",\"nodeType\",\"anchor\"],\"type\":\"object\"}]},\"outputSchema\":{\"additionalProperties\":false,\"properties\":{\"bodyNodes\":{\"items\":{\"type\":\"object\"},\"type\":\"array\"},\"bodyText\":{\"type\":\"string\"},\"kind\":{\"enum\":[\"block\",\"inline\"]},\"nodes\":{\"items\":{\"type\":\"object\"},\"type\":\"array\"},\"nodeType\":{\"enum\":[\"paragraph\",\"heading\",\"listItem\",\"table\",\"tableRow\",\"tableCell\",\"image\",\"sdt\",\"run\",\"bookmark\",\"comment\",\"hyperlink\",\"footnoteRef\",\"tab\",\"lineBreak\"]},\"properties\":{\"type\":\"object\"},\"summary\":{\"additionalProperties\":false,\"properties\":{\"label\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"nodeType\",\"kind\"],\"type\":\"object\"}},\"doc.getNodeById\":{\"operationId\":\"doc.getNodeById\",\"command\":\"get-node-by-id\",\"commandTokens\":[\"get-node-by-id\"],\"category\":\"query\",\"description\":\"Retrieve a single node by its unique ID.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"get_node_by_id\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"id\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true},{\"name\":\"nodeType\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"node-type\",\"schema\":{\"oneOf\":[{\"const\":\"paragraph\"},{\"const\":\"heading\"},{\"const\":\"listItem\"},{\"const\":\"table\"},{\"const\":\"tableRow\"},{\"const\":\"tableCell\"},{\"const\":\"image\"},{\"const\":\"sdt\"}]}}],\"constraints\":null,\"mutates\":false,\"idempotency\":\"idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"enum\":[\"paragraph\",\"heading\",\"listItem\",\"table\",\"tableRow\",\"tableCell\",\"image\",\"sdt\"]}},\"required\":[\"nodeId\"],\"type\":\"object\"},\"outputSchema\":{\"additionalProperties\":false,\"properties\":{\"bodyNodes\":{\"items\":{\"type\":\"object\"},\"type\":\"array\"},\"bodyText\":{\"type\":\"string\"},\"kind\":{\"enum\":[\"block\",\"inline\"]},\"nodes\":{\"items\":{\"type\":\"object\"},\"type\":\"array\"},\"nodeType\":{\"enum\":[\"paragraph\",\"heading\",\"listItem\",\"table\",\"tableRow\",\"tableCell\",\"image\",\"sdt\",\"run\",\"bookmark\",\"comment\",\"hyperlink\",\"footnoteRef\",\"tab\",\"lineBreak\"]},\"properties\":{\"type\":\"object\"},\"summary\":{\"additionalProperties\":false,\"properties\":{\"label\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"nodeType\",\"kind\"],\"type\":\"object\"}},\"doc.info\":{\"operationId\":\"doc.info\",\"command\":\"info\",\"commandTokens\":[\"info\"],\"category\":\"query\",\"description\":\"Return document metadata including revision, node count, and capabilities.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"get_document_info\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"}],\"constraints\":null,\"mutates\":false,\"idempotency\":\"idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{},\"type\":\"object\"},\"outputSchema\":{\"additionalProperties\":false,\"properties\":{\"capabilities\":{\"additionalProperties\":false,\"properties\":{\"canComment\":{\"type\":\"boolean\"},\"canFind\":{\"type\":\"boolean\"},\"canGetNode\":{\"type\":\"boolean\"},\"canReplace\":{\"type\":\"boolean\"}},\"required\":[\"canFind\",\"canGetNode\",\"canComment\",\"canReplace\"],\"type\":\"object\"},\"counts\":{\"additionalProperties\":false,\"properties\":{\"comments\":{\"type\":\"integer\"},\"headings\":{\"type\":\"integer\"},\"images\":{\"type\":\"integer\"},\"paragraphs\":{\"type\":\"integer\"},\"tables\":{\"type\":\"integer\"},\"words\":{\"type\":\"integer\"}},\"required\":[\"words\",\"paragraphs\",\"headings\",\"tables\",\"images\",\"comments\"],\"type\":\"object\"},\"outline\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"level\":{\"type\":\"integer\"},\"nodeId\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"required\":[\"level\",\"text\",\"nodeId\"],\"type\":\"object\"},\"type\":\"array\"}},\"required\":[\"counts\",\"outline\",\"capabilities\"],\"type\":\"object\"}},\"doc.insert\":{\"operationId\":\"doc.insert\",\"command\":\"insert\",\"commandTokens\":[\"insert\"],\"category\":\"mutation\",\"description\":\"Insert text or inline content at a target position.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"insert_content\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"dryRun\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"dry-run\",\"agentVisible\":false},{\"name\":\"target\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"target-json\",\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"text\"},\"blockId\":{\"type\":\"string\"},\"range\":{\"type\":\"object\",\"properties\":{\"start\":{\"type\":\"number\"},\"end\":{\"type\":\"number\"}},\"required\":[\"start\",\"end\"]}},\"required\":[\"kind\",\"blockId\",\"range\"]}},{\"name\":\"text\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"non-idempotent\",\"supportsTrackedMode\":true,\"supportsDryRun\":true,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"text\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\",\"resolution\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\",\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\",\"resolution\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\",\"resolution\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\",\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\",\"resolution\"],\"type\":\"object\"}},\"doc.replace\":{\"operationId\":\"doc.replace\",\"command\":\"replace\",\"commandTokens\":[\"replace\"],\"category\":\"mutation\",\"description\":\"Replace content at a target position with new text or inline content.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"replace_content\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"dryRun\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"dry-run\",\"agentVisible\":false},{\"name\":\"target\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"target-json\",\"required\":true,\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"text\"},\"blockId\":{\"type\":\"string\"},\"range\":{\"type\":\"object\",\"properties\":{\"start\":{\"type\":\"number\"},\"end\":{\"type\":\"number\"}},\"required\":[\"start\",\"end\"]}},\"required\":[\"kind\",\"blockId\",\"range\"]}},{\"name\":\"text\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":true,\"supportsDryRun\":true,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"text\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\",\"resolution\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\",\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\",\"resolution\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\",\"resolution\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\",\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\",\"resolution\"],\"type\":\"object\"}},\"doc.delete\":{\"operationId\":\"doc.delete\",\"command\":\"delete\",\"commandTokens\":[\"delete\"],\"category\":\"mutation\",\"description\":\"Delete content at a target position.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"delete_content\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"dryRun\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"dry-run\",\"agentVisible\":false},{\"name\":\"target\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"target-json\",\"required\":true,\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"text\"},\"blockId\":{\"type\":\"string\"},\"range\":{\"type\":\"object\",\"properties\":{\"start\":{\"type\":\"number\"},\"end\":{\"type\":\"number\"}},\"required\":[\"start\",\"end\"]}},\"required\":[\"kind\",\"blockId\",\"range\"]}}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":true,\"supportsDryRun\":true,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"}},\"required\":[\"target\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\",\"resolution\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\",\"resolution\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\",\"resolution\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\",\"resolution\"],\"type\":\"object\"}},\"doc.format.bold\":{\"operationId\":\"doc.format.bold\",\"command\":\"format bold\",\"commandTokens\":[\"format\",\"bold\"],\"category\":\"format\",\"description\":\"Toggle bold formatting on the target range.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"format_bold\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"dryRun\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"dry-run\",\"agentVisible\":false},{\"name\":\"target\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"target-json\",\"required\":true,\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"text\"},\"blockId\":{\"type\":\"string\"},\"range\":{\"type\":\"object\",\"properties\":{\"start\":{\"type\":\"number\"},\"end\":{\"type\":\"number\"}},\"required\":[\"start\",\"end\"]}},\"required\":[\"kind\",\"blockId\",\"range\"]}}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":true,\"supportsDryRun\":true,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"}},\"required\":[\"target\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\",\"resolution\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\",\"resolution\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\",\"resolution\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\",\"resolution\"],\"type\":\"object\"}},\"doc.format.italic\":{\"operationId\":\"doc.format.italic\",\"command\":\"format italic\",\"commandTokens\":[\"format\",\"italic\"],\"category\":\"format\",\"description\":\"Toggle italic formatting on the target range.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"format_italic\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"dryRun\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"dry-run\",\"agentVisible\":false},{\"name\":\"target\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"target-json\",\"required\":true,\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"text\"},\"blockId\":{\"type\":\"string\"},\"range\":{\"type\":\"object\",\"properties\":{\"start\":{\"type\":\"number\"},\"end\":{\"type\":\"number\"}},\"required\":[\"start\",\"end\"]}},\"required\":[\"kind\",\"blockId\",\"range\"]}}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":true,\"supportsDryRun\":true,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"}},\"required\":[\"target\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\",\"resolution\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\",\"resolution\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\",\"resolution\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\",\"resolution\"],\"type\":\"object\"}},\"doc.format.underline\":{\"operationId\":\"doc.format.underline\",\"command\":\"format underline\",\"commandTokens\":[\"format\",\"underline\"],\"category\":\"format\",\"description\":\"Toggle underline formatting on the target range.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"format_underline\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"dryRun\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"dry-run\",\"agentVisible\":false},{\"name\":\"target\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"target-json\",\"required\":true,\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"text\"},\"blockId\":{\"type\":\"string\"},\"range\":{\"type\":\"object\",\"properties\":{\"start\":{\"type\":\"number\"},\"end\":{\"type\":\"number\"}},\"required\":[\"start\",\"end\"]}},\"required\":[\"kind\",\"blockId\",\"range\"]}}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":true,\"supportsDryRun\":true,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"}},\"required\":[\"target\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\",\"resolution\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\",\"resolution\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\",\"resolution\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\",\"resolution\"],\"type\":\"object\"}},\"doc.format.strikethrough\":{\"operationId\":\"doc.format.strikethrough\",\"command\":\"format strikethrough\",\"commandTokens\":[\"format\",\"strikethrough\"],\"category\":\"format\",\"description\":\"Toggle strikethrough formatting on the target range.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"format_strikethrough\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"dryRun\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"dry-run\",\"agentVisible\":false},{\"name\":\"target\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"target-json\",\"required\":true,\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"text\"},\"blockId\":{\"type\":\"string\"},\"range\":{\"type\":\"object\",\"properties\":{\"start\":{\"type\":\"number\"},\"end\":{\"type\":\"number\"}},\"required\":[\"start\",\"end\"]}},\"required\":[\"kind\",\"blockId\",\"range\"]}}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":true,\"supportsDryRun\":true,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"}},\"required\":[\"target\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\",\"resolution\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\",\"resolution\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\",\"resolution\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\",\"resolution\"],\"type\":\"object\"}},\"doc.create.paragraph\":{\"operationId\":\"doc.create.paragraph\",\"command\":\"create paragraph\",\"commandTokens\":[\"create\",\"paragraph\"],\"category\":\"create\",\"description\":\"Create a new paragraph at the target position.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"create_paragraph\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"dryRun\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"dry-run\",\"agentVisible\":false},{\"name\":\"at\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"at-json\",\"schema\":{\"oneOf\":[{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"documentStart\"}},\"required\":[\"kind\"]},{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"documentEnd\"}},\"required\":[\"kind\"]},{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"before\"},\"target\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeType\":{\"oneOf\":[{\"const\":\"paragraph\"},{\"const\":\"heading\"},{\"const\":\"listItem\"},{\"const\":\"table\"},{\"const\":\"tableRow\"},{\"const\":\"tableCell\"},{\"const\":\"image\"},{\"const\":\"sdt\"}]},\"nodeId\":{\"type\":\"string\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"]}},\"required\":[\"kind\",\"target\"]},{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"after\"},\"target\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeType\":{\"oneOf\":[{\"const\":\"paragraph\"},{\"const\":\"heading\"},{\"const\":\"listItem\"},{\"const\":\"table\"},{\"const\":\"tableRow\"},{\"const\":\"tableCell\"},{\"const\":\"image\"},{\"const\":\"sdt\"}]},\"nodeId\":{\"type\":\"string\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"]}},\"required\":[\"kind\",\"target\"]}]}},{\"name\":\"text\",\"kind\":\"flag\",\"type\":\"string\"},{\"name\":\"input\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"input-json\"}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"non-idempotent\",\"supportsTrackedMode\":true,\"supportsDryRun\":true,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"at\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"documentStart\"}},\"required\":[\"kind\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"documentEnd\"}},\"required\":[\"kind\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"before\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"enum\":[\"paragraph\",\"heading\",\"listItem\",\"table\",\"tableRow\",\"tableCell\",\"image\",\"sdt\"]}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"}},\"required\":[\"kind\",\"target\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"after\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"enum\":[\"paragraph\",\"heading\",\"listItem\",\"table\",\"tableRow\",\"tableCell\",\"image\",\"sdt\"]}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"}},\"required\":[\"kind\",\"target\"],\"type\":\"object\"}]},\"text\":{\"type\":\"string\"}},\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"insertionPoint\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"paragraph\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"paragraph\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"success\":{\"const\":true},\"trackedChangeRefs\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},\"type\":\"array\"}},\"required\":[\"success\",\"paragraph\",\"insertionPoint\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"insertionPoint\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"paragraph\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"paragraph\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"success\":{\"const\":true},\"trackedChangeRefs\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},\"type\":\"array\"}},\"required\":[\"success\",\"paragraph\",\"insertionPoint\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.lists.list\":{\"operationId\":\"doc.lists.list\",\"command\":\"lists list\",\"commandTokens\":[\"lists\",\"list\"],\"category\":\"lists\",\"description\":\"List all list nodes in the document, optionally filtered by scope.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"list_lists\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"within\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"within-json\",\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeType\":{\"oneOf\":[{\"const\":\"paragraph\"},{\"const\":\"heading\"},{\"const\":\"listItem\"},{\"const\":\"table\"},{\"const\":\"tableRow\"},{\"const\":\"tableCell\"},{\"const\":\"image\"},{\"const\":\"sdt\"}]},\"nodeId\":{\"type\":\"string\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"]}},{\"name\":\"limit\",\"kind\":\"flag\",\"type\":\"number\"},{\"name\":\"offset\",\"kind\":\"flag\",\"type\":\"number\"},{\"name\":\"kind\",\"kind\":\"flag\",\"type\":\"string\",\"schema\":{\"oneOf\":[{\"const\":\"ordered\"},{\"const\":\"bullet\"}]}},{\"name\":\"level\",\"kind\":\"flag\",\"type\":\"number\"},{\"name\":\"ordinal\",\"kind\":\"flag\",\"type\":\"number\"},{\"name\":\"query\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"query-json\"}],\"constraints\":{\"mutuallyExclusive\":[[\"query\",\"within\"],[\"query\",\"kind\"],[\"query\",\"level\"],[\"query\",\"ordinal\"],[\"query\",\"limit\"],[\"query\",\"offset\"]]},\"mutates\":false,\"idempotency\":\"idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"enum\":[\"ordered\",\"bullet\"]},\"level\":{\"type\":\"integer\"},\"limit\":{\"type\":\"integer\"},\"offset\":{\"type\":\"integer\"},\"ordinal\":{\"type\":\"integer\"},\"within\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"enum\":[\"paragraph\",\"heading\",\"listItem\",\"table\",\"tableRow\",\"tableCell\",\"image\",\"sdt\"]}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"}},\"type\":\"object\"},\"outputSchema\":{\"additionalProperties\":false,\"properties\":{\"items\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"address\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"kind\":{\"enum\":[\"ordered\",\"bullet\"]},\"level\":{\"type\":\"integer\"},\"marker\":{\"type\":\"string\"},\"ordinal\":{\"type\":\"integer\"},\"path\":{\"items\":{\"type\":\"integer\"},\"type\":\"array\"},\"text\":{\"type\":\"string\"}},\"required\":[\"address\"],\"type\":\"object\"},\"type\":\"array\"},\"matches\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"type\":\"array\"},\"total\":{\"type\":\"integer\"}},\"required\":[\"matches\",\"total\",\"items\"],\"type\":\"object\"}},\"doc.lists.get\":{\"operationId\":\"doc.lists.get\",\"command\":\"lists get\",\"commandTokens\":[\"lists\",\"get\"],\"category\":\"lists\",\"description\":\"Retrieve a specific list node by target.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"get_list\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"address\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"address-json\",\"required\":true,\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeType\":{\"const\":\"listItem\"},\"nodeId\":{\"type\":\"string\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"]}}],\"constraints\":null,\"mutates\":false,\"idempotency\":\"idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"address\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"}},\"required\":[\"address\"],\"type\":\"object\"},\"outputSchema\":{\"additionalProperties\":false,\"properties\":{\"address\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"kind\":{\"enum\":[\"ordered\",\"bullet\"]},\"level\":{\"type\":\"integer\"},\"marker\":{\"type\":\"string\"},\"ordinal\":{\"type\":\"integer\"},\"path\":{\"items\":{\"type\":\"integer\"},\"type\":\"array\"},\"text\":{\"type\":\"string\"}},\"required\":[\"address\"],\"type\":\"object\"}},\"doc.lists.insert\":{\"operationId\":\"doc.lists.insert\",\"command\":\"lists insert\",\"commandTokens\":[\"lists\",\"insert\"],\"category\":\"lists\",\"description\":\"Insert a new list at the target position.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"insert_list\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"dryRun\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"dry-run\",\"agentVisible\":false},{\"name\":\"target\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"target-json\",\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeType\":{\"const\":\"listItem\"},\"nodeId\":{\"type\":\"string\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"]}},{\"name\":\"position\",\"kind\":\"flag\",\"type\":\"string\",\"schema\":{\"oneOf\":[{\"const\":\"before\"},{\"const\":\"after\"}]}},{\"name\":\"text\",\"kind\":\"flag\",\"type\":\"string\"},{\"name\":\"input\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"input-json\"}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"non-idempotent\",\"supportsTrackedMode\":true,\"supportsDryRun\":true,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"position\":{\"enum\":[\"before\",\"after\"]},\"target\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"position\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"insertionPoint\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"item\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"success\":{\"const\":true},\"trackedChangeRefs\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},\"type\":\"array\"}},\"required\":[\"success\",\"item\",\"insertionPoint\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"insertionPoint\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"item\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"success\":{\"const\":true},\"trackedChangeRefs\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},\"type\":\"array\"}},\"required\":[\"success\",\"item\",\"insertionPoint\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.lists.setType\":{\"operationId\":\"doc.lists.setType\",\"command\":\"lists set-type\",\"commandTokens\":[\"lists\",\"set-type\"],\"category\":\"lists\",\"description\":\"Change the list type (ordered, unordered) of a target list.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"set_list_type\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"dryRun\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"dry-run\",\"agentVisible\":false},{\"name\":\"target\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"target-json\",\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeType\":{\"const\":\"listItem\"},\"nodeId\":{\"type\":\"string\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"]}},{\"name\":\"kind\",\"kind\":\"flag\",\"type\":\"string\",\"schema\":{\"oneOf\":[{\"const\":\"ordered\"},{\"const\":\"bullet\"}]}},{\"name\":\"input\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"input-json\"}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":true,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"enum\":[\"ordered\",\"bullet\"]},\"target\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"}},\"required\":[\"target\",\"kind\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"item\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"success\":{\"const\":true}},\"required\":[\"success\",\"item\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\",\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"item\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"success\":{\"const\":true}},\"required\":[\"success\",\"item\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\",\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.lists.indent\":{\"operationId\":\"doc.lists.indent\",\"command\":\"lists indent\",\"commandTokens\":[\"lists\",\"indent\"],\"category\":\"lists\",\"description\":\"Increase the indentation level of a list item.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"indent_list\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"dryRun\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"dry-run\",\"agentVisible\":false},{\"name\":\"target\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"target-json\",\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeType\":{\"const\":\"listItem\"},\"nodeId\":{\"type\":\"string\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"]}},{\"name\":\"input\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"input-json\"}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":true,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"target\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"}},\"required\":[\"target\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"item\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"success\":{\"const\":true}},\"required\":[\"success\",\"item\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\",\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"item\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"success\":{\"const\":true}},\"required\":[\"success\",\"item\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\",\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.lists.outdent\":{\"operationId\":\"doc.lists.outdent\",\"command\":\"lists outdent\",\"commandTokens\":[\"lists\",\"outdent\"],\"category\":\"lists\",\"description\":\"Decrease the indentation level of a list item.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"outdent_list\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"dryRun\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"dry-run\",\"agentVisible\":false},{\"name\":\"target\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"target-json\",\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeType\":{\"const\":\"listItem\"},\"nodeId\":{\"type\":\"string\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"]}},{\"name\":\"input\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"input-json\"}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":true,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"target\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"}},\"required\":[\"target\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"item\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"success\":{\"const\":true}},\"required\":[\"success\",\"item\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\",\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"item\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"success\":{\"const\":true}},\"required\":[\"success\",\"item\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\",\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.lists.restart\":{\"operationId\":\"doc.lists.restart\",\"command\":\"lists restart\",\"commandTokens\":[\"lists\",\"restart\"],\"category\":\"lists\",\"description\":\"Restart numbering of an ordered list at the target item.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"restart_list_numbering\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"dryRun\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"dry-run\",\"agentVisible\":false},{\"name\":\"target\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"target-json\",\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeType\":{\"const\":\"listItem\"},\"nodeId\":{\"type\":\"string\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"]}},{\"name\":\"input\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"input-json\"}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":true,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"target\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"}},\"required\":[\"target\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"item\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"success\":{\"const\":true}},\"required\":[\"success\",\"item\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\",\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"item\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"success\":{\"const\":true}},\"required\":[\"success\",\"item\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\",\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.lists.exit\":{\"operationId\":\"doc.lists.exit\",\"command\":\"lists exit\",\"commandTokens\":[\"lists\",\"exit\"],\"category\":\"lists\",\"description\":\"Exit a list context, converting the target item to a paragraph.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"exit_list\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"dryRun\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"dry-run\",\"agentVisible\":false},{\"name\":\"target\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"target-json\",\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeType\":{\"const\":\"listItem\"},\"nodeId\":{\"type\":\"string\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"]}},{\"name\":\"input\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"input-json\"}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":true,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"target\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"}},\"required\":[\"target\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"paragraph\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"paragraph\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"success\":{\"const\":true}},\"required\":[\"success\",\"paragraph\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"paragraph\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"paragraph\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"success\":{\"const\":true}},\"required\":[\"success\",\"paragraph\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.comments.add\":{\"operationId\":\"doc.comments.add\",\"command\":\"comments add\",\"commandTokens\":[\"comments\",\"add\"],\"category\":\"comments\",\"description\":\"Add a new comment thread anchored to a target range.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"add_comment\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"target\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"target-json\",\"required\":true,\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"text\"},\"blockId\":{\"type\":\"string\"},\"range\":{\"type\":\"object\",\"properties\":{\"start\":{\"type\":\"number\"},\"end\":{\"type\":\"number\"}},\"required\":[\"start\",\"end\"]}},\"required\":[\"kind\",\"blockId\",\"range\"]}},{\"name\":\"text\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"non-idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"text\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\",\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\",\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.comments.edit\":{\"operationId\":\"doc.comments.edit\",\"command\":\"comments edit\",\"commandTokens\":[\"comments\",\"edit\"],\"category\":\"comments\",\"description\":\"Edit the content of an existing comment.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"edit_comment\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"id\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true},{\"name\":\"text\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"commentId\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"required\":[\"commentId\",\"text\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.comments.reply\":{\"operationId\":\"doc.comments.reply\",\"command\":\"comments reply\",\"commandTokens\":[\"comments\",\"reply\"],\"category\":\"comments\",\"description\":\"Add a reply to an existing comment thread.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"reply_to_comment\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"parentId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"parent-id\",\"required\":true},{\"name\":\"text\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"non-idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"parentCommentId\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"required\":[\"parentCommentId\",\"text\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.comments.move\":{\"operationId\":\"doc.comments.move\",\"command\":\"comments move\",\"commandTokens\":[\"comments\",\"move\"],\"category\":\"comments\",\"description\":\"Move a comment thread to a new anchor range.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"move_comment\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"id\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true},{\"name\":\"target\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"target-json\",\"required\":true,\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"text\"},\"blockId\":{\"type\":\"string\"},\"range\":{\"type\":\"object\",\"properties\":{\"start\":{\"type\":\"number\"},\"end\":{\"type\":\"number\"}},\"required\":[\"start\",\"end\"]}},\"required\":[\"kind\",\"blockId\",\"range\"]}}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"commentId\":{\"type\":\"string\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"}},\"required\":[\"commentId\",\"target\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\",\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\",\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.comments.resolve\":{\"operationId\":\"doc.comments.resolve\",\"command\":\"comments resolve\",\"commandTokens\":[\"comments\",\"resolve\"],\"category\":\"comments\",\"description\":\"Resolve or unresolve a comment thread.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"resolve_comment\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"id\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"commentId\":{\"type\":\"string\"}},\"required\":[\"commentId\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.comments.remove\":{\"operationId\":\"doc.comments.remove\",\"command\":\"comments remove\",\"commandTokens\":[\"comments\",\"remove\"],\"category\":\"comments\",\"description\":\"Remove a comment or reply by ID.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"remove_comment\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"id\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"commentId\":{\"type\":\"string\"}},\"required\":[\"commentId\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.comments.setInternal\":{\"operationId\":\"doc.comments.setInternal\",\"command\":\"comments set-internal\",\"commandTokens\":[\"comments\",\"set-internal\"],\"category\":\"comments\",\"description\":\"Toggle the internal (private) flag on a comment thread.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"set_comment_internal\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"id\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true},{\"name\":\"isInternal\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"is-internal\",\"required\":true}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"commentId\":{\"type\":\"string\"},\"isInternal\":{\"type\":\"boolean\"}},\"required\":[\"commentId\",\"isInternal\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\",\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\",\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.comments.setActive\":{\"operationId\":\"doc.comments.setActive\",\"command\":\"comments set-active\",\"commandTokens\":[\"comments\",\"set-active\"],\"category\":\"comments\",\"description\":\"Set the active (focused) comment thread for UI highlighting.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"set_comment_active\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"commentId\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"comment-id-json\",\"schema\":{\"type\":\"json\"}},{\"name\":\"id\",\"kind\":\"flag\",\"type\":\"string\"},{\"name\":\"clear\",\"kind\":\"flag\",\"type\":\"boolean\"}],\"constraints\":{\"requiresOneOf\":[[\"id\",\"clear\"]],\"mutuallyExclusive\":[[\"id\",\"clear\"]]},\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"commentId\":{\"type\":[\"string\",\"null\"]}},\"required\":[\"commentId\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.comments.goTo\":{\"operationId\":\"doc.comments.goTo\",\"command\":\"comments go-to\",\"commandTokens\":[\"comments\",\"go-to\"],\"category\":\"comments\",\"description\":\"Scroll the viewport to a comment thread by ID.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"go_to_comment\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"id\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true}],\"constraints\":null,\"mutates\":false,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"commentId\":{\"type\":\"string\"}},\"required\":[\"commentId\"],\"type\":\"object\"},\"outputSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"}},\"doc.comments.get\":{\"operationId\":\"doc.comments.get\",\"command\":\"comments get\",\"commandTokens\":[\"comments\",\"get\"],\"category\":\"comments\",\"description\":\"Retrieve a single comment thread by ID.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"get_comment\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"id\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true}],\"constraints\":null,\"mutates\":false,\"idempotency\":\"idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"commentId\":{\"type\":\"string\"}},\"required\":[\"commentId\"],\"type\":\"object\"},\"outputSchema\":{\"additionalProperties\":false,\"properties\":{\"address\":{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},\"commentId\":{\"type\":\"string\"},\"createdTime\":{\"type\":\"number\"},\"creatorEmail\":{\"type\":\"string\"},\"creatorName\":{\"type\":\"string\"},\"importedId\":{\"type\":\"string\"},\"isInternal\":{\"type\":\"boolean\"},\"parentCommentId\":{\"type\":\"string\"},\"status\":{\"enum\":[\"open\",\"resolved\"]},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"address\",\"commentId\",\"status\"],\"type\":\"object\"}},\"doc.comments.list\":{\"operationId\":\"doc.comments.list\",\"command\":\"comments list\",\"commandTokens\":[\"comments\",\"list\"],\"category\":\"comments\",\"description\":\"List all comment threads in the document.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"list_comments\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"includeResolved\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"include-resolved\"}],\"constraints\":null,\"mutates\":false,\"idempotency\":\"idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"includeResolved\":{\"type\":\"boolean\"}},\"type\":\"object\"},\"outputSchema\":{\"additionalProperties\":false,\"properties\":{\"matches\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"address\":{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},\"commentId\":{\"type\":\"string\"},\"createdTime\":{\"type\":\"number\"},\"creatorEmail\":{\"type\":\"string\"},\"creatorName\":{\"type\":\"string\"},\"importedId\":{\"type\":\"string\"},\"isInternal\":{\"type\":\"boolean\"},\"parentCommentId\":{\"type\":\"string\"},\"status\":{\"enum\":[\"open\",\"resolved\"]},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"address\",\"commentId\",\"status\"],\"type\":\"object\"},\"type\":\"array\"},\"total\":{\"type\":\"integer\"}},\"required\":[\"matches\",\"total\"],\"type\":\"object\"}},\"doc.trackChanges.list\":{\"operationId\":\"doc.trackChanges.list\",\"command\":\"track-changes list\",\"commandTokens\":[\"track-changes\",\"list\"],\"category\":\"trackChanges\",\"description\":\"List all tracked changes in the document.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"list_tracked_changes\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"limit\",\"kind\":\"flag\",\"type\":\"number\"},{\"name\":\"offset\",\"kind\":\"flag\",\"type\":\"number\"},{\"name\":\"type\",\"kind\":\"flag\",\"type\":\"string\",\"schema\":{\"oneOf\":[{\"const\":\"insert\"},{\"const\":\"delete\"},{\"const\":\"format\"}]}}],\"constraints\":null,\"mutates\":false,\"idempotency\":\"idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"limit\":{\"type\":\"integer\"},\"offset\":{\"type\":\"integer\"},\"type\":{\"enum\":[\"insert\",\"delete\",\"format\"]}},\"type\":\"object\"},\"outputSchema\":{\"additionalProperties\":false,\"properties\":{\"changes\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"address\":{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},\"author\":{\"type\":\"string\"},\"authorEmail\":{\"type\":\"string\"},\"authorImage\":{\"type\":\"string\"},\"date\":{\"type\":\"string\"},\"excerpt\":{\"type\":\"string\"},\"id\":{\"type\":\"string\"},\"type\":{\"enum\":[\"insert\",\"delete\",\"format\"]}},\"required\":[\"address\",\"id\",\"type\"],\"type\":\"object\"},\"type\":\"array\"},\"matches\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},\"type\":\"array\"},\"total\":{\"type\":\"integer\"}},\"required\":[\"matches\",\"total\"],\"type\":\"object\"}},\"doc.trackChanges.get\":{\"operationId\":\"doc.trackChanges.get\",\"command\":\"track-changes get\",\"commandTokens\":[\"track-changes\",\"get\"],\"category\":\"trackChanges\",\"description\":\"Retrieve a single tracked change by ID.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"get_tracked_change\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"id\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true}],\"constraints\":null,\"mutates\":false,\"idempotency\":\"idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"id\":{\"type\":\"string\"}},\"required\":[\"id\"],\"type\":\"object\"},\"outputSchema\":{\"additionalProperties\":false,\"properties\":{\"address\":{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},\"author\":{\"type\":\"string\"},\"authorEmail\":{\"type\":\"string\"},\"authorImage\":{\"type\":\"string\"},\"date\":{\"type\":\"string\"},\"excerpt\":{\"type\":\"string\"},\"id\":{\"type\":\"string\"},\"type\":{\"enum\":[\"insert\",\"delete\",\"format\"]}},\"required\":[\"address\",\"id\",\"type\"],\"type\":\"object\"}},\"doc.trackChanges.accept\":{\"operationId\":\"doc.trackChanges.accept\",\"command\":\"track-changes accept\",\"commandTokens\":[\"track-changes\",\"accept\"],\"category\":\"trackChanges\",\"description\":\"Accept a tracked change, applying it permanently.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"accept_tracked_change\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"id\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"id\":{\"type\":\"string\"}},\"required\":[\"id\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.trackChanges.reject\":{\"operationId\":\"doc.trackChanges.reject\",\"command\":\"track-changes reject\",\"commandTokens\":[\"track-changes\",\"reject\"],\"category\":\"trackChanges\",\"description\":\"Reject a tracked change, reverting it.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"reject_tracked_change\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"id\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"id\":{\"type\":\"string\"}},\"required\":[\"id\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.trackChanges.acceptAll\":{\"operationId\":\"doc.trackChanges.acceptAll\",\"command\":\"track-changes accept-all\",\"commandTokens\":[\"track-changes\",\"accept-all\"],\"category\":\"trackChanges\",\"description\":\"Accept all tracked changes in the document.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"accept_all_tracked_changes\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{},\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.trackChanges.rejectAll\":{\"operationId\":\"doc.trackChanges.rejectAll\",\"command\":\"track-changes reject-all\",\"commandTokens\":[\"track-changes\",\"reject-all\"],\"category\":\"trackChanges\",\"description\":\"Reject all tracked changes in the document.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"reject_all_tracked_changes\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{},\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.open\":{\"operationId\":\"doc.open\",\"command\":\"open\",\"commandTokens\":[\"open\"],\"category\":\"lifecycle\",\"description\":\"Open a document and create a persistent editing session.\",\"requiresDocumentContext\":false,\"docRequirement\":\"required\",\"intentName\":\"open_document\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\",\"required\":true},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"collaboration\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"collaboration-json\"},{\"name\":\"collabDocumentId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"collab-document-id\"},{\"name\":\"collabUrl\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"collab-url\"}],\"constraints\":null,\"mutates\":false,\"idempotency\":\"non-idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"outputSchema\":{\"type\":\"object\",\"properties\":{\"contextId\":{\"type\":\"string\"},\"sessionType\":{\"type\":\"string\"},\"document\":{\"type\":\"object\",\"properties\":{\"path\":{\"type\":\"string\"},\"source\":{\"type\":\"string\"},\"revision\":{\"type\":\"number\"}}},\"collaboration\":{\"type\":\"object\",\"properties\":{\"documentId\":{\"type\":\"string\"},\"url\":{\"type\":\"string\"}}}},\"required\":[\"contextId\",\"sessionType\"]}},\"doc.save\":{\"operationId\":\"doc.save\",\"command\":\"save\",\"commandTokens\":[\"save\"],\"category\":\"lifecycle\",\"description\":\"Save the current session to the original file or a new path.\",\"requiresDocumentContext\":false,\"docRequirement\":\"none\",\"intentName\":\"save_document\",\"params\":[{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"inPlace\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"in-place\"}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"outputSchema\":{\"type\":\"object\",\"properties\":{\"contextId\":{\"type\":\"string\"},\"saved\":{\"type\":\"boolean\"},\"inPlace\":{\"type\":\"boolean\"},\"document\":{\"type\":\"object\",\"properties\":{\"path\":{\"type\":\"string\"},\"source\":{\"type\":\"string\"},\"revision\":{\"type\":\"number\"}}},\"context\":{\"type\":\"object\",\"properties\":{\"dirty\":{\"type\":\"boolean\"},\"revision\":{\"type\":\"number\"},\"lastSavedAt\":{\"type\":\"string\"}}},\"output\":{\"type\":\"object\",\"properties\":{\"path\":{\"type\":\"string\"},\"byteLength\":{\"type\":\"number\"}}}},\"required\":[\"contextId\",\"saved\"]}},\"doc.close\":{\"operationId\":\"doc.close\",\"command\":\"close\",\"commandTokens\":[\"close\"],\"category\":\"lifecycle\",\"description\":\"Close the active editing session and clean up resources.\",\"requiresDocumentContext\":false,\"docRequirement\":\"none\",\"intentName\":\"close_document\",\"params\":[{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"discard\",\"kind\":\"flag\",\"type\":\"boolean\"}],\"constraints\":null,\"mutates\":false,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"outputSchema\":{\"type\":\"object\",\"properties\":{\"contextId\":{\"type\":\"string\"},\"closed\":{\"type\":\"boolean\"},\"saved\":{\"type\":\"boolean\"},\"discarded\":{\"type\":\"boolean\"},\"defaultSessionCleared\":{\"type\":\"boolean\"},\"wasDirty\":{\"type\":\"boolean\"},\"document\":{\"type\":\"object\",\"properties\":{\"path\":{\"type\":\"string\"},\"source\":{\"type\":\"string\"},\"revision\":{\"type\":\"number\"}}}},\"required\":[\"contextId\",\"closed\"]}},\"doc.status\":{\"operationId\":\"doc.status\",\"command\":\"status\",\"commandTokens\":[\"status\"],\"category\":\"introspection\",\"description\":\"Show the current session status and document metadata.\",\"requiresDocumentContext\":false,\"docRequirement\":\"none\",\"intentName\":\"get_status\",\"params\":[{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"}],\"constraints\":null,\"mutates\":false,\"idempotency\":\"idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"outputSchema\":{\"type\":\"object\",\"properties\":{\"contextId\":{\"type\":\"string\"},\"sessionType\":{\"type\":\"string\"},\"dirty\":{\"type\":\"boolean\"},\"revision\":{\"type\":\"number\"},\"document\":{\"type\":\"object\",\"properties\":{\"path\":{\"type\":\"string\"},\"source\":{\"type\":\"string\"}}}},\"required\":[\"contextId\"]}},\"doc.describe\":{\"operationId\":\"doc.describe\",\"command\":\"describe\",\"commandTokens\":[\"describe\"],\"category\":\"introspection\",\"description\":\"List all available CLI operations and contract metadata.\",\"requiresDocumentContext\":false,\"docRequirement\":\"none\",\"intentName\":\"describe_commands\",\"params\":[],\"constraints\":null,\"mutates\":false,\"idempotency\":\"idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"outputSchema\":{\"type\":\"object\",\"properties\":{\"contractVersion\":{\"type\":\"string\"},\"operations\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"operationId\":{\"type\":\"string\"},\"command\":{\"type\":\"string\"},\"category\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"mutates\":{\"type\":\"boolean\"}}}}}}},\"doc.describeCommand\":{\"operationId\":\"doc.describeCommand\",\"command\":\"describe command\",\"commandTokens\":[\"describe\",\"command\"],\"category\":\"introspection\",\"description\":\"Show detailed metadata for a single CLI operation.\",\"requiresDocumentContext\":false,\"docRequirement\":\"none\",\"intentName\":\"describe_command\",\"params\":[{\"name\":\"operationId\",\"kind\":\"doc\",\"type\":\"string\",\"required\":true}],\"constraints\":null,\"mutates\":false,\"idempotency\":\"idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"outputSchema\":{\"type\":\"object\",\"properties\":{\"operationId\":{\"type\":\"string\"},\"command\":{\"type\":\"string\"},\"category\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"mutates\":{\"type\":\"boolean\"},\"params\":{\"type\":\"array\"},\"constraints\":{}}}},\"doc.session.list\":{\"operationId\":\"doc.session.list\",\"command\":\"session list\",\"commandTokens\":[\"session\",\"list\"],\"category\":\"session\",\"description\":\"List all active editing sessions.\",\"requiresDocumentContext\":false,\"docRequirement\":\"none\",\"intentName\":\"list_sessions\",\"params\":[],\"constraints\":null,\"mutates\":false,\"idempotency\":\"idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"outputSchema\":{\"type\":\"object\",\"properties\":{\"activeSessionId\":{\"type\":\"string\"},\"sessions\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"sessionId\":{\"type\":\"string\"},\"sessionType\":{\"type\":\"string\"},\"dirty\":{\"type\":\"boolean\"},\"revision\":{\"type\":\"number\"}}}},\"total\":{\"type\":\"number\"}}}},\"doc.session.save\":{\"operationId\":\"doc.session.save\",\"command\":\"session save\",\"commandTokens\":[\"session\",\"save\"],\"category\":\"session\",\"description\":\"Persist the current session state.\",\"requiresDocumentContext\":false,\"docRequirement\":\"none\",\"intentName\":\"save_session\",\"params\":[{\"name\":\"sessionId\",\"kind\":\"doc\",\"type\":\"string\",\"required\":true},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"inPlace\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"in-place\"}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"outputSchema\":{\"type\":\"object\",\"properties\":{\"sessionId\":{\"type\":\"string\"},\"contextId\":{\"type\":\"string\"},\"saved\":{\"type\":\"boolean\"},\"inPlace\":{\"type\":\"boolean\"},\"document\":{\"type\":\"object\",\"properties\":{\"path\":{\"type\":\"string\"},\"source\":{\"type\":\"string\"},\"revision\":{\"type\":\"number\"}}},\"output\":{\"type\":\"object\",\"properties\":{\"path\":{\"type\":\"string\"},\"byteLength\":{\"type\":\"number\"}}}},\"required\":[\"sessionId\"]}},\"doc.session.close\":{\"operationId\":\"doc.session.close\",\"command\":\"session close\",\"commandTokens\":[\"session\",\"close\"],\"category\":\"session\",\"description\":\"Close a specific editing session by ID.\",\"requiresDocumentContext\":false,\"docRequirement\":\"none\",\"intentName\":\"close_session\",\"params\":[{\"name\":\"sessionId\",\"kind\":\"doc\",\"type\":\"string\",\"required\":true},{\"name\":\"discard\",\"kind\":\"flag\",\"type\":\"boolean\"}],\"constraints\":null,\"mutates\":false,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"outputSchema\":{\"type\":\"object\",\"properties\":{\"sessionId\":{\"type\":\"string\"},\"contextId\":{\"type\":\"string\"},\"closed\":{\"type\":\"boolean\"},\"saved\":{\"type\":\"boolean\"},\"discarded\":{\"type\":\"boolean\"},\"defaultSessionCleared\":{\"type\":\"boolean\"},\"wasDirty\":{\"type\":\"boolean\"},\"document\":{\"type\":\"object\",\"properties\":{\"path\":{\"type\":\"string\"},\"source\":{\"type\":\"string\"},\"revision\":{\"type\":\"number\"}}}},\"required\":[\"sessionId\"]}},\"doc.session.setDefault\":{\"operationId\":\"doc.session.setDefault\",\"command\":\"session set-default\",\"commandTokens\":[\"session\",\"set-default\"],\"category\":\"session\",\"description\":\"Set the default session for subsequent commands.\",\"requiresDocumentContext\":false,\"docRequirement\":\"none\",\"intentName\":\"set_default_session\",\"params\":[{\"name\":\"sessionId\",\"kind\":\"doc\",\"type\":\"string\",\"required\":true}],\"constraints\":null,\"mutates\":false,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"outputSchema\":{\"type\":\"object\",\"properties\":{\"activeSessionId\":{\"type\":\"string\"}},\"required\":[\"activeSessionId\"]}}}}") + +OPERATION_INDEX = {op_id: op for op_id, op in CONTRACT["operations"].items()} diff --git a/packages/sdk/langs/python/superdoc/runtime.py b/packages/sdk/langs/python/superdoc/runtime.py new file mode 100644 index 0000000000..2a6d7739c2 --- /dev/null +++ b/packages/sdk/langs/python/superdoc/runtime.py @@ -0,0 +1,355 @@ +from __future__ import annotations + +import asyncio +import hashlib +import json +import os +import subprocess +from typing import Any, Dict, Literal, Mapping, Optional, Tuple + +from .embedded_cli import resolve_embedded_cli_path +from .errors import SuperDocError +from .generated.contract import CONTRACT, OPERATION_INDEX + +ChangeMode = Literal['direct', 'tracked'] + + +def _resolve_invocation(cli_bin: str) -> Tuple[str, list]: + lower = cli_bin.lower() + if lower.endswith('.js'): + return 'node', [cli_bin] + if lower.endswith('.ts'): + return 'bun', [cli_bin] + return cli_bin, [] + + +def _encode_param(args: list, spec: Dict[str, Any], value: Any) -> None: + if value is None: + if spec.get('required'): + raise SuperDocError(f"Missing required parameter: {spec['name']}", code='INVALID_ARGUMENT') + return + + kind = spec['kind'] + param_type = spec['type'] + + if kind == 'doc': + args.append(str(value)) + return + + flag = f"--{spec.get('flag') or spec['name']}" + + if param_type == 'boolean': + # Explicit true/false — matches current CLI operation-executor.ts. + args.extend([flag, 'true' if value else 'false']) + return + + if param_type == 'string[]': + if not isinstance(value, list): + raise SuperDocError(f"Parameter {spec['name']} must be a list.", code='INVALID_ARGUMENT') + for item in value: + args.extend([flag, str(item)]) + return + + if param_type == 'json': + args.extend([flag, json.dumps(value)]) + return + + args.extend([flag, str(value)]) + + +def _normalize_default_change_mode(default_change_mode: Optional[str]) -> Optional[ChangeMode]: + if default_change_mode is None: + return None + if default_change_mode in ('direct', 'tracked'): + return default_change_mode + raise SuperDocError( + 'default_change_mode must be "direct" or "tracked".', + code='INVALID_ARGUMENT', + details={'defaultChangeMode': default_change_mode}, + ) + + +def _apply_default_change_mode( + operation: Dict[str, Any], payload: Dict[str, Any], default_change_mode: Optional[ChangeMode] +) -> Dict[str, Any]: + if default_change_mode is None: + return payload + + if payload.get('changeMode') is not None: + return payload + + supports_change_mode = any(spec.get('name') == 'changeMode' for spec in operation.get('params', [])) + if not supports_change_mode: + return payload + + return {**payload, 'changeMode': default_change_mode} + + +def _parse_envelope(stdout: str, stderr: str) -> Dict[str, Any]: + payload = stdout or stderr + if not payload.strip(): + raise SuperDocError('CLI returned no JSON envelope.', code='COMMAND_FAILED', details={'stdout': stdout, 'stderr': stderr}) + + attempts: list = [payload.strip()] + lines = payload.splitlines() + for index, line in enumerate(lines): + if not line.strip().startswith('{'): + continue + attempts.append('\n'.join(lines[index:]).strip()) + + for candidate in attempts: + if not candidate: + continue + try: + parsed = json.loads(candidate) + if isinstance(parsed, dict) and 'ok' in parsed: + return parsed + except Exception: + continue + + raise SuperDocError( + 'CLI returned invalid JSON envelope.', + code='JSON_PARSE_ERROR', + details={'stdout': stdout, 'stderr': stderr, 'message': 'Failed to parse envelope JSON.'}, + ) + + +# Explicit exception set — these ops have sessionId but are NOT auto-targeted. +# doc.open: requires explicit doc+session coordination, never auto-resolves session. +_SESSION_BOUND_EXCEPTIONS = {'doc.open'} + + +def _derive_session_bound_ids(): + ops = CONTRACT.get('operations', {}) + return { + op_id for op_id, op in ops.items() + if op_id not in _SESSION_BOUND_EXCEPTIONS + and any( + isinstance(p, dict) and p.get('name') == 'sessionId' + for p in op.get('params', []) + ) + } + + +_SESSION_BOUND_OPERATION_IDS = _derive_session_bound_ids() + + +def _normalized_version(version: str) -> Optional[Tuple[int, int, int]]: + if not isinstance(version, str): + return None + + core = version.split('-', 1)[0] + parts = core.split('.') + if len(parts) < 3: + return None + + try: + return int(parts[0]), int(parts[1]), int(parts[2]) + except Exception: + return None + + +def _ensure_cli_version_compatible(envelope: Dict[str, Any]) -> None: + cli = CONTRACT.get('cli', {}) + min_version = cli.get('minVersion') + if not isinstance(min_version, str): + return + + meta = envelope.get('meta') + if not isinstance(meta, dict): + return + + cli_version = meta.get('version') + if not isinstance(cli_version, str): + return + if cli_version == '0.0.0': + return + + parsed_cli = _normalized_version(cli_version) + parsed_min = _normalized_version(min_version) + if not parsed_cli or not parsed_min: + return + + if parsed_cli < parsed_min: + raise SuperDocError( + f"CLI version {cli_version} is older than minimum required {min_version}.", + code='CLI_VERSION_UNSUPPORTED', + details={'cliVersion': cli_version, 'minVersion': min_version}, + ) + + +def _get_state_root(env: Mapping[str, str]) -> str: + override = env.get('SUPERDOC_CLI_STATE_DIR') or os.environ.get('SUPERDOC_CLI_STATE_DIR') + if override: + return os.path.abspath(override) + return os.path.join(os.path.expanduser('~'), '.superdoc-cli', 'state', 'v1') + + +def _read_text(path: str) -> Optional[str]: + try: + with open(path, 'r', encoding='utf-8') as handle: + return handle.read() + except Exception: + return None + + +def _read_json(path: str) -> Optional[Dict[str, Any]]: + raw = _read_text(path) + if raw is None: + return None + + try: + parsed = json.loads(raw) + except Exception: + return None + + if not isinstance(parsed, dict): + return None + return parsed + + +def _resolve_active_session_id(env: Mapping[str, str]) -> Optional[str]: + project_root = os.path.abspath(os.getcwd()) + project_hash = hashlib.sha256(project_root.encode('utf-8')).hexdigest()[:16] + active_path = os.path.join(_get_state_root(env), 'projects', project_hash, 'active-session') + raw = _read_text(active_path) + if not raw: + return None + session_id = raw.strip() + return session_id or None + + +def _is_collab_session(session_id: str, env: Mapping[str, str]) -> bool: + metadata_path = os.path.join(_get_state_root(env), 'contexts', session_id, 'metadata.json') + metadata = _read_json(metadata_path) + if not metadata: + return False + return metadata.get('sessionType') == 'collab' + + +def _target_session_id(operation_id: str, params: Dict[str, Any], env: Mapping[str, str]) -> Optional[str]: + if operation_id == 'doc.session.close': + value = params.get('sessionId') + if isinstance(value, str) and value: + return value + return None + + if operation_id not in _SESSION_BOUND_OPERATION_IDS: + return None + + if params.get('doc') is not None: + return None + + value = params.get('sessionId') + if isinstance(value, str) and value: + return value + return _resolve_active_session_id(env) + + +def _reject_python_collaboration(operation_id: str, params: Dict[str, Any], env: Mapping[str, str]) -> None: + if operation_id == 'doc.open': + for field in ('collaboration', 'collabUrl', 'collabDocumentId'): + if params.get(field) is not None: + raise SuperDocError( + 'Collaboration is not supported in the Python SDK.', + code='NOT_SUPPORTED', + details={'operation': operation_id, 'field': field}, + ) + return + + session_id = _target_session_id(operation_id, params, env) + if not session_id: + return + + if _is_collab_session(session_id, env): + raise SuperDocError( + 'Collaboration sessions are not supported in the Python SDK.', + code='NOT_SUPPORTED', + details={'operation': operation_id, 'sessionId': session_id}, + ) + + +class SuperDocSyncRuntime: + def __init__(self, *, env: Optional[Mapping[str, str]] = None, default_change_mode: Optional[str] = None): + self._env = dict(env or {}) + self._cli_bin = self._env.get('SUPERDOC_CLI_BIN') or os.environ.get('SUPERDOC_CLI_BIN') or resolve_embedded_cli_path() + self._default_change_mode = _normalize_default_change_mode(default_change_mode) + + def invoke(self, operation_id: str, params: Optional[Dict[str, Any]] = None, *, timeout_ms: Optional[int] = None, stdin_bytes: Optional[bytes] = None) -> Dict[str, Any]: + operation = OPERATION_INDEX[operation_id] + command, prefix = _resolve_invocation(self._cli_bin) + + args: list = [*prefix, *operation['commandTokens']] + payload = _apply_default_change_mode(operation, params or {}, self._default_change_mode) + _reject_python_collaboration(operation_id, payload, self._env) + for spec in operation['params']: + _encode_param(args, spec, payload.get(spec['name'])) + + if timeout_ms is not None: + args.extend(['--timeout-ms', str(timeout_ms)]) + args.extend(['--output', 'json']) + + completed = subprocess.run( + [command, *args], + input=stdin_bytes, + capture_output=True, + env={**os.environ, **self._env}, + check=False, + ) + + envelope = _parse_envelope(completed.stdout.decode('utf-8', errors='replace'), completed.stderr.decode('utf-8', errors='replace')) + _ensure_cli_version_compatible(envelope) + if envelope.get('ok'): + return envelope['data'] + + error = envelope.get('error', {}) + raise SuperDocError( + error.get('message', 'Unknown CLI error'), + code=error.get('code', 'COMMAND_FAILED'), + details=error.get('details'), + exit_code=completed.returncode, + ) + + +class SuperDocAsyncRuntime: + def __init__(self, *, env: Optional[Mapping[str, str]] = None, default_change_mode: Optional[str] = None): + self._env = dict(env or {}) + self._cli_bin = self._env.get('SUPERDOC_CLI_BIN') or os.environ.get('SUPERDOC_CLI_BIN') or resolve_embedded_cli_path() + self._default_change_mode = _normalize_default_change_mode(default_change_mode) + + async def invoke(self, operation_id: str, params: Optional[Dict[str, Any]] = None, *, timeout_ms: Optional[int] = None, stdin_bytes: Optional[bytes] = None) -> Dict[str, Any]: + operation = OPERATION_INDEX[operation_id] + command, prefix = _resolve_invocation(self._cli_bin) + + args: list = [*prefix, *operation['commandTokens']] + payload = _apply_default_change_mode(operation, params or {}, self._default_change_mode) + _reject_python_collaboration(operation_id, payload, self._env) + for spec in operation['params']: + _encode_param(args, spec, payload.get(spec['name'])) + + if timeout_ms is not None: + args.extend(['--timeout-ms', str(timeout_ms)]) + args.extend(['--output', 'json']) + + process = await asyncio.create_subprocess_exec( + command, + *args, + stdin=asyncio.subprocess.PIPE, + stdout=asyncio.subprocess.PIPE, + stderr=asyncio.subprocess.PIPE, + env={**os.environ, **self._env}, + ) + + stdout, stderr = await process.communicate(stdin_bytes) + envelope = _parse_envelope(stdout.decode('utf-8', errors='replace'), stderr.decode('utf-8', errors='replace')) + _ensure_cli_version_compatible(envelope) + if envelope.get('ok'): + return envelope['data'] + + error = envelope.get('error', {}) + raise SuperDocError( + error.get('message', 'Unknown CLI error'), + code=error.get('code', 'COMMAND_FAILED'), + details=error.get('details'), + exit_code=process.returncode, + ) diff --git a/packages/sdk/langs/python/superdoc/skill_api.py b/packages/sdk/langs/python/superdoc/skill_api.py new file mode 100644 index 0000000000..b01fc5a74b --- /dev/null +++ b/packages/sdk/langs/python/superdoc/skill_api.py @@ -0,0 +1,154 @@ +from __future__ import annotations + +import os +from pathlib import Path +import re +from importlib import resources +from typing import Literal, TypedDict + +from .errors import SuperDocError + +_SKILL_NAME_RE = re.compile(r'^[A-Za-z0-9][A-Za-z0-9_-]*$') +_SUPPORTED_SKILL_RUNTIMES = ('claude',) +_SUPPORTED_INSTALL_SCOPES = ('project', 'user') +SkillRuntime = Literal['claude'] +SkillInstallScope = Literal['project', 'user'] + + +class InstalledSkillResult(TypedDict): + name: str + runtime: SkillRuntime + scope: Literal['project', 'user', 'custom'] + path: str + written: bool + overwritten: bool + + +def _normalize_skill_name(name: str) -> str: + normalized = name.strip() + if not normalized or _SKILL_NAME_RE.fullmatch(normalized) is None: + raise SuperDocError('Skill name is required.', code='INVALID_ARGUMENT', details={'name': name}) + return normalized + + +def _available_skills_for_error() -> list: + try: + return list_skills() + except SuperDocError: + return [] + + +def list_skills() -> list: + result: list = [] + try: + directory = resources.files('superdoc').joinpath('skills') + for entry in directory.iterdir(): + name = entry.name + if Path(name).suffix == '.md': + result.append(Path(name).stem) + except Exception as error: + raise SuperDocError( + 'Unable to enumerate SDK skills.', + code='SKILL_IO_ERROR', + details={'message': str(error)}, + ) from error + + result.sort() + return result + + +def get_skill(name: str) -> str: + normalized = _normalize_skill_name(name) + + resource = resources.files('superdoc').joinpath('skills', f'{normalized}.md') + try: + return resource.read_text(encoding='utf-8') + except FileNotFoundError as error: + raise SuperDocError( + 'Requested SDK skill was not found.', + code='SKILL_NOT_FOUND', + details={'name': normalized, 'available': _available_skills_for_error()}, + ) from error + except Exception as error: + raise SuperDocError( + 'Unable to read SDK skill file.', + code='SKILL_IO_ERROR', + details={'name': normalized, 'message': str(error)}, + ) from error + + +def install_skill( + name: str, + *, + runtime: SkillRuntime = 'claude', + scope: SkillInstallScope = 'project', + target_dir: str | None = None, + cwd: str | None = None, + home_dir: str | None = None, + overwrite: bool = True, +) -> InstalledSkillResult: + normalized = _normalize_skill_name(name) + + if runtime not in _SUPPORTED_SKILL_RUNTIMES: + raise SuperDocError( + 'Unsupported skill runtime.', + code='INVALID_ARGUMENT', + details={'runtime': runtime, 'supportedRuntimes': list(_SUPPORTED_SKILL_RUNTIMES)}, + ) + + if scope not in _SUPPORTED_INSTALL_SCOPES: + raise SuperDocError( + 'Unsupported skill install scope.', + code='INVALID_ARGUMENT', + details={'scope': scope, 'supportedScopes': list(_SUPPORTED_INSTALL_SCOPES)}, + ) + + if target_dir is not None: + skills_root = Path(target_dir).resolve() + result_scope: Literal['project', 'user', 'custom'] = 'custom' + elif scope == 'user': + skills_root = Path(home_dir or str(Path.home())).resolve() / '.claude' / 'skills' + result_scope = 'user' + else: + skills_root = Path(cwd or os.getcwd()).resolve() / '.claude' / 'skills' + result_scope = 'project' + + skill_path = skills_root / normalized / 'SKILL.md' + existed = skill_path.exists() + if existed and not overwrite: + return { + 'name': normalized, + 'runtime': runtime, + 'scope': result_scope, + 'path': str(skill_path), + 'written': False, + 'overwritten': False, + } + + try: + content = get_skill(normalized) + skill_path.parent.mkdir(parents=True, exist_ok=True) + skill_path.write_text(content, encoding='utf-8') + except SuperDocError: + raise + except Exception as error: + raise SuperDocError( + 'Unable to install SDK skill.', + code='SKILL_IO_ERROR', + details={ + 'name': normalized, + 'runtime': runtime, + 'scope': result_scope, + 'path': str(skill_path), + 'message': str(error), + }, + ) from error + + return { + 'name': normalized, + 'runtime': runtime, + 'scope': result_scope, + 'path': str(skill_path), + 'written': True, + 'overwritten': existed, + } diff --git a/packages/sdk/langs/python/superdoc/skills/__init__.py b/packages/sdk/langs/python/superdoc/skills/__init__.py new file mode 100644 index 0000000000..e5499ee9bb --- /dev/null +++ b/packages/sdk/langs/python/superdoc/skills/__init__.py @@ -0,0 +1 @@ +# Skill prompt templates. diff --git a/packages/sdk/langs/python/superdoc/skills/editing-docx.md b/packages/sdk/langs/python/superdoc/skills/editing-docx.md new file mode 100644 index 0000000000..db5a836ff1 --- /dev/null +++ b/packages/sdk/langs/python/superdoc/skills/editing-docx.md @@ -0,0 +1,31 @@ +# Editing DOCX Documents with SuperDoc SDK + +You are a document editing assistant using the SuperDoc SDK. You have access to tools +that let you open, read, search, and modify `.docx` files programmatically. + +## Workflow + +1. **Open** the document with `doc.open` +2. **Inspect** it with `doc.info` to understand structure +3. **Find** content with `doc.find` using text search or node type queries +4. **Modify** content using `doc.insert`, `doc.replace`, `doc.delete`, or formatting operations +5. **Save** changes with `doc.save` +6. **Close** when done with `doc.close` + +## Key Operations + +- `doc.find` — Search by text pattern, node type, or structured query +- `doc.getNode` — Get a specific node by address +- `doc.insert` — Insert text at a position +- `doc.replace` — Replace content at a position +- `doc.delete` — Delete content at a position +- `doc.format.*` — Apply bold, italic, underline, strikethrough +- `doc.comments.*` — Add, edit, resolve, remove comments +- `doc.trackChanges.*` — Accept/reject tracked changes + +## Best Practices + +- Always open before operating, save when done +- Use `doc.find` to locate content before modifying +- Use `doc.info` to check document capabilities +- Handle errors gracefully — operations may fail if targets are invalid diff --git a/packages/sdk/langs/python/superdoc/test_parity_helper.py b/packages/sdk/langs/python/superdoc/test_parity_helper.py new file mode 100644 index 0000000000..065f24ea64 --- /dev/null +++ b/packages/sdk/langs/python/superdoc/test_parity_helper.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python3 +""" +Parity test helper — reads JSON commands from stdin, executes Python SDK +functions, and writes JSON results to stdout. + +Used by cross-lang-parity.test.ts to compare Node and Python behavior. +""" + +from __future__ import annotations + +import json +import sys +import traceback + + +def main() -> None: + raw = sys.stdin.read() + command = json.loads(raw) + action = command.get('action') + + try: + if action == 'chooseTools': + from superdoc.tools_api import choose_tools + result = choose_tools(command['input']) + # Strip non-comparable fields (provider tools depend on JSON ordering) + result.pop('tools', None) + print(json.dumps({'ok': True, 'result': result})) + + elif action == 'validateDispatchArgs': + from superdoc.tools_api import _validate_dispatch_args + try: + _validate_dispatch_args(command['operationId'], command['args']) + print(json.dumps({'ok': True, 'result': 'passed'})) + except Exception as exc: + code = getattr(exc, 'code', None) or 'UNKNOWN' + print(json.dumps({'ok': True, 'result': {'rejected': True, 'code': code, 'message': str(exc)}})) + + elif action == 'resolveToolOperation': + from superdoc.tools_api import resolve_tool_operation + result = resolve_tool_operation(command['toolName']) + print(json.dumps({'ok': True, 'result': result})) + + elif action == 'inferDocumentFeatures': + from superdoc.tools_api import infer_document_features + result = infer_document_features(command['infoResult']) + print(json.dumps({'ok': True, 'result': result})) + + elif action == 'isSessionBound': + from superdoc.runtime import _SESSION_BOUND_OPERATION_IDS + operation_id = command['operationId'] + result = operation_id in _SESSION_BOUND_OPERATION_IDS + print(json.dumps({'ok': True, 'result': result})) + + elif action == 'assertCollabRejection': + import os + import tempfile + from superdoc.runtime import _reject_python_collaboration + from superdoc.errors import SuperDocError + + operation_id = command['operationId'] + session_id = command['sessionId'] + + # Create a temp state dir with a collab metadata.json + with tempfile.TemporaryDirectory() as tmpdir: + ctx_dir = os.path.join(tmpdir, 'contexts', session_id) + os.makedirs(ctx_dir, exist_ok=True) + meta_path = os.path.join(ctx_dir, 'metadata.json') + with open(meta_path, 'w') as f: + json.dump({'sessionType': 'collab'}, f) + + env = {'SUPERDOC_CLI_STATE_DIR': tmpdir} + params = {'sessionId': session_id} + try: + _reject_python_collaboration(operation_id, params, env) + print(json.dumps({'ok': True, 'result': {'rejected': False}})) + except SuperDocError as exc: + print(json.dumps({'ok': True, 'result': {'rejected': True, 'code': exc.code}})) + + else: + print(json.dumps({'ok': False, 'error': f'Unknown action: {action}'})) + + except Exception: + print(json.dumps({'ok': False, 'error': traceback.format_exc()})) + + +if __name__ == '__main__': + main() diff --git a/packages/sdk/langs/python/superdoc/tools b/packages/sdk/langs/python/superdoc/tools new file mode 120000 index 0000000000..c92f4172df --- /dev/null +++ b/packages/sdk/langs/python/superdoc/tools @@ -0,0 +1 @@ +../../../tools \ No newline at end of file diff --git a/packages/sdk/langs/python/superdoc/tools_api.py b/packages/sdk/langs/python/superdoc/tools_api.py new file mode 100644 index 0000000000..be7e6e7c60 --- /dev/null +++ b/packages/sdk/langs/python/superdoc/tools_api.py @@ -0,0 +1,537 @@ +from __future__ import annotations + +import inspect +import json +from importlib import resources +from typing import Any, Dict, List, Literal, Mapping, Optional, TypedDict, cast + +from .errors import SuperDocError +from .generated.contract import OPERATION_INDEX + +ToolProvider = Literal['openai', 'anthropic', 'vercel', 'generic'] +ToolProfile = Literal['intent', 'operation'] +ToolPhase = Literal['read', 'locate', 'mutate', 'review'] + + +class DocumentFeatures(TypedDict): + hasTables: bool + hasLists: bool + hasComments: bool + hasTrackedChanges: bool + isEmptyDocument: bool + + +class ToolChooserPolicy(TypedDict, total=False): + includeCategories: List[str] + excludeCategories: List[str] + allowMutatingTools: bool + forceInclude: List[str] + forceExclude: List[str] + + +class ToolChooserBudget(TypedDict, total=False): + maxTools: int + minReadTools: int + + +class ToolChooserTaskContext(TypedDict, total=False): + phase: ToolPhase + previousToolCalls: List[Dict[str, Any]] + + +class ToolChooserInput(TypedDict, total=False): + provider: ToolProvider + profile: ToolProfile + documentFeatures: DocumentFeatures + taskContext: ToolChooserTaskContext + budget: ToolChooserBudget + policy: ToolChooserPolicy + + +# Policy is loaded from the generated tools-policy.json artifact. +_policy_cache: Optional[Dict[str, Any]] = None + + +def _load_policy() -> Dict[str, Any]: + global _policy_cache + if _policy_cache is not None: + return _policy_cache + _policy_cache = _read_json_asset('tools-policy.json') + return _policy_cache + +PROVIDER_FILE: Dict[ToolProvider, str] = { + 'openai': 'tools.openai.json', + 'anthropic': 'tools.anthropic.json', + 'vercel': 'tools.vercel.json', + 'generic': 'tools.generic.json', +} + + +def _read_json_asset(name: str) -> Dict[str, Any]: + resource = resources.files('superdoc').joinpath('tools', name) + try: + raw = resource.read_text(encoding='utf-8') + except FileNotFoundError as error: + raise SuperDocError( + 'Unable to load packaged tool artifact.', + code='TOOLS_ASSET_NOT_FOUND', + details={'file': name}, + ) from error + except Exception as error: + raise SuperDocError( + 'Unable to read packaged tool artifact.', + code='TOOLS_ASSET_NOT_FOUND', + details={'file': name, 'message': str(error)}, + ) from error + + try: + parsed = json.loads(raw) + except Exception as error: + raise SuperDocError( + 'Packaged tool artifact is invalid JSON.', + code='TOOLS_ASSET_INVALID', + details={'file': name, 'message': str(error)}, + ) from error + + if not isinstance(parsed, dict): + raise SuperDocError( + 'Packaged tool artifact root must be an object.', + code='TOOLS_ASSET_INVALID', + details={'file': name}, + ) + + return cast(Dict[str, Any], parsed) + + +def get_tool_catalog(options: Optional[Dict[str, Any]] = None) -> Dict[str, Any]: + profile = (options or {}).get('profile') + catalog = _read_json_asset('catalog.json') + if profile not in ('intent', 'operation', None): + raise SuperDocError( + 'profile must be "intent" or "operation".', + code='INVALID_ARGUMENT', + details={'profile': profile}, + ) + + if profile is None: + return catalog + + filtered = dict(catalog) + profiles = catalog.get('profiles') if isinstance(catalog.get('profiles'), dict) else {} + filtered['profiles'] = { + 'intent': profiles.get('intent') if profile == 'intent' else {'name': 'intent', 'tools': []}, + 'operation': profiles.get('operation') if profile == 'operation' else {'name': 'operation', 'tools': []}, + } + return filtered + + +def list_tools(provider: ToolProvider, options: Optional[Dict[str, Any]] = None) -> List[Dict[str, Any]]: + profile = (options or {}).get('profile', 'intent') + if profile not in ('intent', 'operation'): + raise SuperDocError( + 'profile must be "intent" or "operation".', + code='INVALID_ARGUMENT', + details={'profile': profile}, + ) + + bundle = _read_json_asset(PROVIDER_FILE[provider]) + profiles = bundle.get('profiles') + if not isinstance(profiles, dict): + raise SuperDocError('Tool provider artifact is missing profiles.', code='TOOLS_ASSET_INVALID', details={'provider': provider}) + + tools = profiles.get(profile) + if not isinstance(tools, list): + raise SuperDocError('Tool provider artifact profile is invalid.', code='TOOLS_ASSET_INVALID', details={'provider': provider, 'profile': profile}) + + return cast(List[Dict[str, Any]], tools) + + +def resolve_tool_operation(tool_name: str) -> Optional[str]: + mapping = _read_json_asset('tool-name-map.json') + value = mapping.get(tool_name) + return value if isinstance(value, str) else None + + +def infer_document_features(info_result: Optional[Mapping[str, Any]]) -> DocumentFeatures: + if not isinstance(info_result, dict): + return { + 'hasTables': False, + 'hasLists': False, + 'hasComments': False, + 'hasTrackedChanges': False, + 'isEmptyDocument': False, + } + + counts: Mapping[str, Any] = {} + if isinstance(info_result.get('counts'), dict): + counts = cast(Mapping[str, Any], info_result['counts']) + + words = counts.get('words') if isinstance(counts.get('words'), (int, float)) else 0 + paragraphs = counts.get('paragraphs') if isinstance(counts.get('paragraphs'), (int, float)) else 0 + tables = counts.get('tables') if isinstance(counts.get('tables'), (int, float)) else 0 + comments = counts.get('comments') if isinstance(counts.get('comments'), (int, float)) else 0 + lists = counts.get('lists') if isinstance(counts.get('lists'), (int, float)) else counts.get('listItems', 0) + tracked = counts.get('trackedChanges') if isinstance(counts.get('trackedChanges'), (int, float)) else counts.get('tracked_changes', 0) + + return { + 'hasTables': bool(tables and tables > 0), + 'hasLists': bool(lists and lists > 0), + 'hasComments': bool(comments and comments > 0), + 'hasTrackedChanges': bool(tracked and tracked > 0), + 'isEmptyDocument': bool(words == 0 and paragraphs <= 1), + } + + +def _normalize_features(features: Optional[Mapping[str, Any]]) -> DocumentFeatures: + return { + 'hasTables': bool(features.get('hasTables')) if features else False, + 'hasLists': bool(features.get('hasLists')) if features else False, + 'hasComments': bool(features.get('hasComments')) if features else False, + 'hasTrackedChanges': bool(features.get('hasTrackedChanges')) if features else False, + 'isEmptyDocument': bool(features.get('isEmptyDocument')) if features else False, + } + + +def _priority_sort(tools: List[Dict[str, Any]], priority: List[str]) -> List[Dict[str, Any]]: + priority_index = {category: index for index, category in enumerate(priority)} + return sorted( + tools, + key=lambda tool: ( + priority_index.get(str(tool.get('category')), 10_000), + str(tool.get('toolName', '')), + ), + ) + + +def _extract_provider_tool_name(tool: Dict[str, Any]) -> Optional[str]: + """Extract tool name from provider-specific format. + + Anthropic / Generic: top-level ``name``. + OpenAI / Vercel: nested under ``function.name``. + """ + name = tool.get('name') + if isinstance(name, str): + return name + fn = tool.get('function') + if isinstance(fn, dict): + fn_name = fn.get('name') + if isinstance(fn_name, str): + return fn_name + return None + + +def choose_tools(input: ToolChooserInput) -> Dict[str, Any]: + provider = input.get('provider') + if provider not in ('openai', 'anthropic', 'vercel', 'generic'): + raise SuperDocError('provider is required.', code='INVALID_ARGUMENT', details={'provider': provider}) + + profile = cast(ToolProfile, input.get('profile', 'intent')) + if profile not in ('intent', 'operation'): + raise SuperDocError('profile must be "intent" or "operation".', code='INVALID_ARGUMENT', details={'profile': profile}) + + task_context = input.get('taskContext', {}) + phase = cast(ToolPhase, task_context.get('phase', 'read')) + if phase not in ('read', 'locate', 'mutate', 'review'): + raise SuperDocError('phase must be read|locate|mutate|review.', code='INVALID_ARGUMENT', details={'phase': phase}) + + catalog = _read_json_asset('catalog.json') + tools_policy = _load_policy() + profile_tools = ( + catalog.get('profiles', {}).get(profile, {}).get('tools') + if isinstance(catalog.get('profiles'), dict) + else [] + ) + if not isinstance(profile_tools, list): + raise SuperDocError('Catalog profile tools are invalid.', code='TOOLS_ASSET_INVALID', details={'profile': profile}) + + policy = input.get('policy', {}) + budget = input.get('budget', {}) + + defaults = tools_policy.get('defaults', {}) + max_by_profile = defaults.get('maxToolsByProfile', {}) + max_tools = int(budget.get('maxTools', max_by_profile.get(profile, 12))) + min_read_tools = int(budget.get('minReadTools', defaults.get('minReadTools', 2))) + max_tools = max(1, max_tools) + min_read_tools = max(0, min_read_tools) + + phase_policy = tools_policy.get('phases', {}).get(phase, {'include': [], 'exclude': [], 'priority': []}) + include_categories = set(policy.get('includeCategories') or phase_policy['include']) + exclude_categories = set((policy.get('excludeCategories') or []) + phase_policy['exclude']) + allow_mutating_tools = bool(policy.get('allowMutatingTools', phase == 'mutate')) + + features = _normalize_features(input.get('documentFeatures')) + excluded: List[Dict[str, str]] = [] + + def should_include(tool: Dict[str, Any]) -> bool: + required_caps = tool.get('requiredCapabilities') + if isinstance(required_caps, list): + for capability in required_caps: + if isinstance(capability, str) and capability in features and not features[capability]: + excluded.append({'toolName': str(tool.get('toolName')), 'reason': 'missing-required-capability'}) + return False + + if not allow_mutating_tools and bool(tool.get('mutates')): + excluded.append({'toolName': str(tool.get('toolName')), 'reason': 'mutations-disabled'}) + return False + + category = str(tool.get('category', '')) + if include_categories and category not in include_categories: + excluded.append({'toolName': str(tool.get('toolName')), 'reason': 'category-not-included'}) + return False + + if category in exclude_categories: + excluded.append({'toolName': str(tool.get('toolName')), 'reason': 'phase-category-excluded'}) + return False + + return True + + candidates = [tool for tool in profile_tools if isinstance(tool, dict) and should_include(cast(Dict[str, Any], tool))] + + force_exclude = set(policy.get('forceExclude') or []) + filtered: List[Dict[str, Any]] = [] + for tool in candidates: + name = str(tool.get('toolName')) + if name in force_exclude: + excluded.append({'toolName': name, 'reason': 'force-excluded'}) + continue + filtered.append(tool) + + index_by_name = {str(tool.get('toolName')): tool for tool in profile_tools if isinstance(tool, dict)} + for forced_name in policy.get('forceInclude') or []: + forced = index_by_name.get(str(forced_name)) + if forced is None: + excluded.append({'toolName': str(forced_name), 'reason': 'not-in-profile'}) + continue + filtered.append(forced) + + deduped: Dict[str, Dict[str, Any]] = {} + for tool in filtered: + deduped[str(tool.get('toolName'))] = tool + candidates = list(deduped.values()) + + selected: List[Dict[str, Any]] = [] + foundational_ids = set(defaults.get('foundationalOperationIds', [])) + foundational = [tool for tool in candidates if str(tool.get('operationId')) in foundational_ids] + for tool in foundational: + if len(selected) >= min_read_tools or len(selected) >= max_tools: + break + selected.append(tool) + + remaining = [tool for tool in _priority_sort(candidates, phase_policy['priority']) if str(tool.get('toolName')) not in {str(item.get('toolName')) for item in selected}] + + for tool in remaining: + if len(selected) >= max_tools: + excluded.append({'toolName': str(tool.get('toolName')), 'reason': 'budget-trim'}) + continue + selected.append(tool) + + provider_bundle = _read_json_asset(PROVIDER_FILE[provider]) + provider_profiles = provider_bundle.get('profiles') if isinstance(provider_bundle.get('profiles'), dict) else {} + provider_tools = provider_profiles.get(profile) if isinstance(provider_profiles, dict) else [] + provider_index: Dict[str, Dict[str, Any]] = {} + for tool in provider_tools: + if not isinstance(tool, dict): + continue + name = _extract_provider_tool_name(tool) + if name is not None: + provider_index[name] = tool + + selected_provider_tools = [provider_index[name] for name in [str(tool.get('toolName')) for tool in selected] if name in provider_index] + + return { + 'tools': selected_provider_tools, + 'selected': [ + { + 'operationId': str(tool.get('operationId')), + 'toolName': str(tool.get('toolName')), + 'category': str(tool.get('category')), + 'mutates': bool(tool.get('mutates')), + 'profile': str(tool.get('profile')), + } + for tool in selected + ], + 'excluded': excluded, + 'selectionMeta': { + 'profile': profile, + 'phase': phase, + 'maxTools': max_tools, + 'minReadTools': min_read_tools, + 'selectedCount': len(selected), + 'decisionVersion': defaults.get('chooserDecisionVersion', 'v1'), + 'provider': provider, + }, + } + + +def _validate_dispatch_args(operation_id: str, args: Dict[str, Any]) -> None: + operation = OPERATION_INDEX.get(operation_id) + if not isinstance(operation, dict): + raise SuperDocError('Unknown operation id.', code='INVALID_ARGUMENT', details={'operationId': operation_id}) + + params = operation.get('params') + if not isinstance(params, list): + raise SuperDocError('Operation params are invalid.', code='INVALID_ARGUMENT', details={'operationId': operation_id}) + + # Unknown-param rejection + allowed = {param.get('name') for param in params if isinstance(param, dict) and isinstance(param.get('name'), str)} + for key in args.keys(): + if key not in allowed: + raise SuperDocError( + f'Unexpected parameter {key} for {operation_id}.', + code='INVALID_ARGUMENT', + details={'operationId': operation_id, 'param': key}, + ) + + # Required-param enforcement + for param in params: + if not isinstance(param, dict): + continue + name = param.get('name') + if not isinstance(name, str): + continue + if bool(param.get('required')) and args.get(name) is None: + raise SuperDocError( + f'Missing required parameter {name} for {operation_id}.', + code='INVALID_ARGUMENT', + details={'operationId': operation_id, 'param': name}, + ) + + # Constraint validation (CLI handles schema-level type validation authoritatively) + constraints = operation.get('constraints') if isinstance(operation.get('constraints'), dict) else None + if constraints is None: + return + + def _is_present(val: Any) -> bool: + if val is None: + return False + if isinstance(val, list): + return len(val) > 0 + return True + + mutually_exclusive = constraints.get('mutuallyExclusive') if isinstance(constraints.get('mutuallyExclusive'), list) else [] + requires_one_of = constraints.get('requiresOneOf') if isinstance(constraints.get('requiresOneOf'), list) else [] + required_when = constraints.get('requiredWhen') if isinstance(constraints.get('requiredWhen'), list) else [] + + for group in mutually_exclusive: + if not isinstance(group, list): + continue + present = [name for name in group if _is_present(args.get(name))] + if len(present) > 1: + raise SuperDocError( + f'Arguments are mutually exclusive for {operation_id}: {", ".join(group)}', + code='INVALID_ARGUMENT', + details={'operationId': operation_id, 'group': group}, + ) + + for group in requires_one_of: + if not isinstance(group, list): + continue + has_any = any(_is_present(args.get(name)) for name in group) + if not has_any: + raise SuperDocError( + f'One of the following arguments is required for {operation_id}: {", ".join(group)}', + code='INVALID_ARGUMENT', + details={'operationId': operation_id, 'group': group}, + ) + + for rule in required_when: + if not isinstance(rule, dict): + continue + when_param = rule.get('whenParam') + when_value = args.get(when_param) if isinstance(when_param, str) else None + should_require = False + if 'equals' in rule: + should_require = when_value == rule['equals'] + elif 'present' in rule: + if rule['present'] is True: + should_require = _is_present(when_value) + else: + should_require = not _is_present(when_value) + else: + should_require = _is_present(when_value) + + param_name = rule.get('param') + if should_require and isinstance(param_name, str) and not _is_present(args.get(param_name)): + raise SuperDocError( + f'Argument {param_name} is required by constraints for {operation_id}.', + code='INVALID_ARGUMENT', + details={'operationId': operation_id, 'rule': rule}, + ) + + +def _resolve_doc_method(client: Any, operation_id: str) -> Any: + doc = getattr(client, 'doc', None) + if doc is None: + raise SuperDocError('Client has no doc API.', code='TOOL_DISPATCH_NOT_FOUND', details={'operationId': operation_id}) + + cursor = doc + for token in operation_id.split('.')[1:]: + if not hasattr(cursor, token): + raise SuperDocError( + 'No SDK doc method found for operation.', + code='TOOL_DISPATCH_NOT_FOUND', + details={'operationId': operation_id, 'token': token}, + ) + cursor = getattr(cursor, token) + + if not callable(cursor): + raise SuperDocError( + 'Resolved SDK doc member is not callable.', + code='TOOL_DISPATCH_NOT_FOUND', + details={'operationId': operation_id}, + ) + + return cursor + + +def dispatch_superdoc_tool( + client: Any, + tool_name: str, + args: Optional[Dict[str, Any]] = None, + invoke_options: Optional[Dict[str, Any]] = None, +) -> Any: + operation_id = resolve_tool_operation(tool_name) + if operation_id is None: + raise SuperDocError('Unknown SuperDoc tool.', code='TOOL_NOT_FOUND', details={'toolName': tool_name}) + + payload = args or {} + if not isinstance(payload, dict): + raise SuperDocError('Tool arguments must be an object.', code='INVALID_ARGUMENT', details={'toolName': tool_name}) + + _validate_dispatch_args(operation_id, payload) + method = _resolve_doc_method(client, operation_id) + + if inspect.iscoroutinefunction(method): + raise SuperDocError( + 'dispatch_superdoc_tool cannot call async methods. Use dispatch_superdoc_tool_async.', + code='INVALID_ARGUMENT', + details={'toolName': tool_name, 'operationId': operation_id}, + ) + + kwargs = dict(invoke_options or {}) + return method(payload, **kwargs) + + +async def dispatch_superdoc_tool_async( + client: Any, + tool_name: str, + args: Optional[Dict[str, Any]] = None, + invoke_options: Optional[Dict[str, Any]] = None, +) -> Any: + operation_id = resolve_tool_operation(tool_name) + if operation_id is None: + raise SuperDocError('Unknown SuperDoc tool.', code='TOOL_NOT_FOUND', details={'toolName': tool_name}) + + payload = args or {} + if not isinstance(payload, dict): + raise SuperDocError('Tool arguments must be an object.', code='INVALID_ARGUMENT', details={'toolName': tool_name}) + + _validate_dispatch_args(operation_id, payload) + method = _resolve_doc_method(client, operation_id) + kwargs = dict(invoke_options or {}) + + result = method(payload, **kwargs) + if inspect.isawaitable(result): + return await result + + return result diff --git a/packages/sdk/langs/python/superdoc_sdk.egg-info/PKG-INFO b/packages/sdk/langs/python/superdoc_sdk.egg-info/PKG-INFO new file mode 100644 index 0000000000..b82210040a --- /dev/null +++ b/packages/sdk/langs/python/superdoc_sdk.egg-info/PKG-INFO @@ -0,0 +1,7 @@ +Metadata-Version: 2.4 +Name: superdoc-sdk +Version: 1.0.0a4 +Summary: SuperDoc SDK (CLI-backed) +Author: SuperDoc +License-Expression: AGPL-3.0 +Requires-Python: >=3.9 diff --git a/packages/sdk/langs/python/superdoc_sdk.egg-info/SOURCES.txt b/packages/sdk/langs/python/superdoc_sdk.egg-info/SOURCES.txt new file mode 100644 index 0000000000..d854f528f5 --- /dev/null +++ b/packages/sdk/langs/python/superdoc_sdk.egg-info/SOURCES.txt @@ -0,0 +1,26 @@ +pyproject.toml +superdoc/__init__.py +superdoc/embedded_cli.py +superdoc/errors.py +superdoc/runtime.py +superdoc/skill_api.py +superdoc/test_parity_helper.py +superdoc/tools_api.py +superdoc/_vendor/__init__.py +superdoc/_vendor/cli/__init__.py +superdoc/generated/__init__.py +superdoc/generated/client.py +superdoc/generated/contract.py +superdoc/skills/__init__.py +superdoc/skills/editing-docx.md +superdoc/tools/catalog.json +superdoc/tools/tool-name-map.json +superdoc/tools/tools-policy.json +superdoc/tools/tools.anthropic.json +superdoc/tools/tools.generic.json +superdoc/tools/tools.openai.json +superdoc/tools/tools.vercel.json +superdoc_sdk.egg-info/PKG-INFO +superdoc_sdk.egg-info/SOURCES.txt +superdoc_sdk.egg-info/dependency_links.txt +superdoc_sdk.egg-info/top_level.txt \ No newline at end of file diff --git a/packages/sdk/langs/python/superdoc_sdk.egg-info/dependency_links.txt b/packages/sdk/langs/python/superdoc_sdk.egg-info/dependency_links.txt new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/packages/sdk/langs/python/superdoc_sdk.egg-info/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/packages/sdk/langs/python/superdoc_sdk.egg-info/top_level.txt b/packages/sdk/langs/python/superdoc_sdk.egg-info/top_level.txt new file mode 100644 index 0000000000..9c5371f4dd --- /dev/null +++ b/packages/sdk/langs/python/superdoc_sdk.egg-info/top_level.txt @@ -0,0 +1 @@ +superdoc diff --git a/packages/sdk/package.json b/packages/sdk/package.json new file mode 100644 index 0000000000..ccadfb4a99 --- /dev/null +++ b/packages/sdk/package.json @@ -0,0 +1,16 @@ +{ + "name": "@superdoc-dev/sdk-workspace", + "version": "1.0.0-alpha.5", + "private": true, + "type": "module", + "scripts": { + "version:sync": "node scripts/sync-sdk-version.mjs", + "version:set": "node scripts/sync-sdk-version.mjs --set", + "generate": "node scripts/sdk-generate.mjs", + "validate": "node scripts/sdk-validate.mjs", + "build:node": "pnpm --prefix langs/node run build", + "prepare": "pnpm run version:sync && pnpm run generate && pnpm run validate && pnpm run build:node", + "release": "node scripts/sdk-release.mjs", + "release:dry": "node scripts/sdk-release.mjs --dry-run" + } +} diff --git a/packages/sdk/scripts/sdk-generate.mjs b/packages/sdk/scripts/sdk-generate.mjs new file mode 100644 index 0000000000..db2fe6f04d --- /dev/null +++ b/packages/sdk/scripts/sdk-generate.mjs @@ -0,0 +1,172 @@ +#!/usr/bin/env node + +/** + * SDK generation pipeline. + * + * Normal mode: + * 1. Run cli:export-sdk-contract (writes sdk-contract.json) + * 2. Run codegen generate-all.mjs (writes generated client + tool catalog files) + * + * Check mode (--check): + * 1. Run cli:export-sdk-contract --check + * 2. Re-generate to a temp directory and byte-compare with checked-in artifacts + * 3. Exit 0 only if all artifacts are current + */ + +import { execFile } from 'node:child_process'; +import { readFile, readdir, mkdtemp, rm } from 'node:fs/promises'; +import os from 'node:os'; +import path from 'node:path'; +import { promisify } from 'node:util'; +import { fileURLToPath } from 'node:url'; + +const execFileAsync = promisify(execFile); + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const REPO_ROOT = path.resolve(__dirname, '../../../'); +const checkMode = process.argv.includes('--check'); + +async function run(command, args, { cwd = REPO_ROOT } = {}) { + console.log(` > ${command} ${args.join(' ')}`); + const { stdout, stderr } = await execFileAsync(command, args, { cwd, env: process.env }); + if (stdout.trim()) console.log(stdout.trim()); + if (stderr.trim()) console.error(stderr.trim()); +} + +/** + * Recursively collect all files under `dir`, returning paths relative to `dir`. + */ +async function collectFiles(dir) { + const entries = await readdir(dir, { withFileTypes: true }); + const files = []; + for (const entry of entries) { + const full = path.join(dir, entry.name); + if (entry.isDirectory()) { + for (const nested of await collectFiles(full)) { + files.push(path.join(entry.name, nested)); + } + } else { + files.push(entry.name); + } + } + return files.sort(); +} + +/** + * Compare generated artifacts against checked-in versions. + * Returns an array of mismatched relative paths. + */ +async function diffGeneratedArtifacts(tempRoot) { + const drifted = []; + + // Artifact groups: [tempSubDir, repoSubDir] + const artifactDirs = [ + [path.join(tempRoot, 'node-generated'), path.join(REPO_ROOT, 'packages/sdk/langs/node/src/generated')], + [path.join(tempRoot, 'python-generated'), path.join(REPO_ROOT, 'packages/sdk/langs/python/superdoc/generated')], + [path.join(tempRoot, 'tools'), path.join(REPO_ROOT, 'packages/sdk/tools')], + ]; + + for (const [tempDir, repoDir] of artifactDirs) { + let tempFiles = []; + let repoFiles = []; + try { + tempFiles = await collectFiles(tempDir); + } catch { + // temp dir may not exist for some groups + } + try { + repoFiles = await collectFiles(repoDir); + } catch { + // repo dir may not exist + } + + // Forward check: every generated file must match repo + for (const relPath of tempFiles) { + // Skip __init__.py and other non-generated files + if (relPath === '__init__.py') continue; + + const tempFile = path.join(tempDir, relPath); + const repoFile = path.join(repoDir, relPath); + + let tempContent, repoContent; + try { + [tempContent, repoContent] = await Promise.all([ + readFile(tempFile, 'utf8'), + readFile(repoFile, 'utf8'), + ]); + } catch { + drifted.push(relPath); + continue; + } + + if (tempContent !== repoContent) { + drifted.push(relPath); + } + } + + // Reverse check: repo files absent from generated output are stale + const tempFileSet = new Set(tempFiles); + for (const relPath of repoFiles) { + if (relPath === '__init__.py') continue; + if (!tempFileSet.has(relPath)) { + drifted.push(`${relPath} (stale — no longer generated)`); + } + } + } + + return drifted; +} + +async function main() { + if (checkMode) { + console.log('SDK generate --check: verifying generated artifacts are current...'); + + // Step 1: Verify CLI contract is current + await run('bun', [ + path.join(REPO_ROOT, 'apps/cli/scripts/export-sdk-contract.ts'), + '--check', + ]); + + // Step 2: Re-generate to temp dir and byte-compare + const tempDir = await mkdtemp(path.join(os.tmpdir(), 'sdk-check-')); + try { + // Set env to redirect codegen output to temp dir + const env = { + ...process.env, + SDK_CODEGEN_OUTPUT_ROOT: tempDir, + }; + await execFileAsync('node', [ + path.join(REPO_ROOT, 'packages/sdk/codegen/src/generate-all.mjs'), + ], { cwd: REPO_ROOT, env }); + + const drifted = await diffGeneratedArtifacts(tempDir); + if (drifted.length > 0) { + throw new Error(`Generated artifacts are stale:\n ${drifted.join('\n ')}\n\n Run 'pnpm sdk:generate' to update.`); + } + } finally { + await rm(tempDir, { recursive: true, force: true }); + } + + console.log('SDK generate --check passed.'); + } else { + console.log('SDK generate: producing generated artifacts...'); + + // Step 1: Export CLI contract + await run('bun', [ + path.join(REPO_ROOT, 'apps/cli/scripts/export-sdk-contract.ts'), + ]); + + // Step 2: Run codegen + await run('node', [ + path.join(REPO_ROOT, 'packages/sdk/codegen/src/generate-all.mjs'), + ]); + + console.log('SDK generate complete.'); + } +} + +main().catch((error) => { + console.error(error.message ?? error); + process.exitCode = 1; +}); diff --git a/packages/sdk/scripts/sdk-release.mjs b/packages/sdk/scripts/sdk-release.mjs new file mode 100644 index 0000000000..8a4561021f --- /dev/null +++ b/packages/sdk/scripts/sdk-release.mjs @@ -0,0 +1,164 @@ +#!/usr/bin/env node + +import { execFile } from 'node:child_process'; +import { mkdir, rm, cp, unlink, symlink, lstat } from 'node:fs/promises'; +import path from 'node:path'; +import { promisify } from 'node:util'; +import { fileURLToPath } from 'node:url'; + +const execFileAsync = promisify(execFile); + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const REPO_ROOT = path.resolve(__dirname, '../../../'); +const NODE_SDK_DIR = path.join(REPO_ROOT, 'packages/sdk/langs/node'); +const PYTHON_SDK_DIR = path.join(REPO_ROOT, 'packages/sdk/langs/python'); +const TOOLS_SOURCE = path.join(REPO_ROOT, 'packages/sdk/tools'); +const NPM_CACHE_DIR = path.join(REPO_ROOT, '.cache', 'npm'); + +const argv = process.argv.slice(2); +const dryRun = argv.includes('--dry-run'); + +function parseArgValue(name) { + const index = argv.indexOf(name); + if (index === -1) return null; + const value = argv[index + 1]; + if (!value || value.startsWith('-')) { + throw new Error(`Missing value for ${name}`); + } + return value; +} + +async function run(command, args, { cwd = REPO_ROOT, env = {} } = {}) { + console.log(` > ${command} ${args.join(' ')}`); + const { stdout, stderr } = await execFileAsync(command, args, { + cwd, + env: { ...process.env, ...env }, + }); + if (stdout.trim()) console.log(stdout.trim()); + if (stderr.trim()) console.error(stderr.trim()); +} + +/** + * Replace a symlink with a real copy of the tools directory for packaging, + * then restore the symlink when done. + */ +async function withMaterializedTools(symlinkPath, relativeTarget, fn) { + let wasSymlink = false; + try { + const stat = await lstat(symlinkPath); + wasSymlink = stat.isSymbolicLink(); + } catch { + // path doesn't exist — nothing to restore + } + + if (wasSymlink) { + await rm(symlinkPath, { recursive: true, force: true }); + } + await cp(TOOLS_SOURCE, symlinkPath, { recursive: true }); + // Remove Python-only __init__.py from Node copies + try { await rm(path.join(symlinkPath, '__init__.py'), { force: true }); } catch { /* noop */ } + + try { + await fn(); + } finally { + if (wasSymlink) { + await rm(symlinkPath, { recursive: true, force: true }); + await symlink(relativeTarget, symlinkPath); + } + } +} + +async function main() { + const distTag = parseArgValue('--tag') ?? process.env.RELEASE_DIST_TAG ?? 'latest'; + + if (!dryRun) { + const npmToken = process.env.NODE_AUTH_TOKEN ?? process.env.NPM_TOKEN; + if (!npmToken) { + throw new Error('Missing npm auth token. Set NODE_AUTH_TOKEN or NPM_TOKEN before sdk:release.'); + } + } + + console.log(`SDK release pipeline${dryRun ? ' (dry-run)' : ''}...`); + + // Shared steps + await run('node', [path.join(REPO_ROOT, 'packages/sdk/scripts/sync-sdk-version.mjs')]); + await run('node', [path.join(REPO_ROOT, 'packages/sdk/scripts/sdk-generate.mjs')]); + await run('node', [path.join(REPO_ROOT, 'packages/sdk/scripts/sdk-validate.mjs')]); + + // --- Node SDK --- + console.log('\n--- Node SDK ---'); + await run('pnpm', ['run', 'build'], { cwd: NODE_SDK_DIR }); + + await mkdir(NPM_CACHE_DIR, { recursive: true }); + + const publishArgs = [ + 'publish', + '--access', + 'public', + '--tag', + distTag, + '--no-git-checks', + ]; + if (dryRun) publishArgs.push('--dry-run'); + + await run('pnpm', publishArgs, { + cwd: NODE_SDK_DIR, + env: { + npm_config_cache: NPM_CACHE_DIR, + NODE_AUTH_TOKEN: process.env.NODE_AUTH_TOKEN ?? process.env.NPM_TOKEN ?? '', + }, + }); + + // --- Python SDK --- + // TODO: Remove this guard when PyPI publishing is ready. + if (true) { + console.log('\n--- Python SDK (skipped — not yet published to PyPI) ---'); + } else { + console.log('\n--- Python SDK ---'); + const pythonToolsSymlink = path.join(PYTHON_SDK_DIR, 'superdoc', 'tools'); + + await withMaterializedTools(pythonToolsSymlink, '../../../tools', async () => { + // Clean previous build artifacts + await rm(path.join(PYTHON_SDK_DIR, 'dist'), { recursive: true, force: true }); + await rm(path.join(PYTHON_SDK_DIR, 'build'), { recursive: true, force: true }); + + // Build sdist + wheel + await run('python3', ['-m', 'build'], { cwd: PYTHON_SDK_DIR }); + + if (dryRun) { + console.log(' (dry-run) Would publish Python wheel via twine.'); + try { + await run('python3', ['-m', 'twine', 'check', 'dist/*'], { cwd: PYTHON_SDK_DIR }); + } catch { + console.log(' (dry-run) twine not available — skipping dist check.'); + } + } else { + const pypiToken = process.env.PYPI_TOKEN ?? process.env.TWINE_PASSWORD; + if (!pypiToken) { + throw new Error('Missing PyPI auth token. Set PYPI_TOKEN or TWINE_PASSWORD before sdk:release.'); + } + await run('python3', ['-m', 'twine', 'upload', 'dist/*'], { + cwd: PYTHON_SDK_DIR, + env: { + TWINE_USERNAME: '__token__', + TWINE_PASSWORD: pypiToken, + }, + }); + } + + // Clean build artifacts + await rm(path.join(PYTHON_SDK_DIR, 'dist'), { recursive: true, force: true }); + await rm(path.join(PYTHON_SDK_DIR, 'build'), { recursive: true, force: true }); + await rm(path.join(PYTHON_SDK_DIR, 'superdoc_sdk.egg-info'), { recursive: true, force: true }); + try { await rm(path.join(PYTHON_SDK_DIR, 'setup.py'), { force: true }); } catch { /* noop */ } + }); + } // end skip-python guard + + console.log(`\nSDK release${dryRun ? ' dry-run' : ''} complete.`); +} + +main().catch((error) => { + console.error(error.message ?? error); + process.exitCode = 1; +}); diff --git a/packages/sdk/scripts/sdk-validate.mjs b/packages/sdk/scripts/sdk-validate.mjs new file mode 100644 index 0000000000..44dda84315 --- /dev/null +++ b/packages/sdk/scripts/sdk-validate.mjs @@ -0,0 +1,293 @@ +#!/usr/bin/env node + +/** + * SDK validation pipeline. + * + * Checks: + * 1. CLI export contract is current (--check) + * 2. Contract JSON loads and has required structure + * 3. All operations have outputSchema + * 4. Node SDK typechecks (tsc --noEmit) + * 5. Python SDK imports successfully + * 6. Tool catalog operation count matches contract + * 7. Tool name map covers all operations + * 8. Provider bundles are consistent + * 9. Node/Python parity — both generated clients expose same operations + * 10. Catalog input schemas present and required params match contract + * 11. Skill files only reference existing operations (fails on unknown refs) + * 12. Provider tool name extraction smoke test + * 13. Node npm pack includes required tools/*.json assets + * 14. SDK test suite passes (contract-integrity + cross-lang parity) + */ + +import { execFile } from 'node:child_process'; +import { readFile, readdir } from 'node:fs/promises'; +import path from 'node:path'; +import { promisify } from 'node:util'; +import { fileURLToPath } from 'node:url'; + +const execFileAsync = promisify(execFile); + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const REPO_ROOT = path.resolve(__dirname, '../../../'); + +let failures = 0; +let passes = 0; + +async function check(name, fn) { + try { + await fn(); + passes += 1; + console.log(` ✓ ${name}`); + } catch (error) { + failures += 1; + console.error(` ✗ ${name}`); + console.error(` ${error.message ?? error}`); + } +} + +async function run(command, args, { cwd = REPO_ROOT } = {}) { + const { stdout } = await execFileAsync(command, args, { cwd, env: process.env }); + return stdout.trim(); +} + +async function readJson(filePath) { + return JSON.parse(await readFile(filePath, 'utf8')); +} + +async function main() { + console.log('SDK validation...\n'); + + // 1. Contract freshness + await check('CLI export contract is current', async () => { + await run('bun', [ + path.join(REPO_ROOT, 'apps/cli/scripts/export-sdk-contract.ts'), + '--check', + ]); + }); + + // 2. Load contract and verify structure + const contractPath = path.join(REPO_ROOT, 'apps/cli/generated/sdk-contract.json'); + let contract; + await check('Contract JSON loads and has operations', async () => { + contract = await readJson(contractPath); + const opCount = Object.keys(contract.operations).length; + if (opCount === 0) throw new Error('Contract has zero operations'); + if (!contract.contractVersion) throw new Error('Missing contractVersion'); + if (!contract.cli) throw new Error('Missing cli metadata'); + if (!contract.protocol) throw new Error('Missing protocol metadata'); + }); + + // 3. All operations have outputSchema + await check('All operations have outputSchema', async () => { + for (const [id, op] of Object.entries(contract.operations)) { + if (!op.outputSchema) throw new Error(`${id} missing outputSchema`); + } + }); + + // 4. Node SDK typecheck + await check('Node SDK typechecks (tsc --noEmit)', async () => { + await run('npx', ['tsc', '--noEmit'], { + cwd: path.join(REPO_ROOT, 'packages/sdk/langs/node'), + }); + }); + + // 5. Python SDK imports + await check('Python SDK imports successfully', async () => { + await run('python3', [ + '-c', + 'from superdoc import SuperDocClient, AsyncSuperDocClient, SuperDocError, get_tool_catalog, list_tools, resolve_tool_operation, choose_tools, dispatch_superdoc_tool, dispatch_superdoc_tool_async, infer_document_features', + ], { + cwd: path.join(REPO_ROOT, 'packages/sdk/langs/python'), + }); + }); + + // 6. Tool catalog integrity + await check('Tool catalog operation count matches contract', async () => { + const catalog = await readJson(path.join(REPO_ROOT, 'packages/sdk/tools/catalog.json')); + const contractOpCount = Object.keys(contract.operations).length; + const intentToolCount = catalog.profiles.intent.tools.length; + const operationToolCount = catalog.profiles.operation.tools.length; + + if (intentToolCount !== contractOpCount) { + throw new Error(`Intent tools (${intentToolCount}) != contract ops (${contractOpCount})`); + } + if (operationToolCount !== contractOpCount) { + throw new Error(`Operation tools (${operationToolCount}) != contract ops (${contractOpCount})`); + } + }); + + // 7. Tool name map covers all operations + await check('Tool name map covers all operations', async () => { + const nameMap = await readJson(path.join(REPO_ROOT, 'packages/sdk/tools/tool-name-map.json')); + const contractOps = new Set(Object.keys(contract.operations)); + const mappedOps = new Set(Object.values(nameMap)); + + for (const opId of contractOps) { + if (!mappedOps.has(opId)) { + throw new Error(`Operation ${opId} not covered by any tool name`); + } + } + }); + + // 8. Provider bundles exist and have correct profile counts + await check('Provider bundles are consistent', async () => { + const providers = ['openai', 'anthropic', 'vercel', 'generic']; + const contractOpCount = Object.keys(contract.operations).length; + + for (const provider of providers) { + const bundle = await readJson(path.join(REPO_ROOT, `packages/sdk/tools/tools.${provider}.json`)); + if (!bundle.profiles) throw new Error(`${provider} bundle missing profiles`); + if (!Array.isArray(bundle.profiles.intent)) throw new Error(`${provider} bundle missing intent tools`); + if (!Array.isArray(bundle.profiles.operation)) throw new Error(`${provider} bundle missing operation tools`); + if (bundle.profiles.intent.length !== contractOpCount) { + throw new Error(`${provider} intent tool count mismatch`); + } + if (bundle.profiles.operation.length !== contractOpCount) { + throw new Error(`${provider} operation tool count mismatch`); + } + } + }); + + // 9. Node/Python parity — generated clients expose same operations + await check('Node/Python generated clients have matching operation counts', async () => { + const nodeContract = await readFile( + path.join(REPO_ROOT, 'packages/sdk/langs/node/src/generated/contract.ts'), + 'utf8', + ); + const pythonContract = await readFile( + path.join(REPO_ROOT, 'packages/sdk/langs/python/superdoc/generated/contract.py'), + 'utf8', + ); + + // Count operation IDs in each generated contract. + // Node: pretty-printed JSON → "operationId": "doc.find" + // Python: escaped JSON string → \"operationId\":\"doc.find\" + const nodeOps = (nodeContract.match(/"operationId":\s*"doc\.[^"]+"/g) ?? []).length; + const pythonOps = (pythonContract.match(/\\"operationId\\":\\"doc\.[^\\]+\\"/g) ?? []).length; + + if (nodeOps === 0) throw new Error('Node contract has zero operation references'); + if (pythonOps === 0) throw new Error('Python contract has zero operation references'); + if (nodeOps !== pythonOps) { + throw new Error(`Node (${nodeOps}) and Python (${pythonOps}) operation counts differ`); + } + }); + + // 10. All catalog tools have input schemas and required params match contract + await check('Catalog input schemas present and required params match contract', async () => { + const catalog = await readJson(path.join(REPO_ROOT, 'packages/sdk/tools/catalog.json')); + + for (const profileKey of ['intent', 'operation']) { + for (const tool of catalog.profiles[profileKey].tools) { + if (!tool.inputSchema || typeof tool.inputSchema !== 'object') { + throw new Error(`${tool.operationId} (${profileKey}) missing inputSchema`); + } + + // Verify required params from contract appear as required in inputSchema + const contractOp = contract.operations[tool.operationId]; + if (!contractOp) continue; + + const contractRequired = (contractOp.params ?? []) + .filter((p) => p.required === true) + .map((p) => p.name) + // Exclude transport-envelope params that are intentionally omitted from tool schemas + .filter((name) => !['out', 'json', 'expectedRevision', 'changeMode', 'dryRun'].includes(name)); + + const schemaRequired = new Set(tool.inputSchema.required ?? []); + for (const name of contractRequired) { + // Only check if the param is in the schema properties (some params are omitted by design) + if (tool.inputSchema.properties && name in tool.inputSchema.properties && !schemaRequired.has(name)) { + throw new Error( + `${tool.operationId} (${profileKey}): param "${name}" is required in contract but not in inputSchema`, + ); + } + } + } + } + }); + + // 11. Skill files only reference existing operations + await check('Skill files reference valid operations', async () => { + const skillDirs = [ + path.join(REPO_ROOT, 'packages/sdk/langs/node/skills'), + path.join(REPO_ROOT, 'packages/sdk/langs/python/superdoc/skills'), + ]; + const validOps = new Set(Object.keys(contract.operations)); + const unknownRefs = []; + + for (const dir of skillDirs) { + let files; + try { + files = await readdir(dir); + } catch { + continue; + } + for (const file of files) { + if (!file.endsWith('.md')) continue; + const content = await readFile(path.join(dir, file), 'utf8'); + // Match operation-style references: doc.something.something + const opRefs = content.match(/\bdoc\.\w+(?:\.\w+)*/g) ?? []; + for (const ref of opRefs) { + if (validOps.has(ref)) continue; + // Must have at least one dot beyond doc. to look like an operation + if (ref.split('.').length < 2) continue; + // Allow namespace prefixes (e.g., doc.format is a prefix of doc.format.bold) + const isNamespacePrefix = [...validOps].some((op) => op.startsWith(ref + '.')); + if (isNamespacePrefix) continue; + unknownRefs.push(`${path.basename(dir)}/${file}: ${ref}`); + } + } + } + + if (unknownRefs.length > 0) { + throw new Error(`Skill files reference unknown operations:\n ${unknownRefs.join('\n ')}`); + } + }); + + // 12. Provider tool name extraction smoke test + await check('OpenAI/Vercel tools have extractable names', async () => { + const openaiBundle = await readJson(path.join(REPO_ROOT, 'packages/sdk/tools/tools.openai.json')); + const nameMap = await readJson(path.join(REPO_ROOT, 'packages/sdk/tools/tool-name-map.json')); + + for (const tool of openaiBundle.profiles.intent) { + const name = tool?.function?.name ?? tool?.name; + if (typeof name !== 'string' || !name) { + throw new Error('OpenAI intent tool missing extractable name'); + } + if (!(name in nameMap)) { + throw new Error(`OpenAI tool name "${name}" not in tool-name-map`); + } + } + }); + + // 13. Node package tarball includes required tools/*.json assets + await check('Node npm pack includes tools/*.json assets', async () => { + const npmCacheDir = path.join(REPO_ROOT, '.cache', 'npm'); + const { stdout } = await execFileAsync('npm', ['pack', '--dry-run', '--json'], { + cwd: path.join(REPO_ROOT, 'packages/sdk/langs/node'), + env: { ...process.env, npm_config_cache: npmCacheDir }, + }); + const packOutput = JSON.parse(stdout); + const files = (packOutput[0]?.files ?? []).map((f) => f.path); + + const requiredTools = ['catalog.json', 'tool-name-map.json', 'tools.openai.json', 'tools.anthropic.json', 'tools.vercel.json', 'tools.generic.json']; + const missing = requiredTools.filter((name) => !files.some((f) => f === `tools/${name}`)); + if (missing.length > 0) { + throw new Error(`Node tarball missing tools: ${missing.join(', ')}. Check symlinks and prepack script.`); + } + }); + + // 14. Run SDK test suite (contract-integrity + cross-lang parity) + await check('SDK test suite passes (bun test)', async () => { + await run('bun', ['test', path.join(REPO_ROOT, 'packages/sdk/codegen/src/__tests__/')]); + }); + + console.log(`\n${passes} passed, ${failures} failed`); + if (failures > 0) process.exitCode = 1; +} + +main().catch((error) => { + console.error(error); + process.exitCode = 1; +}); diff --git a/packages/sdk/scripts/sync-sdk-version.mjs b/packages/sdk/scripts/sync-sdk-version.mjs new file mode 100644 index 0000000000..b4a6baea26 --- /dev/null +++ b/packages/sdk/scripts/sync-sdk-version.mjs @@ -0,0 +1,137 @@ +#!/usr/bin/env node + +import { readFile, writeFile } from 'node:fs/promises'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const REPO_ROOT = path.resolve(__dirname, '../../../'); + +const SDK_WORKSPACE_PACKAGE = path.join(REPO_ROOT, 'packages/sdk/package.json'); +const NODE_PACKAGE = path.join(REPO_ROOT, 'packages/sdk/langs/node/package.json'); +const PYPROJECT_FILE = path.join(REPO_ROOT, 'packages/sdk/langs/python/pyproject.toml'); +const LEGACY_VERSION_FILE = path.join(REPO_ROOT, 'packages/sdk/version.json'); + +const OPTIONAL_PLATFORM_PACKAGES = [ + '@superdoc-dev/sdk-darwin-arm64', + '@superdoc-dev/sdk-darwin-x64', + '@superdoc-dev/sdk-linux-arm64', + '@superdoc-dev/sdk-linux-x64', + '@superdoc-dev/sdk-windows-x64', +]; + +const SEMVER_RE = /^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/; + +function parseSetVersion(argv) { + const setIndex = argv.indexOf('--set'); + if (setIndex !== -1) { + const value = argv[setIndex + 1]; + if (!value || value.startsWith('-')) { + throw new Error('Missing value for --set'); + } + return value; + } + + if (argv.length === 1 && !argv[0].startsWith('-')) { + return argv[0]; + } + + return null; +} + +function assertSemver(version) { + if (!SEMVER_RE.test(version)) { + throw new Error(`Invalid semantic version: "${version}"`); + } +} + +async function readJson(filePath) { + return JSON.parse(await readFile(filePath, 'utf8')); +} + +async function writeJson(filePath, data) { + await writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, 'utf8'); +} + +function escapeRegExp(value) { + return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); +} + +async function syncNodePackage(version) { + const raw = await readFile(NODE_PACKAGE, 'utf8'); + const packageVersionRe = /("version"\s*:\s*")([^"]*)(")/; + if (!packageVersionRe.test(raw)) { + throw new Error(`Could not find version in ${NODE_PACKAGE}`); + } + + let next = raw.replace(packageVersionRe, `$1${version}$3`); + for (const packageName of OPTIONAL_PLATFORM_PACKAGES) { + const optionalDepRe = new RegExp(`("${escapeRegExp(packageName)}"\\s*:\\s*")([^"]*)(")`); + if (optionalDepRe.test(next)) { + next = next.replace(optionalDepRe, `$1${version}$3`); + } + } + + if (next !== raw) { + await writeFile(NODE_PACKAGE, next, 'utf8'); + } +} + +async function syncPythonPackage(version) { + const raw = await readFile(PYPROJECT_FILE, 'utf8'); + const versionLineRe = /^version\s*=\s*"[^"]*"/m; + if (!versionLineRe.test(raw)) { + throw new Error(`Could not find [project].version in ${PYPROJECT_FILE}`); + } + + const next = raw.replace(versionLineRe, `version = "${version}"`); + if (next !== raw) { + await writeFile(PYPROJECT_FILE, next, 'utf8'); + } +} + +async function syncLegacyVersionFile(version) { + try { + const versionState = await readJson(LEGACY_VERSION_FILE); + if (versionState.sdkVersion !== version) { + versionState.sdkVersion = version; + await writeJson(LEGACY_VERSION_FILE, versionState); + } + } catch { + // Legacy file is optional for compatibility with old tooling. + } +} + +async function main() { + const argv = process.argv.slice(2); + const requestedVersion = parseSetVersion(argv); + + const workspacePackage = await readJson(SDK_WORKSPACE_PACKAGE); + let version = workspacePackage.version; + + if (requestedVersion) { + assertSemver(requestedVersion); + version = requestedVersion; + if (workspacePackage.version !== version) { + workspacePackage.version = version; + await writeJson(SDK_WORKSPACE_PACKAGE, workspacePackage); + } + } + + if (typeof version !== 'string' || !version.trim()) { + throw new Error(`Missing "version" in ${SDK_WORKSPACE_PACKAGE}`); + } + assertSemver(version); + + await syncNodePackage(version); + await syncPythonPackage(version); + await syncLegacyVersionFile(version); + + console.log(`Synchronized SDK versions from packages/sdk/package.json -> ${version}`); +} + +main().catch((error) => { + console.error(error instanceof Error ? error.message : error); + process.exitCode = 1; +}); diff --git a/packages/sdk/tools/__init__.py b/packages/sdk/tools/__init__.py new file mode 100644 index 0000000000..930a8de1f0 --- /dev/null +++ b/packages/sdk/tools/__init__.py @@ -0,0 +1 @@ +# This file makes the tools directory a Python package for importlib.resources. diff --git a/packages/sdk/tools/catalog.json b/packages/sdk/tools/catalog.json new file mode 100644 index 0000000000..f499c79c70 --- /dev/null +++ b/packages/sdk/tools/catalog.json @@ -0,0 +1,17410 @@ +{ + "contractVersion": "0.1.0", + "generatedAt": null, + "namePolicyVersion": "v1", + "exposureVersion": "v1", + "toolCount": 94, + "profiles": { + "intent": { + "name": "intent", + "tools": [ + { + "operationId": "doc.find", + "toolName": "find_content", + "profile": "intent", + "source": "intent", + "description": "Search the document for nodes matching type, text, or attribute criteria.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "within": { + "oneOf": [ + { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "inline" + }, + "nodeType": { + "oneOf": [ + { + "const": "run" + }, + { + "const": "bookmark" + }, + { + "const": "comment" + }, + { + "const": "hyperlink" + }, + { + "const": "sdt" + }, + { + "const": "image" + }, + { + "const": "footnoteRef" + }, + { + "const": "tab" + }, + { + "const": "lineBreak" + } + ] + }, + "anchor": { + "type": "object", + "properties": { + "start": { + "type": "object", + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "number" + } + }, + "required": [ + "blockId", + "offset" + ] + }, + "end": { + "type": "object", + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "number" + } + }, + "required": [ + "blockId", + "offset" + ] + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ] + } + ] + }, + "limit": { + "type": "number" + }, + "offset": { + "type": "number" + }, + "includeNodes": { + "type": "boolean" + }, + "includeUnknown": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "nodeType": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "pattern": { + "type": "string" + }, + "mode": { + "type": "string" + }, + "caseSensitive": { + "type": "boolean" + }, + "query": {} + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "context": { + "items": { + "additionalProperties": false, + "properties": { + "address": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt" + ] + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "anchor": { + "additionalProperties": false, + "properties": { + "end": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + }, + "start": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "kind": { + "const": "inline" + }, + "nodeType": { + "enum": [ + "run", + "bookmark", + "comment", + "hyperlink", + "sdt", + "image", + "footnoteRef", + "tab", + "lineBreak" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ], + "type": "object" + } + ] + }, + "highlightRange": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "snippet": { + "type": "string" + }, + "textRanges": { + "items": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "address", + "snippet", + "highlightRange" + ], + "type": "object" + }, + "type": "array" + }, + "diagnostics": { + "items": { + "additionalProperties": false, + "properties": { + "address": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt" + ] + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "anchor": { + "additionalProperties": false, + "properties": { + "end": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + }, + "start": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "kind": { + "const": "inline" + }, + "nodeType": { + "enum": [ + "run", + "bookmark", + "comment", + "hyperlink", + "sdt", + "image", + "footnoteRef", + "tab", + "lineBreak" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ], + "type": "object" + } + ] + }, + "hint": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "type": "array" + }, + "matches": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt" + ] + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "anchor": { + "additionalProperties": false, + "properties": { + "end": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + }, + "start": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "kind": { + "const": "inline" + }, + "nodeType": { + "enum": [ + "run", + "bookmark", + "comment", + "hyperlink", + "sdt", + "image", + "footnoteRef", + "tab", + "lineBreak" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "nodes": { + "items": { + "additionalProperties": false, + "properties": { + "bodyNodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "bodyText": { + "type": "string" + }, + "kind": { + "enum": [ + "block", + "inline" + ] + }, + "nodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt", + "run", + "bookmark", + "comment", + "hyperlink", + "footnoteRef", + "tab", + "lineBreak" + ] + }, + "properties": { + "type": "object" + }, + "summary": { + "additionalProperties": false, + "properties": { + "label": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "nodeType", + "kind" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "matches", + "total" + ], + "type": "object" + }, + "mutates": false, + "category": "query", + "capabilities": [ + "search", + "session-targeting", + "stateless-doc" + ], + "constraints": { + "requiresOneOf": [ + [ + "type", + "query" + ] + ], + "mutuallyExclusive": [ + [ + "type", + "query" + ] + ] + }, + "errors": [], + "examples": [], + "commandTokens": [ + "find" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "find_content" + }, + { + "operationId": "doc.getNode", + "toolName": "get_node", + "profile": "intent", + "source": "intent", + "description": "Retrieve a single node by target position.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "address": {} + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "bodyNodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "bodyText": { + "type": "string" + }, + "kind": { + "enum": [ + "block", + "inline" + ] + }, + "nodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt", + "run", + "bookmark", + "comment", + "hyperlink", + "footnoteRef", + "tab", + "lineBreak" + ] + }, + "properties": { + "type": "object" + }, + "summary": { + "additionalProperties": false, + "properties": { + "label": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "nodeType", + "kind" + ], + "type": "object" + }, + "mutates": false, + "category": "query", + "capabilities": [ + "search", + "session-targeting", + "stateless-doc" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "get-node" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "get_node" + }, + { + "operationId": "doc.getNodeById", + "toolName": "get_node_by_id", + "profile": "intent", + "source": "intent", + "description": "Retrieve a single node by its unique ID.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + }, + "nodeType": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "bodyNodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "bodyText": { + "type": "string" + }, + "kind": { + "enum": [ + "block", + "inline" + ] + }, + "nodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt", + "run", + "bookmark", + "comment", + "hyperlink", + "footnoteRef", + "tab", + "lineBreak" + ] + }, + "properties": { + "type": "object" + }, + "summary": { + "additionalProperties": false, + "properties": { + "label": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "nodeType", + "kind" + ], + "type": "object" + }, + "mutates": false, + "category": "query", + "capabilities": [ + "search", + "session-targeting", + "stateless-doc" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "get-node-by-id" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "get_node_by_id" + }, + { + "operationId": "doc.info", + "toolName": "get_document_info", + "profile": "intent", + "source": "intent", + "description": "Return document metadata including revision, node count, and capabilities.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "capabilities": { + "additionalProperties": false, + "properties": { + "canComment": { + "type": "boolean" + }, + "canFind": { + "type": "boolean" + }, + "canGetNode": { + "type": "boolean" + }, + "canReplace": { + "type": "boolean" + } + }, + "required": [ + "canFind", + "canGetNode", + "canComment", + "canReplace" + ], + "type": "object" + }, + "counts": { + "additionalProperties": false, + "properties": { + "comments": { + "type": "integer" + }, + "headings": { + "type": "integer" + }, + "images": { + "type": "integer" + }, + "paragraphs": { + "type": "integer" + }, + "tables": { + "type": "integer" + }, + "words": { + "type": "integer" + } + }, + "required": [ + "words", + "paragraphs", + "headings", + "tables", + "images", + "comments" + ], + "type": "object" + }, + "outline": { + "items": { + "additionalProperties": false, + "properties": { + "level": { + "type": "integer" + }, + "nodeId": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "level", + "text", + "nodeId" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "counts", + "outline", + "capabilities" + ], + "type": "object" + }, + "mutates": false, + "category": "query", + "capabilities": [ + "search", + "session-targeting", + "stateless-doc" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "info" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "get_document_info" + }, + { + "operationId": "doc.insert", + "toolName": "insert_content", + "profile": "intent", + "source": "intent", + "description": "Insert text or inline content at a target position.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "mutates": true, + "category": "mutation", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "INVALID_TARGET", + "NO_OP" + ], + "examples": [], + "commandTokens": [ + "insert" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "insert_content" + }, + { + "operationId": "doc.replace", + "toolName": "replace_content", + "profile": "intent", + "source": "intent", + "description": "Replace content at a target position with new text or inline content.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "text" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "mutates": true, + "category": "mutation", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "INVALID_TARGET", + "NO_OP" + ], + "examples": [], + "commandTokens": [ + "replace" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "replace_content" + }, + { + "operationId": "doc.delete", + "toolName": "delete_content", + "profile": "intent", + "source": "intent", + "description": "Delete content at a target position.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "mutates": true, + "category": "mutation", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "NO_OP" + ], + "examples": [], + "commandTokens": [ + "delete" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "delete_content" + }, + { + "operationId": "doc.format.bold", + "toolName": "format_bold", + "profile": "intent", + "source": "intent", + "description": "Toggle bold formatting on the target range.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "mutates": true, + "category": "format", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "INVALID_TARGET" + ], + "examples": [], + "commandTokens": [ + "format", + "bold" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "format_bold" + }, + { + "operationId": "doc.format.italic", + "toolName": "format_italic", + "profile": "intent", + "source": "intent", + "description": "Toggle italic formatting on the target range.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "mutates": true, + "category": "format", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "INVALID_TARGET" + ], + "examples": [], + "commandTokens": [ + "format", + "italic" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "format_italic" + }, + { + "operationId": "doc.format.underline", + "toolName": "format_underline", + "profile": "intent", + "source": "intent", + "description": "Toggle underline formatting on the target range.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "mutates": true, + "category": "format", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "INVALID_TARGET" + ], + "examples": [], + "commandTokens": [ + "format", + "underline" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "format_underline" + }, + { + "operationId": "doc.format.strikethrough", + "toolName": "format_strikethrough", + "profile": "intent", + "source": "intent", + "description": "Toggle strikethrough formatting on the target range.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "mutates": true, + "category": "format", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "INVALID_TARGET" + ], + "examples": [], + "commandTokens": [ + "format", + "strikethrough" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "format_strikethrough" + }, + { + "operationId": "doc.create.paragraph", + "toolName": "create_paragraph", + "profile": "intent", + "source": "intent", + "description": "Create a new paragraph at the target position.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "at": { + "oneOf": [ + { + "type": "object", + "properties": { + "kind": { + "const": "documentStart" + } + }, + "required": [ + "kind" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "documentEnd" + } + }, + "required": [ + "kind" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "before" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "kind", + "target" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "after" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "kind", + "target" + ] + } + ] + }, + "text": { + "type": "string" + }, + "input": {} + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "insertionPoint": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "paragraph": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "paragraph" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + }, + "trackedChangeRefs": { + "items": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "success", + "paragraph", + "insertionPoint" + ], + "type": "object" + }, + "mutates": true, + "category": "create", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "structural-create", + "tracked-change-mode" + ], + "errors": [ + "INVALID_TARGET" + ], + "examples": [], + "commandTokens": [ + "create", + "paragraph" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "create_paragraph" + }, + { + "operationId": "doc.lists.list", + "toolName": "list_lists", + "profile": "intent", + "source": "intent", + "description": "List all list nodes in the document, optionally filtered by scope.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "within": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "limit": { + "type": "number" + }, + "offset": { + "type": "number" + }, + "kind": { + "type": "string" + }, + "level": { + "type": "number" + }, + "ordinal": { + "type": "number" + }, + "query": {} + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "items": { + "items": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "kind": { + "enum": [ + "ordered", + "bullet" + ] + }, + "level": { + "type": "integer" + }, + "marker": { + "type": "string" + }, + "ordinal": { + "type": "integer" + }, + "path": { + "items": { + "type": "integer" + }, + "type": "array" + }, + "text": { + "type": "string" + } + }, + "required": [ + "address" + ], + "type": "object" + }, + "type": "array" + }, + "matches": { + "items": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "matches", + "total", + "items" + ], + "type": "object" + }, + "mutates": false, + "category": "lists", + "capabilities": [ + "session-targeting", + "stateless-doc" + ], + "constraints": { + "mutuallyExclusive": [ + [ + "query", + "within" + ], + [ + "query", + "kind" + ], + [ + "query", + "level" + ], + [ + "query", + "ordinal" + ], + [ + "query", + "limit" + ], + [ + "query", + "offset" + ] + ] + }, + "errors": [], + "examples": [], + "commandTokens": [ + "lists", + "list" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasLists" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "list_lists" + }, + { + "operationId": "doc.lists.get", + "toolName": "get_list", + "profile": "intent", + "source": "intent", + "description": "Retrieve a specific list node by target.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "address": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "address" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "kind": { + "enum": [ + "ordered", + "bullet" + ] + }, + "level": { + "type": "integer" + }, + "marker": { + "type": "string" + }, + "ordinal": { + "type": "integer" + }, + "path": { + "items": { + "type": "integer" + }, + "type": "array" + }, + "text": { + "type": "string" + } + }, + "required": [ + "address" + ], + "type": "object" + }, + "mutates": false, + "category": "lists", + "capabilities": [ + "session-targeting", + "stateless-doc" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "lists", + "get" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasLists" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "get_list" + }, + { + "operationId": "doc.lists.insert", + "toolName": "insert_list", + "profile": "intent", + "source": "intent", + "description": "Insert a new list at the target position.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "position": { + "type": "string" + }, + "text": { + "type": "string" + }, + "input": {} + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "insertionPoint": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + }, + "trackedChangeRefs": { + "items": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "success", + "item", + "insertionPoint" + ], + "type": "object" + }, + "mutates": true, + "category": "lists", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "INVALID_TARGET" + ], + "examples": [], + "commandTokens": [ + "lists", + "insert" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasLists" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "insert_list" + }, + { + "operationId": "doc.lists.setType", + "toolName": "set_list_type", + "profile": "intent", + "source": "intent", + "description": "Change the list type (ordered, unordered) of a target list.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "kind": { + "type": "string" + }, + "input": {} + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + "mutates": true, + "category": "lists", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "NO_OP", + "INVALID_TARGET" + ], + "examples": [], + "commandTokens": [ + "lists", + "set-type" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasLists" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "set_list_type" + }, + { + "operationId": "doc.lists.indent", + "toolName": "indent_list", + "profile": "intent", + "source": "intent", + "description": "Increase the indentation level of a list item.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + "mutates": true, + "category": "lists", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "NO_OP", + "INVALID_TARGET" + ], + "examples": [], + "commandTokens": [ + "lists", + "indent" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasLists" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "indent_list" + }, + { + "operationId": "doc.lists.outdent", + "toolName": "outdent_list", + "profile": "intent", + "source": "intent", + "description": "Decrease the indentation level of a list item.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + "mutates": true, + "category": "lists", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "NO_OP", + "INVALID_TARGET" + ], + "examples": [], + "commandTokens": [ + "lists", + "outdent" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasLists" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "outdent_list" + }, + { + "operationId": "doc.lists.restart", + "toolName": "restart_list_numbering", + "profile": "intent", + "source": "intent", + "description": "Restart numbering of an ordered list at the target item.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + "mutates": true, + "category": "lists", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "NO_OP", + "INVALID_TARGET" + ], + "examples": [], + "commandTokens": [ + "lists", + "restart" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasLists" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "restart_list_numbering" + }, + { + "operationId": "doc.lists.exit", + "toolName": "exit_list", + "profile": "intent", + "source": "intent", + "description": "Exit a list context, converting the target item to a paragraph.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "paragraph": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "paragraph" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "paragraph" + ], + "type": "object" + }, + "mutates": true, + "category": "lists", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "INVALID_TARGET" + ], + "examples": [], + "commandTokens": [ + "lists", + "exit" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasLists" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "exit_list" + }, + { + "operationId": "doc.comments.add", + "toolName": "add_comment", + "profile": "intent", + "source": "intent", + "description": "Add a new comment thread anchored to a target range.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "text" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "INVALID_TARGET", + "NO_OP" + ], + "examples": [], + "commandTokens": [ + "comments", + "add" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasComments" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "add_comment" + }, + { + "operationId": "doc.comments.edit", + "toolName": "edit_comment", + "profile": "intent", + "source": "intent", + "description": "Edit the content of an existing comment.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "id", + "text" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "NO_OP" + ], + "examples": [], + "commandTokens": [ + "comments", + "edit" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasComments" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "edit_comment" + }, + { + "operationId": "doc.comments.reply", + "toolName": "reply_to_comment", + "profile": "intent", + "source": "intent", + "description": "Add a reply to an existing comment thread.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "parentId": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "parentId", + "text" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "INVALID_TARGET" + ], + "examples": [], + "commandTokens": [ + "comments", + "reply" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasComments" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "reply_to_comment" + }, + { + "operationId": "doc.comments.move", + "toolName": "move_comment", + "profile": "intent", + "source": "intent", + "description": "Move a comment thread to a new anchor range.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "id", + "target" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "INVALID_TARGET", + "NO_OP" + ], + "examples": [], + "commandTokens": [ + "comments", + "move" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasComments" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "move_comment" + }, + { + "operationId": "doc.comments.resolve", + "toolName": "resolve_comment", + "profile": "intent", + "source": "intent", + "description": "Resolve or unresolve a comment thread.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "NO_OP" + ], + "examples": [], + "commandTokens": [ + "comments", + "resolve" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasComments" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "resolve_comment" + }, + { + "operationId": "doc.comments.remove", + "toolName": "remove_comment", + "profile": "intent", + "source": "intent", + "description": "Remove a comment or reply by ID.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "NO_OP" + ], + "examples": [], + "commandTokens": [ + "comments", + "remove" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasComments" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "remove_comment" + }, + { + "operationId": "doc.comments.setInternal", + "toolName": "set_comment_internal", + "profile": "intent", + "source": "intent", + "description": "Toggle the internal (private) flag on a comment thread.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "isInternal": { + "type": "boolean" + } + }, + "required": [ + "id", + "isInternal" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "NO_OP", + "INVALID_TARGET" + ], + "examples": [], + "commandTokens": [ + "comments", + "set-internal" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasComments" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "set_comment_internal" + }, + { + "operationId": "doc.comments.setActive", + "toolName": "set_comment_active", + "profile": "intent", + "source": "intent", + "description": "Set the active (focused) comment thread for UI highlighting.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "commentId": { + "type": "json" + }, + "id": { + "type": "string" + }, + "clear": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "constraints": { + "requiresOneOf": [ + [ + "id", + "clear" + ] + ], + "mutuallyExclusive": [ + [ + "id", + "clear" + ] + ] + }, + "errors": [ + "INVALID_TARGET" + ], + "examples": [], + "commandTokens": [ + "comments", + "set-active" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasComments" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "set_comment_active" + }, + { + "operationId": "doc.comments.goTo", + "toolName": "go_to_comment", + "profile": "intent", + "source": "intent", + "description": "Scroll the viewport to a comment thread by ID.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "mutates": false, + "category": "comments", + "capabilities": [ + "comments", + "session-targeting", + "stateless-doc" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "comments", + "go-to" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasComments" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "go_to_comment" + }, + { + "operationId": "doc.comments.get", + "toolName": "get_comment", + "profile": "intent", + "source": "intent", + "description": "Retrieve a single comment thread by ID.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "commentId": { + "type": "string" + }, + "createdTime": { + "type": "number" + }, + "creatorEmail": { + "type": "string" + }, + "creatorName": { + "type": "string" + }, + "importedId": { + "type": "string" + }, + "isInternal": { + "type": "boolean" + }, + "parentCommentId": { + "type": "string" + }, + "status": { + "enum": [ + "open", + "resolved" + ] + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "address", + "commentId", + "status" + ], + "type": "object" + }, + "mutates": false, + "category": "comments", + "capabilities": [ + "comments", + "session-targeting", + "stateless-doc" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "comments", + "get" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasComments" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "get_comment" + }, + { + "operationId": "doc.comments.list", + "toolName": "list_comments", + "profile": "intent", + "source": "intent", + "description": "List all comment threads in the document.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "includeResolved": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "matches": { + "items": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "commentId": { + "type": "string" + }, + "createdTime": { + "type": "number" + }, + "creatorEmail": { + "type": "string" + }, + "creatorName": { + "type": "string" + }, + "importedId": { + "type": "string" + }, + "isInternal": { + "type": "boolean" + }, + "parentCommentId": { + "type": "string" + }, + "status": { + "enum": [ + "open", + "resolved" + ] + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "address", + "commentId", + "status" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "matches", + "total" + ], + "type": "object" + }, + "mutates": false, + "category": "comments", + "capabilities": [ + "comments", + "session-targeting", + "stateless-doc" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "comments", + "list" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasComments" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "list_comments" + }, + { + "operationId": "doc.trackChanges.list", + "toolName": "list_tracked_changes", + "profile": "intent", + "source": "intent", + "description": "List all tracked changes in the document.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "limit": { + "type": "number" + }, + "offset": { + "type": "number" + }, + "type": { + "type": "string" + } + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "changes": { + "items": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "author": { + "type": "string" + }, + "authorEmail": { + "type": "string" + }, + "authorImage": { + "type": "string" + }, + "date": { + "type": "string" + }, + "excerpt": { + "type": "string" + }, + "id": { + "type": "string" + }, + "type": { + "enum": [ + "insert", + "delete", + "format" + ] + } + }, + "required": [ + "address", + "id", + "type" + ], + "type": "object" + }, + "type": "array" + }, + "matches": { + "items": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "matches", + "total" + ], + "type": "object" + }, + "mutates": false, + "category": "trackChanges", + "capabilities": [ + "session-targeting", + "stateless-doc", + "track-changes" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "track-changes", + "list" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasTrackedChanges" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "list_tracked_changes" + }, + { + "operationId": "doc.trackChanges.get", + "toolName": "get_tracked_change", + "profile": "intent", + "source": "intent", + "description": "Retrieve a single tracked change by ID.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "author": { + "type": "string" + }, + "authorEmail": { + "type": "string" + }, + "authorImage": { + "type": "string" + }, + "date": { + "type": "string" + }, + "excerpt": { + "type": "string" + }, + "id": { + "type": "string" + }, + "type": { + "enum": [ + "insert", + "delete", + "format" + ] + } + }, + "required": [ + "address", + "id", + "type" + ], + "type": "object" + }, + "mutates": false, + "category": "trackChanges", + "capabilities": [ + "session-targeting", + "stateless-doc", + "track-changes" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "track-changes", + "get" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasTrackedChanges" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "get_tracked_change" + }, + { + "operationId": "doc.trackChanges.accept", + "toolName": "accept_tracked_change", + "profile": "intent", + "source": "intent", + "description": "Accept a tracked change, applying it permanently.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "mutates": true, + "category": "trackChanges", + "capabilities": [ + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "track-changes", + "tracked-change-mode" + ], + "errors": [ + "NO_OP" + ], + "examples": [], + "commandTokens": [ + "track-changes", + "accept" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasTrackedChanges" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "accept_tracked_change" + }, + { + "operationId": "doc.trackChanges.reject", + "toolName": "reject_tracked_change", + "profile": "intent", + "source": "intent", + "description": "Reject a tracked change, reverting it.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "mutates": true, + "category": "trackChanges", + "capabilities": [ + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "track-changes", + "tracked-change-mode" + ], + "errors": [ + "NO_OP" + ], + "examples": [], + "commandTokens": [ + "track-changes", + "reject" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasTrackedChanges" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "reject_tracked_change" + }, + { + "operationId": "doc.trackChanges.acceptAll", + "toolName": "accept_all_tracked_changes", + "profile": "intent", + "source": "intent", + "description": "Accept all tracked changes in the document.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "mutates": true, + "category": "trackChanges", + "capabilities": [ + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "track-changes", + "tracked-change-mode" + ], + "errors": [ + "NO_OP" + ], + "examples": [], + "commandTokens": [ + "track-changes", + "accept-all" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasTrackedChanges" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "accept_all_tracked_changes" + }, + { + "operationId": "doc.trackChanges.rejectAll", + "toolName": "reject_all_tracked_changes", + "profile": "intent", + "source": "intent", + "description": "Reject all tracked changes in the document.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "mutates": true, + "category": "trackChanges", + "capabilities": [ + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "track-changes", + "tracked-change-mode" + ], + "errors": [ + "NO_OP" + ], + "examples": [], + "commandTokens": [ + "track-changes", + "reject-all" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasTrackedChanges" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "reject_all_tracked_changes" + }, + { + "operationId": "doc.open", + "toolName": "open_document", + "profile": "intent", + "source": "intent", + "description": "Open a document and create a persistent editing session.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "collaboration": {}, + "collabDocumentId": { + "type": "string" + }, + "collabUrl": { + "type": "string" + } + }, + "required": [ + "doc" + ], + "additionalProperties": false + }, + "outputSchema": { + "type": "object", + "properties": { + "contextId": { + "type": "string" + }, + "sessionType": { + "type": "string" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + }, + "revision": { + "type": "number" + } + } + }, + "collaboration": { + "type": "object", + "properties": { + "documentId": { + "type": "string" + }, + "url": { + "type": "string" + } + } + } + }, + "required": [ + "contextId", + "sessionType" + ] + }, + "mutates": false, + "category": "lifecycle", + "capabilities": [ + "session-targeting", + "stateless-doc" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "open" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "open_document" + }, + { + "operationId": "doc.save", + "toolName": "save_document", + "profile": "intent", + "source": "intent", + "description": "Save the current session to the original file or a new path.", + "inputSchema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "outputSchema": { + "type": "object", + "properties": { + "contextId": { + "type": "string" + }, + "saved": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + }, + "revision": { + "type": "number" + } + } + }, + "context": { + "type": "object", + "properties": { + "dirty": { + "type": "boolean" + }, + "revision": { + "type": "number" + }, + "lastSavedAt": { + "type": "string" + } + } + }, + "output": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "byteLength": { + "type": "number" + } + } + } + }, + "required": [ + "contextId", + "saved" + ] + }, + "mutates": true, + "category": "lifecycle", + "capabilities": [ + "output-path", + "session-targeting" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "save" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "save_document" + }, + { + "operationId": "doc.close", + "toolName": "close_document", + "profile": "intent", + "source": "intent", + "description": "Close the active editing session and clean up resources.", + "inputSchema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "discard": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "outputSchema": { + "type": "object", + "properties": { + "contextId": { + "type": "string" + }, + "closed": { + "type": "boolean" + }, + "saved": { + "type": "boolean" + }, + "discarded": { + "type": "boolean" + }, + "defaultSessionCleared": { + "type": "boolean" + }, + "wasDirty": { + "type": "boolean" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + }, + "revision": { + "type": "number" + } + } + } + }, + "required": [ + "contextId", + "closed" + ] + }, + "mutates": false, + "category": "lifecycle", + "capabilities": [ + "session-targeting" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "close" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "close_document" + }, + { + "operationId": "doc.status", + "toolName": "get_status", + "profile": "intent", + "source": "intent", + "description": "Show the current session status and document metadata.", + "inputSchema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "outputSchema": { + "type": "object", + "properties": { + "contextId": { + "type": "string" + }, + "sessionType": { + "type": "string" + }, + "dirty": { + "type": "boolean" + }, + "revision": { + "type": "number" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + } + } + } + }, + "required": [ + "contextId" + ] + }, + "mutates": false, + "category": "introspection", + "capabilities": [ + "introspection", + "session-targeting" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "status" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "get_status" + }, + { + "operationId": "doc.describe", + "toolName": "describe_commands", + "profile": "intent", + "source": "intent", + "description": "List all available CLI operations and contract metadata.", + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "outputSchema": { + "type": "object", + "properties": { + "contractVersion": { + "type": "string" + }, + "operations": { + "type": "array", + "items": { + "type": "object", + "properties": { + "operationId": { + "type": "string" + }, + "command": { + "type": "string" + }, + "category": { + "type": "string" + }, + "description": { + "type": "string" + }, + "mutates": { + "type": "boolean" + } + } + } + } + } + }, + "mutates": false, + "category": "introspection", + "capabilities": [ + "introspection" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "describe" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": false, + "supportsSessionTargeting": false + }, + "intentId": "describe_commands" + }, + { + "operationId": "doc.describeCommand", + "toolName": "describe_command", + "profile": "intent", + "source": "intent", + "description": "Show detailed metadata for a single CLI operation.", + "inputSchema": { + "type": "object", + "properties": { + "operationId": { + "type": "string" + } + }, + "required": [ + "operationId" + ], + "additionalProperties": false + }, + "outputSchema": { + "type": "object", + "properties": { + "operationId": { + "type": "string" + }, + "command": { + "type": "string" + }, + "category": { + "type": "string" + }, + "description": { + "type": "string" + }, + "mutates": { + "type": "boolean" + }, + "params": { + "type": "array" + }, + "constraints": {} + } + }, + "mutates": false, + "category": "introspection", + "capabilities": [ + "introspection" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "describe", + "command" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": false, + "supportsSessionTargeting": false + }, + "intentId": "describe_command" + }, + { + "operationId": "doc.session.list", + "toolName": "list_sessions", + "profile": "intent", + "source": "intent", + "description": "List all active editing sessions.", + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "outputSchema": { + "type": "object", + "properties": { + "activeSessionId": { + "type": "string" + }, + "sessions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "sessionType": { + "type": "string" + }, + "dirty": { + "type": "boolean" + }, + "revision": { + "type": "number" + } + } + } + }, + "total": { + "type": "number" + } + } + }, + "mutates": false, + "category": "session", + "capabilities": [ + "session-management" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "session", + "list" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": false, + "supportsSessionTargeting": false + }, + "intentId": "list_sessions" + }, + { + "operationId": "doc.session.save", + "toolName": "save_session", + "profile": "intent", + "source": "intent", + "description": "Persist the current session state.", + "inputSchema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + } + }, + "required": [ + "sessionId" + ], + "additionalProperties": false + }, + "outputSchema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "contextId": { + "type": "string" + }, + "saved": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + }, + "revision": { + "type": "number" + } + } + }, + "output": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "byteLength": { + "type": "number" + } + } + } + }, + "required": [ + "sessionId" + ] + }, + "mutates": true, + "category": "session", + "capabilities": [ + "output-path", + "session-management", + "session-targeting" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "session", + "save" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "save_session" + }, + { + "operationId": "doc.session.close", + "toolName": "close_session", + "profile": "intent", + "source": "intent", + "description": "Close a specific editing session by ID.", + "inputSchema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "discard": { + "type": "boolean" + } + }, + "required": [ + "sessionId" + ], + "additionalProperties": false + }, + "outputSchema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "contextId": { + "type": "string" + }, + "closed": { + "type": "boolean" + }, + "saved": { + "type": "boolean" + }, + "discarded": { + "type": "boolean" + }, + "defaultSessionCleared": { + "type": "boolean" + }, + "wasDirty": { + "type": "boolean" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + }, + "revision": { + "type": "number" + } + } + } + }, + "required": [ + "sessionId" + ] + }, + "mutates": false, + "category": "session", + "capabilities": [ + "session-management", + "session-targeting" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "session", + "close" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "close_session" + }, + { + "operationId": "doc.session.setDefault", + "toolName": "set_default_session", + "profile": "intent", + "source": "intent", + "description": "Set the default session for subsequent commands.", + "inputSchema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + } + }, + "required": [ + "sessionId" + ], + "additionalProperties": false + }, + "outputSchema": { + "type": "object", + "properties": { + "activeSessionId": { + "type": "string" + } + }, + "required": [ + "activeSessionId" + ] + }, + "mutates": false, + "category": "session", + "capabilities": [ + "session-management", + "session-targeting" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "session", + "set-default" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + }, + "intentId": "set_default_session" + } + ] + }, + "operation": { + "name": "operation", + "tools": [ + { + "operationId": "doc.find", + "toolName": "doc_find", + "profile": "operation", + "source": "operation", + "description": "Search the document for nodes matching type, text, or attribute criteria.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "within": { + "oneOf": [ + { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "inline" + }, + "nodeType": { + "oneOf": [ + { + "const": "run" + }, + { + "const": "bookmark" + }, + { + "const": "comment" + }, + { + "const": "hyperlink" + }, + { + "const": "sdt" + }, + { + "const": "image" + }, + { + "const": "footnoteRef" + }, + { + "const": "tab" + }, + { + "const": "lineBreak" + } + ] + }, + "anchor": { + "type": "object", + "properties": { + "start": { + "type": "object", + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "number" + } + }, + "required": [ + "blockId", + "offset" + ] + }, + "end": { + "type": "object", + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "number" + } + }, + "required": [ + "blockId", + "offset" + ] + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ] + } + ] + }, + "limit": { + "type": "number" + }, + "offset": { + "type": "number" + }, + "includeNodes": { + "type": "boolean" + }, + "includeUnknown": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "nodeType": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "pattern": { + "type": "string" + }, + "mode": { + "type": "string" + }, + "caseSensitive": { + "type": "boolean" + }, + "query": {} + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "context": { + "items": { + "additionalProperties": false, + "properties": { + "address": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt" + ] + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "anchor": { + "additionalProperties": false, + "properties": { + "end": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + }, + "start": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "kind": { + "const": "inline" + }, + "nodeType": { + "enum": [ + "run", + "bookmark", + "comment", + "hyperlink", + "sdt", + "image", + "footnoteRef", + "tab", + "lineBreak" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ], + "type": "object" + } + ] + }, + "highlightRange": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "snippet": { + "type": "string" + }, + "textRanges": { + "items": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "address", + "snippet", + "highlightRange" + ], + "type": "object" + }, + "type": "array" + }, + "diagnostics": { + "items": { + "additionalProperties": false, + "properties": { + "address": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt" + ] + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "anchor": { + "additionalProperties": false, + "properties": { + "end": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + }, + "start": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "kind": { + "const": "inline" + }, + "nodeType": { + "enum": [ + "run", + "bookmark", + "comment", + "hyperlink", + "sdt", + "image", + "footnoteRef", + "tab", + "lineBreak" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ], + "type": "object" + } + ] + }, + "hint": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "type": "array" + }, + "matches": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt" + ] + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "anchor": { + "additionalProperties": false, + "properties": { + "end": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + }, + "start": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "kind": { + "const": "inline" + }, + "nodeType": { + "enum": [ + "run", + "bookmark", + "comment", + "hyperlink", + "sdt", + "image", + "footnoteRef", + "tab", + "lineBreak" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "nodes": { + "items": { + "additionalProperties": false, + "properties": { + "bodyNodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "bodyText": { + "type": "string" + }, + "kind": { + "enum": [ + "block", + "inline" + ] + }, + "nodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt", + "run", + "bookmark", + "comment", + "hyperlink", + "footnoteRef", + "tab", + "lineBreak" + ] + }, + "properties": { + "type": "object" + }, + "summary": { + "additionalProperties": false, + "properties": { + "label": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "nodeType", + "kind" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "matches", + "total" + ], + "type": "object" + }, + "mutates": false, + "category": "query", + "capabilities": [ + "search", + "session-targeting", + "stateless-doc" + ], + "constraints": { + "requiresOneOf": [ + [ + "type", + "query" + ] + ], + "mutuallyExclusive": [ + [ + "type", + "query" + ] + ] + }, + "errors": [], + "examples": [], + "commandTokens": [ + "find" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.getNode", + "toolName": "doc_getNode", + "profile": "operation", + "source": "operation", + "description": "Retrieve a single node by target position.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "address": {} + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "bodyNodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "bodyText": { + "type": "string" + }, + "kind": { + "enum": [ + "block", + "inline" + ] + }, + "nodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt", + "run", + "bookmark", + "comment", + "hyperlink", + "footnoteRef", + "tab", + "lineBreak" + ] + }, + "properties": { + "type": "object" + }, + "summary": { + "additionalProperties": false, + "properties": { + "label": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "nodeType", + "kind" + ], + "type": "object" + }, + "mutates": false, + "category": "query", + "capabilities": [ + "search", + "session-targeting", + "stateless-doc" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "get-node" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.getNodeById", + "toolName": "doc_getNodeById", + "profile": "operation", + "source": "operation", + "description": "Retrieve a single node by its unique ID.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + }, + "nodeType": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "bodyNodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "bodyText": { + "type": "string" + }, + "kind": { + "enum": [ + "block", + "inline" + ] + }, + "nodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt", + "run", + "bookmark", + "comment", + "hyperlink", + "footnoteRef", + "tab", + "lineBreak" + ] + }, + "properties": { + "type": "object" + }, + "summary": { + "additionalProperties": false, + "properties": { + "label": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "nodeType", + "kind" + ], + "type": "object" + }, + "mutates": false, + "category": "query", + "capabilities": [ + "search", + "session-targeting", + "stateless-doc" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "get-node-by-id" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.info", + "toolName": "doc_info", + "profile": "operation", + "source": "operation", + "description": "Return document metadata including revision, node count, and capabilities.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "capabilities": { + "additionalProperties": false, + "properties": { + "canComment": { + "type": "boolean" + }, + "canFind": { + "type": "boolean" + }, + "canGetNode": { + "type": "boolean" + }, + "canReplace": { + "type": "boolean" + } + }, + "required": [ + "canFind", + "canGetNode", + "canComment", + "canReplace" + ], + "type": "object" + }, + "counts": { + "additionalProperties": false, + "properties": { + "comments": { + "type": "integer" + }, + "headings": { + "type": "integer" + }, + "images": { + "type": "integer" + }, + "paragraphs": { + "type": "integer" + }, + "tables": { + "type": "integer" + }, + "words": { + "type": "integer" + } + }, + "required": [ + "words", + "paragraphs", + "headings", + "tables", + "images", + "comments" + ], + "type": "object" + }, + "outline": { + "items": { + "additionalProperties": false, + "properties": { + "level": { + "type": "integer" + }, + "nodeId": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "level", + "text", + "nodeId" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "counts", + "outline", + "capabilities" + ], + "type": "object" + }, + "mutates": false, + "category": "query", + "capabilities": [ + "search", + "session-targeting", + "stateless-doc" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "info" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.insert", + "toolName": "doc_insert", + "profile": "operation", + "source": "operation", + "description": "Insert text or inline content at a target position.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "mutates": true, + "category": "mutation", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "INVALID_TARGET", + "NO_OP" + ], + "examples": [], + "commandTokens": [ + "insert" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.replace", + "toolName": "doc_replace", + "profile": "operation", + "source": "operation", + "description": "Replace content at a target position with new text or inline content.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "text" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "mutates": true, + "category": "mutation", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "INVALID_TARGET", + "NO_OP" + ], + "examples": [], + "commandTokens": [ + "replace" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.delete", + "toolName": "doc_delete", + "profile": "operation", + "source": "operation", + "description": "Delete content at a target position.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "mutates": true, + "category": "mutation", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "NO_OP" + ], + "examples": [], + "commandTokens": [ + "delete" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.format.bold", + "toolName": "doc_format_bold", + "profile": "operation", + "source": "operation", + "description": "Toggle bold formatting on the target range.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "mutates": true, + "category": "format", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "INVALID_TARGET" + ], + "examples": [], + "commandTokens": [ + "format", + "bold" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.format.italic", + "toolName": "doc_format_italic", + "profile": "operation", + "source": "operation", + "description": "Toggle italic formatting on the target range.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "mutates": true, + "category": "format", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "INVALID_TARGET" + ], + "examples": [], + "commandTokens": [ + "format", + "italic" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.format.underline", + "toolName": "doc_format_underline", + "profile": "operation", + "source": "operation", + "description": "Toggle underline formatting on the target range.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "mutates": true, + "category": "format", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "INVALID_TARGET" + ], + "examples": [], + "commandTokens": [ + "format", + "underline" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.format.strikethrough", + "toolName": "doc_format_strikethrough", + "profile": "operation", + "source": "operation", + "description": "Toggle strikethrough formatting on the target range.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "mutates": true, + "category": "format", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "INVALID_TARGET" + ], + "examples": [], + "commandTokens": [ + "format", + "strikethrough" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.create.paragraph", + "toolName": "doc_create_paragraph", + "profile": "operation", + "source": "operation", + "description": "Create a new paragraph at the target position.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "at": { + "oneOf": [ + { + "type": "object", + "properties": { + "kind": { + "const": "documentStart" + } + }, + "required": [ + "kind" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "documentEnd" + } + }, + "required": [ + "kind" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "before" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "kind", + "target" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "after" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "kind", + "target" + ] + } + ] + }, + "text": { + "type": "string" + }, + "input": {} + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "insertionPoint": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "paragraph": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "paragraph" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + }, + "trackedChangeRefs": { + "items": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "success", + "paragraph", + "insertionPoint" + ], + "type": "object" + }, + "mutates": true, + "category": "create", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "structural-create", + "tracked-change-mode" + ], + "errors": [ + "INVALID_TARGET" + ], + "examples": [], + "commandTokens": [ + "create", + "paragraph" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.lists.list", + "toolName": "doc_lists_list", + "profile": "operation", + "source": "operation", + "description": "List all list nodes in the document, optionally filtered by scope.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "within": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "limit": { + "type": "number" + }, + "offset": { + "type": "number" + }, + "kind": { + "type": "string" + }, + "level": { + "type": "number" + }, + "ordinal": { + "type": "number" + }, + "query": {} + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "items": { + "items": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "kind": { + "enum": [ + "ordered", + "bullet" + ] + }, + "level": { + "type": "integer" + }, + "marker": { + "type": "string" + }, + "ordinal": { + "type": "integer" + }, + "path": { + "items": { + "type": "integer" + }, + "type": "array" + }, + "text": { + "type": "string" + } + }, + "required": [ + "address" + ], + "type": "object" + }, + "type": "array" + }, + "matches": { + "items": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "matches", + "total", + "items" + ], + "type": "object" + }, + "mutates": false, + "category": "lists", + "capabilities": [ + "session-targeting", + "stateless-doc" + ], + "constraints": { + "mutuallyExclusive": [ + [ + "query", + "within" + ], + [ + "query", + "kind" + ], + [ + "query", + "level" + ], + [ + "query", + "ordinal" + ], + [ + "query", + "limit" + ], + [ + "query", + "offset" + ] + ] + }, + "errors": [], + "examples": [], + "commandTokens": [ + "lists", + "list" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasLists" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.lists.get", + "toolName": "doc_lists_get", + "profile": "operation", + "source": "operation", + "description": "Retrieve a specific list node by target.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "address": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "address" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "kind": { + "enum": [ + "ordered", + "bullet" + ] + }, + "level": { + "type": "integer" + }, + "marker": { + "type": "string" + }, + "ordinal": { + "type": "integer" + }, + "path": { + "items": { + "type": "integer" + }, + "type": "array" + }, + "text": { + "type": "string" + } + }, + "required": [ + "address" + ], + "type": "object" + }, + "mutates": false, + "category": "lists", + "capabilities": [ + "session-targeting", + "stateless-doc" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "lists", + "get" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasLists" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.lists.insert", + "toolName": "doc_lists_insert", + "profile": "operation", + "source": "operation", + "description": "Insert a new list at the target position.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "position": { + "type": "string" + }, + "text": { + "type": "string" + }, + "input": {} + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "insertionPoint": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + }, + "trackedChangeRefs": { + "items": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "success", + "item", + "insertionPoint" + ], + "type": "object" + }, + "mutates": true, + "category": "lists", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "INVALID_TARGET" + ], + "examples": [], + "commandTokens": [ + "lists", + "insert" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasLists" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.lists.setType", + "toolName": "doc_lists_setType", + "profile": "operation", + "source": "operation", + "description": "Change the list type (ordered, unordered) of a target list.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "kind": { + "type": "string" + }, + "input": {} + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + "mutates": true, + "category": "lists", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "NO_OP", + "INVALID_TARGET" + ], + "examples": [], + "commandTokens": [ + "lists", + "set-type" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasLists" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.lists.indent", + "toolName": "doc_lists_indent", + "profile": "operation", + "source": "operation", + "description": "Increase the indentation level of a list item.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + "mutates": true, + "category": "lists", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "NO_OP", + "INVALID_TARGET" + ], + "examples": [], + "commandTokens": [ + "lists", + "indent" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasLists" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.lists.outdent", + "toolName": "doc_lists_outdent", + "profile": "operation", + "source": "operation", + "description": "Decrease the indentation level of a list item.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + "mutates": true, + "category": "lists", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "NO_OP", + "INVALID_TARGET" + ], + "examples": [], + "commandTokens": [ + "lists", + "outdent" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasLists" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.lists.restart", + "toolName": "doc_lists_restart", + "profile": "operation", + "source": "operation", + "description": "Restart numbering of an ordered list at the target item.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + "mutates": true, + "category": "lists", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "NO_OP", + "INVALID_TARGET" + ], + "examples": [], + "commandTokens": [ + "lists", + "restart" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasLists" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.lists.exit", + "toolName": "doc_lists_exit", + "profile": "operation", + "source": "operation", + "description": "Exit a list context, converting the target item to a paragraph.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "paragraph": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "paragraph" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "paragraph" + ], + "type": "object" + }, + "mutates": true, + "category": "lists", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "INVALID_TARGET" + ], + "examples": [], + "commandTokens": [ + "lists", + "exit" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasLists" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.comments.add", + "toolName": "doc_comments_add", + "profile": "operation", + "source": "operation", + "description": "Add a new comment thread anchored to a target range.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "text" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "INVALID_TARGET", + "NO_OP" + ], + "examples": [], + "commandTokens": [ + "comments", + "add" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasComments" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.comments.edit", + "toolName": "doc_comments_edit", + "profile": "operation", + "source": "operation", + "description": "Edit the content of an existing comment.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "id", + "text" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "NO_OP" + ], + "examples": [], + "commandTokens": [ + "comments", + "edit" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasComments" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.comments.reply", + "toolName": "doc_comments_reply", + "profile": "operation", + "source": "operation", + "description": "Add a reply to an existing comment thread.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "parentId": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "parentId", + "text" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "INVALID_TARGET" + ], + "examples": [], + "commandTokens": [ + "comments", + "reply" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasComments" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.comments.move", + "toolName": "doc_comments_move", + "profile": "operation", + "source": "operation", + "description": "Move a comment thread to a new anchor range.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "id", + "target" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "INVALID_TARGET", + "NO_OP" + ], + "examples": [], + "commandTokens": [ + "comments", + "move" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasComments" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.comments.resolve", + "toolName": "doc_comments_resolve", + "profile": "operation", + "source": "operation", + "description": "Resolve or unresolve a comment thread.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "NO_OP" + ], + "examples": [], + "commandTokens": [ + "comments", + "resolve" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasComments" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.comments.remove", + "toolName": "doc_comments_remove", + "profile": "operation", + "source": "operation", + "description": "Remove a comment or reply by ID.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "NO_OP" + ], + "examples": [], + "commandTokens": [ + "comments", + "remove" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasComments" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.comments.setInternal", + "toolName": "doc_comments_setInternal", + "profile": "operation", + "source": "operation", + "description": "Toggle the internal (private) flag on a comment thread.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "isInternal": { + "type": "boolean" + } + }, + "required": [ + "id", + "isInternal" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "errors": [ + "NO_OP", + "INVALID_TARGET" + ], + "examples": [], + "commandTokens": [ + "comments", + "set-internal" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasComments" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.comments.setActive", + "toolName": "doc_comments_setActive", + "profile": "operation", + "source": "operation", + "description": "Set the active (focused) comment thread for UI highlighting.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "commentId": { + "type": "json" + }, + "id": { + "type": "string" + }, + "clear": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "constraints": { + "requiresOneOf": [ + [ + "id", + "clear" + ] + ], + "mutuallyExclusive": [ + [ + "id", + "clear" + ] + ] + }, + "errors": [ + "INVALID_TARGET" + ], + "examples": [], + "commandTokens": [ + "comments", + "set-active" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasComments" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.comments.goTo", + "toolName": "doc_comments_goTo", + "profile": "operation", + "source": "operation", + "description": "Scroll the viewport to a comment thread by ID.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "mutates": false, + "category": "comments", + "capabilities": [ + "comments", + "session-targeting", + "stateless-doc" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "comments", + "go-to" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasComments" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.comments.get", + "toolName": "doc_comments_get", + "profile": "operation", + "source": "operation", + "description": "Retrieve a single comment thread by ID.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "commentId": { + "type": "string" + }, + "createdTime": { + "type": "number" + }, + "creatorEmail": { + "type": "string" + }, + "creatorName": { + "type": "string" + }, + "importedId": { + "type": "string" + }, + "isInternal": { + "type": "boolean" + }, + "parentCommentId": { + "type": "string" + }, + "status": { + "enum": [ + "open", + "resolved" + ] + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "address", + "commentId", + "status" + ], + "type": "object" + }, + "mutates": false, + "category": "comments", + "capabilities": [ + "comments", + "session-targeting", + "stateless-doc" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "comments", + "get" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasComments" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.comments.list", + "toolName": "doc_comments_list", + "profile": "operation", + "source": "operation", + "description": "List all comment threads in the document.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "includeResolved": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "matches": { + "items": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "commentId": { + "type": "string" + }, + "createdTime": { + "type": "number" + }, + "creatorEmail": { + "type": "string" + }, + "creatorName": { + "type": "string" + }, + "importedId": { + "type": "string" + }, + "isInternal": { + "type": "boolean" + }, + "parentCommentId": { + "type": "string" + }, + "status": { + "enum": [ + "open", + "resolved" + ] + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "address", + "commentId", + "status" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "matches", + "total" + ], + "type": "object" + }, + "mutates": false, + "category": "comments", + "capabilities": [ + "comments", + "session-targeting", + "stateless-doc" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "comments", + "list" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasComments" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.trackChanges.list", + "toolName": "doc_trackChanges_list", + "profile": "operation", + "source": "operation", + "description": "List all tracked changes in the document.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "limit": { + "type": "number" + }, + "offset": { + "type": "number" + }, + "type": { + "type": "string" + } + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "changes": { + "items": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "author": { + "type": "string" + }, + "authorEmail": { + "type": "string" + }, + "authorImage": { + "type": "string" + }, + "date": { + "type": "string" + }, + "excerpt": { + "type": "string" + }, + "id": { + "type": "string" + }, + "type": { + "enum": [ + "insert", + "delete", + "format" + ] + } + }, + "required": [ + "address", + "id", + "type" + ], + "type": "object" + }, + "type": "array" + }, + "matches": { + "items": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "matches", + "total" + ], + "type": "object" + }, + "mutates": false, + "category": "trackChanges", + "capabilities": [ + "session-targeting", + "stateless-doc", + "track-changes" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "track-changes", + "list" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasTrackedChanges" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.trackChanges.get", + "toolName": "doc_trackChanges_get", + "profile": "operation", + "source": "operation", + "description": "Retrieve a single tracked change by ID.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "author": { + "type": "string" + }, + "authorEmail": { + "type": "string" + }, + "authorImage": { + "type": "string" + }, + "date": { + "type": "string" + }, + "excerpt": { + "type": "string" + }, + "id": { + "type": "string" + }, + "type": { + "enum": [ + "insert", + "delete", + "format" + ] + } + }, + "required": [ + "address", + "id", + "type" + ], + "type": "object" + }, + "mutates": false, + "category": "trackChanges", + "capabilities": [ + "session-targeting", + "stateless-doc", + "track-changes" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "track-changes", + "get" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasTrackedChanges" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.trackChanges.accept", + "toolName": "doc_trackChanges_accept", + "profile": "operation", + "source": "operation", + "description": "Accept a tracked change, applying it permanently.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "mutates": true, + "category": "trackChanges", + "capabilities": [ + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "track-changes", + "tracked-change-mode" + ], + "errors": [ + "NO_OP" + ], + "examples": [], + "commandTokens": [ + "track-changes", + "accept" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasTrackedChanges" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.trackChanges.reject", + "toolName": "doc_trackChanges_reject", + "profile": "operation", + "source": "operation", + "description": "Reject a tracked change, reverting it.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "mutates": true, + "category": "trackChanges", + "capabilities": [ + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "track-changes", + "tracked-change-mode" + ], + "errors": [ + "NO_OP" + ], + "examples": [], + "commandTokens": [ + "track-changes", + "reject" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasTrackedChanges" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.trackChanges.acceptAll", + "toolName": "doc_trackChanges_acceptAll", + "profile": "operation", + "source": "operation", + "description": "Accept all tracked changes in the document.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "mutates": true, + "category": "trackChanges", + "capabilities": [ + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "track-changes", + "tracked-change-mode" + ], + "errors": [ + "NO_OP" + ], + "examples": [], + "commandTokens": [ + "track-changes", + "accept-all" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasTrackedChanges" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.trackChanges.rejectAll", + "toolName": "doc_trackChanges_rejectAll", + "profile": "operation", + "source": "operation", + "description": "Reject all tracked changes in the document.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "outputSchema": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "mutates": true, + "category": "trackChanges", + "capabilities": [ + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "track-changes", + "tracked-change-mode" + ], + "errors": [ + "NO_OP" + ], + "examples": [], + "commandTokens": [ + "track-changes", + "reject-all" + ], + "profileTags": [], + "requiredCapabilities": [ + "hasTrackedChanges" + ], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.open", + "toolName": "doc_open", + "profile": "operation", + "source": "operation", + "description": "Open a document and create a persistent editing session.", + "inputSchema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "collaboration": {}, + "collabDocumentId": { + "type": "string" + }, + "collabUrl": { + "type": "string" + } + }, + "required": [ + "doc" + ], + "additionalProperties": false + }, + "outputSchema": { + "type": "object", + "properties": { + "contextId": { + "type": "string" + }, + "sessionType": { + "type": "string" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + }, + "revision": { + "type": "number" + } + } + }, + "collaboration": { + "type": "object", + "properties": { + "documentId": { + "type": "string" + }, + "url": { + "type": "string" + } + } + } + }, + "required": [ + "contextId", + "sessionType" + ] + }, + "mutates": false, + "category": "lifecycle", + "capabilities": [ + "session-targeting", + "stateless-doc" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "open" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.save", + "toolName": "doc_save", + "profile": "operation", + "source": "operation", + "description": "Save the current session to the original file or a new path.", + "inputSchema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "outputSchema": { + "type": "object", + "properties": { + "contextId": { + "type": "string" + }, + "saved": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + }, + "revision": { + "type": "number" + } + } + }, + "context": { + "type": "object", + "properties": { + "dirty": { + "type": "boolean" + }, + "revision": { + "type": "number" + }, + "lastSavedAt": { + "type": "string" + } + } + }, + "output": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "byteLength": { + "type": "number" + } + } + } + }, + "required": [ + "contextId", + "saved" + ] + }, + "mutates": true, + "category": "lifecycle", + "capabilities": [ + "output-path", + "session-targeting" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "save" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.close", + "toolName": "doc_close", + "profile": "operation", + "source": "operation", + "description": "Close the active editing session and clean up resources.", + "inputSchema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "discard": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "outputSchema": { + "type": "object", + "properties": { + "contextId": { + "type": "string" + }, + "closed": { + "type": "boolean" + }, + "saved": { + "type": "boolean" + }, + "discarded": { + "type": "boolean" + }, + "defaultSessionCleared": { + "type": "boolean" + }, + "wasDirty": { + "type": "boolean" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + }, + "revision": { + "type": "number" + } + } + } + }, + "required": [ + "contextId", + "closed" + ] + }, + "mutates": false, + "category": "lifecycle", + "capabilities": [ + "session-targeting" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "close" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.status", + "toolName": "doc_status", + "profile": "operation", + "source": "operation", + "description": "Show the current session status and document metadata.", + "inputSchema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "outputSchema": { + "type": "object", + "properties": { + "contextId": { + "type": "string" + }, + "sessionType": { + "type": "string" + }, + "dirty": { + "type": "boolean" + }, + "revision": { + "type": "number" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + } + } + } + }, + "required": [ + "contextId" + ] + }, + "mutates": false, + "category": "introspection", + "capabilities": [ + "introspection", + "session-targeting" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "status" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.describe", + "toolName": "doc_describe", + "profile": "operation", + "source": "operation", + "description": "List all available CLI operations and contract metadata.", + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "outputSchema": { + "type": "object", + "properties": { + "contractVersion": { + "type": "string" + }, + "operations": { + "type": "array", + "items": { + "type": "object", + "properties": { + "operationId": { + "type": "string" + }, + "command": { + "type": "string" + }, + "category": { + "type": "string" + }, + "description": { + "type": "string" + }, + "mutates": { + "type": "boolean" + } + } + } + } + } + }, + "mutates": false, + "category": "introspection", + "capabilities": [ + "introspection" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "describe" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": false, + "supportsSessionTargeting": false + } + }, + { + "operationId": "doc.describeCommand", + "toolName": "doc_describeCommand", + "profile": "operation", + "source": "operation", + "description": "Show detailed metadata for a single CLI operation.", + "inputSchema": { + "type": "object", + "properties": { + "operationId": { + "type": "string" + } + }, + "required": [ + "operationId" + ], + "additionalProperties": false + }, + "outputSchema": { + "type": "object", + "properties": { + "operationId": { + "type": "string" + }, + "command": { + "type": "string" + }, + "category": { + "type": "string" + }, + "description": { + "type": "string" + }, + "mutates": { + "type": "boolean" + }, + "params": { + "type": "array" + }, + "constraints": {} + } + }, + "mutates": false, + "category": "introspection", + "capabilities": [ + "introspection" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "describe", + "command" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": false, + "supportsSessionTargeting": false + } + }, + { + "operationId": "doc.session.list", + "toolName": "doc_session_list", + "profile": "operation", + "source": "operation", + "description": "List all active editing sessions.", + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "outputSchema": { + "type": "object", + "properties": { + "activeSessionId": { + "type": "string" + }, + "sessions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "sessionType": { + "type": "string" + }, + "dirty": { + "type": "boolean" + }, + "revision": { + "type": "number" + } + } + } + }, + "total": { + "type": "number" + } + } + }, + "mutates": false, + "category": "session", + "capabilities": [ + "session-management" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "session", + "list" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": false, + "supportsSessionTargeting": false + } + }, + { + "operationId": "doc.session.save", + "toolName": "doc_session_save", + "profile": "operation", + "source": "operation", + "description": "Persist the current session state.", + "inputSchema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + } + }, + "required": [ + "sessionId" + ], + "additionalProperties": false + }, + "outputSchema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "contextId": { + "type": "string" + }, + "saved": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + }, + "revision": { + "type": "number" + } + } + }, + "output": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "byteLength": { + "type": "number" + } + } + } + }, + "required": [ + "sessionId" + ] + }, + "mutates": true, + "category": "session", + "capabilities": [ + "output-path", + "session-management", + "session-targeting" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "session", + "save" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.session.close", + "toolName": "doc_session_close", + "profile": "operation", + "source": "operation", + "description": "Close a specific editing session by ID.", + "inputSchema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "discard": { + "type": "boolean" + } + }, + "required": [ + "sessionId" + ], + "additionalProperties": false + }, + "outputSchema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "contextId": { + "type": "string" + }, + "closed": { + "type": "boolean" + }, + "saved": { + "type": "boolean" + }, + "discarded": { + "type": "boolean" + }, + "defaultSessionCleared": { + "type": "boolean" + }, + "wasDirty": { + "type": "boolean" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + }, + "revision": { + "type": "number" + } + } + } + }, + "required": [ + "sessionId" + ] + }, + "mutates": false, + "category": "session", + "capabilities": [ + "session-management", + "session-targeting" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "session", + "close" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + }, + { + "operationId": "doc.session.setDefault", + "toolName": "doc_session_setDefault", + "profile": "operation", + "source": "operation", + "description": "Set the default session for subsequent commands.", + "inputSchema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + } + }, + "required": [ + "sessionId" + ], + "additionalProperties": false + }, + "outputSchema": { + "type": "object", + "properties": { + "activeSessionId": { + "type": "string" + } + }, + "required": [ + "activeSessionId" + ] + }, + "mutates": false, + "category": "session", + "capabilities": [ + "session-management", + "session-targeting" + ], + "errors": [], + "examples": [], + "commandTokens": [ + "session", + "set-default" + ], + "profileTags": [], + "requiredCapabilities": [], + "sessionRequirements": { + "requiresOpenContext": true, + "supportsSessionTargeting": true + } + } + ] + } + } +} diff --git a/packages/sdk/tools/tool-name-map.json b/packages/sdk/tools/tool-name-map.json new file mode 100644 index 0000000000..aea949c26d --- /dev/null +++ b/packages/sdk/tools/tool-name-map.json @@ -0,0 +1,96 @@ +{ + "find_content": "doc.find", + "get_node": "doc.getNode", + "get_node_by_id": "doc.getNodeById", + "get_document_info": "doc.info", + "insert_content": "doc.insert", + "replace_content": "doc.replace", + "delete_content": "doc.delete", + "format_bold": "doc.format.bold", + "format_italic": "doc.format.italic", + "format_underline": "doc.format.underline", + "format_strikethrough": "doc.format.strikethrough", + "create_paragraph": "doc.create.paragraph", + "list_lists": "doc.lists.list", + "get_list": "doc.lists.get", + "insert_list": "doc.lists.insert", + "set_list_type": "doc.lists.setType", + "indent_list": "doc.lists.indent", + "outdent_list": "doc.lists.outdent", + "restart_list_numbering": "doc.lists.restart", + "exit_list": "doc.lists.exit", + "add_comment": "doc.comments.add", + "edit_comment": "doc.comments.edit", + "reply_to_comment": "doc.comments.reply", + "move_comment": "doc.comments.move", + "resolve_comment": "doc.comments.resolve", + "remove_comment": "doc.comments.remove", + "set_comment_internal": "doc.comments.setInternal", + "set_comment_active": "doc.comments.setActive", + "go_to_comment": "doc.comments.goTo", + "get_comment": "doc.comments.get", + "list_comments": "doc.comments.list", + "list_tracked_changes": "doc.trackChanges.list", + "get_tracked_change": "doc.trackChanges.get", + "accept_tracked_change": "doc.trackChanges.accept", + "reject_tracked_change": "doc.trackChanges.reject", + "accept_all_tracked_changes": "doc.trackChanges.acceptAll", + "reject_all_tracked_changes": "doc.trackChanges.rejectAll", + "open_document": "doc.open", + "save_document": "doc.save", + "close_document": "doc.close", + "get_status": "doc.status", + "describe_commands": "doc.describe", + "describe_command": "doc.describeCommand", + "list_sessions": "doc.session.list", + "save_session": "doc.session.save", + "close_session": "doc.session.close", + "set_default_session": "doc.session.setDefault", + "doc_find": "doc.find", + "doc_getNode": "doc.getNode", + "doc_getNodeById": "doc.getNodeById", + "doc_info": "doc.info", + "doc_insert": "doc.insert", + "doc_replace": "doc.replace", + "doc_delete": "doc.delete", + "doc_format_bold": "doc.format.bold", + "doc_format_italic": "doc.format.italic", + "doc_format_underline": "doc.format.underline", + "doc_format_strikethrough": "doc.format.strikethrough", + "doc_create_paragraph": "doc.create.paragraph", + "doc_lists_list": "doc.lists.list", + "doc_lists_get": "doc.lists.get", + "doc_lists_insert": "doc.lists.insert", + "doc_lists_setType": "doc.lists.setType", + "doc_lists_indent": "doc.lists.indent", + "doc_lists_outdent": "doc.lists.outdent", + "doc_lists_restart": "doc.lists.restart", + "doc_lists_exit": "doc.lists.exit", + "doc_comments_add": "doc.comments.add", + "doc_comments_edit": "doc.comments.edit", + "doc_comments_reply": "doc.comments.reply", + "doc_comments_move": "doc.comments.move", + "doc_comments_resolve": "doc.comments.resolve", + "doc_comments_remove": "doc.comments.remove", + "doc_comments_setInternal": "doc.comments.setInternal", + "doc_comments_setActive": "doc.comments.setActive", + "doc_comments_goTo": "doc.comments.goTo", + "doc_comments_get": "doc.comments.get", + "doc_comments_list": "doc.comments.list", + "doc_trackChanges_list": "doc.trackChanges.list", + "doc_trackChanges_get": "doc.trackChanges.get", + "doc_trackChanges_accept": "doc.trackChanges.accept", + "doc_trackChanges_reject": "doc.trackChanges.reject", + "doc_trackChanges_acceptAll": "doc.trackChanges.acceptAll", + "doc_trackChanges_rejectAll": "doc.trackChanges.rejectAll", + "doc_open": "doc.open", + "doc_save": "doc.save", + "doc_close": "doc.close", + "doc_status": "doc.status", + "doc_describe": "doc.describe", + "doc_describeCommand": "doc.describeCommand", + "doc_session_list": "doc.session.list", + "doc_session_save": "doc.session.save", + "doc_session_close": "doc.session.close", + "doc_session_setDefault": "doc.session.setDefault" +} diff --git a/packages/sdk/tools/tools-policy.json b/packages/sdk/tools/tools-policy.json new file mode 100644 index 0000000000..3fe75bdba3 --- /dev/null +++ b/packages/sdk/tools/tools-policy.json @@ -0,0 +1,100 @@ +{ + "policyVersion": "v1", + "phases": { + "read": { + "include": [ + "introspection", + "query" + ], + "exclude": [ + "mutation", + "trackChanges", + "session", + "create", + "comments", + "format" + ], + "priority": [ + "query", + "introspection" + ] + }, + "locate": { + "include": [ + "query" + ], + "exclude": [ + "mutation", + "trackChanges", + "session", + "create", + "comments", + "format" + ], + "priority": [ + "query" + ] + }, + "mutate": { + "include": [ + "query", + "mutation", + "format", + "comments", + "create" + ], + "exclude": [ + "session" + ], + "priority": [ + "query", + "mutation", + "create", + "format", + "comments" + ] + }, + "review": { + "include": [ + "query", + "trackChanges", + "comments" + ], + "exclude": [ + "mutation", + "create", + "session", + "format" + ], + "priority": [ + "trackChanges", + "comments", + "query" + ] + } + }, + "defaults": { + "maxToolsByProfile": { + "intent": 12, + "operation": 16 + }, + "minReadTools": 2, + "foundationalOperationIds": [ + "doc.info", + "doc.find" + ], + "chooserDecisionVersion": "v1" + }, + "capabilityFeatures": { + "comments": [ + "hasComments" + ], + "trackChanges": [ + "hasTrackedChanges" + ], + "lists": [ + "hasLists" + ] + }, + "contractHash": "937cad0ad9eb592c" +} diff --git a/packages/sdk/tools/tools.anthropic.json b/packages/sdk/tools/tools.anthropic.json new file mode 100644 index 0000000000..9e4feb3a1c --- /dev/null +++ b/packages/sdk/tools/tools.anthropic.json @@ -0,0 +1,3557 @@ +{ + "contractVersion": "0.1.0", + "profiles": { + "intent": [ + { + "name": "find_content", + "description": "Search the document for nodes matching type, text, or attribute criteria.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "within": { + "oneOf": [ + { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "inline" + }, + "nodeType": { + "oneOf": [ + { + "const": "run" + }, + { + "const": "bookmark" + }, + { + "const": "comment" + }, + { + "const": "hyperlink" + }, + { + "const": "sdt" + }, + { + "const": "image" + }, + { + "const": "footnoteRef" + }, + { + "const": "tab" + }, + { + "const": "lineBreak" + } + ] + }, + "anchor": { + "type": "object", + "properties": { + "start": { + "type": "object", + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "number" + } + }, + "required": [ + "blockId", + "offset" + ] + }, + "end": { + "type": "object", + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "number" + } + }, + "required": [ + "blockId", + "offset" + ] + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ] + } + ] + }, + "limit": { + "type": "number" + }, + "offset": { + "type": "number" + }, + "includeNodes": { + "type": "boolean" + }, + "includeUnknown": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "nodeType": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "pattern": { + "type": "string" + }, + "mode": { + "type": "string" + }, + "caseSensitive": { + "type": "boolean" + }, + "query": {} + }, + "additionalProperties": false + } + }, + { + "name": "get_node", + "description": "Retrieve a single node by target position.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "address": {} + }, + "additionalProperties": false + } + }, + { + "name": "get_node_by_id", + "description": "Retrieve a single node by its unique ID.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + }, + "nodeType": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + }, + { + "name": "get_document_info", + "description": "Return document metadata including revision, node count, and capabilities.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + { + "name": "insert_content", + "description": "Insert text or inline content at a target position.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "additionalProperties": false + } + }, + { + "name": "replace_content", + "description": "Replace content at a target position with new text or inline content.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "text" + ], + "additionalProperties": false + } + }, + { + "name": "delete_content", + "description": "Delete content at a target position.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + } + }, + { + "name": "format_bold", + "description": "Toggle bold formatting on the target range.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + } + }, + { + "name": "format_italic", + "description": "Toggle italic formatting on the target range.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + } + }, + { + "name": "format_underline", + "description": "Toggle underline formatting on the target range.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + } + }, + { + "name": "format_strikethrough", + "description": "Toggle strikethrough formatting on the target range.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + } + }, + { + "name": "create_paragraph", + "description": "Create a new paragraph at the target position.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "at": { + "oneOf": [ + { + "type": "object", + "properties": { + "kind": { + "const": "documentStart" + } + }, + "required": [ + "kind" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "documentEnd" + } + }, + "required": [ + "kind" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "before" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "kind", + "target" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "after" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "kind", + "target" + ] + } + ] + }, + "text": { + "type": "string" + }, + "input": {} + }, + "additionalProperties": false + } + }, + { + "name": "list_lists", + "description": "List all list nodes in the document, optionally filtered by scope.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "within": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "limit": { + "type": "number" + }, + "offset": { + "type": "number" + }, + "kind": { + "type": "string" + }, + "level": { + "type": "number" + }, + "ordinal": { + "type": "number" + }, + "query": {} + }, + "additionalProperties": false + } + }, + { + "name": "get_list", + "description": "Retrieve a specific list node by target.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "address": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "address" + ], + "additionalProperties": false + } + }, + { + "name": "insert_list", + "description": "Insert a new list at the target position.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "position": { + "type": "string" + }, + "text": { + "type": "string" + }, + "input": {} + }, + "additionalProperties": false + } + }, + { + "name": "set_list_type", + "description": "Change the list type (ordered, unordered) of a target list.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "kind": { + "type": "string" + }, + "input": {} + }, + "additionalProperties": false + } + }, + { + "name": "indent_list", + "description": "Increase the indentation level of a list item.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + } + }, + { + "name": "outdent_list", + "description": "Decrease the indentation level of a list item.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + } + }, + { + "name": "restart_list_numbering", + "description": "Restart numbering of an ordered list at the target item.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + } + }, + { + "name": "exit_list", + "description": "Exit a list context, converting the target item to a paragraph.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + } + }, + { + "name": "add_comment", + "description": "Add a new comment thread anchored to a target range.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "text" + ], + "additionalProperties": false + } + }, + { + "name": "edit_comment", + "description": "Edit the content of an existing comment.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "id", + "text" + ], + "additionalProperties": false + } + }, + { + "name": "reply_to_comment", + "description": "Add a reply to an existing comment thread.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "parentId": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "parentId", + "text" + ], + "additionalProperties": false + } + }, + { + "name": "move_comment", + "description": "Move a comment thread to a new anchor range.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "id", + "target" + ], + "additionalProperties": false + } + }, + { + "name": "resolve_comment", + "description": "Resolve or unresolve a comment thread.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + }, + { + "name": "remove_comment", + "description": "Remove a comment or reply by ID.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + }, + { + "name": "set_comment_internal", + "description": "Toggle the internal (private) flag on a comment thread.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "isInternal": { + "type": "boolean" + } + }, + "required": [ + "id", + "isInternal" + ], + "additionalProperties": false + } + }, + { + "name": "set_comment_active", + "description": "Set the active (focused) comment thread for UI highlighting.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "commentId": { + "type": "json" + }, + "id": { + "type": "string" + }, + "clear": { + "type": "boolean" + } + }, + "additionalProperties": false + } + }, + { + "name": "go_to_comment", + "description": "Scroll the viewport to a comment thread by ID.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + }, + { + "name": "get_comment", + "description": "Retrieve a single comment thread by ID.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + }, + { + "name": "list_comments", + "description": "List all comment threads in the document.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "includeResolved": { + "type": "boolean" + } + }, + "additionalProperties": false + } + }, + { + "name": "list_tracked_changes", + "description": "List all tracked changes in the document.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "limit": { + "type": "number" + }, + "offset": { + "type": "number" + }, + "type": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + { + "name": "get_tracked_change", + "description": "Retrieve a single tracked change by ID.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + }, + { + "name": "accept_tracked_change", + "description": "Accept a tracked change, applying it permanently.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + }, + { + "name": "reject_tracked_change", + "description": "Reject a tracked change, reverting it.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + }, + { + "name": "accept_all_tracked_changes", + "description": "Accept all tracked changes in the document.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + } + }, + "additionalProperties": false + } + }, + { + "name": "reject_all_tracked_changes", + "description": "Reject all tracked changes in the document.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + } + }, + "additionalProperties": false + } + }, + { + "name": "open_document", + "description": "Open a document and create a persistent editing session.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "collaboration": {}, + "collabDocumentId": { + "type": "string" + }, + "collabUrl": { + "type": "string" + } + }, + "required": [ + "doc" + ], + "additionalProperties": false + } + }, + { + "name": "save_document", + "description": "Save the current session to the original file or a new path.", + "input_schema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + } + }, + "additionalProperties": false + } + }, + { + "name": "close_document", + "description": "Close the active editing session and clean up resources.", + "input_schema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "discard": { + "type": "boolean" + } + }, + "additionalProperties": false + } + }, + { + "name": "get_status", + "description": "Show the current session status and document metadata.", + "input_schema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + { + "name": "describe_commands", + "description": "List all available CLI operations and contract metadata.", + "input_schema": { + "type": "object", + "properties": {}, + "additionalProperties": false + } + }, + { + "name": "describe_command", + "description": "Show detailed metadata for a single CLI operation.", + "input_schema": { + "type": "object", + "properties": { + "operationId": { + "type": "string" + } + }, + "required": [ + "operationId" + ], + "additionalProperties": false + } + }, + { + "name": "list_sessions", + "description": "List all active editing sessions.", + "input_schema": { + "type": "object", + "properties": {}, + "additionalProperties": false + } + }, + { + "name": "save_session", + "description": "Persist the current session state.", + "input_schema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + } + }, + "required": [ + "sessionId" + ], + "additionalProperties": false + } + }, + { + "name": "close_session", + "description": "Close a specific editing session by ID.", + "input_schema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "discard": { + "type": "boolean" + } + }, + "required": [ + "sessionId" + ], + "additionalProperties": false + } + }, + { + "name": "set_default_session", + "description": "Set the default session for subsequent commands.", + "input_schema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + } + }, + "required": [ + "sessionId" + ], + "additionalProperties": false + } + } + ], + "operation": [ + { + "name": "doc_find", + "description": "Search the document for nodes matching type, text, or attribute criteria.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "within": { + "oneOf": [ + { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "inline" + }, + "nodeType": { + "oneOf": [ + { + "const": "run" + }, + { + "const": "bookmark" + }, + { + "const": "comment" + }, + { + "const": "hyperlink" + }, + { + "const": "sdt" + }, + { + "const": "image" + }, + { + "const": "footnoteRef" + }, + { + "const": "tab" + }, + { + "const": "lineBreak" + } + ] + }, + "anchor": { + "type": "object", + "properties": { + "start": { + "type": "object", + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "number" + } + }, + "required": [ + "blockId", + "offset" + ] + }, + "end": { + "type": "object", + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "number" + } + }, + "required": [ + "blockId", + "offset" + ] + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ] + } + ] + }, + "limit": { + "type": "number" + }, + "offset": { + "type": "number" + }, + "includeNodes": { + "type": "boolean" + }, + "includeUnknown": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "nodeType": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "pattern": { + "type": "string" + }, + "mode": { + "type": "string" + }, + "caseSensitive": { + "type": "boolean" + }, + "query": {} + }, + "additionalProperties": false + } + }, + { + "name": "doc_getNode", + "description": "Retrieve a single node by target position.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "address": {} + }, + "additionalProperties": false + } + }, + { + "name": "doc_getNodeById", + "description": "Retrieve a single node by its unique ID.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + }, + "nodeType": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + }, + { + "name": "doc_info", + "description": "Return document metadata including revision, node count, and capabilities.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + { + "name": "doc_insert", + "description": "Insert text or inline content at a target position.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "additionalProperties": false + } + }, + { + "name": "doc_replace", + "description": "Replace content at a target position with new text or inline content.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "text" + ], + "additionalProperties": false + } + }, + { + "name": "doc_delete", + "description": "Delete content at a target position.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + } + }, + { + "name": "doc_format_bold", + "description": "Toggle bold formatting on the target range.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + } + }, + { + "name": "doc_format_italic", + "description": "Toggle italic formatting on the target range.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + } + }, + { + "name": "doc_format_underline", + "description": "Toggle underline formatting on the target range.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + } + }, + { + "name": "doc_format_strikethrough", + "description": "Toggle strikethrough formatting on the target range.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + } + }, + { + "name": "doc_create_paragraph", + "description": "Create a new paragraph at the target position.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "at": { + "oneOf": [ + { + "type": "object", + "properties": { + "kind": { + "const": "documentStart" + } + }, + "required": [ + "kind" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "documentEnd" + } + }, + "required": [ + "kind" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "before" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "kind", + "target" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "after" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "kind", + "target" + ] + } + ] + }, + "text": { + "type": "string" + }, + "input": {} + }, + "additionalProperties": false + } + }, + { + "name": "doc_lists_list", + "description": "List all list nodes in the document, optionally filtered by scope.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "within": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "limit": { + "type": "number" + }, + "offset": { + "type": "number" + }, + "kind": { + "type": "string" + }, + "level": { + "type": "number" + }, + "ordinal": { + "type": "number" + }, + "query": {} + }, + "additionalProperties": false + } + }, + { + "name": "doc_lists_get", + "description": "Retrieve a specific list node by target.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "address": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "address" + ], + "additionalProperties": false + } + }, + { + "name": "doc_lists_insert", + "description": "Insert a new list at the target position.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "position": { + "type": "string" + }, + "text": { + "type": "string" + }, + "input": {} + }, + "additionalProperties": false + } + }, + { + "name": "doc_lists_setType", + "description": "Change the list type (ordered, unordered) of a target list.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "kind": { + "type": "string" + }, + "input": {} + }, + "additionalProperties": false + } + }, + { + "name": "doc_lists_indent", + "description": "Increase the indentation level of a list item.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + } + }, + { + "name": "doc_lists_outdent", + "description": "Decrease the indentation level of a list item.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + } + }, + { + "name": "doc_lists_restart", + "description": "Restart numbering of an ordered list at the target item.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + } + }, + { + "name": "doc_lists_exit", + "description": "Exit a list context, converting the target item to a paragraph.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + } + }, + { + "name": "doc_comments_add", + "description": "Add a new comment thread anchored to a target range.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "text" + ], + "additionalProperties": false + } + }, + { + "name": "doc_comments_edit", + "description": "Edit the content of an existing comment.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "id", + "text" + ], + "additionalProperties": false + } + }, + { + "name": "doc_comments_reply", + "description": "Add a reply to an existing comment thread.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "parentId": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "parentId", + "text" + ], + "additionalProperties": false + } + }, + { + "name": "doc_comments_move", + "description": "Move a comment thread to a new anchor range.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "id", + "target" + ], + "additionalProperties": false + } + }, + { + "name": "doc_comments_resolve", + "description": "Resolve or unresolve a comment thread.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + }, + { + "name": "doc_comments_remove", + "description": "Remove a comment or reply by ID.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + }, + { + "name": "doc_comments_setInternal", + "description": "Toggle the internal (private) flag on a comment thread.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "isInternal": { + "type": "boolean" + } + }, + "required": [ + "id", + "isInternal" + ], + "additionalProperties": false + } + }, + { + "name": "doc_comments_setActive", + "description": "Set the active (focused) comment thread for UI highlighting.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "commentId": { + "type": "json" + }, + "id": { + "type": "string" + }, + "clear": { + "type": "boolean" + } + }, + "additionalProperties": false + } + }, + { + "name": "doc_comments_goTo", + "description": "Scroll the viewport to a comment thread by ID.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + }, + { + "name": "doc_comments_get", + "description": "Retrieve a single comment thread by ID.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + }, + { + "name": "doc_comments_list", + "description": "List all comment threads in the document.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "includeResolved": { + "type": "boolean" + } + }, + "additionalProperties": false + } + }, + { + "name": "doc_trackChanges_list", + "description": "List all tracked changes in the document.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "limit": { + "type": "number" + }, + "offset": { + "type": "number" + }, + "type": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + { + "name": "doc_trackChanges_get", + "description": "Retrieve a single tracked change by ID.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + }, + { + "name": "doc_trackChanges_accept", + "description": "Accept a tracked change, applying it permanently.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + }, + { + "name": "doc_trackChanges_reject", + "description": "Reject a tracked change, reverting it.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + }, + { + "name": "doc_trackChanges_acceptAll", + "description": "Accept all tracked changes in the document.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + } + }, + "additionalProperties": false + } + }, + { + "name": "doc_trackChanges_rejectAll", + "description": "Reject all tracked changes in the document.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + } + }, + "additionalProperties": false + } + }, + { + "name": "doc_open", + "description": "Open a document and create a persistent editing session.", + "input_schema": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "collaboration": {}, + "collabDocumentId": { + "type": "string" + }, + "collabUrl": { + "type": "string" + } + }, + "required": [ + "doc" + ], + "additionalProperties": false + } + }, + { + "name": "doc_save", + "description": "Save the current session to the original file or a new path.", + "input_schema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + } + }, + "additionalProperties": false + } + }, + { + "name": "doc_close", + "description": "Close the active editing session and clean up resources.", + "input_schema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "discard": { + "type": "boolean" + } + }, + "additionalProperties": false + } + }, + { + "name": "doc_status", + "description": "Show the current session status and document metadata.", + "input_schema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + { + "name": "doc_describe", + "description": "List all available CLI operations and contract metadata.", + "input_schema": { + "type": "object", + "properties": {}, + "additionalProperties": false + } + }, + { + "name": "doc_describeCommand", + "description": "Show detailed metadata for a single CLI operation.", + "input_schema": { + "type": "object", + "properties": { + "operationId": { + "type": "string" + } + }, + "required": [ + "operationId" + ], + "additionalProperties": false + } + }, + { + "name": "doc_session_list", + "description": "List all active editing sessions.", + "input_schema": { + "type": "object", + "properties": {}, + "additionalProperties": false + } + }, + { + "name": "doc_session_save", + "description": "Persist the current session state.", + "input_schema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + } + }, + "required": [ + "sessionId" + ], + "additionalProperties": false + } + }, + { + "name": "doc_session_close", + "description": "Close a specific editing session by ID.", + "input_schema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "discard": { + "type": "boolean" + } + }, + "required": [ + "sessionId" + ], + "additionalProperties": false + } + }, + { + "name": "doc_session_setDefault", + "description": "Set the default session for subsequent commands.", + "input_schema": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + } + }, + "required": [ + "sessionId" + ], + "additionalProperties": false + } + } + ] + } +} diff --git a/packages/sdk/tools/tools.generic.json b/packages/sdk/tools/tools.generic.json new file mode 100644 index 0000000000..6835c7271f --- /dev/null +++ b/packages/sdk/tools/tools.generic.json @@ -0,0 +1,16855 @@ +{ + "contractVersion": "0.1.0", + "profiles": { + "intent": [ + { + "name": "find_content", + "description": "Search the document for nodes matching type, text, or attribute criteria.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "within": { + "oneOf": [ + { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "inline" + }, + "nodeType": { + "oneOf": [ + { + "const": "run" + }, + { + "const": "bookmark" + }, + { + "const": "comment" + }, + { + "const": "hyperlink" + }, + { + "const": "sdt" + }, + { + "const": "image" + }, + { + "const": "footnoteRef" + }, + { + "const": "tab" + }, + { + "const": "lineBreak" + } + ] + }, + "anchor": { + "type": "object", + "properties": { + "start": { + "type": "object", + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "number" + } + }, + "required": [ + "blockId", + "offset" + ] + }, + "end": { + "type": "object", + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "number" + } + }, + "required": [ + "blockId", + "offset" + ] + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ] + } + ] + }, + "limit": { + "type": "number" + }, + "offset": { + "type": "number" + }, + "includeNodes": { + "type": "boolean" + }, + "includeUnknown": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "nodeType": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "pattern": { + "type": "string" + }, + "mode": { + "type": "string" + }, + "caseSensitive": { + "type": "boolean" + }, + "query": {} + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "context": { + "items": { + "additionalProperties": false, + "properties": { + "address": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt" + ] + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "anchor": { + "additionalProperties": false, + "properties": { + "end": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + }, + "start": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "kind": { + "const": "inline" + }, + "nodeType": { + "enum": [ + "run", + "bookmark", + "comment", + "hyperlink", + "sdt", + "image", + "footnoteRef", + "tab", + "lineBreak" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ], + "type": "object" + } + ] + }, + "highlightRange": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "snippet": { + "type": "string" + }, + "textRanges": { + "items": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "address", + "snippet", + "highlightRange" + ], + "type": "object" + }, + "type": "array" + }, + "diagnostics": { + "items": { + "additionalProperties": false, + "properties": { + "address": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt" + ] + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "anchor": { + "additionalProperties": false, + "properties": { + "end": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + }, + "start": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "kind": { + "const": "inline" + }, + "nodeType": { + "enum": [ + "run", + "bookmark", + "comment", + "hyperlink", + "sdt", + "image", + "footnoteRef", + "tab", + "lineBreak" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ], + "type": "object" + } + ] + }, + "hint": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "type": "array" + }, + "matches": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt" + ] + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "anchor": { + "additionalProperties": false, + "properties": { + "end": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + }, + "start": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "kind": { + "const": "inline" + }, + "nodeType": { + "enum": [ + "run", + "bookmark", + "comment", + "hyperlink", + "sdt", + "image", + "footnoteRef", + "tab", + "lineBreak" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "nodes": { + "items": { + "additionalProperties": false, + "properties": { + "bodyNodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "bodyText": { + "type": "string" + }, + "kind": { + "enum": [ + "block", + "inline" + ] + }, + "nodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt", + "run", + "bookmark", + "comment", + "hyperlink", + "footnoteRef", + "tab", + "lineBreak" + ] + }, + "properties": { + "type": "object" + }, + "summary": { + "additionalProperties": false, + "properties": { + "label": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "nodeType", + "kind" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "matches", + "total" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.find", + "profile": "intent", + "mutates": false, + "category": "query", + "capabilities": [ + "search", + "session-targeting", + "stateless-doc" + ], + "constraints": { + "requiresOneOf": [ + [ + "type", + "query" + ] + ], + "mutuallyExclusive": [ + [ + "type", + "query" + ] + ] + }, + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "find" + ] + } + }, + { + "name": "get_node", + "description": "Retrieve a single node by target position.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "address": {} + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "bodyNodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "bodyText": { + "type": "string" + }, + "kind": { + "enum": [ + "block", + "inline" + ] + }, + "nodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt", + "run", + "bookmark", + "comment", + "hyperlink", + "footnoteRef", + "tab", + "lineBreak" + ] + }, + "properties": { + "type": "object" + }, + "summary": { + "additionalProperties": false, + "properties": { + "label": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "nodeType", + "kind" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.getNode", + "profile": "intent", + "mutates": false, + "category": "query", + "capabilities": [ + "search", + "session-targeting", + "stateless-doc" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "get-node" + ] + } + }, + { + "name": "get_node_by_id", + "description": "Retrieve a single node by its unique ID.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + }, + "nodeType": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "bodyNodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "bodyText": { + "type": "string" + }, + "kind": { + "enum": [ + "block", + "inline" + ] + }, + "nodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt", + "run", + "bookmark", + "comment", + "hyperlink", + "footnoteRef", + "tab", + "lineBreak" + ] + }, + "properties": { + "type": "object" + }, + "summary": { + "additionalProperties": false, + "properties": { + "label": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "nodeType", + "kind" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.getNodeById", + "profile": "intent", + "mutates": false, + "category": "query", + "capabilities": [ + "search", + "session-targeting", + "stateless-doc" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "get-node-by-id" + ] + } + }, + { + "name": "get_document_info", + "description": "Return document metadata including revision, node count, and capabilities.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "capabilities": { + "additionalProperties": false, + "properties": { + "canComment": { + "type": "boolean" + }, + "canFind": { + "type": "boolean" + }, + "canGetNode": { + "type": "boolean" + }, + "canReplace": { + "type": "boolean" + } + }, + "required": [ + "canFind", + "canGetNode", + "canComment", + "canReplace" + ], + "type": "object" + }, + "counts": { + "additionalProperties": false, + "properties": { + "comments": { + "type": "integer" + }, + "headings": { + "type": "integer" + }, + "images": { + "type": "integer" + }, + "paragraphs": { + "type": "integer" + }, + "tables": { + "type": "integer" + }, + "words": { + "type": "integer" + } + }, + "required": [ + "words", + "paragraphs", + "headings", + "tables", + "images", + "comments" + ], + "type": "object" + }, + "outline": { + "items": { + "additionalProperties": false, + "properties": { + "level": { + "type": "integer" + }, + "nodeId": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "level", + "text", + "nodeId" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "counts", + "outline", + "capabilities" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.info", + "profile": "intent", + "mutates": false, + "category": "query", + "capabilities": [ + "search", + "session-targeting", + "stateless-doc" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "info" + ] + } + }, + { + "name": "insert_content", + "description": "Insert text or inline content at a target position.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.insert", + "profile": "intent", + "mutates": true, + "category": "mutation", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "insert" + ] + } + }, + { + "name": "replace_content", + "description": "Replace content at a target position with new text or inline content.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "text" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.replace", + "profile": "intent", + "mutates": true, + "category": "mutation", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "replace" + ] + } + }, + { + "name": "delete_content", + "description": "Delete content at a target position.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.delete", + "profile": "intent", + "mutates": true, + "category": "mutation", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "delete" + ] + } + }, + { + "name": "format_bold", + "description": "Toggle bold formatting on the target range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.format.bold", + "profile": "intent", + "mutates": true, + "category": "format", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "format", + "bold" + ] + } + }, + { + "name": "format_italic", + "description": "Toggle italic formatting on the target range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.format.italic", + "profile": "intent", + "mutates": true, + "category": "format", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "format", + "italic" + ] + } + }, + { + "name": "format_underline", + "description": "Toggle underline formatting on the target range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.format.underline", + "profile": "intent", + "mutates": true, + "category": "format", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "format", + "underline" + ] + } + }, + { + "name": "format_strikethrough", + "description": "Toggle strikethrough formatting on the target range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.format.strikethrough", + "profile": "intent", + "mutates": true, + "category": "format", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "format", + "strikethrough" + ] + } + }, + { + "name": "create_paragraph", + "description": "Create a new paragraph at the target position.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "at": { + "oneOf": [ + { + "type": "object", + "properties": { + "kind": { + "const": "documentStart" + } + }, + "required": [ + "kind" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "documentEnd" + } + }, + "required": [ + "kind" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "before" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "kind", + "target" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "after" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "kind", + "target" + ] + } + ] + }, + "text": { + "type": "string" + }, + "input": {} + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "insertionPoint": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "paragraph": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "paragraph" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + }, + "trackedChangeRefs": { + "items": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "success", + "paragraph", + "insertionPoint" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.create.paragraph", + "profile": "intent", + "mutates": true, + "category": "create", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "structural-create", + "tracked-change-mode" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "create", + "paragraph" + ] + } + }, + { + "name": "list_lists", + "description": "List all list nodes in the document, optionally filtered by scope.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "within": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "limit": { + "type": "number" + }, + "offset": { + "type": "number" + }, + "kind": { + "type": "string" + }, + "level": { + "type": "number" + }, + "ordinal": { + "type": "number" + }, + "query": {} + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "items": { + "items": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "kind": { + "enum": [ + "ordered", + "bullet" + ] + }, + "level": { + "type": "integer" + }, + "marker": { + "type": "string" + }, + "ordinal": { + "type": "integer" + }, + "path": { + "items": { + "type": "integer" + }, + "type": "array" + }, + "text": { + "type": "string" + } + }, + "required": [ + "address" + ], + "type": "object" + }, + "type": "array" + }, + "matches": { + "items": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "matches", + "total", + "items" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.lists.list", + "profile": "intent", + "mutates": false, + "category": "lists", + "capabilities": [ + "session-targeting", + "stateless-doc" + ], + "constraints": { + "mutuallyExclusive": [ + [ + "query", + "within" + ], + [ + "query", + "kind" + ], + [ + "query", + "level" + ], + [ + "query", + "ordinal" + ], + [ + "query", + "limit" + ], + [ + "query", + "offset" + ] + ] + }, + "requiredCapabilities": [ + "hasLists" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "lists", + "list" + ] + } + }, + { + "name": "get_list", + "description": "Retrieve a specific list node by target.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "address": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "address" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "kind": { + "enum": [ + "ordered", + "bullet" + ] + }, + "level": { + "type": "integer" + }, + "marker": { + "type": "string" + }, + "ordinal": { + "type": "integer" + }, + "path": { + "items": { + "type": "integer" + }, + "type": "array" + }, + "text": { + "type": "string" + } + }, + "required": [ + "address" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.lists.get", + "profile": "intent", + "mutates": false, + "category": "lists", + "capabilities": [ + "session-targeting", + "stateless-doc" + ], + "requiredCapabilities": [ + "hasLists" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "lists", + "get" + ] + } + }, + { + "name": "insert_list", + "description": "Insert a new list at the target position.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "position": { + "type": "string" + }, + "text": { + "type": "string" + }, + "input": {} + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "insertionPoint": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + }, + "trackedChangeRefs": { + "items": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "success", + "item", + "insertionPoint" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.lists.insert", + "profile": "intent", + "mutates": true, + "category": "lists", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasLists" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "lists", + "insert" + ] + } + }, + { + "name": "set_list_type", + "description": "Change the list type (ordered, unordered) of a target list.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "kind": { + "type": "string" + }, + "input": {} + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.lists.setType", + "profile": "intent", + "mutates": true, + "category": "lists", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasLists" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "lists", + "set-type" + ] + } + }, + { + "name": "indent_list", + "description": "Increase the indentation level of a list item.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.lists.indent", + "profile": "intent", + "mutates": true, + "category": "lists", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasLists" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "lists", + "indent" + ] + } + }, + { + "name": "outdent_list", + "description": "Decrease the indentation level of a list item.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.lists.outdent", + "profile": "intent", + "mutates": true, + "category": "lists", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasLists" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "lists", + "outdent" + ] + } + }, + { + "name": "restart_list_numbering", + "description": "Restart numbering of an ordered list at the target item.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.lists.restart", + "profile": "intent", + "mutates": true, + "category": "lists", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasLists" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "lists", + "restart" + ] + } + }, + { + "name": "exit_list", + "description": "Exit a list context, converting the target item to a paragraph.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "paragraph": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "paragraph" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "paragraph" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.lists.exit", + "profile": "intent", + "mutates": true, + "category": "lists", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasLists" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "lists", + "exit" + ] + } + }, + { + "name": "add_comment", + "description": "Add a new comment thread anchored to a target range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "text" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.comments.add", + "profile": "intent", + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasComments" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "comments", + "add" + ] + } + }, + { + "name": "edit_comment", + "description": "Edit the content of an existing comment.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "id", + "text" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.comments.edit", + "profile": "intent", + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasComments" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "comments", + "edit" + ] + } + }, + { + "name": "reply_to_comment", + "description": "Add a reply to an existing comment thread.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "parentId": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "parentId", + "text" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.comments.reply", + "profile": "intent", + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasComments" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "comments", + "reply" + ] + } + }, + { + "name": "move_comment", + "description": "Move a comment thread to a new anchor range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "id", + "target" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.comments.move", + "profile": "intent", + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasComments" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "comments", + "move" + ] + } + }, + { + "name": "resolve_comment", + "description": "Resolve or unresolve a comment thread.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.comments.resolve", + "profile": "intent", + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasComments" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "comments", + "resolve" + ] + } + }, + { + "name": "remove_comment", + "description": "Remove a comment or reply by ID.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.comments.remove", + "profile": "intent", + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasComments" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "comments", + "remove" + ] + } + }, + { + "name": "set_comment_internal", + "description": "Toggle the internal (private) flag on a comment thread.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "isInternal": { + "type": "boolean" + } + }, + "required": [ + "id", + "isInternal" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.comments.setInternal", + "profile": "intent", + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasComments" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "comments", + "set-internal" + ] + } + }, + { + "name": "set_comment_active", + "description": "Set the active (focused) comment thread for UI highlighting.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "commentId": { + "type": "json" + }, + "id": { + "type": "string" + }, + "clear": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.comments.setActive", + "profile": "intent", + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "constraints": { + "requiresOneOf": [ + [ + "id", + "clear" + ] + ], + "mutuallyExclusive": [ + [ + "id", + "clear" + ] + ] + }, + "requiredCapabilities": [ + "hasComments" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "comments", + "set-active" + ] + } + }, + { + "name": "go_to_comment", + "description": "Scroll the viewport to a comment thread by ID.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.comments.goTo", + "profile": "intent", + "mutates": false, + "category": "comments", + "capabilities": [ + "comments", + "session-targeting", + "stateless-doc" + ], + "requiredCapabilities": [ + "hasComments" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "comments", + "go-to" + ] + } + }, + { + "name": "get_comment", + "description": "Retrieve a single comment thread by ID.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "commentId": { + "type": "string" + }, + "createdTime": { + "type": "number" + }, + "creatorEmail": { + "type": "string" + }, + "creatorName": { + "type": "string" + }, + "importedId": { + "type": "string" + }, + "isInternal": { + "type": "boolean" + }, + "parentCommentId": { + "type": "string" + }, + "status": { + "enum": [ + "open", + "resolved" + ] + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "address", + "commentId", + "status" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.comments.get", + "profile": "intent", + "mutates": false, + "category": "comments", + "capabilities": [ + "comments", + "session-targeting", + "stateless-doc" + ], + "requiredCapabilities": [ + "hasComments" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "comments", + "get" + ] + } + }, + { + "name": "list_comments", + "description": "List all comment threads in the document.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "includeResolved": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "matches": { + "items": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "commentId": { + "type": "string" + }, + "createdTime": { + "type": "number" + }, + "creatorEmail": { + "type": "string" + }, + "creatorName": { + "type": "string" + }, + "importedId": { + "type": "string" + }, + "isInternal": { + "type": "boolean" + }, + "parentCommentId": { + "type": "string" + }, + "status": { + "enum": [ + "open", + "resolved" + ] + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "address", + "commentId", + "status" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "matches", + "total" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.comments.list", + "profile": "intent", + "mutates": false, + "category": "comments", + "capabilities": [ + "comments", + "session-targeting", + "stateless-doc" + ], + "requiredCapabilities": [ + "hasComments" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "comments", + "list" + ] + } + }, + { + "name": "list_tracked_changes", + "description": "List all tracked changes in the document.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "limit": { + "type": "number" + }, + "offset": { + "type": "number" + }, + "type": { + "type": "string" + } + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "changes": { + "items": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "author": { + "type": "string" + }, + "authorEmail": { + "type": "string" + }, + "authorImage": { + "type": "string" + }, + "date": { + "type": "string" + }, + "excerpt": { + "type": "string" + }, + "id": { + "type": "string" + }, + "type": { + "enum": [ + "insert", + "delete", + "format" + ] + } + }, + "required": [ + "address", + "id", + "type" + ], + "type": "object" + }, + "type": "array" + }, + "matches": { + "items": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "matches", + "total" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.trackChanges.list", + "profile": "intent", + "mutates": false, + "category": "trackChanges", + "capabilities": [ + "session-targeting", + "stateless-doc", + "track-changes" + ], + "requiredCapabilities": [ + "hasTrackedChanges" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "track-changes", + "list" + ] + } + }, + { + "name": "get_tracked_change", + "description": "Retrieve a single tracked change by ID.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "author": { + "type": "string" + }, + "authorEmail": { + "type": "string" + }, + "authorImage": { + "type": "string" + }, + "date": { + "type": "string" + }, + "excerpt": { + "type": "string" + }, + "id": { + "type": "string" + }, + "type": { + "enum": [ + "insert", + "delete", + "format" + ] + } + }, + "required": [ + "address", + "id", + "type" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.trackChanges.get", + "profile": "intent", + "mutates": false, + "category": "trackChanges", + "capabilities": [ + "session-targeting", + "stateless-doc", + "track-changes" + ], + "requiredCapabilities": [ + "hasTrackedChanges" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "track-changes", + "get" + ] + } + }, + { + "name": "accept_tracked_change", + "description": "Accept a tracked change, applying it permanently.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.trackChanges.accept", + "profile": "intent", + "mutates": true, + "category": "trackChanges", + "capabilities": [ + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "track-changes", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasTrackedChanges" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "track-changes", + "accept" + ] + } + }, + { + "name": "reject_tracked_change", + "description": "Reject a tracked change, reverting it.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.trackChanges.reject", + "profile": "intent", + "mutates": true, + "category": "trackChanges", + "capabilities": [ + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "track-changes", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasTrackedChanges" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "track-changes", + "reject" + ] + } + }, + { + "name": "accept_all_tracked_changes", + "description": "Accept all tracked changes in the document.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.trackChanges.acceptAll", + "profile": "intent", + "mutates": true, + "category": "trackChanges", + "capabilities": [ + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "track-changes", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasTrackedChanges" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "track-changes", + "accept-all" + ] + } + }, + { + "name": "reject_all_tracked_changes", + "description": "Reject all tracked changes in the document.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.trackChanges.rejectAll", + "profile": "intent", + "mutates": true, + "category": "trackChanges", + "capabilities": [ + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "track-changes", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasTrackedChanges" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "track-changes", + "reject-all" + ] + } + }, + { + "name": "open_document", + "description": "Open a document and create a persistent editing session.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "collaboration": {}, + "collabDocumentId": { + "type": "string" + }, + "collabUrl": { + "type": "string" + } + }, + "required": [ + "doc" + ], + "additionalProperties": false + }, + "returns": { + "type": "object", + "properties": { + "contextId": { + "type": "string" + }, + "sessionType": { + "type": "string" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + }, + "revision": { + "type": "number" + } + } + }, + "collaboration": { + "type": "object", + "properties": { + "documentId": { + "type": "string" + }, + "url": { + "type": "string" + } + } + } + }, + "required": [ + "contextId", + "sessionType" + ] + }, + "metadata": { + "operationId": "doc.open", + "profile": "intent", + "mutates": false, + "category": "lifecycle", + "capabilities": [ + "session-targeting", + "stateless-doc" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "open" + ] + } + }, + { + "name": "save_document", + "description": "Save the current session to the original file or a new path.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "returns": { + "type": "object", + "properties": { + "contextId": { + "type": "string" + }, + "saved": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + }, + "revision": { + "type": "number" + } + } + }, + "context": { + "type": "object", + "properties": { + "dirty": { + "type": "boolean" + }, + "revision": { + "type": "number" + }, + "lastSavedAt": { + "type": "string" + } + } + }, + "output": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "byteLength": { + "type": "number" + } + } + } + }, + "required": [ + "contextId", + "saved" + ] + }, + "metadata": { + "operationId": "doc.save", + "profile": "intent", + "mutates": true, + "category": "lifecycle", + "capabilities": [ + "output-path", + "session-targeting" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "save" + ] + } + }, + { + "name": "close_document", + "description": "Close the active editing session and clean up resources.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "discard": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "returns": { + "type": "object", + "properties": { + "contextId": { + "type": "string" + }, + "closed": { + "type": "boolean" + }, + "saved": { + "type": "boolean" + }, + "discarded": { + "type": "boolean" + }, + "defaultSessionCleared": { + "type": "boolean" + }, + "wasDirty": { + "type": "boolean" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + }, + "revision": { + "type": "number" + } + } + } + }, + "required": [ + "contextId", + "closed" + ] + }, + "metadata": { + "operationId": "doc.close", + "profile": "intent", + "mutates": false, + "category": "lifecycle", + "capabilities": [ + "session-targeting" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "close" + ] + } + }, + { + "name": "get_status", + "description": "Show the current session status and document metadata.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "returns": { + "type": "object", + "properties": { + "contextId": { + "type": "string" + }, + "sessionType": { + "type": "string" + }, + "dirty": { + "type": "boolean" + }, + "revision": { + "type": "number" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + } + } + } + }, + "required": [ + "contextId" + ] + }, + "metadata": { + "operationId": "doc.status", + "profile": "intent", + "mutates": false, + "category": "introspection", + "capabilities": [ + "introspection", + "session-targeting" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "status" + ] + } + }, + { + "name": "describe_commands", + "description": "List all available CLI operations and contract metadata.", + "parameters": { + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "returns": { + "type": "object", + "properties": { + "contractVersion": { + "type": "string" + }, + "operations": { + "type": "array", + "items": { + "type": "object", + "properties": { + "operationId": { + "type": "string" + }, + "command": { + "type": "string" + }, + "category": { + "type": "string" + }, + "description": { + "type": "string" + }, + "mutates": { + "type": "boolean" + } + } + } + } + } + }, + "metadata": { + "operationId": "doc.describe", + "profile": "intent", + "mutates": false, + "category": "introspection", + "capabilities": [ + "introspection" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "describe" + ] + } + }, + { + "name": "describe_command", + "description": "Show detailed metadata for a single CLI operation.", + "parameters": { + "type": "object", + "properties": { + "operationId": { + "type": "string" + } + }, + "required": [ + "operationId" + ], + "additionalProperties": false + }, + "returns": { + "type": "object", + "properties": { + "operationId": { + "type": "string" + }, + "command": { + "type": "string" + }, + "category": { + "type": "string" + }, + "description": { + "type": "string" + }, + "mutates": { + "type": "boolean" + }, + "params": { + "type": "array" + }, + "constraints": {} + } + }, + "metadata": { + "operationId": "doc.describeCommand", + "profile": "intent", + "mutates": false, + "category": "introspection", + "capabilities": [ + "introspection" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "describe", + "command" + ] + } + }, + { + "name": "list_sessions", + "description": "List all active editing sessions.", + "parameters": { + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "returns": { + "type": "object", + "properties": { + "activeSessionId": { + "type": "string" + }, + "sessions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "sessionType": { + "type": "string" + }, + "dirty": { + "type": "boolean" + }, + "revision": { + "type": "number" + } + } + } + }, + "total": { + "type": "number" + } + } + }, + "metadata": { + "operationId": "doc.session.list", + "profile": "intent", + "mutates": false, + "category": "session", + "capabilities": [ + "session-management" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "session", + "list" + ] + } + }, + { + "name": "save_session", + "description": "Persist the current session state.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + } + }, + "required": [ + "sessionId" + ], + "additionalProperties": false + }, + "returns": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "contextId": { + "type": "string" + }, + "saved": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + }, + "revision": { + "type": "number" + } + } + }, + "output": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "byteLength": { + "type": "number" + } + } + } + }, + "required": [ + "sessionId" + ] + }, + "metadata": { + "operationId": "doc.session.save", + "profile": "intent", + "mutates": true, + "category": "session", + "capabilities": [ + "output-path", + "session-management", + "session-targeting" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "session", + "save" + ] + } + }, + { + "name": "close_session", + "description": "Close a specific editing session by ID.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "discard": { + "type": "boolean" + } + }, + "required": [ + "sessionId" + ], + "additionalProperties": false + }, + "returns": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "contextId": { + "type": "string" + }, + "closed": { + "type": "boolean" + }, + "saved": { + "type": "boolean" + }, + "discarded": { + "type": "boolean" + }, + "defaultSessionCleared": { + "type": "boolean" + }, + "wasDirty": { + "type": "boolean" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + }, + "revision": { + "type": "number" + } + } + } + }, + "required": [ + "sessionId" + ] + }, + "metadata": { + "operationId": "doc.session.close", + "profile": "intent", + "mutates": false, + "category": "session", + "capabilities": [ + "session-management", + "session-targeting" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "session", + "close" + ] + } + }, + { + "name": "set_default_session", + "description": "Set the default session for subsequent commands.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + } + }, + "required": [ + "sessionId" + ], + "additionalProperties": false + }, + "returns": { + "type": "object", + "properties": { + "activeSessionId": { + "type": "string" + } + }, + "required": [ + "activeSessionId" + ] + }, + "metadata": { + "operationId": "doc.session.setDefault", + "profile": "intent", + "mutates": false, + "category": "session", + "capabilities": [ + "session-management", + "session-targeting" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "session", + "set-default" + ] + } + } + ], + "operation": [ + { + "name": "doc_find", + "description": "Search the document for nodes matching type, text, or attribute criteria.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "within": { + "oneOf": [ + { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "inline" + }, + "nodeType": { + "oneOf": [ + { + "const": "run" + }, + { + "const": "bookmark" + }, + { + "const": "comment" + }, + { + "const": "hyperlink" + }, + { + "const": "sdt" + }, + { + "const": "image" + }, + { + "const": "footnoteRef" + }, + { + "const": "tab" + }, + { + "const": "lineBreak" + } + ] + }, + "anchor": { + "type": "object", + "properties": { + "start": { + "type": "object", + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "number" + } + }, + "required": [ + "blockId", + "offset" + ] + }, + "end": { + "type": "object", + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "number" + } + }, + "required": [ + "blockId", + "offset" + ] + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ] + } + ] + }, + "limit": { + "type": "number" + }, + "offset": { + "type": "number" + }, + "includeNodes": { + "type": "boolean" + }, + "includeUnknown": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "nodeType": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "pattern": { + "type": "string" + }, + "mode": { + "type": "string" + }, + "caseSensitive": { + "type": "boolean" + }, + "query": {} + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "context": { + "items": { + "additionalProperties": false, + "properties": { + "address": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt" + ] + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "anchor": { + "additionalProperties": false, + "properties": { + "end": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + }, + "start": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "kind": { + "const": "inline" + }, + "nodeType": { + "enum": [ + "run", + "bookmark", + "comment", + "hyperlink", + "sdt", + "image", + "footnoteRef", + "tab", + "lineBreak" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ], + "type": "object" + } + ] + }, + "highlightRange": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "snippet": { + "type": "string" + }, + "textRanges": { + "items": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "address", + "snippet", + "highlightRange" + ], + "type": "object" + }, + "type": "array" + }, + "diagnostics": { + "items": { + "additionalProperties": false, + "properties": { + "address": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt" + ] + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "anchor": { + "additionalProperties": false, + "properties": { + "end": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + }, + "start": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "kind": { + "const": "inline" + }, + "nodeType": { + "enum": [ + "run", + "bookmark", + "comment", + "hyperlink", + "sdt", + "image", + "footnoteRef", + "tab", + "lineBreak" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ], + "type": "object" + } + ] + }, + "hint": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "type": "array" + }, + "matches": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt" + ] + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "anchor": { + "additionalProperties": false, + "properties": { + "end": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + }, + "start": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "integer" + } + }, + "required": [ + "blockId", + "offset" + ], + "type": "object" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "kind": { + "const": "inline" + }, + "nodeType": { + "enum": [ + "run", + "bookmark", + "comment", + "hyperlink", + "sdt", + "image", + "footnoteRef", + "tab", + "lineBreak" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "nodes": { + "items": { + "additionalProperties": false, + "properties": { + "bodyNodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "bodyText": { + "type": "string" + }, + "kind": { + "enum": [ + "block", + "inline" + ] + }, + "nodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt", + "run", + "bookmark", + "comment", + "hyperlink", + "footnoteRef", + "tab", + "lineBreak" + ] + }, + "properties": { + "type": "object" + }, + "summary": { + "additionalProperties": false, + "properties": { + "label": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "nodeType", + "kind" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "matches", + "total" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.find", + "profile": "operation", + "mutates": false, + "category": "query", + "capabilities": [ + "search", + "session-targeting", + "stateless-doc" + ], + "constraints": { + "requiresOneOf": [ + [ + "type", + "query" + ] + ], + "mutuallyExclusive": [ + [ + "type", + "query" + ] + ] + }, + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "find" + ] + } + }, + { + "name": "doc_getNode", + "description": "Retrieve a single node by target position.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "address": {} + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "bodyNodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "bodyText": { + "type": "string" + }, + "kind": { + "enum": [ + "block", + "inline" + ] + }, + "nodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt", + "run", + "bookmark", + "comment", + "hyperlink", + "footnoteRef", + "tab", + "lineBreak" + ] + }, + "properties": { + "type": "object" + }, + "summary": { + "additionalProperties": false, + "properties": { + "label": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "nodeType", + "kind" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.getNode", + "profile": "operation", + "mutates": false, + "category": "query", + "capabilities": [ + "search", + "session-targeting", + "stateless-doc" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "get-node" + ] + } + }, + { + "name": "doc_getNodeById", + "description": "Retrieve a single node by its unique ID.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + }, + "nodeType": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "bodyNodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "bodyText": { + "type": "string" + }, + "kind": { + "enum": [ + "block", + "inline" + ] + }, + "nodes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "nodeType": { + "enum": [ + "paragraph", + "heading", + "listItem", + "table", + "tableRow", + "tableCell", + "image", + "sdt", + "run", + "bookmark", + "comment", + "hyperlink", + "footnoteRef", + "tab", + "lineBreak" + ] + }, + "properties": { + "type": "object" + }, + "summary": { + "additionalProperties": false, + "properties": { + "label": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "nodeType", + "kind" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.getNodeById", + "profile": "operation", + "mutates": false, + "category": "query", + "capabilities": [ + "search", + "session-targeting", + "stateless-doc" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "get-node-by-id" + ] + } + }, + { + "name": "doc_info", + "description": "Return document metadata including revision, node count, and capabilities.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "capabilities": { + "additionalProperties": false, + "properties": { + "canComment": { + "type": "boolean" + }, + "canFind": { + "type": "boolean" + }, + "canGetNode": { + "type": "boolean" + }, + "canReplace": { + "type": "boolean" + } + }, + "required": [ + "canFind", + "canGetNode", + "canComment", + "canReplace" + ], + "type": "object" + }, + "counts": { + "additionalProperties": false, + "properties": { + "comments": { + "type": "integer" + }, + "headings": { + "type": "integer" + }, + "images": { + "type": "integer" + }, + "paragraphs": { + "type": "integer" + }, + "tables": { + "type": "integer" + }, + "words": { + "type": "integer" + } + }, + "required": [ + "words", + "paragraphs", + "headings", + "tables", + "images", + "comments" + ], + "type": "object" + }, + "outline": { + "items": { + "additionalProperties": false, + "properties": { + "level": { + "type": "integer" + }, + "nodeId": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "level", + "text", + "nodeId" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "counts", + "outline", + "capabilities" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.info", + "profile": "operation", + "mutates": false, + "category": "query", + "capabilities": [ + "search", + "session-targeting", + "stateless-doc" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "info" + ] + } + }, + { + "name": "doc_insert", + "description": "Insert text or inline content at a target position.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.insert", + "profile": "operation", + "mutates": true, + "category": "mutation", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "insert" + ] + } + }, + { + "name": "doc_replace", + "description": "Replace content at a target position with new text or inline content.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "text" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.replace", + "profile": "operation", + "mutates": true, + "category": "mutation", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "replace" + ] + } + }, + { + "name": "doc_delete", + "description": "Delete content at a target position.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.delete", + "profile": "operation", + "mutates": true, + "category": "mutation", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "delete" + ] + } + }, + { + "name": "doc_format_bold", + "description": "Toggle bold formatting on the target range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.format.bold", + "profile": "operation", + "mutates": true, + "category": "format", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "format", + "bold" + ] + } + }, + { + "name": "doc_format_italic", + "description": "Toggle italic formatting on the target range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.format.italic", + "profile": "operation", + "mutates": true, + "category": "format", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "format", + "italic" + ] + } + }, + { + "name": "doc_format_underline", + "description": "Toggle underline formatting on the target range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.format.underline", + "profile": "operation", + "mutates": true, + "category": "format", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "format", + "underline" + ] + } + }, + { + "name": "doc_format_strikethrough", + "description": "Toggle strikethrough formatting on the target range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "resolution": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "from": { + "type": "integer" + }, + "to": { + "type": "integer" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + }, + "requestedTarget": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "range", + "text" + ], + "type": "object" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success", + "resolution" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.format.strikethrough", + "profile": "operation", + "mutates": true, + "category": "format", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "format", + "strikethrough" + ] + } + }, + { + "name": "doc_create_paragraph", + "description": "Create a new paragraph at the target position.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "at": { + "oneOf": [ + { + "type": "object", + "properties": { + "kind": { + "const": "documentStart" + } + }, + "required": [ + "kind" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "documentEnd" + } + }, + "required": [ + "kind" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "before" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "kind", + "target" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "after" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "kind", + "target" + ] + } + ] + }, + "text": { + "type": "string" + }, + "input": {} + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "insertionPoint": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "paragraph": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "paragraph" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + }, + "trackedChangeRefs": { + "items": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "success", + "paragraph", + "insertionPoint" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.create.paragraph", + "profile": "operation", + "mutates": true, + "category": "create", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "structural-create", + "tracked-change-mode" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "create", + "paragraph" + ] + } + }, + { + "name": "doc_lists_list", + "description": "List all list nodes in the document, optionally filtered by scope.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "within": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "limit": { + "type": "number" + }, + "offset": { + "type": "number" + }, + "kind": { + "type": "string" + }, + "level": { + "type": "number" + }, + "ordinal": { + "type": "number" + }, + "query": {} + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "items": { + "items": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "kind": { + "enum": [ + "ordered", + "bullet" + ] + }, + "level": { + "type": "integer" + }, + "marker": { + "type": "string" + }, + "ordinal": { + "type": "integer" + }, + "path": { + "items": { + "type": "integer" + }, + "type": "array" + }, + "text": { + "type": "string" + } + }, + "required": [ + "address" + ], + "type": "object" + }, + "type": "array" + }, + "matches": { + "items": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "matches", + "total", + "items" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.lists.list", + "profile": "operation", + "mutates": false, + "category": "lists", + "capabilities": [ + "session-targeting", + "stateless-doc" + ], + "constraints": { + "mutuallyExclusive": [ + [ + "query", + "within" + ], + [ + "query", + "kind" + ], + [ + "query", + "level" + ], + [ + "query", + "ordinal" + ], + [ + "query", + "limit" + ], + [ + "query", + "offset" + ] + ] + }, + "requiredCapabilities": [ + "hasLists" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "lists", + "list" + ] + } + }, + { + "name": "doc_lists_get", + "description": "Retrieve a specific list node by target.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "address": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "address" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "kind": { + "enum": [ + "ordered", + "bullet" + ] + }, + "level": { + "type": "integer" + }, + "marker": { + "type": "string" + }, + "ordinal": { + "type": "integer" + }, + "path": { + "items": { + "type": "integer" + }, + "type": "array" + }, + "text": { + "type": "string" + } + }, + "required": [ + "address" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.lists.get", + "profile": "operation", + "mutates": false, + "category": "lists", + "capabilities": [ + "session-targeting", + "stateless-doc" + ], + "requiredCapabilities": [ + "hasLists" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "lists", + "get" + ] + } + }, + { + "name": "doc_lists_insert", + "description": "Insert a new list at the target position.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "position": { + "type": "string" + }, + "text": { + "type": "string" + }, + "input": {} + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "insertionPoint": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + }, + "trackedChangeRefs": { + "items": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "success", + "item", + "insertionPoint" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.lists.insert", + "profile": "operation", + "mutates": true, + "category": "lists", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasLists" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "lists", + "insert" + ] + } + }, + { + "name": "doc_lists_setType", + "description": "Change the list type (ordered, unordered) of a target list.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "kind": { + "type": "string" + }, + "input": {} + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.lists.setType", + "profile": "operation", + "mutates": true, + "category": "lists", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasLists" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "lists", + "set-type" + ] + } + }, + { + "name": "doc_lists_indent", + "description": "Increase the indentation level of a list item.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.lists.indent", + "profile": "operation", + "mutates": true, + "category": "lists", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasLists" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "lists", + "indent" + ] + } + }, + { + "name": "doc_lists_outdent", + "description": "Decrease the indentation level of a list item.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.lists.outdent", + "profile": "operation", + "mutates": true, + "category": "lists", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasLists" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "lists", + "outdent" + ] + } + }, + { + "name": "doc_lists_restart", + "description": "Restart numbering of an ordered list at the target item.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "listItem" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "item" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.lists.restart", + "profile": "operation", + "mutates": true, + "category": "lists", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasLists" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "lists", + "restart" + ] + } + }, + { + "name": "doc_lists_exit", + "description": "Exit a list context, converting the target item to a paragraph.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "paragraph": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "block" + }, + "nodeId": { + "type": "string" + }, + "nodeType": { + "const": "paragraph" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ], + "type": "object" + }, + "success": { + "const": true + } + }, + "required": [ + "success", + "paragraph" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.lists.exit", + "profile": "operation", + "mutates": true, + "category": "lists", + "capabilities": [ + "dry-run", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasLists" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "lists", + "exit" + ] + } + }, + { + "name": "doc_comments_add", + "description": "Add a new comment thread anchored to a target range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "text" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.comments.add", + "profile": "operation", + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasComments" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "comments", + "add" + ] + } + }, + { + "name": "doc_comments_edit", + "description": "Edit the content of an existing comment.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "id", + "text" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.comments.edit", + "profile": "operation", + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasComments" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "comments", + "edit" + ] + } + }, + { + "name": "doc_comments_reply", + "description": "Add a reply to an existing comment thread.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "parentId": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "parentId", + "text" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.comments.reply", + "profile": "operation", + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasComments" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "comments", + "reply" + ] + } + }, + { + "name": "doc_comments_move", + "description": "Move a comment thread to a new anchor range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "id", + "target" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.comments.move", + "profile": "operation", + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasComments" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "comments", + "move" + ] + } + }, + { + "name": "doc_comments_resolve", + "description": "Resolve or unresolve a comment thread.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.comments.resolve", + "profile": "operation", + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasComments" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "comments", + "resolve" + ] + } + }, + { + "name": "doc_comments_remove", + "description": "Remove a comment or reply by ID.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.comments.remove", + "profile": "operation", + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasComments" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "comments", + "remove" + ] + } + }, + { + "name": "doc_comments_setInternal", + "description": "Toggle the internal (private) flag on a comment thread.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "isInternal": { + "type": "boolean" + } + }, + "required": [ + "id", + "isInternal" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.comments.setInternal", + "profile": "operation", + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasComments" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "comments", + "set-internal" + ] + } + }, + { + "name": "doc_comments_setActive", + "description": "Set the active (focused) comment thread for UI highlighting.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "commentId": { + "type": "json" + }, + "id": { + "type": "string" + }, + "clear": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.comments.setActive", + "profile": "operation", + "mutates": true, + "category": "comments", + "capabilities": [ + "comments", + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "tracked-change-mode" + ], + "constraints": { + "requiresOneOf": [ + [ + "id", + "clear" + ] + ], + "mutuallyExclusive": [ + [ + "id", + "clear" + ] + ] + }, + "requiredCapabilities": [ + "hasComments" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "comments", + "set-active" + ] + } + }, + { + "name": "doc_comments_goTo", + "description": "Scroll the viewport to a comment thread by ID.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.comments.goTo", + "profile": "operation", + "mutates": false, + "category": "comments", + "capabilities": [ + "comments", + "session-targeting", + "stateless-doc" + ], + "requiredCapabilities": [ + "hasComments" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "comments", + "go-to" + ] + } + }, + { + "name": "doc_comments_get", + "description": "Retrieve a single comment thread by ID.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "commentId": { + "type": "string" + }, + "createdTime": { + "type": "number" + }, + "creatorEmail": { + "type": "string" + }, + "creatorName": { + "type": "string" + }, + "importedId": { + "type": "string" + }, + "isInternal": { + "type": "boolean" + }, + "parentCommentId": { + "type": "string" + }, + "status": { + "enum": [ + "open", + "resolved" + ] + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "address", + "commentId", + "status" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.comments.get", + "profile": "operation", + "mutates": false, + "category": "comments", + "capabilities": [ + "comments", + "session-targeting", + "stateless-doc" + ], + "requiredCapabilities": [ + "hasComments" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "comments", + "get" + ] + } + }, + { + "name": "doc_comments_list", + "description": "List all comment threads in the document.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "includeResolved": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "matches": { + "items": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "commentId": { + "type": "string" + }, + "createdTime": { + "type": "number" + }, + "creatorEmail": { + "type": "string" + }, + "creatorName": { + "type": "string" + }, + "importedId": { + "type": "string" + }, + "isInternal": { + "type": "boolean" + }, + "parentCommentId": { + "type": "string" + }, + "status": { + "enum": [ + "open", + "resolved" + ] + }, + "target": { + "additionalProperties": false, + "properties": { + "blockId": { + "type": "string" + }, + "kind": { + "const": "text" + }, + "range": { + "additionalProperties": false, + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "blockId", + "range" + ], + "type": "object" + }, + "text": { + "type": "string" + } + }, + "required": [ + "address", + "commentId", + "status" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "matches", + "total" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.comments.list", + "profile": "operation", + "mutates": false, + "category": "comments", + "capabilities": [ + "comments", + "session-targeting", + "stateless-doc" + ], + "requiredCapabilities": [ + "hasComments" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "comments", + "list" + ] + } + }, + { + "name": "doc_trackChanges_list", + "description": "List all tracked changes in the document.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "limit": { + "type": "number" + }, + "offset": { + "type": "number" + }, + "type": { + "type": "string" + } + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "changes": { + "items": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "author": { + "type": "string" + }, + "authorEmail": { + "type": "string" + }, + "authorImage": { + "type": "string" + }, + "date": { + "type": "string" + }, + "excerpt": { + "type": "string" + }, + "id": { + "type": "string" + }, + "type": { + "enum": [ + "insert", + "delete", + "format" + ] + } + }, + "required": [ + "address", + "id", + "type" + ], + "type": "object" + }, + "type": "array" + }, + "matches": { + "items": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "matches", + "total" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.trackChanges.list", + "profile": "operation", + "mutates": false, + "category": "trackChanges", + "capabilities": [ + "session-targeting", + "stateless-doc", + "track-changes" + ], + "requiredCapabilities": [ + "hasTrackedChanges" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "track-changes", + "list" + ] + } + }, + { + "name": "doc_trackChanges_get", + "description": "Retrieve a single tracked change by ID.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "address": { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + "author": { + "type": "string" + }, + "authorEmail": { + "type": "string" + }, + "authorImage": { + "type": "string" + }, + "date": { + "type": "string" + }, + "excerpt": { + "type": "string" + }, + "id": { + "type": "string" + }, + "type": { + "enum": [ + "insert", + "delete", + "format" + ] + } + }, + "required": [ + "address", + "id", + "type" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.trackChanges.get", + "profile": "operation", + "mutates": false, + "category": "trackChanges", + "capabilities": [ + "session-targeting", + "stateless-doc", + "track-changes" + ], + "requiredCapabilities": [ + "hasTrackedChanges" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "track-changes", + "get" + ] + } + }, + { + "name": "doc_trackChanges_accept", + "description": "Accept a tracked change, applying it permanently.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.trackChanges.accept", + "profile": "operation", + "mutates": true, + "category": "trackChanges", + "capabilities": [ + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "track-changes", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasTrackedChanges" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "track-changes", + "accept" + ] + } + }, + { + "name": "doc_trackChanges_reject", + "description": "Reject a tracked change, reverting it.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.trackChanges.reject", + "profile": "operation", + "mutates": true, + "category": "trackChanges", + "capabilities": [ + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "track-changes", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasTrackedChanges" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "track-changes", + "reject" + ] + } + }, + { + "name": "doc_trackChanges_acceptAll", + "description": "Accept all tracked changes in the document.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.trackChanges.acceptAll", + "profile": "operation", + "mutates": true, + "category": "trackChanges", + "capabilities": [ + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "track-changes", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasTrackedChanges" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "track-changes", + "accept-all" + ] + } + }, + { + "name": "doc_trackChanges_rejectAll", + "description": "Reject all tracked changes in the document.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "returns": { + "additionalProperties": false, + "properties": { + "inserted": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "removed": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "success": { + "const": true + }, + "updated": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "comment" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string" + }, + "entityType": { + "const": "trackedChange" + }, + "kind": { + "const": "entity" + } + }, + "required": [ + "kind", + "entityType", + "entityId" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "success" + ], + "type": "object" + }, + "metadata": { + "operationId": "doc.trackChanges.rejectAll", + "profile": "operation", + "mutates": true, + "category": "trackChanges", + "capabilities": [ + "optimistic-concurrency", + "output-path", + "session-targeting", + "stateless-doc", + "track-changes", + "tracked-change-mode" + ], + "requiredCapabilities": [ + "hasTrackedChanges" + ], + "profileTags": [], + "examples": [], + "commandTokens": [ + "track-changes", + "reject-all" + ] + } + }, + { + "name": "doc_open", + "description": "Open a document and create a persistent editing session.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "collaboration": {}, + "collabDocumentId": { + "type": "string" + }, + "collabUrl": { + "type": "string" + } + }, + "required": [ + "doc" + ], + "additionalProperties": false + }, + "returns": { + "type": "object", + "properties": { + "contextId": { + "type": "string" + }, + "sessionType": { + "type": "string" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + }, + "revision": { + "type": "number" + } + } + }, + "collaboration": { + "type": "object", + "properties": { + "documentId": { + "type": "string" + }, + "url": { + "type": "string" + } + } + } + }, + "required": [ + "contextId", + "sessionType" + ] + }, + "metadata": { + "operationId": "doc.open", + "profile": "operation", + "mutates": false, + "category": "lifecycle", + "capabilities": [ + "session-targeting", + "stateless-doc" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "open" + ] + } + }, + { + "name": "doc_save", + "description": "Save the current session to the original file or a new path.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "returns": { + "type": "object", + "properties": { + "contextId": { + "type": "string" + }, + "saved": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + }, + "revision": { + "type": "number" + } + } + }, + "context": { + "type": "object", + "properties": { + "dirty": { + "type": "boolean" + }, + "revision": { + "type": "number" + }, + "lastSavedAt": { + "type": "string" + } + } + }, + "output": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "byteLength": { + "type": "number" + } + } + } + }, + "required": [ + "contextId", + "saved" + ] + }, + "metadata": { + "operationId": "doc.save", + "profile": "operation", + "mutates": true, + "category": "lifecycle", + "capabilities": [ + "output-path", + "session-targeting" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "save" + ] + } + }, + { + "name": "doc_close", + "description": "Close the active editing session and clean up resources.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "discard": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "returns": { + "type": "object", + "properties": { + "contextId": { + "type": "string" + }, + "closed": { + "type": "boolean" + }, + "saved": { + "type": "boolean" + }, + "discarded": { + "type": "boolean" + }, + "defaultSessionCleared": { + "type": "boolean" + }, + "wasDirty": { + "type": "boolean" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + }, + "revision": { + "type": "number" + } + } + } + }, + "required": [ + "contextId", + "closed" + ] + }, + "metadata": { + "operationId": "doc.close", + "profile": "operation", + "mutates": false, + "category": "lifecycle", + "capabilities": [ + "session-targeting" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "close" + ] + } + }, + { + "name": "doc_status", + "description": "Show the current session status and document metadata.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "returns": { + "type": "object", + "properties": { + "contextId": { + "type": "string" + }, + "sessionType": { + "type": "string" + }, + "dirty": { + "type": "boolean" + }, + "revision": { + "type": "number" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + } + } + } + }, + "required": [ + "contextId" + ] + }, + "metadata": { + "operationId": "doc.status", + "profile": "operation", + "mutates": false, + "category": "introspection", + "capabilities": [ + "introspection", + "session-targeting" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "status" + ] + } + }, + { + "name": "doc_describe", + "description": "List all available CLI operations and contract metadata.", + "parameters": { + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "returns": { + "type": "object", + "properties": { + "contractVersion": { + "type": "string" + }, + "operations": { + "type": "array", + "items": { + "type": "object", + "properties": { + "operationId": { + "type": "string" + }, + "command": { + "type": "string" + }, + "category": { + "type": "string" + }, + "description": { + "type": "string" + }, + "mutates": { + "type": "boolean" + } + } + } + } + } + }, + "metadata": { + "operationId": "doc.describe", + "profile": "operation", + "mutates": false, + "category": "introspection", + "capabilities": [ + "introspection" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "describe" + ] + } + }, + { + "name": "doc_describeCommand", + "description": "Show detailed metadata for a single CLI operation.", + "parameters": { + "type": "object", + "properties": { + "operationId": { + "type": "string" + } + }, + "required": [ + "operationId" + ], + "additionalProperties": false + }, + "returns": { + "type": "object", + "properties": { + "operationId": { + "type": "string" + }, + "command": { + "type": "string" + }, + "category": { + "type": "string" + }, + "description": { + "type": "string" + }, + "mutates": { + "type": "boolean" + }, + "params": { + "type": "array" + }, + "constraints": {} + } + }, + "metadata": { + "operationId": "doc.describeCommand", + "profile": "operation", + "mutates": false, + "category": "introspection", + "capabilities": [ + "introspection" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "describe", + "command" + ] + } + }, + { + "name": "doc_session_list", + "description": "List all active editing sessions.", + "parameters": { + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "returns": { + "type": "object", + "properties": { + "activeSessionId": { + "type": "string" + }, + "sessions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "sessionType": { + "type": "string" + }, + "dirty": { + "type": "boolean" + }, + "revision": { + "type": "number" + } + } + } + }, + "total": { + "type": "number" + } + } + }, + "metadata": { + "operationId": "doc.session.list", + "profile": "operation", + "mutates": false, + "category": "session", + "capabilities": [ + "session-management" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "session", + "list" + ] + } + }, + { + "name": "doc_session_save", + "description": "Persist the current session state.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + } + }, + "required": [ + "sessionId" + ], + "additionalProperties": false + }, + "returns": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "contextId": { + "type": "string" + }, + "saved": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + }, + "revision": { + "type": "number" + } + } + }, + "output": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "byteLength": { + "type": "number" + } + } + } + }, + "required": [ + "sessionId" + ] + }, + "metadata": { + "operationId": "doc.session.save", + "profile": "operation", + "mutates": true, + "category": "session", + "capabilities": [ + "output-path", + "session-management", + "session-targeting" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "session", + "save" + ] + } + }, + { + "name": "doc_session_close", + "description": "Close a specific editing session by ID.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "discard": { + "type": "boolean" + } + }, + "required": [ + "sessionId" + ], + "additionalProperties": false + }, + "returns": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "contextId": { + "type": "string" + }, + "closed": { + "type": "boolean" + }, + "saved": { + "type": "boolean" + }, + "discarded": { + "type": "boolean" + }, + "defaultSessionCleared": { + "type": "boolean" + }, + "wasDirty": { + "type": "boolean" + }, + "document": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "source": { + "type": "string" + }, + "revision": { + "type": "number" + } + } + } + }, + "required": [ + "sessionId" + ] + }, + "metadata": { + "operationId": "doc.session.close", + "profile": "operation", + "mutates": false, + "category": "session", + "capabilities": [ + "session-management", + "session-targeting" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "session", + "close" + ] + } + }, + { + "name": "doc_session_setDefault", + "description": "Set the default session for subsequent commands.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + } + }, + "required": [ + "sessionId" + ], + "additionalProperties": false + }, + "returns": { + "type": "object", + "properties": { + "activeSessionId": { + "type": "string" + } + }, + "required": [ + "activeSessionId" + ] + }, + "metadata": { + "operationId": "doc.session.setDefault", + "profile": "operation", + "mutates": false, + "category": "session", + "capabilities": [ + "session-management", + "session-targeting" + ], + "requiredCapabilities": [], + "profileTags": [], + "examples": [], + "commandTokens": [ + "session", + "set-default" + ] + } + } + ] + } +} diff --git a/packages/sdk/tools/tools.openai.json b/packages/sdk/tools/tools.openai.json new file mode 100644 index 0000000000..b21ff77381 --- /dev/null +++ b/packages/sdk/tools/tools.openai.json @@ -0,0 +1,3839 @@ +{ + "contractVersion": "0.1.0", + "profiles": { + "intent": [ + { + "type": "function", + "function": { + "name": "find_content", + "description": "Search the document for nodes matching type, text, or attribute criteria.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "within": { + "oneOf": [ + { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "inline" + }, + "nodeType": { + "oneOf": [ + { + "const": "run" + }, + { + "const": "bookmark" + }, + { + "const": "comment" + }, + { + "const": "hyperlink" + }, + { + "const": "sdt" + }, + { + "const": "image" + }, + { + "const": "footnoteRef" + }, + { + "const": "tab" + }, + { + "const": "lineBreak" + } + ] + }, + "anchor": { + "type": "object", + "properties": { + "start": { + "type": "object", + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "number" + } + }, + "required": [ + "blockId", + "offset" + ] + }, + "end": { + "type": "object", + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "number" + } + }, + "required": [ + "blockId", + "offset" + ] + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ] + } + ] + }, + "limit": { + "type": "number" + }, + "offset": { + "type": "number" + }, + "includeNodes": { + "type": "boolean" + }, + "includeUnknown": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "nodeType": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "pattern": { + "type": "string" + }, + "mode": { + "type": "string" + }, + "caseSensitive": { + "type": "boolean" + }, + "query": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "get_node", + "description": "Retrieve a single node by target position.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "address": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "get_node_by_id", + "description": "Retrieve a single node by its unique ID.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + }, + "nodeType": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "get_document_info", + "description": "Return document metadata including revision, node count, and capabilities.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "insert_content", + "description": "Insert text or inline content at a target position.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "replace_content", + "description": "Replace content at a target position with new text or inline content.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "text" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "delete_content", + "description": "Delete content at a target position.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "format_bold", + "description": "Toggle bold formatting on the target range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "format_italic", + "description": "Toggle italic formatting on the target range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "format_underline", + "description": "Toggle underline formatting on the target range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "format_strikethrough", + "description": "Toggle strikethrough formatting on the target range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "create_paragraph", + "description": "Create a new paragraph at the target position.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "at": { + "oneOf": [ + { + "type": "object", + "properties": { + "kind": { + "const": "documentStart" + } + }, + "required": [ + "kind" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "documentEnd" + } + }, + "required": [ + "kind" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "before" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "kind", + "target" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "after" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "kind", + "target" + ] + } + ] + }, + "text": { + "type": "string" + }, + "input": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "list_lists", + "description": "List all list nodes in the document, optionally filtered by scope.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "within": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "limit": { + "type": "number" + }, + "offset": { + "type": "number" + }, + "kind": { + "type": "string" + }, + "level": { + "type": "number" + }, + "ordinal": { + "type": "number" + }, + "query": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "get_list", + "description": "Retrieve a specific list node by target.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "address": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "address" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "insert_list", + "description": "Insert a new list at the target position.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "position": { + "type": "string" + }, + "text": { + "type": "string" + }, + "input": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "set_list_type", + "description": "Change the list type (ordered, unordered) of a target list.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "kind": { + "type": "string" + }, + "input": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "indent_list", + "description": "Increase the indentation level of a list item.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "outdent_list", + "description": "Decrease the indentation level of a list item.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "restart_list_numbering", + "description": "Restart numbering of an ordered list at the target item.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "exit_list", + "description": "Exit a list context, converting the target item to a paragraph.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "add_comment", + "description": "Add a new comment thread anchored to a target range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "text" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "edit_comment", + "description": "Edit the content of an existing comment.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "id", + "text" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "reply_to_comment", + "description": "Add a reply to an existing comment thread.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "parentId": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "parentId", + "text" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "move_comment", + "description": "Move a comment thread to a new anchor range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "id", + "target" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "resolve_comment", + "description": "Resolve or unresolve a comment thread.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "remove_comment", + "description": "Remove a comment or reply by ID.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "set_comment_internal", + "description": "Toggle the internal (private) flag on a comment thread.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "isInternal": { + "type": "boolean" + } + }, + "required": [ + "id", + "isInternal" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "set_comment_active", + "description": "Set the active (focused) comment thread for UI highlighting.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "commentId": { + "type": "json" + }, + "id": { + "type": "string" + }, + "clear": { + "type": "boolean" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "go_to_comment", + "description": "Scroll the viewport to a comment thread by ID.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "get_comment", + "description": "Retrieve a single comment thread by ID.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "list_comments", + "description": "List all comment threads in the document.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "includeResolved": { + "type": "boolean" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "list_tracked_changes", + "description": "List all tracked changes in the document.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "limit": { + "type": "number" + }, + "offset": { + "type": "number" + }, + "type": { + "type": "string" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "get_tracked_change", + "description": "Retrieve a single tracked change by ID.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "accept_tracked_change", + "description": "Accept a tracked change, applying it permanently.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "reject_tracked_change", + "description": "Reject a tracked change, reverting it.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "accept_all_tracked_changes", + "description": "Accept all tracked changes in the document.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "reject_all_tracked_changes", + "description": "Reject all tracked changes in the document.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "open_document", + "description": "Open a document and create a persistent editing session.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "collaboration": {}, + "collabDocumentId": { + "type": "string" + }, + "collabUrl": { + "type": "string" + } + }, + "required": [ + "doc" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "save_document", + "description": "Save the current session to the original file or a new path.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "close_document", + "description": "Close the active editing session and clean up resources.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "discard": { + "type": "boolean" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "get_status", + "description": "Show the current session status and document metadata.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "describe_commands", + "description": "List all available CLI operations and contract metadata.", + "parameters": { + "type": "object", + "properties": {}, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "describe_command", + "description": "Show detailed metadata for a single CLI operation.", + "parameters": { + "type": "object", + "properties": { + "operationId": { + "type": "string" + } + }, + "required": [ + "operationId" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "list_sessions", + "description": "List all active editing sessions.", + "parameters": { + "type": "object", + "properties": {}, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "save_session", + "description": "Persist the current session state.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + } + }, + "required": [ + "sessionId" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "close_session", + "description": "Close a specific editing session by ID.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "discard": { + "type": "boolean" + } + }, + "required": [ + "sessionId" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "set_default_session", + "description": "Set the default session for subsequent commands.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + } + }, + "required": [ + "sessionId" + ], + "additionalProperties": false + } + } + } + ], + "operation": [ + { + "type": "function", + "function": { + "name": "doc_find", + "description": "Search the document for nodes matching type, text, or attribute criteria.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "within": { + "oneOf": [ + { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "inline" + }, + "nodeType": { + "oneOf": [ + { + "const": "run" + }, + { + "const": "bookmark" + }, + { + "const": "comment" + }, + { + "const": "hyperlink" + }, + { + "const": "sdt" + }, + { + "const": "image" + }, + { + "const": "footnoteRef" + }, + { + "const": "tab" + }, + { + "const": "lineBreak" + } + ] + }, + "anchor": { + "type": "object", + "properties": { + "start": { + "type": "object", + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "number" + } + }, + "required": [ + "blockId", + "offset" + ] + }, + "end": { + "type": "object", + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "number" + } + }, + "required": [ + "blockId", + "offset" + ] + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ] + } + ] + }, + "limit": { + "type": "number" + }, + "offset": { + "type": "number" + }, + "includeNodes": { + "type": "boolean" + }, + "includeUnknown": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "nodeType": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "pattern": { + "type": "string" + }, + "mode": { + "type": "string" + }, + "caseSensitive": { + "type": "boolean" + }, + "query": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_getNode", + "description": "Retrieve a single node by target position.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "address": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_getNodeById", + "description": "Retrieve a single node by its unique ID.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + }, + "nodeType": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_info", + "description": "Return document metadata including revision, node count, and capabilities.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_insert", + "description": "Insert text or inline content at a target position.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_replace", + "description": "Replace content at a target position with new text or inline content.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "text" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_delete", + "description": "Delete content at a target position.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_format_bold", + "description": "Toggle bold formatting on the target range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_format_italic", + "description": "Toggle italic formatting on the target range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_format_underline", + "description": "Toggle underline formatting on the target range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_format_strikethrough", + "description": "Toggle strikethrough formatting on the target range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_create_paragraph", + "description": "Create a new paragraph at the target position.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "at": { + "oneOf": [ + { + "type": "object", + "properties": { + "kind": { + "const": "documentStart" + } + }, + "required": [ + "kind" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "documentEnd" + } + }, + "required": [ + "kind" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "before" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "kind", + "target" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "after" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "kind", + "target" + ] + } + ] + }, + "text": { + "type": "string" + }, + "input": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_lists_list", + "description": "List all list nodes in the document, optionally filtered by scope.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "within": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "limit": { + "type": "number" + }, + "offset": { + "type": "number" + }, + "kind": { + "type": "string" + }, + "level": { + "type": "number" + }, + "ordinal": { + "type": "number" + }, + "query": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_lists_get", + "description": "Retrieve a specific list node by target.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "address": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "address" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_lists_insert", + "description": "Insert a new list at the target position.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "position": { + "type": "string" + }, + "text": { + "type": "string" + }, + "input": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_lists_setType", + "description": "Change the list type (ordered, unordered) of a target list.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "kind": { + "type": "string" + }, + "input": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_lists_indent", + "description": "Increase the indentation level of a list item.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_lists_outdent", + "description": "Decrease the indentation level of a list item.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_lists_restart", + "description": "Restart numbering of an ordered list at the target item.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_lists_exit", + "description": "Exit a list context, converting the target item to a paragraph.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_comments_add", + "description": "Add a new comment thread anchored to a target range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "text" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_comments_edit", + "description": "Edit the content of an existing comment.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "id", + "text" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_comments_reply", + "description": "Add a reply to an existing comment thread.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "parentId": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "parentId", + "text" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_comments_move", + "description": "Move a comment thread to a new anchor range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "id", + "target" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_comments_resolve", + "description": "Resolve or unresolve a comment thread.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_comments_remove", + "description": "Remove a comment or reply by ID.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_comments_setInternal", + "description": "Toggle the internal (private) flag on a comment thread.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "isInternal": { + "type": "boolean" + } + }, + "required": [ + "id", + "isInternal" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_comments_setActive", + "description": "Set the active (focused) comment thread for UI highlighting.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "commentId": { + "type": "json" + }, + "id": { + "type": "string" + }, + "clear": { + "type": "boolean" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_comments_goTo", + "description": "Scroll the viewport to a comment thread by ID.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_comments_get", + "description": "Retrieve a single comment thread by ID.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_comments_list", + "description": "List all comment threads in the document.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "includeResolved": { + "type": "boolean" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_trackChanges_list", + "description": "List all tracked changes in the document.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "limit": { + "type": "number" + }, + "offset": { + "type": "number" + }, + "type": { + "type": "string" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_trackChanges_get", + "description": "Retrieve a single tracked change by ID.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_trackChanges_accept", + "description": "Accept a tracked change, applying it permanently.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_trackChanges_reject", + "description": "Reject a tracked change, reverting it.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_trackChanges_acceptAll", + "description": "Accept all tracked changes in the document.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_trackChanges_rejectAll", + "description": "Reject all tracked changes in the document.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_open", + "description": "Open a document and create a persistent editing session.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "collaboration": {}, + "collabDocumentId": { + "type": "string" + }, + "collabUrl": { + "type": "string" + } + }, + "required": [ + "doc" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_save", + "description": "Save the current session to the original file or a new path.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_close", + "description": "Close the active editing session and clean up resources.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "discard": { + "type": "boolean" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_status", + "description": "Show the current session status and document metadata.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_describe", + "description": "List all available CLI operations and contract metadata.", + "parameters": { + "type": "object", + "properties": {}, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_describeCommand", + "description": "Show detailed metadata for a single CLI operation.", + "parameters": { + "type": "object", + "properties": { + "operationId": { + "type": "string" + } + }, + "required": [ + "operationId" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_session_list", + "description": "List all active editing sessions.", + "parameters": { + "type": "object", + "properties": {}, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_session_save", + "description": "Persist the current session state.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + } + }, + "required": [ + "sessionId" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_session_close", + "description": "Close a specific editing session by ID.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "discard": { + "type": "boolean" + } + }, + "required": [ + "sessionId" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_session_setDefault", + "description": "Set the default session for subsequent commands.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + } + }, + "required": [ + "sessionId" + ], + "additionalProperties": false + } + } + } + ] + } +} diff --git a/packages/sdk/tools/tools.vercel.json b/packages/sdk/tools/tools.vercel.json new file mode 100644 index 0000000000..b21ff77381 --- /dev/null +++ b/packages/sdk/tools/tools.vercel.json @@ -0,0 +1,3839 @@ +{ + "contractVersion": "0.1.0", + "profiles": { + "intent": [ + { + "type": "function", + "function": { + "name": "find_content", + "description": "Search the document for nodes matching type, text, or attribute criteria.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "within": { + "oneOf": [ + { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "inline" + }, + "nodeType": { + "oneOf": [ + { + "const": "run" + }, + { + "const": "bookmark" + }, + { + "const": "comment" + }, + { + "const": "hyperlink" + }, + { + "const": "sdt" + }, + { + "const": "image" + }, + { + "const": "footnoteRef" + }, + { + "const": "tab" + }, + { + "const": "lineBreak" + } + ] + }, + "anchor": { + "type": "object", + "properties": { + "start": { + "type": "object", + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "number" + } + }, + "required": [ + "blockId", + "offset" + ] + }, + "end": { + "type": "object", + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "number" + } + }, + "required": [ + "blockId", + "offset" + ] + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ] + } + ] + }, + "limit": { + "type": "number" + }, + "offset": { + "type": "number" + }, + "includeNodes": { + "type": "boolean" + }, + "includeUnknown": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "nodeType": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "pattern": { + "type": "string" + }, + "mode": { + "type": "string" + }, + "caseSensitive": { + "type": "boolean" + }, + "query": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "get_node", + "description": "Retrieve a single node by target position.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "address": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "get_node_by_id", + "description": "Retrieve a single node by its unique ID.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + }, + "nodeType": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "get_document_info", + "description": "Return document metadata including revision, node count, and capabilities.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "insert_content", + "description": "Insert text or inline content at a target position.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "replace_content", + "description": "Replace content at a target position with new text or inline content.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "text" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "delete_content", + "description": "Delete content at a target position.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "format_bold", + "description": "Toggle bold formatting on the target range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "format_italic", + "description": "Toggle italic formatting on the target range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "format_underline", + "description": "Toggle underline formatting on the target range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "format_strikethrough", + "description": "Toggle strikethrough formatting on the target range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "create_paragraph", + "description": "Create a new paragraph at the target position.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "at": { + "oneOf": [ + { + "type": "object", + "properties": { + "kind": { + "const": "documentStart" + } + }, + "required": [ + "kind" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "documentEnd" + } + }, + "required": [ + "kind" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "before" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "kind", + "target" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "after" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "kind", + "target" + ] + } + ] + }, + "text": { + "type": "string" + }, + "input": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "list_lists", + "description": "List all list nodes in the document, optionally filtered by scope.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "within": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "limit": { + "type": "number" + }, + "offset": { + "type": "number" + }, + "kind": { + "type": "string" + }, + "level": { + "type": "number" + }, + "ordinal": { + "type": "number" + }, + "query": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "get_list", + "description": "Retrieve a specific list node by target.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "address": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "address" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "insert_list", + "description": "Insert a new list at the target position.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "position": { + "type": "string" + }, + "text": { + "type": "string" + }, + "input": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "set_list_type", + "description": "Change the list type (ordered, unordered) of a target list.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "kind": { + "type": "string" + }, + "input": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "indent_list", + "description": "Increase the indentation level of a list item.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "outdent_list", + "description": "Decrease the indentation level of a list item.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "restart_list_numbering", + "description": "Restart numbering of an ordered list at the target item.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "exit_list", + "description": "Exit a list context, converting the target item to a paragraph.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "add_comment", + "description": "Add a new comment thread anchored to a target range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "text" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "edit_comment", + "description": "Edit the content of an existing comment.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "id", + "text" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "reply_to_comment", + "description": "Add a reply to an existing comment thread.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "parentId": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "parentId", + "text" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "move_comment", + "description": "Move a comment thread to a new anchor range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "id", + "target" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "resolve_comment", + "description": "Resolve or unresolve a comment thread.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "remove_comment", + "description": "Remove a comment or reply by ID.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "set_comment_internal", + "description": "Toggle the internal (private) flag on a comment thread.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "isInternal": { + "type": "boolean" + } + }, + "required": [ + "id", + "isInternal" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "set_comment_active", + "description": "Set the active (focused) comment thread for UI highlighting.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "commentId": { + "type": "json" + }, + "id": { + "type": "string" + }, + "clear": { + "type": "boolean" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "go_to_comment", + "description": "Scroll the viewport to a comment thread by ID.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "get_comment", + "description": "Retrieve a single comment thread by ID.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "list_comments", + "description": "List all comment threads in the document.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "includeResolved": { + "type": "boolean" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "list_tracked_changes", + "description": "List all tracked changes in the document.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "limit": { + "type": "number" + }, + "offset": { + "type": "number" + }, + "type": { + "type": "string" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "get_tracked_change", + "description": "Retrieve a single tracked change by ID.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "accept_tracked_change", + "description": "Accept a tracked change, applying it permanently.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "reject_tracked_change", + "description": "Reject a tracked change, reverting it.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "accept_all_tracked_changes", + "description": "Accept all tracked changes in the document.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "reject_all_tracked_changes", + "description": "Reject all tracked changes in the document.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "open_document", + "description": "Open a document and create a persistent editing session.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "collaboration": {}, + "collabDocumentId": { + "type": "string" + }, + "collabUrl": { + "type": "string" + } + }, + "required": [ + "doc" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "save_document", + "description": "Save the current session to the original file or a new path.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "close_document", + "description": "Close the active editing session and clean up resources.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "discard": { + "type": "boolean" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "get_status", + "description": "Show the current session status and document metadata.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "describe_commands", + "description": "List all available CLI operations and contract metadata.", + "parameters": { + "type": "object", + "properties": {}, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "describe_command", + "description": "Show detailed metadata for a single CLI operation.", + "parameters": { + "type": "object", + "properties": { + "operationId": { + "type": "string" + } + }, + "required": [ + "operationId" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "list_sessions", + "description": "List all active editing sessions.", + "parameters": { + "type": "object", + "properties": {}, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "save_session", + "description": "Persist the current session state.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + } + }, + "required": [ + "sessionId" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "close_session", + "description": "Close a specific editing session by ID.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "discard": { + "type": "boolean" + } + }, + "required": [ + "sessionId" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "set_default_session", + "description": "Set the default session for subsequent commands.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + } + }, + "required": [ + "sessionId" + ], + "additionalProperties": false + } + } + } + ], + "operation": [ + { + "type": "function", + "function": { + "name": "doc_find", + "description": "Search the document for nodes matching type, text, or attribute criteria.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "within": { + "oneOf": [ + { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "inline" + }, + "nodeType": { + "oneOf": [ + { + "const": "run" + }, + { + "const": "bookmark" + }, + { + "const": "comment" + }, + { + "const": "hyperlink" + }, + { + "const": "sdt" + }, + { + "const": "image" + }, + { + "const": "footnoteRef" + }, + { + "const": "tab" + }, + { + "const": "lineBreak" + } + ] + }, + "anchor": { + "type": "object", + "properties": { + "start": { + "type": "object", + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "number" + } + }, + "required": [ + "blockId", + "offset" + ] + }, + "end": { + "type": "object", + "properties": { + "blockId": { + "type": "string" + }, + "offset": { + "type": "number" + } + }, + "required": [ + "blockId", + "offset" + ] + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "nodeType", + "anchor" + ] + } + ] + }, + "limit": { + "type": "number" + }, + "offset": { + "type": "number" + }, + "includeNodes": { + "type": "boolean" + }, + "includeUnknown": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "nodeType": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "pattern": { + "type": "string" + }, + "mode": { + "type": "string" + }, + "caseSensitive": { + "type": "boolean" + }, + "query": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_getNode", + "description": "Retrieve a single node by target position.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "address": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_getNodeById", + "description": "Retrieve a single node by its unique ID.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + }, + "nodeType": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_info", + "description": "Return document metadata including revision, node count, and capabilities.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_insert", + "description": "Insert text or inline content at a target position.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_replace", + "description": "Replace content at a target position with new text or inline content.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "text" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_delete", + "description": "Delete content at a target position.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_format_bold", + "description": "Toggle bold formatting on the target range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_format_italic", + "description": "Toggle italic formatting on the target range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_format_underline", + "description": "Toggle underline formatting on the target range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_format_strikethrough", + "description": "Toggle strikethrough formatting on the target range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "target" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_create_paragraph", + "description": "Create a new paragraph at the target position.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "at": { + "oneOf": [ + { + "type": "object", + "properties": { + "kind": { + "const": "documentStart" + } + }, + "required": [ + "kind" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "documentEnd" + } + }, + "required": [ + "kind" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "before" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "kind", + "target" + ] + }, + { + "type": "object", + "properties": { + "kind": { + "const": "after" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "kind", + "target" + ] + } + ] + }, + "text": { + "type": "string" + }, + "input": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_lists_list", + "description": "List all list nodes in the document, optionally filtered by scope.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "within": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "oneOf": [ + { + "const": "paragraph" + }, + { + "const": "heading" + }, + { + "const": "listItem" + }, + { + "const": "table" + }, + { + "const": "tableRow" + }, + { + "const": "tableCell" + }, + { + "const": "image" + }, + { + "const": "sdt" + } + ] + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "limit": { + "type": "number" + }, + "offset": { + "type": "number" + }, + "kind": { + "type": "string" + }, + "level": { + "type": "number" + }, + "ordinal": { + "type": "number" + }, + "query": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_lists_get", + "description": "Retrieve a specific list node by target.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "address": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + } + }, + "required": [ + "address" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_lists_insert", + "description": "Insert a new list at the target position.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "position": { + "type": "string" + }, + "text": { + "type": "string" + }, + "input": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_lists_setType", + "description": "Change the list type (ordered, unordered) of a target list.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "kind": { + "type": "string" + }, + "input": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_lists_indent", + "description": "Increase the indentation level of a list item.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_lists_outdent", + "description": "Decrease the indentation level of a list item.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_lists_restart", + "description": "Restart numbering of an ordered list at the target item.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_lists_exit", + "description": "Exit a list context, converting the target item to a paragraph.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "block" + }, + "nodeType": { + "const": "listItem" + }, + "nodeId": { + "type": "string" + } + }, + "required": [ + "kind", + "nodeType", + "nodeId" + ] + }, + "input": {} + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_comments_add", + "description": "Add a new comment thread anchored to a target range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "target", + "text" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_comments_edit", + "description": "Edit the content of an existing comment.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "id", + "text" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_comments_reply", + "description": "Add a reply to an existing comment thread.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "parentId": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "parentId", + "text" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_comments_move", + "description": "Move a comment thread to a new anchor range.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "kind": { + "const": "text" + }, + "blockId": { + "type": "string" + }, + "range": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "kind", + "blockId", + "range" + ] + } + }, + "required": [ + "id", + "target" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_comments_resolve", + "description": "Resolve or unresolve a comment thread.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_comments_remove", + "description": "Remove a comment or reply by ID.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_comments_setInternal", + "description": "Toggle the internal (private) flag on a comment thread.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "isInternal": { + "type": "boolean" + } + }, + "required": [ + "id", + "isInternal" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_comments_setActive", + "description": "Set the active (focused) comment thread for UI highlighting.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "commentId": { + "type": "json" + }, + "id": { + "type": "string" + }, + "clear": { + "type": "boolean" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_comments_goTo", + "description": "Scroll the viewport to a comment thread by ID.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_comments_get", + "description": "Retrieve a single comment thread by ID.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_comments_list", + "description": "List all comment threads in the document.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "includeResolved": { + "type": "boolean" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_trackChanges_list", + "description": "List all tracked changes in the document.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "limit": { + "type": "number" + }, + "offset": { + "type": "number" + }, + "type": { + "type": "string" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_trackChanges_get", + "description": "Retrieve a single tracked change by ID.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_trackChanges_accept", + "description": "Accept a tracked change, applying it permanently.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_trackChanges_reject", + "description": "Reject a tracked change, reverting it.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_trackChanges_acceptAll", + "description": "Accept all tracked changes in the document.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_trackChanges_rejectAll", + "description": "Reject all tracked changes in the document.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_open", + "description": "Open a document and create a persistent editing session.", + "parameters": { + "type": "object", + "properties": { + "doc": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "collaboration": {}, + "collabDocumentId": { + "type": "string" + }, + "collabUrl": { + "type": "string" + } + }, + "required": [ + "doc" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_save", + "description": "Save the current session to the original file or a new path.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_close", + "description": "Close the active editing session and clean up resources.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "discard": { + "type": "boolean" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_status", + "description": "Show the current session status and document metadata.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + } + }, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_describe", + "description": "List all available CLI operations and contract metadata.", + "parameters": { + "type": "object", + "properties": {}, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_describeCommand", + "description": "Show detailed metadata for a single CLI operation.", + "parameters": { + "type": "object", + "properties": { + "operationId": { + "type": "string" + } + }, + "required": [ + "operationId" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_session_list", + "description": "List all active editing sessions.", + "parameters": { + "type": "object", + "properties": {}, + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_session_save", + "description": "Persist the current session state.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "inPlace": { + "type": "boolean" + } + }, + "required": [ + "sessionId" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_session_close", + "description": "Close a specific editing session by ID.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "discard": { + "type": "boolean" + } + }, + "required": [ + "sessionId" + ], + "additionalProperties": false + } + } + }, + { + "type": "function", + "function": { + "name": "doc_session_setDefault", + "description": "Set the default session for subsequent commands.", + "parameters": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + } + }, + "required": [ + "sessionId" + ], + "additionalProperties": false + } + } + } + ] + } +} diff --git a/packages/sdk/version.json b/packages/sdk/version.json new file mode 100644 index 0000000000..a289457225 --- /dev/null +++ b/packages/sdk/version.json @@ -0,0 +1,3 @@ +{ + "sdkVersion": "1.0.0-alpha.5" +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 569047d054..d84834db5d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1007,6 +1007,22 @@ importers: specifier: 'catalog:' version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.2)(esbuild@0.27.2)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) + packages/sdk: {} + + packages/sdk/codegen: {} + + packages/sdk/langs/node: + devDependencies: + '@types/bun': + specifier: 'catalog:' + version: 1.3.8 + '@types/node': + specifier: 'catalog:' + version: 22.19.2 + typescript: + specifier: 'catalog:' + version: 5.9.3 + packages/super-editor: dependencies: buffer-crc32: From 4e6f8fb577e2fc8a61bac34295c4603888a55784 Mon Sep 17 00:00:00 2001 From: Nick Bernal Date: Fri, 20 Feb 2026 13:03:19 -0800 Subject: [PATCH 2/9] chore: untrack generated SDK/docapi outputs and enforce generate:all in CI/hooks --- .github/workflows/ci-docs.yml | 8 + .github/workflows/ci-document-api.yml | 6 + .github/workflows/ci-sdk.yml | 52 + .gitignore | 9 + CLAUDE.md | 18 + apps/cli/generated/sdk-contract.json | 17808 --------------- apps/docs/CLAUDE.md | 8 +- lefthook.yml | 6 +- package.json | 1 + packages/document-api/README.md | 14 +- .../generated/agent/compatibility-hints.json | 366 - .../generated/agent/remediation-map.json | 332 - .../generated/agent/workflow-playbooks.json | 36 - .../manifests/document-api-tools.json | 13129 ------------ .../document-api/generated/schemas/README.md | 4 - .../schemas/document-api-contract.json | 13210 ------------ packages/document-api/scripts/README.md | 8 +- packages/document-api/src/README.md | 4 +- .../sdk/langs/node/src/generated/client.ts | 1891 -- .../sdk/langs/node/src/generated/contract.ts | 17813 ---------------- .../python/superdoc/generated/__init__.py | 1 - .../langs/python/superdoc/generated/client.py | 4260 ---- .../python/superdoc/generated/contract.py | 7 - packages/sdk/package.json | 2 +- packages/sdk/scripts/sdk-generate.mjs | 4 +- packages/sdk/scripts/sdk-release.mjs | 2 +- packages/sdk/tools/catalog.json | 17410 --------------- packages/sdk/tools/tool-name-map.json | 96 - packages/sdk/tools/tools-policy.json | 100 - packages/sdk/tools/tools.anthropic.json | 3557 --- packages/sdk/tools/tools.generic.json | 16855 --------------- packages/sdk/tools/tools.openai.json | 3839 ---- packages/sdk/tools/tools.vercel.json | 3839 ---- scripts/generate-all.mjs | 92 + 34 files changed, 212 insertions(+), 114575 deletions(-) create mode 100644 .github/workflows/ci-sdk.yml delete mode 100644 apps/cli/generated/sdk-contract.json delete mode 100644 packages/document-api/generated/agent/compatibility-hints.json delete mode 100644 packages/document-api/generated/agent/remediation-map.json delete mode 100644 packages/document-api/generated/agent/workflow-playbooks.json delete mode 100644 packages/document-api/generated/manifests/document-api-tools.json delete mode 100644 packages/document-api/generated/schemas/README.md delete mode 100644 packages/document-api/generated/schemas/document-api-contract.json delete mode 100644 packages/sdk/langs/node/src/generated/client.ts delete mode 100644 packages/sdk/langs/node/src/generated/contract.ts delete mode 100644 packages/sdk/langs/python/superdoc/generated/__init__.py delete mode 100644 packages/sdk/langs/python/superdoc/generated/client.py delete mode 100644 packages/sdk/langs/python/superdoc/generated/contract.py delete mode 100644 packages/sdk/tools/catalog.json delete mode 100644 packages/sdk/tools/tool-name-map.json delete mode 100644 packages/sdk/tools/tools-policy.json delete mode 100644 packages/sdk/tools/tools.anthropic.json delete mode 100644 packages/sdk/tools/tools.generic.json delete mode 100644 packages/sdk/tools/tools.openai.json delete mode 100644 packages/sdk/tools/tools.vercel.json create mode 100644 scripts/generate-all.mjs diff --git a/.github/workflows/ci-docs.yml b/.github/workflows/ci-docs.yml index e4a6e21b0e..62a0369484 100644 --- a/.github/workflows/ci-docs.yml +++ b/.github/workflows/ci-docs.yml @@ -4,6 +4,11 @@ on: pull_request: paths: - 'apps/docs/**' + - 'packages/document-api/src/contract/**' + - 'packages/document-api/scripts/**' + - 'scripts/generate-all.mjs' + - 'package.json' + - 'pnpm-lock.yaml' workflow_dispatch: jobs: @@ -27,6 +32,9 @@ jobs: - name: Install Dependencies run: pnpm install --frozen-lockfile + - name: Generate all artifacts + run: pnpm run generate:all + - name: Validate Docs run: pnpm --filter @superdoc/docs validate diff --git a/.github/workflows/ci-document-api.yml b/.github/workflows/ci-document-api.yml index e2d1f6cefd..31bb22ae55 100644 --- a/.github/workflows/ci-document-api.yml +++ b/.github/workflows/ci-document-api.yml @@ -32,5 +32,11 @@ jobs: - name: Install dependencies run: pnpm install --frozen-lockfile + - name: Generate contract outputs + run: pnpm run docapi:sync + + - name: Check overview.mdx freshness + run: git diff --exit-code apps/docs/document-api/overview.mdx + - name: Check contract parity and generated outputs run: pnpm run docapi:check diff --git a/.github/workflows/ci-sdk.yml b/.github/workflows/ci-sdk.yml new file mode 100644 index 0000000000..a8ef752170 --- /dev/null +++ b/.github/workflows/ci-sdk.yml @@ -0,0 +1,52 @@ +name: CI SDK + +permissions: + contents: read + +on: + pull_request: + paths: + - 'packages/document-api/src/contract/**' + - 'packages/document-api/scripts/**' + - 'apps/cli/**' + - 'packages/sdk/**' + - 'scripts/generate-all.mjs' + - 'package.json' + - 'pnpm-lock.yaml' + - '.github/workflows/ci-sdk.yml' + workflow_dispatch: + +concurrency: + group: ci-sdk-${{ github.event.pull_request.number || github.run_id }} + cancel-in-progress: true + +jobs: + validate: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: pnpm/action-setup@v4 + + - uses: actions/setup-node@v4 + with: + node-version-file: .nvmrc + cache: pnpm + + - uses: oven-sh/setup-bun@v2 + + - uses: actions/setup-python@v5 + with: + python-version: '3.12' + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Generate all artifacts + run: pnpm run generate:all + + - name: Validate SDK + run: node packages/sdk/scripts/sdk-validate.mjs + + - name: Build Node SDK + run: pnpm --prefix packages/sdk/langs/node run build diff --git a/.gitignore b/.gitignore index cab2c896f8..025a52e27b 100644 --- a/.gitignore +++ b/.gitignore @@ -82,3 +82,12 @@ devtools/visual-testing/pnpm-lock.yaml __pycache__/ *.pyc *.pyo + +# Generated artifacts — run `pnpm run generate:all` to produce +packages/document-api/generated/ +apps/cli/generated/ +packages/sdk/langs/node/src/generated/ +packages/sdk/langs/python/superdoc/generated/ +packages/sdk/tools/*.json +# Note: apps/docs/document-api/reference/ stays committed because Mintlify +# deploys directly from git with no pre-build hook support. diff --git a/CLAUDE.md b/CLAUDE.md index 2cd6d0e91b..fed3296bcc 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -109,3 +109,21 @@ Many packages use `.js` files with JSDoc `@typedef` for type definitions (e.g., - `pnpm build` - Build all packages - `pnpm test` - Run tests - `pnpm dev` - Start dev server (from examples/) +- `pnpm run generate:all` - Generate all derived artifacts (schemas, SDK clients, tool catalogs, reference docs) + +## Generated Artifacts + +These directories are produced by `pnpm run generate:all`: + +| Directory | In git? | What it contains | +|-----------|---------|-----------------| +| `packages/document-api/generated/` | No (gitignored) | Agent tool schemas, JSON schemas, manifest | +| `apps/cli/generated/` | No (gitignored) | SDK contract JSON exported from CLI metadata | +| `packages/sdk/langs/node/src/generated/` | No (gitignored) | Node SDK generated client code | +| `packages/sdk/langs/python/superdoc/generated/` | No (gitignored) | Python SDK generated client code | +| `packages/sdk/tools/*.json` | No (gitignored) | Tool catalogs for all providers (catalog.json, tools.openai.json, etc.) | +| `apps/docs/document-api/reference/` | Yes (Mintlify deploys from git) | Reference doc pages generated from contract | + +After a fresh clone, run `pnpm run generate:all` before working on SDK, CLI, or doc-api code. + +Note: `packages/sdk/tools/__init__.py` is a manual file (Python package marker) and stays committed. diff --git a/apps/cli/generated/sdk-contract.json b/apps/cli/generated/sdk-contract.json deleted file mode 100644 index 97211c3791..0000000000 --- a/apps/cli/generated/sdk-contract.json +++ /dev/null @@ -1,17808 +0,0 @@ -{ - "contractVersion": "0.1.0", - "sourceHash": "937cad0ad9eb592c", - "cli": { - "package": "@superdoc-dev/cli", - "minVersion": "1.0.0" - }, - "protocol": { - "version": "1.0", - "transport": "stdio", - "features": [ - "cli.invoke", - "host.shutdown", - "host.describe", - "host.describe.command" - ], - "notifications": [ - "event.remoteChange", - "event.sessionClosed" - ] - }, - "operations": { - "doc.find": { - "operationId": "doc.find", - "command": "find", - "commandTokens": [ - "find" - ], - "category": "query", - "description": "Search the document for nodes matching type, text, or attribute criteria.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "find_content", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "within", - "kind": "jsonFlag", - "type": "json", - "flag": "within-json", - "schema": { - "oneOf": [ - { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "inline" - }, - "nodeType": { - "oneOf": [ - { - "const": "run" - }, - { - "const": "bookmark" - }, - { - "const": "comment" - }, - { - "const": "hyperlink" - }, - { - "const": "sdt" - }, - { - "const": "image" - }, - { - "const": "footnoteRef" - }, - { - "const": "tab" - }, - { - "const": "lineBreak" - } - ] - }, - "anchor": { - "type": "object", - "properties": { - "start": { - "type": "object", - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "number" - } - }, - "required": [ - "blockId", - "offset" - ] - }, - "end": { - "type": "object", - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "number" - } - }, - "required": [ - "blockId", - "offset" - ] - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ] - } - ] - } - }, - { - "name": "limit", - "kind": "flag", - "type": "number" - }, - { - "name": "offset", - "kind": "flag", - "type": "number" - }, - { - "name": "includeNodes", - "kind": "flag", - "type": "boolean", - "flag": "include-nodes" - }, - { - "name": "includeUnknown", - "kind": "flag", - "type": "boolean", - "flag": "include-unknown" - }, - { - "name": "type", - "kind": "flag", - "type": "string" - }, - { - "name": "nodeType", - "kind": "flag", - "type": "string", - "flag": "node-type" - }, - { - "name": "kind", - "kind": "flag", - "type": "string" - }, - { - "name": "pattern", - "kind": "flag", - "type": "string" - }, - { - "name": "mode", - "kind": "flag", - "type": "string" - }, - { - "name": "caseSensitive", - "kind": "flag", - "type": "boolean", - "flag": "case-sensitive" - }, - { - "name": "query", - "kind": "jsonFlag", - "type": "json", - "flag": "query-json" - } - ], - "constraints": { - "requiresOneOf": [ - [ - "type", - "query" - ] - ], - "mutuallyExclusive": [ - [ - "type", - "query" - ] - ] - }, - "mutates": false, - "idempotency": "idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "includeNodes": { - "type": "boolean" - }, - "includeUnknown": { - "type": "boolean" - }, - "limit": { - "type": "integer" - }, - "offset": { - "type": "integer" - }, - "select": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "caseSensitive": { - "type": "boolean" - }, - "mode": { - "enum": [ - "contains", - "regex" - ] - }, - "pattern": { - "type": "string" - }, - "type": { - "const": "text" - } - }, - "required": [ - "type", - "pattern" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "enum": [ - "block", - "inline" - ] - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - }, - "type": { - "const": "node" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": [ - "nodeType" - ], - "type": "object" - } - ] - }, - "within": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt" - ] - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": [ - "run", - "bookmark", - "comment", - "hyperlink", - "sdt", - "image", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ], - "type": "object" - } - ] - } - }, - "required": [ - "select" - ], - "type": "object" - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "context": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt" - ] - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": [ - "run", - "bookmark", - "comment", - "hyperlink", - "sdt", - "image", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ], - "type": "object" - } - ] - }, - "highlightRange": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "snippet": { - "type": "string" - }, - "textRanges": { - "items": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "address", - "snippet", - "highlightRange" - ], - "type": "object" - }, - "type": "array" - }, - "diagnostics": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt" - ] - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": [ - "run", - "bookmark", - "comment", - "hyperlink", - "sdt", - "image", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ], - "type": "object" - } - ] - }, - "hint": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "required": [ - "message" - ], - "type": "object" - }, - "type": "array" - }, - "matches": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt" - ] - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": [ - "run", - "bookmark", - "comment", - "hyperlink", - "sdt", - "image", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "nodes": { - "items": { - "additionalProperties": false, - "properties": { - "bodyNodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "bodyText": { - "type": "string" - }, - "kind": { - "enum": [ - "block", - "inline" - ] - }, - "nodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - }, - "properties": { - "type": "object" - }, - "summary": { - "additionalProperties": false, - "properties": { - "label": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "nodeType", - "kind" - ], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": [ - "matches", - "total" - ], - "type": "object" - } - }, - "doc.getNode": { - "operationId": "doc.getNode", - "command": "get-node", - "commandTokens": [ - "get-node" - ], - "category": "query", - "description": "Retrieve a single node by target position.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "get_node", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "address", - "kind": "jsonFlag", - "type": "json", - "flag": "address-json" - } - ], - "constraints": null, - "mutates": false, - "idempotency": "idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt" - ] - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": [ - "run", - "bookmark", - "comment", - "hyperlink", - "sdt", - "image", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ], - "type": "object" - } - ] - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "bodyNodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "bodyText": { - "type": "string" - }, - "kind": { - "enum": [ - "block", - "inline" - ] - }, - "nodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - }, - "properties": { - "type": "object" - }, - "summary": { - "additionalProperties": false, - "properties": { - "label": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "nodeType", - "kind" - ], - "type": "object" - } - }, - "doc.getNodeById": { - "operationId": "doc.getNodeById", - "command": "get-node-by-id", - "commandTokens": [ - "get-node-by-id" - ], - "category": "query", - "description": "Retrieve a single node by its unique ID.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "get_node_by_id", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "id", - "kind": "flag", - "type": "string", - "required": true - }, - { - "name": "nodeType", - "kind": "flag", - "type": "string", - "flag": "node-type", - "schema": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - } - } - ], - "constraints": null, - "mutates": false, - "idempotency": "idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt" - ] - } - }, - "required": [ - "nodeId" - ], - "type": "object" - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "bodyNodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "bodyText": { - "type": "string" - }, - "kind": { - "enum": [ - "block", - "inline" - ] - }, - "nodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - }, - "properties": { - "type": "object" - }, - "summary": { - "additionalProperties": false, - "properties": { - "label": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "nodeType", - "kind" - ], - "type": "object" - } - }, - "doc.info": { - "operationId": "doc.info", - "command": "info", - "commandTokens": [ - "info" - ], - "category": "query", - "description": "Return document metadata including revision, node count, and capabilities.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "get_document_info", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - } - ], - "constraints": null, - "mutates": false, - "idempotency": "idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "capabilities": { - "additionalProperties": false, - "properties": { - "canComment": { - "type": "boolean" - }, - "canFind": { - "type": "boolean" - }, - "canGetNode": { - "type": "boolean" - }, - "canReplace": { - "type": "boolean" - } - }, - "required": [ - "canFind", - "canGetNode", - "canComment", - "canReplace" - ], - "type": "object" - }, - "counts": { - "additionalProperties": false, - "properties": { - "comments": { - "type": "integer" - }, - "headings": { - "type": "integer" - }, - "images": { - "type": "integer" - }, - "paragraphs": { - "type": "integer" - }, - "tables": { - "type": "integer" - }, - "words": { - "type": "integer" - } - }, - "required": [ - "words", - "paragraphs", - "headings", - "tables", - "images", - "comments" - ], - "type": "object" - }, - "outline": { - "items": { - "additionalProperties": false, - "properties": { - "level": { - "type": "integer" - }, - "nodeId": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": [ - "level", - "text", - "nodeId" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "counts", - "outline", - "capabilities" - ], - "type": "object" - } - }, - "doc.insert": { - "operationId": "doc.insert", - "command": "insert", - "commandTokens": [ - "insert" - ], - "category": "mutation", - "description": "Insert text or inline content at a target position.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "insert_content", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "dryRun", - "kind": "flag", - "type": "boolean", - "flag": "dry-run", - "agentVisible": false - }, - { - "name": "target", - "kind": "jsonFlag", - "type": "json", - "flag": "target-json", - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - { - "name": "text", - "kind": "flag", - "type": "string", - "required": true - } - ], - "constraints": null, - "mutates": true, - "idempotency": "non-idempotent", - "supportsTrackedMode": true, - "supportsDryRun": true, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "text" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET", - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure", - "resolution" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET", - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure", - "resolution" - ], - "type": "object" - } - }, - "doc.replace": { - "operationId": "doc.replace", - "command": "replace", - "commandTokens": [ - "replace" - ], - "category": "mutation", - "description": "Replace content at a target position with new text or inline content.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "replace_content", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "dryRun", - "kind": "flag", - "type": "boolean", - "flag": "dry-run", - "agentVisible": false - }, - { - "name": "target", - "kind": "jsonFlag", - "type": "json", - "flag": "target-json", - "required": true, - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - { - "name": "text", - "kind": "flag", - "type": "string", - "required": true - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": true, - "supportsDryRun": true, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "text" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET", - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure", - "resolution" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET", - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure", - "resolution" - ], - "type": "object" - } - }, - "doc.delete": { - "operationId": "doc.delete", - "command": "delete", - "commandTokens": [ - "delete" - ], - "category": "mutation", - "description": "Delete content at a target position.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "delete_content", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "dryRun", - "kind": "flag", - "type": "boolean", - "flag": "dry-run", - "agentVisible": false - }, - { - "name": "target", - "kind": "jsonFlag", - "type": "json", - "flag": "target-json", - "required": true, - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": true, - "supportsDryRun": true, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - } - }, - "required": [ - "target" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure", - "resolution" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure", - "resolution" - ], - "type": "object" - } - }, - "doc.format.bold": { - "operationId": "doc.format.bold", - "command": "format bold", - "commandTokens": [ - "format", - "bold" - ], - "category": "format", - "description": "Toggle bold formatting on the target range.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "format_bold", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "dryRun", - "kind": "flag", - "type": "boolean", - "flag": "dry-run", - "agentVisible": false - }, - { - "name": "target", - "kind": "jsonFlag", - "type": "json", - "flag": "target-json", - "required": true, - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": true, - "supportsDryRun": true, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - } - }, - "required": [ - "target" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure", - "resolution" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure", - "resolution" - ], - "type": "object" - } - }, - "doc.format.italic": { - "operationId": "doc.format.italic", - "command": "format italic", - "commandTokens": [ - "format", - "italic" - ], - "category": "format", - "description": "Toggle italic formatting on the target range.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "format_italic", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "dryRun", - "kind": "flag", - "type": "boolean", - "flag": "dry-run", - "agentVisible": false - }, - { - "name": "target", - "kind": "jsonFlag", - "type": "json", - "flag": "target-json", - "required": true, - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": true, - "supportsDryRun": true, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - } - }, - "required": [ - "target" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure", - "resolution" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure", - "resolution" - ], - "type": "object" - } - }, - "doc.format.underline": { - "operationId": "doc.format.underline", - "command": "format underline", - "commandTokens": [ - "format", - "underline" - ], - "category": "format", - "description": "Toggle underline formatting on the target range.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "format_underline", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "dryRun", - "kind": "flag", - "type": "boolean", - "flag": "dry-run", - "agentVisible": false - }, - { - "name": "target", - "kind": "jsonFlag", - "type": "json", - "flag": "target-json", - "required": true, - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": true, - "supportsDryRun": true, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - } - }, - "required": [ - "target" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure", - "resolution" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure", - "resolution" - ], - "type": "object" - } - }, - "doc.format.strikethrough": { - "operationId": "doc.format.strikethrough", - "command": "format strikethrough", - "commandTokens": [ - "format", - "strikethrough" - ], - "category": "format", - "description": "Toggle strikethrough formatting on the target range.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "format_strikethrough", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "dryRun", - "kind": "flag", - "type": "boolean", - "flag": "dry-run", - "agentVisible": false - }, - { - "name": "target", - "kind": "jsonFlag", - "type": "json", - "flag": "target-json", - "required": true, - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": true, - "supportsDryRun": true, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - } - }, - "required": [ - "target" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure", - "resolution" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure", - "resolution" - ], - "type": "object" - } - }, - "doc.create.paragraph": { - "operationId": "doc.create.paragraph", - "command": "create paragraph", - "commandTokens": [ - "create", - "paragraph" - ], - "category": "create", - "description": "Create a new paragraph at the target position.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "create_paragraph", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "dryRun", - "kind": "flag", - "type": "boolean", - "flag": "dry-run", - "agentVisible": false - }, - { - "name": "at", - "kind": "jsonFlag", - "type": "json", - "flag": "at-json", - "schema": { - "oneOf": [ - { - "type": "object", - "properties": { - "kind": { - "const": "documentStart" - } - }, - "required": [ - "kind" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "documentEnd" - } - }, - "required": [ - "kind" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "before" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "kind", - "target" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "after" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "kind", - "target" - ] - } - ] - } - }, - { - "name": "text", - "kind": "flag", - "type": "string" - }, - { - "name": "input", - "kind": "jsonFlag", - "type": "json", - "flag": "input-json" - } - ], - "constraints": null, - "mutates": true, - "idempotency": "non-idempotent", - "supportsTrackedMode": true, - "supportsDryRun": true, - "inputSchema": { - "additionalProperties": false, - "properties": { - "at": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "documentStart" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "documentEnd" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "before" - }, - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt" - ] - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - } - }, - "required": [ - "kind", - "target" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "after" - }, - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt" - ] - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - } - }, - "required": [ - "kind", - "target" - ], - "type": "object" - } - ] - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "insertionPoint": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "paragraph": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "paragraph" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - }, - "trackedChangeRefs": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "success", - "paragraph", - "insertionPoint" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "insertionPoint": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "paragraph": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "paragraph" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - }, - "trackedChangeRefs": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "success", - "paragraph", - "insertionPoint" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.lists.list": { - "operationId": "doc.lists.list", - "command": "lists list", - "commandTokens": [ - "lists", - "list" - ], - "category": "lists", - "description": "List all list nodes in the document, optionally filtered by scope.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "list_lists", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "within", - "kind": "jsonFlag", - "type": "json", - "flag": "within-json", - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - { - "name": "limit", - "kind": "flag", - "type": "number" - }, - { - "name": "offset", - "kind": "flag", - "type": "number" - }, - { - "name": "kind", - "kind": "flag", - "type": "string", - "schema": { - "oneOf": [ - { - "const": "ordered" - }, - { - "const": "bullet" - } - ] - } - }, - { - "name": "level", - "kind": "flag", - "type": "number" - }, - { - "name": "ordinal", - "kind": "flag", - "type": "number" - }, - { - "name": "query", - "kind": "jsonFlag", - "type": "json", - "flag": "query-json" - } - ], - "constraints": { - "mutuallyExclusive": [ - [ - "query", - "within" - ], - [ - "query", - "kind" - ], - [ - "query", - "level" - ], - [ - "query", - "ordinal" - ], - [ - "query", - "limit" - ], - [ - "query", - "offset" - ] - ] - }, - "mutates": false, - "idempotency": "idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "kind": { - "enum": [ - "ordered", - "bullet" - ] - }, - "level": { - "type": "integer" - }, - "limit": { - "type": "integer" - }, - "offset": { - "type": "integer" - }, - "ordinal": { - "type": "integer" - }, - "within": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt" - ] - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - } - }, - "type": "object" - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "items": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "kind": { - "enum": [ - "ordered", - "bullet" - ] - }, - "level": { - "type": "integer" - }, - "marker": { - "type": "string" - }, - "ordinal": { - "type": "integer" - }, - "path": { - "items": { - "type": "integer" - }, - "type": "array" - }, - "text": { - "type": "string" - } - }, - "required": [ - "address" - ], - "type": "object" - }, - "type": "array" - }, - "matches": { - "items": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": [ - "matches", - "total", - "items" - ], - "type": "object" - } - }, - "doc.lists.get": { - "operationId": "doc.lists.get", - "command": "lists get", - "commandTokens": [ - "lists", - "get" - ], - "category": "lists", - "description": "Retrieve a specific list node by target.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "get_list", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "address", - "kind": "jsonFlag", - "type": "json", - "flag": "address-json", - "required": true, - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - } - ], - "constraints": null, - "mutates": false, - "idempotency": "idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - } - }, - "required": [ - "address" - ], - "type": "object" - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "kind": { - "enum": [ - "ordered", - "bullet" - ] - }, - "level": { - "type": "integer" - }, - "marker": { - "type": "string" - }, - "ordinal": { - "type": "integer" - }, - "path": { - "items": { - "type": "integer" - }, - "type": "array" - }, - "text": { - "type": "string" - } - }, - "required": [ - "address" - ], - "type": "object" - } - }, - "doc.lists.insert": { - "operationId": "doc.lists.insert", - "command": "lists insert", - "commandTokens": [ - "lists", - "insert" - ], - "category": "lists", - "description": "Insert a new list at the target position.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "insert_list", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "dryRun", - "kind": "flag", - "type": "boolean", - "flag": "dry-run", - "agentVisible": false - }, - { - "name": "target", - "kind": "jsonFlag", - "type": "json", - "flag": "target-json", - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - { - "name": "position", - "kind": "flag", - "type": "string", - "schema": { - "oneOf": [ - { - "const": "before" - }, - { - "const": "after" - } - ] - } - }, - { - "name": "text", - "kind": "flag", - "type": "string" - }, - { - "name": "input", - "kind": "jsonFlag", - "type": "json", - "flag": "input-json" - } - ], - "constraints": null, - "mutates": true, - "idempotency": "non-idempotent", - "supportsTrackedMode": true, - "supportsDryRun": true, - "inputSchema": { - "additionalProperties": false, - "properties": { - "position": { - "enum": [ - "before", - "after" - ] - }, - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "position" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "insertionPoint": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - }, - "trackedChangeRefs": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "success", - "item", - "insertionPoint" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "insertionPoint": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - }, - "trackedChangeRefs": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "success", - "item", - "insertionPoint" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.lists.setType": { - "operationId": "doc.lists.setType", - "command": "lists set-type", - "commandTokens": [ - "lists", - "set-type" - ], - "category": "lists", - "description": "Change the list type (ordered, unordered) of a target list.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "set_list_type", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "dryRun", - "kind": "flag", - "type": "boolean", - "flag": "dry-run", - "agentVisible": false - }, - { - "name": "target", - "kind": "jsonFlag", - "type": "json", - "flag": "target-json", - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - { - "name": "kind", - "kind": "flag", - "type": "string", - "schema": { - "oneOf": [ - { - "const": "ordered" - }, - { - "const": "bullet" - } - ] - } - }, - { - "name": "input", - "kind": "jsonFlag", - "type": "json", - "flag": "input-json" - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": true, - "inputSchema": { - "additionalProperties": false, - "properties": { - "kind": { - "enum": [ - "ordered", - "bullet" - ] - }, - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - } - }, - "required": [ - "target", - "kind" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP", - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP", - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.lists.indent": { - "operationId": "doc.lists.indent", - "command": "lists indent", - "commandTokens": [ - "lists", - "indent" - ], - "category": "lists", - "description": "Increase the indentation level of a list item.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "indent_list", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "dryRun", - "kind": "flag", - "type": "boolean", - "flag": "dry-run", - "agentVisible": false - }, - { - "name": "target", - "kind": "jsonFlag", - "type": "json", - "flag": "target-json", - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - { - "name": "input", - "kind": "jsonFlag", - "type": "json", - "flag": "input-json" - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": true, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - } - }, - "required": [ - "target" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP", - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP", - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.lists.outdent": { - "operationId": "doc.lists.outdent", - "command": "lists outdent", - "commandTokens": [ - "lists", - "outdent" - ], - "category": "lists", - "description": "Decrease the indentation level of a list item.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "outdent_list", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "dryRun", - "kind": "flag", - "type": "boolean", - "flag": "dry-run", - "agentVisible": false - }, - { - "name": "target", - "kind": "jsonFlag", - "type": "json", - "flag": "target-json", - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - { - "name": "input", - "kind": "jsonFlag", - "type": "json", - "flag": "input-json" - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": true, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - } - }, - "required": [ - "target" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP", - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP", - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.lists.restart": { - "operationId": "doc.lists.restart", - "command": "lists restart", - "commandTokens": [ - "lists", - "restart" - ], - "category": "lists", - "description": "Restart numbering of an ordered list at the target item.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "restart_list_numbering", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "dryRun", - "kind": "flag", - "type": "boolean", - "flag": "dry-run", - "agentVisible": false - }, - { - "name": "target", - "kind": "jsonFlag", - "type": "json", - "flag": "target-json", - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - { - "name": "input", - "kind": "jsonFlag", - "type": "json", - "flag": "input-json" - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": true, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - } - }, - "required": [ - "target" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP", - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP", - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.lists.exit": { - "operationId": "doc.lists.exit", - "command": "lists exit", - "commandTokens": [ - "lists", - "exit" - ], - "category": "lists", - "description": "Exit a list context, converting the target item to a paragraph.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "exit_list", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "dryRun", - "kind": "flag", - "type": "boolean", - "flag": "dry-run", - "agentVisible": false - }, - { - "name": "target", - "kind": "jsonFlag", - "type": "json", - "flag": "target-json", - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - { - "name": "input", - "kind": "jsonFlag", - "type": "json", - "flag": "input-json" - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": true, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - } - }, - "required": [ - "target" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "paragraph": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "paragraph" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "paragraph" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "paragraph": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "paragraph" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "paragraph" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.comments.add": { - "operationId": "doc.comments.add", - "command": "comments add", - "commandTokens": [ - "comments", - "add" - ], - "category": "comments", - "description": "Add a new comment thread anchored to a target range.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "add_comment", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "target", - "kind": "jsonFlag", - "type": "json", - "flag": "target-json", - "required": true, - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - { - "name": "text", - "kind": "flag", - "type": "string", - "required": true - } - ], - "constraints": null, - "mutates": true, - "idempotency": "non-idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "text" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET", - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET", - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.comments.edit": { - "operationId": "doc.comments.edit", - "command": "comments edit", - "commandTokens": [ - "comments", - "edit" - ], - "category": "comments", - "description": "Edit the content of an existing comment.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "edit_comment", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "id", - "kind": "flag", - "type": "string", - "required": true - }, - { - "name": "text", - "kind": "flag", - "type": "string", - "required": true - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": [ - "commentId", - "text" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.comments.reply": { - "operationId": "doc.comments.reply", - "command": "comments reply", - "commandTokens": [ - "comments", - "reply" - ], - "category": "comments", - "description": "Add a reply to an existing comment thread.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "reply_to_comment", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "parentId", - "kind": "flag", - "type": "string", - "flag": "parent-id", - "required": true - }, - { - "name": "text", - "kind": "flag", - "type": "string", - "required": true - } - ], - "constraints": null, - "mutates": true, - "idempotency": "non-idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "parentCommentId": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": [ - "parentCommentId", - "text" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.comments.move": { - "operationId": "doc.comments.move", - "command": "comments move", - "commandTokens": [ - "comments", - "move" - ], - "category": "comments", - "description": "Move a comment thread to a new anchor range.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "move_comment", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "id", - "kind": "flag", - "type": "string", - "required": true - }, - { - "name": "target", - "kind": "jsonFlag", - "type": "json", - "flag": "target-json", - "required": true, - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": "string" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - } - }, - "required": [ - "commentId", - "target" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET", - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET", - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.comments.resolve": { - "operationId": "doc.comments.resolve", - "command": "comments resolve", - "commandTokens": [ - "comments", - "resolve" - ], - "category": "comments", - "description": "Resolve or unresolve a comment thread.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "resolve_comment", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "id", - "kind": "flag", - "type": "string", - "required": true - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": "string" - } - }, - "required": [ - "commentId" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.comments.remove": { - "operationId": "doc.comments.remove", - "command": "comments remove", - "commandTokens": [ - "comments", - "remove" - ], - "category": "comments", - "description": "Remove a comment or reply by ID.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "remove_comment", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "id", - "kind": "flag", - "type": "string", - "required": true - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": "string" - } - }, - "required": [ - "commentId" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.comments.setInternal": { - "operationId": "doc.comments.setInternal", - "command": "comments set-internal", - "commandTokens": [ - "comments", - "set-internal" - ], - "category": "comments", - "description": "Toggle the internal (private) flag on a comment thread.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "set_comment_internal", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "id", - "kind": "flag", - "type": "string", - "required": true - }, - { - "name": "isInternal", - "kind": "flag", - "type": "boolean", - "flag": "is-internal", - "required": true - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": "string" - }, - "isInternal": { - "type": "boolean" - } - }, - "required": [ - "commentId", - "isInternal" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP", - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP", - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.comments.setActive": { - "operationId": "doc.comments.setActive", - "command": "comments set-active", - "commandTokens": [ - "comments", - "set-active" - ], - "category": "comments", - "description": "Set the active (focused) comment thread for UI highlighting.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "set_comment_active", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "commentId", - "kind": "jsonFlag", - "type": "json", - "flag": "comment-id-json", - "schema": { - "type": "json" - } - }, - { - "name": "id", - "kind": "flag", - "type": "string" - }, - { - "name": "clear", - "kind": "flag", - "type": "boolean" - } - ], - "constraints": { - "requiresOneOf": [ - [ - "id", - "clear" - ] - ], - "mutuallyExclusive": [ - [ - "id", - "clear" - ] - ] - }, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "commentId" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.comments.goTo": { - "operationId": "doc.comments.goTo", - "command": "comments go-to", - "commandTokens": [ - "comments", - "go-to" - ], - "category": "comments", - "description": "Scroll the viewport to a comment thread by ID.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "go_to_comment", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "id", - "kind": "flag", - "type": "string", - "required": true - } - ], - "constraints": null, - "mutates": false, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": "string" - } - }, - "required": [ - "commentId" - ], - "type": "object" - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - } - }, - "doc.comments.get": { - "operationId": "doc.comments.get", - "command": "comments get", - "commandTokens": [ - "comments", - "get" - ], - "category": "comments", - "description": "Retrieve a single comment thread by ID.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "get_comment", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "id", - "kind": "flag", - "type": "string", - "required": true - } - ], - "constraints": null, - "mutates": false, - "idempotency": "idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": "string" - } - }, - "required": [ - "commentId" - ], - "type": "object" - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "commentId": { - "type": "string" - }, - "createdTime": { - "type": "number" - }, - "creatorEmail": { - "type": "string" - }, - "creatorName": { - "type": "string" - }, - "importedId": { - "type": "string" - }, - "isInternal": { - "type": "boolean" - }, - "parentCommentId": { - "type": "string" - }, - "status": { - "enum": [ - "open", - "resolved" - ] - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "address", - "commentId", - "status" - ], - "type": "object" - } - }, - "doc.comments.list": { - "operationId": "doc.comments.list", - "command": "comments list", - "commandTokens": [ - "comments", - "list" - ], - "category": "comments", - "description": "List all comment threads in the document.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "list_comments", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "includeResolved", - "kind": "flag", - "type": "boolean", - "flag": "include-resolved" - } - ], - "constraints": null, - "mutates": false, - "idempotency": "idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "includeResolved": { - "type": "boolean" - } - }, - "type": "object" - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "matches": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "commentId": { - "type": "string" - }, - "createdTime": { - "type": "number" - }, - "creatorEmail": { - "type": "string" - }, - "creatorName": { - "type": "string" - }, - "importedId": { - "type": "string" - }, - "isInternal": { - "type": "boolean" - }, - "parentCommentId": { - "type": "string" - }, - "status": { - "enum": [ - "open", - "resolved" - ] - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "address", - "commentId", - "status" - ], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": [ - "matches", - "total" - ], - "type": "object" - } - }, - "doc.trackChanges.list": { - "operationId": "doc.trackChanges.list", - "command": "track-changes list", - "commandTokens": [ - "track-changes", - "list" - ], - "category": "trackChanges", - "description": "List all tracked changes in the document.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "list_tracked_changes", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "limit", - "kind": "flag", - "type": "number" - }, - { - "name": "offset", - "kind": "flag", - "type": "number" - }, - { - "name": "type", - "kind": "flag", - "type": "string", - "schema": { - "oneOf": [ - { - "const": "insert" - }, - { - "const": "delete" - }, - { - "const": "format" - } - ] - } - } - ], - "constraints": null, - "mutates": false, - "idempotency": "idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "limit": { - "type": "integer" - }, - "offset": { - "type": "integer" - }, - "type": { - "enum": [ - "insert", - "delete", - "format" - ] - } - }, - "type": "object" - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "changes": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "author": { - "type": "string" - }, - "authorEmail": { - "type": "string" - }, - "authorImage": { - "type": "string" - }, - "date": { - "type": "string" - }, - "excerpt": { - "type": "string" - }, - "id": { - "type": "string" - }, - "type": { - "enum": [ - "insert", - "delete", - "format" - ] - } - }, - "required": [ - "address", - "id", - "type" - ], - "type": "object" - }, - "type": "array" - }, - "matches": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": [ - "matches", - "total" - ], - "type": "object" - } - }, - "doc.trackChanges.get": { - "operationId": "doc.trackChanges.get", - "command": "track-changes get", - "commandTokens": [ - "track-changes", - "get" - ], - "category": "trackChanges", - "description": "Retrieve a single tracked change by ID.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "get_tracked_change", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "id", - "kind": "flag", - "type": "string", - "required": true - } - ], - "constraints": null, - "mutates": false, - "idempotency": "idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "author": { - "type": "string" - }, - "authorEmail": { - "type": "string" - }, - "authorImage": { - "type": "string" - }, - "date": { - "type": "string" - }, - "excerpt": { - "type": "string" - }, - "id": { - "type": "string" - }, - "type": { - "enum": [ - "insert", - "delete", - "format" - ] - } - }, - "required": [ - "address", - "id", - "type" - ], - "type": "object" - } - }, - "doc.trackChanges.accept": { - "operationId": "doc.trackChanges.accept", - "command": "track-changes accept", - "commandTokens": [ - "track-changes", - "accept" - ], - "category": "trackChanges", - "description": "Accept a tracked change, applying it permanently.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "accept_tracked_change", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "id", - "kind": "flag", - "type": "string", - "required": true - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.trackChanges.reject": { - "operationId": "doc.trackChanges.reject", - "command": "track-changes reject", - "commandTokens": [ - "track-changes", - "reject" - ], - "category": "trackChanges", - "description": "Reject a tracked change, reverting it.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "reject_tracked_change", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "id", - "kind": "flag", - "type": "string", - "required": true - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.trackChanges.acceptAll": { - "operationId": "doc.trackChanges.acceptAll", - "command": "track-changes accept-all", - "commandTokens": [ - "track-changes", - "accept-all" - ], - "category": "trackChanges", - "description": "Accept all tracked changes in the document.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "accept_all_tracked_changes", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.trackChanges.rejectAll": { - "operationId": "doc.trackChanges.rejectAll", - "command": "track-changes reject-all", - "commandTokens": [ - "track-changes", - "reject-all" - ], - "category": "trackChanges", - "description": "Reject all tracked changes in the document.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "reject_all_tracked_changes", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.open": { - "operationId": "doc.open", - "command": "open", - "commandTokens": [ - "open" - ], - "category": "lifecycle", - "description": "Open a document and create a persistent editing session.", - "requiresDocumentContext": false, - "docRequirement": "required", - "intentName": "open_document", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string", - "required": true - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "collaboration", - "kind": "jsonFlag", - "type": "json", - "flag": "collaboration-json" - }, - { - "name": "collabDocumentId", - "kind": "flag", - "type": "string", - "flag": "collab-document-id" - }, - { - "name": "collabUrl", - "kind": "flag", - "type": "string", - "flag": "collab-url" - } - ], - "constraints": null, - "mutates": false, - "idempotency": "non-idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "outputSchema": { - "type": "object", - "properties": { - "contextId": { - "type": "string" - }, - "sessionType": { - "type": "string" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - }, - "revision": { - "type": "number" - } - } - }, - "collaboration": { - "type": "object", - "properties": { - "documentId": { - "type": "string" - }, - "url": { - "type": "string" - } - } - } - }, - "required": [ - "contextId", - "sessionType" - ] - } - }, - "doc.save": { - "operationId": "doc.save", - "command": "save", - "commandTokens": [ - "save" - ], - "category": "lifecycle", - "description": "Save the current session to the original file or a new path.", - "requiresDocumentContext": false, - "docRequirement": "none", - "intentName": "save_document", - "params": [ - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "inPlace", - "kind": "flag", - "type": "boolean", - "flag": "in-place" - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "outputSchema": { - "type": "object", - "properties": { - "contextId": { - "type": "string" - }, - "saved": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - }, - "revision": { - "type": "number" - } - } - }, - "context": { - "type": "object", - "properties": { - "dirty": { - "type": "boolean" - }, - "revision": { - "type": "number" - }, - "lastSavedAt": { - "type": "string" - } - } - }, - "output": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "byteLength": { - "type": "number" - } - } - } - }, - "required": [ - "contextId", - "saved" - ] - } - }, - "doc.close": { - "operationId": "doc.close", - "command": "close", - "commandTokens": [ - "close" - ], - "category": "lifecycle", - "description": "Close the active editing session and clean up resources.", - "requiresDocumentContext": false, - "docRequirement": "none", - "intentName": "close_document", - "params": [ - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "discard", - "kind": "flag", - "type": "boolean" - } - ], - "constraints": null, - "mutates": false, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "outputSchema": { - "type": "object", - "properties": { - "contextId": { - "type": "string" - }, - "closed": { - "type": "boolean" - }, - "saved": { - "type": "boolean" - }, - "discarded": { - "type": "boolean" - }, - "defaultSessionCleared": { - "type": "boolean" - }, - "wasDirty": { - "type": "boolean" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - }, - "revision": { - "type": "number" - } - } - } - }, - "required": [ - "contextId", - "closed" - ] - } - }, - "doc.status": { - "operationId": "doc.status", - "command": "status", - "commandTokens": [ - "status" - ], - "category": "introspection", - "description": "Show the current session status and document metadata.", - "requiresDocumentContext": false, - "docRequirement": "none", - "intentName": "get_status", - "params": [ - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - } - ], - "constraints": null, - "mutates": false, - "idempotency": "idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "outputSchema": { - "type": "object", - "properties": { - "contextId": { - "type": "string" - }, - "sessionType": { - "type": "string" - }, - "dirty": { - "type": "boolean" - }, - "revision": { - "type": "number" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - } - } - } - }, - "required": [ - "contextId" - ] - } - }, - "doc.describe": { - "operationId": "doc.describe", - "command": "describe", - "commandTokens": [ - "describe" - ], - "category": "introspection", - "description": "List all available CLI operations and contract metadata.", - "requiresDocumentContext": false, - "docRequirement": "none", - "intentName": "describe_commands", - "params": [], - "constraints": null, - "mutates": false, - "idempotency": "idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "outputSchema": { - "type": "object", - "properties": { - "contractVersion": { - "type": "string" - }, - "operations": { - "type": "array", - "items": { - "type": "object", - "properties": { - "operationId": { - "type": "string" - }, - "command": { - "type": "string" - }, - "category": { - "type": "string" - }, - "description": { - "type": "string" - }, - "mutates": { - "type": "boolean" - } - } - } - } - } - } - }, - "doc.describeCommand": { - "operationId": "doc.describeCommand", - "command": "describe command", - "commandTokens": [ - "describe", - "command" - ], - "category": "introspection", - "description": "Show detailed metadata for a single CLI operation.", - "requiresDocumentContext": false, - "docRequirement": "none", - "intentName": "describe_command", - "params": [ - { - "name": "operationId", - "kind": "doc", - "type": "string", - "required": true - } - ], - "constraints": null, - "mutates": false, - "idempotency": "idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "outputSchema": { - "type": "object", - "properties": { - "operationId": { - "type": "string" - }, - "command": { - "type": "string" - }, - "category": { - "type": "string" - }, - "description": { - "type": "string" - }, - "mutates": { - "type": "boolean" - }, - "params": { - "type": "array" - }, - "constraints": {} - } - } - }, - "doc.session.list": { - "operationId": "doc.session.list", - "command": "session list", - "commandTokens": [ - "session", - "list" - ], - "category": "session", - "description": "List all active editing sessions.", - "requiresDocumentContext": false, - "docRequirement": "none", - "intentName": "list_sessions", - "params": [], - "constraints": null, - "mutates": false, - "idempotency": "idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "outputSchema": { - "type": "object", - "properties": { - "activeSessionId": { - "type": "string" - }, - "sessions": { - "type": "array", - "items": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "sessionType": { - "type": "string" - }, - "dirty": { - "type": "boolean" - }, - "revision": { - "type": "number" - } - } - } - }, - "total": { - "type": "number" - } - } - } - }, - "doc.session.save": { - "operationId": "doc.session.save", - "command": "session save", - "commandTokens": [ - "session", - "save" - ], - "category": "session", - "description": "Persist the current session state.", - "requiresDocumentContext": false, - "docRequirement": "none", - "intentName": "save_session", - "params": [ - { - "name": "sessionId", - "kind": "doc", - "type": "string", - "required": true - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "inPlace", - "kind": "flag", - "type": "boolean", - "flag": "in-place" - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "outputSchema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "contextId": { - "type": "string" - }, - "saved": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - }, - "revision": { - "type": "number" - } - } - }, - "output": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "byteLength": { - "type": "number" - } - } - } - }, - "required": [ - "sessionId" - ] - } - }, - "doc.session.close": { - "operationId": "doc.session.close", - "command": "session close", - "commandTokens": [ - "session", - "close" - ], - "category": "session", - "description": "Close a specific editing session by ID.", - "requiresDocumentContext": false, - "docRequirement": "none", - "intentName": "close_session", - "params": [ - { - "name": "sessionId", - "kind": "doc", - "type": "string", - "required": true - }, - { - "name": "discard", - "kind": "flag", - "type": "boolean" - } - ], - "constraints": null, - "mutates": false, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "outputSchema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "contextId": { - "type": "string" - }, - "closed": { - "type": "boolean" - }, - "saved": { - "type": "boolean" - }, - "discarded": { - "type": "boolean" - }, - "defaultSessionCleared": { - "type": "boolean" - }, - "wasDirty": { - "type": "boolean" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - }, - "revision": { - "type": "number" - } - } - } - }, - "required": [ - "sessionId" - ] - } - }, - "doc.session.setDefault": { - "operationId": "doc.session.setDefault", - "command": "session set-default", - "commandTokens": [ - "session", - "set-default" - ], - "category": "session", - "description": "Set the default session for subsequent commands.", - "requiresDocumentContext": false, - "docRequirement": "none", - "intentName": "set_default_session", - "params": [ - { - "name": "sessionId", - "kind": "doc", - "type": "string", - "required": true - } - ], - "constraints": null, - "mutates": false, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "outputSchema": { - "type": "object", - "properties": { - "activeSessionId": { - "type": "string" - } - }, - "required": [ - "activeSessionId" - ] - } - } - } -} diff --git a/apps/docs/CLAUDE.md b/apps/docs/CLAUDE.md index 29e3d3d39e..a242fb550b 100644 --- a/apps/docs/CLAUDE.md +++ b/apps/docs/CLAUDE.md @@ -19,11 +19,11 @@ When moving or renaming a page, always add a redirect in `docs.json`: Document API docs have mixed manual/generated ownership. Treat these paths as authoritative: -- `apps/docs/document-api/reference/*`: generated, commit to git, do not hand-edit. -- `packages/document-api/generated/*`: generated, commit to git, do not hand-edit. +- `apps/docs/document-api/reference/*`: generated, committed to git (Mintlify deploys from git), do not hand-edit. +- `packages/document-api/generated/*`: generated, **not in git**, do not hand-edit. Run `pnpm run generate:all` to produce. - `apps/docs/document-api/overview.mdx`: manual except for the block between: - - `/* DOC_API_GENERATED_API_SURFACE_START */` - - `/* DOC_API_GENERATED_API_SURFACE_END */` + - `{/* DOC_API_OPERATIONS_START */}` + - `{/* DOC_API_OPERATIONS_END */}` To refresh generated content: diff --git a/lefthook.yml b/lefthook.yml index 067d565772..f70fa635a9 100644 --- a/lefthook.yml +++ b/lefthook.yml @@ -39,9 +39,9 @@ pre-commit: root: "apps/docs/" glob: "apps/docs/**/*.mdx" run: pnpm run test:examples - docapi-sync: - glob: "{packages/document-api,apps/docs/document-api}/**" - run: pnpm run docapi:sync && git add packages/document-api/generated apps/docs/document-api/reference apps/docs/document-api/overview.mdx + docapi-overview-sync: + glob: "{packages/document-api/src/contract,packages/document-api/scripts}/**" + run: pnpm run docapi:sync && git add apps/docs/document-api/reference apps/docs/document-api/overview.mdx commit-msg: commands: diff --git a/package.json b/package.json index 99cb31ad1d..9a122054a0 100644 --- a/package.json +++ b/package.json @@ -64,6 +64,7 @@ "update-preset-geometry": "ROOT=$(pwd) && cd ../superdoc-devtools/preset-geometry && pnpm run build && cp ./dist/index.js ./dist/index.js.map ./dist/index.d.ts \"$ROOT/packages/preset-geometry/\"", "manual-tag": "bash scripts/manual-tag.sh", "manual-clean-tag": "bash scripts/manual-clean-tag.sh", + "generate:all": "node scripts/generate-all.mjs", "docapi:sync": "pnpm exec tsx packages/document-api/scripts/generate-contract-outputs.ts", "docapi:check": "pnpm exec tsx packages/document-api/scripts/check-contract-parity.ts && pnpm exec tsx packages/document-api/scripts/check-contract-outputs.ts", "docapi:sync:check": "pnpm run docapi:sync && pnpm run docapi:check", diff --git a/packages/document-api/README.md b/packages/document-api/README.md index dcd43317d6..8b4cee33a1 100644 --- a/packages/document-api/README.md +++ b/packages/document-api/README.md @@ -4,21 +4,21 @@ Contract-first Document API package (internal workspace package). ## Generated vs manual files -This package intentionally checks generated artifacts into git. Use this boundary when editing: +Most generated artifacts are **not** committed to git — run `pnpm run generate:all` to produce them. The exception is `apps/docs/document-api/reference/**`, which stays committed because Mintlify deploys directly from git. | Path | Source of truth | Edit directly? | | --- | --- | --- | | `packages/document-api/src/contract/*` | Hand-authored contract source | Yes | | `packages/document-api/src/index.ts` and other `src/**` runtime/types | Hand-authored source | Yes | | `packages/document-api/scripts/**` | Hand-authored generation/check tooling | Yes | -| `packages/document-api/generated/**` | Generated from contract + scripts | No (regenerate) | -| `apps/docs/document-api/reference/**` | Generated docs from contract + scripts | No (regenerate) | +| `packages/document-api/generated/**` | Generated (gitignored) | No (regenerate) | +| `apps/docs/document-api/reference/**` | Generated (committed — Mintlify deploys from git) | No (regenerate) | | `apps/docs/document-api/overview.mdx` | Mixed: manual page + generated section between markers | Yes, but do not hand-edit inside generated marker block | Generated marker block in overview: -- `/* DOC_API_GENERATED_API_SURFACE_START */` -- `/* DOC_API_GENERATED_API_SURFACE_END */` +- `{/* DOC_API_OPERATIONS_START */}` +- `{/* DOC_API_OPERATIONS_END */}` ## Regeneration commands @@ -31,8 +31,8 @@ pnpm run docapi:sync:check # sync then check in one step ``` These are also enforced automatically: -- **Pre-commit hook** runs `docapi:sync` when document-api sources change and restages generated files. -- **CI workflow** (`ci-document-api.yml`) runs `docapi:check` on every PR touching relevant paths. +- **Pre-commit hook** runs `docapi:sync` when contract or script sources change and restages `reference/` and `overview.mdx`. +- **CI workflow** (`ci-document-api.yml`) generates outputs, checks overview freshness, then runs `docapi:check` on every PR touching relevant paths. ## Adding a new operation diff --git a/packages/document-api/generated/agent/compatibility-hints.json b/packages/document-api/generated/agent/compatibility-hints.json deleted file mode 100644 index a0db2e2a77..0000000000 --- a/packages/document-api/generated/agent/compatibility-hints.json +++ /dev/null @@ -1,366 +0,0 @@ -{ - "contractVersion": "0.1.0", - "operations": { - "capabilities.get": { - "deterministicTargetResolution": true, - "memberPath": "capabilities", - "mutates": false, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": false, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - "comments.add": { - "deterministicTargetResolution": true, - "memberPath": "comments.add", - "mutates": true, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": true, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - "comments.edit": { - "deterministicTargetResolution": true, - "memberPath": "comments.edit", - "mutates": true, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": true, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - "comments.get": { - "deterministicTargetResolution": true, - "memberPath": "comments.get", - "mutates": false, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": false, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - "comments.goTo": { - "deterministicTargetResolution": true, - "memberPath": "comments.goTo", - "mutates": false, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": false, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - "comments.list": { - "deterministicTargetResolution": true, - "memberPath": "comments.list", - "mutates": false, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": false, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - "comments.move": { - "deterministicTargetResolution": true, - "memberPath": "comments.move", - "mutates": true, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": true, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - "comments.remove": { - "deterministicTargetResolution": true, - "memberPath": "comments.remove", - "mutates": true, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": true, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - "comments.reply": { - "deterministicTargetResolution": true, - "memberPath": "comments.reply", - "mutates": true, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": true, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - "comments.resolve": { - "deterministicTargetResolution": true, - "memberPath": "comments.resolve", - "mutates": true, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": true, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - "comments.setActive": { - "deterministicTargetResolution": true, - "memberPath": "comments.setActive", - "mutates": true, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": true, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - "comments.setInternal": { - "deterministicTargetResolution": true, - "memberPath": "comments.setInternal", - "mutates": true, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": true, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - "create.heading": { - "deterministicTargetResolution": true, - "memberPath": "create.heading", - "mutates": true, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": true, - "supportsDryRun": true, - "supportsTrackedMode": true - }, - "create.paragraph": { - "deterministicTargetResolution": true, - "memberPath": "create.paragraph", - "mutates": true, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": true, - "supportsDryRun": true, - "supportsTrackedMode": true - }, - "delete": { - "deterministicTargetResolution": true, - "memberPath": "delete", - "mutates": true, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": true, - "supportsDryRun": true, - "supportsTrackedMode": true - }, - "find": { - "deterministicTargetResolution": false, - "memberPath": "find", - "mutates": false, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": false, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - "format.bold": { - "deterministicTargetResolution": true, - "memberPath": "format.bold", - "mutates": true, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": true, - "supportsDryRun": true, - "supportsTrackedMode": true - }, - "format.italic": { - "deterministicTargetResolution": true, - "memberPath": "format.italic", - "mutates": true, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": true, - "supportsDryRun": true, - "supportsTrackedMode": true - }, - "format.strikethrough": { - "deterministicTargetResolution": true, - "memberPath": "format.strikethrough", - "mutates": true, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": true, - "supportsDryRun": true, - "supportsTrackedMode": true - }, - "format.underline": { - "deterministicTargetResolution": true, - "memberPath": "format.underline", - "mutates": true, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": true, - "supportsDryRun": true, - "supportsTrackedMode": true - }, - "getNode": { - "deterministicTargetResolution": true, - "memberPath": "getNode", - "mutates": false, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": false, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - "getNodeById": { - "deterministicTargetResolution": true, - "memberPath": "getNodeById", - "mutates": false, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": false, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - "getText": { - "deterministicTargetResolution": true, - "memberPath": "getText", - "mutates": false, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": false, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - "info": { - "deterministicTargetResolution": true, - "memberPath": "info", - "mutates": false, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": false, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - "insert": { - "deterministicTargetResolution": true, - "memberPath": "insert", - "mutates": true, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": true, - "supportsDryRun": true, - "supportsTrackedMode": true - }, - "lists.exit": { - "deterministicTargetResolution": true, - "memberPath": "lists.exit", - "mutates": true, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": true, - "supportsDryRun": true, - "supportsTrackedMode": false - }, - "lists.get": { - "deterministicTargetResolution": true, - "memberPath": "lists.get", - "mutates": false, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": false, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - "lists.indent": { - "deterministicTargetResolution": true, - "memberPath": "lists.indent", - "mutates": true, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": true, - "supportsDryRun": true, - "supportsTrackedMode": false - }, - "lists.insert": { - "deterministicTargetResolution": true, - "memberPath": "lists.insert", - "mutates": true, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": true, - "supportsDryRun": true, - "supportsTrackedMode": true - }, - "lists.list": { - "deterministicTargetResolution": true, - "memberPath": "lists.list", - "mutates": false, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": false, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - "lists.outdent": { - "deterministicTargetResolution": true, - "memberPath": "lists.outdent", - "mutates": true, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": true, - "supportsDryRun": true, - "supportsTrackedMode": false - }, - "lists.restart": { - "deterministicTargetResolution": true, - "memberPath": "lists.restart", - "mutates": true, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": true, - "supportsDryRun": true, - "supportsTrackedMode": false - }, - "lists.setType": { - "deterministicTargetResolution": true, - "memberPath": "lists.setType", - "mutates": true, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": true, - "supportsDryRun": true, - "supportsTrackedMode": false - }, - "replace": { - "deterministicTargetResolution": true, - "memberPath": "replace", - "mutates": true, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": true, - "supportsDryRun": true, - "supportsTrackedMode": true - }, - "trackChanges.accept": { - "deterministicTargetResolution": true, - "memberPath": "trackChanges.accept", - "mutates": true, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": true, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - "trackChanges.acceptAll": { - "deterministicTargetResolution": true, - "memberPath": "trackChanges.acceptAll", - "mutates": true, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": true, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - "trackChanges.get": { - "deterministicTargetResolution": true, - "memberPath": "trackChanges.get", - "mutates": false, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": false, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - "trackChanges.list": { - "deterministicTargetResolution": true, - "memberPath": "trackChanges.list", - "mutates": false, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": false, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - "trackChanges.reject": { - "deterministicTargetResolution": true, - "memberPath": "trackChanges.reject", - "mutates": true, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": true, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - "trackChanges.rejectAll": { - "deterministicTargetResolution": true, - "memberPath": "trackChanges.rejectAll", - "mutates": true, - "postApplyThrowForbidden": true, - "requiresPreflightCapabilitiesCheck": true, - "supportsDryRun": false, - "supportsTrackedMode": false - } - }, - "sourceHash": "d53e75c131bc35996800d18ff3b67961de5d6d031ba20f4a6a03106e1117acaa" -} diff --git a/packages/document-api/generated/agent/remediation-map.json b/packages/document-api/generated/agent/remediation-map.json deleted file mode 100644 index 0f3323d94f..0000000000 --- a/packages/document-api/generated/agent/remediation-map.json +++ /dev/null @@ -1,332 +0,0 @@ -{ - "contractVersion": "0.1.0", - "entries": [ - { - "code": "CAPABILITY_UNAVAILABLE", - "message": "Check runtime capabilities and switch to supported mode or operation.", - "nonAppliedOperations": [], - "operations": [ - "comments.add", - "comments.edit", - "comments.goTo", - "comments.move", - "comments.remove", - "comments.reply", - "comments.resolve", - "comments.setActive", - "comments.setInternal", - "create.heading", - "create.paragraph", - "delete", - "format.bold", - "format.italic", - "format.strikethrough", - "format.underline", - "insert", - "lists.exit", - "lists.indent", - "lists.insert", - "lists.outdent", - "lists.restart", - "lists.setType", - "replace", - "trackChanges.accept", - "trackChanges.acceptAll", - "trackChanges.reject", - "trackChanges.rejectAll" - ], - "preApplyOperations": [ - "comments.add", - "comments.edit", - "comments.goTo", - "comments.move", - "comments.remove", - "comments.reply", - "comments.resolve", - "comments.setActive", - "comments.setInternal", - "create.heading", - "create.paragraph", - "delete", - "format.bold", - "format.italic", - "format.strikethrough", - "format.underline", - "insert", - "lists.exit", - "lists.indent", - "lists.insert", - "lists.outdent", - "lists.restart", - "lists.setType", - "replace", - "trackChanges.accept", - "trackChanges.acceptAll", - "trackChanges.reject", - "trackChanges.rejectAll" - ] - }, - { - "code": "COMMAND_UNAVAILABLE", - "message": "Call capabilities.get and branch to a fallback when operation availability is false.", - "nonAppliedOperations": [], - "operations": [ - "comments.add", - "comments.edit", - "comments.goTo", - "comments.move", - "comments.remove", - "comments.reply", - "comments.resolve", - "comments.setActive", - "comments.setInternal", - "create.heading", - "create.paragraph", - "format.bold", - "format.italic", - "format.strikethrough", - "format.underline", - "lists.exit", - "lists.indent", - "lists.insert", - "lists.outdent", - "lists.restart", - "lists.setType", - "trackChanges.accept", - "trackChanges.acceptAll", - "trackChanges.reject", - "trackChanges.rejectAll" - ], - "preApplyOperations": [ - "comments.add", - "comments.edit", - "comments.goTo", - "comments.move", - "comments.remove", - "comments.reply", - "comments.resolve", - "comments.setActive", - "comments.setInternal", - "create.heading", - "create.paragraph", - "format.bold", - "format.italic", - "format.strikethrough", - "format.underline", - "lists.exit", - "lists.indent", - "lists.insert", - "lists.outdent", - "lists.restart", - "lists.setType", - "trackChanges.accept", - "trackChanges.acceptAll", - "trackChanges.reject", - "trackChanges.rejectAll" - ] - }, - { - "code": "INVALID_TARGET", - "message": "Confirm the target shape and operation compatibility, then retry with a valid target.", - "nonAppliedOperations": [ - "comments.add", - "comments.move", - "comments.reply", - "comments.setActive", - "comments.setInternal", - "create.heading", - "create.paragraph", - "format.bold", - "format.italic", - "format.strikethrough", - "format.underline", - "insert", - "lists.exit", - "lists.indent", - "lists.insert", - "lists.outdent", - "lists.restart", - "lists.setType", - "replace" - ], - "operations": [ - "comments.add", - "comments.move", - "comments.reply", - "comments.setActive", - "comments.setInternal", - "create.heading", - "create.paragraph", - "format.bold", - "format.italic", - "format.strikethrough", - "format.underline", - "insert", - "lists.exit", - "lists.indent", - "lists.insert", - "lists.outdent", - "lists.restart", - "lists.setType", - "replace" - ], - "preApplyOperations": ["insert"] - }, - { - "code": "NO_OP", - "message": "Treat as idempotent no-op and avoid retry loops unless inputs change.", - "nonAppliedOperations": [ - "comments.add", - "comments.edit", - "comments.move", - "comments.remove", - "comments.resolve", - "comments.setInternal", - "delete", - "insert", - "lists.indent", - "lists.outdent", - "lists.restart", - "lists.setType", - "replace", - "trackChanges.accept", - "trackChanges.acceptAll", - "trackChanges.reject", - "trackChanges.rejectAll" - ], - "operations": [ - "comments.add", - "comments.edit", - "comments.move", - "comments.remove", - "comments.resolve", - "comments.setInternal", - "delete", - "insert", - "lists.indent", - "lists.outdent", - "lists.restart", - "lists.setType", - "replace", - "trackChanges.accept", - "trackChanges.acceptAll", - "trackChanges.reject", - "trackChanges.rejectAll" - ], - "preApplyOperations": [] - }, - { - "code": "TARGET_NOT_FOUND", - "message": "Refresh targets via find/get operations and retry with a fresh address or ID.", - "nonAppliedOperations": [], - "operations": [ - "comments.add", - "comments.edit", - "comments.get", - "comments.goTo", - "comments.move", - "comments.remove", - "comments.reply", - "comments.resolve", - "comments.setActive", - "comments.setInternal", - "create.heading", - "create.paragraph", - "delete", - "format.bold", - "format.italic", - "format.strikethrough", - "format.underline", - "getNode", - "getNodeById", - "insert", - "lists.exit", - "lists.get", - "lists.indent", - "lists.insert", - "lists.list", - "lists.outdent", - "lists.restart", - "lists.setType", - "replace", - "trackChanges.accept", - "trackChanges.get", - "trackChanges.reject" - ], - "preApplyOperations": [ - "comments.add", - "comments.edit", - "comments.get", - "comments.goTo", - "comments.move", - "comments.remove", - "comments.reply", - "comments.resolve", - "comments.setActive", - "comments.setInternal", - "create.heading", - "create.paragraph", - "delete", - "format.bold", - "format.italic", - "format.strikethrough", - "format.underline", - "getNode", - "getNodeById", - "insert", - "lists.exit", - "lists.get", - "lists.indent", - "lists.insert", - "lists.list", - "lists.outdent", - "lists.restart", - "lists.setType", - "replace", - "trackChanges.accept", - "trackChanges.get", - "trackChanges.reject" - ] - }, - { - "code": "TRACK_CHANGE_COMMAND_UNAVAILABLE", - "message": "Verify track-changes support via capabilities.get before requesting tracked mode.", - "nonAppliedOperations": [], - "operations": [ - "create.heading", - "create.paragraph", - "delete", - "format.bold", - "format.italic", - "format.strikethrough", - "format.underline", - "insert", - "lists.exit", - "lists.indent", - "lists.insert", - "lists.outdent", - "lists.restart", - "lists.setType", - "replace" - ], - "preApplyOperations": [ - "create.heading", - "create.paragraph", - "delete", - "format.bold", - "format.italic", - "format.strikethrough", - "format.underline", - "insert", - "lists.exit", - "lists.indent", - "lists.insert", - "lists.outdent", - "lists.restart", - "lists.setType", - "replace" - ] - } - ], - "sourceHash": "d53e75c131bc35996800d18ff3b67961de5d6d031ba20f4a6a03106e1117acaa" -} diff --git a/packages/document-api/generated/agent/workflow-playbooks.json b/packages/document-api/generated/agent/workflow-playbooks.json deleted file mode 100644 index f8916c9562..0000000000 --- a/packages/document-api/generated/agent/workflow-playbooks.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "contractVersion": "0.1.0", - "sourceHash": "d53e75c131bc35996800d18ff3b67961de5d6d031ba20f4a6a03106e1117acaa", - "workflows": [ - { - "id": "find-mutate", - "operations": ["find", "replace"], - "title": "Find + mutate workflow" - }, - { - "id": "tracked-insert", - "operations": ["capabilities.get", "insert"], - "title": "Tracked insert workflow" - }, - { - "id": "comment-thread-lifecycle", - "operations": ["comments.add", "comments.reply", "comments.resolve"], - "title": "Comment lifecycle workflow" - }, - { - "id": "list-manipulation", - "operations": ["lists.insert", "lists.setType", "lists.indent", "lists.outdent", "lists.exit"], - "title": "List manipulation workflow" - }, - { - "id": "capabilities-aware-branching", - "operations": ["capabilities.get", "replace", "insert"], - "title": "Capabilities-aware branching workflow" - }, - { - "id": "track-change-review", - "operations": ["trackChanges.list", "trackChanges.accept", "trackChanges.reject"], - "title": "Track-change review workflow" - } - ] -} diff --git a/packages/document-api/generated/manifests/document-api-tools.json b/packages/document-api/generated/manifests/document-api-tools.json deleted file mode 100644 index ba68db1048..0000000000 --- a/packages/document-api/generated/manifests/document-api-tools.json +++ /dev/null @@ -1,13129 +0,0 @@ -{ - "contractVersion": "0.1.0", - "generatedAt": null, - "sourceCommit": null, - "sourceHash": "d53e75c131bc35996800d18ff3b67961de5d6d031ba20f4a6a03106e1117acaa", - "tools": [ - { - "description": "Read Document API data via `find`.", - "deterministicTargetResolution": false, - "idempotency": "idempotent", - "inputSchema": { - "additionalProperties": false, - "properties": { - "includeNodes": { - "type": "boolean" - }, - "includeUnknown": { - "type": "boolean" - }, - "limit": { - "type": "integer" - }, - "offset": { - "type": "integer" - }, - "select": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "caseSensitive": { - "type": "boolean" - }, - "mode": { - "enum": ["contains", "regex"] - }, - "pattern": { - "type": "string" - }, - "type": { - "const": "text" - } - }, - "required": ["type", "pattern"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "enum": ["block", "inline"] - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - }, - "type": { - "const": "node" - } - }, - "required": ["type"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": ["nodeType"], - "type": "object" - } - ] - }, - "within": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": ["paragraph", "heading", "listItem", "table", "tableRow", "tableCell", "image", "sdt"] - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": ["blockId", "offset"], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": ["blockId", "offset"], - "type": "object" - } - }, - "required": ["start", "end"], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": [ - "run", - "bookmark", - "comment", - "hyperlink", - "sdt", - "image", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": ["kind", "nodeType", "anchor"], - "type": "object" - } - ] - } - }, - "required": ["select"], - "type": "object" - }, - "memberPath": "find", - "mutates": false, - "name": "find", - "outputSchema": { - "additionalProperties": false, - "properties": { - "context": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": ["paragraph", "heading", "listItem", "table", "tableRow", "tableCell", "image", "sdt"] - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": ["blockId", "offset"], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": ["blockId", "offset"], - "type": "object" - } - }, - "required": ["start", "end"], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": [ - "run", - "bookmark", - "comment", - "hyperlink", - "sdt", - "image", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": ["kind", "nodeType", "anchor"], - "type": "object" - } - ] - }, - "highlightRange": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - }, - "snippet": { - "type": "string" - }, - "textRanges": { - "items": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "type": "array" - } - }, - "required": ["address", "snippet", "highlightRange"], - "type": "object" - }, - "type": "array" - }, - "diagnostics": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": ["paragraph", "heading", "listItem", "table", "tableRow", "tableCell", "image", "sdt"] - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": ["blockId", "offset"], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": ["blockId", "offset"], - "type": "object" - } - }, - "required": ["start", "end"], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": [ - "run", - "bookmark", - "comment", - "hyperlink", - "sdt", - "image", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": ["kind", "nodeType", "anchor"], - "type": "object" - } - ] - }, - "hint": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "required": ["message"], - "type": "object" - }, - "type": "array" - }, - "matches": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": ["paragraph", "heading", "listItem", "table", "tableRow", "tableCell", "image", "sdt"] - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": ["blockId", "offset"], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": ["blockId", "offset"], - "type": "object" - } - }, - "required": ["start", "end"], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": [ - "run", - "bookmark", - "comment", - "hyperlink", - "sdt", - "image", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": ["kind", "nodeType", "anchor"], - "type": "object" - } - ] - }, - "type": "array" - }, - "nodes": { - "items": { - "additionalProperties": false, - "properties": { - "bodyNodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "bodyText": { - "type": "string" - }, - "kind": { - "enum": ["block", "inline"] - }, - "nodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - }, - "properties": { - "type": "object" - }, - "summary": { - "additionalProperties": false, - "properties": { - "label": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["nodeType", "kind"], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": ["matches", "total"], - "type": "object" - }, - "possibleFailureCodes": [], - "preApplyThrows": [], - "remediationHints": [], - "supportsDryRun": false, - "supportsTrackedMode": false - }, - { - "description": "Read Document API data via `getNode`.", - "deterministicTargetResolution": true, - "idempotency": "idempotent", - "inputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": ["paragraph", "heading", "listItem", "table", "tableRow", "tableCell", "image", "sdt"] - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": ["blockId", "offset"], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": ["blockId", "offset"], - "type": "object" - } - }, - "required": ["start", "end"], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": ["run", "bookmark", "comment", "hyperlink", "sdt", "image", "footnoteRef", "tab", "lineBreak"] - } - }, - "required": ["kind", "nodeType", "anchor"], - "type": "object" - } - ] - }, - "memberPath": "getNode", - "mutates": false, - "name": "getNode", - "outputSchema": { - "additionalProperties": false, - "properties": { - "bodyNodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "bodyText": { - "type": "string" - }, - "kind": { - "enum": ["block", "inline"] - }, - "nodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - }, - "properties": { - "type": "object" - }, - "summary": { - "additionalProperties": false, - "properties": { - "label": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["nodeType", "kind"], - "type": "object" - }, - "possibleFailureCodes": [], - "preApplyThrows": ["TARGET_NOT_FOUND"], - "remediationHints": [], - "supportsDryRun": false, - "supportsTrackedMode": false - }, - { - "description": "Read Document API data via `getNodeById`.", - "deterministicTargetResolution": true, - "idempotency": "idempotent", - "inputSchema": { - "additionalProperties": false, - "properties": { - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": ["paragraph", "heading", "listItem", "table", "tableRow", "tableCell", "image", "sdt"] - } - }, - "required": ["nodeId"], - "type": "object" - }, - "memberPath": "getNodeById", - "mutates": false, - "name": "getNodeById", - "outputSchema": { - "additionalProperties": false, - "properties": { - "bodyNodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "bodyText": { - "type": "string" - }, - "kind": { - "enum": ["block", "inline"] - }, - "nodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - }, - "properties": { - "type": "object" - }, - "summary": { - "additionalProperties": false, - "properties": { - "label": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["nodeType", "kind"], - "type": "object" - }, - "possibleFailureCodes": [], - "preApplyThrows": ["TARGET_NOT_FOUND"], - "remediationHints": [], - "supportsDryRun": false, - "supportsTrackedMode": false - }, - { - "description": "Read Document API data via `getText`.", - "deterministicTargetResolution": true, - "idempotency": "idempotent", - "inputSchema": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "memberPath": "getText", - "mutates": false, - "name": "getText", - "outputSchema": { - "type": "string" - }, - "possibleFailureCodes": [], - "preApplyThrows": [], - "remediationHints": [], - "supportsDryRun": false, - "supportsTrackedMode": false - }, - { - "description": "Read Document API data via `info`.", - "deterministicTargetResolution": true, - "idempotency": "idempotent", - "inputSchema": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "memberPath": "info", - "mutates": false, - "name": "info", - "outputSchema": { - "additionalProperties": false, - "properties": { - "capabilities": { - "additionalProperties": false, - "properties": { - "canComment": { - "type": "boolean" - }, - "canFind": { - "type": "boolean" - }, - "canGetNode": { - "type": "boolean" - }, - "canReplace": { - "type": "boolean" - } - }, - "required": ["canFind", "canGetNode", "canComment", "canReplace"], - "type": "object" - }, - "counts": { - "additionalProperties": false, - "properties": { - "comments": { - "type": "integer" - }, - "headings": { - "type": "integer" - }, - "images": { - "type": "integer" - }, - "paragraphs": { - "type": "integer" - }, - "tables": { - "type": "integer" - }, - "words": { - "type": "integer" - } - }, - "required": ["words", "paragraphs", "headings", "tables", "images", "comments"], - "type": "object" - }, - "outline": { - "items": { - "additionalProperties": false, - "properties": { - "level": { - "type": "integer" - }, - "nodeId": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": ["level", "text", "nodeId"], - "type": "object" - }, - "type": "array" - } - }, - "required": ["counts", "outline", "capabilities"], - "type": "object" - }, - "possibleFailureCodes": [], - "preApplyThrows": [], - "remediationHints": [], - "supportsDryRun": false, - "supportsTrackedMode": false - }, - { - "description": "Apply Document API mutation `insert`.", - "deterministicTargetResolution": true, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET", "NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure", "resolution"], - "type": "object" - }, - "idempotency": "non-idempotent", - "inputSchema": { - "additionalProperties": false, - "allOf": [ - { - "not": { - "required": ["target", "blockId"] - } - }, - { - "not": { - "required": ["target", "offset"] - } - }, - { - "if": { - "required": ["offset"] - }, - "then": { - "required": ["blockId"] - } - } - ], - "properties": { - "blockId": { - "description": "Block ID for block-relative targeting.", - "type": "string" - }, - "offset": { - "description": "Character offset within the block identified by blockId.", - "minimum": 0, - "type": "integer" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["text"], - "type": "object" - }, - "memberPath": "insert", - "mutates": true, - "name": "insert", - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success", "resolution"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET", "NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure", "resolution"], - "type": "object" - } - ] - }, - "possibleFailureCodes": ["INVALID_TARGET", "NO_OP"], - "preApplyThrows": [ - "TARGET_NOT_FOUND", - "TRACK_CHANGE_COMMAND_UNAVAILABLE", - "CAPABILITY_UNAVAILABLE", - "INVALID_TARGET" - ], - "remediationHints": [], - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success", "resolution"], - "type": "object" - }, - "supportsDryRun": true, - "supportsTrackedMode": true - }, - { - "description": "Apply Document API mutation `replace`.", - "deterministicTargetResolution": true, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET", "NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure", "resolution"], - "type": "object" - }, - "idempotency": "conditional", - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "text"], - "type": "object" - }, - "memberPath": "replace", - "mutates": true, - "name": "replace", - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success", "resolution"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET", "NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure", "resolution"], - "type": "object" - } - ] - }, - "possibleFailureCodes": ["INVALID_TARGET", "NO_OP"], - "preApplyThrows": ["TARGET_NOT_FOUND", "TRACK_CHANGE_COMMAND_UNAVAILABLE", "CAPABILITY_UNAVAILABLE"], - "remediationHints": [], - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success", "resolution"], - "type": "object" - }, - "supportsDryRun": true, - "supportsTrackedMode": true - }, - { - "description": "Apply Document API mutation `delete`.", - "deterministicTargetResolution": true, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure", "resolution"], - "type": "object" - }, - "idempotency": "conditional", - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - } - }, - "required": ["target"], - "type": "object" - }, - "memberPath": "delete", - "mutates": true, - "name": "delete", - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success", "resolution"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure", "resolution"], - "type": "object" - } - ] - }, - "possibleFailureCodes": ["NO_OP"], - "preApplyThrows": ["TARGET_NOT_FOUND", "TRACK_CHANGE_COMMAND_UNAVAILABLE", "CAPABILITY_UNAVAILABLE"], - "remediationHints": [], - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success", "resolution"], - "type": "object" - }, - "supportsDryRun": true, - "supportsTrackedMode": true - }, - { - "description": "Apply Document API mutation `format.bold`.", - "deterministicTargetResolution": true, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure", "resolution"], - "type": "object" - }, - "idempotency": "conditional", - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - } - }, - "required": ["target"], - "type": "object" - }, - "memberPath": "format.bold", - "mutates": true, - "name": "format.bold", - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success", "resolution"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure", "resolution"], - "type": "object" - } - ] - }, - "possibleFailureCodes": ["INVALID_TARGET"], - "preApplyThrows": [ - "TARGET_NOT_FOUND", - "COMMAND_UNAVAILABLE", - "TRACK_CHANGE_COMMAND_UNAVAILABLE", - "CAPABILITY_UNAVAILABLE" - ], - "remediationHints": [], - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success", "resolution"], - "type": "object" - }, - "supportsDryRun": true, - "supportsTrackedMode": true - }, - { - "description": "Apply Document API mutation `format.italic`.", - "deterministicTargetResolution": true, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure", "resolution"], - "type": "object" - }, - "idempotency": "conditional", - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - } - }, - "required": ["target"], - "type": "object" - }, - "memberPath": "format.italic", - "mutates": true, - "name": "format.italic", - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success", "resolution"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure", "resolution"], - "type": "object" - } - ] - }, - "possibleFailureCodes": ["INVALID_TARGET"], - "preApplyThrows": [ - "TARGET_NOT_FOUND", - "COMMAND_UNAVAILABLE", - "TRACK_CHANGE_COMMAND_UNAVAILABLE", - "CAPABILITY_UNAVAILABLE" - ], - "remediationHints": [], - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success", "resolution"], - "type": "object" - }, - "supportsDryRun": true, - "supportsTrackedMode": true - }, - { - "description": "Apply Document API mutation `format.underline`.", - "deterministicTargetResolution": true, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure", "resolution"], - "type": "object" - }, - "idempotency": "conditional", - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - } - }, - "required": ["target"], - "type": "object" - }, - "memberPath": "format.underline", - "mutates": true, - "name": "format.underline", - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success", "resolution"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure", "resolution"], - "type": "object" - } - ] - }, - "possibleFailureCodes": ["INVALID_TARGET"], - "preApplyThrows": [ - "TARGET_NOT_FOUND", - "COMMAND_UNAVAILABLE", - "TRACK_CHANGE_COMMAND_UNAVAILABLE", - "CAPABILITY_UNAVAILABLE" - ], - "remediationHints": [], - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success", "resolution"], - "type": "object" - }, - "supportsDryRun": true, - "supportsTrackedMode": true - }, - { - "description": "Apply Document API mutation `format.strikethrough`.", - "deterministicTargetResolution": true, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure", "resolution"], - "type": "object" - }, - "idempotency": "conditional", - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - } - }, - "required": ["target"], - "type": "object" - }, - "memberPath": "format.strikethrough", - "mutates": true, - "name": "format.strikethrough", - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success", "resolution"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure", "resolution"], - "type": "object" - } - ] - }, - "possibleFailureCodes": ["INVALID_TARGET"], - "preApplyThrows": [ - "TARGET_NOT_FOUND", - "COMMAND_UNAVAILABLE", - "TRACK_CHANGE_COMMAND_UNAVAILABLE", - "CAPABILITY_UNAVAILABLE" - ], - "remediationHints": [], - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success", "resolution"], - "type": "object" - }, - "supportsDryRun": true, - "supportsTrackedMode": true - }, - { - "description": "Apply Document API mutation `create.paragraph`.", - "deterministicTargetResolution": true, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "idempotency": "non-idempotent", - "inputSchema": { - "additionalProperties": false, - "properties": { - "at": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "documentStart" - } - }, - "required": ["kind"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "documentEnd" - } - }, - "required": ["kind"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "before" - }, - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": ["paragraph", "heading", "listItem", "table", "tableRow", "tableCell", "image", "sdt"] - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - } - }, - "required": ["kind", "target"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "after" - }, - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": ["paragraph", "heading", "listItem", "table", "tableRow", "tableCell", "image", "sdt"] - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - } - }, - "required": ["kind", "target"], - "type": "object" - } - ] - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "memberPath": "create.paragraph", - "mutates": true, - "name": "create.paragraph", - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "insertionPoint": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "paragraph": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "paragraph" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "success": { - "const": true - }, - "trackedChangeRefs": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - "type": "array" - } - }, - "required": ["success", "paragraph", "insertionPoint"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "possibleFailureCodes": ["INVALID_TARGET"], - "preApplyThrows": [ - "TARGET_NOT_FOUND", - "COMMAND_UNAVAILABLE", - "TRACK_CHANGE_COMMAND_UNAVAILABLE", - "CAPABILITY_UNAVAILABLE" - ], - "remediationHints": [], - "successSchema": { - "additionalProperties": false, - "properties": { - "insertionPoint": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "paragraph": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "paragraph" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "success": { - "const": true - }, - "trackedChangeRefs": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - "type": "array" - } - }, - "required": ["success", "paragraph", "insertionPoint"], - "type": "object" - }, - "supportsDryRun": true, - "supportsTrackedMode": true - }, - { - "description": "Apply Document API mutation `create.heading`.", - "deterministicTargetResolution": true, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "idempotency": "non-idempotent", - "inputSchema": { - "additionalProperties": false, - "properties": { - "at": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "documentStart" - } - }, - "required": ["kind"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "documentEnd" - } - }, - "required": ["kind"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "before" - }, - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": ["paragraph", "heading", "listItem", "table", "tableRow", "tableCell", "image", "sdt"] - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - } - }, - "required": ["kind", "target"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "after" - }, - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": ["paragraph", "heading", "listItem", "table", "tableRow", "tableCell", "image", "sdt"] - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - } - }, - "required": ["kind", "target"], - "type": "object" - } - ] - }, - "level": { - "maximum": 6, - "minimum": 1, - "type": "integer" - }, - "text": { - "type": "string" - } - }, - "required": ["level"], - "type": "object" - }, - "memberPath": "create.heading", - "mutates": true, - "name": "create.heading", - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "heading": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "heading" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "insertionPoint": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "success": { - "const": true - }, - "trackedChangeRefs": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - "type": "array" - } - }, - "required": ["success", "heading", "insertionPoint"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "possibleFailureCodes": ["INVALID_TARGET"], - "preApplyThrows": [ - "TARGET_NOT_FOUND", - "COMMAND_UNAVAILABLE", - "TRACK_CHANGE_COMMAND_UNAVAILABLE", - "CAPABILITY_UNAVAILABLE" - ], - "remediationHints": [], - "successSchema": { - "additionalProperties": false, - "properties": { - "heading": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "heading" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "insertionPoint": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "success": { - "const": true - }, - "trackedChangeRefs": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - "type": "array" - } - }, - "required": ["success", "heading", "insertionPoint"], - "type": "object" - }, - "supportsDryRun": true, - "supportsTrackedMode": true - }, - { - "description": "Read Document API data via `lists.list`.", - "deterministicTargetResolution": true, - "idempotency": "idempotent", - "inputSchema": { - "additionalProperties": false, - "properties": { - "kind": { - "enum": ["ordered", "bullet"] - }, - "level": { - "type": "integer" - }, - "limit": { - "type": "integer" - }, - "offset": { - "type": "integer" - }, - "ordinal": { - "type": "integer" - }, - "within": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": ["paragraph", "heading", "listItem", "table", "tableRow", "tableCell", "image", "sdt"] - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - } - }, - "type": "object" - }, - "memberPath": "lists.list", - "mutates": false, - "name": "lists.list", - "outputSchema": { - "additionalProperties": false, - "properties": { - "items": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "kind": { - "enum": ["ordered", "bullet"] - }, - "level": { - "type": "integer" - }, - "marker": { - "type": "string" - }, - "ordinal": { - "type": "integer" - }, - "path": { - "items": { - "type": "integer" - }, - "type": "array" - }, - "text": { - "type": "string" - } - }, - "required": ["address"], - "type": "object" - }, - "type": "array" - }, - "matches": { - "items": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": ["matches", "total", "items"], - "type": "object" - }, - "possibleFailureCodes": [], - "preApplyThrows": ["TARGET_NOT_FOUND"], - "remediationHints": [], - "supportsDryRun": false, - "supportsTrackedMode": false - }, - { - "description": "Read Document API data via `lists.get`.", - "deterministicTargetResolution": true, - "idempotency": "idempotent", - "inputSchema": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - } - }, - "required": ["address"], - "type": "object" - }, - "memberPath": "lists.get", - "mutates": false, - "name": "lists.get", - "outputSchema": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "kind": { - "enum": ["ordered", "bullet"] - }, - "level": { - "type": "integer" - }, - "marker": { - "type": "string" - }, - "ordinal": { - "type": "integer" - }, - "path": { - "items": { - "type": "integer" - }, - "type": "array" - }, - "text": { - "type": "string" - } - }, - "required": ["address"], - "type": "object" - }, - "possibleFailureCodes": [], - "preApplyThrows": ["TARGET_NOT_FOUND"], - "remediationHints": [], - "supportsDryRun": false, - "supportsTrackedMode": false - }, - { - "description": "Apply Document API mutation `lists.insert`.", - "deterministicTargetResolution": true, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "idempotency": "non-idempotent", - "inputSchema": { - "additionalProperties": false, - "properties": { - "position": { - "enum": ["before", "after"] - }, - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "position"], - "type": "object" - }, - "memberPath": "lists.insert", - "mutates": true, - "name": "lists.insert", - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "insertionPoint": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "success": { - "const": true - }, - "trackedChangeRefs": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - "type": "array" - } - }, - "required": ["success", "item", "insertionPoint"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "possibleFailureCodes": ["INVALID_TARGET"], - "preApplyThrows": [ - "TARGET_NOT_FOUND", - "COMMAND_UNAVAILABLE", - "TRACK_CHANGE_COMMAND_UNAVAILABLE", - "CAPABILITY_UNAVAILABLE" - ], - "remediationHints": [], - "successSchema": { - "additionalProperties": false, - "properties": { - "insertionPoint": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "success": { - "const": true - }, - "trackedChangeRefs": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - "type": "array" - } - }, - "required": ["success", "item", "insertionPoint"], - "type": "object" - }, - "supportsDryRun": true, - "supportsTrackedMode": true - }, - { - "description": "Apply Document API mutation `lists.setType`.", - "deterministicTargetResolution": true, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP", "INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "idempotency": "conditional", - "inputSchema": { - "additionalProperties": false, - "properties": { - "kind": { - "enum": ["ordered", "bullet"] - }, - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - } - }, - "required": ["target", "kind"], - "type": "object" - }, - "memberPath": "lists.setType", - "mutates": true, - "name": "lists.setType", - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": ["success", "item"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP", "INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "possibleFailureCodes": ["NO_OP", "INVALID_TARGET"], - "preApplyThrows": [ - "TARGET_NOT_FOUND", - "COMMAND_UNAVAILABLE", - "TRACK_CHANGE_COMMAND_UNAVAILABLE", - "CAPABILITY_UNAVAILABLE" - ], - "remediationHints": [], - "successSchema": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": ["success", "item"], - "type": "object" - }, - "supportsDryRun": true, - "supportsTrackedMode": false - }, - { - "description": "Apply Document API mutation `lists.indent`.", - "deterministicTargetResolution": true, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP", "INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "idempotency": "conditional", - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - } - }, - "required": ["target"], - "type": "object" - }, - "memberPath": "lists.indent", - "mutates": true, - "name": "lists.indent", - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": ["success", "item"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP", "INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "possibleFailureCodes": ["NO_OP", "INVALID_TARGET"], - "preApplyThrows": [ - "TARGET_NOT_FOUND", - "COMMAND_UNAVAILABLE", - "TRACK_CHANGE_COMMAND_UNAVAILABLE", - "CAPABILITY_UNAVAILABLE" - ], - "remediationHints": [], - "successSchema": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": ["success", "item"], - "type": "object" - }, - "supportsDryRun": true, - "supportsTrackedMode": false - }, - { - "description": "Apply Document API mutation `lists.outdent`.", - "deterministicTargetResolution": true, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP", "INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "idempotency": "conditional", - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - } - }, - "required": ["target"], - "type": "object" - }, - "memberPath": "lists.outdent", - "mutates": true, - "name": "lists.outdent", - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": ["success", "item"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP", "INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "possibleFailureCodes": ["NO_OP", "INVALID_TARGET"], - "preApplyThrows": [ - "TARGET_NOT_FOUND", - "COMMAND_UNAVAILABLE", - "TRACK_CHANGE_COMMAND_UNAVAILABLE", - "CAPABILITY_UNAVAILABLE" - ], - "remediationHints": [], - "successSchema": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": ["success", "item"], - "type": "object" - }, - "supportsDryRun": true, - "supportsTrackedMode": false - }, - { - "description": "Apply Document API mutation `lists.restart`.", - "deterministicTargetResolution": true, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP", "INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "idempotency": "conditional", - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - } - }, - "required": ["target"], - "type": "object" - }, - "memberPath": "lists.restart", - "mutates": true, - "name": "lists.restart", - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": ["success", "item"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP", "INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "possibleFailureCodes": ["NO_OP", "INVALID_TARGET"], - "preApplyThrows": [ - "TARGET_NOT_FOUND", - "COMMAND_UNAVAILABLE", - "TRACK_CHANGE_COMMAND_UNAVAILABLE", - "CAPABILITY_UNAVAILABLE" - ], - "remediationHints": [], - "successSchema": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": ["success", "item"], - "type": "object" - }, - "supportsDryRun": true, - "supportsTrackedMode": false - }, - { - "description": "Apply Document API mutation `lists.exit`.", - "deterministicTargetResolution": true, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "idempotency": "conditional", - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - } - }, - "required": ["target"], - "type": "object" - }, - "memberPath": "lists.exit", - "mutates": true, - "name": "lists.exit", - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "paragraph": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "paragraph" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": ["success", "paragraph"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "possibleFailureCodes": ["INVALID_TARGET"], - "preApplyThrows": [ - "TARGET_NOT_FOUND", - "COMMAND_UNAVAILABLE", - "TRACK_CHANGE_COMMAND_UNAVAILABLE", - "CAPABILITY_UNAVAILABLE" - ], - "remediationHints": [], - "successSchema": { - "additionalProperties": false, - "properties": { - "paragraph": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "paragraph" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": ["success", "paragraph"], - "type": "object" - }, - "supportsDryRun": true, - "supportsTrackedMode": false - }, - { - "description": "Apply Document API mutation `comments.add`.", - "deterministicTargetResolution": true, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET", "NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "idempotency": "non-idempotent", - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "text"], - "type": "object" - }, - "memberPath": "comments.add", - "mutates": true, - "name": "comments.add", - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET", "NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "possibleFailureCodes": ["INVALID_TARGET", "NO_OP"], - "preApplyThrows": ["TARGET_NOT_FOUND", "COMMAND_UNAVAILABLE", "CAPABILITY_UNAVAILABLE"], - "remediationHints": [], - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - { - "description": "Apply Document API mutation `comments.edit`.", - "deterministicTargetResolution": true, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "idempotency": "conditional", - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": ["commentId", "text"], - "type": "object" - }, - "memberPath": "comments.edit", - "mutates": true, - "name": "comments.edit", - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "possibleFailureCodes": ["NO_OP"], - "preApplyThrows": ["TARGET_NOT_FOUND", "COMMAND_UNAVAILABLE", "CAPABILITY_UNAVAILABLE"], - "remediationHints": [], - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - { - "description": "Apply Document API mutation `comments.reply`.", - "deterministicTargetResolution": true, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "idempotency": "non-idempotent", - "inputSchema": { - "additionalProperties": false, - "properties": { - "parentCommentId": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": ["parentCommentId", "text"], - "type": "object" - }, - "memberPath": "comments.reply", - "mutates": true, - "name": "comments.reply", - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "possibleFailureCodes": ["INVALID_TARGET"], - "preApplyThrows": ["TARGET_NOT_FOUND", "COMMAND_UNAVAILABLE", "CAPABILITY_UNAVAILABLE"], - "remediationHints": [], - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - { - "description": "Apply Document API mutation `comments.move`.", - "deterministicTargetResolution": true, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET", "NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "idempotency": "conditional", - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": "string" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - } - }, - "required": ["commentId", "target"], - "type": "object" - }, - "memberPath": "comments.move", - "mutates": true, - "name": "comments.move", - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET", "NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "possibleFailureCodes": ["INVALID_TARGET", "NO_OP"], - "preApplyThrows": ["TARGET_NOT_FOUND", "COMMAND_UNAVAILABLE", "CAPABILITY_UNAVAILABLE"], - "remediationHints": [], - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - { - "description": "Apply Document API mutation `comments.resolve`.", - "deterministicTargetResolution": true, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "idempotency": "conditional", - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": "string" - } - }, - "required": ["commentId"], - "type": "object" - }, - "memberPath": "comments.resolve", - "mutates": true, - "name": "comments.resolve", - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "possibleFailureCodes": ["NO_OP"], - "preApplyThrows": ["TARGET_NOT_FOUND", "COMMAND_UNAVAILABLE", "CAPABILITY_UNAVAILABLE"], - "remediationHints": [], - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - { - "description": "Apply Document API mutation `comments.remove`.", - "deterministicTargetResolution": true, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "idempotency": "conditional", - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": "string" - } - }, - "required": ["commentId"], - "type": "object" - }, - "memberPath": "comments.remove", - "mutates": true, - "name": "comments.remove", - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "possibleFailureCodes": ["NO_OP"], - "preApplyThrows": ["TARGET_NOT_FOUND", "COMMAND_UNAVAILABLE", "CAPABILITY_UNAVAILABLE"], - "remediationHints": [], - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - { - "description": "Apply Document API mutation `comments.setInternal`.", - "deterministicTargetResolution": true, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP", "INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "idempotency": "conditional", - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": "string" - }, - "isInternal": { - "type": "boolean" - } - }, - "required": ["commentId", "isInternal"], - "type": "object" - }, - "memberPath": "comments.setInternal", - "mutates": true, - "name": "comments.setInternal", - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP", "INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "possibleFailureCodes": ["NO_OP", "INVALID_TARGET"], - "preApplyThrows": ["TARGET_NOT_FOUND", "COMMAND_UNAVAILABLE", "CAPABILITY_UNAVAILABLE"], - "remediationHints": [], - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - { - "description": "Apply Document API mutation `comments.setActive`.", - "deterministicTargetResolution": true, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "idempotency": "conditional", - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": ["string", "null"] - } - }, - "required": ["commentId"], - "type": "object" - }, - "memberPath": "comments.setActive", - "mutates": true, - "name": "comments.setActive", - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "possibleFailureCodes": ["INVALID_TARGET"], - "preApplyThrows": ["TARGET_NOT_FOUND", "COMMAND_UNAVAILABLE", "CAPABILITY_UNAVAILABLE"], - "remediationHints": [], - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - { - "description": "Read Document API data via `comments.goTo`.", - "deterministicTargetResolution": true, - "idempotency": "conditional", - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": "string" - } - }, - "required": ["commentId"], - "type": "object" - }, - "memberPath": "comments.goTo", - "mutates": false, - "name": "comments.goTo", - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - "possibleFailureCodes": [], - "preApplyThrows": ["TARGET_NOT_FOUND", "COMMAND_UNAVAILABLE", "CAPABILITY_UNAVAILABLE"], - "remediationHints": [], - "supportsDryRun": false, - "supportsTrackedMode": false - }, - { - "description": "Read Document API data via `comments.get`.", - "deterministicTargetResolution": true, - "idempotency": "idempotent", - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": "string" - } - }, - "required": ["commentId"], - "type": "object" - }, - "memberPath": "comments.get", - "mutates": false, - "name": "comments.get", - "outputSchema": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - "commentId": { - "type": "string" - }, - "createdTime": { - "type": "number" - }, - "creatorEmail": { - "type": "string" - }, - "creatorName": { - "type": "string" - }, - "importedId": { - "type": "string" - }, - "isInternal": { - "type": "boolean" - }, - "parentCommentId": { - "type": "string" - }, - "status": { - "enum": ["open", "resolved"] - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["address", "commentId", "status"], - "type": "object" - }, - "possibleFailureCodes": [], - "preApplyThrows": ["TARGET_NOT_FOUND"], - "remediationHints": [], - "supportsDryRun": false, - "supportsTrackedMode": false - }, - { - "description": "Read Document API data via `comments.list`.", - "deterministicTargetResolution": true, - "idempotency": "idempotent", - "inputSchema": { - "additionalProperties": false, - "properties": { - "includeResolved": { - "type": "boolean" - } - }, - "type": "object" - }, - "memberPath": "comments.list", - "mutates": false, - "name": "comments.list", - "outputSchema": { - "additionalProperties": false, - "properties": { - "matches": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - "commentId": { - "type": "string" - }, - "createdTime": { - "type": "number" - }, - "creatorEmail": { - "type": "string" - }, - "creatorName": { - "type": "string" - }, - "importedId": { - "type": "string" - }, - "isInternal": { - "type": "boolean" - }, - "parentCommentId": { - "type": "string" - }, - "status": { - "enum": ["open", "resolved"] - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["address", "commentId", "status"], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": ["matches", "total"], - "type": "object" - }, - "possibleFailureCodes": [], - "preApplyThrows": [], - "remediationHints": [], - "supportsDryRun": false, - "supportsTrackedMode": false - }, - { - "description": "Read Document API data via `trackChanges.list`.", - "deterministicTargetResolution": true, - "idempotency": "idempotent", - "inputSchema": { - "additionalProperties": false, - "properties": { - "limit": { - "type": "integer" - }, - "offset": { - "type": "integer" - }, - "type": { - "enum": ["insert", "delete", "format"] - } - }, - "type": "object" - }, - "memberPath": "trackChanges.list", - "mutates": false, - "name": "trackChanges.list", - "outputSchema": { - "additionalProperties": false, - "properties": { - "changes": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - "author": { - "type": "string" - }, - "authorEmail": { - "type": "string" - }, - "authorImage": { - "type": "string" - }, - "date": { - "type": "string" - }, - "excerpt": { - "type": "string" - }, - "id": { - "type": "string" - }, - "type": { - "enum": ["insert", "delete", "format"] - } - }, - "required": ["address", "id", "type"], - "type": "object" - }, - "type": "array" - }, - "matches": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": ["matches", "total"], - "type": "object" - }, - "possibleFailureCodes": [], - "preApplyThrows": [], - "remediationHints": [], - "supportsDryRun": false, - "supportsTrackedMode": false - }, - { - "description": "Read Document API data via `trackChanges.get`.", - "deterministicTargetResolution": true, - "idempotency": "idempotent", - "inputSchema": { - "additionalProperties": false, - "properties": { - "id": { - "type": "string" - } - }, - "required": ["id"], - "type": "object" - }, - "memberPath": "trackChanges.get", - "mutates": false, - "name": "trackChanges.get", - "outputSchema": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - "author": { - "type": "string" - }, - "authorEmail": { - "type": "string" - }, - "authorImage": { - "type": "string" - }, - "date": { - "type": "string" - }, - "excerpt": { - "type": "string" - }, - "id": { - "type": "string" - }, - "type": { - "enum": ["insert", "delete", "format"] - } - }, - "required": ["address", "id", "type"], - "type": "object" - }, - "possibleFailureCodes": [], - "preApplyThrows": ["TARGET_NOT_FOUND"], - "remediationHints": [], - "supportsDryRun": false, - "supportsTrackedMode": false - }, - { - "description": "Apply Document API mutation `trackChanges.accept`.", - "deterministicTargetResolution": true, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "idempotency": "conditional", - "inputSchema": { - "additionalProperties": false, - "properties": { - "id": { - "type": "string" - } - }, - "required": ["id"], - "type": "object" - }, - "memberPath": "trackChanges.accept", - "mutates": true, - "name": "trackChanges.accept", - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "possibleFailureCodes": ["NO_OP"], - "preApplyThrows": ["TARGET_NOT_FOUND", "COMMAND_UNAVAILABLE", "CAPABILITY_UNAVAILABLE"], - "remediationHints": [], - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - { - "description": "Apply Document API mutation `trackChanges.reject`.", - "deterministicTargetResolution": true, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "idempotency": "conditional", - "inputSchema": { - "additionalProperties": false, - "properties": { - "id": { - "type": "string" - } - }, - "required": ["id"], - "type": "object" - }, - "memberPath": "trackChanges.reject", - "mutates": true, - "name": "trackChanges.reject", - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "possibleFailureCodes": ["NO_OP"], - "preApplyThrows": ["TARGET_NOT_FOUND", "COMMAND_UNAVAILABLE", "CAPABILITY_UNAVAILABLE"], - "remediationHints": [], - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - { - "description": "Apply Document API mutation `trackChanges.acceptAll`.", - "deterministicTargetResolution": true, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "idempotency": "conditional", - "inputSchema": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "memberPath": "trackChanges.acceptAll", - "mutates": true, - "name": "trackChanges.acceptAll", - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "possibleFailureCodes": ["NO_OP"], - "preApplyThrows": ["COMMAND_UNAVAILABLE", "CAPABILITY_UNAVAILABLE"], - "remediationHints": [], - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - { - "description": "Apply Document API mutation `trackChanges.rejectAll`.", - "deterministicTargetResolution": true, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "idempotency": "conditional", - "inputSchema": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "memberPath": "trackChanges.rejectAll", - "mutates": true, - "name": "trackChanges.rejectAll", - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "possibleFailureCodes": ["NO_OP"], - "preApplyThrows": ["COMMAND_UNAVAILABLE", "CAPABILITY_UNAVAILABLE"], - "remediationHints": [], - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - "supportsDryRun": false, - "supportsTrackedMode": false - }, - { - "description": "Read Document API data via `capabilities.get`.", - "deterministicTargetResolution": true, - "idempotency": "idempotent", - "inputSchema": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "memberPath": "capabilities", - "mutates": false, - "name": "capabilities.get", - "outputSchema": { - "additionalProperties": false, - "properties": { - "global": { - "additionalProperties": false, - "properties": { - "comments": { - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - } - }, - "required": ["enabled"], - "type": "object" - }, - "dryRun": { - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - } - }, - "required": ["enabled"], - "type": "object" - }, - "lists": { - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - } - }, - "required": ["enabled"], - "type": "object" - }, - "trackChanges": { - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - } - }, - "required": ["enabled"], - "type": "object" - } - }, - "required": ["trackChanges", "comments", "lists", "dryRun"], - "type": "object" - }, - "operations": { - "additionalProperties": false, - "properties": { - "capabilities.get": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "comments.add": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "comments.edit": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "comments.get": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "comments.goTo": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "comments.list": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "comments.move": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "comments.remove": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "comments.reply": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "comments.resolve": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "comments.setActive": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "comments.setInternal": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "create.heading": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "create.paragraph": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "delete": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "find": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "format.bold": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "format.italic": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "format.strikethrough": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "format.underline": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "getNode": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "getNodeById": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "getText": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "info": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "insert": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "lists.exit": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "lists.get": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "lists.indent": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "lists.insert": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "lists.list": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "lists.outdent": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "lists.restart": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "lists.setType": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "replace": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "trackChanges.accept": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "trackChanges.acceptAll": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "trackChanges.get": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "trackChanges.list": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "trackChanges.reject": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "trackChanges.rejectAll": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - } - }, - "required": [ - "find", - "getNode", - "getNodeById", - "getText", - "info", - "insert", - "replace", - "delete", - "format.bold", - "format.italic", - "format.underline", - "format.strikethrough", - "create.paragraph", - "create.heading", - "lists.list", - "lists.get", - "lists.insert", - "lists.setType", - "lists.indent", - "lists.outdent", - "lists.restart", - "lists.exit", - "comments.add", - "comments.edit", - "comments.reply", - "comments.move", - "comments.resolve", - "comments.remove", - "comments.setInternal", - "comments.setActive", - "comments.goTo", - "comments.get", - "comments.list", - "trackChanges.list", - "trackChanges.get", - "trackChanges.accept", - "trackChanges.reject", - "trackChanges.acceptAll", - "trackChanges.rejectAll", - "capabilities.get" - ], - "type": "object" - } - }, - "required": ["global", "operations"], - "type": "object" - }, - "possibleFailureCodes": [], - "preApplyThrows": [], - "remediationHints": [], - "supportsDryRun": false, - "supportsTrackedMode": false - } - ] -} diff --git a/packages/document-api/generated/schemas/README.md b/packages/document-api/generated/schemas/README.md deleted file mode 100644 index f8de1f16cb..0000000000 --- a/packages/document-api/generated/schemas/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# Generated Document API schemas - -GENERATED FILE: DO NOT EDIT. Regenerate via `pnpm run docapi:sync`. -This directory is generated from `packages/document-api/src/contract/*`. diff --git a/packages/document-api/generated/schemas/document-api-contract.json b/packages/document-api/generated/schemas/document-api-contract.json deleted file mode 100644 index 2b61cb0632..0000000000 --- a/packages/document-api/generated/schemas/document-api-contract.json +++ /dev/null @@ -1,13210 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "contractVersion": "0.1.0", - "generatedAt": null, - "operations": { - "capabilities.get": { - "inputSchema": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "memberPath": "capabilities", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "idempotent", - "mutates": false, - "possibleFailureCodes": [], - "supportsDryRun": false, - "supportsTrackedMode": false, - "throws": { - "postApplyForbidden": true, - "preApply": [] - } - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "global": { - "additionalProperties": false, - "properties": { - "comments": { - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - } - }, - "required": ["enabled"], - "type": "object" - }, - "dryRun": { - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - } - }, - "required": ["enabled"], - "type": "object" - }, - "lists": { - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - } - }, - "required": ["enabled"], - "type": "object" - }, - "trackChanges": { - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - } - }, - "required": ["enabled"], - "type": "object" - } - }, - "required": ["trackChanges", "comments", "lists", "dryRun"], - "type": "object" - }, - "operations": { - "additionalProperties": false, - "properties": { - "capabilities.get": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "comments.add": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "comments.edit": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "comments.get": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "comments.goTo": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "comments.list": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "comments.move": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "comments.remove": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "comments.reply": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "comments.resolve": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "comments.setActive": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "comments.setInternal": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "create.heading": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "create.paragraph": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "delete": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "find": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "format.bold": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "format.italic": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "format.strikethrough": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "format.underline": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "getNode": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "getNodeById": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "getText": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "info": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "insert": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "lists.exit": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "lists.get": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "lists.indent": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "lists.insert": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "lists.list": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "lists.outdent": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "lists.restart": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "lists.setType": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "replace": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "trackChanges.accept": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "trackChanges.acceptAll": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "trackChanges.get": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "trackChanges.list": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "trackChanges.reject": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - }, - "trackChanges.rejectAll": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "dryRun": { - "type": "boolean" - }, - "reasons": { - "items": { - "enum": [ - "COMMAND_UNAVAILABLE", - "OPERATION_UNAVAILABLE", - "TRACKED_MODE_UNAVAILABLE", - "DRY_RUN_UNAVAILABLE", - "NAMESPACE_UNAVAILABLE" - ] - }, - "type": "array" - }, - "tracked": { - "type": "boolean" - } - }, - "required": ["available", "tracked", "dryRun"], - "type": "object" - } - }, - "required": [ - "find", - "getNode", - "getNodeById", - "getText", - "info", - "insert", - "replace", - "delete", - "format.bold", - "format.italic", - "format.underline", - "format.strikethrough", - "create.paragraph", - "create.heading", - "lists.list", - "lists.get", - "lists.insert", - "lists.setType", - "lists.indent", - "lists.outdent", - "lists.restart", - "lists.exit", - "comments.add", - "comments.edit", - "comments.reply", - "comments.move", - "comments.resolve", - "comments.remove", - "comments.setInternal", - "comments.setActive", - "comments.goTo", - "comments.get", - "comments.list", - "trackChanges.list", - "trackChanges.get", - "trackChanges.accept", - "trackChanges.reject", - "trackChanges.acceptAll", - "trackChanges.rejectAll", - "capabilities.get" - ], - "type": "object" - } - }, - "required": ["global", "operations"], - "type": "object" - } - }, - "comments.add": { - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET", "NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "text"], - "type": "object" - }, - "memberPath": "comments.add", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "non-idempotent", - "mutates": true, - "possibleFailureCodes": ["INVALID_TARGET", "NO_OP"], - "supportsDryRun": false, - "supportsTrackedMode": false, - "throws": { - "postApplyForbidden": true, - "preApply": ["TARGET_NOT_FOUND", "COMMAND_UNAVAILABLE", "CAPABILITY_UNAVAILABLE"] - } - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET", "NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - } - }, - "comments.edit": { - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": ["commentId", "text"], - "type": "object" - }, - "memberPath": "comments.edit", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "conditional", - "mutates": true, - "possibleFailureCodes": ["NO_OP"], - "supportsDryRun": false, - "supportsTrackedMode": false, - "throws": { - "postApplyForbidden": true, - "preApply": ["TARGET_NOT_FOUND", "COMMAND_UNAVAILABLE", "CAPABILITY_UNAVAILABLE"] - } - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - } - }, - "comments.get": { - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": "string" - } - }, - "required": ["commentId"], - "type": "object" - }, - "memberPath": "comments.get", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "idempotent", - "mutates": false, - "possibleFailureCodes": [], - "supportsDryRun": false, - "supportsTrackedMode": false, - "throws": { - "postApplyForbidden": true, - "preApply": ["TARGET_NOT_FOUND"] - } - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - "commentId": { - "type": "string" - }, - "createdTime": { - "type": "number" - }, - "creatorEmail": { - "type": "string" - }, - "creatorName": { - "type": "string" - }, - "importedId": { - "type": "string" - }, - "isInternal": { - "type": "boolean" - }, - "parentCommentId": { - "type": "string" - }, - "status": { - "enum": ["open", "resolved"] - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["address", "commentId", "status"], - "type": "object" - } - }, - "comments.goTo": { - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": "string" - } - }, - "required": ["commentId"], - "type": "object" - }, - "memberPath": "comments.goTo", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "conditional", - "mutates": false, - "possibleFailureCodes": [], - "supportsDryRun": false, - "supportsTrackedMode": false, - "throws": { - "postApplyForbidden": true, - "preApply": ["TARGET_NOT_FOUND", "COMMAND_UNAVAILABLE", "CAPABILITY_UNAVAILABLE"] - } - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - } - }, - "comments.list": { - "inputSchema": { - "additionalProperties": false, - "properties": { - "includeResolved": { - "type": "boolean" - } - }, - "type": "object" - }, - "memberPath": "comments.list", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "idempotent", - "mutates": false, - "possibleFailureCodes": [], - "supportsDryRun": false, - "supportsTrackedMode": false, - "throws": { - "postApplyForbidden": true, - "preApply": [] - } - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "matches": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - "commentId": { - "type": "string" - }, - "createdTime": { - "type": "number" - }, - "creatorEmail": { - "type": "string" - }, - "creatorName": { - "type": "string" - }, - "importedId": { - "type": "string" - }, - "isInternal": { - "type": "boolean" - }, - "parentCommentId": { - "type": "string" - }, - "status": { - "enum": ["open", "resolved"] - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["address", "commentId", "status"], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": ["matches", "total"], - "type": "object" - } - }, - "comments.move": { - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET", "NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": "string" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - } - }, - "required": ["commentId", "target"], - "type": "object" - }, - "memberPath": "comments.move", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "conditional", - "mutates": true, - "possibleFailureCodes": ["INVALID_TARGET", "NO_OP"], - "supportsDryRun": false, - "supportsTrackedMode": false, - "throws": { - "postApplyForbidden": true, - "preApply": ["TARGET_NOT_FOUND", "COMMAND_UNAVAILABLE", "CAPABILITY_UNAVAILABLE"] - } - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET", "NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - } - }, - "comments.remove": { - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": "string" - } - }, - "required": ["commentId"], - "type": "object" - }, - "memberPath": "comments.remove", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "conditional", - "mutates": true, - "possibleFailureCodes": ["NO_OP"], - "supportsDryRun": false, - "supportsTrackedMode": false, - "throws": { - "postApplyForbidden": true, - "preApply": ["TARGET_NOT_FOUND", "COMMAND_UNAVAILABLE", "CAPABILITY_UNAVAILABLE"] - } - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - } - }, - "comments.reply": { - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "inputSchema": { - "additionalProperties": false, - "properties": { - "parentCommentId": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": ["parentCommentId", "text"], - "type": "object" - }, - "memberPath": "comments.reply", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "non-idempotent", - "mutates": true, - "possibleFailureCodes": ["INVALID_TARGET"], - "supportsDryRun": false, - "supportsTrackedMode": false, - "throws": { - "postApplyForbidden": true, - "preApply": ["TARGET_NOT_FOUND", "COMMAND_UNAVAILABLE", "CAPABILITY_UNAVAILABLE"] - } - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - } - }, - "comments.resolve": { - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": "string" - } - }, - "required": ["commentId"], - "type": "object" - }, - "memberPath": "comments.resolve", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "conditional", - "mutates": true, - "possibleFailureCodes": ["NO_OP"], - "supportsDryRun": false, - "supportsTrackedMode": false, - "throws": { - "postApplyForbidden": true, - "preApply": ["TARGET_NOT_FOUND", "COMMAND_UNAVAILABLE", "CAPABILITY_UNAVAILABLE"] - } - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - } - }, - "comments.setActive": { - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": ["string", "null"] - } - }, - "required": ["commentId"], - "type": "object" - }, - "memberPath": "comments.setActive", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "conditional", - "mutates": true, - "possibleFailureCodes": ["INVALID_TARGET"], - "supportsDryRun": false, - "supportsTrackedMode": false, - "throws": { - "postApplyForbidden": true, - "preApply": ["TARGET_NOT_FOUND", "COMMAND_UNAVAILABLE", "CAPABILITY_UNAVAILABLE"] - } - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - } - }, - "comments.setInternal": { - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP", "INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": "string" - }, - "isInternal": { - "type": "boolean" - } - }, - "required": ["commentId", "isInternal"], - "type": "object" - }, - "memberPath": "comments.setInternal", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "conditional", - "mutates": true, - "possibleFailureCodes": ["NO_OP", "INVALID_TARGET"], - "supportsDryRun": false, - "supportsTrackedMode": false, - "throws": { - "postApplyForbidden": true, - "preApply": ["TARGET_NOT_FOUND", "COMMAND_UNAVAILABLE", "CAPABILITY_UNAVAILABLE"] - } - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP", "INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - } - }, - "create.heading": { - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "inputSchema": { - "additionalProperties": false, - "properties": { - "at": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "documentStart" - } - }, - "required": ["kind"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "documentEnd" - } - }, - "required": ["kind"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "before" - }, - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": ["paragraph", "heading", "listItem", "table", "tableRow", "tableCell", "image", "sdt"] - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - } - }, - "required": ["kind", "target"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "after" - }, - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": ["paragraph", "heading", "listItem", "table", "tableRow", "tableCell", "image", "sdt"] - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - } - }, - "required": ["kind", "target"], - "type": "object" - } - ] - }, - "level": { - "maximum": 6, - "minimum": 1, - "type": "integer" - }, - "text": { - "type": "string" - } - }, - "required": ["level"], - "type": "object" - }, - "memberPath": "create.heading", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "non-idempotent", - "mutates": true, - "possibleFailureCodes": ["INVALID_TARGET"], - "supportsDryRun": true, - "supportsTrackedMode": true, - "throws": { - "postApplyForbidden": true, - "preApply": [ - "TARGET_NOT_FOUND", - "COMMAND_UNAVAILABLE", - "TRACK_CHANGE_COMMAND_UNAVAILABLE", - "CAPABILITY_UNAVAILABLE" - ] - } - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "heading": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "heading" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "insertionPoint": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "success": { - "const": true - }, - "trackedChangeRefs": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - "type": "array" - } - }, - "required": ["success", "heading", "insertionPoint"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "heading": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "heading" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "insertionPoint": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "success": { - "const": true - }, - "trackedChangeRefs": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - "type": "array" - } - }, - "required": ["success", "heading", "insertionPoint"], - "type": "object" - } - }, - "create.paragraph": { - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "inputSchema": { - "additionalProperties": false, - "properties": { - "at": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "documentStart" - } - }, - "required": ["kind"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "documentEnd" - } - }, - "required": ["kind"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "before" - }, - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": ["paragraph", "heading", "listItem", "table", "tableRow", "tableCell", "image", "sdt"] - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - } - }, - "required": ["kind", "target"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "after" - }, - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": ["paragraph", "heading", "listItem", "table", "tableRow", "tableCell", "image", "sdt"] - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - } - }, - "required": ["kind", "target"], - "type": "object" - } - ] - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "memberPath": "create.paragraph", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "non-idempotent", - "mutates": true, - "possibleFailureCodes": ["INVALID_TARGET"], - "supportsDryRun": true, - "supportsTrackedMode": true, - "throws": { - "postApplyForbidden": true, - "preApply": [ - "TARGET_NOT_FOUND", - "COMMAND_UNAVAILABLE", - "TRACK_CHANGE_COMMAND_UNAVAILABLE", - "CAPABILITY_UNAVAILABLE" - ] - } - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "insertionPoint": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "paragraph": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "paragraph" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "success": { - "const": true - }, - "trackedChangeRefs": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - "type": "array" - } - }, - "required": ["success", "paragraph", "insertionPoint"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "insertionPoint": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "paragraph": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "paragraph" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "success": { - "const": true - }, - "trackedChangeRefs": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - "type": "array" - } - }, - "required": ["success", "paragraph", "insertionPoint"], - "type": "object" - } - }, - "delete": { - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure", "resolution"], - "type": "object" - }, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - } - }, - "required": ["target"], - "type": "object" - }, - "memberPath": "delete", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "conditional", - "mutates": true, - "possibleFailureCodes": ["NO_OP"], - "supportsDryRun": true, - "supportsTrackedMode": true, - "throws": { - "postApplyForbidden": true, - "preApply": ["TARGET_NOT_FOUND", "TRACK_CHANGE_COMMAND_UNAVAILABLE", "CAPABILITY_UNAVAILABLE"] - } - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success", "resolution"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure", "resolution"], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success", "resolution"], - "type": "object" - } - }, - "find": { - "inputSchema": { - "additionalProperties": false, - "properties": { - "includeNodes": { - "type": "boolean" - }, - "includeUnknown": { - "type": "boolean" - }, - "limit": { - "type": "integer" - }, - "offset": { - "type": "integer" - }, - "select": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "caseSensitive": { - "type": "boolean" - }, - "mode": { - "enum": ["contains", "regex"] - }, - "pattern": { - "type": "string" - }, - "type": { - "const": "text" - } - }, - "required": ["type", "pattern"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "enum": ["block", "inline"] - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - }, - "type": { - "const": "node" - } - }, - "required": ["type"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": ["nodeType"], - "type": "object" - } - ] - }, - "within": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": ["paragraph", "heading", "listItem", "table", "tableRow", "tableCell", "image", "sdt"] - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": ["blockId", "offset"], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": ["blockId", "offset"], - "type": "object" - } - }, - "required": ["start", "end"], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": [ - "run", - "bookmark", - "comment", - "hyperlink", - "sdt", - "image", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": ["kind", "nodeType", "anchor"], - "type": "object" - } - ] - } - }, - "required": ["select"], - "type": "object" - }, - "memberPath": "find", - "metadata": { - "deterministicTargetResolution": false, - "idempotency": "idempotent", - "mutates": false, - "possibleFailureCodes": [], - "supportsDryRun": false, - "supportsTrackedMode": false, - "throws": { - "postApplyForbidden": true, - "preApply": [] - } - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "context": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": ["paragraph", "heading", "listItem", "table", "tableRow", "tableCell", "image", "sdt"] - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": ["blockId", "offset"], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": ["blockId", "offset"], - "type": "object" - } - }, - "required": ["start", "end"], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": [ - "run", - "bookmark", - "comment", - "hyperlink", - "sdt", - "image", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": ["kind", "nodeType", "anchor"], - "type": "object" - } - ] - }, - "highlightRange": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - }, - "snippet": { - "type": "string" - }, - "textRanges": { - "items": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "type": "array" - } - }, - "required": ["address", "snippet", "highlightRange"], - "type": "object" - }, - "type": "array" - }, - "diagnostics": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": ["paragraph", "heading", "listItem", "table", "tableRow", "tableCell", "image", "sdt"] - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": ["blockId", "offset"], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": ["blockId", "offset"], - "type": "object" - } - }, - "required": ["start", "end"], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": [ - "run", - "bookmark", - "comment", - "hyperlink", - "sdt", - "image", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": ["kind", "nodeType", "anchor"], - "type": "object" - } - ] - }, - "hint": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "required": ["message"], - "type": "object" - }, - "type": "array" - }, - "matches": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": ["paragraph", "heading", "listItem", "table", "tableRow", "tableCell", "image", "sdt"] - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": ["blockId", "offset"], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": ["blockId", "offset"], - "type": "object" - } - }, - "required": ["start", "end"], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": [ - "run", - "bookmark", - "comment", - "hyperlink", - "sdt", - "image", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": ["kind", "nodeType", "anchor"], - "type": "object" - } - ] - }, - "type": "array" - }, - "nodes": { - "items": { - "additionalProperties": false, - "properties": { - "bodyNodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "bodyText": { - "type": "string" - }, - "kind": { - "enum": ["block", "inline"] - }, - "nodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - }, - "properties": { - "type": "object" - }, - "summary": { - "additionalProperties": false, - "properties": { - "label": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["nodeType", "kind"], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": ["matches", "total"], - "type": "object" - } - }, - "format.bold": { - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure", "resolution"], - "type": "object" - }, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - } - }, - "required": ["target"], - "type": "object" - }, - "memberPath": "format.bold", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "conditional", - "mutates": true, - "possibleFailureCodes": ["INVALID_TARGET"], - "supportsDryRun": true, - "supportsTrackedMode": true, - "throws": { - "postApplyForbidden": true, - "preApply": [ - "TARGET_NOT_FOUND", - "COMMAND_UNAVAILABLE", - "TRACK_CHANGE_COMMAND_UNAVAILABLE", - "CAPABILITY_UNAVAILABLE" - ] - } - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success", "resolution"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure", "resolution"], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success", "resolution"], - "type": "object" - } - }, - "format.italic": { - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure", "resolution"], - "type": "object" - }, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - } - }, - "required": ["target"], - "type": "object" - }, - "memberPath": "format.italic", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "conditional", - "mutates": true, - "possibleFailureCodes": ["INVALID_TARGET"], - "supportsDryRun": true, - "supportsTrackedMode": true, - "throws": { - "postApplyForbidden": true, - "preApply": [ - "TARGET_NOT_FOUND", - "COMMAND_UNAVAILABLE", - "TRACK_CHANGE_COMMAND_UNAVAILABLE", - "CAPABILITY_UNAVAILABLE" - ] - } - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success", "resolution"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure", "resolution"], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success", "resolution"], - "type": "object" - } - }, - "format.strikethrough": { - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure", "resolution"], - "type": "object" - }, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - } - }, - "required": ["target"], - "type": "object" - }, - "memberPath": "format.strikethrough", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "conditional", - "mutates": true, - "possibleFailureCodes": ["INVALID_TARGET"], - "supportsDryRun": true, - "supportsTrackedMode": true, - "throws": { - "postApplyForbidden": true, - "preApply": [ - "TARGET_NOT_FOUND", - "COMMAND_UNAVAILABLE", - "TRACK_CHANGE_COMMAND_UNAVAILABLE", - "CAPABILITY_UNAVAILABLE" - ] - } - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success", "resolution"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure", "resolution"], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success", "resolution"], - "type": "object" - } - }, - "format.underline": { - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure", "resolution"], - "type": "object" - }, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - } - }, - "required": ["target"], - "type": "object" - }, - "memberPath": "format.underline", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "conditional", - "mutates": true, - "possibleFailureCodes": ["INVALID_TARGET"], - "supportsDryRun": true, - "supportsTrackedMode": true, - "throws": { - "postApplyForbidden": true, - "preApply": [ - "TARGET_NOT_FOUND", - "COMMAND_UNAVAILABLE", - "TRACK_CHANGE_COMMAND_UNAVAILABLE", - "CAPABILITY_UNAVAILABLE" - ] - } - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success", "resolution"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure", "resolution"], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success", "resolution"], - "type": "object" - } - }, - "getNode": { - "inputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": ["paragraph", "heading", "listItem", "table", "tableRow", "tableCell", "image", "sdt"] - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": ["blockId", "offset"], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": ["blockId", "offset"], - "type": "object" - } - }, - "required": ["start", "end"], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": ["run", "bookmark", "comment", "hyperlink", "sdt", "image", "footnoteRef", "tab", "lineBreak"] - } - }, - "required": ["kind", "nodeType", "anchor"], - "type": "object" - } - ] - }, - "memberPath": "getNode", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "idempotent", - "mutates": false, - "possibleFailureCodes": [], - "supportsDryRun": false, - "supportsTrackedMode": false, - "throws": { - "postApplyForbidden": true, - "preApply": ["TARGET_NOT_FOUND"] - } - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "bodyNodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "bodyText": { - "type": "string" - }, - "kind": { - "enum": ["block", "inline"] - }, - "nodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - }, - "properties": { - "type": "object" - }, - "summary": { - "additionalProperties": false, - "properties": { - "label": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["nodeType", "kind"], - "type": "object" - } - }, - "getNodeById": { - "inputSchema": { - "additionalProperties": false, - "properties": { - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": ["paragraph", "heading", "listItem", "table", "tableRow", "tableCell", "image", "sdt"] - } - }, - "required": ["nodeId"], - "type": "object" - }, - "memberPath": "getNodeById", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "idempotent", - "mutates": false, - "possibleFailureCodes": [], - "supportsDryRun": false, - "supportsTrackedMode": false, - "throws": { - "postApplyForbidden": true, - "preApply": ["TARGET_NOT_FOUND"] - } - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "bodyNodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "bodyText": { - "type": "string" - }, - "kind": { - "enum": ["block", "inline"] - }, - "nodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - }, - "properties": { - "type": "object" - }, - "summary": { - "additionalProperties": false, - "properties": { - "label": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["nodeType", "kind"], - "type": "object" - } - }, - "getText": { - "inputSchema": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "memberPath": "getText", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "idempotent", - "mutates": false, - "possibleFailureCodes": [], - "supportsDryRun": false, - "supportsTrackedMode": false, - "throws": { - "postApplyForbidden": true, - "preApply": [] - } - }, - "outputSchema": { - "type": "string" - } - }, - "info": { - "inputSchema": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "memberPath": "info", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "idempotent", - "mutates": false, - "possibleFailureCodes": [], - "supportsDryRun": false, - "supportsTrackedMode": false, - "throws": { - "postApplyForbidden": true, - "preApply": [] - } - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "capabilities": { - "additionalProperties": false, - "properties": { - "canComment": { - "type": "boolean" - }, - "canFind": { - "type": "boolean" - }, - "canGetNode": { - "type": "boolean" - }, - "canReplace": { - "type": "boolean" - } - }, - "required": ["canFind", "canGetNode", "canComment", "canReplace"], - "type": "object" - }, - "counts": { - "additionalProperties": false, - "properties": { - "comments": { - "type": "integer" - }, - "headings": { - "type": "integer" - }, - "images": { - "type": "integer" - }, - "paragraphs": { - "type": "integer" - }, - "tables": { - "type": "integer" - }, - "words": { - "type": "integer" - } - }, - "required": ["words", "paragraphs", "headings", "tables", "images", "comments"], - "type": "object" - }, - "outline": { - "items": { - "additionalProperties": false, - "properties": { - "level": { - "type": "integer" - }, - "nodeId": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": ["level", "text", "nodeId"], - "type": "object" - }, - "type": "array" - } - }, - "required": ["counts", "outline", "capabilities"], - "type": "object" - } - }, - "insert": { - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET", "NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure", "resolution"], - "type": "object" - }, - "inputSchema": { - "additionalProperties": false, - "allOf": [ - { - "not": { - "required": ["target", "blockId"] - } - }, - { - "not": { - "required": ["target", "offset"] - } - }, - { - "if": { - "required": ["offset"] - }, - "then": { - "required": ["blockId"] - } - } - ], - "properties": { - "blockId": { - "description": "Block ID for block-relative targeting.", - "type": "string" - }, - "offset": { - "description": "Character offset within the block identified by blockId.", - "minimum": 0, - "type": "integer" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["text"], - "type": "object" - }, - "memberPath": "insert", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "non-idempotent", - "mutates": true, - "possibleFailureCodes": ["INVALID_TARGET", "NO_OP"], - "supportsDryRun": true, - "supportsTrackedMode": true, - "throws": { - "postApplyForbidden": true, - "preApply": [ - "TARGET_NOT_FOUND", - "TRACK_CHANGE_COMMAND_UNAVAILABLE", - "CAPABILITY_UNAVAILABLE", - "INVALID_TARGET" - ] - } - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success", "resolution"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET", "NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure", "resolution"], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success", "resolution"], - "type": "object" - } - }, - "lists.exit": { - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - } - }, - "required": ["target"], - "type": "object" - }, - "memberPath": "lists.exit", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "conditional", - "mutates": true, - "possibleFailureCodes": ["INVALID_TARGET"], - "supportsDryRun": true, - "supportsTrackedMode": false, - "throws": { - "postApplyForbidden": true, - "preApply": [ - "TARGET_NOT_FOUND", - "COMMAND_UNAVAILABLE", - "TRACK_CHANGE_COMMAND_UNAVAILABLE", - "CAPABILITY_UNAVAILABLE" - ] - } - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "paragraph": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "paragraph" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": ["success", "paragraph"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "paragraph": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "paragraph" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": ["success", "paragraph"], - "type": "object" - } - }, - "lists.get": { - "inputSchema": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - } - }, - "required": ["address"], - "type": "object" - }, - "memberPath": "lists.get", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "idempotent", - "mutates": false, - "possibleFailureCodes": [], - "supportsDryRun": false, - "supportsTrackedMode": false, - "throws": { - "postApplyForbidden": true, - "preApply": ["TARGET_NOT_FOUND"] - } - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "kind": { - "enum": ["ordered", "bullet"] - }, - "level": { - "type": "integer" - }, - "marker": { - "type": "string" - }, - "ordinal": { - "type": "integer" - }, - "path": { - "items": { - "type": "integer" - }, - "type": "array" - }, - "text": { - "type": "string" - } - }, - "required": ["address"], - "type": "object" - } - }, - "lists.indent": { - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP", "INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - } - }, - "required": ["target"], - "type": "object" - }, - "memberPath": "lists.indent", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "conditional", - "mutates": true, - "possibleFailureCodes": ["NO_OP", "INVALID_TARGET"], - "supportsDryRun": true, - "supportsTrackedMode": false, - "throws": { - "postApplyForbidden": true, - "preApply": [ - "TARGET_NOT_FOUND", - "COMMAND_UNAVAILABLE", - "TRACK_CHANGE_COMMAND_UNAVAILABLE", - "CAPABILITY_UNAVAILABLE" - ] - } - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": ["success", "item"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP", "INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": ["success", "item"], - "type": "object" - } - }, - "lists.insert": { - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "inputSchema": { - "additionalProperties": false, - "properties": { - "position": { - "enum": ["before", "after"] - }, - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "position"], - "type": "object" - }, - "memberPath": "lists.insert", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "non-idempotent", - "mutates": true, - "possibleFailureCodes": ["INVALID_TARGET"], - "supportsDryRun": true, - "supportsTrackedMode": true, - "throws": { - "postApplyForbidden": true, - "preApply": [ - "TARGET_NOT_FOUND", - "COMMAND_UNAVAILABLE", - "TRACK_CHANGE_COMMAND_UNAVAILABLE", - "CAPABILITY_UNAVAILABLE" - ] - } - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "insertionPoint": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "success": { - "const": true - }, - "trackedChangeRefs": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - "type": "array" - } - }, - "required": ["success", "item", "insertionPoint"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "insertionPoint": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "success": { - "const": true - }, - "trackedChangeRefs": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - "type": "array" - } - }, - "required": ["success", "item", "insertionPoint"], - "type": "object" - } - }, - "lists.list": { - "inputSchema": { - "additionalProperties": false, - "properties": { - "kind": { - "enum": ["ordered", "bullet"] - }, - "level": { - "type": "integer" - }, - "limit": { - "type": "integer" - }, - "offset": { - "type": "integer" - }, - "ordinal": { - "type": "integer" - }, - "within": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": ["paragraph", "heading", "listItem", "table", "tableRow", "tableCell", "image", "sdt"] - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - } - }, - "type": "object" - }, - "memberPath": "lists.list", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "idempotent", - "mutates": false, - "possibleFailureCodes": [], - "supportsDryRun": false, - "supportsTrackedMode": false, - "throws": { - "postApplyForbidden": true, - "preApply": ["TARGET_NOT_FOUND"] - } - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "items": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "kind": { - "enum": ["ordered", "bullet"] - }, - "level": { - "type": "integer" - }, - "marker": { - "type": "string" - }, - "ordinal": { - "type": "integer" - }, - "path": { - "items": { - "type": "integer" - }, - "type": "array" - }, - "text": { - "type": "string" - } - }, - "required": ["address"], - "type": "object" - }, - "type": "array" - }, - "matches": { - "items": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": ["matches", "total", "items"], - "type": "object" - } - }, - "lists.outdent": { - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP", "INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - } - }, - "required": ["target"], - "type": "object" - }, - "memberPath": "lists.outdent", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "conditional", - "mutates": true, - "possibleFailureCodes": ["NO_OP", "INVALID_TARGET"], - "supportsDryRun": true, - "supportsTrackedMode": false, - "throws": { - "postApplyForbidden": true, - "preApply": [ - "TARGET_NOT_FOUND", - "COMMAND_UNAVAILABLE", - "TRACK_CHANGE_COMMAND_UNAVAILABLE", - "CAPABILITY_UNAVAILABLE" - ] - } - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": ["success", "item"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP", "INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": ["success", "item"], - "type": "object" - } - }, - "lists.restart": { - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP", "INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - } - }, - "required": ["target"], - "type": "object" - }, - "memberPath": "lists.restart", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "conditional", - "mutates": true, - "possibleFailureCodes": ["NO_OP", "INVALID_TARGET"], - "supportsDryRun": true, - "supportsTrackedMode": false, - "throws": { - "postApplyForbidden": true, - "preApply": [ - "TARGET_NOT_FOUND", - "COMMAND_UNAVAILABLE", - "TRACK_CHANGE_COMMAND_UNAVAILABLE", - "CAPABILITY_UNAVAILABLE" - ] - } - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": ["success", "item"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP", "INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": ["success", "item"], - "type": "object" - } - }, - "lists.setType": { - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP", "INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "inputSchema": { - "additionalProperties": false, - "properties": { - "kind": { - "enum": ["ordered", "bullet"] - }, - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - } - }, - "required": ["target", "kind"], - "type": "object" - }, - "memberPath": "lists.setType", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "conditional", - "mutates": true, - "possibleFailureCodes": ["NO_OP", "INVALID_TARGET"], - "supportsDryRun": true, - "supportsTrackedMode": false, - "throws": { - "postApplyForbidden": true, - "preApply": [ - "TARGET_NOT_FOUND", - "COMMAND_UNAVAILABLE", - "TRACK_CHANGE_COMMAND_UNAVAILABLE", - "CAPABILITY_UNAVAILABLE" - ] - } - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": ["success", "item"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP", "INVALID_TARGET"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": ["kind", "nodeType", "nodeId"], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": ["success", "item"], - "type": "object" - } - }, - "replace": { - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET", "NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure", "resolution"], - "type": "object" - }, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "text"], - "type": "object" - }, - "memberPath": "replace", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "conditional", - "mutates": true, - "possibleFailureCodes": ["INVALID_TARGET", "NO_OP"], - "supportsDryRun": true, - "supportsTrackedMode": true, - "throws": { - "postApplyForbidden": true, - "preApply": ["TARGET_NOT_FOUND", "TRACK_CHANGE_COMMAND_UNAVAILABLE", "CAPABILITY_UNAVAILABLE"] - } - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success", "resolution"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["INVALID_TARGET", "NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure", "resolution"], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": ["from", "to"], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": ["start", "end"], - "type": "object" - } - }, - "required": ["kind", "blockId", "range"], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": ["target", "range", "text"], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success", "resolution"], - "type": "object" - } - }, - "trackChanges.accept": { - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "inputSchema": { - "additionalProperties": false, - "properties": { - "id": { - "type": "string" - } - }, - "required": ["id"], - "type": "object" - }, - "memberPath": "trackChanges.accept", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "conditional", - "mutates": true, - "possibleFailureCodes": ["NO_OP"], - "supportsDryRun": false, - "supportsTrackedMode": false, - "throws": { - "postApplyForbidden": true, - "preApply": ["TARGET_NOT_FOUND", "COMMAND_UNAVAILABLE", "CAPABILITY_UNAVAILABLE"] - } - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - } - }, - "trackChanges.acceptAll": { - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "inputSchema": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "memberPath": "trackChanges.acceptAll", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "conditional", - "mutates": true, - "possibleFailureCodes": ["NO_OP"], - "supportsDryRun": false, - "supportsTrackedMode": false, - "throws": { - "postApplyForbidden": true, - "preApply": ["COMMAND_UNAVAILABLE", "CAPABILITY_UNAVAILABLE"] - } - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - } - }, - "trackChanges.get": { - "inputSchema": { - "additionalProperties": false, - "properties": { - "id": { - "type": "string" - } - }, - "required": ["id"], - "type": "object" - }, - "memberPath": "trackChanges.get", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "idempotent", - "mutates": false, - "possibleFailureCodes": [], - "supportsDryRun": false, - "supportsTrackedMode": false, - "throws": { - "postApplyForbidden": true, - "preApply": ["TARGET_NOT_FOUND"] - } - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - "author": { - "type": "string" - }, - "authorEmail": { - "type": "string" - }, - "authorImage": { - "type": "string" - }, - "date": { - "type": "string" - }, - "excerpt": { - "type": "string" - }, - "id": { - "type": "string" - }, - "type": { - "enum": ["insert", "delete", "format"] - } - }, - "required": ["address", "id", "type"], - "type": "object" - } - }, - "trackChanges.list": { - "inputSchema": { - "additionalProperties": false, - "properties": { - "limit": { - "type": "integer" - }, - "offset": { - "type": "integer" - }, - "type": { - "enum": ["insert", "delete", "format"] - } - }, - "type": "object" - }, - "memberPath": "trackChanges.list", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "idempotent", - "mutates": false, - "possibleFailureCodes": [], - "supportsDryRun": false, - "supportsTrackedMode": false, - "throws": { - "postApplyForbidden": true, - "preApply": [] - } - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "changes": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - "author": { - "type": "string" - }, - "authorEmail": { - "type": "string" - }, - "authorImage": { - "type": "string" - }, - "date": { - "type": "string" - }, - "excerpt": { - "type": "string" - }, - "id": { - "type": "string" - }, - "type": { - "enum": ["insert", "delete", "format"] - } - }, - "required": ["address", "id", "type"], - "type": "object" - }, - "type": "array" - }, - "matches": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": ["matches", "total"], - "type": "object" - } - }, - "trackChanges.reject": { - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "inputSchema": { - "additionalProperties": false, - "properties": { - "id": { - "type": "string" - } - }, - "required": ["id"], - "type": "object" - }, - "memberPath": "trackChanges.reject", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "conditional", - "mutates": true, - "possibleFailureCodes": ["NO_OP"], - "supportsDryRun": false, - "supportsTrackedMode": false, - "throws": { - "postApplyForbidden": true, - "preApply": ["TARGET_NOT_FOUND", "COMMAND_UNAVAILABLE", "CAPABILITY_UNAVAILABLE"] - } - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - } - }, - "trackChanges.rejectAll": { - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - }, - "inputSchema": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "memberPath": "trackChanges.rejectAll", - "metadata": { - "deterministicTargetResolution": true, - "idempotency": "conditional", - "mutates": true, - "possibleFailureCodes": ["NO_OP"], - "supportsDryRun": false, - "supportsTrackedMode": false, - "throws": { - "postApplyForbidden": true, - "preApply": ["COMMAND_UNAVAILABLE", "CAPABILITY_UNAVAILABLE"] - } - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": ["NO_OP"] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": ["code", "message"], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": ["success", "failure"], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": ["kind", "entityType", "entityId"], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": ["success"], - "type": "object" - } - } - }, - "sourceCommit": null, - "sourceHash": "d53e75c131bc35996800d18ff3b67961de5d6d031ba20f4a6a03106e1117acaa" -} diff --git a/packages/document-api/scripts/README.md b/packages/document-api/scripts/README.md index 5d8a50f2ef..165e4694d9 100644 --- a/packages/document-api/scripts/README.md +++ b/packages/document-api/scripts/README.md @@ -10,8 +10,8 @@ This folder contains deterministic generator/check entry points for the Document - `pnpm run docapi:sync` — runs `generate-contract-outputs.ts` - `pnpm run docapi:check` — runs `check-contract-parity.ts` + `check-contract-outputs.ts` - `pnpm run docapi:sync:check` — sync then check -- Pre-commit hook (`lefthook.yml`) auto-runs `docapi:sync` when document-api source files are staged. -- CI workflow (`ci-document-api.yml`) runs `docapi:check` on PRs touching document-api paths. +- Pre-commit hook (`lefthook.yml`) auto-runs `docapi:sync` when contract or script sources are staged, and restages `reference/` and `overview.mdx`. +- CI workflow (`ci-document-api.yml`) generates outputs, checks overview freshness, then runs `docapi:check` on PRs touching document-api paths. ## Manual vs generated boundaries @@ -19,9 +19,11 @@ This folder contains deterministic generator/check entry points for the Document - `packages/document-api/src/contract/*` - `packages/document-api/src/index.ts` and related runtime/types - `packages/document-api/scripts/*` -- Generated outputs (checked into git): +- Generated outputs (gitignored — run `pnpm run generate:all`): - `packages/document-api/generated/*` +- Generated outputs (committed — Mintlify deploys from git): - `apps/docs/document-api/reference/*` +- Committed mixed-content file: - generated marker block in `apps/docs/document-api/overview.mdx` Do not hand-edit generated output files. Regenerate instead. diff --git a/packages/document-api/src/README.md b/packages/document-api/src/README.md index 9a9918d499..fde44585fe 100644 --- a/packages/document-api/src/README.md +++ b/packages/document-api/src/README.md @@ -5,9 +5,11 @@ - Manual source of truth: - `packages/document-api/src/**` (this folder) - `packages/document-api/scripts/**` -- Generated and committed: +- Generated (not in git — run `pnpm run generate:all`): - `packages/document-api/generated/**` +- Generated (committed — Mintlify deploys from git): - `apps/docs/document-api/reference/**` +- Committed mixed-content file: - marker block in `apps/docs/document-api/overview.mdx` Do not hand-edit generated files; regenerate via script. diff --git a/packages/sdk/langs/node/src/generated/client.ts b/packages/sdk/langs/node/src/generated/client.ts deleted file mode 100644 index 7379112701..0000000000 --- a/packages/sdk/langs/node/src/generated/client.ts +++ /dev/null @@ -1,1891 +0,0 @@ -/* eslint-disable */ -// Auto-generated by packages/sdk/codegen/src/generate-node.mjs - -import { CONTRACT } from './contract.js'; -import type { SuperDocRuntime, InvokeOptions } from '../runtime/process.js'; - -export interface DocFindParams { - doc?: string; - sessionId?: string; - within?: ({ - kind: "block"; - nodeType: "paragraph" | "heading" | "listItem" | "table" | "tableRow" | "tableCell" | "image" | "sdt"; - nodeId: string; - }) | ({ - kind: "inline"; - nodeType: "run" | "bookmark" | "comment" | "hyperlink" | "sdt" | "image" | "footnoteRef" | "tab" | "lineBreak"; - anchor: { - start: { - blockId: string; - offset: number; - }; - end: { - blockId: string; - offset: number; - }; - }; - }); - limit?: number; - offset?: number; - includeNodes?: boolean; - includeUnknown?: boolean; - type?: string; - nodeType?: string; - kind?: string; - pattern?: string; - mode?: string; - caseSensitive?: boolean; - query?: Record | unknown[]; -} - -export interface DocGetNodeParams { - doc?: string; - sessionId?: string; - address?: Record | unknown[]; -} - -export interface DocGetNodeByIdParams { - doc?: string; - sessionId?: string; - id: string; - nodeType?: string; -} - -export interface DocInfoParams { - doc?: string; - sessionId?: string; -} - -export interface DocInsertParams { - doc?: string; - sessionId?: string; - out?: string; - force?: boolean; - expectedRevision?: number; - changeMode?: string; - dryRun?: boolean; - target?: { - kind: "text"; - blockId: string; - range: { - start: number; - end: number; - }; - }; - text: string; -} - -export interface DocReplaceParams { - doc?: string; - sessionId?: string; - out?: string; - force?: boolean; - expectedRevision?: number; - changeMode?: string; - dryRun?: boolean; - target: { - kind: "text"; - blockId: string; - range: { - start: number; - end: number; - }; - }; - text: string; -} - -export interface DocDeleteParams { - doc?: string; - sessionId?: string; - out?: string; - force?: boolean; - expectedRevision?: number; - changeMode?: string; - dryRun?: boolean; - target: { - kind: "text"; - blockId: string; - range: { - start: number; - end: number; - }; - }; -} - -export interface DocFormatBoldParams { - doc?: string; - sessionId?: string; - out?: string; - force?: boolean; - expectedRevision?: number; - changeMode?: string; - dryRun?: boolean; - target: { - kind: "text"; - blockId: string; - range: { - start: number; - end: number; - }; - }; -} - -export interface DocFormatItalicParams { - doc?: string; - sessionId?: string; - out?: string; - force?: boolean; - expectedRevision?: number; - changeMode?: string; - dryRun?: boolean; - target: { - kind: "text"; - blockId: string; - range: { - start: number; - end: number; - }; - }; -} - -export interface DocFormatUnderlineParams { - doc?: string; - sessionId?: string; - out?: string; - force?: boolean; - expectedRevision?: number; - changeMode?: string; - dryRun?: boolean; - target: { - kind: "text"; - blockId: string; - range: { - start: number; - end: number; - }; - }; -} - -export interface DocFormatStrikethroughParams { - doc?: string; - sessionId?: string; - out?: string; - force?: boolean; - expectedRevision?: number; - changeMode?: string; - dryRun?: boolean; - target: { - kind: "text"; - blockId: string; - range: { - start: number; - end: number; - }; - }; -} - -export interface DocCreateParagraphParams { - doc?: string; - sessionId?: string; - out?: string; - force?: boolean; - expectedRevision?: number; - changeMode?: string; - dryRun?: boolean; - at?: ({ - kind: "documentStart"; - }) | ({ - kind: "documentEnd"; - }) | ({ - kind: "before"; - target: { - kind: "block"; - nodeType: "paragraph" | "heading" | "listItem" | "table" | "tableRow" | "tableCell" | "image" | "sdt"; - nodeId: string; - }; - }) | ({ - kind: "after"; - target: { - kind: "block"; - nodeType: "paragraph" | "heading" | "listItem" | "table" | "tableRow" | "tableCell" | "image" | "sdt"; - nodeId: string; - }; - }); - text?: string; - input?: Record | unknown[]; -} - -export interface DocListsListParams { - doc?: string; - sessionId?: string; - within?: { - kind: "block"; - nodeType: "paragraph" | "heading" | "listItem" | "table" | "tableRow" | "tableCell" | "image" | "sdt"; - nodeId: string; - }; - limit?: number; - offset?: number; - kind?: string; - level?: number; - ordinal?: number; - query?: Record | unknown[]; -} - -export interface DocListsGetParams { - doc?: string; - sessionId?: string; - address: { - kind: "block"; - nodeType: "listItem"; - nodeId: string; - }; -} - -export interface DocListsInsertParams { - doc?: string; - sessionId?: string; - out?: string; - force?: boolean; - expectedRevision?: number; - changeMode?: string; - dryRun?: boolean; - target?: { - kind: "block"; - nodeType: "listItem"; - nodeId: string; - }; - position?: string; - text?: string; - input?: Record | unknown[]; -} - -export interface DocListsSetTypeParams { - doc?: string; - sessionId?: string; - out?: string; - force?: boolean; - expectedRevision?: number; - changeMode?: string; - dryRun?: boolean; - target?: { - kind: "block"; - nodeType: "listItem"; - nodeId: string; - }; - kind?: string; - input?: Record | unknown[]; -} - -export interface DocListsIndentParams { - doc?: string; - sessionId?: string; - out?: string; - force?: boolean; - expectedRevision?: number; - changeMode?: string; - dryRun?: boolean; - target?: { - kind: "block"; - nodeType: "listItem"; - nodeId: string; - }; - input?: Record | unknown[]; -} - -export interface DocListsOutdentParams { - doc?: string; - sessionId?: string; - out?: string; - force?: boolean; - expectedRevision?: number; - changeMode?: string; - dryRun?: boolean; - target?: { - kind: "block"; - nodeType: "listItem"; - nodeId: string; - }; - input?: Record | unknown[]; -} - -export interface DocListsRestartParams { - doc?: string; - sessionId?: string; - out?: string; - force?: boolean; - expectedRevision?: number; - changeMode?: string; - dryRun?: boolean; - target?: { - kind: "block"; - nodeType: "listItem"; - nodeId: string; - }; - input?: Record | unknown[]; -} - -export interface DocListsExitParams { - doc?: string; - sessionId?: string; - out?: string; - force?: boolean; - expectedRevision?: number; - changeMode?: string; - dryRun?: boolean; - target?: { - kind: "block"; - nodeType: "listItem"; - nodeId: string; - }; - input?: Record | unknown[]; -} - -export interface DocCommentsAddParams { - doc?: string; - sessionId?: string; - out?: string; - force?: boolean; - expectedRevision?: number; - changeMode?: string; - target: { - kind: "text"; - blockId: string; - range: { - start: number; - end: number; - }; - }; - text: string; -} - -export interface DocCommentsEditParams { - doc?: string; - sessionId?: string; - out?: string; - force?: boolean; - expectedRevision?: number; - changeMode?: string; - id: string; - text: string; -} - -export interface DocCommentsReplyParams { - doc?: string; - sessionId?: string; - out?: string; - force?: boolean; - expectedRevision?: number; - changeMode?: string; - parentId: string; - text: string; -} - -export interface DocCommentsMoveParams { - doc?: string; - sessionId?: string; - out?: string; - force?: boolean; - expectedRevision?: number; - changeMode?: string; - id: string; - target: { - kind: "text"; - blockId: string; - range: { - start: number; - end: number; - }; - }; -} - -export interface DocCommentsResolveParams { - doc?: string; - sessionId?: string; - out?: string; - force?: boolean; - expectedRevision?: number; - changeMode?: string; - id: string; -} - -export interface DocCommentsRemoveParams { - doc?: string; - sessionId?: string; - out?: string; - force?: boolean; - expectedRevision?: number; - changeMode?: string; - id: string; -} - -export interface DocCommentsSetInternalParams { - doc?: string; - sessionId?: string; - out?: string; - force?: boolean; - expectedRevision?: number; - changeMode?: string; - id: string; - isInternal: boolean; -} - -export interface DocCommentsSetActiveParams { - doc?: string; - sessionId?: string; - out?: string; - force?: boolean; - expectedRevision?: number; - changeMode?: string; - commentId?: unknown; - id?: string; - clear?: boolean; -} - -export interface DocCommentsGoToParams { - doc?: string; - sessionId?: string; - id: string; -} - -export interface DocCommentsGetParams { - doc?: string; - sessionId?: string; - id: string; -} - -export interface DocCommentsListParams { - doc?: string; - sessionId?: string; - includeResolved?: boolean; -} - -export interface DocTrackChangesListParams { - doc?: string; - sessionId?: string; - limit?: number; - offset?: number; - type?: string; -} - -export interface DocTrackChangesGetParams { - doc?: string; - sessionId?: string; - id: string; -} - -export interface DocTrackChangesAcceptParams { - doc?: string; - sessionId?: string; - out?: string; - force?: boolean; - expectedRevision?: number; - changeMode?: string; - id: string; -} - -export interface DocTrackChangesRejectParams { - doc?: string; - sessionId?: string; - out?: string; - force?: boolean; - expectedRevision?: number; - changeMode?: string; - id: string; -} - -export interface DocTrackChangesAcceptAllParams { - doc?: string; - sessionId?: string; - out?: string; - force?: boolean; - expectedRevision?: number; - changeMode?: string; -} - -export interface DocTrackChangesRejectAllParams { - doc?: string; - sessionId?: string; - out?: string; - force?: boolean; - expectedRevision?: number; - changeMode?: string; -} - -export interface DocOpenParams { - doc: string; - sessionId?: string; - collaboration?: Record | unknown[]; - collabDocumentId?: string; - collabUrl?: string; -} - -export interface DocSaveParams { - sessionId?: string; - out?: string; - force?: boolean; - inPlace?: boolean; -} - -export interface DocCloseParams { - sessionId?: string; - discard?: boolean; -} - -export interface DocStatusParams { - sessionId?: string; -} - -export interface DocDescribeParams { -} - -export interface DocDescribeCommandParams { - operationId: string; -} - -export interface DocSessionListParams { -} - -export interface DocSessionSaveParams { - sessionId: string; - out?: string; - force?: boolean; - inPlace?: boolean; -} - -export interface DocSessionCloseParams { - sessionId: string; - discard?: boolean; -} - -export interface DocSessionSetDefaultParams { - sessionId: string; -} - -export type DocFindResult = { - context?: Array<{ - address: ({ - kind: "block"; - nodeId: string; - nodeType: "paragraph" | "heading" | "listItem" | "table" | "tableRow" | "tableCell" | "image" | "sdt"; - }) | ({ - anchor: { - end: { - blockId: string; - offset: number; - }; - start: { - blockId: string; - offset: number; - }; - }; - kind: "inline"; - nodeType: "run" | "bookmark" | "comment" | "hyperlink" | "sdt" | "image" | "footnoteRef" | "tab" | "lineBreak"; - }); - highlightRange: { - end: number; - start: number; - }; - snippet: string; - textRanges?: Array<{ - blockId: string; - kind: "text"; - range: { - end: number; - start: number; - }; - }>; - }>; - diagnostics?: Array<{ - address?: ({ - kind: "block"; - nodeId: string; - nodeType: "paragraph" | "heading" | "listItem" | "table" | "tableRow" | "tableCell" | "image" | "sdt"; - }) | ({ - anchor: { - end: { - blockId: string; - offset: number; - }; - start: { - blockId: string; - offset: number; - }; - }; - kind: "inline"; - nodeType: "run" | "bookmark" | "comment" | "hyperlink" | "sdt" | "image" | "footnoteRef" | "tab" | "lineBreak"; - }); - hint?: string; - message: string; - }>; - matches: Array<({ - kind: "block"; - nodeId: string; - nodeType: "paragraph" | "heading" | "listItem" | "table" | "tableRow" | "tableCell" | "image" | "sdt"; - }) | ({ - anchor: { - end: { - blockId: string; - offset: number; - }; - start: { - blockId: string; - offset: number; - }; - }; - kind: "inline"; - nodeType: "run" | "bookmark" | "comment" | "hyperlink" | "sdt" | "image" | "footnoteRef" | "tab" | "lineBreak"; - })>; - nodes?: Array<{ - bodyNodes?: Array>; - bodyText?: string; - kind: "block" | "inline"; - nodes?: Array>; - nodeType: "paragraph" | "heading" | "listItem" | "table" | "tableRow" | "tableCell" | "image" | "sdt" | "run" | "bookmark" | "comment" | "hyperlink" | "footnoteRef" | "tab" | "lineBreak"; - properties?: Record; - summary?: { - label?: string; - text?: string; - }; - text?: string; - }>; - total: number; -}; - -export type DocGetNodeResult = { - bodyNodes?: Array>; - bodyText?: string; - kind: "block" | "inline"; - nodes?: Array>; - nodeType: "paragraph" | "heading" | "listItem" | "table" | "tableRow" | "tableCell" | "image" | "sdt" | "run" | "bookmark" | "comment" | "hyperlink" | "footnoteRef" | "tab" | "lineBreak"; - properties?: Record; - summary?: { - label?: string; - text?: string; - }; - text?: string; -}; - -export type DocGetNodeByIdResult = { - bodyNodes?: Array>; - bodyText?: string; - kind: "block" | "inline"; - nodes?: Array>; - nodeType: "paragraph" | "heading" | "listItem" | "table" | "tableRow" | "tableCell" | "image" | "sdt" | "run" | "bookmark" | "comment" | "hyperlink" | "footnoteRef" | "tab" | "lineBreak"; - properties?: Record; - summary?: { - label?: string; - text?: string; - }; - text?: string; -}; - -export type DocInfoResult = { - capabilities: { - canComment: boolean; - canFind: boolean; - canGetNode: boolean; - canReplace: boolean; - }; - counts: { - comments: number; - headings: number; - images: number; - paragraphs: number; - tables: number; - words: number; - }; - outline: Array<{ - level: number; - nodeId: string; - text: string; - }>; -}; - -export type DocInsertResult = { - inserted?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - removed?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - resolution: { - range: { - from: number; - to: number; - }; - requestedTarget?: { - blockId: string; - kind: "text"; - range: { - end: number; - start: number; - }; - }; - target: { - blockId: string; - kind: "text"; - range: { - end: number; - start: number; - }; - }; - text: string; - }; - success: true; - updated?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; -}; - -export type DocReplaceResult = { - inserted?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - removed?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - resolution: { - range: { - from: number; - to: number; - }; - requestedTarget?: { - blockId: string; - kind: "text"; - range: { - end: number; - start: number; - }; - }; - target: { - blockId: string; - kind: "text"; - range: { - end: number; - start: number; - }; - }; - text: string; - }; - success: true; - updated?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; -}; - -export type DocDeleteResult = { - inserted?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - removed?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - resolution: { - range: { - from: number; - to: number; - }; - requestedTarget?: { - blockId: string; - kind: "text"; - range: { - end: number; - start: number; - }; - }; - target: { - blockId: string; - kind: "text"; - range: { - end: number; - start: number; - }; - }; - text: string; - }; - success: true; - updated?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; -}; - -export type DocFormatBoldResult = { - inserted?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - removed?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - resolution: { - range: { - from: number; - to: number; - }; - requestedTarget?: { - blockId: string; - kind: "text"; - range: { - end: number; - start: number; - }; - }; - target: { - blockId: string; - kind: "text"; - range: { - end: number; - start: number; - }; - }; - text: string; - }; - success: true; - updated?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; -}; - -export type DocFormatItalicResult = { - inserted?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - removed?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - resolution: { - range: { - from: number; - to: number; - }; - requestedTarget?: { - blockId: string; - kind: "text"; - range: { - end: number; - start: number; - }; - }; - target: { - blockId: string; - kind: "text"; - range: { - end: number; - start: number; - }; - }; - text: string; - }; - success: true; - updated?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; -}; - -export type DocFormatUnderlineResult = { - inserted?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - removed?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - resolution: { - range: { - from: number; - to: number; - }; - requestedTarget?: { - blockId: string; - kind: "text"; - range: { - end: number; - start: number; - }; - }; - target: { - blockId: string; - kind: "text"; - range: { - end: number; - start: number; - }; - }; - text: string; - }; - success: true; - updated?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; -}; - -export type DocFormatStrikethroughResult = { - inserted?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - removed?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - resolution: { - range: { - from: number; - to: number; - }; - requestedTarget?: { - blockId: string; - kind: "text"; - range: { - end: number; - start: number; - }; - }; - target: { - blockId: string; - kind: "text"; - range: { - end: number; - start: number; - }; - }; - text: string; - }; - success: true; - updated?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; -}; - -export type DocCreateParagraphResult = { - insertionPoint: { - blockId: string; - kind: "text"; - range: { - end: number; - start: number; - }; - }; - paragraph: { - kind: "block"; - nodeId: string; - nodeType: "paragraph"; - }; - success: true; - trackedChangeRefs?: Array<{ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - }>; -}; - -export type DocListsListResult = { - items: Array<{ - address: { - kind: "block"; - nodeId: string; - nodeType: "listItem"; - }; - kind?: "ordered" | "bullet"; - level?: number; - marker?: string; - ordinal?: number; - path?: Array; - text?: string; - }>; - matches: Array<{ - kind: "block"; - nodeId: string; - nodeType: "listItem"; - }>; - total: number; -}; - -export type DocListsGetResult = { - address: { - kind: "block"; - nodeId: string; - nodeType: "listItem"; - }; - kind?: "ordered" | "bullet"; - level?: number; - marker?: string; - ordinal?: number; - path?: Array; - text?: string; -}; - -export type DocListsInsertResult = { - insertionPoint: { - blockId: string; - kind: "text"; - range: { - end: number; - start: number; - }; - }; - item: { - kind: "block"; - nodeId: string; - nodeType: "listItem"; - }; - success: true; - trackedChangeRefs?: Array<{ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - }>; -}; - -export type DocListsSetTypeResult = { - item: { - kind: "block"; - nodeId: string; - nodeType: "listItem"; - }; - success: true; -}; - -export type DocListsIndentResult = { - item: { - kind: "block"; - nodeId: string; - nodeType: "listItem"; - }; - success: true; -}; - -export type DocListsOutdentResult = { - item: { - kind: "block"; - nodeId: string; - nodeType: "listItem"; - }; - success: true; -}; - -export type DocListsRestartResult = { - item: { - kind: "block"; - nodeId: string; - nodeType: "listItem"; - }; - success: true; -}; - -export type DocListsExitResult = { - paragraph: { - kind: "block"; - nodeId: string; - nodeType: "paragraph"; - }; - success: true; -}; - -export type DocCommentsAddResult = { - inserted?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - removed?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - success: true; - updated?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; -}; - -export type DocCommentsEditResult = { - inserted?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - removed?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - success: true; - updated?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; -}; - -export type DocCommentsReplyResult = { - inserted?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - removed?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - success: true; - updated?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; -}; - -export type DocCommentsMoveResult = { - inserted?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - removed?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - success: true; - updated?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; -}; - -export type DocCommentsResolveResult = { - inserted?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - removed?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - success: true; - updated?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; -}; - -export type DocCommentsRemoveResult = { - inserted?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - removed?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - success: true; - updated?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; -}; - -export type DocCommentsSetInternalResult = { - inserted?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - removed?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - success: true; - updated?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; -}; - -export type DocCommentsSetActiveResult = { - inserted?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - removed?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - success: true; - updated?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; -}; - -export type DocCommentsGoToResult = { - inserted?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - removed?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - success: true; - updated?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; -}; - -export type DocCommentsGetResult = { - address: { - entityId: string; - entityType: "comment"; - kind: "entity"; - }; - commentId: string; - createdTime?: number; - creatorEmail?: string; - creatorName?: string; - importedId?: string; - isInternal?: boolean; - parentCommentId?: string; - status: "open" | "resolved"; - target?: { - blockId: string; - kind: "text"; - range: { - end: number; - start: number; - }; - }; - text?: string; -}; - -export type DocCommentsListResult = { - matches: Array<{ - address: { - entityId: string; - entityType: "comment"; - kind: "entity"; - }; - commentId: string; - createdTime?: number; - creatorEmail?: string; - creatorName?: string; - importedId?: string; - isInternal?: boolean; - parentCommentId?: string; - status: "open" | "resolved"; - target?: { - blockId: string; - kind: "text"; - range: { - end: number; - start: number; - }; - }; - text?: string; - }>; - total: number; -}; - -export type DocTrackChangesListResult = { - changes?: Array<{ - address: { - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - }; - author?: string; - authorEmail?: string; - authorImage?: string; - date?: string; - excerpt?: string; - id: string; - type: "insert" | "delete" | "format"; - }>; - matches: Array<{ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - }>; - total: number; -}; - -export type DocTrackChangesGetResult = { - address: { - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - }; - author?: string; - authorEmail?: string; - authorImage?: string; - date?: string; - excerpt?: string; - id: string; - type: "insert" | "delete" | "format"; -}; - -export type DocTrackChangesAcceptResult = { - inserted?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - removed?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - success: true; - updated?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; -}; - -export type DocTrackChangesRejectResult = { - inserted?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - removed?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - success: true; - updated?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; -}; - -export type DocTrackChangesAcceptAllResult = { - inserted?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - removed?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - success: true; - updated?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; -}; - -export type DocTrackChangesRejectAllResult = { - inserted?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - removed?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; - success: true; - updated?: Array<({ - entityId: string; - entityType: "comment"; - kind: "entity"; - }) | ({ - entityId: string; - entityType: "trackedChange"; - kind: "entity"; - })>; -}; - -export type DocOpenResult = { - contextId: string; - sessionType: string; - document?: { - path?: string; - source?: string; - revision?: number; - }; - collaboration?: { - documentId?: string; - url?: string; - }; -}; - -export type DocSaveResult = { - contextId: string; - saved: boolean; - inPlace?: boolean; - document?: { - path?: string; - source?: string; - revision?: number; - }; - context?: { - dirty?: boolean; - revision?: number; - lastSavedAt?: string; - }; - output?: { - path?: string; - byteLength?: number; - }; -}; - -export type DocCloseResult = { - contextId: string; - closed: boolean; - saved?: boolean; - discarded?: boolean; - defaultSessionCleared?: boolean; - wasDirty?: boolean; - document?: { - path?: string; - source?: string; - revision?: number; - }; -}; - -export type DocStatusResult = { - contextId: string; - sessionType?: string; - dirty?: boolean; - revision?: number; - document?: { - path?: string; - source?: string; - }; -}; - -export type DocDescribeResult = { - contractVersion?: string; - operations?: Array<{ - operationId?: string; - command?: string; - category?: string; - description?: string; - mutates?: boolean; - }>; -}; - -export type DocDescribeCommandResult = { - operationId?: string; - command?: string; - category?: string; - description?: string; - mutates?: boolean; - params?: Array; - constraints?: unknown; -}; - -export type DocSessionListResult = { - activeSessionId?: string; - sessions?: Array<{ - sessionId?: string; - sessionType?: string; - dirty?: boolean; - revision?: number; - }>; - total?: number; -}; - -export type DocSessionSaveResult = { - sessionId: string; - contextId?: string; - saved?: boolean; - inPlace?: boolean; - document?: { - path?: string; - source?: string; - revision?: number; - }; - output?: { - path?: string; - byteLength?: number; - }; -}; - -export type DocSessionCloseResult = { - sessionId: string; - contextId?: string; - closed?: boolean; - saved?: boolean; - discarded?: boolean; - defaultSessionCleared?: boolean; - wasDirty?: boolean; - document?: { - path?: string; - source?: string; - revision?: number; - }; -}; - -export type DocSessionSetDefaultResult = { - activeSessionId: string; -}; - -export function createDocApi(runtime: SuperDocRuntime) { - return { - find: (params: DocFindParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.find"], params as unknown as Record, options), - getNode: (params: DocGetNodeParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.getNode"], params as unknown as Record, options), - getNodeById: (params: DocGetNodeByIdParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.getNodeById"], params as unknown as Record, options), - info: (params: DocInfoParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.info"], params as unknown as Record, options), - insert: (params: DocInsertParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.insert"], params as unknown as Record, options), - replace: (params: DocReplaceParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.replace"], params as unknown as Record, options), - delete: (params: DocDeleteParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.delete"], params as unknown as Record, options), - format: { - bold: (params: DocFormatBoldParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.format.bold"], params as unknown as Record, options), - italic: (params: DocFormatItalicParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.format.italic"], params as unknown as Record, options), - underline: (params: DocFormatUnderlineParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.format.underline"], params as unknown as Record, options), - strikethrough: (params: DocFormatStrikethroughParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.format.strikethrough"], params as unknown as Record, options), - }, - create: { - paragraph: (params: DocCreateParagraphParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.create.paragraph"], params as unknown as Record, options), - }, - lists: { - list: (params: DocListsListParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.lists.list"], params as unknown as Record, options), - get: (params: DocListsGetParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.lists.get"], params as unknown as Record, options), - insert: (params: DocListsInsertParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.lists.insert"], params as unknown as Record, options), - setType: (params: DocListsSetTypeParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.lists.setType"], params as unknown as Record, options), - indent: (params: DocListsIndentParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.lists.indent"], params as unknown as Record, options), - outdent: (params: DocListsOutdentParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.lists.outdent"], params as unknown as Record, options), - restart: (params: DocListsRestartParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.lists.restart"], params as unknown as Record, options), - exit: (params: DocListsExitParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.lists.exit"], params as unknown as Record, options), - }, - comments: { - add: (params: DocCommentsAddParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.comments.add"], params as unknown as Record, options), - edit: (params: DocCommentsEditParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.comments.edit"], params as unknown as Record, options), - reply: (params: DocCommentsReplyParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.comments.reply"], params as unknown as Record, options), - move: (params: DocCommentsMoveParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.comments.move"], params as unknown as Record, options), - resolve: (params: DocCommentsResolveParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.comments.resolve"], params as unknown as Record, options), - remove: (params: DocCommentsRemoveParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.comments.remove"], params as unknown as Record, options), - setInternal: (params: DocCommentsSetInternalParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.comments.setInternal"], params as unknown as Record, options), - setActive: (params: DocCommentsSetActiveParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.comments.setActive"], params as unknown as Record, options), - goTo: (params: DocCommentsGoToParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.comments.goTo"], params as unknown as Record, options), - get: (params: DocCommentsGetParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.comments.get"], params as unknown as Record, options), - list: (params: DocCommentsListParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.comments.list"], params as unknown as Record, options), - }, - trackChanges: { - list: (params: DocTrackChangesListParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.trackChanges.list"], params as unknown as Record, options), - get: (params: DocTrackChangesGetParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.trackChanges.get"], params as unknown as Record, options), - accept: (params: DocTrackChangesAcceptParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.trackChanges.accept"], params as unknown as Record, options), - reject: (params: DocTrackChangesRejectParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.trackChanges.reject"], params as unknown as Record, options), - acceptAll: (params: DocTrackChangesAcceptAllParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.trackChanges.acceptAll"], params as unknown as Record, options), - rejectAll: (params: DocTrackChangesRejectAllParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.trackChanges.rejectAll"], params as unknown as Record, options), - }, - open: (params: DocOpenParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.open"], params as unknown as Record, options), - save: (params: DocSaveParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.save"], params as unknown as Record, options), - close: (params: DocCloseParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.close"], params as unknown as Record, options), - status: (params: DocStatusParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.status"], params as unknown as Record, options), - describe: (params: DocDescribeParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.describe"], params as unknown as Record, options), - describeCommand: (params: DocDescribeCommandParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.describeCommand"], params as unknown as Record, options), - session: { - list: (params: DocSessionListParams = {}, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.session.list"], params as unknown as Record, options), - save: (params: DocSessionSaveParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.session.save"], params as unknown as Record, options), - close: (params: DocSessionCloseParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.session.close"], params as unknown as Record, options), - setDefault: (params: DocSessionSetDefaultParams, options?: InvokeOptions) => runtime.invoke(CONTRACT.operations["doc.session.setDefault"], params as unknown as Record, options), - }, - }; -} - -export type SuperDocDocApi = ReturnType; diff --git a/packages/sdk/langs/node/src/generated/contract.ts b/packages/sdk/langs/node/src/generated/contract.ts deleted file mode 100644 index 58379bb727..0000000000 --- a/packages/sdk/langs/node/src/generated/contract.ts +++ /dev/null @@ -1,17813 +0,0 @@ -/* eslint-disable */ -// Auto-generated by packages/sdk/codegen/src/generate-node.mjs - -export const CONTRACT = { - "contractVersion": "0.1.0", - "cli": { - "package": "@superdoc-dev/cli", - "minVersion": "1.0.0" - }, - "protocol": { - "version": "1.0", - "transport": "stdio", - "features": [ - "cli.invoke", - "host.shutdown", - "host.describe", - "host.describe.command" - ], - "notifications": [ - "event.remoteChange", - "event.sessionClosed" - ] - }, - "operations": { - "doc.find": { - "operationId": "doc.find", - "command": "find", - "commandTokens": [ - "find" - ], - "category": "query", - "description": "Search the document for nodes matching type, text, or attribute criteria.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "find_content", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "within", - "kind": "jsonFlag", - "type": "json", - "flag": "within-json", - "schema": { - "oneOf": [ - { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "inline" - }, - "nodeType": { - "oneOf": [ - { - "const": "run" - }, - { - "const": "bookmark" - }, - { - "const": "comment" - }, - { - "const": "hyperlink" - }, - { - "const": "sdt" - }, - { - "const": "image" - }, - { - "const": "footnoteRef" - }, - { - "const": "tab" - }, - { - "const": "lineBreak" - } - ] - }, - "anchor": { - "type": "object", - "properties": { - "start": { - "type": "object", - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "number" - } - }, - "required": [ - "blockId", - "offset" - ] - }, - "end": { - "type": "object", - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "number" - } - }, - "required": [ - "blockId", - "offset" - ] - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ] - } - ] - } - }, - { - "name": "limit", - "kind": "flag", - "type": "number" - }, - { - "name": "offset", - "kind": "flag", - "type": "number" - }, - { - "name": "includeNodes", - "kind": "flag", - "type": "boolean", - "flag": "include-nodes" - }, - { - "name": "includeUnknown", - "kind": "flag", - "type": "boolean", - "flag": "include-unknown" - }, - { - "name": "type", - "kind": "flag", - "type": "string" - }, - { - "name": "nodeType", - "kind": "flag", - "type": "string", - "flag": "node-type" - }, - { - "name": "kind", - "kind": "flag", - "type": "string" - }, - { - "name": "pattern", - "kind": "flag", - "type": "string" - }, - { - "name": "mode", - "kind": "flag", - "type": "string" - }, - { - "name": "caseSensitive", - "kind": "flag", - "type": "boolean", - "flag": "case-sensitive" - }, - { - "name": "query", - "kind": "jsonFlag", - "type": "json", - "flag": "query-json" - } - ], - "constraints": { - "requiresOneOf": [ - [ - "type", - "query" - ] - ], - "mutuallyExclusive": [ - [ - "type", - "query" - ] - ] - }, - "mutates": false, - "idempotency": "idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "includeNodes": { - "type": "boolean" - }, - "includeUnknown": { - "type": "boolean" - }, - "limit": { - "type": "integer" - }, - "offset": { - "type": "integer" - }, - "select": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "caseSensitive": { - "type": "boolean" - }, - "mode": { - "enum": [ - "contains", - "regex" - ] - }, - "pattern": { - "type": "string" - }, - "type": { - "const": "text" - } - }, - "required": [ - "type", - "pattern" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "enum": [ - "block", - "inline" - ] - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - }, - "type": { - "const": "node" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": [ - "nodeType" - ], - "type": "object" - } - ] - }, - "within": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt" - ] - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": [ - "run", - "bookmark", - "comment", - "hyperlink", - "sdt", - "image", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ], - "type": "object" - } - ] - } - }, - "required": [ - "select" - ], - "type": "object" - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "context": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt" - ] - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": [ - "run", - "bookmark", - "comment", - "hyperlink", - "sdt", - "image", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ], - "type": "object" - } - ] - }, - "highlightRange": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "snippet": { - "type": "string" - }, - "textRanges": { - "items": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "address", - "snippet", - "highlightRange" - ], - "type": "object" - }, - "type": "array" - }, - "diagnostics": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt" - ] - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": [ - "run", - "bookmark", - "comment", - "hyperlink", - "sdt", - "image", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ], - "type": "object" - } - ] - }, - "hint": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "required": [ - "message" - ], - "type": "object" - }, - "type": "array" - }, - "matches": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt" - ] - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": [ - "run", - "bookmark", - "comment", - "hyperlink", - "sdt", - "image", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "nodes": { - "items": { - "additionalProperties": false, - "properties": { - "bodyNodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "bodyText": { - "type": "string" - }, - "kind": { - "enum": [ - "block", - "inline" - ] - }, - "nodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - }, - "properties": { - "type": "object" - }, - "summary": { - "additionalProperties": false, - "properties": { - "label": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "nodeType", - "kind" - ], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": [ - "matches", - "total" - ], - "type": "object" - } - }, - "doc.getNode": { - "operationId": "doc.getNode", - "command": "get-node", - "commandTokens": [ - "get-node" - ], - "category": "query", - "description": "Retrieve a single node by target position.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "get_node", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "address", - "kind": "jsonFlag", - "type": "json", - "flag": "address-json" - } - ], - "constraints": null, - "mutates": false, - "idempotency": "idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt" - ] - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": [ - "run", - "bookmark", - "comment", - "hyperlink", - "sdt", - "image", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ], - "type": "object" - } - ] - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "bodyNodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "bodyText": { - "type": "string" - }, - "kind": { - "enum": [ - "block", - "inline" - ] - }, - "nodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - }, - "properties": { - "type": "object" - }, - "summary": { - "additionalProperties": false, - "properties": { - "label": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "nodeType", - "kind" - ], - "type": "object" - } - }, - "doc.getNodeById": { - "operationId": "doc.getNodeById", - "command": "get-node-by-id", - "commandTokens": [ - "get-node-by-id" - ], - "category": "query", - "description": "Retrieve a single node by its unique ID.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "get_node_by_id", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "id", - "kind": "flag", - "type": "string", - "required": true - }, - { - "name": "nodeType", - "kind": "flag", - "type": "string", - "flag": "node-type", - "schema": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - } - } - ], - "constraints": null, - "mutates": false, - "idempotency": "idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt" - ] - } - }, - "required": [ - "nodeId" - ], - "type": "object" - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "bodyNodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "bodyText": { - "type": "string" - }, - "kind": { - "enum": [ - "block", - "inline" - ] - }, - "nodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - }, - "properties": { - "type": "object" - }, - "summary": { - "additionalProperties": false, - "properties": { - "label": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "nodeType", - "kind" - ], - "type": "object" - } - }, - "doc.info": { - "operationId": "doc.info", - "command": "info", - "commandTokens": [ - "info" - ], - "category": "query", - "description": "Return document metadata including revision, node count, and capabilities.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "get_document_info", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - } - ], - "constraints": null, - "mutates": false, - "idempotency": "idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "capabilities": { - "additionalProperties": false, - "properties": { - "canComment": { - "type": "boolean" - }, - "canFind": { - "type": "boolean" - }, - "canGetNode": { - "type": "boolean" - }, - "canReplace": { - "type": "boolean" - } - }, - "required": [ - "canFind", - "canGetNode", - "canComment", - "canReplace" - ], - "type": "object" - }, - "counts": { - "additionalProperties": false, - "properties": { - "comments": { - "type": "integer" - }, - "headings": { - "type": "integer" - }, - "images": { - "type": "integer" - }, - "paragraphs": { - "type": "integer" - }, - "tables": { - "type": "integer" - }, - "words": { - "type": "integer" - } - }, - "required": [ - "words", - "paragraphs", - "headings", - "tables", - "images", - "comments" - ], - "type": "object" - }, - "outline": { - "items": { - "additionalProperties": false, - "properties": { - "level": { - "type": "integer" - }, - "nodeId": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": [ - "level", - "text", - "nodeId" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "counts", - "outline", - "capabilities" - ], - "type": "object" - } - }, - "doc.insert": { - "operationId": "doc.insert", - "command": "insert", - "commandTokens": [ - "insert" - ], - "category": "mutation", - "description": "Insert text or inline content at a target position.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "insert_content", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "dryRun", - "kind": "flag", - "type": "boolean", - "flag": "dry-run", - "agentVisible": false - }, - { - "name": "target", - "kind": "jsonFlag", - "type": "json", - "flag": "target-json", - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - { - "name": "text", - "kind": "flag", - "type": "string", - "required": true - } - ], - "constraints": null, - "mutates": true, - "idempotency": "non-idempotent", - "supportsTrackedMode": true, - "supportsDryRun": true, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "text" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET", - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure", - "resolution" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET", - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure", - "resolution" - ], - "type": "object" - } - }, - "doc.replace": { - "operationId": "doc.replace", - "command": "replace", - "commandTokens": [ - "replace" - ], - "category": "mutation", - "description": "Replace content at a target position with new text or inline content.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "replace_content", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "dryRun", - "kind": "flag", - "type": "boolean", - "flag": "dry-run", - "agentVisible": false - }, - { - "name": "target", - "kind": "jsonFlag", - "type": "json", - "flag": "target-json", - "required": true, - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - { - "name": "text", - "kind": "flag", - "type": "string", - "required": true - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": true, - "supportsDryRun": true, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "text" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET", - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure", - "resolution" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET", - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure", - "resolution" - ], - "type": "object" - } - }, - "doc.delete": { - "operationId": "doc.delete", - "command": "delete", - "commandTokens": [ - "delete" - ], - "category": "mutation", - "description": "Delete content at a target position.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "delete_content", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "dryRun", - "kind": "flag", - "type": "boolean", - "flag": "dry-run", - "agentVisible": false - }, - { - "name": "target", - "kind": "jsonFlag", - "type": "json", - "flag": "target-json", - "required": true, - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": true, - "supportsDryRun": true, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - } - }, - "required": [ - "target" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure", - "resolution" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure", - "resolution" - ], - "type": "object" - } - }, - "doc.format.bold": { - "operationId": "doc.format.bold", - "command": "format bold", - "commandTokens": [ - "format", - "bold" - ], - "category": "format", - "description": "Toggle bold formatting on the target range.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "format_bold", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "dryRun", - "kind": "flag", - "type": "boolean", - "flag": "dry-run", - "agentVisible": false - }, - { - "name": "target", - "kind": "jsonFlag", - "type": "json", - "flag": "target-json", - "required": true, - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": true, - "supportsDryRun": true, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - } - }, - "required": [ - "target" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure", - "resolution" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure", - "resolution" - ], - "type": "object" - } - }, - "doc.format.italic": { - "operationId": "doc.format.italic", - "command": "format italic", - "commandTokens": [ - "format", - "italic" - ], - "category": "format", - "description": "Toggle italic formatting on the target range.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "format_italic", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "dryRun", - "kind": "flag", - "type": "boolean", - "flag": "dry-run", - "agentVisible": false - }, - { - "name": "target", - "kind": "jsonFlag", - "type": "json", - "flag": "target-json", - "required": true, - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": true, - "supportsDryRun": true, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - } - }, - "required": [ - "target" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure", - "resolution" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure", - "resolution" - ], - "type": "object" - } - }, - "doc.format.underline": { - "operationId": "doc.format.underline", - "command": "format underline", - "commandTokens": [ - "format", - "underline" - ], - "category": "format", - "description": "Toggle underline formatting on the target range.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "format_underline", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "dryRun", - "kind": "flag", - "type": "boolean", - "flag": "dry-run", - "agentVisible": false - }, - { - "name": "target", - "kind": "jsonFlag", - "type": "json", - "flag": "target-json", - "required": true, - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": true, - "supportsDryRun": true, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - } - }, - "required": [ - "target" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure", - "resolution" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure", - "resolution" - ], - "type": "object" - } - }, - "doc.format.strikethrough": { - "operationId": "doc.format.strikethrough", - "command": "format strikethrough", - "commandTokens": [ - "format", - "strikethrough" - ], - "category": "format", - "description": "Toggle strikethrough formatting on the target range.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "format_strikethrough", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "dryRun", - "kind": "flag", - "type": "boolean", - "flag": "dry-run", - "agentVisible": false - }, - { - "name": "target", - "kind": "jsonFlag", - "type": "json", - "flag": "target-json", - "required": true, - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": true, - "supportsDryRun": true, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - } - }, - "required": [ - "target" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure", - "resolution" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure", - "resolution" - ], - "type": "object" - } - }, - "doc.create.paragraph": { - "operationId": "doc.create.paragraph", - "command": "create paragraph", - "commandTokens": [ - "create", - "paragraph" - ], - "category": "create", - "description": "Create a new paragraph at the target position.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "create_paragraph", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "dryRun", - "kind": "flag", - "type": "boolean", - "flag": "dry-run", - "agentVisible": false - }, - { - "name": "at", - "kind": "jsonFlag", - "type": "json", - "flag": "at-json", - "schema": { - "oneOf": [ - { - "type": "object", - "properties": { - "kind": { - "const": "documentStart" - } - }, - "required": [ - "kind" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "documentEnd" - } - }, - "required": [ - "kind" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "before" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "kind", - "target" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "after" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "kind", - "target" - ] - } - ] - } - }, - { - "name": "text", - "kind": "flag", - "type": "string" - }, - { - "name": "input", - "kind": "jsonFlag", - "type": "json", - "flag": "input-json" - } - ], - "constraints": null, - "mutates": true, - "idempotency": "non-idempotent", - "supportsTrackedMode": true, - "supportsDryRun": true, - "inputSchema": { - "additionalProperties": false, - "properties": { - "at": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "documentStart" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "documentEnd" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "before" - }, - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt" - ] - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - } - }, - "required": [ - "kind", - "target" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "after" - }, - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt" - ] - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - } - }, - "required": [ - "kind", - "target" - ], - "type": "object" - } - ] - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "insertionPoint": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "paragraph": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "paragraph" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - }, - "trackedChangeRefs": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "success", - "paragraph", - "insertionPoint" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "insertionPoint": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "paragraph": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "paragraph" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - }, - "trackedChangeRefs": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "success", - "paragraph", - "insertionPoint" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.lists.list": { - "operationId": "doc.lists.list", - "command": "lists list", - "commandTokens": [ - "lists", - "list" - ], - "category": "lists", - "description": "List all list nodes in the document, optionally filtered by scope.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "list_lists", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "within", - "kind": "jsonFlag", - "type": "json", - "flag": "within-json", - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - { - "name": "limit", - "kind": "flag", - "type": "number" - }, - { - "name": "offset", - "kind": "flag", - "type": "number" - }, - { - "name": "kind", - "kind": "flag", - "type": "string", - "schema": { - "oneOf": [ - { - "const": "ordered" - }, - { - "const": "bullet" - } - ] - } - }, - { - "name": "level", - "kind": "flag", - "type": "number" - }, - { - "name": "ordinal", - "kind": "flag", - "type": "number" - }, - { - "name": "query", - "kind": "jsonFlag", - "type": "json", - "flag": "query-json" - } - ], - "constraints": { - "mutuallyExclusive": [ - [ - "query", - "within" - ], - [ - "query", - "kind" - ], - [ - "query", - "level" - ], - [ - "query", - "ordinal" - ], - [ - "query", - "limit" - ], - [ - "query", - "offset" - ] - ] - }, - "mutates": false, - "idempotency": "idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "kind": { - "enum": [ - "ordered", - "bullet" - ] - }, - "level": { - "type": "integer" - }, - "limit": { - "type": "integer" - }, - "offset": { - "type": "integer" - }, - "ordinal": { - "type": "integer" - }, - "within": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt" - ] - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - } - }, - "type": "object" - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "items": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "kind": { - "enum": [ - "ordered", - "bullet" - ] - }, - "level": { - "type": "integer" - }, - "marker": { - "type": "string" - }, - "ordinal": { - "type": "integer" - }, - "path": { - "items": { - "type": "integer" - }, - "type": "array" - }, - "text": { - "type": "string" - } - }, - "required": [ - "address" - ], - "type": "object" - }, - "type": "array" - }, - "matches": { - "items": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": [ - "matches", - "total", - "items" - ], - "type": "object" - } - }, - "doc.lists.get": { - "operationId": "doc.lists.get", - "command": "lists get", - "commandTokens": [ - "lists", - "get" - ], - "category": "lists", - "description": "Retrieve a specific list node by target.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "get_list", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "address", - "kind": "jsonFlag", - "type": "json", - "flag": "address-json", - "required": true, - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - } - ], - "constraints": null, - "mutates": false, - "idempotency": "idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - } - }, - "required": [ - "address" - ], - "type": "object" - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "kind": { - "enum": [ - "ordered", - "bullet" - ] - }, - "level": { - "type": "integer" - }, - "marker": { - "type": "string" - }, - "ordinal": { - "type": "integer" - }, - "path": { - "items": { - "type": "integer" - }, - "type": "array" - }, - "text": { - "type": "string" - } - }, - "required": [ - "address" - ], - "type": "object" - } - }, - "doc.lists.insert": { - "operationId": "doc.lists.insert", - "command": "lists insert", - "commandTokens": [ - "lists", - "insert" - ], - "category": "lists", - "description": "Insert a new list at the target position.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "insert_list", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "dryRun", - "kind": "flag", - "type": "boolean", - "flag": "dry-run", - "agentVisible": false - }, - { - "name": "target", - "kind": "jsonFlag", - "type": "json", - "flag": "target-json", - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - { - "name": "position", - "kind": "flag", - "type": "string", - "schema": { - "oneOf": [ - { - "const": "before" - }, - { - "const": "after" - } - ] - } - }, - { - "name": "text", - "kind": "flag", - "type": "string" - }, - { - "name": "input", - "kind": "jsonFlag", - "type": "json", - "flag": "input-json" - } - ], - "constraints": null, - "mutates": true, - "idempotency": "non-idempotent", - "supportsTrackedMode": true, - "supportsDryRun": true, - "inputSchema": { - "additionalProperties": false, - "properties": { - "position": { - "enum": [ - "before", - "after" - ] - }, - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "position" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "insertionPoint": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - }, - "trackedChangeRefs": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "success", - "item", - "insertionPoint" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "insertionPoint": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - }, - "trackedChangeRefs": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "success", - "item", - "insertionPoint" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.lists.setType": { - "operationId": "doc.lists.setType", - "command": "lists set-type", - "commandTokens": [ - "lists", - "set-type" - ], - "category": "lists", - "description": "Change the list type (ordered, unordered) of a target list.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "set_list_type", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "dryRun", - "kind": "flag", - "type": "boolean", - "flag": "dry-run", - "agentVisible": false - }, - { - "name": "target", - "kind": "jsonFlag", - "type": "json", - "flag": "target-json", - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - { - "name": "kind", - "kind": "flag", - "type": "string", - "schema": { - "oneOf": [ - { - "const": "ordered" - }, - { - "const": "bullet" - } - ] - } - }, - { - "name": "input", - "kind": "jsonFlag", - "type": "json", - "flag": "input-json" - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": true, - "inputSchema": { - "additionalProperties": false, - "properties": { - "kind": { - "enum": [ - "ordered", - "bullet" - ] - }, - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - } - }, - "required": [ - "target", - "kind" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP", - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP", - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.lists.indent": { - "operationId": "doc.lists.indent", - "command": "lists indent", - "commandTokens": [ - "lists", - "indent" - ], - "category": "lists", - "description": "Increase the indentation level of a list item.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "indent_list", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "dryRun", - "kind": "flag", - "type": "boolean", - "flag": "dry-run", - "agentVisible": false - }, - { - "name": "target", - "kind": "jsonFlag", - "type": "json", - "flag": "target-json", - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - { - "name": "input", - "kind": "jsonFlag", - "type": "json", - "flag": "input-json" - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": true, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - } - }, - "required": [ - "target" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP", - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP", - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.lists.outdent": { - "operationId": "doc.lists.outdent", - "command": "lists outdent", - "commandTokens": [ - "lists", - "outdent" - ], - "category": "lists", - "description": "Decrease the indentation level of a list item.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "outdent_list", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "dryRun", - "kind": "flag", - "type": "boolean", - "flag": "dry-run", - "agentVisible": false - }, - { - "name": "target", - "kind": "jsonFlag", - "type": "json", - "flag": "target-json", - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - { - "name": "input", - "kind": "jsonFlag", - "type": "json", - "flag": "input-json" - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": true, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - } - }, - "required": [ - "target" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP", - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP", - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.lists.restart": { - "operationId": "doc.lists.restart", - "command": "lists restart", - "commandTokens": [ - "lists", - "restart" - ], - "category": "lists", - "description": "Restart numbering of an ordered list at the target item.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "restart_list_numbering", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "dryRun", - "kind": "flag", - "type": "boolean", - "flag": "dry-run", - "agentVisible": false - }, - { - "name": "target", - "kind": "jsonFlag", - "type": "json", - "flag": "target-json", - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - { - "name": "input", - "kind": "jsonFlag", - "type": "json", - "flag": "input-json" - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": true, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - } - }, - "required": [ - "target" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP", - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP", - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.lists.exit": { - "operationId": "doc.lists.exit", - "command": "lists exit", - "commandTokens": [ - "lists", - "exit" - ], - "category": "lists", - "description": "Exit a list context, converting the target item to a paragraph.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "exit_list", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "dryRun", - "kind": "flag", - "type": "boolean", - "flag": "dry-run", - "agentVisible": false - }, - { - "name": "target", - "kind": "jsonFlag", - "type": "json", - "flag": "target-json", - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - { - "name": "input", - "kind": "jsonFlag", - "type": "json", - "flag": "input-json" - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": true, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - } - }, - "required": [ - "target" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "paragraph": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "paragraph" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "paragraph" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "paragraph": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "paragraph" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "paragraph" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.comments.add": { - "operationId": "doc.comments.add", - "command": "comments add", - "commandTokens": [ - "comments", - "add" - ], - "category": "comments", - "description": "Add a new comment thread anchored to a target range.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "add_comment", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "target", - "kind": "jsonFlag", - "type": "json", - "flag": "target-json", - "required": true, - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - { - "name": "text", - "kind": "flag", - "type": "string", - "required": true - } - ], - "constraints": null, - "mutates": true, - "idempotency": "non-idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "text" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET", - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET", - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.comments.edit": { - "operationId": "doc.comments.edit", - "command": "comments edit", - "commandTokens": [ - "comments", - "edit" - ], - "category": "comments", - "description": "Edit the content of an existing comment.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "edit_comment", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "id", - "kind": "flag", - "type": "string", - "required": true - }, - { - "name": "text", - "kind": "flag", - "type": "string", - "required": true - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": [ - "commentId", - "text" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.comments.reply": { - "operationId": "doc.comments.reply", - "command": "comments reply", - "commandTokens": [ - "comments", - "reply" - ], - "category": "comments", - "description": "Add a reply to an existing comment thread.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "reply_to_comment", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "parentId", - "kind": "flag", - "type": "string", - "flag": "parent-id", - "required": true - }, - { - "name": "text", - "kind": "flag", - "type": "string", - "required": true - } - ], - "constraints": null, - "mutates": true, - "idempotency": "non-idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "parentCommentId": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": [ - "parentCommentId", - "text" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.comments.move": { - "operationId": "doc.comments.move", - "command": "comments move", - "commandTokens": [ - "comments", - "move" - ], - "category": "comments", - "description": "Move a comment thread to a new anchor range.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "move_comment", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "id", - "kind": "flag", - "type": "string", - "required": true - }, - { - "name": "target", - "kind": "jsonFlag", - "type": "json", - "flag": "target-json", - "required": true, - "schema": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": "string" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - } - }, - "required": [ - "commentId", - "target" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET", - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET", - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.comments.resolve": { - "operationId": "doc.comments.resolve", - "command": "comments resolve", - "commandTokens": [ - "comments", - "resolve" - ], - "category": "comments", - "description": "Resolve or unresolve a comment thread.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "resolve_comment", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "id", - "kind": "flag", - "type": "string", - "required": true - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": "string" - } - }, - "required": [ - "commentId" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.comments.remove": { - "operationId": "doc.comments.remove", - "command": "comments remove", - "commandTokens": [ - "comments", - "remove" - ], - "category": "comments", - "description": "Remove a comment or reply by ID.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "remove_comment", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "id", - "kind": "flag", - "type": "string", - "required": true - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": "string" - } - }, - "required": [ - "commentId" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.comments.setInternal": { - "operationId": "doc.comments.setInternal", - "command": "comments set-internal", - "commandTokens": [ - "comments", - "set-internal" - ], - "category": "comments", - "description": "Toggle the internal (private) flag on a comment thread.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "set_comment_internal", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "id", - "kind": "flag", - "type": "string", - "required": true - }, - { - "name": "isInternal", - "kind": "flag", - "type": "boolean", - "flag": "is-internal", - "required": true - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": "string" - }, - "isInternal": { - "type": "boolean" - } - }, - "required": [ - "commentId", - "isInternal" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP", - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP", - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.comments.setActive": { - "operationId": "doc.comments.setActive", - "command": "comments set-active", - "commandTokens": [ - "comments", - "set-active" - ], - "category": "comments", - "description": "Set the active (focused) comment thread for UI highlighting.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "set_comment_active", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "commentId", - "kind": "jsonFlag", - "type": "json", - "flag": "comment-id-json", - "schema": { - "type": "json" - } - }, - { - "name": "id", - "kind": "flag", - "type": "string" - }, - { - "name": "clear", - "kind": "flag", - "type": "boolean" - } - ], - "constraints": { - "requiresOneOf": [ - [ - "id", - "clear" - ] - ], - "mutuallyExclusive": [ - [ - "id", - "clear" - ] - ] - }, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "commentId" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "INVALID_TARGET" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.comments.goTo": { - "operationId": "doc.comments.goTo", - "command": "comments go-to", - "commandTokens": [ - "comments", - "go-to" - ], - "category": "comments", - "description": "Scroll the viewport to a comment thread by ID.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "go_to_comment", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "id", - "kind": "flag", - "type": "string", - "required": true - } - ], - "constraints": null, - "mutates": false, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": "string" - } - }, - "required": [ - "commentId" - ], - "type": "object" - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - } - }, - "doc.comments.get": { - "operationId": "doc.comments.get", - "command": "comments get", - "commandTokens": [ - "comments", - "get" - ], - "category": "comments", - "description": "Retrieve a single comment thread by ID.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "get_comment", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "id", - "kind": "flag", - "type": "string", - "required": true - } - ], - "constraints": null, - "mutates": false, - "idempotency": "idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "commentId": { - "type": "string" - } - }, - "required": [ - "commentId" - ], - "type": "object" - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "commentId": { - "type": "string" - }, - "createdTime": { - "type": "number" - }, - "creatorEmail": { - "type": "string" - }, - "creatorName": { - "type": "string" - }, - "importedId": { - "type": "string" - }, - "isInternal": { - "type": "boolean" - }, - "parentCommentId": { - "type": "string" - }, - "status": { - "enum": [ - "open", - "resolved" - ] - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "address", - "commentId", - "status" - ], - "type": "object" - } - }, - "doc.comments.list": { - "operationId": "doc.comments.list", - "command": "comments list", - "commandTokens": [ - "comments", - "list" - ], - "category": "comments", - "description": "List all comment threads in the document.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "list_comments", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "includeResolved", - "kind": "flag", - "type": "boolean", - "flag": "include-resolved" - } - ], - "constraints": null, - "mutates": false, - "idempotency": "idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "includeResolved": { - "type": "boolean" - } - }, - "type": "object" - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "matches": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "commentId": { - "type": "string" - }, - "createdTime": { - "type": "number" - }, - "creatorEmail": { - "type": "string" - }, - "creatorName": { - "type": "string" - }, - "importedId": { - "type": "string" - }, - "isInternal": { - "type": "boolean" - }, - "parentCommentId": { - "type": "string" - }, - "status": { - "enum": [ - "open", - "resolved" - ] - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "address", - "commentId", - "status" - ], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": [ - "matches", - "total" - ], - "type": "object" - } - }, - "doc.trackChanges.list": { - "operationId": "doc.trackChanges.list", - "command": "track-changes list", - "commandTokens": [ - "track-changes", - "list" - ], - "category": "trackChanges", - "description": "List all tracked changes in the document.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "list_tracked_changes", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "limit", - "kind": "flag", - "type": "number" - }, - { - "name": "offset", - "kind": "flag", - "type": "number" - }, - { - "name": "type", - "kind": "flag", - "type": "string", - "schema": { - "oneOf": [ - { - "const": "insert" - }, - { - "const": "delete" - }, - { - "const": "format" - } - ] - } - } - ], - "constraints": null, - "mutates": false, - "idempotency": "idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "limit": { - "type": "integer" - }, - "offset": { - "type": "integer" - }, - "type": { - "enum": [ - "insert", - "delete", - "format" - ] - } - }, - "type": "object" - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "changes": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "author": { - "type": "string" - }, - "authorEmail": { - "type": "string" - }, - "authorImage": { - "type": "string" - }, - "date": { - "type": "string" - }, - "excerpt": { - "type": "string" - }, - "id": { - "type": "string" - }, - "type": { - "enum": [ - "insert", - "delete", - "format" - ] - } - }, - "required": [ - "address", - "id", - "type" - ], - "type": "object" - }, - "type": "array" - }, - "matches": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": [ - "matches", - "total" - ], - "type": "object" - } - }, - "doc.trackChanges.get": { - "operationId": "doc.trackChanges.get", - "command": "track-changes get", - "commandTokens": [ - "track-changes", - "get" - ], - "category": "trackChanges", - "description": "Retrieve a single tracked change by ID.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "get_tracked_change", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "id", - "kind": "flag", - "type": "string", - "required": true - } - ], - "constraints": null, - "mutates": false, - "idempotency": "idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "author": { - "type": "string" - }, - "authorEmail": { - "type": "string" - }, - "authorImage": { - "type": "string" - }, - "date": { - "type": "string" - }, - "excerpt": { - "type": "string" - }, - "id": { - "type": "string" - }, - "type": { - "enum": [ - "insert", - "delete", - "format" - ] - } - }, - "required": [ - "address", - "id", - "type" - ], - "type": "object" - } - }, - "doc.trackChanges.accept": { - "operationId": "doc.trackChanges.accept", - "command": "track-changes accept", - "commandTokens": [ - "track-changes", - "accept" - ], - "category": "trackChanges", - "description": "Accept a tracked change, applying it permanently.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "accept_tracked_change", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "id", - "kind": "flag", - "type": "string", - "required": true - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.trackChanges.reject": { - "operationId": "doc.trackChanges.reject", - "command": "track-changes reject", - "commandTokens": [ - "track-changes", - "reject" - ], - "category": "trackChanges", - "description": "Reject a tracked change, reverting it.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "reject_tracked_change", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - }, - { - "name": "id", - "kind": "flag", - "type": "string", - "required": true - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": { - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.trackChanges.acceptAll": { - "operationId": "doc.trackChanges.acceptAll", - "command": "track-changes accept-all", - "commandTokens": [ - "track-changes", - "accept-all" - ], - "category": "trackChanges", - "description": "Accept all tracked changes in the document.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "accept_all_tracked_changes", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.trackChanges.rejectAll": { - "operationId": "doc.trackChanges.rejectAll", - "command": "track-changes reject-all", - "commandTokens": [ - "track-changes", - "reject-all" - ], - "category": "trackChanges", - "description": "Reject all tracked changes in the document.", - "requiresDocumentContext": true, - "docRequirement": "optional", - "intentName": "reject_all_tracked_changes", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string" - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "expectedRevision", - "kind": "flag", - "type": "number", - "flag": "expected-revision", - "agentVisible": false - }, - { - "name": "changeMode", - "kind": "flag", - "type": "string", - "flag": "change-mode", - "schema": { - "oneOf": [ - { - "const": "direct" - }, - { - "const": "tracked" - } - ] - }, - "agentVisible": false - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "inputSchema": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "outputSchema": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - ] - }, - "successSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "failureSchema": { - "additionalProperties": false, - "properties": { - "failure": { - "additionalProperties": false, - "properties": { - "code": { - "enum": [ - "NO_OP" - ] - }, - "details": {}, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "success": { - "const": false - } - }, - "required": [ - "success", - "failure" - ], - "type": "object" - } - }, - "doc.open": { - "operationId": "doc.open", - "command": "open", - "commandTokens": [ - "open" - ], - "category": "lifecycle", - "description": "Open a document and create a persistent editing session.", - "requiresDocumentContext": false, - "docRequirement": "required", - "intentName": "open_document", - "params": [ - { - "name": "doc", - "kind": "doc", - "type": "string", - "required": true - }, - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "collaboration", - "kind": "jsonFlag", - "type": "json", - "flag": "collaboration-json" - }, - { - "name": "collabDocumentId", - "kind": "flag", - "type": "string", - "flag": "collab-document-id" - }, - { - "name": "collabUrl", - "kind": "flag", - "type": "string", - "flag": "collab-url" - } - ], - "constraints": null, - "mutates": false, - "idempotency": "non-idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "outputSchema": { - "type": "object", - "properties": { - "contextId": { - "type": "string" - }, - "sessionType": { - "type": "string" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - }, - "revision": { - "type": "number" - } - } - }, - "collaboration": { - "type": "object", - "properties": { - "documentId": { - "type": "string" - }, - "url": { - "type": "string" - } - } - } - }, - "required": [ - "contextId", - "sessionType" - ] - } - }, - "doc.save": { - "operationId": "doc.save", - "command": "save", - "commandTokens": [ - "save" - ], - "category": "lifecycle", - "description": "Save the current session to the original file or a new path.", - "requiresDocumentContext": false, - "docRequirement": "none", - "intentName": "save_document", - "params": [ - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "inPlace", - "kind": "flag", - "type": "boolean", - "flag": "in-place" - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "outputSchema": { - "type": "object", - "properties": { - "contextId": { - "type": "string" - }, - "saved": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - }, - "revision": { - "type": "number" - } - } - }, - "context": { - "type": "object", - "properties": { - "dirty": { - "type": "boolean" - }, - "revision": { - "type": "number" - }, - "lastSavedAt": { - "type": "string" - } - } - }, - "output": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "byteLength": { - "type": "number" - } - } - } - }, - "required": [ - "contextId", - "saved" - ] - } - }, - "doc.close": { - "operationId": "doc.close", - "command": "close", - "commandTokens": [ - "close" - ], - "category": "lifecycle", - "description": "Close the active editing session and clean up resources.", - "requiresDocumentContext": false, - "docRequirement": "none", - "intentName": "close_document", - "params": [ - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - }, - { - "name": "discard", - "kind": "flag", - "type": "boolean" - } - ], - "constraints": null, - "mutates": false, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "outputSchema": { - "type": "object", - "properties": { - "contextId": { - "type": "string" - }, - "closed": { - "type": "boolean" - }, - "saved": { - "type": "boolean" - }, - "discarded": { - "type": "boolean" - }, - "defaultSessionCleared": { - "type": "boolean" - }, - "wasDirty": { - "type": "boolean" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - }, - "revision": { - "type": "number" - } - } - } - }, - "required": [ - "contextId", - "closed" - ] - } - }, - "doc.status": { - "operationId": "doc.status", - "command": "status", - "commandTokens": [ - "status" - ], - "category": "introspection", - "description": "Show the current session status and document metadata.", - "requiresDocumentContext": false, - "docRequirement": "none", - "intentName": "get_status", - "params": [ - { - "name": "sessionId", - "kind": "flag", - "type": "string", - "flag": "session" - } - ], - "constraints": null, - "mutates": false, - "idempotency": "idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "outputSchema": { - "type": "object", - "properties": { - "contextId": { - "type": "string" - }, - "sessionType": { - "type": "string" - }, - "dirty": { - "type": "boolean" - }, - "revision": { - "type": "number" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - } - } - } - }, - "required": [ - "contextId" - ] - } - }, - "doc.describe": { - "operationId": "doc.describe", - "command": "describe", - "commandTokens": [ - "describe" - ], - "category": "introspection", - "description": "List all available CLI operations and contract metadata.", - "requiresDocumentContext": false, - "docRequirement": "none", - "intentName": "describe_commands", - "params": [], - "constraints": null, - "mutates": false, - "idempotency": "idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "outputSchema": { - "type": "object", - "properties": { - "contractVersion": { - "type": "string" - }, - "operations": { - "type": "array", - "items": { - "type": "object", - "properties": { - "operationId": { - "type": "string" - }, - "command": { - "type": "string" - }, - "category": { - "type": "string" - }, - "description": { - "type": "string" - }, - "mutates": { - "type": "boolean" - } - } - } - } - } - } - }, - "doc.describeCommand": { - "operationId": "doc.describeCommand", - "command": "describe command", - "commandTokens": [ - "describe", - "command" - ], - "category": "introspection", - "description": "Show detailed metadata for a single CLI operation.", - "requiresDocumentContext": false, - "docRequirement": "none", - "intentName": "describe_command", - "params": [ - { - "name": "operationId", - "kind": "doc", - "type": "string", - "required": true - } - ], - "constraints": null, - "mutates": false, - "idempotency": "idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "outputSchema": { - "type": "object", - "properties": { - "operationId": { - "type": "string" - }, - "command": { - "type": "string" - }, - "category": { - "type": "string" - }, - "description": { - "type": "string" - }, - "mutates": { - "type": "boolean" - }, - "params": { - "type": "array" - }, - "constraints": {} - } - } - }, - "doc.session.list": { - "operationId": "doc.session.list", - "command": "session list", - "commandTokens": [ - "session", - "list" - ], - "category": "session", - "description": "List all active editing sessions.", - "requiresDocumentContext": false, - "docRequirement": "none", - "intentName": "list_sessions", - "params": [], - "constraints": null, - "mutates": false, - "idempotency": "idempotent", - "supportsTrackedMode": false, - "supportsDryRun": false, - "outputSchema": { - "type": "object", - "properties": { - "activeSessionId": { - "type": "string" - }, - "sessions": { - "type": "array", - "items": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "sessionType": { - "type": "string" - }, - "dirty": { - "type": "boolean" - }, - "revision": { - "type": "number" - } - } - } - }, - "total": { - "type": "number" - } - } - } - }, - "doc.session.save": { - "operationId": "doc.session.save", - "command": "session save", - "commandTokens": [ - "session", - "save" - ], - "category": "session", - "description": "Persist the current session state.", - "requiresDocumentContext": false, - "docRequirement": "none", - "intentName": "save_session", - "params": [ - { - "name": "sessionId", - "kind": "doc", - "type": "string", - "required": true - }, - { - "name": "out", - "kind": "flag", - "type": "string", - "agentVisible": false - }, - { - "name": "force", - "kind": "flag", - "type": "boolean" - }, - { - "name": "inPlace", - "kind": "flag", - "type": "boolean", - "flag": "in-place" - } - ], - "constraints": null, - "mutates": true, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "outputSchema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "contextId": { - "type": "string" - }, - "saved": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - }, - "revision": { - "type": "number" - } - } - }, - "output": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "byteLength": { - "type": "number" - } - } - } - }, - "required": [ - "sessionId" - ] - } - }, - "doc.session.close": { - "operationId": "doc.session.close", - "command": "session close", - "commandTokens": [ - "session", - "close" - ], - "category": "session", - "description": "Close a specific editing session by ID.", - "requiresDocumentContext": false, - "docRequirement": "none", - "intentName": "close_session", - "params": [ - { - "name": "sessionId", - "kind": "doc", - "type": "string", - "required": true - }, - { - "name": "discard", - "kind": "flag", - "type": "boolean" - } - ], - "constraints": null, - "mutates": false, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "outputSchema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "contextId": { - "type": "string" - }, - "closed": { - "type": "boolean" - }, - "saved": { - "type": "boolean" - }, - "discarded": { - "type": "boolean" - }, - "defaultSessionCleared": { - "type": "boolean" - }, - "wasDirty": { - "type": "boolean" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - }, - "revision": { - "type": "number" - } - } - } - }, - "required": [ - "sessionId" - ] - } - }, - "doc.session.setDefault": { - "operationId": "doc.session.setDefault", - "command": "session set-default", - "commandTokens": [ - "session", - "set-default" - ], - "category": "session", - "description": "Set the default session for subsequent commands.", - "requiresDocumentContext": false, - "docRequirement": "none", - "intentName": "set_default_session", - "params": [ - { - "name": "sessionId", - "kind": "doc", - "type": "string", - "required": true - } - ], - "constraints": null, - "mutates": false, - "idempotency": "conditional", - "supportsTrackedMode": false, - "supportsDryRun": false, - "outputSchema": { - "type": "object", - "properties": { - "activeSessionId": { - "type": "string" - } - }, - "required": [ - "activeSessionId" - ] - } - } - } -} as const; - -export type Contract = typeof CONTRACT; -export type OperationEntry = Contract['operations'][keyof Contract['operations']]; diff --git a/packages/sdk/langs/python/superdoc/generated/__init__.py b/packages/sdk/langs/python/superdoc/generated/__init__.py deleted file mode 100644 index e282045e3d..0000000000 --- a/packages/sdk/langs/python/superdoc/generated/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .client import SuperDocClient, AsyncSuperDocClient diff --git a/packages/sdk/langs/python/superdoc/generated/client.py b/packages/sdk/langs/python/superdoc/generated/client.py deleted file mode 100644 index 392e1242af..0000000000 --- a/packages/sdk/langs/python/superdoc/generated/client.py +++ /dev/null @@ -1,4260 +0,0 @@ -# Auto-generated by packages/sdk/codegen/src/generate-python.mjs - -from __future__ import annotations - -from typing import Any, Literal, TypedDict - -from ..runtime import SuperDocSyncRuntime, SuperDocAsyncRuntime - -DocFindResultContextItemAddressVariant1 = TypedDict( - "DocFindResultContextItemAddressVariant1", - { - "kind": Literal["block"], - "nodeId": str, - "nodeType": Literal["paragraph"] | Literal["heading"] | Literal["listItem"] | Literal["table"] | Literal["tableRow"] | Literal["tableCell"] | Literal["image"] | Literal["sdt"], - }, - total=False, -) - -DocFindResultContextItemAddressVariant2AnchorEnd = TypedDict( - "DocFindResultContextItemAddressVariant2AnchorEnd", - { - "blockId": str, - "offset": int | float, - }, - total=False, -) - -DocFindResultContextItemAddressVariant2AnchorStart = TypedDict( - "DocFindResultContextItemAddressVariant2AnchorStart", - { - "blockId": str, - "offset": int | float, - }, - total=False, -) - -DocFindResultContextItemAddressVariant2Anchor = TypedDict( - "DocFindResultContextItemAddressVariant2Anchor", - { - "end": DocFindResultContextItemAddressVariant2AnchorEnd, - "start": DocFindResultContextItemAddressVariant2AnchorStart, - }, - total=False, -) - -DocFindResultContextItemAddressVariant2 = TypedDict( - "DocFindResultContextItemAddressVariant2", - { - "anchor": DocFindResultContextItemAddressVariant2Anchor, - "kind": Literal["inline"], - "nodeType": Literal["run"] | Literal["bookmark"] | Literal["comment"] | Literal["hyperlink"] | Literal["sdt"] | Literal["image"] | Literal["footnoteRef"] | Literal["tab"] | Literal["lineBreak"], - }, - total=False, -) - -DocFindResultContextItemHighlightRange = TypedDict( - "DocFindResultContextItemHighlightRange", - { - "end": int | float, - "start": int | float, - }, - total=False, -) - -DocFindResultContextItemTextRangesItemRange = TypedDict( - "DocFindResultContextItemTextRangesItemRange", - { - "end": int | float, - "start": int | float, - }, - total=False, -) - -DocFindResultContextItemTextRangesItem = TypedDict( - "DocFindResultContextItemTextRangesItem", - { - "blockId": str, - "kind": Literal["text"], - "range": DocFindResultContextItemTextRangesItemRange, - }, - total=False, -) - -DocFindResultContextItem = TypedDict( - "DocFindResultContextItem", - { - "address": DocFindResultContextItemAddressVariant1 | DocFindResultContextItemAddressVariant2, - "highlightRange": DocFindResultContextItemHighlightRange, - "snippet": str, - "textRanges": list[DocFindResultContextItemTextRangesItem], - }, - total=False, -) - -DocFindResultDiagnosticsItemAddressVariant1 = TypedDict( - "DocFindResultDiagnosticsItemAddressVariant1", - { - "kind": Literal["block"], - "nodeId": str, - "nodeType": Literal["paragraph"] | Literal["heading"] | Literal["listItem"] | Literal["table"] | Literal["tableRow"] | Literal["tableCell"] | Literal["image"] | Literal["sdt"], - }, - total=False, -) - -DocFindResultDiagnosticsItemAddressVariant2AnchorEnd = TypedDict( - "DocFindResultDiagnosticsItemAddressVariant2AnchorEnd", - { - "blockId": str, - "offset": int | float, - }, - total=False, -) - -DocFindResultDiagnosticsItemAddressVariant2AnchorStart = TypedDict( - "DocFindResultDiagnosticsItemAddressVariant2AnchorStart", - { - "blockId": str, - "offset": int | float, - }, - total=False, -) - -DocFindResultDiagnosticsItemAddressVariant2Anchor = TypedDict( - "DocFindResultDiagnosticsItemAddressVariant2Anchor", - { - "end": DocFindResultDiagnosticsItemAddressVariant2AnchorEnd, - "start": DocFindResultDiagnosticsItemAddressVariant2AnchorStart, - }, - total=False, -) - -DocFindResultDiagnosticsItemAddressVariant2 = TypedDict( - "DocFindResultDiagnosticsItemAddressVariant2", - { - "anchor": DocFindResultDiagnosticsItemAddressVariant2Anchor, - "kind": Literal["inline"], - "nodeType": Literal["run"] | Literal["bookmark"] | Literal["comment"] | Literal["hyperlink"] | Literal["sdt"] | Literal["image"] | Literal["footnoteRef"] | Literal["tab"] | Literal["lineBreak"], - }, - total=False, -) - -DocFindResultDiagnosticsItem = TypedDict( - "DocFindResultDiagnosticsItem", - { - "address": DocFindResultDiagnosticsItemAddressVariant1 | DocFindResultDiagnosticsItemAddressVariant2, - "hint": str, - "message": str, - }, - total=False, -) - -DocFindResultMatchesItemVariant1 = TypedDict( - "DocFindResultMatchesItemVariant1", - { - "kind": Literal["block"], - "nodeId": str, - "nodeType": Literal["paragraph"] | Literal["heading"] | Literal["listItem"] | Literal["table"] | Literal["tableRow"] | Literal["tableCell"] | Literal["image"] | Literal["sdt"], - }, - total=False, -) - -DocFindResultMatchesItemVariant2AnchorEnd = TypedDict( - "DocFindResultMatchesItemVariant2AnchorEnd", - { - "blockId": str, - "offset": int | float, - }, - total=False, -) - -DocFindResultMatchesItemVariant2AnchorStart = TypedDict( - "DocFindResultMatchesItemVariant2AnchorStart", - { - "blockId": str, - "offset": int | float, - }, - total=False, -) - -DocFindResultMatchesItemVariant2Anchor = TypedDict( - "DocFindResultMatchesItemVariant2Anchor", - { - "end": DocFindResultMatchesItemVariant2AnchorEnd, - "start": DocFindResultMatchesItemVariant2AnchorStart, - }, - total=False, -) - -DocFindResultMatchesItemVariant2 = TypedDict( - "DocFindResultMatchesItemVariant2", - { - "anchor": DocFindResultMatchesItemVariant2Anchor, - "kind": Literal["inline"], - "nodeType": Literal["run"] | Literal["bookmark"] | Literal["comment"] | Literal["hyperlink"] | Literal["sdt"] | Literal["image"] | Literal["footnoteRef"] | Literal["tab"] | Literal["lineBreak"], - }, - total=False, -) - -DocFindResultNodesItemBodyNodesItem = TypedDict( - "DocFindResultNodesItemBodyNodesItem", - { - }, - total=False, -) - -DocFindResultNodesItemNodesItem = TypedDict( - "DocFindResultNodesItemNodesItem", - { - }, - total=False, -) - -DocFindResultNodesItemProperties = TypedDict( - "DocFindResultNodesItemProperties", - { - }, - total=False, -) - -DocFindResultNodesItemSummary = TypedDict( - "DocFindResultNodesItemSummary", - { - "label": str, - "text": str, - }, - total=False, -) - -DocFindResultNodesItem = TypedDict( - "DocFindResultNodesItem", - { - "bodyNodes": list[DocFindResultNodesItemBodyNodesItem], - "bodyText": str, - "kind": Literal["block"] | Literal["inline"], - "nodes": list[DocFindResultNodesItemNodesItem], - "nodeType": Literal["paragraph"] | Literal["heading"] | Literal["listItem"] | Literal["table"] | Literal["tableRow"] | Literal["tableCell"] | Literal["image"] | Literal["sdt"] | Literal["run"] | Literal["bookmark"] | Literal["comment"] | Literal["hyperlink"] | Literal["footnoteRef"] | Literal["tab"] | Literal["lineBreak"], - "properties": DocFindResultNodesItemProperties, - "summary": DocFindResultNodesItemSummary, - "text": str, - }, - total=False, -) - -DocFindResult = TypedDict( - "DocFindResult", - { - "context": list[DocFindResultContextItem], - "diagnostics": list[DocFindResultDiagnosticsItem], - "matches": list[DocFindResultMatchesItemVariant1 | DocFindResultMatchesItemVariant2], - "nodes": list[DocFindResultNodesItem], - "total": int | float, - }, - total=False, -) - -DocGetNodeResultBodyNodesItem = TypedDict( - "DocGetNodeResultBodyNodesItem", - { - }, - total=False, -) - -DocGetNodeResultNodesItem = TypedDict( - "DocGetNodeResultNodesItem", - { - }, - total=False, -) - -DocGetNodeResultProperties = TypedDict( - "DocGetNodeResultProperties", - { - }, - total=False, -) - -DocGetNodeResultSummary = TypedDict( - "DocGetNodeResultSummary", - { - "label": str, - "text": str, - }, - total=False, -) - -DocGetNodeResult = TypedDict( - "DocGetNodeResult", - { - "bodyNodes": list[DocGetNodeResultBodyNodesItem], - "bodyText": str, - "kind": Literal["block"] | Literal["inline"], - "nodes": list[DocGetNodeResultNodesItem], - "nodeType": Literal["paragraph"] | Literal["heading"] | Literal["listItem"] | Literal["table"] | Literal["tableRow"] | Literal["tableCell"] | Literal["image"] | Literal["sdt"] | Literal["run"] | Literal["bookmark"] | Literal["comment"] | Literal["hyperlink"] | Literal["footnoteRef"] | Literal["tab"] | Literal["lineBreak"], - "properties": DocGetNodeResultProperties, - "summary": DocGetNodeResultSummary, - "text": str, - }, - total=False, -) - -DocGetNodeByIdResultBodyNodesItem = TypedDict( - "DocGetNodeByIdResultBodyNodesItem", - { - }, - total=False, -) - -DocGetNodeByIdResultNodesItem = TypedDict( - "DocGetNodeByIdResultNodesItem", - { - }, - total=False, -) - -DocGetNodeByIdResultProperties = TypedDict( - "DocGetNodeByIdResultProperties", - { - }, - total=False, -) - -DocGetNodeByIdResultSummary = TypedDict( - "DocGetNodeByIdResultSummary", - { - "label": str, - "text": str, - }, - total=False, -) - -DocGetNodeByIdResult = TypedDict( - "DocGetNodeByIdResult", - { - "bodyNodes": list[DocGetNodeByIdResultBodyNodesItem], - "bodyText": str, - "kind": Literal["block"] | Literal["inline"], - "nodes": list[DocGetNodeByIdResultNodesItem], - "nodeType": Literal["paragraph"] | Literal["heading"] | Literal["listItem"] | Literal["table"] | Literal["tableRow"] | Literal["tableCell"] | Literal["image"] | Literal["sdt"] | Literal["run"] | Literal["bookmark"] | Literal["comment"] | Literal["hyperlink"] | Literal["footnoteRef"] | Literal["tab"] | Literal["lineBreak"], - "properties": DocGetNodeByIdResultProperties, - "summary": DocGetNodeByIdResultSummary, - "text": str, - }, - total=False, -) - -DocInfoResultCapabilities = TypedDict( - "DocInfoResultCapabilities", - { - "canComment": bool, - "canFind": bool, - "canGetNode": bool, - "canReplace": bool, - }, - total=False, -) - -DocInfoResultCounts = TypedDict( - "DocInfoResultCounts", - { - "comments": int | float, - "headings": int | float, - "images": int | float, - "paragraphs": int | float, - "tables": int | float, - "words": int | float, - }, - total=False, -) - -DocInfoResultOutlineItem = TypedDict( - "DocInfoResultOutlineItem", - { - "level": int | float, - "nodeId": str, - "text": str, - }, - total=False, -) - -DocInfoResult = TypedDict( - "DocInfoResult", - { - "capabilities": DocInfoResultCapabilities, - "counts": DocInfoResultCounts, - "outline": list[DocInfoResultOutlineItem], - }, - total=False, -) - -DocInsertResultInsertedItemVariant1 = TypedDict( - "DocInsertResultInsertedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocInsertResultInsertedItemVariant2 = TypedDict( - "DocInsertResultInsertedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocInsertResultRemovedItemVariant1 = TypedDict( - "DocInsertResultRemovedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocInsertResultRemovedItemVariant2 = TypedDict( - "DocInsertResultRemovedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocInsertResultResolutionRange = TypedDict( - "DocInsertResultResolutionRange", - { - "from": int | float, - "to": int | float, - }, - total=False, -) - -DocInsertResultResolutionRequestedTargetRange = TypedDict( - "DocInsertResultResolutionRequestedTargetRange", - { - "end": int | float, - "start": int | float, - }, - total=False, -) - -DocInsertResultResolutionRequestedTarget = TypedDict( - "DocInsertResultResolutionRequestedTarget", - { - "blockId": str, - "kind": Literal["text"], - "range": DocInsertResultResolutionRequestedTargetRange, - }, - total=False, -) - -DocInsertResultResolutionTargetRange = TypedDict( - "DocInsertResultResolutionTargetRange", - { - "end": int | float, - "start": int | float, - }, - total=False, -) - -DocInsertResultResolutionTarget = TypedDict( - "DocInsertResultResolutionTarget", - { - "blockId": str, - "kind": Literal["text"], - "range": DocInsertResultResolutionTargetRange, - }, - total=False, -) - -DocInsertResultResolution = TypedDict( - "DocInsertResultResolution", - { - "range": DocInsertResultResolutionRange, - "requestedTarget": DocInsertResultResolutionRequestedTarget, - "target": DocInsertResultResolutionTarget, - "text": str, - }, - total=False, -) - -DocInsertResultUpdatedItemVariant1 = TypedDict( - "DocInsertResultUpdatedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocInsertResultUpdatedItemVariant2 = TypedDict( - "DocInsertResultUpdatedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocInsertResult = TypedDict( - "DocInsertResult", - { - "inserted": list[DocInsertResultInsertedItemVariant1 | DocInsertResultInsertedItemVariant2], - "removed": list[DocInsertResultRemovedItemVariant1 | DocInsertResultRemovedItemVariant2], - "resolution": DocInsertResultResolution, - "success": Literal[True], - "updated": list[DocInsertResultUpdatedItemVariant1 | DocInsertResultUpdatedItemVariant2], - }, - total=False, -) - -DocReplaceResultInsertedItemVariant1 = TypedDict( - "DocReplaceResultInsertedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocReplaceResultInsertedItemVariant2 = TypedDict( - "DocReplaceResultInsertedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocReplaceResultRemovedItemVariant1 = TypedDict( - "DocReplaceResultRemovedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocReplaceResultRemovedItemVariant2 = TypedDict( - "DocReplaceResultRemovedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocReplaceResultResolutionRange = TypedDict( - "DocReplaceResultResolutionRange", - { - "from": int | float, - "to": int | float, - }, - total=False, -) - -DocReplaceResultResolutionRequestedTargetRange = TypedDict( - "DocReplaceResultResolutionRequestedTargetRange", - { - "end": int | float, - "start": int | float, - }, - total=False, -) - -DocReplaceResultResolutionRequestedTarget = TypedDict( - "DocReplaceResultResolutionRequestedTarget", - { - "blockId": str, - "kind": Literal["text"], - "range": DocReplaceResultResolutionRequestedTargetRange, - }, - total=False, -) - -DocReplaceResultResolutionTargetRange = TypedDict( - "DocReplaceResultResolutionTargetRange", - { - "end": int | float, - "start": int | float, - }, - total=False, -) - -DocReplaceResultResolutionTarget = TypedDict( - "DocReplaceResultResolutionTarget", - { - "blockId": str, - "kind": Literal["text"], - "range": DocReplaceResultResolutionTargetRange, - }, - total=False, -) - -DocReplaceResultResolution = TypedDict( - "DocReplaceResultResolution", - { - "range": DocReplaceResultResolutionRange, - "requestedTarget": DocReplaceResultResolutionRequestedTarget, - "target": DocReplaceResultResolutionTarget, - "text": str, - }, - total=False, -) - -DocReplaceResultUpdatedItemVariant1 = TypedDict( - "DocReplaceResultUpdatedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocReplaceResultUpdatedItemVariant2 = TypedDict( - "DocReplaceResultUpdatedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocReplaceResult = TypedDict( - "DocReplaceResult", - { - "inserted": list[DocReplaceResultInsertedItemVariant1 | DocReplaceResultInsertedItemVariant2], - "removed": list[DocReplaceResultRemovedItemVariant1 | DocReplaceResultRemovedItemVariant2], - "resolution": DocReplaceResultResolution, - "success": Literal[True], - "updated": list[DocReplaceResultUpdatedItemVariant1 | DocReplaceResultUpdatedItemVariant2], - }, - total=False, -) - -DocDeleteResultInsertedItemVariant1 = TypedDict( - "DocDeleteResultInsertedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocDeleteResultInsertedItemVariant2 = TypedDict( - "DocDeleteResultInsertedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocDeleteResultRemovedItemVariant1 = TypedDict( - "DocDeleteResultRemovedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocDeleteResultRemovedItemVariant2 = TypedDict( - "DocDeleteResultRemovedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocDeleteResultResolutionRange = TypedDict( - "DocDeleteResultResolutionRange", - { - "from": int | float, - "to": int | float, - }, - total=False, -) - -DocDeleteResultResolutionRequestedTargetRange = TypedDict( - "DocDeleteResultResolutionRequestedTargetRange", - { - "end": int | float, - "start": int | float, - }, - total=False, -) - -DocDeleteResultResolutionRequestedTarget = TypedDict( - "DocDeleteResultResolutionRequestedTarget", - { - "blockId": str, - "kind": Literal["text"], - "range": DocDeleteResultResolutionRequestedTargetRange, - }, - total=False, -) - -DocDeleteResultResolutionTargetRange = TypedDict( - "DocDeleteResultResolutionTargetRange", - { - "end": int | float, - "start": int | float, - }, - total=False, -) - -DocDeleteResultResolutionTarget = TypedDict( - "DocDeleteResultResolutionTarget", - { - "blockId": str, - "kind": Literal["text"], - "range": DocDeleteResultResolutionTargetRange, - }, - total=False, -) - -DocDeleteResultResolution = TypedDict( - "DocDeleteResultResolution", - { - "range": DocDeleteResultResolutionRange, - "requestedTarget": DocDeleteResultResolutionRequestedTarget, - "target": DocDeleteResultResolutionTarget, - "text": str, - }, - total=False, -) - -DocDeleteResultUpdatedItemVariant1 = TypedDict( - "DocDeleteResultUpdatedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocDeleteResultUpdatedItemVariant2 = TypedDict( - "DocDeleteResultUpdatedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocDeleteResult = TypedDict( - "DocDeleteResult", - { - "inserted": list[DocDeleteResultInsertedItemVariant1 | DocDeleteResultInsertedItemVariant2], - "removed": list[DocDeleteResultRemovedItemVariant1 | DocDeleteResultRemovedItemVariant2], - "resolution": DocDeleteResultResolution, - "success": Literal[True], - "updated": list[DocDeleteResultUpdatedItemVariant1 | DocDeleteResultUpdatedItemVariant2], - }, - total=False, -) - -DocFormatBoldResultInsertedItemVariant1 = TypedDict( - "DocFormatBoldResultInsertedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocFormatBoldResultInsertedItemVariant2 = TypedDict( - "DocFormatBoldResultInsertedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocFormatBoldResultRemovedItemVariant1 = TypedDict( - "DocFormatBoldResultRemovedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocFormatBoldResultRemovedItemVariant2 = TypedDict( - "DocFormatBoldResultRemovedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocFormatBoldResultResolutionRange = TypedDict( - "DocFormatBoldResultResolutionRange", - { - "from": int | float, - "to": int | float, - }, - total=False, -) - -DocFormatBoldResultResolutionRequestedTargetRange = TypedDict( - "DocFormatBoldResultResolutionRequestedTargetRange", - { - "end": int | float, - "start": int | float, - }, - total=False, -) - -DocFormatBoldResultResolutionRequestedTarget = TypedDict( - "DocFormatBoldResultResolutionRequestedTarget", - { - "blockId": str, - "kind": Literal["text"], - "range": DocFormatBoldResultResolutionRequestedTargetRange, - }, - total=False, -) - -DocFormatBoldResultResolutionTargetRange = TypedDict( - "DocFormatBoldResultResolutionTargetRange", - { - "end": int | float, - "start": int | float, - }, - total=False, -) - -DocFormatBoldResultResolutionTarget = TypedDict( - "DocFormatBoldResultResolutionTarget", - { - "blockId": str, - "kind": Literal["text"], - "range": DocFormatBoldResultResolutionTargetRange, - }, - total=False, -) - -DocFormatBoldResultResolution = TypedDict( - "DocFormatBoldResultResolution", - { - "range": DocFormatBoldResultResolutionRange, - "requestedTarget": DocFormatBoldResultResolutionRequestedTarget, - "target": DocFormatBoldResultResolutionTarget, - "text": str, - }, - total=False, -) - -DocFormatBoldResultUpdatedItemVariant1 = TypedDict( - "DocFormatBoldResultUpdatedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocFormatBoldResultUpdatedItemVariant2 = TypedDict( - "DocFormatBoldResultUpdatedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocFormatBoldResult = TypedDict( - "DocFormatBoldResult", - { - "inserted": list[DocFormatBoldResultInsertedItemVariant1 | DocFormatBoldResultInsertedItemVariant2], - "removed": list[DocFormatBoldResultRemovedItemVariant1 | DocFormatBoldResultRemovedItemVariant2], - "resolution": DocFormatBoldResultResolution, - "success": Literal[True], - "updated": list[DocFormatBoldResultUpdatedItemVariant1 | DocFormatBoldResultUpdatedItemVariant2], - }, - total=False, -) - -DocFormatItalicResultInsertedItemVariant1 = TypedDict( - "DocFormatItalicResultInsertedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocFormatItalicResultInsertedItemVariant2 = TypedDict( - "DocFormatItalicResultInsertedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocFormatItalicResultRemovedItemVariant1 = TypedDict( - "DocFormatItalicResultRemovedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocFormatItalicResultRemovedItemVariant2 = TypedDict( - "DocFormatItalicResultRemovedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocFormatItalicResultResolutionRange = TypedDict( - "DocFormatItalicResultResolutionRange", - { - "from": int | float, - "to": int | float, - }, - total=False, -) - -DocFormatItalicResultResolutionRequestedTargetRange = TypedDict( - "DocFormatItalicResultResolutionRequestedTargetRange", - { - "end": int | float, - "start": int | float, - }, - total=False, -) - -DocFormatItalicResultResolutionRequestedTarget = TypedDict( - "DocFormatItalicResultResolutionRequestedTarget", - { - "blockId": str, - "kind": Literal["text"], - "range": DocFormatItalicResultResolutionRequestedTargetRange, - }, - total=False, -) - -DocFormatItalicResultResolutionTargetRange = TypedDict( - "DocFormatItalicResultResolutionTargetRange", - { - "end": int | float, - "start": int | float, - }, - total=False, -) - -DocFormatItalicResultResolutionTarget = TypedDict( - "DocFormatItalicResultResolutionTarget", - { - "blockId": str, - "kind": Literal["text"], - "range": DocFormatItalicResultResolutionTargetRange, - }, - total=False, -) - -DocFormatItalicResultResolution = TypedDict( - "DocFormatItalicResultResolution", - { - "range": DocFormatItalicResultResolutionRange, - "requestedTarget": DocFormatItalicResultResolutionRequestedTarget, - "target": DocFormatItalicResultResolutionTarget, - "text": str, - }, - total=False, -) - -DocFormatItalicResultUpdatedItemVariant1 = TypedDict( - "DocFormatItalicResultUpdatedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocFormatItalicResultUpdatedItemVariant2 = TypedDict( - "DocFormatItalicResultUpdatedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocFormatItalicResult = TypedDict( - "DocFormatItalicResult", - { - "inserted": list[DocFormatItalicResultInsertedItemVariant1 | DocFormatItalicResultInsertedItemVariant2], - "removed": list[DocFormatItalicResultRemovedItemVariant1 | DocFormatItalicResultRemovedItemVariant2], - "resolution": DocFormatItalicResultResolution, - "success": Literal[True], - "updated": list[DocFormatItalicResultUpdatedItemVariant1 | DocFormatItalicResultUpdatedItemVariant2], - }, - total=False, -) - -DocFormatUnderlineResultInsertedItemVariant1 = TypedDict( - "DocFormatUnderlineResultInsertedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocFormatUnderlineResultInsertedItemVariant2 = TypedDict( - "DocFormatUnderlineResultInsertedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocFormatUnderlineResultRemovedItemVariant1 = TypedDict( - "DocFormatUnderlineResultRemovedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocFormatUnderlineResultRemovedItemVariant2 = TypedDict( - "DocFormatUnderlineResultRemovedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocFormatUnderlineResultResolutionRange = TypedDict( - "DocFormatUnderlineResultResolutionRange", - { - "from": int | float, - "to": int | float, - }, - total=False, -) - -DocFormatUnderlineResultResolutionRequestedTargetRange = TypedDict( - "DocFormatUnderlineResultResolutionRequestedTargetRange", - { - "end": int | float, - "start": int | float, - }, - total=False, -) - -DocFormatUnderlineResultResolutionRequestedTarget = TypedDict( - "DocFormatUnderlineResultResolutionRequestedTarget", - { - "blockId": str, - "kind": Literal["text"], - "range": DocFormatUnderlineResultResolutionRequestedTargetRange, - }, - total=False, -) - -DocFormatUnderlineResultResolutionTargetRange = TypedDict( - "DocFormatUnderlineResultResolutionTargetRange", - { - "end": int | float, - "start": int | float, - }, - total=False, -) - -DocFormatUnderlineResultResolutionTarget = TypedDict( - "DocFormatUnderlineResultResolutionTarget", - { - "blockId": str, - "kind": Literal["text"], - "range": DocFormatUnderlineResultResolutionTargetRange, - }, - total=False, -) - -DocFormatUnderlineResultResolution = TypedDict( - "DocFormatUnderlineResultResolution", - { - "range": DocFormatUnderlineResultResolutionRange, - "requestedTarget": DocFormatUnderlineResultResolutionRequestedTarget, - "target": DocFormatUnderlineResultResolutionTarget, - "text": str, - }, - total=False, -) - -DocFormatUnderlineResultUpdatedItemVariant1 = TypedDict( - "DocFormatUnderlineResultUpdatedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocFormatUnderlineResultUpdatedItemVariant2 = TypedDict( - "DocFormatUnderlineResultUpdatedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocFormatUnderlineResult = TypedDict( - "DocFormatUnderlineResult", - { - "inserted": list[DocFormatUnderlineResultInsertedItemVariant1 | DocFormatUnderlineResultInsertedItemVariant2], - "removed": list[DocFormatUnderlineResultRemovedItemVariant1 | DocFormatUnderlineResultRemovedItemVariant2], - "resolution": DocFormatUnderlineResultResolution, - "success": Literal[True], - "updated": list[DocFormatUnderlineResultUpdatedItemVariant1 | DocFormatUnderlineResultUpdatedItemVariant2], - }, - total=False, -) - -DocFormatStrikethroughResultInsertedItemVariant1 = TypedDict( - "DocFormatStrikethroughResultInsertedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocFormatStrikethroughResultInsertedItemVariant2 = TypedDict( - "DocFormatStrikethroughResultInsertedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocFormatStrikethroughResultRemovedItemVariant1 = TypedDict( - "DocFormatStrikethroughResultRemovedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocFormatStrikethroughResultRemovedItemVariant2 = TypedDict( - "DocFormatStrikethroughResultRemovedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocFormatStrikethroughResultResolutionRange = TypedDict( - "DocFormatStrikethroughResultResolutionRange", - { - "from": int | float, - "to": int | float, - }, - total=False, -) - -DocFormatStrikethroughResultResolutionRequestedTargetRange = TypedDict( - "DocFormatStrikethroughResultResolutionRequestedTargetRange", - { - "end": int | float, - "start": int | float, - }, - total=False, -) - -DocFormatStrikethroughResultResolutionRequestedTarget = TypedDict( - "DocFormatStrikethroughResultResolutionRequestedTarget", - { - "blockId": str, - "kind": Literal["text"], - "range": DocFormatStrikethroughResultResolutionRequestedTargetRange, - }, - total=False, -) - -DocFormatStrikethroughResultResolutionTargetRange = TypedDict( - "DocFormatStrikethroughResultResolutionTargetRange", - { - "end": int | float, - "start": int | float, - }, - total=False, -) - -DocFormatStrikethroughResultResolutionTarget = TypedDict( - "DocFormatStrikethroughResultResolutionTarget", - { - "blockId": str, - "kind": Literal["text"], - "range": DocFormatStrikethroughResultResolutionTargetRange, - }, - total=False, -) - -DocFormatStrikethroughResultResolution = TypedDict( - "DocFormatStrikethroughResultResolution", - { - "range": DocFormatStrikethroughResultResolutionRange, - "requestedTarget": DocFormatStrikethroughResultResolutionRequestedTarget, - "target": DocFormatStrikethroughResultResolutionTarget, - "text": str, - }, - total=False, -) - -DocFormatStrikethroughResultUpdatedItemVariant1 = TypedDict( - "DocFormatStrikethroughResultUpdatedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocFormatStrikethroughResultUpdatedItemVariant2 = TypedDict( - "DocFormatStrikethroughResultUpdatedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocFormatStrikethroughResult = TypedDict( - "DocFormatStrikethroughResult", - { - "inserted": list[DocFormatStrikethroughResultInsertedItemVariant1 | DocFormatStrikethroughResultInsertedItemVariant2], - "removed": list[DocFormatStrikethroughResultRemovedItemVariant1 | DocFormatStrikethroughResultRemovedItemVariant2], - "resolution": DocFormatStrikethroughResultResolution, - "success": Literal[True], - "updated": list[DocFormatStrikethroughResultUpdatedItemVariant1 | DocFormatStrikethroughResultUpdatedItemVariant2], - }, - total=False, -) - -DocCreateParagraphResultInsertionPointRange = TypedDict( - "DocCreateParagraphResultInsertionPointRange", - { - "end": int | float, - "start": int | float, - }, - total=False, -) - -DocCreateParagraphResultInsertionPoint = TypedDict( - "DocCreateParagraphResultInsertionPoint", - { - "blockId": str, - "kind": Literal["text"], - "range": DocCreateParagraphResultInsertionPointRange, - }, - total=False, -) - -DocCreateParagraphResultParagraph = TypedDict( - "DocCreateParagraphResultParagraph", - { - "kind": Literal["block"], - "nodeId": str, - "nodeType": Literal["paragraph"], - }, - total=False, -) - -DocCreateParagraphResultTrackedChangeRefsItem = TypedDict( - "DocCreateParagraphResultTrackedChangeRefsItem", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCreateParagraphResult = TypedDict( - "DocCreateParagraphResult", - { - "insertionPoint": DocCreateParagraphResultInsertionPoint, - "paragraph": DocCreateParagraphResultParagraph, - "success": Literal[True], - "trackedChangeRefs": list[DocCreateParagraphResultTrackedChangeRefsItem], - }, - total=False, -) - -DocListsListResultItemsItemAddress = TypedDict( - "DocListsListResultItemsItemAddress", - { - "kind": Literal["block"], - "nodeId": str, - "nodeType": Literal["listItem"], - }, - total=False, -) - -DocListsListResultItemsItem = TypedDict( - "DocListsListResultItemsItem", - { - "address": DocListsListResultItemsItemAddress, - "kind": Literal["ordered"] | Literal["bullet"], - "level": int | float, - "marker": str, - "ordinal": int | float, - "path": list[int | float], - "text": str, - }, - total=False, -) - -DocListsListResultMatchesItem = TypedDict( - "DocListsListResultMatchesItem", - { - "kind": Literal["block"], - "nodeId": str, - "nodeType": Literal["listItem"], - }, - total=False, -) - -DocListsListResult = TypedDict( - "DocListsListResult", - { - "items": list[DocListsListResultItemsItem], - "matches": list[DocListsListResultMatchesItem], - "total": int | float, - }, - total=False, -) - -DocListsGetResultAddress = TypedDict( - "DocListsGetResultAddress", - { - "kind": Literal["block"], - "nodeId": str, - "nodeType": Literal["listItem"], - }, - total=False, -) - -DocListsGetResult = TypedDict( - "DocListsGetResult", - { - "address": DocListsGetResultAddress, - "kind": Literal["ordered"] | Literal["bullet"], - "level": int | float, - "marker": str, - "ordinal": int | float, - "path": list[int | float], - "text": str, - }, - total=False, -) - -DocListsInsertResultInsertionPointRange = TypedDict( - "DocListsInsertResultInsertionPointRange", - { - "end": int | float, - "start": int | float, - }, - total=False, -) - -DocListsInsertResultInsertionPoint = TypedDict( - "DocListsInsertResultInsertionPoint", - { - "blockId": str, - "kind": Literal["text"], - "range": DocListsInsertResultInsertionPointRange, - }, - total=False, -) - -DocListsInsertResultItem = TypedDict( - "DocListsInsertResultItem", - { - "kind": Literal["block"], - "nodeId": str, - "nodeType": Literal["listItem"], - }, - total=False, -) - -DocListsInsertResultTrackedChangeRefsItem = TypedDict( - "DocListsInsertResultTrackedChangeRefsItem", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocListsInsertResult = TypedDict( - "DocListsInsertResult", - { - "insertionPoint": DocListsInsertResultInsertionPoint, - "item": DocListsInsertResultItem, - "success": Literal[True], - "trackedChangeRefs": list[DocListsInsertResultTrackedChangeRefsItem], - }, - total=False, -) - -DocListsSetTypeResultItem = TypedDict( - "DocListsSetTypeResultItem", - { - "kind": Literal["block"], - "nodeId": str, - "nodeType": Literal["listItem"], - }, - total=False, -) - -DocListsSetTypeResult = TypedDict( - "DocListsSetTypeResult", - { - "item": DocListsSetTypeResultItem, - "success": Literal[True], - }, - total=False, -) - -DocListsIndentResultItem = TypedDict( - "DocListsIndentResultItem", - { - "kind": Literal["block"], - "nodeId": str, - "nodeType": Literal["listItem"], - }, - total=False, -) - -DocListsIndentResult = TypedDict( - "DocListsIndentResult", - { - "item": DocListsIndentResultItem, - "success": Literal[True], - }, - total=False, -) - -DocListsOutdentResultItem = TypedDict( - "DocListsOutdentResultItem", - { - "kind": Literal["block"], - "nodeId": str, - "nodeType": Literal["listItem"], - }, - total=False, -) - -DocListsOutdentResult = TypedDict( - "DocListsOutdentResult", - { - "item": DocListsOutdentResultItem, - "success": Literal[True], - }, - total=False, -) - -DocListsRestartResultItem = TypedDict( - "DocListsRestartResultItem", - { - "kind": Literal["block"], - "nodeId": str, - "nodeType": Literal["listItem"], - }, - total=False, -) - -DocListsRestartResult = TypedDict( - "DocListsRestartResult", - { - "item": DocListsRestartResultItem, - "success": Literal[True], - }, - total=False, -) - -DocListsExitResultParagraph = TypedDict( - "DocListsExitResultParagraph", - { - "kind": Literal["block"], - "nodeId": str, - "nodeType": Literal["paragraph"], - }, - total=False, -) - -DocListsExitResult = TypedDict( - "DocListsExitResult", - { - "paragraph": DocListsExitResultParagraph, - "success": Literal[True], - }, - total=False, -) - -DocCommentsAddResultInsertedItemVariant1 = TypedDict( - "DocCommentsAddResultInsertedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsAddResultInsertedItemVariant2 = TypedDict( - "DocCommentsAddResultInsertedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsAddResultRemovedItemVariant1 = TypedDict( - "DocCommentsAddResultRemovedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsAddResultRemovedItemVariant2 = TypedDict( - "DocCommentsAddResultRemovedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsAddResultUpdatedItemVariant1 = TypedDict( - "DocCommentsAddResultUpdatedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsAddResultUpdatedItemVariant2 = TypedDict( - "DocCommentsAddResultUpdatedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsAddResult = TypedDict( - "DocCommentsAddResult", - { - "inserted": list[DocCommentsAddResultInsertedItemVariant1 | DocCommentsAddResultInsertedItemVariant2], - "removed": list[DocCommentsAddResultRemovedItemVariant1 | DocCommentsAddResultRemovedItemVariant2], - "success": Literal[True], - "updated": list[DocCommentsAddResultUpdatedItemVariant1 | DocCommentsAddResultUpdatedItemVariant2], - }, - total=False, -) - -DocCommentsEditResultInsertedItemVariant1 = TypedDict( - "DocCommentsEditResultInsertedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsEditResultInsertedItemVariant2 = TypedDict( - "DocCommentsEditResultInsertedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsEditResultRemovedItemVariant1 = TypedDict( - "DocCommentsEditResultRemovedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsEditResultRemovedItemVariant2 = TypedDict( - "DocCommentsEditResultRemovedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsEditResultUpdatedItemVariant1 = TypedDict( - "DocCommentsEditResultUpdatedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsEditResultUpdatedItemVariant2 = TypedDict( - "DocCommentsEditResultUpdatedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsEditResult = TypedDict( - "DocCommentsEditResult", - { - "inserted": list[DocCommentsEditResultInsertedItemVariant1 | DocCommentsEditResultInsertedItemVariant2], - "removed": list[DocCommentsEditResultRemovedItemVariant1 | DocCommentsEditResultRemovedItemVariant2], - "success": Literal[True], - "updated": list[DocCommentsEditResultUpdatedItemVariant1 | DocCommentsEditResultUpdatedItemVariant2], - }, - total=False, -) - -DocCommentsReplyResultInsertedItemVariant1 = TypedDict( - "DocCommentsReplyResultInsertedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsReplyResultInsertedItemVariant2 = TypedDict( - "DocCommentsReplyResultInsertedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsReplyResultRemovedItemVariant1 = TypedDict( - "DocCommentsReplyResultRemovedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsReplyResultRemovedItemVariant2 = TypedDict( - "DocCommentsReplyResultRemovedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsReplyResultUpdatedItemVariant1 = TypedDict( - "DocCommentsReplyResultUpdatedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsReplyResultUpdatedItemVariant2 = TypedDict( - "DocCommentsReplyResultUpdatedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsReplyResult = TypedDict( - "DocCommentsReplyResult", - { - "inserted": list[DocCommentsReplyResultInsertedItemVariant1 | DocCommentsReplyResultInsertedItemVariant2], - "removed": list[DocCommentsReplyResultRemovedItemVariant1 | DocCommentsReplyResultRemovedItemVariant2], - "success": Literal[True], - "updated": list[DocCommentsReplyResultUpdatedItemVariant1 | DocCommentsReplyResultUpdatedItemVariant2], - }, - total=False, -) - -DocCommentsMoveResultInsertedItemVariant1 = TypedDict( - "DocCommentsMoveResultInsertedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsMoveResultInsertedItemVariant2 = TypedDict( - "DocCommentsMoveResultInsertedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsMoveResultRemovedItemVariant1 = TypedDict( - "DocCommentsMoveResultRemovedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsMoveResultRemovedItemVariant2 = TypedDict( - "DocCommentsMoveResultRemovedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsMoveResultUpdatedItemVariant1 = TypedDict( - "DocCommentsMoveResultUpdatedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsMoveResultUpdatedItemVariant2 = TypedDict( - "DocCommentsMoveResultUpdatedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsMoveResult = TypedDict( - "DocCommentsMoveResult", - { - "inserted": list[DocCommentsMoveResultInsertedItemVariant1 | DocCommentsMoveResultInsertedItemVariant2], - "removed": list[DocCommentsMoveResultRemovedItemVariant1 | DocCommentsMoveResultRemovedItemVariant2], - "success": Literal[True], - "updated": list[DocCommentsMoveResultUpdatedItemVariant1 | DocCommentsMoveResultUpdatedItemVariant2], - }, - total=False, -) - -DocCommentsResolveResultInsertedItemVariant1 = TypedDict( - "DocCommentsResolveResultInsertedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsResolveResultInsertedItemVariant2 = TypedDict( - "DocCommentsResolveResultInsertedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsResolveResultRemovedItemVariant1 = TypedDict( - "DocCommentsResolveResultRemovedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsResolveResultRemovedItemVariant2 = TypedDict( - "DocCommentsResolveResultRemovedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsResolveResultUpdatedItemVariant1 = TypedDict( - "DocCommentsResolveResultUpdatedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsResolveResultUpdatedItemVariant2 = TypedDict( - "DocCommentsResolveResultUpdatedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsResolveResult = TypedDict( - "DocCommentsResolveResult", - { - "inserted": list[DocCommentsResolveResultInsertedItemVariant1 | DocCommentsResolveResultInsertedItemVariant2], - "removed": list[DocCommentsResolveResultRemovedItemVariant1 | DocCommentsResolveResultRemovedItemVariant2], - "success": Literal[True], - "updated": list[DocCommentsResolveResultUpdatedItemVariant1 | DocCommentsResolveResultUpdatedItemVariant2], - }, - total=False, -) - -DocCommentsRemoveResultInsertedItemVariant1 = TypedDict( - "DocCommentsRemoveResultInsertedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsRemoveResultInsertedItemVariant2 = TypedDict( - "DocCommentsRemoveResultInsertedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsRemoveResultRemovedItemVariant1 = TypedDict( - "DocCommentsRemoveResultRemovedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsRemoveResultRemovedItemVariant2 = TypedDict( - "DocCommentsRemoveResultRemovedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsRemoveResultUpdatedItemVariant1 = TypedDict( - "DocCommentsRemoveResultUpdatedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsRemoveResultUpdatedItemVariant2 = TypedDict( - "DocCommentsRemoveResultUpdatedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsRemoveResult = TypedDict( - "DocCommentsRemoveResult", - { - "inserted": list[DocCommentsRemoveResultInsertedItemVariant1 | DocCommentsRemoveResultInsertedItemVariant2], - "removed": list[DocCommentsRemoveResultRemovedItemVariant1 | DocCommentsRemoveResultRemovedItemVariant2], - "success": Literal[True], - "updated": list[DocCommentsRemoveResultUpdatedItemVariant1 | DocCommentsRemoveResultUpdatedItemVariant2], - }, - total=False, -) - -DocCommentsSetInternalResultInsertedItemVariant1 = TypedDict( - "DocCommentsSetInternalResultInsertedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsSetInternalResultInsertedItemVariant2 = TypedDict( - "DocCommentsSetInternalResultInsertedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsSetInternalResultRemovedItemVariant1 = TypedDict( - "DocCommentsSetInternalResultRemovedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsSetInternalResultRemovedItemVariant2 = TypedDict( - "DocCommentsSetInternalResultRemovedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsSetInternalResultUpdatedItemVariant1 = TypedDict( - "DocCommentsSetInternalResultUpdatedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsSetInternalResultUpdatedItemVariant2 = TypedDict( - "DocCommentsSetInternalResultUpdatedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsSetInternalResult = TypedDict( - "DocCommentsSetInternalResult", - { - "inserted": list[DocCommentsSetInternalResultInsertedItemVariant1 | DocCommentsSetInternalResultInsertedItemVariant2], - "removed": list[DocCommentsSetInternalResultRemovedItemVariant1 | DocCommentsSetInternalResultRemovedItemVariant2], - "success": Literal[True], - "updated": list[DocCommentsSetInternalResultUpdatedItemVariant1 | DocCommentsSetInternalResultUpdatedItemVariant2], - }, - total=False, -) - -DocCommentsSetActiveResultInsertedItemVariant1 = TypedDict( - "DocCommentsSetActiveResultInsertedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsSetActiveResultInsertedItemVariant2 = TypedDict( - "DocCommentsSetActiveResultInsertedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsSetActiveResultRemovedItemVariant1 = TypedDict( - "DocCommentsSetActiveResultRemovedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsSetActiveResultRemovedItemVariant2 = TypedDict( - "DocCommentsSetActiveResultRemovedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsSetActiveResultUpdatedItemVariant1 = TypedDict( - "DocCommentsSetActiveResultUpdatedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsSetActiveResultUpdatedItemVariant2 = TypedDict( - "DocCommentsSetActiveResultUpdatedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsSetActiveResult = TypedDict( - "DocCommentsSetActiveResult", - { - "inserted": list[DocCommentsSetActiveResultInsertedItemVariant1 | DocCommentsSetActiveResultInsertedItemVariant2], - "removed": list[DocCommentsSetActiveResultRemovedItemVariant1 | DocCommentsSetActiveResultRemovedItemVariant2], - "success": Literal[True], - "updated": list[DocCommentsSetActiveResultUpdatedItemVariant1 | DocCommentsSetActiveResultUpdatedItemVariant2], - }, - total=False, -) - -DocCommentsGoToResultInsertedItemVariant1 = TypedDict( - "DocCommentsGoToResultInsertedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsGoToResultInsertedItemVariant2 = TypedDict( - "DocCommentsGoToResultInsertedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsGoToResultRemovedItemVariant1 = TypedDict( - "DocCommentsGoToResultRemovedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsGoToResultRemovedItemVariant2 = TypedDict( - "DocCommentsGoToResultRemovedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsGoToResultUpdatedItemVariant1 = TypedDict( - "DocCommentsGoToResultUpdatedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsGoToResultUpdatedItemVariant2 = TypedDict( - "DocCommentsGoToResultUpdatedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsGoToResult = TypedDict( - "DocCommentsGoToResult", - { - "inserted": list[DocCommentsGoToResultInsertedItemVariant1 | DocCommentsGoToResultInsertedItemVariant2], - "removed": list[DocCommentsGoToResultRemovedItemVariant1 | DocCommentsGoToResultRemovedItemVariant2], - "success": Literal[True], - "updated": list[DocCommentsGoToResultUpdatedItemVariant1 | DocCommentsGoToResultUpdatedItemVariant2], - }, - total=False, -) - -DocCommentsGetResultAddress = TypedDict( - "DocCommentsGetResultAddress", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsGetResultTargetRange = TypedDict( - "DocCommentsGetResultTargetRange", - { - "end": int | float, - "start": int | float, - }, - total=False, -) - -DocCommentsGetResultTarget = TypedDict( - "DocCommentsGetResultTarget", - { - "blockId": str, - "kind": Literal["text"], - "range": DocCommentsGetResultTargetRange, - }, - total=False, -) - -DocCommentsGetResult = TypedDict( - "DocCommentsGetResult", - { - "address": DocCommentsGetResultAddress, - "commentId": str, - "createdTime": int | float, - "creatorEmail": str, - "creatorName": str, - "importedId": str, - "isInternal": bool, - "parentCommentId": str, - "status": Literal["open"] | Literal["resolved"], - "target": DocCommentsGetResultTarget, - "text": str, - }, - total=False, -) - -DocCommentsListResultMatchesItemAddress = TypedDict( - "DocCommentsListResultMatchesItemAddress", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocCommentsListResultMatchesItemTargetRange = TypedDict( - "DocCommentsListResultMatchesItemTargetRange", - { - "end": int | float, - "start": int | float, - }, - total=False, -) - -DocCommentsListResultMatchesItemTarget = TypedDict( - "DocCommentsListResultMatchesItemTarget", - { - "blockId": str, - "kind": Literal["text"], - "range": DocCommentsListResultMatchesItemTargetRange, - }, - total=False, -) - -DocCommentsListResultMatchesItem = TypedDict( - "DocCommentsListResultMatchesItem", - { - "address": DocCommentsListResultMatchesItemAddress, - "commentId": str, - "createdTime": int | float, - "creatorEmail": str, - "creatorName": str, - "importedId": str, - "isInternal": bool, - "parentCommentId": str, - "status": Literal["open"] | Literal["resolved"], - "target": DocCommentsListResultMatchesItemTarget, - "text": str, - }, - total=False, -) - -DocCommentsListResult = TypedDict( - "DocCommentsListResult", - { - "matches": list[DocCommentsListResultMatchesItem], - "total": int | float, - }, - total=False, -) - -DocTrackChangesListResultChangesItemAddress = TypedDict( - "DocTrackChangesListResultChangesItemAddress", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocTrackChangesListResultChangesItem = TypedDict( - "DocTrackChangesListResultChangesItem", - { - "address": DocTrackChangesListResultChangesItemAddress, - "author": str, - "authorEmail": str, - "authorImage": str, - "date": str, - "excerpt": str, - "id": str, - "type": Literal["insert"] | Literal["delete"] | Literal["format"], - }, - total=False, -) - -DocTrackChangesListResultMatchesItem = TypedDict( - "DocTrackChangesListResultMatchesItem", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocTrackChangesListResult = TypedDict( - "DocTrackChangesListResult", - { - "changes": list[DocTrackChangesListResultChangesItem], - "matches": list[DocTrackChangesListResultMatchesItem], - "total": int | float, - }, - total=False, -) - -DocTrackChangesGetResultAddress = TypedDict( - "DocTrackChangesGetResultAddress", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocTrackChangesGetResult = TypedDict( - "DocTrackChangesGetResult", - { - "address": DocTrackChangesGetResultAddress, - "author": str, - "authorEmail": str, - "authorImage": str, - "date": str, - "excerpt": str, - "id": str, - "type": Literal["insert"] | Literal["delete"] | Literal["format"], - }, - total=False, -) - -DocTrackChangesAcceptResultInsertedItemVariant1 = TypedDict( - "DocTrackChangesAcceptResultInsertedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocTrackChangesAcceptResultInsertedItemVariant2 = TypedDict( - "DocTrackChangesAcceptResultInsertedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocTrackChangesAcceptResultRemovedItemVariant1 = TypedDict( - "DocTrackChangesAcceptResultRemovedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocTrackChangesAcceptResultRemovedItemVariant2 = TypedDict( - "DocTrackChangesAcceptResultRemovedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocTrackChangesAcceptResultUpdatedItemVariant1 = TypedDict( - "DocTrackChangesAcceptResultUpdatedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocTrackChangesAcceptResultUpdatedItemVariant2 = TypedDict( - "DocTrackChangesAcceptResultUpdatedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocTrackChangesAcceptResult = TypedDict( - "DocTrackChangesAcceptResult", - { - "inserted": list[DocTrackChangesAcceptResultInsertedItemVariant1 | DocTrackChangesAcceptResultInsertedItemVariant2], - "removed": list[DocTrackChangesAcceptResultRemovedItemVariant1 | DocTrackChangesAcceptResultRemovedItemVariant2], - "success": Literal[True], - "updated": list[DocTrackChangesAcceptResultUpdatedItemVariant1 | DocTrackChangesAcceptResultUpdatedItemVariant2], - }, - total=False, -) - -DocTrackChangesRejectResultInsertedItemVariant1 = TypedDict( - "DocTrackChangesRejectResultInsertedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocTrackChangesRejectResultInsertedItemVariant2 = TypedDict( - "DocTrackChangesRejectResultInsertedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocTrackChangesRejectResultRemovedItemVariant1 = TypedDict( - "DocTrackChangesRejectResultRemovedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocTrackChangesRejectResultRemovedItemVariant2 = TypedDict( - "DocTrackChangesRejectResultRemovedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocTrackChangesRejectResultUpdatedItemVariant1 = TypedDict( - "DocTrackChangesRejectResultUpdatedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocTrackChangesRejectResultUpdatedItemVariant2 = TypedDict( - "DocTrackChangesRejectResultUpdatedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocTrackChangesRejectResult = TypedDict( - "DocTrackChangesRejectResult", - { - "inserted": list[DocTrackChangesRejectResultInsertedItemVariant1 | DocTrackChangesRejectResultInsertedItemVariant2], - "removed": list[DocTrackChangesRejectResultRemovedItemVariant1 | DocTrackChangesRejectResultRemovedItemVariant2], - "success": Literal[True], - "updated": list[DocTrackChangesRejectResultUpdatedItemVariant1 | DocTrackChangesRejectResultUpdatedItemVariant2], - }, - total=False, -) - -DocTrackChangesAcceptAllResultInsertedItemVariant1 = TypedDict( - "DocTrackChangesAcceptAllResultInsertedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocTrackChangesAcceptAllResultInsertedItemVariant2 = TypedDict( - "DocTrackChangesAcceptAllResultInsertedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocTrackChangesAcceptAllResultRemovedItemVariant1 = TypedDict( - "DocTrackChangesAcceptAllResultRemovedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocTrackChangesAcceptAllResultRemovedItemVariant2 = TypedDict( - "DocTrackChangesAcceptAllResultRemovedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocTrackChangesAcceptAllResultUpdatedItemVariant1 = TypedDict( - "DocTrackChangesAcceptAllResultUpdatedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocTrackChangesAcceptAllResultUpdatedItemVariant2 = TypedDict( - "DocTrackChangesAcceptAllResultUpdatedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocTrackChangesAcceptAllResult = TypedDict( - "DocTrackChangesAcceptAllResult", - { - "inserted": list[DocTrackChangesAcceptAllResultInsertedItemVariant1 | DocTrackChangesAcceptAllResultInsertedItemVariant2], - "removed": list[DocTrackChangesAcceptAllResultRemovedItemVariant1 | DocTrackChangesAcceptAllResultRemovedItemVariant2], - "success": Literal[True], - "updated": list[DocTrackChangesAcceptAllResultUpdatedItemVariant1 | DocTrackChangesAcceptAllResultUpdatedItemVariant2], - }, - total=False, -) - -DocTrackChangesRejectAllResultInsertedItemVariant1 = TypedDict( - "DocTrackChangesRejectAllResultInsertedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocTrackChangesRejectAllResultInsertedItemVariant2 = TypedDict( - "DocTrackChangesRejectAllResultInsertedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocTrackChangesRejectAllResultRemovedItemVariant1 = TypedDict( - "DocTrackChangesRejectAllResultRemovedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocTrackChangesRejectAllResultRemovedItemVariant2 = TypedDict( - "DocTrackChangesRejectAllResultRemovedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocTrackChangesRejectAllResultUpdatedItemVariant1 = TypedDict( - "DocTrackChangesRejectAllResultUpdatedItemVariant1", - { - "entityId": str, - "entityType": Literal["comment"], - "kind": Literal["entity"], - }, - total=False, -) - -DocTrackChangesRejectAllResultUpdatedItemVariant2 = TypedDict( - "DocTrackChangesRejectAllResultUpdatedItemVariant2", - { - "entityId": str, - "entityType": Literal["trackedChange"], - "kind": Literal["entity"], - }, - total=False, -) - -DocTrackChangesRejectAllResult = TypedDict( - "DocTrackChangesRejectAllResult", - { - "inserted": list[DocTrackChangesRejectAllResultInsertedItemVariant1 | DocTrackChangesRejectAllResultInsertedItemVariant2], - "removed": list[DocTrackChangesRejectAllResultRemovedItemVariant1 | DocTrackChangesRejectAllResultRemovedItemVariant2], - "success": Literal[True], - "updated": list[DocTrackChangesRejectAllResultUpdatedItemVariant1 | DocTrackChangesRejectAllResultUpdatedItemVariant2], - }, - total=False, -) - -DocOpenResultDocument = TypedDict( - "DocOpenResultDocument", - { - "path": str, - "source": str, - "revision": int | float, - }, - total=False, -) - -DocOpenResultCollaboration = TypedDict( - "DocOpenResultCollaboration", - { - "documentId": str, - "url": str, - }, - total=False, -) - -DocOpenResult = TypedDict( - "DocOpenResult", - { - "contextId": str, - "sessionType": str, - "document": DocOpenResultDocument, - "collaboration": DocOpenResultCollaboration, - }, - total=False, -) - -DocSaveResultDocument = TypedDict( - "DocSaveResultDocument", - { - "path": str, - "source": str, - "revision": int | float, - }, - total=False, -) - -DocSaveResultContext = TypedDict( - "DocSaveResultContext", - { - "dirty": bool, - "revision": int | float, - "lastSavedAt": str, - }, - total=False, -) - -DocSaveResultOutput = TypedDict( - "DocSaveResultOutput", - { - "path": str, - "byteLength": int | float, - }, - total=False, -) - -DocSaveResult = TypedDict( - "DocSaveResult", - { - "contextId": str, - "saved": bool, - "inPlace": bool, - "document": DocSaveResultDocument, - "context": DocSaveResultContext, - "output": DocSaveResultOutput, - }, - total=False, -) - -DocCloseResultDocument = TypedDict( - "DocCloseResultDocument", - { - "path": str, - "source": str, - "revision": int | float, - }, - total=False, -) - -DocCloseResult = TypedDict( - "DocCloseResult", - { - "contextId": str, - "closed": bool, - "saved": bool, - "discarded": bool, - "defaultSessionCleared": bool, - "wasDirty": bool, - "document": DocCloseResultDocument, - }, - total=False, -) - -DocStatusResultDocument = TypedDict( - "DocStatusResultDocument", - { - "path": str, - "source": str, - }, - total=False, -) - -DocStatusResult = TypedDict( - "DocStatusResult", - { - "contextId": str, - "sessionType": str, - "dirty": bool, - "revision": int | float, - "document": DocStatusResultDocument, - }, - total=False, -) - -DocDescribeResultOperationsItem = TypedDict( - "DocDescribeResultOperationsItem", - { - "operationId": str, - "command": str, - "category": str, - "description": str, - "mutates": bool, - }, - total=False, -) - -DocDescribeResult = TypedDict( - "DocDescribeResult", - { - "contractVersion": str, - "operations": list[DocDescribeResultOperationsItem], - }, - total=False, -) - -DocDescribeCommandResult = TypedDict( - "DocDescribeCommandResult", - { - "operationId": str, - "command": str, - "category": str, - "description": str, - "mutates": bool, - "params": list[Any], - "constraints": Any, - }, - total=False, -) - -DocSessionListResultSessionsItem = TypedDict( - "DocSessionListResultSessionsItem", - { - "sessionId": str, - "sessionType": str, - "dirty": bool, - "revision": int | float, - }, - total=False, -) - -DocSessionListResult = TypedDict( - "DocSessionListResult", - { - "activeSessionId": str, - "sessions": list[DocSessionListResultSessionsItem], - "total": int | float, - }, - total=False, -) - -DocSessionSaveResultDocument = TypedDict( - "DocSessionSaveResultDocument", - { - "path": str, - "source": str, - "revision": int | float, - }, - total=False, -) - -DocSessionSaveResultOutput = TypedDict( - "DocSessionSaveResultOutput", - { - "path": str, - "byteLength": int | float, - }, - total=False, -) - -DocSessionSaveResult = TypedDict( - "DocSessionSaveResult", - { - "sessionId": str, - "contextId": str, - "saved": bool, - "inPlace": bool, - "document": DocSessionSaveResultDocument, - "output": DocSessionSaveResultOutput, - }, - total=False, -) - -DocSessionCloseResultDocument = TypedDict( - "DocSessionCloseResultDocument", - { - "path": str, - "source": str, - "revision": int | float, - }, - total=False, -) - -DocSessionCloseResult = TypedDict( - "DocSessionCloseResult", - { - "sessionId": str, - "contextId": str, - "closed": bool, - "saved": bool, - "discarded": bool, - "defaultSessionCleared": bool, - "wasDirty": bool, - "document": DocSessionCloseResultDocument, - }, - total=False, -) - -DocSessionSetDefaultResult = TypedDict( - "DocSessionSetDefaultResult", - { - "activeSessionId": str, - }, - total=False, -) - -DocFindParamsWithinVariant1 = TypedDict( - "DocFindParamsWithinVariant1", - { - "kind": Literal["block"], - "nodeType": Literal["paragraph"] | Literal["heading"] | Literal["listItem"] | Literal["table"] | Literal["tableRow"] | Literal["tableCell"] | Literal["image"] | Literal["sdt"], - "nodeId": str, - }, - total=False, -) - -DocFindParamsWithinVariant2AnchorStart = TypedDict( - "DocFindParamsWithinVariant2AnchorStart", - { - "blockId": str, - "offset": int | float, - }, - total=False, -) - -DocFindParamsWithinVariant2AnchorEnd = TypedDict( - "DocFindParamsWithinVariant2AnchorEnd", - { - "blockId": str, - "offset": int | float, - }, - total=False, -) - -DocFindParamsWithinVariant2Anchor = TypedDict( - "DocFindParamsWithinVariant2Anchor", - { - "start": DocFindParamsWithinVariant2AnchorStart, - "end": DocFindParamsWithinVariant2AnchorEnd, - }, - total=False, -) - -DocFindParamsWithinVariant2 = TypedDict( - "DocFindParamsWithinVariant2", - { - "kind": Literal["inline"], - "nodeType": Literal["run"] | Literal["bookmark"] | Literal["comment"] | Literal["hyperlink"] | Literal["sdt"] | Literal["image"] | Literal["footnoteRef"] | Literal["tab"] | Literal["lineBreak"], - "anchor": DocFindParamsWithinVariant2Anchor, - }, - total=False, -) - -DocFindParams = TypedDict( - "DocFindParams", - { - "doc": str, - "sessionId": str, - "within": DocFindParamsWithinVariant1 | DocFindParamsWithinVariant2, - "limit": int | float, - "offset": int | float, - "includeNodes": bool, - "includeUnknown": bool, - "type": str, - "nodeType": str, - "kind": str, - "pattern": str, - "mode": str, - "caseSensitive": bool, - "query": Any, - }, - total=False, -) - -DocGetNodeParams = TypedDict( - "DocGetNodeParams", - { - "doc": str, - "sessionId": str, - "address": Any, - }, - total=False, -) - -DocGetNodeByIdParams = TypedDict( - "DocGetNodeByIdParams", - { - "doc": str, - "sessionId": str, - "id": str, - "nodeType": str, - }, - total=False, -) - -DocInfoParams = TypedDict( - "DocInfoParams", - { - "doc": str, - "sessionId": str, - }, - total=False, -) - -DocInsertParamsTargetRange = TypedDict( - "DocInsertParamsTargetRange", - { - "start": int | float, - "end": int | float, - }, - total=False, -) - -DocInsertParamsTarget = TypedDict( - "DocInsertParamsTarget", - { - "kind": Literal["text"], - "blockId": str, - "range": DocInsertParamsTargetRange, - }, - total=False, -) - -DocInsertParams = TypedDict( - "DocInsertParams", - { - "doc": str, - "sessionId": str, - "out": str, - "force": bool, - "expectedRevision": int | float, - "changeMode": str, - "dryRun": bool, - "target": DocInsertParamsTarget, - "text": str, - }, - total=False, -) - -DocReplaceParamsTargetRange = TypedDict( - "DocReplaceParamsTargetRange", - { - "start": int | float, - "end": int | float, - }, - total=False, -) - -DocReplaceParamsTarget = TypedDict( - "DocReplaceParamsTarget", - { - "kind": Literal["text"], - "blockId": str, - "range": DocReplaceParamsTargetRange, - }, - total=False, -) - -DocReplaceParams = TypedDict( - "DocReplaceParams", - { - "doc": str, - "sessionId": str, - "out": str, - "force": bool, - "expectedRevision": int | float, - "changeMode": str, - "dryRun": bool, - "target": DocReplaceParamsTarget, - "text": str, - }, - total=False, -) - -DocDeleteParamsTargetRange = TypedDict( - "DocDeleteParamsTargetRange", - { - "start": int | float, - "end": int | float, - }, - total=False, -) - -DocDeleteParamsTarget = TypedDict( - "DocDeleteParamsTarget", - { - "kind": Literal["text"], - "blockId": str, - "range": DocDeleteParamsTargetRange, - }, - total=False, -) - -DocDeleteParams = TypedDict( - "DocDeleteParams", - { - "doc": str, - "sessionId": str, - "out": str, - "force": bool, - "expectedRevision": int | float, - "changeMode": str, - "dryRun": bool, - "target": DocDeleteParamsTarget, - }, - total=False, -) - -DocFormatBoldParamsTargetRange = TypedDict( - "DocFormatBoldParamsTargetRange", - { - "start": int | float, - "end": int | float, - }, - total=False, -) - -DocFormatBoldParamsTarget = TypedDict( - "DocFormatBoldParamsTarget", - { - "kind": Literal["text"], - "blockId": str, - "range": DocFormatBoldParamsTargetRange, - }, - total=False, -) - -DocFormatBoldParams = TypedDict( - "DocFormatBoldParams", - { - "doc": str, - "sessionId": str, - "out": str, - "force": bool, - "expectedRevision": int | float, - "changeMode": str, - "dryRun": bool, - "target": DocFormatBoldParamsTarget, - }, - total=False, -) - -DocFormatItalicParamsTargetRange = TypedDict( - "DocFormatItalicParamsTargetRange", - { - "start": int | float, - "end": int | float, - }, - total=False, -) - -DocFormatItalicParamsTarget = TypedDict( - "DocFormatItalicParamsTarget", - { - "kind": Literal["text"], - "blockId": str, - "range": DocFormatItalicParamsTargetRange, - }, - total=False, -) - -DocFormatItalicParams = TypedDict( - "DocFormatItalicParams", - { - "doc": str, - "sessionId": str, - "out": str, - "force": bool, - "expectedRevision": int | float, - "changeMode": str, - "dryRun": bool, - "target": DocFormatItalicParamsTarget, - }, - total=False, -) - -DocFormatUnderlineParamsTargetRange = TypedDict( - "DocFormatUnderlineParamsTargetRange", - { - "start": int | float, - "end": int | float, - }, - total=False, -) - -DocFormatUnderlineParamsTarget = TypedDict( - "DocFormatUnderlineParamsTarget", - { - "kind": Literal["text"], - "blockId": str, - "range": DocFormatUnderlineParamsTargetRange, - }, - total=False, -) - -DocFormatUnderlineParams = TypedDict( - "DocFormatUnderlineParams", - { - "doc": str, - "sessionId": str, - "out": str, - "force": bool, - "expectedRevision": int | float, - "changeMode": str, - "dryRun": bool, - "target": DocFormatUnderlineParamsTarget, - }, - total=False, -) - -DocFormatStrikethroughParamsTargetRange = TypedDict( - "DocFormatStrikethroughParamsTargetRange", - { - "start": int | float, - "end": int | float, - }, - total=False, -) - -DocFormatStrikethroughParamsTarget = TypedDict( - "DocFormatStrikethroughParamsTarget", - { - "kind": Literal["text"], - "blockId": str, - "range": DocFormatStrikethroughParamsTargetRange, - }, - total=False, -) - -DocFormatStrikethroughParams = TypedDict( - "DocFormatStrikethroughParams", - { - "doc": str, - "sessionId": str, - "out": str, - "force": bool, - "expectedRevision": int | float, - "changeMode": str, - "dryRun": bool, - "target": DocFormatStrikethroughParamsTarget, - }, - total=False, -) - -DocCreateParagraphParamsAtVariant1 = TypedDict( - "DocCreateParagraphParamsAtVariant1", - { - "kind": Literal["documentStart"], - }, - total=False, -) - -DocCreateParagraphParamsAtVariant2 = TypedDict( - "DocCreateParagraphParamsAtVariant2", - { - "kind": Literal["documentEnd"], - }, - total=False, -) - -DocCreateParagraphParamsAtVariant3Target = TypedDict( - "DocCreateParagraphParamsAtVariant3Target", - { - "kind": Literal["block"], - "nodeType": Literal["paragraph"] | Literal["heading"] | Literal["listItem"] | Literal["table"] | Literal["tableRow"] | Literal["tableCell"] | Literal["image"] | Literal["sdt"], - "nodeId": str, - }, - total=False, -) - -DocCreateParagraphParamsAtVariant3 = TypedDict( - "DocCreateParagraphParamsAtVariant3", - { - "kind": Literal["before"], - "target": DocCreateParagraphParamsAtVariant3Target, - }, - total=False, -) - -DocCreateParagraphParamsAtVariant4Target = TypedDict( - "DocCreateParagraphParamsAtVariant4Target", - { - "kind": Literal["block"], - "nodeType": Literal["paragraph"] | Literal["heading"] | Literal["listItem"] | Literal["table"] | Literal["tableRow"] | Literal["tableCell"] | Literal["image"] | Literal["sdt"], - "nodeId": str, - }, - total=False, -) - -DocCreateParagraphParamsAtVariant4 = TypedDict( - "DocCreateParagraphParamsAtVariant4", - { - "kind": Literal["after"], - "target": DocCreateParagraphParamsAtVariant4Target, - }, - total=False, -) - -DocCreateParagraphParams = TypedDict( - "DocCreateParagraphParams", - { - "doc": str, - "sessionId": str, - "out": str, - "force": bool, - "expectedRevision": int | float, - "changeMode": str, - "dryRun": bool, - "at": DocCreateParagraphParamsAtVariant1 | DocCreateParagraphParamsAtVariant2 | DocCreateParagraphParamsAtVariant3 | DocCreateParagraphParamsAtVariant4, - "text": str, - "input": Any, - }, - total=False, -) - -DocListsListParamsWithin = TypedDict( - "DocListsListParamsWithin", - { - "kind": Literal["block"], - "nodeType": Literal["paragraph"] | Literal["heading"] | Literal["listItem"] | Literal["table"] | Literal["tableRow"] | Literal["tableCell"] | Literal["image"] | Literal["sdt"], - "nodeId": str, - }, - total=False, -) - -DocListsListParams = TypedDict( - "DocListsListParams", - { - "doc": str, - "sessionId": str, - "within": DocListsListParamsWithin, - "limit": int | float, - "offset": int | float, - "kind": str, - "level": int | float, - "ordinal": int | float, - "query": Any, - }, - total=False, -) - -DocListsGetParamsAddress = TypedDict( - "DocListsGetParamsAddress", - { - "kind": Literal["block"], - "nodeType": Literal["listItem"], - "nodeId": str, - }, - total=False, -) - -DocListsGetParams = TypedDict( - "DocListsGetParams", - { - "doc": str, - "sessionId": str, - "address": DocListsGetParamsAddress, - }, - total=False, -) - -DocListsInsertParamsTarget = TypedDict( - "DocListsInsertParamsTarget", - { - "kind": Literal["block"], - "nodeType": Literal["listItem"], - "nodeId": str, - }, - total=False, -) - -DocListsInsertParams = TypedDict( - "DocListsInsertParams", - { - "doc": str, - "sessionId": str, - "out": str, - "force": bool, - "expectedRevision": int | float, - "changeMode": str, - "dryRun": bool, - "target": DocListsInsertParamsTarget, - "position": str, - "text": str, - "input": Any, - }, - total=False, -) - -DocListsSetTypeParamsTarget = TypedDict( - "DocListsSetTypeParamsTarget", - { - "kind": Literal["block"], - "nodeType": Literal["listItem"], - "nodeId": str, - }, - total=False, -) - -DocListsSetTypeParams = TypedDict( - "DocListsSetTypeParams", - { - "doc": str, - "sessionId": str, - "out": str, - "force": bool, - "expectedRevision": int | float, - "changeMode": str, - "dryRun": bool, - "target": DocListsSetTypeParamsTarget, - "kind": str, - "input": Any, - }, - total=False, -) - -DocListsIndentParamsTarget = TypedDict( - "DocListsIndentParamsTarget", - { - "kind": Literal["block"], - "nodeType": Literal["listItem"], - "nodeId": str, - }, - total=False, -) - -DocListsIndentParams = TypedDict( - "DocListsIndentParams", - { - "doc": str, - "sessionId": str, - "out": str, - "force": bool, - "expectedRevision": int | float, - "changeMode": str, - "dryRun": bool, - "target": DocListsIndentParamsTarget, - "input": Any, - }, - total=False, -) - -DocListsOutdentParamsTarget = TypedDict( - "DocListsOutdentParamsTarget", - { - "kind": Literal["block"], - "nodeType": Literal["listItem"], - "nodeId": str, - }, - total=False, -) - -DocListsOutdentParams = TypedDict( - "DocListsOutdentParams", - { - "doc": str, - "sessionId": str, - "out": str, - "force": bool, - "expectedRevision": int | float, - "changeMode": str, - "dryRun": bool, - "target": DocListsOutdentParamsTarget, - "input": Any, - }, - total=False, -) - -DocListsRestartParamsTarget = TypedDict( - "DocListsRestartParamsTarget", - { - "kind": Literal["block"], - "nodeType": Literal["listItem"], - "nodeId": str, - }, - total=False, -) - -DocListsRestartParams = TypedDict( - "DocListsRestartParams", - { - "doc": str, - "sessionId": str, - "out": str, - "force": bool, - "expectedRevision": int | float, - "changeMode": str, - "dryRun": bool, - "target": DocListsRestartParamsTarget, - "input": Any, - }, - total=False, -) - -DocListsExitParamsTarget = TypedDict( - "DocListsExitParamsTarget", - { - "kind": Literal["block"], - "nodeType": Literal["listItem"], - "nodeId": str, - }, - total=False, -) - -DocListsExitParams = TypedDict( - "DocListsExitParams", - { - "doc": str, - "sessionId": str, - "out": str, - "force": bool, - "expectedRevision": int | float, - "changeMode": str, - "dryRun": bool, - "target": DocListsExitParamsTarget, - "input": Any, - }, - total=False, -) - -DocCommentsAddParamsTargetRange = TypedDict( - "DocCommentsAddParamsTargetRange", - { - "start": int | float, - "end": int | float, - }, - total=False, -) - -DocCommentsAddParamsTarget = TypedDict( - "DocCommentsAddParamsTarget", - { - "kind": Literal["text"], - "blockId": str, - "range": DocCommentsAddParamsTargetRange, - }, - total=False, -) - -DocCommentsAddParams = TypedDict( - "DocCommentsAddParams", - { - "doc": str, - "sessionId": str, - "out": str, - "force": bool, - "expectedRevision": int | float, - "changeMode": str, - "target": DocCommentsAddParamsTarget, - "text": str, - }, - total=False, -) - -DocCommentsEditParams = TypedDict( - "DocCommentsEditParams", - { - "doc": str, - "sessionId": str, - "out": str, - "force": bool, - "expectedRevision": int | float, - "changeMode": str, - "id": str, - "text": str, - }, - total=False, -) - -DocCommentsReplyParams = TypedDict( - "DocCommentsReplyParams", - { - "doc": str, - "sessionId": str, - "out": str, - "force": bool, - "expectedRevision": int | float, - "changeMode": str, - "parentId": str, - "text": str, - }, - total=False, -) - -DocCommentsMoveParamsTargetRange = TypedDict( - "DocCommentsMoveParamsTargetRange", - { - "start": int | float, - "end": int | float, - }, - total=False, -) - -DocCommentsMoveParamsTarget = TypedDict( - "DocCommentsMoveParamsTarget", - { - "kind": Literal["text"], - "blockId": str, - "range": DocCommentsMoveParamsTargetRange, - }, - total=False, -) - -DocCommentsMoveParams = TypedDict( - "DocCommentsMoveParams", - { - "doc": str, - "sessionId": str, - "out": str, - "force": bool, - "expectedRevision": int | float, - "changeMode": str, - "id": str, - "target": DocCommentsMoveParamsTarget, - }, - total=False, -) - -DocCommentsResolveParams = TypedDict( - "DocCommentsResolveParams", - { - "doc": str, - "sessionId": str, - "out": str, - "force": bool, - "expectedRevision": int | float, - "changeMode": str, - "id": str, - }, - total=False, -) - -DocCommentsRemoveParams = TypedDict( - "DocCommentsRemoveParams", - { - "doc": str, - "sessionId": str, - "out": str, - "force": bool, - "expectedRevision": int | float, - "changeMode": str, - "id": str, - }, - total=False, -) - -DocCommentsSetInternalParams = TypedDict( - "DocCommentsSetInternalParams", - { - "doc": str, - "sessionId": str, - "out": str, - "force": bool, - "expectedRevision": int | float, - "changeMode": str, - "id": str, - "isInternal": bool, - }, - total=False, -) - -DocCommentsSetActiveParams = TypedDict( - "DocCommentsSetActiveParams", - { - "doc": str, - "sessionId": str, - "out": str, - "force": bool, - "expectedRevision": int | float, - "changeMode": str, - "commentId": Any, - "id": str, - "clear": bool, - }, - total=False, -) - -DocCommentsGoToParams = TypedDict( - "DocCommentsGoToParams", - { - "doc": str, - "sessionId": str, - "id": str, - }, - total=False, -) - -DocCommentsGetParams = TypedDict( - "DocCommentsGetParams", - { - "doc": str, - "sessionId": str, - "id": str, - }, - total=False, -) - -DocCommentsListParams = TypedDict( - "DocCommentsListParams", - { - "doc": str, - "sessionId": str, - "includeResolved": bool, - }, - total=False, -) - -DocTrackChangesListParams = TypedDict( - "DocTrackChangesListParams", - { - "doc": str, - "sessionId": str, - "limit": int | float, - "offset": int | float, - "type": str, - }, - total=False, -) - -DocTrackChangesGetParams = TypedDict( - "DocTrackChangesGetParams", - { - "doc": str, - "sessionId": str, - "id": str, - }, - total=False, -) - -DocTrackChangesAcceptParams = TypedDict( - "DocTrackChangesAcceptParams", - { - "doc": str, - "sessionId": str, - "out": str, - "force": bool, - "expectedRevision": int | float, - "changeMode": str, - "id": str, - }, - total=False, -) - -DocTrackChangesRejectParams = TypedDict( - "DocTrackChangesRejectParams", - { - "doc": str, - "sessionId": str, - "out": str, - "force": bool, - "expectedRevision": int | float, - "changeMode": str, - "id": str, - }, - total=False, -) - -DocTrackChangesAcceptAllParams = TypedDict( - "DocTrackChangesAcceptAllParams", - { - "doc": str, - "sessionId": str, - "out": str, - "force": bool, - "expectedRevision": int | float, - "changeMode": str, - }, - total=False, -) - -DocTrackChangesRejectAllParams = TypedDict( - "DocTrackChangesRejectAllParams", - { - "doc": str, - "sessionId": str, - "out": str, - "force": bool, - "expectedRevision": int | float, - "changeMode": str, - }, - total=False, -) - -DocOpenParams = TypedDict( - "DocOpenParams", - { - "doc": str, - "sessionId": str, - "collaboration": Any, - "collabDocumentId": str, - "collabUrl": str, - }, - total=False, -) - -DocSaveParams = TypedDict( - "DocSaveParams", - { - "sessionId": str, - "out": str, - "force": bool, - "inPlace": bool, - }, - total=False, -) - -DocCloseParams = TypedDict( - "DocCloseParams", - { - "sessionId": str, - "discard": bool, - }, - total=False, -) - -DocStatusParams = TypedDict( - "DocStatusParams", - { - "sessionId": str, - }, - total=False, -) - -DocDescribeParams = TypedDict( - "DocDescribeParams", - { - }, - total=False, -) - -DocDescribeCommandParams = TypedDict( - "DocDescribeCommandParams", - { - "operationId": str, - }, - total=False, -) - -DocSessionListParams = TypedDict( - "DocSessionListParams", - { - }, - total=False, -) - -DocSessionSaveParams = TypedDict( - "DocSessionSaveParams", - { - "sessionId": str, - "out": str, - "force": bool, - "inPlace": bool, - }, - total=False, -) - -DocSessionCloseParams = TypedDict( - "DocSessionCloseParams", - { - "sessionId": str, - "discard": bool, - }, - total=False, -) - -DocSessionSetDefaultParams = TypedDict( - "DocSessionSetDefaultParams", - { - "sessionId": str, - }, - total=False, -) - -class _SyncDocApi: - def __init__(self, runtime): - self._runtime = runtime - - def find(self, params: DocFindParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocFindResult: - return self._runtime.invoke("doc.find", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def getNode(self, params: DocGetNodeParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocGetNodeResult: - return self._runtime.invoke("doc.getNode", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def getNodeById(self, params: DocGetNodeByIdParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocGetNodeByIdResult: - return self._runtime.invoke("doc.getNodeById", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def info(self, params: DocInfoParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocInfoResult: - return self._runtime.invoke("doc.info", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def insert(self, params: DocInsertParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocInsertResult: - return self._runtime.invoke("doc.insert", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def replace(self, params: DocReplaceParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocReplaceResult: - return self._runtime.invoke("doc.replace", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def delete(self, params: DocDeleteParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocDeleteResult: - return self._runtime.invoke("doc.delete", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - @property - def format(self): - return _SyncDocFormatApi(self._runtime) - - @property - def create(self): - return _SyncDocCreateApi(self._runtime) - - @property - def lists(self): - return _SyncDocListsApi(self._runtime) - - @property - def comments(self): - return _SyncDocCommentsApi(self._runtime) - - @property - def trackChanges(self): - return _SyncDocTrackChangesApi(self._runtime) - - def open(self, params: DocOpenParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocOpenResult: - return self._runtime.invoke("doc.open", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def save(self, params: DocSaveParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocSaveResult: - return self._runtime.invoke("doc.save", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def close(self, params: DocCloseParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCloseResult: - return self._runtime.invoke("doc.close", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def status(self, params: DocStatusParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocStatusResult: - return self._runtime.invoke("doc.status", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def describe(self, params: DocDescribeParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocDescribeResult: - return self._runtime.invoke("doc.describe", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def describeCommand(self, params: DocDescribeCommandParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocDescribeCommandResult: - return self._runtime.invoke("doc.describeCommand", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - @property - def session(self): - return _SyncDocSessionApi(self._runtime) - -class _SyncDocFormatApi: - def __init__(self, runtime): - self._runtime = runtime - - def bold(self, params: DocFormatBoldParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocFormatBoldResult: - return self._runtime.invoke("doc.format.bold", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def italic(self, params: DocFormatItalicParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocFormatItalicResult: - return self._runtime.invoke("doc.format.italic", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def underline(self, params: DocFormatUnderlineParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocFormatUnderlineResult: - return self._runtime.invoke("doc.format.underline", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def strikethrough(self, params: DocFormatStrikethroughParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocFormatStrikethroughResult: - return self._runtime.invoke("doc.format.strikethrough", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - -class _SyncDocCreateApi: - def __init__(self, runtime): - self._runtime = runtime - - def paragraph(self, params: DocCreateParagraphParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCreateParagraphResult: - return self._runtime.invoke("doc.create.paragraph", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - -class _SyncDocListsApi: - def __init__(self, runtime): - self._runtime = runtime - - def list(self, params: DocListsListParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsListResult: - return self._runtime.invoke("doc.lists.list", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def get(self, params: DocListsGetParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsGetResult: - return self._runtime.invoke("doc.lists.get", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def insert(self, params: DocListsInsertParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsInsertResult: - return self._runtime.invoke("doc.lists.insert", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def setType(self, params: DocListsSetTypeParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsSetTypeResult: - return self._runtime.invoke("doc.lists.setType", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def indent(self, params: DocListsIndentParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsIndentResult: - return self._runtime.invoke("doc.lists.indent", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def outdent(self, params: DocListsOutdentParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsOutdentResult: - return self._runtime.invoke("doc.lists.outdent", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def restart(self, params: DocListsRestartParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsRestartResult: - return self._runtime.invoke("doc.lists.restart", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def exit(self, params: DocListsExitParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsExitResult: - return self._runtime.invoke("doc.lists.exit", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - -class _SyncDocCommentsApi: - def __init__(self, runtime): - self._runtime = runtime - - def add(self, params: DocCommentsAddParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsAddResult: - return self._runtime.invoke("doc.comments.add", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def edit(self, params: DocCommentsEditParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsEditResult: - return self._runtime.invoke("doc.comments.edit", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def reply(self, params: DocCommentsReplyParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsReplyResult: - return self._runtime.invoke("doc.comments.reply", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def move(self, params: DocCommentsMoveParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsMoveResult: - return self._runtime.invoke("doc.comments.move", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def resolve(self, params: DocCommentsResolveParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsResolveResult: - return self._runtime.invoke("doc.comments.resolve", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def remove(self, params: DocCommentsRemoveParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsRemoveResult: - return self._runtime.invoke("doc.comments.remove", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def setInternal(self, params: DocCommentsSetInternalParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsSetInternalResult: - return self._runtime.invoke("doc.comments.setInternal", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def setActive(self, params: DocCommentsSetActiveParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsSetActiveResult: - return self._runtime.invoke("doc.comments.setActive", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def goTo(self, params: DocCommentsGoToParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsGoToResult: - return self._runtime.invoke("doc.comments.goTo", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def get(self, params: DocCommentsGetParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsGetResult: - return self._runtime.invoke("doc.comments.get", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def list(self, params: DocCommentsListParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsListResult: - return self._runtime.invoke("doc.comments.list", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - -class _SyncDocTrackChangesApi: - def __init__(self, runtime): - self._runtime = runtime - - def list(self, params: DocTrackChangesListParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocTrackChangesListResult: - return self._runtime.invoke("doc.trackChanges.list", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def get(self, params: DocTrackChangesGetParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocTrackChangesGetResult: - return self._runtime.invoke("doc.trackChanges.get", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def accept(self, params: DocTrackChangesAcceptParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocTrackChangesAcceptResult: - return self._runtime.invoke("doc.trackChanges.accept", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def reject(self, params: DocTrackChangesRejectParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocTrackChangesRejectResult: - return self._runtime.invoke("doc.trackChanges.reject", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def acceptAll(self, params: DocTrackChangesAcceptAllParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocTrackChangesAcceptAllResult: - return self._runtime.invoke("doc.trackChanges.acceptAll", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def rejectAll(self, params: DocTrackChangesRejectAllParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocTrackChangesRejectAllResult: - return self._runtime.invoke("doc.trackChanges.rejectAll", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - -class _SyncDocSessionApi: - def __init__(self, runtime): - self._runtime = runtime - - def list(self, params: DocSessionListParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocSessionListResult: - return self._runtime.invoke("doc.session.list", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def save(self, params: DocSessionSaveParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocSessionSaveResult: - return self._runtime.invoke("doc.session.save", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def close(self, params: DocSessionCloseParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocSessionCloseResult: - return self._runtime.invoke("doc.session.close", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - def setDefault(self, params: DocSessionSetDefaultParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocSessionSetDefaultResult: - return self._runtime.invoke("doc.session.setDefault", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - -class _AsyncDocApi: - def __init__(self, runtime): - self._runtime = runtime - - async def find(self, params: DocFindParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocFindResult: - return await self._runtime.invoke("doc.find", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def getNode(self, params: DocGetNodeParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocGetNodeResult: - return await self._runtime.invoke("doc.getNode", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def getNodeById(self, params: DocGetNodeByIdParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocGetNodeByIdResult: - return await self._runtime.invoke("doc.getNodeById", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def info(self, params: DocInfoParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocInfoResult: - return await self._runtime.invoke("doc.info", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def insert(self, params: DocInsertParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocInsertResult: - return await self._runtime.invoke("doc.insert", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def replace(self, params: DocReplaceParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocReplaceResult: - return await self._runtime.invoke("doc.replace", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def delete(self, params: DocDeleteParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocDeleteResult: - return await self._runtime.invoke("doc.delete", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - @property - def format(self): - return _AsyncDocFormatApi(self._runtime) - - @property - def create(self): - return _AsyncDocCreateApi(self._runtime) - - @property - def lists(self): - return _AsyncDocListsApi(self._runtime) - - @property - def comments(self): - return _AsyncDocCommentsApi(self._runtime) - - @property - def trackChanges(self): - return _AsyncDocTrackChangesApi(self._runtime) - - async def open(self, params: DocOpenParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocOpenResult: - return await self._runtime.invoke("doc.open", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def save(self, params: DocSaveParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocSaveResult: - return await self._runtime.invoke("doc.save", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def close(self, params: DocCloseParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCloseResult: - return await self._runtime.invoke("doc.close", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def status(self, params: DocStatusParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocStatusResult: - return await self._runtime.invoke("doc.status", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def describe(self, params: DocDescribeParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocDescribeResult: - return await self._runtime.invoke("doc.describe", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def describeCommand(self, params: DocDescribeCommandParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocDescribeCommandResult: - return await self._runtime.invoke("doc.describeCommand", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - @property - def session(self): - return _AsyncDocSessionApi(self._runtime) - -class _AsyncDocFormatApi: - def __init__(self, runtime): - self._runtime = runtime - - async def bold(self, params: DocFormatBoldParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocFormatBoldResult: - return await self._runtime.invoke("doc.format.bold", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def italic(self, params: DocFormatItalicParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocFormatItalicResult: - return await self._runtime.invoke("doc.format.italic", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def underline(self, params: DocFormatUnderlineParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocFormatUnderlineResult: - return await self._runtime.invoke("doc.format.underline", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def strikethrough(self, params: DocFormatStrikethroughParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocFormatStrikethroughResult: - return await self._runtime.invoke("doc.format.strikethrough", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - -class _AsyncDocCreateApi: - def __init__(self, runtime): - self._runtime = runtime - - async def paragraph(self, params: DocCreateParagraphParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCreateParagraphResult: - return await self._runtime.invoke("doc.create.paragraph", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - -class _AsyncDocListsApi: - def __init__(self, runtime): - self._runtime = runtime - - async def list(self, params: DocListsListParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsListResult: - return await self._runtime.invoke("doc.lists.list", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def get(self, params: DocListsGetParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsGetResult: - return await self._runtime.invoke("doc.lists.get", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def insert(self, params: DocListsInsertParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsInsertResult: - return await self._runtime.invoke("doc.lists.insert", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def setType(self, params: DocListsSetTypeParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsSetTypeResult: - return await self._runtime.invoke("doc.lists.setType", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def indent(self, params: DocListsIndentParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsIndentResult: - return await self._runtime.invoke("doc.lists.indent", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def outdent(self, params: DocListsOutdentParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsOutdentResult: - return await self._runtime.invoke("doc.lists.outdent", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def restart(self, params: DocListsRestartParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsRestartResult: - return await self._runtime.invoke("doc.lists.restart", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def exit(self, params: DocListsExitParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocListsExitResult: - return await self._runtime.invoke("doc.lists.exit", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - -class _AsyncDocCommentsApi: - def __init__(self, runtime): - self._runtime = runtime - - async def add(self, params: DocCommentsAddParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsAddResult: - return await self._runtime.invoke("doc.comments.add", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def edit(self, params: DocCommentsEditParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsEditResult: - return await self._runtime.invoke("doc.comments.edit", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def reply(self, params: DocCommentsReplyParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsReplyResult: - return await self._runtime.invoke("doc.comments.reply", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def move(self, params: DocCommentsMoveParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsMoveResult: - return await self._runtime.invoke("doc.comments.move", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def resolve(self, params: DocCommentsResolveParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsResolveResult: - return await self._runtime.invoke("doc.comments.resolve", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def remove(self, params: DocCommentsRemoveParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsRemoveResult: - return await self._runtime.invoke("doc.comments.remove", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def setInternal(self, params: DocCommentsSetInternalParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsSetInternalResult: - return await self._runtime.invoke("doc.comments.setInternal", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def setActive(self, params: DocCommentsSetActiveParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsSetActiveResult: - return await self._runtime.invoke("doc.comments.setActive", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def goTo(self, params: DocCommentsGoToParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsGoToResult: - return await self._runtime.invoke("doc.comments.goTo", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def get(self, params: DocCommentsGetParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsGetResult: - return await self._runtime.invoke("doc.comments.get", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def list(self, params: DocCommentsListParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocCommentsListResult: - return await self._runtime.invoke("doc.comments.list", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - -class _AsyncDocTrackChangesApi: - def __init__(self, runtime): - self._runtime = runtime - - async def list(self, params: DocTrackChangesListParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocTrackChangesListResult: - return await self._runtime.invoke("doc.trackChanges.list", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def get(self, params: DocTrackChangesGetParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocTrackChangesGetResult: - return await self._runtime.invoke("doc.trackChanges.get", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def accept(self, params: DocTrackChangesAcceptParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocTrackChangesAcceptResult: - return await self._runtime.invoke("doc.trackChanges.accept", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def reject(self, params: DocTrackChangesRejectParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocTrackChangesRejectResult: - return await self._runtime.invoke("doc.trackChanges.reject", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def acceptAll(self, params: DocTrackChangesAcceptAllParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocTrackChangesAcceptAllResult: - return await self._runtime.invoke("doc.trackChanges.acceptAll", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def rejectAll(self, params: DocTrackChangesRejectAllParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocTrackChangesRejectAllResult: - return await self._runtime.invoke("doc.trackChanges.rejectAll", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - -class _AsyncDocSessionApi: - def __init__(self, runtime): - self._runtime = runtime - - async def list(self, params: DocSessionListParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocSessionListResult: - return await self._runtime.invoke("doc.session.list", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def save(self, params: DocSessionSaveParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocSessionSaveResult: - return await self._runtime.invoke("doc.session.save", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def close(self, params: DocSessionCloseParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocSessionCloseResult: - return await self._runtime.invoke("doc.session.close", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - async def setDefault(self, params: DocSessionSetDefaultParams | None = None, *, timeout_ms=None, stdin_bytes=None) -> DocSessionSetDefaultResult: - return await self._runtime.invoke("doc.session.setDefault", params or {}, timeout_ms=timeout_ms, stdin_bytes=stdin_bytes) - - -class SuperDocClient: - def __init__(self, *, env=None, default_change_mode=None): - self._runtime = SuperDocSyncRuntime(env=env, default_change_mode=default_change_mode) - self.doc = _SyncDocApi(self._runtime) - - -class AsyncSuperDocClient: - def __init__(self, *, env=None, default_change_mode=None): - self._runtime = SuperDocAsyncRuntime(env=env, default_change_mode=default_change_mode) - self.doc = _AsyncDocApi(self._runtime) diff --git a/packages/sdk/langs/python/superdoc/generated/contract.py b/packages/sdk/langs/python/superdoc/generated/contract.py deleted file mode 100644 index 43043a14db..0000000000 --- a/packages/sdk/langs/python/superdoc/generated/contract.py +++ /dev/null @@ -1,7 +0,0 @@ -# Auto-generated by packages/sdk/codegen/src/generate-python.mjs - -import json - -CONTRACT = json.loads("{\"contractVersion\":\"0.1.0\",\"sourceHash\":\"937cad0ad9eb592c\",\"cli\":{\"package\":\"@superdoc-dev/cli\",\"minVersion\":\"1.0.0\"},\"protocol\":{\"version\":\"1.0\",\"transport\":\"stdio\",\"features\":[\"cli.invoke\",\"host.shutdown\",\"host.describe\",\"host.describe.command\"],\"notifications\":[\"event.remoteChange\",\"event.sessionClosed\"]},\"operations\":{\"doc.find\":{\"operationId\":\"doc.find\",\"command\":\"find\",\"commandTokens\":[\"find\"],\"category\":\"query\",\"description\":\"Search the document for nodes matching type, text, or attribute criteria.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"find_content\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"within\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"within-json\",\"schema\":{\"oneOf\":[{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeType\":{\"oneOf\":[{\"const\":\"paragraph\"},{\"const\":\"heading\"},{\"const\":\"listItem\"},{\"const\":\"table\"},{\"const\":\"tableRow\"},{\"const\":\"tableCell\"},{\"const\":\"image\"},{\"const\":\"sdt\"}]},\"nodeId\":{\"type\":\"string\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"]},{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"inline\"},\"nodeType\":{\"oneOf\":[{\"const\":\"run\"},{\"const\":\"bookmark\"},{\"const\":\"comment\"},{\"const\":\"hyperlink\"},{\"const\":\"sdt\"},{\"const\":\"image\"},{\"const\":\"footnoteRef\"},{\"const\":\"tab\"},{\"const\":\"lineBreak\"}]},\"anchor\":{\"type\":\"object\",\"properties\":{\"start\":{\"type\":\"object\",\"properties\":{\"blockId\":{\"type\":\"string\"},\"offset\":{\"type\":\"number\"}},\"required\":[\"blockId\",\"offset\"]},\"end\":{\"type\":\"object\",\"properties\":{\"blockId\":{\"type\":\"string\"},\"offset\":{\"type\":\"number\"}},\"required\":[\"blockId\",\"offset\"]}},\"required\":[\"start\",\"end\"]}},\"required\":[\"kind\",\"nodeType\",\"anchor\"]}]}},{\"name\":\"limit\",\"kind\":\"flag\",\"type\":\"number\"},{\"name\":\"offset\",\"kind\":\"flag\",\"type\":\"number\"},{\"name\":\"includeNodes\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"include-nodes\"},{\"name\":\"includeUnknown\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"include-unknown\"},{\"name\":\"type\",\"kind\":\"flag\",\"type\":\"string\"},{\"name\":\"nodeType\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"node-type\"},{\"name\":\"kind\",\"kind\":\"flag\",\"type\":\"string\"},{\"name\":\"pattern\",\"kind\":\"flag\",\"type\":\"string\"},{\"name\":\"mode\",\"kind\":\"flag\",\"type\":\"string\"},{\"name\":\"caseSensitive\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"case-sensitive\"},{\"name\":\"query\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"query-json\"}],\"constraints\":{\"requiresOneOf\":[[\"type\",\"query\"]],\"mutuallyExclusive\":[[\"type\",\"query\"]]},\"mutates\":false,\"idempotency\":\"idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"includeNodes\":{\"type\":\"boolean\"},\"includeUnknown\":{\"type\":\"boolean\"},\"limit\":{\"type\":\"integer\"},\"offset\":{\"type\":\"integer\"},\"select\":{\"anyOf\":[{\"additionalProperties\":false,\"properties\":{\"caseSensitive\":{\"type\":\"boolean\"},\"mode\":{\"enum\":[\"contains\",\"regex\"]},\"pattern\":{\"type\":\"string\"},\"type\":{\"const\":\"text\"}},\"required\":[\"type\",\"pattern\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"kind\":{\"enum\":[\"block\",\"inline\"]},\"nodeType\":{\"enum\":[\"paragraph\",\"heading\",\"listItem\",\"table\",\"tableRow\",\"tableCell\",\"image\",\"sdt\",\"run\",\"bookmark\",\"comment\",\"hyperlink\",\"footnoteRef\",\"tab\",\"lineBreak\"]},\"type\":{\"const\":\"node\"}},\"required\":[\"type\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"nodeType\":{\"enum\":[\"paragraph\",\"heading\",\"listItem\",\"table\",\"tableRow\",\"tableCell\",\"image\",\"sdt\",\"run\",\"bookmark\",\"comment\",\"hyperlink\",\"footnoteRef\",\"tab\",\"lineBreak\"]}},\"required\":[\"nodeType\"],\"type\":\"object\"}]},\"within\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"enum\":[\"paragraph\",\"heading\",\"listItem\",\"table\",\"tableRow\",\"tableCell\",\"image\",\"sdt\"]}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"anchor\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"offset\":{\"type\":\"integer\"}},\"required\":[\"blockId\",\"offset\"],\"type\":\"object\"},\"start\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"offset\":{\"type\":\"integer\"}},\"required\":[\"blockId\",\"offset\"],\"type\":\"object\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"},\"kind\":{\"const\":\"inline\"},\"nodeType\":{\"enum\":[\"run\",\"bookmark\",\"comment\",\"hyperlink\",\"sdt\",\"image\",\"footnoteRef\",\"tab\",\"lineBreak\"]}},\"required\":[\"kind\",\"nodeType\",\"anchor\"],\"type\":\"object\"}]}},\"required\":[\"select\"],\"type\":\"object\"},\"outputSchema\":{\"additionalProperties\":false,\"properties\":{\"context\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"address\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"enum\":[\"paragraph\",\"heading\",\"listItem\",\"table\",\"tableRow\",\"tableCell\",\"image\",\"sdt\"]}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"anchor\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"offset\":{\"type\":\"integer\"}},\"required\":[\"blockId\",\"offset\"],\"type\":\"object\"},\"start\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"offset\":{\"type\":\"integer\"}},\"required\":[\"blockId\",\"offset\"],\"type\":\"object\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"},\"kind\":{\"const\":\"inline\"},\"nodeType\":{\"enum\":[\"run\",\"bookmark\",\"comment\",\"hyperlink\",\"sdt\",\"image\",\"footnoteRef\",\"tab\",\"lineBreak\"]}},\"required\":[\"kind\",\"nodeType\",\"anchor\"],\"type\":\"object\"}]},\"highlightRange\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"},\"snippet\":{\"type\":\"string\"},\"textRanges\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"type\":\"array\"}},\"required\":[\"address\",\"snippet\",\"highlightRange\"],\"type\":\"object\"},\"type\":\"array\"},\"diagnostics\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"address\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"enum\":[\"paragraph\",\"heading\",\"listItem\",\"table\",\"tableRow\",\"tableCell\",\"image\",\"sdt\"]}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"anchor\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"offset\":{\"type\":\"integer\"}},\"required\":[\"blockId\",\"offset\"],\"type\":\"object\"},\"start\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"offset\":{\"type\":\"integer\"}},\"required\":[\"blockId\",\"offset\"],\"type\":\"object\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"},\"kind\":{\"const\":\"inline\"},\"nodeType\":{\"enum\":[\"run\",\"bookmark\",\"comment\",\"hyperlink\",\"sdt\",\"image\",\"footnoteRef\",\"tab\",\"lineBreak\"]}},\"required\":[\"kind\",\"nodeType\",\"anchor\"],\"type\":\"object\"}]},\"hint\":{\"type\":\"string\"},\"message\":{\"type\":\"string\"}},\"required\":[\"message\"],\"type\":\"object\"},\"type\":\"array\"},\"matches\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"enum\":[\"paragraph\",\"heading\",\"listItem\",\"table\",\"tableRow\",\"tableCell\",\"image\",\"sdt\"]}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"anchor\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"offset\":{\"type\":\"integer\"}},\"required\":[\"blockId\",\"offset\"],\"type\":\"object\"},\"start\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"offset\":{\"type\":\"integer\"}},\"required\":[\"blockId\",\"offset\"],\"type\":\"object\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"},\"kind\":{\"const\":\"inline\"},\"nodeType\":{\"enum\":[\"run\",\"bookmark\",\"comment\",\"hyperlink\",\"sdt\",\"image\",\"footnoteRef\",\"tab\",\"lineBreak\"]}},\"required\":[\"kind\",\"nodeType\",\"anchor\"],\"type\":\"object\"}]},\"type\":\"array\"},\"nodes\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"bodyNodes\":{\"items\":{\"type\":\"object\"},\"type\":\"array\"},\"bodyText\":{\"type\":\"string\"},\"kind\":{\"enum\":[\"block\",\"inline\"]},\"nodes\":{\"items\":{\"type\":\"object\"},\"type\":\"array\"},\"nodeType\":{\"enum\":[\"paragraph\",\"heading\",\"listItem\",\"table\",\"tableRow\",\"tableCell\",\"image\",\"sdt\",\"run\",\"bookmark\",\"comment\",\"hyperlink\",\"footnoteRef\",\"tab\",\"lineBreak\"]},\"properties\":{\"type\":\"object\"},\"summary\":{\"additionalProperties\":false,\"properties\":{\"label\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"nodeType\",\"kind\"],\"type\":\"object\"},\"type\":\"array\"},\"total\":{\"type\":\"integer\"}},\"required\":[\"matches\",\"total\"],\"type\":\"object\"}},\"doc.getNode\":{\"operationId\":\"doc.getNode\",\"command\":\"get-node\",\"commandTokens\":[\"get-node\"],\"category\":\"query\",\"description\":\"Retrieve a single node by target position.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"get_node\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"address\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"address-json\"}],\"constraints\":null,\"mutates\":false,\"idempotency\":\"idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"enum\":[\"paragraph\",\"heading\",\"listItem\",\"table\",\"tableRow\",\"tableCell\",\"image\",\"sdt\"]}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"anchor\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"offset\":{\"type\":\"integer\"}},\"required\":[\"blockId\",\"offset\"],\"type\":\"object\"},\"start\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"offset\":{\"type\":\"integer\"}},\"required\":[\"blockId\",\"offset\"],\"type\":\"object\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"},\"kind\":{\"const\":\"inline\"},\"nodeType\":{\"enum\":[\"run\",\"bookmark\",\"comment\",\"hyperlink\",\"sdt\",\"image\",\"footnoteRef\",\"tab\",\"lineBreak\"]}},\"required\":[\"kind\",\"nodeType\",\"anchor\"],\"type\":\"object\"}]},\"outputSchema\":{\"additionalProperties\":false,\"properties\":{\"bodyNodes\":{\"items\":{\"type\":\"object\"},\"type\":\"array\"},\"bodyText\":{\"type\":\"string\"},\"kind\":{\"enum\":[\"block\",\"inline\"]},\"nodes\":{\"items\":{\"type\":\"object\"},\"type\":\"array\"},\"nodeType\":{\"enum\":[\"paragraph\",\"heading\",\"listItem\",\"table\",\"tableRow\",\"tableCell\",\"image\",\"sdt\",\"run\",\"bookmark\",\"comment\",\"hyperlink\",\"footnoteRef\",\"tab\",\"lineBreak\"]},\"properties\":{\"type\":\"object\"},\"summary\":{\"additionalProperties\":false,\"properties\":{\"label\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"nodeType\",\"kind\"],\"type\":\"object\"}},\"doc.getNodeById\":{\"operationId\":\"doc.getNodeById\",\"command\":\"get-node-by-id\",\"commandTokens\":[\"get-node-by-id\"],\"category\":\"query\",\"description\":\"Retrieve a single node by its unique ID.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"get_node_by_id\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"id\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true},{\"name\":\"nodeType\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"node-type\",\"schema\":{\"oneOf\":[{\"const\":\"paragraph\"},{\"const\":\"heading\"},{\"const\":\"listItem\"},{\"const\":\"table\"},{\"const\":\"tableRow\"},{\"const\":\"tableCell\"},{\"const\":\"image\"},{\"const\":\"sdt\"}]}}],\"constraints\":null,\"mutates\":false,\"idempotency\":\"idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"enum\":[\"paragraph\",\"heading\",\"listItem\",\"table\",\"tableRow\",\"tableCell\",\"image\",\"sdt\"]}},\"required\":[\"nodeId\"],\"type\":\"object\"},\"outputSchema\":{\"additionalProperties\":false,\"properties\":{\"bodyNodes\":{\"items\":{\"type\":\"object\"},\"type\":\"array\"},\"bodyText\":{\"type\":\"string\"},\"kind\":{\"enum\":[\"block\",\"inline\"]},\"nodes\":{\"items\":{\"type\":\"object\"},\"type\":\"array\"},\"nodeType\":{\"enum\":[\"paragraph\",\"heading\",\"listItem\",\"table\",\"tableRow\",\"tableCell\",\"image\",\"sdt\",\"run\",\"bookmark\",\"comment\",\"hyperlink\",\"footnoteRef\",\"tab\",\"lineBreak\"]},\"properties\":{\"type\":\"object\"},\"summary\":{\"additionalProperties\":false,\"properties\":{\"label\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"nodeType\",\"kind\"],\"type\":\"object\"}},\"doc.info\":{\"operationId\":\"doc.info\",\"command\":\"info\",\"commandTokens\":[\"info\"],\"category\":\"query\",\"description\":\"Return document metadata including revision, node count, and capabilities.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"get_document_info\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"}],\"constraints\":null,\"mutates\":false,\"idempotency\":\"idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{},\"type\":\"object\"},\"outputSchema\":{\"additionalProperties\":false,\"properties\":{\"capabilities\":{\"additionalProperties\":false,\"properties\":{\"canComment\":{\"type\":\"boolean\"},\"canFind\":{\"type\":\"boolean\"},\"canGetNode\":{\"type\":\"boolean\"},\"canReplace\":{\"type\":\"boolean\"}},\"required\":[\"canFind\",\"canGetNode\",\"canComment\",\"canReplace\"],\"type\":\"object\"},\"counts\":{\"additionalProperties\":false,\"properties\":{\"comments\":{\"type\":\"integer\"},\"headings\":{\"type\":\"integer\"},\"images\":{\"type\":\"integer\"},\"paragraphs\":{\"type\":\"integer\"},\"tables\":{\"type\":\"integer\"},\"words\":{\"type\":\"integer\"}},\"required\":[\"words\",\"paragraphs\",\"headings\",\"tables\",\"images\",\"comments\"],\"type\":\"object\"},\"outline\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"level\":{\"type\":\"integer\"},\"nodeId\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"required\":[\"level\",\"text\",\"nodeId\"],\"type\":\"object\"},\"type\":\"array\"}},\"required\":[\"counts\",\"outline\",\"capabilities\"],\"type\":\"object\"}},\"doc.insert\":{\"operationId\":\"doc.insert\",\"command\":\"insert\",\"commandTokens\":[\"insert\"],\"category\":\"mutation\",\"description\":\"Insert text or inline content at a target position.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"insert_content\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"dryRun\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"dry-run\",\"agentVisible\":false},{\"name\":\"target\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"target-json\",\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"text\"},\"blockId\":{\"type\":\"string\"},\"range\":{\"type\":\"object\",\"properties\":{\"start\":{\"type\":\"number\"},\"end\":{\"type\":\"number\"}},\"required\":[\"start\",\"end\"]}},\"required\":[\"kind\",\"blockId\",\"range\"]}},{\"name\":\"text\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"non-idempotent\",\"supportsTrackedMode\":true,\"supportsDryRun\":true,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"text\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\",\"resolution\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\",\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\",\"resolution\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\",\"resolution\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\",\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\",\"resolution\"],\"type\":\"object\"}},\"doc.replace\":{\"operationId\":\"doc.replace\",\"command\":\"replace\",\"commandTokens\":[\"replace\"],\"category\":\"mutation\",\"description\":\"Replace content at a target position with new text or inline content.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"replace_content\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"dryRun\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"dry-run\",\"agentVisible\":false},{\"name\":\"target\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"target-json\",\"required\":true,\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"text\"},\"blockId\":{\"type\":\"string\"},\"range\":{\"type\":\"object\",\"properties\":{\"start\":{\"type\":\"number\"},\"end\":{\"type\":\"number\"}},\"required\":[\"start\",\"end\"]}},\"required\":[\"kind\",\"blockId\",\"range\"]}},{\"name\":\"text\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":true,\"supportsDryRun\":true,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"text\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\",\"resolution\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\",\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\",\"resolution\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\",\"resolution\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\",\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\",\"resolution\"],\"type\":\"object\"}},\"doc.delete\":{\"operationId\":\"doc.delete\",\"command\":\"delete\",\"commandTokens\":[\"delete\"],\"category\":\"mutation\",\"description\":\"Delete content at a target position.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"delete_content\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"dryRun\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"dry-run\",\"agentVisible\":false},{\"name\":\"target\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"target-json\",\"required\":true,\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"text\"},\"blockId\":{\"type\":\"string\"},\"range\":{\"type\":\"object\",\"properties\":{\"start\":{\"type\":\"number\"},\"end\":{\"type\":\"number\"}},\"required\":[\"start\",\"end\"]}},\"required\":[\"kind\",\"blockId\",\"range\"]}}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":true,\"supportsDryRun\":true,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"}},\"required\":[\"target\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\",\"resolution\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\",\"resolution\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\",\"resolution\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\",\"resolution\"],\"type\":\"object\"}},\"doc.format.bold\":{\"operationId\":\"doc.format.bold\",\"command\":\"format bold\",\"commandTokens\":[\"format\",\"bold\"],\"category\":\"format\",\"description\":\"Toggle bold formatting on the target range.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"format_bold\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"dryRun\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"dry-run\",\"agentVisible\":false},{\"name\":\"target\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"target-json\",\"required\":true,\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"text\"},\"blockId\":{\"type\":\"string\"},\"range\":{\"type\":\"object\",\"properties\":{\"start\":{\"type\":\"number\"},\"end\":{\"type\":\"number\"}},\"required\":[\"start\",\"end\"]}},\"required\":[\"kind\",\"blockId\",\"range\"]}}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":true,\"supportsDryRun\":true,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"}},\"required\":[\"target\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\",\"resolution\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\",\"resolution\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\",\"resolution\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\",\"resolution\"],\"type\":\"object\"}},\"doc.format.italic\":{\"operationId\":\"doc.format.italic\",\"command\":\"format italic\",\"commandTokens\":[\"format\",\"italic\"],\"category\":\"format\",\"description\":\"Toggle italic formatting on the target range.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"format_italic\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"dryRun\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"dry-run\",\"agentVisible\":false},{\"name\":\"target\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"target-json\",\"required\":true,\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"text\"},\"blockId\":{\"type\":\"string\"},\"range\":{\"type\":\"object\",\"properties\":{\"start\":{\"type\":\"number\"},\"end\":{\"type\":\"number\"}},\"required\":[\"start\",\"end\"]}},\"required\":[\"kind\",\"blockId\",\"range\"]}}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":true,\"supportsDryRun\":true,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"}},\"required\":[\"target\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\",\"resolution\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\",\"resolution\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\",\"resolution\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\",\"resolution\"],\"type\":\"object\"}},\"doc.format.underline\":{\"operationId\":\"doc.format.underline\",\"command\":\"format underline\",\"commandTokens\":[\"format\",\"underline\"],\"category\":\"format\",\"description\":\"Toggle underline formatting on the target range.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"format_underline\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"dryRun\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"dry-run\",\"agentVisible\":false},{\"name\":\"target\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"target-json\",\"required\":true,\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"text\"},\"blockId\":{\"type\":\"string\"},\"range\":{\"type\":\"object\",\"properties\":{\"start\":{\"type\":\"number\"},\"end\":{\"type\":\"number\"}},\"required\":[\"start\",\"end\"]}},\"required\":[\"kind\",\"blockId\",\"range\"]}}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":true,\"supportsDryRun\":true,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"}},\"required\":[\"target\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\",\"resolution\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\",\"resolution\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\",\"resolution\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\",\"resolution\"],\"type\":\"object\"}},\"doc.format.strikethrough\":{\"operationId\":\"doc.format.strikethrough\",\"command\":\"format strikethrough\",\"commandTokens\":[\"format\",\"strikethrough\"],\"category\":\"format\",\"description\":\"Toggle strikethrough formatting on the target range.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"format_strikethrough\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"dryRun\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"dry-run\",\"agentVisible\":false},{\"name\":\"target\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"target-json\",\"required\":true,\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"text\"},\"blockId\":{\"type\":\"string\"},\"range\":{\"type\":\"object\",\"properties\":{\"start\":{\"type\":\"number\"},\"end\":{\"type\":\"number\"}},\"required\":[\"start\",\"end\"]}},\"required\":[\"kind\",\"blockId\",\"range\"]}}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":true,\"supportsDryRun\":true,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"}},\"required\":[\"target\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\",\"resolution\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\",\"resolution\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\",\"resolution\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"resolution\":{\"additionalProperties\":false,\"properties\":{\"range\":{\"additionalProperties\":false,\"properties\":{\"from\":{\"type\":\"integer\"},\"to\":{\"type\":\"integer\"}},\"required\":[\"from\",\"to\"],\"type\":\"object\"},\"requestedTarget\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"range\",\"text\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\",\"resolution\"],\"type\":\"object\"}},\"doc.create.paragraph\":{\"operationId\":\"doc.create.paragraph\",\"command\":\"create paragraph\",\"commandTokens\":[\"create\",\"paragraph\"],\"category\":\"create\",\"description\":\"Create a new paragraph at the target position.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"create_paragraph\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"dryRun\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"dry-run\",\"agentVisible\":false},{\"name\":\"at\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"at-json\",\"schema\":{\"oneOf\":[{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"documentStart\"}},\"required\":[\"kind\"]},{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"documentEnd\"}},\"required\":[\"kind\"]},{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"before\"},\"target\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeType\":{\"oneOf\":[{\"const\":\"paragraph\"},{\"const\":\"heading\"},{\"const\":\"listItem\"},{\"const\":\"table\"},{\"const\":\"tableRow\"},{\"const\":\"tableCell\"},{\"const\":\"image\"},{\"const\":\"sdt\"}]},\"nodeId\":{\"type\":\"string\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"]}},\"required\":[\"kind\",\"target\"]},{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"after\"},\"target\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeType\":{\"oneOf\":[{\"const\":\"paragraph\"},{\"const\":\"heading\"},{\"const\":\"listItem\"},{\"const\":\"table\"},{\"const\":\"tableRow\"},{\"const\":\"tableCell\"},{\"const\":\"image\"},{\"const\":\"sdt\"}]},\"nodeId\":{\"type\":\"string\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"]}},\"required\":[\"kind\",\"target\"]}]}},{\"name\":\"text\",\"kind\":\"flag\",\"type\":\"string\"},{\"name\":\"input\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"input-json\"}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"non-idempotent\",\"supportsTrackedMode\":true,\"supportsDryRun\":true,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"at\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"documentStart\"}},\"required\":[\"kind\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"documentEnd\"}},\"required\":[\"kind\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"before\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"enum\":[\"paragraph\",\"heading\",\"listItem\",\"table\",\"tableRow\",\"tableCell\",\"image\",\"sdt\"]}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"}},\"required\":[\"kind\",\"target\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"after\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"enum\":[\"paragraph\",\"heading\",\"listItem\",\"table\",\"tableRow\",\"tableCell\",\"image\",\"sdt\"]}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"}},\"required\":[\"kind\",\"target\"],\"type\":\"object\"}]},\"text\":{\"type\":\"string\"}},\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"insertionPoint\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"paragraph\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"paragraph\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"success\":{\"const\":true},\"trackedChangeRefs\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},\"type\":\"array\"}},\"required\":[\"success\",\"paragraph\",\"insertionPoint\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"insertionPoint\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"paragraph\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"paragraph\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"success\":{\"const\":true},\"trackedChangeRefs\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},\"type\":\"array\"}},\"required\":[\"success\",\"paragraph\",\"insertionPoint\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.lists.list\":{\"operationId\":\"doc.lists.list\",\"command\":\"lists list\",\"commandTokens\":[\"lists\",\"list\"],\"category\":\"lists\",\"description\":\"List all list nodes in the document, optionally filtered by scope.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"list_lists\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"within\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"within-json\",\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeType\":{\"oneOf\":[{\"const\":\"paragraph\"},{\"const\":\"heading\"},{\"const\":\"listItem\"},{\"const\":\"table\"},{\"const\":\"tableRow\"},{\"const\":\"tableCell\"},{\"const\":\"image\"},{\"const\":\"sdt\"}]},\"nodeId\":{\"type\":\"string\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"]}},{\"name\":\"limit\",\"kind\":\"flag\",\"type\":\"number\"},{\"name\":\"offset\",\"kind\":\"flag\",\"type\":\"number\"},{\"name\":\"kind\",\"kind\":\"flag\",\"type\":\"string\",\"schema\":{\"oneOf\":[{\"const\":\"ordered\"},{\"const\":\"bullet\"}]}},{\"name\":\"level\",\"kind\":\"flag\",\"type\":\"number\"},{\"name\":\"ordinal\",\"kind\":\"flag\",\"type\":\"number\"},{\"name\":\"query\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"query-json\"}],\"constraints\":{\"mutuallyExclusive\":[[\"query\",\"within\"],[\"query\",\"kind\"],[\"query\",\"level\"],[\"query\",\"ordinal\"],[\"query\",\"limit\"],[\"query\",\"offset\"]]},\"mutates\":false,\"idempotency\":\"idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"enum\":[\"ordered\",\"bullet\"]},\"level\":{\"type\":\"integer\"},\"limit\":{\"type\":\"integer\"},\"offset\":{\"type\":\"integer\"},\"ordinal\":{\"type\":\"integer\"},\"within\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"enum\":[\"paragraph\",\"heading\",\"listItem\",\"table\",\"tableRow\",\"tableCell\",\"image\",\"sdt\"]}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"}},\"type\":\"object\"},\"outputSchema\":{\"additionalProperties\":false,\"properties\":{\"items\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"address\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"kind\":{\"enum\":[\"ordered\",\"bullet\"]},\"level\":{\"type\":\"integer\"},\"marker\":{\"type\":\"string\"},\"ordinal\":{\"type\":\"integer\"},\"path\":{\"items\":{\"type\":\"integer\"},\"type\":\"array\"},\"text\":{\"type\":\"string\"}},\"required\":[\"address\"],\"type\":\"object\"},\"type\":\"array\"},\"matches\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"type\":\"array\"},\"total\":{\"type\":\"integer\"}},\"required\":[\"matches\",\"total\",\"items\"],\"type\":\"object\"}},\"doc.lists.get\":{\"operationId\":\"doc.lists.get\",\"command\":\"lists get\",\"commandTokens\":[\"lists\",\"get\"],\"category\":\"lists\",\"description\":\"Retrieve a specific list node by target.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"get_list\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"address\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"address-json\",\"required\":true,\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeType\":{\"const\":\"listItem\"},\"nodeId\":{\"type\":\"string\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"]}}],\"constraints\":null,\"mutates\":false,\"idempotency\":\"idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"address\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"}},\"required\":[\"address\"],\"type\":\"object\"},\"outputSchema\":{\"additionalProperties\":false,\"properties\":{\"address\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"kind\":{\"enum\":[\"ordered\",\"bullet\"]},\"level\":{\"type\":\"integer\"},\"marker\":{\"type\":\"string\"},\"ordinal\":{\"type\":\"integer\"},\"path\":{\"items\":{\"type\":\"integer\"},\"type\":\"array\"},\"text\":{\"type\":\"string\"}},\"required\":[\"address\"],\"type\":\"object\"}},\"doc.lists.insert\":{\"operationId\":\"doc.lists.insert\",\"command\":\"lists insert\",\"commandTokens\":[\"lists\",\"insert\"],\"category\":\"lists\",\"description\":\"Insert a new list at the target position.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"insert_list\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"dryRun\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"dry-run\",\"agentVisible\":false},{\"name\":\"target\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"target-json\",\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeType\":{\"const\":\"listItem\"},\"nodeId\":{\"type\":\"string\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"]}},{\"name\":\"position\",\"kind\":\"flag\",\"type\":\"string\",\"schema\":{\"oneOf\":[{\"const\":\"before\"},{\"const\":\"after\"}]}},{\"name\":\"text\",\"kind\":\"flag\",\"type\":\"string\"},{\"name\":\"input\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"input-json\"}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"non-idempotent\",\"supportsTrackedMode\":true,\"supportsDryRun\":true,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"position\":{\"enum\":[\"before\",\"after\"]},\"target\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"position\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"insertionPoint\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"item\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"success\":{\"const\":true},\"trackedChangeRefs\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},\"type\":\"array\"}},\"required\":[\"success\",\"item\",\"insertionPoint\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"insertionPoint\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"item\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"success\":{\"const\":true},\"trackedChangeRefs\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},\"type\":\"array\"}},\"required\":[\"success\",\"item\",\"insertionPoint\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.lists.setType\":{\"operationId\":\"doc.lists.setType\",\"command\":\"lists set-type\",\"commandTokens\":[\"lists\",\"set-type\"],\"category\":\"lists\",\"description\":\"Change the list type (ordered, unordered) of a target list.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"set_list_type\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"dryRun\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"dry-run\",\"agentVisible\":false},{\"name\":\"target\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"target-json\",\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeType\":{\"const\":\"listItem\"},\"nodeId\":{\"type\":\"string\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"]}},{\"name\":\"kind\",\"kind\":\"flag\",\"type\":\"string\",\"schema\":{\"oneOf\":[{\"const\":\"ordered\"},{\"const\":\"bullet\"}]}},{\"name\":\"input\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"input-json\"}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":true,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"enum\":[\"ordered\",\"bullet\"]},\"target\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"}},\"required\":[\"target\",\"kind\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"item\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"success\":{\"const\":true}},\"required\":[\"success\",\"item\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\",\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"item\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"success\":{\"const\":true}},\"required\":[\"success\",\"item\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\",\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.lists.indent\":{\"operationId\":\"doc.lists.indent\",\"command\":\"lists indent\",\"commandTokens\":[\"lists\",\"indent\"],\"category\":\"lists\",\"description\":\"Increase the indentation level of a list item.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"indent_list\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"dryRun\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"dry-run\",\"agentVisible\":false},{\"name\":\"target\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"target-json\",\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeType\":{\"const\":\"listItem\"},\"nodeId\":{\"type\":\"string\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"]}},{\"name\":\"input\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"input-json\"}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":true,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"target\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"}},\"required\":[\"target\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"item\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"success\":{\"const\":true}},\"required\":[\"success\",\"item\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\",\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"item\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"success\":{\"const\":true}},\"required\":[\"success\",\"item\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\",\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.lists.outdent\":{\"operationId\":\"doc.lists.outdent\",\"command\":\"lists outdent\",\"commandTokens\":[\"lists\",\"outdent\"],\"category\":\"lists\",\"description\":\"Decrease the indentation level of a list item.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"outdent_list\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"dryRun\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"dry-run\",\"agentVisible\":false},{\"name\":\"target\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"target-json\",\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeType\":{\"const\":\"listItem\"},\"nodeId\":{\"type\":\"string\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"]}},{\"name\":\"input\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"input-json\"}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":true,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"target\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"}},\"required\":[\"target\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"item\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"success\":{\"const\":true}},\"required\":[\"success\",\"item\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\",\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"item\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"success\":{\"const\":true}},\"required\":[\"success\",\"item\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\",\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.lists.restart\":{\"operationId\":\"doc.lists.restart\",\"command\":\"lists restart\",\"commandTokens\":[\"lists\",\"restart\"],\"category\":\"lists\",\"description\":\"Restart numbering of an ordered list at the target item.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"restart_list_numbering\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"dryRun\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"dry-run\",\"agentVisible\":false},{\"name\":\"target\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"target-json\",\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeType\":{\"const\":\"listItem\"},\"nodeId\":{\"type\":\"string\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"]}},{\"name\":\"input\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"input-json\"}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":true,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"target\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"}},\"required\":[\"target\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"item\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"success\":{\"const\":true}},\"required\":[\"success\",\"item\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\",\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"item\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"success\":{\"const\":true}},\"required\":[\"success\",\"item\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\",\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.lists.exit\":{\"operationId\":\"doc.lists.exit\",\"command\":\"lists exit\",\"commandTokens\":[\"lists\",\"exit\"],\"category\":\"lists\",\"description\":\"Exit a list context, converting the target item to a paragraph.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"exit_list\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"dryRun\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"dry-run\",\"agentVisible\":false},{\"name\":\"target\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"target-json\",\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeType\":{\"const\":\"listItem\"},\"nodeId\":{\"type\":\"string\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"]}},{\"name\":\"input\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"input-json\"}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":true,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"target\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"listItem\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"}},\"required\":[\"target\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"paragraph\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"paragraph\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"success\":{\"const\":true}},\"required\":[\"success\",\"paragraph\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"paragraph\":{\"additionalProperties\":false,\"properties\":{\"kind\":{\"const\":\"block\"},\"nodeId\":{\"type\":\"string\"},\"nodeType\":{\"const\":\"paragraph\"}},\"required\":[\"kind\",\"nodeType\",\"nodeId\"],\"type\":\"object\"},\"success\":{\"const\":true}},\"required\":[\"success\",\"paragraph\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.comments.add\":{\"operationId\":\"doc.comments.add\",\"command\":\"comments add\",\"commandTokens\":[\"comments\",\"add\"],\"category\":\"comments\",\"description\":\"Add a new comment thread anchored to a target range.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"add_comment\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"target\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"target-json\",\"required\":true,\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"text\"},\"blockId\":{\"type\":\"string\"},\"range\":{\"type\":\"object\",\"properties\":{\"start\":{\"type\":\"number\"},\"end\":{\"type\":\"number\"}},\"required\":[\"start\",\"end\"]}},\"required\":[\"kind\",\"blockId\",\"range\"]}},{\"name\":\"text\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"non-idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"target\",\"text\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\",\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\",\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.comments.edit\":{\"operationId\":\"doc.comments.edit\",\"command\":\"comments edit\",\"commandTokens\":[\"comments\",\"edit\"],\"category\":\"comments\",\"description\":\"Edit the content of an existing comment.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"edit_comment\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"id\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true},{\"name\":\"text\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"commentId\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"required\":[\"commentId\",\"text\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.comments.reply\":{\"operationId\":\"doc.comments.reply\",\"command\":\"comments reply\",\"commandTokens\":[\"comments\",\"reply\"],\"category\":\"comments\",\"description\":\"Add a reply to an existing comment thread.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"reply_to_comment\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"parentId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"parent-id\",\"required\":true},{\"name\":\"text\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"non-idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"parentCommentId\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"required\":[\"parentCommentId\",\"text\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.comments.move\":{\"operationId\":\"doc.comments.move\",\"command\":\"comments move\",\"commandTokens\":[\"comments\",\"move\"],\"category\":\"comments\",\"description\":\"Move a comment thread to a new anchor range.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"move_comment\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"id\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true},{\"name\":\"target\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"target-json\",\"required\":true,\"schema\":{\"type\":\"object\",\"properties\":{\"kind\":{\"const\":\"text\"},\"blockId\":{\"type\":\"string\"},\"range\":{\"type\":\"object\",\"properties\":{\"start\":{\"type\":\"number\"},\"end\":{\"type\":\"number\"}},\"required\":[\"start\",\"end\"]}},\"required\":[\"kind\",\"blockId\",\"range\"]}}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"commentId\":{\"type\":\"string\"},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"}},\"required\":[\"commentId\",\"target\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\",\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\",\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.comments.resolve\":{\"operationId\":\"doc.comments.resolve\",\"command\":\"comments resolve\",\"commandTokens\":[\"comments\",\"resolve\"],\"category\":\"comments\",\"description\":\"Resolve or unresolve a comment thread.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"resolve_comment\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"id\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"commentId\":{\"type\":\"string\"}},\"required\":[\"commentId\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.comments.remove\":{\"operationId\":\"doc.comments.remove\",\"command\":\"comments remove\",\"commandTokens\":[\"comments\",\"remove\"],\"category\":\"comments\",\"description\":\"Remove a comment or reply by ID.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"remove_comment\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"id\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"commentId\":{\"type\":\"string\"}},\"required\":[\"commentId\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.comments.setInternal\":{\"operationId\":\"doc.comments.setInternal\",\"command\":\"comments set-internal\",\"commandTokens\":[\"comments\",\"set-internal\"],\"category\":\"comments\",\"description\":\"Toggle the internal (private) flag on a comment thread.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"set_comment_internal\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"id\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true},{\"name\":\"isInternal\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"is-internal\",\"required\":true}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"commentId\":{\"type\":\"string\"},\"isInternal\":{\"type\":\"boolean\"}},\"required\":[\"commentId\",\"isInternal\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\",\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\",\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.comments.setActive\":{\"operationId\":\"doc.comments.setActive\",\"command\":\"comments set-active\",\"commandTokens\":[\"comments\",\"set-active\"],\"category\":\"comments\",\"description\":\"Set the active (focused) comment thread for UI highlighting.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"set_comment_active\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"commentId\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"comment-id-json\",\"schema\":{\"type\":\"json\"}},{\"name\":\"id\",\"kind\":\"flag\",\"type\":\"string\"},{\"name\":\"clear\",\"kind\":\"flag\",\"type\":\"boolean\"}],\"constraints\":{\"requiresOneOf\":[[\"id\",\"clear\"]],\"mutuallyExclusive\":[[\"id\",\"clear\"]]},\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"commentId\":{\"type\":[\"string\",\"null\"]}},\"required\":[\"commentId\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"INVALID_TARGET\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.comments.goTo\":{\"operationId\":\"doc.comments.goTo\",\"command\":\"comments go-to\",\"commandTokens\":[\"comments\",\"go-to\"],\"category\":\"comments\",\"description\":\"Scroll the viewport to a comment thread by ID.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"go_to_comment\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"id\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true}],\"constraints\":null,\"mutates\":false,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"commentId\":{\"type\":\"string\"}},\"required\":[\"commentId\"],\"type\":\"object\"},\"outputSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"}},\"doc.comments.get\":{\"operationId\":\"doc.comments.get\",\"command\":\"comments get\",\"commandTokens\":[\"comments\",\"get\"],\"category\":\"comments\",\"description\":\"Retrieve a single comment thread by ID.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"get_comment\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"id\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true}],\"constraints\":null,\"mutates\":false,\"idempotency\":\"idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"commentId\":{\"type\":\"string\"}},\"required\":[\"commentId\"],\"type\":\"object\"},\"outputSchema\":{\"additionalProperties\":false,\"properties\":{\"address\":{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},\"commentId\":{\"type\":\"string\"},\"createdTime\":{\"type\":\"number\"},\"creatorEmail\":{\"type\":\"string\"},\"creatorName\":{\"type\":\"string\"},\"importedId\":{\"type\":\"string\"},\"isInternal\":{\"type\":\"boolean\"},\"parentCommentId\":{\"type\":\"string\"},\"status\":{\"enum\":[\"open\",\"resolved\"]},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"address\",\"commentId\",\"status\"],\"type\":\"object\"}},\"doc.comments.list\":{\"operationId\":\"doc.comments.list\",\"command\":\"comments list\",\"commandTokens\":[\"comments\",\"list\"],\"category\":\"comments\",\"description\":\"List all comment threads in the document.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"list_comments\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"includeResolved\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"include-resolved\"}],\"constraints\":null,\"mutates\":false,\"idempotency\":\"idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"includeResolved\":{\"type\":\"boolean\"}},\"type\":\"object\"},\"outputSchema\":{\"additionalProperties\":false,\"properties\":{\"matches\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"address\":{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},\"commentId\":{\"type\":\"string\"},\"createdTime\":{\"type\":\"number\"},\"creatorEmail\":{\"type\":\"string\"},\"creatorName\":{\"type\":\"string\"},\"importedId\":{\"type\":\"string\"},\"isInternal\":{\"type\":\"boolean\"},\"parentCommentId\":{\"type\":\"string\"},\"status\":{\"enum\":[\"open\",\"resolved\"]},\"target\":{\"additionalProperties\":false,\"properties\":{\"blockId\":{\"type\":\"string\"},\"kind\":{\"const\":\"text\"},\"range\":{\"additionalProperties\":false,\"properties\":{\"end\":{\"type\":\"integer\"},\"start\":{\"type\":\"integer\"}},\"required\":[\"start\",\"end\"],\"type\":\"object\"}},\"required\":[\"kind\",\"blockId\",\"range\"],\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"required\":[\"address\",\"commentId\",\"status\"],\"type\":\"object\"},\"type\":\"array\"},\"total\":{\"type\":\"integer\"}},\"required\":[\"matches\",\"total\"],\"type\":\"object\"}},\"doc.trackChanges.list\":{\"operationId\":\"doc.trackChanges.list\",\"command\":\"track-changes list\",\"commandTokens\":[\"track-changes\",\"list\"],\"category\":\"trackChanges\",\"description\":\"List all tracked changes in the document.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"list_tracked_changes\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"limit\",\"kind\":\"flag\",\"type\":\"number\"},{\"name\":\"offset\",\"kind\":\"flag\",\"type\":\"number\"},{\"name\":\"type\",\"kind\":\"flag\",\"type\":\"string\",\"schema\":{\"oneOf\":[{\"const\":\"insert\"},{\"const\":\"delete\"},{\"const\":\"format\"}]}}],\"constraints\":null,\"mutates\":false,\"idempotency\":\"idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"limit\":{\"type\":\"integer\"},\"offset\":{\"type\":\"integer\"},\"type\":{\"enum\":[\"insert\",\"delete\",\"format\"]}},\"type\":\"object\"},\"outputSchema\":{\"additionalProperties\":false,\"properties\":{\"changes\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"address\":{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},\"author\":{\"type\":\"string\"},\"authorEmail\":{\"type\":\"string\"},\"authorImage\":{\"type\":\"string\"},\"date\":{\"type\":\"string\"},\"excerpt\":{\"type\":\"string\"},\"id\":{\"type\":\"string\"},\"type\":{\"enum\":[\"insert\",\"delete\",\"format\"]}},\"required\":[\"address\",\"id\",\"type\"],\"type\":\"object\"},\"type\":\"array\"},\"matches\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},\"type\":\"array\"},\"total\":{\"type\":\"integer\"}},\"required\":[\"matches\",\"total\"],\"type\":\"object\"}},\"doc.trackChanges.get\":{\"operationId\":\"doc.trackChanges.get\",\"command\":\"track-changes get\",\"commandTokens\":[\"track-changes\",\"get\"],\"category\":\"trackChanges\",\"description\":\"Retrieve a single tracked change by ID.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"get_tracked_change\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"id\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true}],\"constraints\":null,\"mutates\":false,\"idempotency\":\"idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"id\":{\"type\":\"string\"}},\"required\":[\"id\"],\"type\":\"object\"},\"outputSchema\":{\"additionalProperties\":false,\"properties\":{\"address\":{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},\"author\":{\"type\":\"string\"},\"authorEmail\":{\"type\":\"string\"},\"authorImage\":{\"type\":\"string\"},\"date\":{\"type\":\"string\"},\"excerpt\":{\"type\":\"string\"},\"id\":{\"type\":\"string\"},\"type\":{\"enum\":[\"insert\",\"delete\",\"format\"]}},\"required\":[\"address\",\"id\",\"type\"],\"type\":\"object\"}},\"doc.trackChanges.accept\":{\"operationId\":\"doc.trackChanges.accept\",\"command\":\"track-changes accept\",\"commandTokens\":[\"track-changes\",\"accept\"],\"category\":\"trackChanges\",\"description\":\"Accept a tracked change, applying it permanently.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"accept_tracked_change\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"id\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"id\":{\"type\":\"string\"}},\"required\":[\"id\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.trackChanges.reject\":{\"operationId\":\"doc.trackChanges.reject\",\"command\":\"track-changes reject\",\"commandTokens\":[\"track-changes\",\"reject\"],\"category\":\"trackChanges\",\"description\":\"Reject a tracked change, reverting it.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"reject_tracked_change\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false},{\"name\":\"id\",\"kind\":\"flag\",\"type\":\"string\",\"required\":true}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{\"id\":{\"type\":\"string\"}},\"required\":[\"id\"],\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.trackChanges.acceptAll\":{\"operationId\":\"doc.trackChanges.acceptAll\",\"command\":\"track-changes accept-all\",\"commandTokens\":[\"track-changes\",\"accept-all\"],\"category\":\"trackChanges\",\"description\":\"Accept all tracked changes in the document.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"accept_all_tracked_changes\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{},\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.trackChanges.rejectAll\":{\"operationId\":\"doc.trackChanges.rejectAll\",\"command\":\"track-changes reject-all\",\"commandTokens\":[\"track-changes\",\"reject-all\"],\"category\":\"trackChanges\",\"description\":\"Reject all tracked changes in the document.\",\"requiresDocumentContext\":true,\"docRequirement\":\"optional\",\"intentName\":\"reject_all_tracked_changes\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\"},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"expectedRevision\",\"kind\":\"flag\",\"type\":\"number\",\"flag\":\"expected-revision\",\"agentVisible\":false},{\"name\":\"changeMode\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"change-mode\",\"schema\":{\"oneOf\":[{\"const\":\"direct\"},{\"const\":\"tracked\"}]},\"agentVisible\":false}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"inputSchema\":{\"additionalProperties\":false,\"properties\":{},\"type\":\"object\"},\"outputSchema\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}]},\"successSchema\":{\"additionalProperties\":false,\"properties\":{\"inserted\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"removed\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"},\"success\":{\"const\":true},\"updated\":{\"items\":{\"oneOf\":[{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"comment\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"},{\"additionalProperties\":false,\"properties\":{\"entityId\":{\"type\":\"string\"},\"entityType\":{\"const\":\"trackedChange\"},\"kind\":{\"const\":\"entity\"}},\"required\":[\"kind\",\"entityType\",\"entityId\"],\"type\":\"object\"}]},\"type\":\"array\"}},\"required\":[\"success\"],\"type\":\"object\"},\"failureSchema\":{\"additionalProperties\":false,\"properties\":{\"failure\":{\"additionalProperties\":false,\"properties\":{\"code\":{\"enum\":[\"NO_OP\"]},\"details\":{},\"message\":{\"type\":\"string\"}},\"required\":[\"code\",\"message\"],\"type\":\"object\"},\"success\":{\"const\":false}},\"required\":[\"success\",\"failure\"],\"type\":\"object\"}},\"doc.open\":{\"operationId\":\"doc.open\",\"command\":\"open\",\"commandTokens\":[\"open\"],\"category\":\"lifecycle\",\"description\":\"Open a document and create a persistent editing session.\",\"requiresDocumentContext\":false,\"docRequirement\":\"required\",\"intentName\":\"open_document\",\"params\":[{\"name\":\"doc\",\"kind\":\"doc\",\"type\":\"string\",\"required\":true},{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"collaboration\",\"kind\":\"jsonFlag\",\"type\":\"json\",\"flag\":\"collaboration-json\"},{\"name\":\"collabDocumentId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"collab-document-id\"},{\"name\":\"collabUrl\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"collab-url\"}],\"constraints\":null,\"mutates\":false,\"idempotency\":\"non-idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"outputSchema\":{\"type\":\"object\",\"properties\":{\"contextId\":{\"type\":\"string\"},\"sessionType\":{\"type\":\"string\"},\"document\":{\"type\":\"object\",\"properties\":{\"path\":{\"type\":\"string\"},\"source\":{\"type\":\"string\"},\"revision\":{\"type\":\"number\"}}},\"collaboration\":{\"type\":\"object\",\"properties\":{\"documentId\":{\"type\":\"string\"},\"url\":{\"type\":\"string\"}}}},\"required\":[\"contextId\",\"sessionType\"]}},\"doc.save\":{\"operationId\":\"doc.save\",\"command\":\"save\",\"commandTokens\":[\"save\"],\"category\":\"lifecycle\",\"description\":\"Save the current session to the original file or a new path.\",\"requiresDocumentContext\":false,\"docRequirement\":\"none\",\"intentName\":\"save_document\",\"params\":[{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"inPlace\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"in-place\"}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"outputSchema\":{\"type\":\"object\",\"properties\":{\"contextId\":{\"type\":\"string\"},\"saved\":{\"type\":\"boolean\"},\"inPlace\":{\"type\":\"boolean\"},\"document\":{\"type\":\"object\",\"properties\":{\"path\":{\"type\":\"string\"},\"source\":{\"type\":\"string\"},\"revision\":{\"type\":\"number\"}}},\"context\":{\"type\":\"object\",\"properties\":{\"dirty\":{\"type\":\"boolean\"},\"revision\":{\"type\":\"number\"},\"lastSavedAt\":{\"type\":\"string\"}}},\"output\":{\"type\":\"object\",\"properties\":{\"path\":{\"type\":\"string\"},\"byteLength\":{\"type\":\"number\"}}}},\"required\":[\"contextId\",\"saved\"]}},\"doc.close\":{\"operationId\":\"doc.close\",\"command\":\"close\",\"commandTokens\":[\"close\"],\"category\":\"lifecycle\",\"description\":\"Close the active editing session and clean up resources.\",\"requiresDocumentContext\":false,\"docRequirement\":\"none\",\"intentName\":\"close_document\",\"params\":[{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"},{\"name\":\"discard\",\"kind\":\"flag\",\"type\":\"boolean\"}],\"constraints\":null,\"mutates\":false,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"outputSchema\":{\"type\":\"object\",\"properties\":{\"contextId\":{\"type\":\"string\"},\"closed\":{\"type\":\"boolean\"},\"saved\":{\"type\":\"boolean\"},\"discarded\":{\"type\":\"boolean\"},\"defaultSessionCleared\":{\"type\":\"boolean\"},\"wasDirty\":{\"type\":\"boolean\"},\"document\":{\"type\":\"object\",\"properties\":{\"path\":{\"type\":\"string\"},\"source\":{\"type\":\"string\"},\"revision\":{\"type\":\"number\"}}}},\"required\":[\"contextId\",\"closed\"]}},\"doc.status\":{\"operationId\":\"doc.status\",\"command\":\"status\",\"commandTokens\":[\"status\"],\"category\":\"introspection\",\"description\":\"Show the current session status and document metadata.\",\"requiresDocumentContext\":false,\"docRequirement\":\"none\",\"intentName\":\"get_status\",\"params\":[{\"name\":\"sessionId\",\"kind\":\"flag\",\"type\":\"string\",\"flag\":\"session\"}],\"constraints\":null,\"mutates\":false,\"idempotency\":\"idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"outputSchema\":{\"type\":\"object\",\"properties\":{\"contextId\":{\"type\":\"string\"},\"sessionType\":{\"type\":\"string\"},\"dirty\":{\"type\":\"boolean\"},\"revision\":{\"type\":\"number\"},\"document\":{\"type\":\"object\",\"properties\":{\"path\":{\"type\":\"string\"},\"source\":{\"type\":\"string\"}}}},\"required\":[\"contextId\"]}},\"doc.describe\":{\"operationId\":\"doc.describe\",\"command\":\"describe\",\"commandTokens\":[\"describe\"],\"category\":\"introspection\",\"description\":\"List all available CLI operations and contract metadata.\",\"requiresDocumentContext\":false,\"docRequirement\":\"none\",\"intentName\":\"describe_commands\",\"params\":[],\"constraints\":null,\"mutates\":false,\"idempotency\":\"idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"outputSchema\":{\"type\":\"object\",\"properties\":{\"contractVersion\":{\"type\":\"string\"},\"operations\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"operationId\":{\"type\":\"string\"},\"command\":{\"type\":\"string\"},\"category\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"mutates\":{\"type\":\"boolean\"}}}}}}},\"doc.describeCommand\":{\"operationId\":\"doc.describeCommand\",\"command\":\"describe command\",\"commandTokens\":[\"describe\",\"command\"],\"category\":\"introspection\",\"description\":\"Show detailed metadata for a single CLI operation.\",\"requiresDocumentContext\":false,\"docRequirement\":\"none\",\"intentName\":\"describe_command\",\"params\":[{\"name\":\"operationId\",\"kind\":\"doc\",\"type\":\"string\",\"required\":true}],\"constraints\":null,\"mutates\":false,\"idempotency\":\"idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"outputSchema\":{\"type\":\"object\",\"properties\":{\"operationId\":{\"type\":\"string\"},\"command\":{\"type\":\"string\"},\"category\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"mutates\":{\"type\":\"boolean\"},\"params\":{\"type\":\"array\"},\"constraints\":{}}}},\"doc.session.list\":{\"operationId\":\"doc.session.list\",\"command\":\"session list\",\"commandTokens\":[\"session\",\"list\"],\"category\":\"session\",\"description\":\"List all active editing sessions.\",\"requiresDocumentContext\":false,\"docRequirement\":\"none\",\"intentName\":\"list_sessions\",\"params\":[],\"constraints\":null,\"mutates\":false,\"idempotency\":\"idempotent\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"outputSchema\":{\"type\":\"object\",\"properties\":{\"activeSessionId\":{\"type\":\"string\"},\"sessions\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"sessionId\":{\"type\":\"string\"},\"sessionType\":{\"type\":\"string\"},\"dirty\":{\"type\":\"boolean\"},\"revision\":{\"type\":\"number\"}}}},\"total\":{\"type\":\"number\"}}}},\"doc.session.save\":{\"operationId\":\"doc.session.save\",\"command\":\"session save\",\"commandTokens\":[\"session\",\"save\"],\"category\":\"session\",\"description\":\"Persist the current session state.\",\"requiresDocumentContext\":false,\"docRequirement\":\"none\",\"intentName\":\"save_session\",\"params\":[{\"name\":\"sessionId\",\"kind\":\"doc\",\"type\":\"string\",\"required\":true},{\"name\":\"out\",\"kind\":\"flag\",\"type\":\"string\",\"agentVisible\":false},{\"name\":\"force\",\"kind\":\"flag\",\"type\":\"boolean\"},{\"name\":\"inPlace\",\"kind\":\"flag\",\"type\":\"boolean\",\"flag\":\"in-place\"}],\"constraints\":null,\"mutates\":true,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"outputSchema\":{\"type\":\"object\",\"properties\":{\"sessionId\":{\"type\":\"string\"},\"contextId\":{\"type\":\"string\"},\"saved\":{\"type\":\"boolean\"},\"inPlace\":{\"type\":\"boolean\"},\"document\":{\"type\":\"object\",\"properties\":{\"path\":{\"type\":\"string\"},\"source\":{\"type\":\"string\"},\"revision\":{\"type\":\"number\"}}},\"output\":{\"type\":\"object\",\"properties\":{\"path\":{\"type\":\"string\"},\"byteLength\":{\"type\":\"number\"}}}},\"required\":[\"sessionId\"]}},\"doc.session.close\":{\"operationId\":\"doc.session.close\",\"command\":\"session close\",\"commandTokens\":[\"session\",\"close\"],\"category\":\"session\",\"description\":\"Close a specific editing session by ID.\",\"requiresDocumentContext\":false,\"docRequirement\":\"none\",\"intentName\":\"close_session\",\"params\":[{\"name\":\"sessionId\",\"kind\":\"doc\",\"type\":\"string\",\"required\":true},{\"name\":\"discard\",\"kind\":\"flag\",\"type\":\"boolean\"}],\"constraints\":null,\"mutates\":false,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"outputSchema\":{\"type\":\"object\",\"properties\":{\"sessionId\":{\"type\":\"string\"},\"contextId\":{\"type\":\"string\"},\"closed\":{\"type\":\"boolean\"},\"saved\":{\"type\":\"boolean\"},\"discarded\":{\"type\":\"boolean\"},\"defaultSessionCleared\":{\"type\":\"boolean\"},\"wasDirty\":{\"type\":\"boolean\"},\"document\":{\"type\":\"object\",\"properties\":{\"path\":{\"type\":\"string\"},\"source\":{\"type\":\"string\"},\"revision\":{\"type\":\"number\"}}}},\"required\":[\"sessionId\"]}},\"doc.session.setDefault\":{\"operationId\":\"doc.session.setDefault\",\"command\":\"session set-default\",\"commandTokens\":[\"session\",\"set-default\"],\"category\":\"session\",\"description\":\"Set the default session for subsequent commands.\",\"requiresDocumentContext\":false,\"docRequirement\":\"none\",\"intentName\":\"set_default_session\",\"params\":[{\"name\":\"sessionId\",\"kind\":\"doc\",\"type\":\"string\",\"required\":true}],\"constraints\":null,\"mutates\":false,\"idempotency\":\"conditional\",\"supportsTrackedMode\":false,\"supportsDryRun\":false,\"outputSchema\":{\"type\":\"object\",\"properties\":{\"activeSessionId\":{\"type\":\"string\"}},\"required\":[\"activeSessionId\"]}}}}") - -OPERATION_INDEX = {op_id: op for op_id, op in CONTRACT["operations"].items()} diff --git a/packages/sdk/package.json b/packages/sdk/package.json index ccadfb4a99..80e61d49d6 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -9,7 +9,7 @@ "generate": "node scripts/sdk-generate.mjs", "validate": "node scripts/sdk-validate.mjs", "build:node": "pnpm --prefix langs/node run build", - "prepare": "pnpm run version:sync && pnpm run generate && pnpm run validate && pnpm run build:node", + "prepare": "pnpm run version:sync && pnpm -w run generate:all && pnpm run validate && pnpm run build:node", "release": "node scripts/sdk-release.mjs", "release:dry": "node scripts/sdk-release.mjs --dry-run" } diff --git a/packages/sdk/scripts/sdk-generate.mjs b/packages/sdk/scripts/sdk-generate.mjs index db2fe6f04d..7d080c2a3f 100644 --- a/packages/sdk/scripts/sdk-generate.mjs +++ b/packages/sdk/scripts/sdk-generate.mjs @@ -9,7 +9,7 @@ * * Check mode (--check): * 1. Run cli:export-sdk-contract --check - * 2. Re-generate to a temp directory and byte-compare with checked-in artifacts + * 2. Re-generate to a temp directory and byte-compare with on-disk artifacts * 3. Exit 0 only if all artifacts are current */ @@ -142,7 +142,7 @@ async function main() { const drifted = await diffGeneratedArtifacts(tempDir); if (drifted.length > 0) { - throw new Error(`Generated artifacts are stale:\n ${drifted.join('\n ')}\n\n Run 'pnpm sdk:generate' to update.`); + throw new Error(`Generated artifacts are stale:\n ${drifted.join('\n ')}\n\n Run 'pnpm run generate:all' to update.`); } } finally { await rm(tempDir, { recursive: true, force: true }); diff --git a/packages/sdk/scripts/sdk-release.mjs b/packages/sdk/scripts/sdk-release.mjs index 8a4561021f..d54140804f 100644 --- a/packages/sdk/scripts/sdk-release.mjs +++ b/packages/sdk/scripts/sdk-release.mjs @@ -83,7 +83,7 @@ async function main() { // Shared steps await run('node', [path.join(REPO_ROOT, 'packages/sdk/scripts/sync-sdk-version.mjs')]); - await run('node', [path.join(REPO_ROOT, 'packages/sdk/scripts/sdk-generate.mjs')]); + await run('node', [path.join(REPO_ROOT, 'scripts/generate-all.mjs')]); await run('node', [path.join(REPO_ROOT, 'packages/sdk/scripts/sdk-validate.mjs')]); // --- Node SDK --- diff --git a/packages/sdk/tools/catalog.json b/packages/sdk/tools/catalog.json deleted file mode 100644 index f499c79c70..0000000000 --- a/packages/sdk/tools/catalog.json +++ /dev/null @@ -1,17410 +0,0 @@ -{ - "contractVersion": "0.1.0", - "generatedAt": null, - "namePolicyVersion": "v1", - "exposureVersion": "v1", - "toolCount": 94, - "profiles": { - "intent": { - "name": "intent", - "tools": [ - { - "operationId": "doc.find", - "toolName": "find_content", - "profile": "intent", - "source": "intent", - "description": "Search the document for nodes matching type, text, or attribute criteria.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "within": { - "oneOf": [ - { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "inline" - }, - "nodeType": { - "oneOf": [ - { - "const": "run" - }, - { - "const": "bookmark" - }, - { - "const": "comment" - }, - { - "const": "hyperlink" - }, - { - "const": "sdt" - }, - { - "const": "image" - }, - { - "const": "footnoteRef" - }, - { - "const": "tab" - }, - { - "const": "lineBreak" - } - ] - }, - "anchor": { - "type": "object", - "properties": { - "start": { - "type": "object", - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "number" - } - }, - "required": [ - "blockId", - "offset" - ] - }, - "end": { - "type": "object", - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "number" - } - }, - "required": [ - "blockId", - "offset" - ] - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ] - } - ] - }, - "limit": { - "type": "number" - }, - "offset": { - "type": "number" - }, - "includeNodes": { - "type": "boolean" - }, - "includeUnknown": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "nodeType": { - "type": "string" - }, - "kind": { - "type": "string" - }, - "pattern": { - "type": "string" - }, - "mode": { - "type": "string" - }, - "caseSensitive": { - "type": "boolean" - }, - "query": {} - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "context": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt" - ] - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": [ - "run", - "bookmark", - "comment", - "hyperlink", - "sdt", - "image", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ], - "type": "object" - } - ] - }, - "highlightRange": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "snippet": { - "type": "string" - }, - "textRanges": { - "items": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "address", - "snippet", - "highlightRange" - ], - "type": "object" - }, - "type": "array" - }, - "diagnostics": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt" - ] - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": [ - "run", - "bookmark", - "comment", - "hyperlink", - "sdt", - "image", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ], - "type": "object" - } - ] - }, - "hint": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "required": [ - "message" - ], - "type": "object" - }, - "type": "array" - }, - "matches": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt" - ] - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": [ - "run", - "bookmark", - "comment", - "hyperlink", - "sdt", - "image", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "nodes": { - "items": { - "additionalProperties": false, - "properties": { - "bodyNodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "bodyText": { - "type": "string" - }, - "kind": { - "enum": [ - "block", - "inline" - ] - }, - "nodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - }, - "properties": { - "type": "object" - }, - "summary": { - "additionalProperties": false, - "properties": { - "label": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "nodeType", - "kind" - ], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": [ - "matches", - "total" - ], - "type": "object" - }, - "mutates": false, - "category": "query", - "capabilities": [ - "search", - "session-targeting", - "stateless-doc" - ], - "constraints": { - "requiresOneOf": [ - [ - "type", - "query" - ] - ], - "mutuallyExclusive": [ - [ - "type", - "query" - ] - ] - }, - "errors": [], - "examples": [], - "commandTokens": [ - "find" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "find_content" - }, - { - "operationId": "doc.getNode", - "toolName": "get_node", - "profile": "intent", - "source": "intent", - "description": "Retrieve a single node by target position.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "address": {} - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "bodyNodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "bodyText": { - "type": "string" - }, - "kind": { - "enum": [ - "block", - "inline" - ] - }, - "nodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - }, - "properties": { - "type": "object" - }, - "summary": { - "additionalProperties": false, - "properties": { - "label": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "nodeType", - "kind" - ], - "type": "object" - }, - "mutates": false, - "category": "query", - "capabilities": [ - "search", - "session-targeting", - "stateless-doc" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "get-node" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "get_node" - }, - { - "operationId": "doc.getNodeById", - "toolName": "get_node_by_id", - "profile": "intent", - "source": "intent", - "description": "Retrieve a single node by its unique ID.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - }, - "nodeType": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "bodyNodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "bodyText": { - "type": "string" - }, - "kind": { - "enum": [ - "block", - "inline" - ] - }, - "nodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - }, - "properties": { - "type": "object" - }, - "summary": { - "additionalProperties": false, - "properties": { - "label": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "nodeType", - "kind" - ], - "type": "object" - }, - "mutates": false, - "category": "query", - "capabilities": [ - "search", - "session-targeting", - "stateless-doc" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "get-node-by-id" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "get_node_by_id" - }, - { - "operationId": "doc.info", - "toolName": "get_document_info", - "profile": "intent", - "source": "intent", - "description": "Return document metadata including revision, node count, and capabilities.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - } - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "capabilities": { - "additionalProperties": false, - "properties": { - "canComment": { - "type": "boolean" - }, - "canFind": { - "type": "boolean" - }, - "canGetNode": { - "type": "boolean" - }, - "canReplace": { - "type": "boolean" - } - }, - "required": [ - "canFind", - "canGetNode", - "canComment", - "canReplace" - ], - "type": "object" - }, - "counts": { - "additionalProperties": false, - "properties": { - "comments": { - "type": "integer" - }, - "headings": { - "type": "integer" - }, - "images": { - "type": "integer" - }, - "paragraphs": { - "type": "integer" - }, - "tables": { - "type": "integer" - }, - "words": { - "type": "integer" - } - }, - "required": [ - "words", - "paragraphs", - "headings", - "tables", - "images", - "comments" - ], - "type": "object" - }, - "outline": { - "items": { - "additionalProperties": false, - "properties": { - "level": { - "type": "integer" - }, - "nodeId": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": [ - "level", - "text", - "nodeId" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "counts", - "outline", - "capabilities" - ], - "type": "object" - }, - "mutates": false, - "category": "query", - "capabilities": [ - "search", - "session-targeting", - "stateless-doc" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "info" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "get_document_info" - }, - { - "operationId": "doc.insert", - "toolName": "insert_content", - "profile": "intent", - "source": "intent", - "description": "Insert text or inline content at a target position.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - }, - "text": { - "type": "string" - } - }, - "required": [ - "text" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "mutates": true, - "category": "mutation", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "INVALID_TARGET", - "NO_OP" - ], - "examples": [], - "commandTokens": [ - "insert" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "insert_content" - }, - { - "operationId": "doc.replace", - "toolName": "replace_content", - "profile": "intent", - "source": "intent", - "description": "Replace content at a target position with new text or inline content.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "text" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "mutates": true, - "category": "mutation", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "INVALID_TARGET", - "NO_OP" - ], - "examples": [], - "commandTokens": [ - "replace" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "replace_content" - }, - { - "operationId": "doc.delete", - "toolName": "delete_content", - "profile": "intent", - "source": "intent", - "description": "Delete content at a target position.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "mutates": true, - "category": "mutation", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "NO_OP" - ], - "examples": [], - "commandTokens": [ - "delete" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "delete_content" - }, - { - "operationId": "doc.format.bold", - "toolName": "format_bold", - "profile": "intent", - "source": "intent", - "description": "Toggle bold formatting on the target range.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "mutates": true, - "category": "format", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "INVALID_TARGET" - ], - "examples": [], - "commandTokens": [ - "format", - "bold" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "format_bold" - }, - { - "operationId": "doc.format.italic", - "toolName": "format_italic", - "profile": "intent", - "source": "intent", - "description": "Toggle italic formatting on the target range.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "mutates": true, - "category": "format", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "INVALID_TARGET" - ], - "examples": [], - "commandTokens": [ - "format", - "italic" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "format_italic" - }, - { - "operationId": "doc.format.underline", - "toolName": "format_underline", - "profile": "intent", - "source": "intent", - "description": "Toggle underline formatting on the target range.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "mutates": true, - "category": "format", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "INVALID_TARGET" - ], - "examples": [], - "commandTokens": [ - "format", - "underline" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "format_underline" - }, - { - "operationId": "doc.format.strikethrough", - "toolName": "format_strikethrough", - "profile": "intent", - "source": "intent", - "description": "Toggle strikethrough formatting on the target range.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "mutates": true, - "category": "format", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "INVALID_TARGET" - ], - "examples": [], - "commandTokens": [ - "format", - "strikethrough" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "format_strikethrough" - }, - { - "operationId": "doc.create.paragraph", - "toolName": "create_paragraph", - "profile": "intent", - "source": "intent", - "description": "Create a new paragraph at the target position.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "at": { - "oneOf": [ - { - "type": "object", - "properties": { - "kind": { - "const": "documentStart" - } - }, - "required": [ - "kind" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "documentEnd" - } - }, - "required": [ - "kind" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "before" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "kind", - "target" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "after" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "kind", - "target" - ] - } - ] - }, - "text": { - "type": "string" - }, - "input": {} - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "insertionPoint": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "paragraph": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "paragraph" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - }, - "trackedChangeRefs": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "success", - "paragraph", - "insertionPoint" - ], - "type": "object" - }, - "mutates": true, - "category": "create", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "structural-create", - "tracked-change-mode" - ], - "errors": [ - "INVALID_TARGET" - ], - "examples": [], - "commandTokens": [ - "create", - "paragraph" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "create_paragraph" - }, - { - "operationId": "doc.lists.list", - "toolName": "list_lists", - "profile": "intent", - "source": "intent", - "description": "List all list nodes in the document, optionally filtered by scope.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "within": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "limit": { - "type": "number" - }, - "offset": { - "type": "number" - }, - "kind": { - "type": "string" - }, - "level": { - "type": "number" - }, - "ordinal": { - "type": "number" - }, - "query": {} - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "items": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "kind": { - "enum": [ - "ordered", - "bullet" - ] - }, - "level": { - "type": "integer" - }, - "marker": { - "type": "string" - }, - "ordinal": { - "type": "integer" - }, - "path": { - "items": { - "type": "integer" - }, - "type": "array" - }, - "text": { - "type": "string" - } - }, - "required": [ - "address" - ], - "type": "object" - }, - "type": "array" - }, - "matches": { - "items": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": [ - "matches", - "total", - "items" - ], - "type": "object" - }, - "mutates": false, - "category": "lists", - "capabilities": [ - "session-targeting", - "stateless-doc" - ], - "constraints": { - "mutuallyExclusive": [ - [ - "query", - "within" - ], - [ - "query", - "kind" - ], - [ - "query", - "level" - ], - [ - "query", - "ordinal" - ], - [ - "query", - "limit" - ], - [ - "query", - "offset" - ] - ] - }, - "errors": [], - "examples": [], - "commandTokens": [ - "lists", - "list" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasLists" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "list_lists" - }, - { - "operationId": "doc.lists.get", - "toolName": "get_list", - "profile": "intent", - "source": "intent", - "description": "Retrieve a specific list node by target.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "address": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "address" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "kind": { - "enum": [ - "ordered", - "bullet" - ] - }, - "level": { - "type": "integer" - }, - "marker": { - "type": "string" - }, - "ordinal": { - "type": "integer" - }, - "path": { - "items": { - "type": "integer" - }, - "type": "array" - }, - "text": { - "type": "string" - } - }, - "required": [ - "address" - ], - "type": "object" - }, - "mutates": false, - "category": "lists", - "capabilities": [ - "session-targeting", - "stateless-doc" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "lists", - "get" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasLists" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "get_list" - }, - { - "operationId": "doc.lists.insert", - "toolName": "insert_list", - "profile": "intent", - "source": "intent", - "description": "Insert a new list at the target position.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "position": { - "type": "string" - }, - "text": { - "type": "string" - }, - "input": {} - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "insertionPoint": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - }, - "trackedChangeRefs": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "success", - "item", - "insertionPoint" - ], - "type": "object" - }, - "mutates": true, - "category": "lists", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "INVALID_TARGET" - ], - "examples": [], - "commandTokens": [ - "lists", - "insert" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasLists" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "insert_list" - }, - { - "operationId": "doc.lists.setType", - "toolName": "set_list_type", - "profile": "intent", - "source": "intent", - "description": "Change the list type (ordered, unordered) of a target list.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "kind": { - "type": "string" - }, - "input": {} - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - "mutates": true, - "category": "lists", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "NO_OP", - "INVALID_TARGET" - ], - "examples": [], - "commandTokens": [ - "lists", - "set-type" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasLists" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "set_list_type" - }, - { - "operationId": "doc.lists.indent", - "toolName": "indent_list", - "profile": "intent", - "source": "intent", - "description": "Increase the indentation level of a list item.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - "mutates": true, - "category": "lists", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "NO_OP", - "INVALID_TARGET" - ], - "examples": [], - "commandTokens": [ - "lists", - "indent" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasLists" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "indent_list" - }, - { - "operationId": "doc.lists.outdent", - "toolName": "outdent_list", - "profile": "intent", - "source": "intent", - "description": "Decrease the indentation level of a list item.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - "mutates": true, - "category": "lists", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "NO_OP", - "INVALID_TARGET" - ], - "examples": [], - "commandTokens": [ - "lists", - "outdent" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasLists" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "outdent_list" - }, - { - "operationId": "doc.lists.restart", - "toolName": "restart_list_numbering", - "profile": "intent", - "source": "intent", - "description": "Restart numbering of an ordered list at the target item.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - "mutates": true, - "category": "lists", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "NO_OP", - "INVALID_TARGET" - ], - "examples": [], - "commandTokens": [ - "lists", - "restart" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasLists" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "restart_list_numbering" - }, - { - "operationId": "doc.lists.exit", - "toolName": "exit_list", - "profile": "intent", - "source": "intent", - "description": "Exit a list context, converting the target item to a paragraph.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "paragraph": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "paragraph" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "paragraph" - ], - "type": "object" - }, - "mutates": true, - "category": "lists", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "INVALID_TARGET" - ], - "examples": [], - "commandTokens": [ - "lists", - "exit" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasLists" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "exit_list" - }, - { - "operationId": "doc.comments.add", - "toolName": "add_comment", - "profile": "intent", - "source": "intent", - "description": "Add a new comment thread anchored to a target range.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "text" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "INVALID_TARGET", - "NO_OP" - ], - "examples": [], - "commandTokens": [ - "comments", - "add" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasComments" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "add_comment" - }, - { - "operationId": "doc.comments.edit", - "toolName": "edit_comment", - "profile": "intent", - "source": "intent", - "description": "Edit the content of an existing comment.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": [ - "id", - "text" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "NO_OP" - ], - "examples": [], - "commandTokens": [ - "comments", - "edit" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasComments" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "edit_comment" - }, - { - "operationId": "doc.comments.reply", - "toolName": "reply_to_comment", - "profile": "intent", - "source": "intent", - "description": "Add a reply to an existing comment thread.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "parentId": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": [ - "parentId", - "text" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "INVALID_TARGET" - ], - "examples": [], - "commandTokens": [ - "comments", - "reply" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasComments" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "reply_to_comment" - }, - { - "operationId": "doc.comments.move", - "toolName": "move_comment", - "profile": "intent", - "source": "intent", - "description": "Move a comment thread to a new anchor range.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "id", - "target" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "INVALID_TARGET", - "NO_OP" - ], - "examples": [], - "commandTokens": [ - "comments", - "move" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasComments" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "move_comment" - }, - { - "operationId": "doc.comments.resolve", - "toolName": "resolve_comment", - "profile": "intent", - "source": "intent", - "description": "Resolve or unresolve a comment thread.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "NO_OP" - ], - "examples": [], - "commandTokens": [ - "comments", - "resolve" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasComments" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "resolve_comment" - }, - { - "operationId": "doc.comments.remove", - "toolName": "remove_comment", - "profile": "intent", - "source": "intent", - "description": "Remove a comment or reply by ID.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "NO_OP" - ], - "examples": [], - "commandTokens": [ - "comments", - "remove" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasComments" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "remove_comment" - }, - { - "operationId": "doc.comments.setInternal", - "toolName": "set_comment_internal", - "profile": "intent", - "source": "intent", - "description": "Toggle the internal (private) flag on a comment thread.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "isInternal": { - "type": "boolean" - } - }, - "required": [ - "id", - "isInternal" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "NO_OP", - "INVALID_TARGET" - ], - "examples": [], - "commandTokens": [ - "comments", - "set-internal" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasComments" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "set_comment_internal" - }, - { - "operationId": "doc.comments.setActive", - "toolName": "set_comment_active", - "profile": "intent", - "source": "intent", - "description": "Set the active (focused) comment thread for UI highlighting.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "commentId": { - "type": "json" - }, - "id": { - "type": "string" - }, - "clear": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "constraints": { - "requiresOneOf": [ - [ - "id", - "clear" - ] - ], - "mutuallyExclusive": [ - [ - "id", - "clear" - ] - ] - }, - "errors": [ - "INVALID_TARGET" - ], - "examples": [], - "commandTokens": [ - "comments", - "set-active" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasComments" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "set_comment_active" - }, - { - "operationId": "doc.comments.goTo", - "toolName": "go_to_comment", - "profile": "intent", - "source": "intent", - "description": "Scroll the viewport to a comment thread by ID.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "mutates": false, - "category": "comments", - "capabilities": [ - "comments", - "session-targeting", - "stateless-doc" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "comments", - "go-to" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasComments" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "go_to_comment" - }, - { - "operationId": "doc.comments.get", - "toolName": "get_comment", - "profile": "intent", - "source": "intent", - "description": "Retrieve a single comment thread by ID.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "commentId": { - "type": "string" - }, - "createdTime": { - "type": "number" - }, - "creatorEmail": { - "type": "string" - }, - "creatorName": { - "type": "string" - }, - "importedId": { - "type": "string" - }, - "isInternal": { - "type": "boolean" - }, - "parentCommentId": { - "type": "string" - }, - "status": { - "enum": [ - "open", - "resolved" - ] - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "address", - "commentId", - "status" - ], - "type": "object" - }, - "mutates": false, - "category": "comments", - "capabilities": [ - "comments", - "session-targeting", - "stateless-doc" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "comments", - "get" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasComments" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "get_comment" - }, - { - "operationId": "doc.comments.list", - "toolName": "list_comments", - "profile": "intent", - "source": "intent", - "description": "List all comment threads in the document.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "includeResolved": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "matches": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "commentId": { - "type": "string" - }, - "createdTime": { - "type": "number" - }, - "creatorEmail": { - "type": "string" - }, - "creatorName": { - "type": "string" - }, - "importedId": { - "type": "string" - }, - "isInternal": { - "type": "boolean" - }, - "parentCommentId": { - "type": "string" - }, - "status": { - "enum": [ - "open", - "resolved" - ] - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "address", - "commentId", - "status" - ], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": [ - "matches", - "total" - ], - "type": "object" - }, - "mutates": false, - "category": "comments", - "capabilities": [ - "comments", - "session-targeting", - "stateless-doc" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "comments", - "list" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasComments" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "list_comments" - }, - { - "operationId": "doc.trackChanges.list", - "toolName": "list_tracked_changes", - "profile": "intent", - "source": "intent", - "description": "List all tracked changes in the document.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "limit": { - "type": "number" - }, - "offset": { - "type": "number" - }, - "type": { - "type": "string" - } - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "changes": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "author": { - "type": "string" - }, - "authorEmail": { - "type": "string" - }, - "authorImage": { - "type": "string" - }, - "date": { - "type": "string" - }, - "excerpt": { - "type": "string" - }, - "id": { - "type": "string" - }, - "type": { - "enum": [ - "insert", - "delete", - "format" - ] - } - }, - "required": [ - "address", - "id", - "type" - ], - "type": "object" - }, - "type": "array" - }, - "matches": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": [ - "matches", - "total" - ], - "type": "object" - }, - "mutates": false, - "category": "trackChanges", - "capabilities": [ - "session-targeting", - "stateless-doc", - "track-changes" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "track-changes", - "list" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasTrackedChanges" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "list_tracked_changes" - }, - { - "operationId": "doc.trackChanges.get", - "toolName": "get_tracked_change", - "profile": "intent", - "source": "intent", - "description": "Retrieve a single tracked change by ID.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "author": { - "type": "string" - }, - "authorEmail": { - "type": "string" - }, - "authorImage": { - "type": "string" - }, - "date": { - "type": "string" - }, - "excerpt": { - "type": "string" - }, - "id": { - "type": "string" - }, - "type": { - "enum": [ - "insert", - "delete", - "format" - ] - } - }, - "required": [ - "address", - "id", - "type" - ], - "type": "object" - }, - "mutates": false, - "category": "trackChanges", - "capabilities": [ - "session-targeting", - "stateless-doc", - "track-changes" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "track-changes", - "get" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasTrackedChanges" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "get_tracked_change" - }, - { - "operationId": "doc.trackChanges.accept", - "toolName": "accept_tracked_change", - "profile": "intent", - "source": "intent", - "description": "Accept a tracked change, applying it permanently.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "mutates": true, - "category": "trackChanges", - "capabilities": [ - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "track-changes", - "tracked-change-mode" - ], - "errors": [ - "NO_OP" - ], - "examples": [], - "commandTokens": [ - "track-changes", - "accept" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasTrackedChanges" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "accept_tracked_change" - }, - { - "operationId": "doc.trackChanges.reject", - "toolName": "reject_tracked_change", - "profile": "intent", - "source": "intent", - "description": "Reject a tracked change, reverting it.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "mutates": true, - "category": "trackChanges", - "capabilities": [ - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "track-changes", - "tracked-change-mode" - ], - "errors": [ - "NO_OP" - ], - "examples": [], - "commandTokens": [ - "track-changes", - "reject" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasTrackedChanges" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "reject_tracked_change" - }, - { - "operationId": "doc.trackChanges.acceptAll", - "toolName": "accept_all_tracked_changes", - "profile": "intent", - "source": "intent", - "description": "Accept all tracked changes in the document.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "mutates": true, - "category": "trackChanges", - "capabilities": [ - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "track-changes", - "tracked-change-mode" - ], - "errors": [ - "NO_OP" - ], - "examples": [], - "commandTokens": [ - "track-changes", - "accept-all" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasTrackedChanges" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "accept_all_tracked_changes" - }, - { - "operationId": "doc.trackChanges.rejectAll", - "toolName": "reject_all_tracked_changes", - "profile": "intent", - "source": "intent", - "description": "Reject all tracked changes in the document.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "mutates": true, - "category": "trackChanges", - "capabilities": [ - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "track-changes", - "tracked-change-mode" - ], - "errors": [ - "NO_OP" - ], - "examples": [], - "commandTokens": [ - "track-changes", - "reject-all" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasTrackedChanges" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "reject_all_tracked_changes" - }, - { - "operationId": "doc.open", - "toolName": "open_document", - "profile": "intent", - "source": "intent", - "description": "Open a document and create a persistent editing session.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "collaboration": {}, - "collabDocumentId": { - "type": "string" - }, - "collabUrl": { - "type": "string" - } - }, - "required": [ - "doc" - ], - "additionalProperties": false - }, - "outputSchema": { - "type": "object", - "properties": { - "contextId": { - "type": "string" - }, - "sessionType": { - "type": "string" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - }, - "revision": { - "type": "number" - } - } - }, - "collaboration": { - "type": "object", - "properties": { - "documentId": { - "type": "string" - }, - "url": { - "type": "string" - } - } - } - }, - "required": [ - "contextId", - "sessionType" - ] - }, - "mutates": false, - "category": "lifecycle", - "capabilities": [ - "session-targeting", - "stateless-doc" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "open" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "open_document" - }, - { - "operationId": "doc.save", - "toolName": "save_document", - "profile": "intent", - "source": "intent", - "description": "Save the current session to the original file or a new path.", - "inputSchema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "outputSchema": { - "type": "object", - "properties": { - "contextId": { - "type": "string" - }, - "saved": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - }, - "revision": { - "type": "number" - } - } - }, - "context": { - "type": "object", - "properties": { - "dirty": { - "type": "boolean" - }, - "revision": { - "type": "number" - }, - "lastSavedAt": { - "type": "string" - } - } - }, - "output": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "byteLength": { - "type": "number" - } - } - } - }, - "required": [ - "contextId", - "saved" - ] - }, - "mutates": true, - "category": "lifecycle", - "capabilities": [ - "output-path", - "session-targeting" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "save" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "save_document" - }, - { - "operationId": "doc.close", - "toolName": "close_document", - "profile": "intent", - "source": "intent", - "description": "Close the active editing session and clean up resources.", - "inputSchema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "discard": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "outputSchema": { - "type": "object", - "properties": { - "contextId": { - "type": "string" - }, - "closed": { - "type": "boolean" - }, - "saved": { - "type": "boolean" - }, - "discarded": { - "type": "boolean" - }, - "defaultSessionCleared": { - "type": "boolean" - }, - "wasDirty": { - "type": "boolean" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - }, - "revision": { - "type": "number" - } - } - } - }, - "required": [ - "contextId", - "closed" - ] - }, - "mutates": false, - "category": "lifecycle", - "capabilities": [ - "session-targeting" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "close" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "close_document" - }, - { - "operationId": "doc.status", - "toolName": "get_status", - "profile": "intent", - "source": "intent", - "description": "Show the current session status and document metadata.", - "inputSchema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - } - }, - "additionalProperties": false - }, - "outputSchema": { - "type": "object", - "properties": { - "contextId": { - "type": "string" - }, - "sessionType": { - "type": "string" - }, - "dirty": { - "type": "boolean" - }, - "revision": { - "type": "number" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - } - } - } - }, - "required": [ - "contextId" - ] - }, - "mutates": false, - "category": "introspection", - "capabilities": [ - "introspection", - "session-targeting" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "status" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "get_status" - }, - { - "operationId": "doc.describe", - "toolName": "describe_commands", - "profile": "intent", - "source": "intent", - "description": "List all available CLI operations and contract metadata.", - "inputSchema": { - "type": "object", - "properties": {}, - "additionalProperties": false - }, - "outputSchema": { - "type": "object", - "properties": { - "contractVersion": { - "type": "string" - }, - "operations": { - "type": "array", - "items": { - "type": "object", - "properties": { - "operationId": { - "type": "string" - }, - "command": { - "type": "string" - }, - "category": { - "type": "string" - }, - "description": { - "type": "string" - }, - "mutates": { - "type": "boolean" - } - } - } - } - } - }, - "mutates": false, - "category": "introspection", - "capabilities": [ - "introspection" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "describe" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": false, - "supportsSessionTargeting": false - }, - "intentId": "describe_commands" - }, - { - "operationId": "doc.describeCommand", - "toolName": "describe_command", - "profile": "intent", - "source": "intent", - "description": "Show detailed metadata for a single CLI operation.", - "inputSchema": { - "type": "object", - "properties": { - "operationId": { - "type": "string" - } - }, - "required": [ - "operationId" - ], - "additionalProperties": false - }, - "outputSchema": { - "type": "object", - "properties": { - "operationId": { - "type": "string" - }, - "command": { - "type": "string" - }, - "category": { - "type": "string" - }, - "description": { - "type": "string" - }, - "mutates": { - "type": "boolean" - }, - "params": { - "type": "array" - }, - "constraints": {} - } - }, - "mutates": false, - "category": "introspection", - "capabilities": [ - "introspection" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "describe", - "command" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": false, - "supportsSessionTargeting": false - }, - "intentId": "describe_command" - }, - { - "operationId": "doc.session.list", - "toolName": "list_sessions", - "profile": "intent", - "source": "intent", - "description": "List all active editing sessions.", - "inputSchema": { - "type": "object", - "properties": {}, - "additionalProperties": false - }, - "outputSchema": { - "type": "object", - "properties": { - "activeSessionId": { - "type": "string" - }, - "sessions": { - "type": "array", - "items": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "sessionType": { - "type": "string" - }, - "dirty": { - "type": "boolean" - }, - "revision": { - "type": "number" - } - } - } - }, - "total": { - "type": "number" - } - } - }, - "mutates": false, - "category": "session", - "capabilities": [ - "session-management" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "session", - "list" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": false, - "supportsSessionTargeting": false - }, - "intentId": "list_sessions" - }, - { - "operationId": "doc.session.save", - "toolName": "save_session", - "profile": "intent", - "source": "intent", - "description": "Persist the current session state.", - "inputSchema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - } - }, - "required": [ - "sessionId" - ], - "additionalProperties": false - }, - "outputSchema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "contextId": { - "type": "string" - }, - "saved": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - }, - "revision": { - "type": "number" - } - } - }, - "output": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "byteLength": { - "type": "number" - } - } - } - }, - "required": [ - "sessionId" - ] - }, - "mutates": true, - "category": "session", - "capabilities": [ - "output-path", - "session-management", - "session-targeting" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "session", - "save" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "save_session" - }, - { - "operationId": "doc.session.close", - "toolName": "close_session", - "profile": "intent", - "source": "intent", - "description": "Close a specific editing session by ID.", - "inputSchema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "discard": { - "type": "boolean" - } - }, - "required": [ - "sessionId" - ], - "additionalProperties": false - }, - "outputSchema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "contextId": { - "type": "string" - }, - "closed": { - "type": "boolean" - }, - "saved": { - "type": "boolean" - }, - "discarded": { - "type": "boolean" - }, - "defaultSessionCleared": { - "type": "boolean" - }, - "wasDirty": { - "type": "boolean" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - }, - "revision": { - "type": "number" - } - } - } - }, - "required": [ - "sessionId" - ] - }, - "mutates": false, - "category": "session", - "capabilities": [ - "session-management", - "session-targeting" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "session", - "close" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "close_session" - }, - { - "operationId": "doc.session.setDefault", - "toolName": "set_default_session", - "profile": "intent", - "source": "intent", - "description": "Set the default session for subsequent commands.", - "inputSchema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - } - }, - "required": [ - "sessionId" - ], - "additionalProperties": false - }, - "outputSchema": { - "type": "object", - "properties": { - "activeSessionId": { - "type": "string" - } - }, - "required": [ - "activeSessionId" - ] - }, - "mutates": false, - "category": "session", - "capabilities": [ - "session-management", - "session-targeting" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "session", - "set-default" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - }, - "intentId": "set_default_session" - } - ] - }, - "operation": { - "name": "operation", - "tools": [ - { - "operationId": "doc.find", - "toolName": "doc_find", - "profile": "operation", - "source": "operation", - "description": "Search the document for nodes matching type, text, or attribute criteria.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "within": { - "oneOf": [ - { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "inline" - }, - "nodeType": { - "oneOf": [ - { - "const": "run" - }, - { - "const": "bookmark" - }, - { - "const": "comment" - }, - { - "const": "hyperlink" - }, - { - "const": "sdt" - }, - { - "const": "image" - }, - { - "const": "footnoteRef" - }, - { - "const": "tab" - }, - { - "const": "lineBreak" - } - ] - }, - "anchor": { - "type": "object", - "properties": { - "start": { - "type": "object", - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "number" - } - }, - "required": [ - "blockId", - "offset" - ] - }, - "end": { - "type": "object", - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "number" - } - }, - "required": [ - "blockId", - "offset" - ] - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ] - } - ] - }, - "limit": { - "type": "number" - }, - "offset": { - "type": "number" - }, - "includeNodes": { - "type": "boolean" - }, - "includeUnknown": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "nodeType": { - "type": "string" - }, - "kind": { - "type": "string" - }, - "pattern": { - "type": "string" - }, - "mode": { - "type": "string" - }, - "caseSensitive": { - "type": "boolean" - }, - "query": {} - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "context": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt" - ] - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": [ - "run", - "bookmark", - "comment", - "hyperlink", - "sdt", - "image", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ], - "type": "object" - } - ] - }, - "highlightRange": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "snippet": { - "type": "string" - }, - "textRanges": { - "items": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "address", - "snippet", - "highlightRange" - ], - "type": "object" - }, - "type": "array" - }, - "diagnostics": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt" - ] - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": [ - "run", - "bookmark", - "comment", - "hyperlink", - "sdt", - "image", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ], - "type": "object" - } - ] - }, - "hint": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "required": [ - "message" - ], - "type": "object" - }, - "type": "array" - }, - "matches": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt" - ] - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": [ - "run", - "bookmark", - "comment", - "hyperlink", - "sdt", - "image", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "nodes": { - "items": { - "additionalProperties": false, - "properties": { - "bodyNodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "bodyText": { - "type": "string" - }, - "kind": { - "enum": [ - "block", - "inline" - ] - }, - "nodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - }, - "properties": { - "type": "object" - }, - "summary": { - "additionalProperties": false, - "properties": { - "label": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "nodeType", - "kind" - ], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": [ - "matches", - "total" - ], - "type": "object" - }, - "mutates": false, - "category": "query", - "capabilities": [ - "search", - "session-targeting", - "stateless-doc" - ], - "constraints": { - "requiresOneOf": [ - [ - "type", - "query" - ] - ], - "mutuallyExclusive": [ - [ - "type", - "query" - ] - ] - }, - "errors": [], - "examples": [], - "commandTokens": [ - "find" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.getNode", - "toolName": "doc_getNode", - "profile": "operation", - "source": "operation", - "description": "Retrieve a single node by target position.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "address": {} - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "bodyNodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "bodyText": { - "type": "string" - }, - "kind": { - "enum": [ - "block", - "inline" - ] - }, - "nodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - }, - "properties": { - "type": "object" - }, - "summary": { - "additionalProperties": false, - "properties": { - "label": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "nodeType", - "kind" - ], - "type": "object" - }, - "mutates": false, - "category": "query", - "capabilities": [ - "search", - "session-targeting", - "stateless-doc" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "get-node" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.getNodeById", - "toolName": "doc_getNodeById", - "profile": "operation", - "source": "operation", - "description": "Retrieve a single node by its unique ID.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - }, - "nodeType": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "bodyNodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "bodyText": { - "type": "string" - }, - "kind": { - "enum": [ - "block", - "inline" - ] - }, - "nodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - }, - "properties": { - "type": "object" - }, - "summary": { - "additionalProperties": false, - "properties": { - "label": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "nodeType", - "kind" - ], - "type": "object" - }, - "mutates": false, - "category": "query", - "capabilities": [ - "search", - "session-targeting", - "stateless-doc" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "get-node-by-id" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.info", - "toolName": "doc_info", - "profile": "operation", - "source": "operation", - "description": "Return document metadata including revision, node count, and capabilities.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - } - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "capabilities": { - "additionalProperties": false, - "properties": { - "canComment": { - "type": "boolean" - }, - "canFind": { - "type": "boolean" - }, - "canGetNode": { - "type": "boolean" - }, - "canReplace": { - "type": "boolean" - } - }, - "required": [ - "canFind", - "canGetNode", - "canComment", - "canReplace" - ], - "type": "object" - }, - "counts": { - "additionalProperties": false, - "properties": { - "comments": { - "type": "integer" - }, - "headings": { - "type": "integer" - }, - "images": { - "type": "integer" - }, - "paragraphs": { - "type": "integer" - }, - "tables": { - "type": "integer" - }, - "words": { - "type": "integer" - } - }, - "required": [ - "words", - "paragraphs", - "headings", - "tables", - "images", - "comments" - ], - "type": "object" - }, - "outline": { - "items": { - "additionalProperties": false, - "properties": { - "level": { - "type": "integer" - }, - "nodeId": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": [ - "level", - "text", - "nodeId" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "counts", - "outline", - "capabilities" - ], - "type": "object" - }, - "mutates": false, - "category": "query", - "capabilities": [ - "search", - "session-targeting", - "stateless-doc" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "info" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.insert", - "toolName": "doc_insert", - "profile": "operation", - "source": "operation", - "description": "Insert text or inline content at a target position.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - }, - "text": { - "type": "string" - } - }, - "required": [ - "text" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "mutates": true, - "category": "mutation", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "INVALID_TARGET", - "NO_OP" - ], - "examples": [], - "commandTokens": [ - "insert" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.replace", - "toolName": "doc_replace", - "profile": "operation", - "source": "operation", - "description": "Replace content at a target position with new text or inline content.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "text" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "mutates": true, - "category": "mutation", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "INVALID_TARGET", - "NO_OP" - ], - "examples": [], - "commandTokens": [ - "replace" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.delete", - "toolName": "doc_delete", - "profile": "operation", - "source": "operation", - "description": "Delete content at a target position.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "mutates": true, - "category": "mutation", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "NO_OP" - ], - "examples": [], - "commandTokens": [ - "delete" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.format.bold", - "toolName": "doc_format_bold", - "profile": "operation", - "source": "operation", - "description": "Toggle bold formatting on the target range.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "mutates": true, - "category": "format", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "INVALID_TARGET" - ], - "examples": [], - "commandTokens": [ - "format", - "bold" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.format.italic", - "toolName": "doc_format_italic", - "profile": "operation", - "source": "operation", - "description": "Toggle italic formatting on the target range.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "mutates": true, - "category": "format", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "INVALID_TARGET" - ], - "examples": [], - "commandTokens": [ - "format", - "italic" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.format.underline", - "toolName": "doc_format_underline", - "profile": "operation", - "source": "operation", - "description": "Toggle underline formatting on the target range.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "mutates": true, - "category": "format", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "INVALID_TARGET" - ], - "examples": [], - "commandTokens": [ - "format", - "underline" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.format.strikethrough", - "toolName": "doc_format_strikethrough", - "profile": "operation", - "source": "operation", - "description": "Toggle strikethrough formatting on the target range.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "mutates": true, - "category": "format", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "INVALID_TARGET" - ], - "examples": [], - "commandTokens": [ - "format", - "strikethrough" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.create.paragraph", - "toolName": "doc_create_paragraph", - "profile": "operation", - "source": "operation", - "description": "Create a new paragraph at the target position.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "at": { - "oneOf": [ - { - "type": "object", - "properties": { - "kind": { - "const": "documentStart" - } - }, - "required": [ - "kind" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "documentEnd" - } - }, - "required": [ - "kind" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "before" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "kind", - "target" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "after" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "kind", - "target" - ] - } - ] - }, - "text": { - "type": "string" - }, - "input": {} - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "insertionPoint": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "paragraph": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "paragraph" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - }, - "trackedChangeRefs": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "success", - "paragraph", - "insertionPoint" - ], - "type": "object" - }, - "mutates": true, - "category": "create", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "structural-create", - "tracked-change-mode" - ], - "errors": [ - "INVALID_TARGET" - ], - "examples": [], - "commandTokens": [ - "create", - "paragraph" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.lists.list", - "toolName": "doc_lists_list", - "profile": "operation", - "source": "operation", - "description": "List all list nodes in the document, optionally filtered by scope.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "within": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "limit": { - "type": "number" - }, - "offset": { - "type": "number" - }, - "kind": { - "type": "string" - }, - "level": { - "type": "number" - }, - "ordinal": { - "type": "number" - }, - "query": {} - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "items": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "kind": { - "enum": [ - "ordered", - "bullet" - ] - }, - "level": { - "type": "integer" - }, - "marker": { - "type": "string" - }, - "ordinal": { - "type": "integer" - }, - "path": { - "items": { - "type": "integer" - }, - "type": "array" - }, - "text": { - "type": "string" - } - }, - "required": [ - "address" - ], - "type": "object" - }, - "type": "array" - }, - "matches": { - "items": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": [ - "matches", - "total", - "items" - ], - "type": "object" - }, - "mutates": false, - "category": "lists", - "capabilities": [ - "session-targeting", - "stateless-doc" - ], - "constraints": { - "mutuallyExclusive": [ - [ - "query", - "within" - ], - [ - "query", - "kind" - ], - [ - "query", - "level" - ], - [ - "query", - "ordinal" - ], - [ - "query", - "limit" - ], - [ - "query", - "offset" - ] - ] - }, - "errors": [], - "examples": [], - "commandTokens": [ - "lists", - "list" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasLists" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.lists.get", - "toolName": "doc_lists_get", - "profile": "operation", - "source": "operation", - "description": "Retrieve a specific list node by target.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "address": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "address" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "kind": { - "enum": [ - "ordered", - "bullet" - ] - }, - "level": { - "type": "integer" - }, - "marker": { - "type": "string" - }, - "ordinal": { - "type": "integer" - }, - "path": { - "items": { - "type": "integer" - }, - "type": "array" - }, - "text": { - "type": "string" - } - }, - "required": [ - "address" - ], - "type": "object" - }, - "mutates": false, - "category": "lists", - "capabilities": [ - "session-targeting", - "stateless-doc" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "lists", - "get" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasLists" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.lists.insert", - "toolName": "doc_lists_insert", - "profile": "operation", - "source": "operation", - "description": "Insert a new list at the target position.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "position": { - "type": "string" - }, - "text": { - "type": "string" - }, - "input": {} - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "insertionPoint": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - }, - "trackedChangeRefs": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "success", - "item", - "insertionPoint" - ], - "type": "object" - }, - "mutates": true, - "category": "lists", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "INVALID_TARGET" - ], - "examples": [], - "commandTokens": [ - "lists", - "insert" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasLists" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.lists.setType", - "toolName": "doc_lists_setType", - "profile": "operation", - "source": "operation", - "description": "Change the list type (ordered, unordered) of a target list.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "kind": { - "type": "string" - }, - "input": {} - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - "mutates": true, - "category": "lists", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "NO_OP", - "INVALID_TARGET" - ], - "examples": [], - "commandTokens": [ - "lists", - "set-type" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasLists" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.lists.indent", - "toolName": "doc_lists_indent", - "profile": "operation", - "source": "operation", - "description": "Increase the indentation level of a list item.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - "mutates": true, - "category": "lists", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "NO_OP", - "INVALID_TARGET" - ], - "examples": [], - "commandTokens": [ - "lists", - "indent" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasLists" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.lists.outdent", - "toolName": "doc_lists_outdent", - "profile": "operation", - "source": "operation", - "description": "Decrease the indentation level of a list item.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - "mutates": true, - "category": "lists", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "NO_OP", - "INVALID_TARGET" - ], - "examples": [], - "commandTokens": [ - "lists", - "outdent" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasLists" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.lists.restart", - "toolName": "doc_lists_restart", - "profile": "operation", - "source": "operation", - "description": "Restart numbering of an ordered list at the target item.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - "mutates": true, - "category": "lists", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "NO_OP", - "INVALID_TARGET" - ], - "examples": [], - "commandTokens": [ - "lists", - "restart" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasLists" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.lists.exit", - "toolName": "doc_lists_exit", - "profile": "operation", - "source": "operation", - "description": "Exit a list context, converting the target item to a paragraph.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "paragraph": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "paragraph" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "paragraph" - ], - "type": "object" - }, - "mutates": true, - "category": "lists", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "INVALID_TARGET" - ], - "examples": [], - "commandTokens": [ - "lists", - "exit" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasLists" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.comments.add", - "toolName": "doc_comments_add", - "profile": "operation", - "source": "operation", - "description": "Add a new comment thread anchored to a target range.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "text" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "INVALID_TARGET", - "NO_OP" - ], - "examples": [], - "commandTokens": [ - "comments", - "add" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasComments" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.comments.edit", - "toolName": "doc_comments_edit", - "profile": "operation", - "source": "operation", - "description": "Edit the content of an existing comment.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": [ - "id", - "text" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "NO_OP" - ], - "examples": [], - "commandTokens": [ - "comments", - "edit" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasComments" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.comments.reply", - "toolName": "doc_comments_reply", - "profile": "operation", - "source": "operation", - "description": "Add a reply to an existing comment thread.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "parentId": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": [ - "parentId", - "text" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "INVALID_TARGET" - ], - "examples": [], - "commandTokens": [ - "comments", - "reply" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasComments" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.comments.move", - "toolName": "doc_comments_move", - "profile": "operation", - "source": "operation", - "description": "Move a comment thread to a new anchor range.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "id", - "target" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "INVALID_TARGET", - "NO_OP" - ], - "examples": [], - "commandTokens": [ - "comments", - "move" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasComments" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.comments.resolve", - "toolName": "doc_comments_resolve", - "profile": "operation", - "source": "operation", - "description": "Resolve or unresolve a comment thread.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "NO_OP" - ], - "examples": [], - "commandTokens": [ - "comments", - "resolve" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasComments" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.comments.remove", - "toolName": "doc_comments_remove", - "profile": "operation", - "source": "operation", - "description": "Remove a comment or reply by ID.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "NO_OP" - ], - "examples": [], - "commandTokens": [ - "comments", - "remove" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasComments" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.comments.setInternal", - "toolName": "doc_comments_setInternal", - "profile": "operation", - "source": "operation", - "description": "Toggle the internal (private) flag on a comment thread.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "isInternal": { - "type": "boolean" - } - }, - "required": [ - "id", - "isInternal" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "errors": [ - "NO_OP", - "INVALID_TARGET" - ], - "examples": [], - "commandTokens": [ - "comments", - "set-internal" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasComments" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.comments.setActive", - "toolName": "doc_comments_setActive", - "profile": "operation", - "source": "operation", - "description": "Set the active (focused) comment thread for UI highlighting.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "commentId": { - "type": "json" - }, - "id": { - "type": "string" - }, - "clear": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "constraints": { - "requiresOneOf": [ - [ - "id", - "clear" - ] - ], - "mutuallyExclusive": [ - [ - "id", - "clear" - ] - ] - }, - "errors": [ - "INVALID_TARGET" - ], - "examples": [], - "commandTokens": [ - "comments", - "set-active" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasComments" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.comments.goTo", - "toolName": "doc_comments_goTo", - "profile": "operation", - "source": "operation", - "description": "Scroll the viewport to a comment thread by ID.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "mutates": false, - "category": "comments", - "capabilities": [ - "comments", - "session-targeting", - "stateless-doc" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "comments", - "go-to" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasComments" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.comments.get", - "toolName": "doc_comments_get", - "profile": "operation", - "source": "operation", - "description": "Retrieve a single comment thread by ID.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "commentId": { - "type": "string" - }, - "createdTime": { - "type": "number" - }, - "creatorEmail": { - "type": "string" - }, - "creatorName": { - "type": "string" - }, - "importedId": { - "type": "string" - }, - "isInternal": { - "type": "boolean" - }, - "parentCommentId": { - "type": "string" - }, - "status": { - "enum": [ - "open", - "resolved" - ] - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "address", - "commentId", - "status" - ], - "type": "object" - }, - "mutates": false, - "category": "comments", - "capabilities": [ - "comments", - "session-targeting", - "stateless-doc" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "comments", - "get" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasComments" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.comments.list", - "toolName": "doc_comments_list", - "profile": "operation", - "source": "operation", - "description": "List all comment threads in the document.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "includeResolved": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "matches": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "commentId": { - "type": "string" - }, - "createdTime": { - "type": "number" - }, - "creatorEmail": { - "type": "string" - }, - "creatorName": { - "type": "string" - }, - "importedId": { - "type": "string" - }, - "isInternal": { - "type": "boolean" - }, - "parentCommentId": { - "type": "string" - }, - "status": { - "enum": [ - "open", - "resolved" - ] - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "address", - "commentId", - "status" - ], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": [ - "matches", - "total" - ], - "type": "object" - }, - "mutates": false, - "category": "comments", - "capabilities": [ - "comments", - "session-targeting", - "stateless-doc" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "comments", - "list" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasComments" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.trackChanges.list", - "toolName": "doc_trackChanges_list", - "profile": "operation", - "source": "operation", - "description": "List all tracked changes in the document.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "limit": { - "type": "number" - }, - "offset": { - "type": "number" - }, - "type": { - "type": "string" - } - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "changes": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "author": { - "type": "string" - }, - "authorEmail": { - "type": "string" - }, - "authorImage": { - "type": "string" - }, - "date": { - "type": "string" - }, - "excerpt": { - "type": "string" - }, - "id": { - "type": "string" - }, - "type": { - "enum": [ - "insert", - "delete", - "format" - ] - } - }, - "required": [ - "address", - "id", - "type" - ], - "type": "object" - }, - "type": "array" - }, - "matches": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": [ - "matches", - "total" - ], - "type": "object" - }, - "mutates": false, - "category": "trackChanges", - "capabilities": [ - "session-targeting", - "stateless-doc", - "track-changes" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "track-changes", - "list" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasTrackedChanges" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.trackChanges.get", - "toolName": "doc_trackChanges_get", - "profile": "operation", - "source": "operation", - "description": "Retrieve a single tracked change by ID.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "author": { - "type": "string" - }, - "authorEmail": { - "type": "string" - }, - "authorImage": { - "type": "string" - }, - "date": { - "type": "string" - }, - "excerpt": { - "type": "string" - }, - "id": { - "type": "string" - }, - "type": { - "enum": [ - "insert", - "delete", - "format" - ] - } - }, - "required": [ - "address", - "id", - "type" - ], - "type": "object" - }, - "mutates": false, - "category": "trackChanges", - "capabilities": [ - "session-targeting", - "stateless-doc", - "track-changes" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "track-changes", - "get" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasTrackedChanges" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.trackChanges.accept", - "toolName": "doc_trackChanges_accept", - "profile": "operation", - "source": "operation", - "description": "Accept a tracked change, applying it permanently.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "mutates": true, - "category": "trackChanges", - "capabilities": [ - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "track-changes", - "tracked-change-mode" - ], - "errors": [ - "NO_OP" - ], - "examples": [], - "commandTokens": [ - "track-changes", - "accept" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasTrackedChanges" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.trackChanges.reject", - "toolName": "doc_trackChanges_reject", - "profile": "operation", - "source": "operation", - "description": "Reject a tracked change, reverting it.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "mutates": true, - "category": "trackChanges", - "capabilities": [ - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "track-changes", - "tracked-change-mode" - ], - "errors": [ - "NO_OP" - ], - "examples": [], - "commandTokens": [ - "track-changes", - "reject" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasTrackedChanges" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.trackChanges.acceptAll", - "toolName": "doc_trackChanges_acceptAll", - "profile": "operation", - "source": "operation", - "description": "Accept all tracked changes in the document.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "mutates": true, - "category": "trackChanges", - "capabilities": [ - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "track-changes", - "tracked-change-mode" - ], - "errors": [ - "NO_OP" - ], - "examples": [], - "commandTokens": [ - "track-changes", - "accept-all" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasTrackedChanges" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.trackChanges.rejectAll", - "toolName": "doc_trackChanges_rejectAll", - "profile": "operation", - "source": "operation", - "description": "Reject all tracked changes in the document.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "outputSchema": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "mutates": true, - "category": "trackChanges", - "capabilities": [ - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "track-changes", - "tracked-change-mode" - ], - "errors": [ - "NO_OP" - ], - "examples": [], - "commandTokens": [ - "track-changes", - "reject-all" - ], - "profileTags": [], - "requiredCapabilities": [ - "hasTrackedChanges" - ], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.open", - "toolName": "doc_open", - "profile": "operation", - "source": "operation", - "description": "Open a document and create a persistent editing session.", - "inputSchema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "collaboration": {}, - "collabDocumentId": { - "type": "string" - }, - "collabUrl": { - "type": "string" - } - }, - "required": [ - "doc" - ], - "additionalProperties": false - }, - "outputSchema": { - "type": "object", - "properties": { - "contextId": { - "type": "string" - }, - "sessionType": { - "type": "string" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - }, - "revision": { - "type": "number" - } - } - }, - "collaboration": { - "type": "object", - "properties": { - "documentId": { - "type": "string" - }, - "url": { - "type": "string" - } - } - } - }, - "required": [ - "contextId", - "sessionType" - ] - }, - "mutates": false, - "category": "lifecycle", - "capabilities": [ - "session-targeting", - "stateless-doc" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "open" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.save", - "toolName": "doc_save", - "profile": "operation", - "source": "operation", - "description": "Save the current session to the original file or a new path.", - "inputSchema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "outputSchema": { - "type": "object", - "properties": { - "contextId": { - "type": "string" - }, - "saved": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - }, - "revision": { - "type": "number" - } - } - }, - "context": { - "type": "object", - "properties": { - "dirty": { - "type": "boolean" - }, - "revision": { - "type": "number" - }, - "lastSavedAt": { - "type": "string" - } - } - }, - "output": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "byteLength": { - "type": "number" - } - } - } - }, - "required": [ - "contextId", - "saved" - ] - }, - "mutates": true, - "category": "lifecycle", - "capabilities": [ - "output-path", - "session-targeting" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "save" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.close", - "toolName": "doc_close", - "profile": "operation", - "source": "operation", - "description": "Close the active editing session and clean up resources.", - "inputSchema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "discard": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "outputSchema": { - "type": "object", - "properties": { - "contextId": { - "type": "string" - }, - "closed": { - "type": "boolean" - }, - "saved": { - "type": "boolean" - }, - "discarded": { - "type": "boolean" - }, - "defaultSessionCleared": { - "type": "boolean" - }, - "wasDirty": { - "type": "boolean" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - }, - "revision": { - "type": "number" - } - } - } - }, - "required": [ - "contextId", - "closed" - ] - }, - "mutates": false, - "category": "lifecycle", - "capabilities": [ - "session-targeting" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "close" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.status", - "toolName": "doc_status", - "profile": "operation", - "source": "operation", - "description": "Show the current session status and document metadata.", - "inputSchema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - } - }, - "additionalProperties": false - }, - "outputSchema": { - "type": "object", - "properties": { - "contextId": { - "type": "string" - }, - "sessionType": { - "type": "string" - }, - "dirty": { - "type": "boolean" - }, - "revision": { - "type": "number" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - } - } - } - }, - "required": [ - "contextId" - ] - }, - "mutates": false, - "category": "introspection", - "capabilities": [ - "introspection", - "session-targeting" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "status" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.describe", - "toolName": "doc_describe", - "profile": "operation", - "source": "operation", - "description": "List all available CLI operations and contract metadata.", - "inputSchema": { - "type": "object", - "properties": {}, - "additionalProperties": false - }, - "outputSchema": { - "type": "object", - "properties": { - "contractVersion": { - "type": "string" - }, - "operations": { - "type": "array", - "items": { - "type": "object", - "properties": { - "operationId": { - "type": "string" - }, - "command": { - "type": "string" - }, - "category": { - "type": "string" - }, - "description": { - "type": "string" - }, - "mutates": { - "type": "boolean" - } - } - } - } - } - }, - "mutates": false, - "category": "introspection", - "capabilities": [ - "introspection" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "describe" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": false, - "supportsSessionTargeting": false - } - }, - { - "operationId": "doc.describeCommand", - "toolName": "doc_describeCommand", - "profile": "operation", - "source": "operation", - "description": "Show detailed metadata for a single CLI operation.", - "inputSchema": { - "type": "object", - "properties": { - "operationId": { - "type": "string" - } - }, - "required": [ - "operationId" - ], - "additionalProperties": false - }, - "outputSchema": { - "type": "object", - "properties": { - "operationId": { - "type": "string" - }, - "command": { - "type": "string" - }, - "category": { - "type": "string" - }, - "description": { - "type": "string" - }, - "mutates": { - "type": "boolean" - }, - "params": { - "type": "array" - }, - "constraints": {} - } - }, - "mutates": false, - "category": "introspection", - "capabilities": [ - "introspection" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "describe", - "command" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": false, - "supportsSessionTargeting": false - } - }, - { - "operationId": "doc.session.list", - "toolName": "doc_session_list", - "profile": "operation", - "source": "operation", - "description": "List all active editing sessions.", - "inputSchema": { - "type": "object", - "properties": {}, - "additionalProperties": false - }, - "outputSchema": { - "type": "object", - "properties": { - "activeSessionId": { - "type": "string" - }, - "sessions": { - "type": "array", - "items": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "sessionType": { - "type": "string" - }, - "dirty": { - "type": "boolean" - }, - "revision": { - "type": "number" - } - } - } - }, - "total": { - "type": "number" - } - } - }, - "mutates": false, - "category": "session", - "capabilities": [ - "session-management" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "session", - "list" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": false, - "supportsSessionTargeting": false - } - }, - { - "operationId": "doc.session.save", - "toolName": "doc_session_save", - "profile": "operation", - "source": "operation", - "description": "Persist the current session state.", - "inputSchema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - } - }, - "required": [ - "sessionId" - ], - "additionalProperties": false - }, - "outputSchema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "contextId": { - "type": "string" - }, - "saved": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - }, - "revision": { - "type": "number" - } - } - }, - "output": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "byteLength": { - "type": "number" - } - } - } - }, - "required": [ - "sessionId" - ] - }, - "mutates": true, - "category": "session", - "capabilities": [ - "output-path", - "session-management", - "session-targeting" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "session", - "save" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.session.close", - "toolName": "doc_session_close", - "profile": "operation", - "source": "operation", - "description": "Close a specific editing session by ID.", - "inputSchema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "discard": { - "type": "boolean" - } - }, - "required": [ - "sessionId" - ], - "additionalProperties": false - }, - "outputSchema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "contextId": { - "type": "string" - }, - "closed": { - "type": "boolean" - }, - "saved": { - "type": "boolean" - }, - "discarded": { - "type": "boolean" - }, - "defaultSessionCleared": { - "type": "boolean" - }, - "wasDirty": { - "type": "boolean" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - }, - "revision": { - "type": "number" - } - } - } - }, - "required": [ - "sessionId" - ] - }, - "mutates": false, - "category": "session", - "capabilities": [ - "session-management", - "session-targeting" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "session", - "close" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - }, - { - "operationId": "doc.session.setDefault", - "toolName": "doc_session_setDefault", - "profile": "operation", - "source": "operation", - "description": "Set the default session for subsequent commands.", - "inputSchema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - } - }, - "required": [ - "sessionId" - ], - "additionalProperties": false - }, - "outputSchema": { - "type": "object", - "properties": { - "activeSessionId": { - "type": "string" - } - }, - "required": [ - "activeSessionId" - ] - }, - "mutates": false, - "category": "session", - "capabilities": [ - "session-management", - "session-targeting" - ], - "errors": [], - "examples": [], - "commandTokens": [ - "session", - "set-default" - ], - "profileTags": [], - "requiredCapabilities": [], - "sessionRequirements": { - "requiresOpenContext": true, - "supportsSessionTargeting": true - } - } - ] - } - } -} diff --git a/packages/sdk/tools/tool-name-map.json b/packages/sdk/tools/tool-name-map.json deleted file mode 100644 index aea949c26d..0000000000 --- a/packages/sdk/tools/tool-name-map.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "find_content": "doc.find", - "get_node": "doc.getNode", - "get_node_by_id": "doc.getNodeById", - "get_document_info": "doc.info", - "insert_content": "doc.insert", - "replace_content": "doc.replace", - "delete_content": "doc.delete", - "format_bold": "doc.format.bold", - "format_italic": "doc.format.italic", - "format_underline": "doc.format.underline", - "format_strikethrough": "doc.format.strikethrough", - "create_paragraph": "doc.create.paragraph", - "list_lists": "doc.lists.list", - "get_list": "doc.lists.get", - "insert_list": "doc.lists.insert", - "set_list_type": "doc.lists.setType", - "indent_list": "doc.lists.indent", - "outdent_list": "doc.lists.outdent", - "restart_list_numbering": "doc.lists.restart", - "exit_list": "doc.lists.exit", - "add_comment": "doc.comments.add", - "edit_comment": "doc.comments.edit", - "reply_to_comment": "doc.comments.reply", - "move_comment": "doc.comments.move", - "resolve_comment": "doc.comments.resolve", - "remove_comment": "doc.comments.remove", - "set_comment_internal": "doc.comments.setInternal", - "set_comment_active": "doc.comments.setActive", - "go_to_comment": "doc.comments.goTo", - "get_comment": "doc.comments.get", - "list_comments": "doc.comments.list", - "list_tracked_changes": "doc.trackChanges.list", - "get_tracked_change": "doc.trackChanges.get", - "accept_tracked_change": "doc.trackChanges.accept", - "reject_tracked_change": "doc.trackChanges.reject", - "accept_all_tracked_changes": "doc.trackChanges.acceptAll", - "reject_all_tracked_changes": "doc.trackChanges.rejectAll", - "open_document": "doc.open", - "save_document": "doc.save", - "close_document": "doc.close", - "get_status": "doc.status", - "describe_commands": "doc.describe", - "describe_command": "doc.describeCommand", - "list_sessions": "doc.session.list", - "save_session": "doc.session.save", - "close_session": "doc.session.close", - "set_default_session": "doc.session.setDefault", - "doc_find": "doc.find", - "doc_getNode": "doc.getNode", - "doc_getNodeById": "doc.getNodeById", - "doc_info": "doc.info", - "doc_insert": "doc.insert", - "doc_replace": "doc.replace", - "doc_delete": "doc.delete", - "doc_format_bold": "doc.format.bold", - "doc_format_italic": "doc.format.italic", - "doc_format_underline": "doc.format.underline", - "doc_format_strikethrough": "doc.format.strikethrough", - "doc_create_paragraph": "doc.create.paragraph", - "doc_lists_list": "doc.lists.list", - "doc_lists_get": "doc.lists.get", - "doc_lists_insert": "doc.lists.insert", - "doc_lists_setType": "doc.lists.setType", - "doc_lists_indent": "doc.lists.indent", - "doc_lists_outdent": "doc.lists.outdent", - "doc_lists_restart": "doc.lists.restart", - "doc_lists_exit": "doc.lists.exit", - "doc_comments_add": "doc.comments.add", - "doc_comments_edit": "doc.comments.edit", - "doc_comments_reply": "doc.comments.reply", - "doc_comments_move": "doc.comments.move", - "doc_comments_resolve": "doc.comments.resolve", - "doc_comments_remove": "doc.comments.remove", - "doc_comments_setInternal": "doc.comments.setInternal", - "doc_comments_setActive": "doc.comments.setActive", - "doc_comments_goTo": "doc.comments.goTo", - "doc_comments_get": "doc.comments.get", - "doc_comments_list": "doc.comments.list", - "doc_trackChanges_list": "doc.trackChanges.list", - "doc_trackChanges_get": "doc.trackChanges.get", - "doc_trackChanges_accept": "doc.trackChanges.accept", - "doc_trackChanges_reject": "doc.trackChanges.reject", - "doc_trackChanges_acceptAll": "doc.trackChanges.acceptAll", - "doc_trackChanges_rejectAll": "doc.trackChanges.rejectAll", - "doc_open": "doc.open", - "doc_save": "doc.save", - "doc_close": "doc.close", - "doc_status": "doc.status", - "doc_describe": "doc.describe", - "doc_describeCommand": "doc.describeCommand", - "doc_session_list": "doc.session.list", - "doc_session_save": "doc.session.save", - "doc_session_close": "doc.session.close", - "doc_session_setDefault": "doc.session.setDefault" -} diff --git a/packages/sdk/tools/tools-policy.json b/packages/sdk/tools/tools-policy.json deleted file mode 100644 index 3fe75bdba3..0000000000 --- a/packages/sdk/tools/tools-policy.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "policyVersion": "v1", - "phases": { - "read": { - "include": [ - "introspection", - "query" - ], - "exclude": [ - "mutation", - "trackChanges", - "session", - "create", - "comments", - "format" - ], - "priority": [ - "query", - "introspection" - ] - }, - "locate": { - "include": [ - "query" - ], - "exclude": [ - "mutation", - "trackChanges", - "session", - "create", - "comments", - "format" - ], - "priority": [ - "query" - ] - }, - "mutate": { - "include": [ - "query", - "mutation", - "format", - "comments", - "create" - ], - "exclude": [ - "session" - ], - "priority": [ - "query", - "mutation", - "create", - "format", - "comments" - ] - }, - "review": { - "include": [ - "query", - "trackChanges", - "comments" - ], - "exclude": [ - "mutation", - "create", - "session", - "format" - ], - "priority": [ - "trackChanges", - "comments", - "query" - ] - } - }, - "defaults": { - "maxToolsByProfile": { - "intent": 12, - "operation": 16 - }, - "minReadTools": 2, - "foundationalOperationIds": [ - "doc.info", - "doc.find" - ], - "chooserDecisionVersion": "v1" - }, - "capabilityFeatures": { - "comments": [ - "hasComments" - ], - "trackChanges": [ - "hasTrackedChanges" - ], - "lists": [ - "hasLists" - ] - }, - "contractHash": "937cad0ad9eb592c" -} diff --git a/packages/sdk/tools/tools.anthropic.json b/packages/sdk/tools/tools.anthropic.json deleted file mode 100644 index 9e4feb3a1c..0000000000 --- a/packages/sdk/tools/tools.anthropic.json +++ /dev/null @@ -1,3557 +0,0 @@ -{ - "contractVersion": "0.1.0", - "profiles": { - "intent": [ - { - "name": "find_content", - "description": "Search the document for nodes matching type, text, or attribute criteria.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "within": { - "oneOf": [ - { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "inline" - }, - "nodeType": { - "oneOf": [ - { - "const": "run" - }, - { - "const": "bookmark" - }, - { - "const": "comment" - }, - { - "const": "hyperlink" - }, - { - "const": "sdt" - }, - { - "const": "image" - }, - { - "const": "footnoteRef" - }, - { - "const": "tab" - }, - { - "const": "lineBreak" - } - ] - }, - "anchor": { - "type": "object", - "properties": { - "start": { - "type": "object", - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "number" - } - }, - "required": [ - "blockId", - "offset" - ] - }, - "end": { - "type": "object", - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "number" - } - }, - "required": [ - "blockId", - "offset" - ] - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ] - } - ] - }, - "limit": { - "type": "number" - }, - "offset": { - "type": "number" - }, - "includeNodes": { - "type": "boolean" - }, - "includeUnknown": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "nodeType": { - "type": "string" - }, - "kind": { - "type": "string" - }, - "pattern": { - "type": "string" - }, - "mode": { - "type": "string" - }, - "caseSensitive": { - "type": "boolean" - }, - "query": {} - }, - "additionalProperties": false - } - }, - { - "name": "get_node", - "description": "Retrieve a single node by target position.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "address": {} - }, - "additionalProperties": false - } - }, - { - "name": "get_node_by_id", - "description": "Retrieve a single node by its unique ID.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - }, - "nodeType": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - }, - { - "name": "get_document_info", - "description": "Return document metadata including revision, node count, and capabilities.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - } - }, - "additionalProperties": false - } - }, - { - "name": "insert_content", - "description": "Insert text or inline content at a target position.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - }, - "text": { - "type": "string" - } - }, - "required": [ - "text" - ], - "additionalProperties": false - } - }, - { - "name": "replace_content", - "description": "Replace content at a target position with new text or inline content.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "text" - ], - "additionalProperties": false - } - }, - { - "name": "delete_content", - "description": "Delete content at a target position.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - } - }, - { - "name": "format_bold", - "description": "Toggle bold formatting on the target range.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - } - }, - { - "name": "format_italic", - "description": "Toggle italic formatting on the target range.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - } - }, - { - "name": "format_underline", - "description": "Toggle underline formatting on the target range.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - } - }, - { - "name": "format_strikethrough", - "description": "Toggle strikethrough formatting on the target range.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - } - }, - { - "name": "create_paragraph", - "description": "Create a new paragraph at the target position.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "at": { - "oneOf": [ - { - "type": "object", - "properties": { - "kind": { - "const": "documentStart" - } - }, - "required": [ - "kind" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "documentEnd" - } - }, - "required": [ - "kind" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "before" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "kind", - "target" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "after" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "kind", - "target" - ] - } - ] - }, - "text": { - "type": "string" - }, - "input": {} - }, - "additionalProperties": false - } - }, - { - "name": "list_lists", - "description": "List all list nodes in the document, optionally filtered by scope.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "within": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "limit": { - "type": "number" - }, - "offset": { - "type": "number" - }, - "kind": { - "type": "string" - }, - "level": { - "type": "number" - }, - "ordinal": { - "type": "number" - }, - "query": {} - }, - "additionalProperties": false - } - }, - { - "name": "get_list", - "description": "Retrieve a specific list node by target.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "address": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "address" - ], - "additionalProperties": false - } - }, - { - "name": "insert_list", - "description": "Insert a new list at the target position.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "position": { - "type": "string" - }, - "text": { - "type": "string" - }, - "input": {} - }, - "additionalProperties": false - } - }, - { - "name": "set_list_type", - "description": "Change the list type (ordered, unordered) of a target list.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "kind": { - "type": "string" - }, - "input": {} - }, - "additionalProperties": false - } - }, - { - "name": "indent_list", - "description": "Increase the indentation level of a list item.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - } - }, - { - "name": "outdent_list", - "description": "Decrease the indentation level of a list item.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - } - }, - { - "name": "restart_list_numbering", - "description": "Restart numbering of an ordered list at the target item.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - } - }, - { - "name": "exit_list", - "description": "Exit a list context, converting the target item to a paragraph.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - } - }, - { - "name": "add_comment", - "description": "Add a new comment thread anchored to a target range.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "text" - ], - "additionalProperties": false - } - }, - { - "name": "edit_comment", - "description": "Edit the content of an existing comment.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": [ - "id", - "text" - ], - "additionalProperties": false - } - }, - { - "name": "reply_to_comment", - "description": "Add a reply to an existing comment thread.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "parentId": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": [ - "parentId", - "text" - ], - "additionalProperties": false - } - }, - { - "name": "move_comment", - "description": "Move a comment thread to a new anchor range.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "id", - "target" - ], - "additionalProperties": false - } - }, - { - "name": "resolve_comment", - "description": "Resolve or unresolve a comment thread.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - }, - { - "name": "remove_comment", - "description": "Remove a comment or reply by ID.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - }, - { - "name": "set_comment_internal", - "description": "Toggle the internal (private) flag on a comment thread.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "isInternal": { - "type": "boolean" - } - }, - "required": [ - "id", - "isInternal" - ], - "additionalProperties": false - } - }, - { - "name": "set_comment_active", - "description": "Set the active (focused) comment thread for UI highlighting.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "commentId": { - "type": "json" - }, - "id": { - "type": "string" - }, - "clear": { - "type": "boolean" - } - }, - "additionalProperties": false - } - }, - { - "name": "go_to_comment", - "description": "Scroll the viewport to a comment thread by ID.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - }, - { - "name": "get_comment", - "description": "Retrieve a single comment thread by ID.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - }, - { - "name": "list_comments", - "description": "List all comment threads in the document.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "includeResolved": { - "type": "boolean" - } - }, - "additionalProperties": false - } - }, - { - "name": "list_tracked_changes", - "description": "List all tracked changes in the document.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "limit": { - "type": "number" - }, - "offset": { - "type": "number" - }, - "type": { - "type": "string" - } - }, - "additionalProperties": false - } - }, - { - "name": "get_tracked_change", - "description": "Retrieve a single tracked change by ID.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - }, - { - "name": "accept_tracked_change", - "description": "Accept a tracked change, applying it permanently.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - }, - { - "name": "reject_tracked_change", - "description": "Reject a tracked change, reverting it.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - }, - { - "name": "accept_all_tracked_changes", - "description": "Accept all tracked changes in the document.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - } - }, - "additionalProperties": false - } - }, - { - "name": "reject_all_tracked_changes", - "description": "Reject all tracked changes in the document.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - } - }, - "additionalProperties": false - } - }, - { - "name": "open_document", - "description": "Open a document and create a persistent editing session.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "collaboration": {}, - "collabDocumentId": { - "type": "string" - }, - "collabUrl": { - "type": "string" - } - }, - "required": [ - "doc" - ], - "additionalProperties": false - } - }, - { - "name": "save_document", - "description": "Save the current session to the original file or a new path.", - "input_schema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - } - }, - "additionalProperties": false - } - }, - { - "name": "close_document", - "description": "Close the active editing session and clean up resources.", - "input_schema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "discard": { - "type": "boolean" - } - }, - "additionalProperties": false - } - }, - { - "name": "get_status", - "description": "Show the current session status and document metadata.", - "input_schema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - } - }, - "additionalProperties": false - } - }, - { - "name": "describe_commands", - "description": "List all available CLI operations and contract metadata.", - "input_schema": { - "type": "object", - "properties": {}, - "additionalProperties": false - } - }, - { - "name": "describe_command", - "description": "Show detailed metadata for a single CLI operation.", - "input_schema": { - "type": "object", - "properties": { - "operationId": { - "type": "string" - } - }, - "required": [ - "operationId" - ], - "additionalProperties": false - } - }, - { - "name": "list_sessions", - "description": "List all active editing sessions.", - "input_schema": { - "type": "object", - "properties": {}, - "additionalProperties": false - } - }, - { - "name": "save_session", - "description": "Persist the current session state.", - "input_schema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - } - }, - "required": [ - "sessionId" - ], - "additionalProperties": false - } - }, - { - "name": "close_session", - "description": "Close a specific editing session by ID.", - "input_schema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "discard": { - "type": "boolean" - } - }, - "required": [ - "sessionId" - ], - "additionalProperties": false - } - }, - { - "name": "set_default_session", - "description": "Set the default session for subsequent commands.", - "input_schema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - } - }, - "required": [ - "sessionId" - ], - "additionalProperties": false - } - } - ], - "operation": [ - { - "name": "doc_find", - "description": "Search the document for nodes matching type, text, or attribute criteria.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "within": { - "oneOf": [ - { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "inline" - }, - "nodeType": { - "oneOf": [ - { - "const": "run" - }, - { - "const": "bookmark" - }, - { - "const": "comment" - }, - { - "const": "hyperlink" - }, - { - "const": "sdt" - }, - { - "const": "image" - }, - { - "const": "footnoteRef" - }, - { - "const": "tab" - }, - { - "const": "lineBreak" - } - ] - }, - "anchor": { - "type": "object", - "properties": { - "start": { - "type": "object", - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "number" - } - }, - "required": [ - "blockId", - "offset" - ] - }, - "end": { - "type": "object", - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "number" - } - }, - "required": [ - "blockId", - "offset" - ] - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ] - } - ] - }, - "limit": { - "type": "number" - }, - "offset": { - "type": "number" - }, - "includeNodes": { - "type": "boolean" - }, - "includeUnknown": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "nodeType": { - "type": "string" - }, - "kind": { - "type": "string" - }, - "pattern": { - "type": "string" - }, - "mode": { - "type": "string" - }, - "caseSensitive": { - "type": "boolean" - }, - "query": {} - }, - "additionalProperties": false - } - }, - { - "name": "doc_getNode", - "description": "Retrieve a single node by target position.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "address": {} - }, - "additionalProperties": false - } - }, - { - "name": "doc_getNodeById", - "description": "Retrieve a single node by its unique ID.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - }, - "nodeType": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - }, - { - "name": "doc_info", - "description": "Return document metadata including revision, node count, and capabilities.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - } - }, - "additionalProperties": false - } - }, - { - "name": "doc_insert", - "description": "Insert text or inline content at a target position.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - }, - "text": { - "type": "string" - } - }, - "required": [ - "text" - ], - "additionalProperties": false - } - }, - { - "name": "doc_replace", - "description": "Replace content at a target position with new text or inline content.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "text" - ], - "additionalProperties": false - } - }, - { - "name": "doc_delete", - "description": "Delete content at a target position.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - } - }, - { - "name": "doc_format_bold", - "description": "Toggle bold formatting on the target range.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - } - }, - { - "name": "doc_format_italic", - "description": "Toggle italic formatting on the target range.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - } - }, - { - "name": "doc_format_underline", - "description": "Toggle underline formatting on the target range.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - } - }, - { - "name": "doc_format_strikethrough", - "description": "Toggle strikethrough formatting on the target range.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - } - }, - { - "name": "doc_create_paragraph", - "description": "Create a new paragraph at the target position.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "at": { - "oneOf": [ - { - "type": "object", - "properties": { - "kind": { - "const": "documentStart" - } - }, - "required": [ - "kind" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "documentEnd" - } - }, - "required": [ - "kind" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "before" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "kind", - "target" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "after" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "kind", - "target" - ] - } - ] - }, - "text": { - "type": "string" - }, - "input": {} - }, - "additionalProperties": false - } - }, - { - "name": "doc_lists_list", - "description": "List all list nodes in the document, optionally filtered by scope.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "within": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "limit": { - "type": "number" - }, - "offset": { - "type": "number" - }, - "kind": { - "type": "string" - }, - "level": { - "type": "number" - }, - "ordinal": { - "type": "number" - }, - "query": {} - }, - "additionalProperties": false - } - }, - { - "name": "doc_lists_get", - "description": "Retrieve a specific list node by target.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "address": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "address" - ], - "additionalProperties": false - } - }, - { - "name": "doc_lists_insert", - "description": "Insert a new list at the target position.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "position": { - "type": "string" - }, - "text": { - "type": "string" - }, - "input": {} - }, - "additionalProperties": false - } - }, - { - "name": "doc_lists_setType", - "description": "Change the list type (ordered, unordered) of a target list.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "kind": { - "type": "string" - }, - "input": {} - }, - "additionalProperties": false - } - }, - { - "name": "doc_lists_indent", - "description": "Increase the indentation level of a list item.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - } - }, - { - "name": "doc_lists_outdent", - "description": "Decrease the indentation level of a list item.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - } - }, - { - "name": "doc_lists_restart", - "description": "Restart numbering of an ordered list at the target item.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - } - }, - { - "name": "doc_lists_exit", - "description": "Exit a list context, converting the target item to a paragraph.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - } - }, - { - "name": "doc_comments_add", - "description": "Add a new comment thread anchored to a target range.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "text" - ], - "additionalProperties": false - } - }, - { - "name": "doc_comments_edit", - "description": "Edit the content of an existing comment.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": [ - "id", - "text" - ], - "additionalProperties": false - } - }, - { - "name": "doc_comments_reply", - "description": "Add a reply to an existing comment thread.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "parentId": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": [ - "parentId", - "text" - ], - "additionalProperties": false - } - }, - { - "name": "doc_comments_move", - "description": "Move a comment thread to a new anchor range.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "id", - "target" - ], - "additionalProperties": false - } - }, - { - "name": "doc_comments_resolve", - "description": "Resolve or unresolve a comment thread.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - }, - { - "name": "doc_comments_remove", - "description": "Remove a comment or reply by ID.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - }, - { - "name": "doc_comments_setInternal", - "description": "Toggle the internal (private) flag on a comment thread.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "isInternal": { - "type": "boolean" - } - }, - "required": [ - "id", - "isInternal" - ], - "additionalProperties": false - } - }, - { - "name": "doc_comments_setActive", - "description": "Set the active (focused) comment thread for UI highlighting.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "commentId": { - "type": "json" - }, - "id": { - "type": "string" - }, - "clear": { - "type": "boolean" - } - }, - "additionalProperties": false - } - }, - { - "name": "doc_comments_goTo", - "description": "Scroll the viewport to a comment thread by ID.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - }, - { - "name": "doc_comments_get", - "description": "Retrieve a single comment thread by ID.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - }, - { - "name": "doc_comments_list", - "description": "List all comment threads in the document.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "includeResolved": { - "type": "boolean" - } - }, - "additionalProperties": false - } - }, - { - "name": "doc_trackChanges_list", - "description": "List all tracked changes in the document.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "limit": { - "type": "number" - }, - "offset": { - "type": "number" - }, - "type": { - "type": "string" - } - }, - "additionalProperties": false - } - }, - { - "name": "doc_trackChanges_get", - "description": "Retrieve a single tracked change by ID.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - }, - { - "name": "doc_trackChanges_accept", - "description": "Accept a tracked change, applying it permanently.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - }, - { - "name": "doc_trackChanges_reject", - "description": "Reject a tracked change, reverting it.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - }, - { - "name": "doc_trackChanges_acceptAll", - "description": "Accept all tracked changes in the document.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - } - }, - "additionalProperties": false - } - }, - { - "name": "doc_trackChanges_rejectAll", - "description": "Reject all tracked changes in the document.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - } - }, - "additionalProperties": false - } - }, - { - "name": "doc_open", - "description": "Open a document and create a persistent editing session.", - "input_schema": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "collaboration": {}, - "collabDocumentId": { - "type": "string" - }, - "collabUrl": { - "type": "string" - } - }, - "required": [ - "doc" - ], - "additionalProperties": false - } - }, - { - "name": "doc_save", - "description": "Save the current session to the original file or a new path.", - "input_schema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - } - }, - "additionalProperties": false - } - }, - { - "name": "doc_close", - "description": "Close the active editing session and clean up resources.", - "input_schema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "discard": { - "type": "boolean" - } - }, - "additionalProperties": false - } - }, - { - "name": "doc_status", - "description": "Show the current session status and document metadata.", - "input_schema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - } - }, - "additionalProperties": false - } - }, - { - "name": "doc_describe", - "description": "List all available CLI operations and contract metadata.", - "input_schema": { - "type": "object", - "properties": {}, - "additionalProperties": false - } - }, - { - "name": "doc_describeCommand", - "description": "Show detailed metadata for a single CLI operation.", - "input_schema": { - "type": "object", - "properties": { - "operationId": { - "type": "string" - } - }, - "required": [ - "operationId" - ], - "additionalProperties": false - } - }, - { - "name": "doc_session_list", - "description": "List all active editing sessions.", - "input_schema": { - "type": "object", - "properties": {}, - "additionalProperties": false - } - }, - { - "name": "doc_session_save", - "description": "Persist the current session state.", - "input_schema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - } - }, - "required": [ - "sessionId" - ], - "additionalProperties": false - } - }, - { - "name": "doc_session_close", - "description": "Close a specific editing session by ID.", - "input_schema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "discard": { - "type": "boolean" - } - }, - "required": [ - "sessionId" - ], - "additionalProperties": false - } - }, - { - "name": "doc_session_setDefault", - "description": "Set the default session for subsequent commands.", - "input_schema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - } - }, - "required": [ - "sessionId" - ], - "additionalProperties": false - } - } - ] - } -} diff --git a/packages/sdk/tools/tools.generic.json b/packages/sdk/tools/tools.generic.json deleted file mode 100644 index 6835c7271f..0000000000 --- a/packages/sdk/tools/tools.generic.json +++ /dev/null @@ -1,16855 +0,0 @@ -{ - "contractVersion": "0.1.0", - "profiles": { - "intent": [ - { - "name": "find_content", - "description": "Search the document for nodes matching type, text, or attribute criteria.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "within": { - "oneOf": [ - { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "inline" - }, - "nodeType": { - "oneOf": [ - { - "const": "run" - }, - { - "const": "bookmark" - }, - { - "const": "comment" - }, - { - "const": "hyperlink" - }, - { - "const": "sdt" - }, - { - "const": "image" - }, - { - "const": "footnoteRef" - }, - { - "const": "tab" - }, - { - "const": "lineBreak" - } - ] - }, - "anchor": { - "type": "object", - "properties": { - "start": { - "type": "object", - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "number" - } - }, - "required": [ - "blockId", - "offset" - ] - }, - "end": { - "type": "object", - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "number" - } - }, - "required": [ - "blockId", - "offset" - ] - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ] - } - ] - }, - "limit": { - "type": "number" - }, - "offset": { - "type": "number" - }, - "includeNodes": { - "type": "boolean" - }, - "includeUnknown": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "nodeType": { - "type": "string" - }, - "kind": { - "type": "string" - }, - "pattern": { - "type": "string" - }, - "mode": { - "type": "string" - }, - "caseSensitive": { - "type": "boolean" - }, - "query": {} - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "context": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt" - ] - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": [ - "run", - "bookmark", - "comment", - "hyperlink", - "sdt", - "image", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ], - "type": "object" - } - ] - }, - "highlightRange": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "snippet": { - "type": "string" - }, - "textRanges": { - "items": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "address", - "snippet", - "highlightRange" - ], - "type": "object" - }, - "type": "array" - }, - "diagnostics": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt" - ] - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": [ - "run", - "bookmark", - "comment", - "hyperlink", - "sdt", - "image", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ], - "type": "object" - } - ] - }, - "hint": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "required": [ - "message" - ], - "type": "object" - }, - "type": "array" - }, - "matches": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt" - ] - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": [ - "run", - "bookmark", - "comment", - "hyperlink", - "sdt", - "image", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "nodes": { - "items": { - "additionalProperties": false, - "properties": { - "bodyNodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "bodyText": { - "type": "string" - }, - "kind": { - "enum": [ - "block", - "inline" - ] - }, - "nodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - }, - "properties": { - "type": "object" - }, - "summary": { - "additionalProperties": false, - "properties": { - "label": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "nodeType", - "kind" - ], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": [ - "matches", - "total" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.find", - "profile": "intent", - "mutates": false, - "category": "query", - "capabilities": [ - "search", - "session-targeting", - "stateless-doc" - ], - "constraints": { - "requiresOneOf": [ - [ - "type", - "query" - ] - ], - "mutuallyExclusive": [ - [ - "type", - "query" - ] - ] - }, - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "find" - ] - } - }, - { - "name": "get_node", - "description": "Retrieve a single node by target position.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "address": {} - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "bodyNodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "bodyText": { - "type": "string" - }, - "kind": { - "enum": [ - "block", - "inline" - ] - }, - "nodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - }, - "properties": { - "type": "object" - }, - "summary": { - "additionalProperties": false, - "properties": { - "label": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "nodeType", - "kind" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.getNode", - "profile": "intent", - "mutates": false, - "category": "query", - "capabilities": [ - "search", - "session-targeting", - "stateless-doc" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "get-node" - ] - } - }, - { - "name": "get_node_by_id", - "description": "Retrieve a single node by its unique ID.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - }, - "nodeType": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "bodyNodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "bodyText": { - "type": "string" - }, - "kind": { - "enum": [ - "block", - "inline" - ] - }, - "nodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - }, - "properties": { - "type": "object" - }, - "summary": { - "additionalProperties": false, - "properties": { - "label": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "nodeType", - "kind" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.getNodeById", - "profile": "intent", - "mutates": false, - "category": "query", - "capabilities": [ - "search", - "session-targeting", - "stateless-doc" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "get-node-by-id" - ] - } - }, - { - "name": "get_document_info", - "description": "Return document metadata including revision, node count, and capabilities.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - } - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "capabilities": { - "additionalProperties": false, - "properties": { - "canComment": { - "type": "boolean" - }, - "canFind": { - "type": "boolean" - }, - "canGetNode": { - "type": "boolean" - }, - "canReplace": { - "type": "boolean" - } - }, - "required": [ - "canFind", - "canGetNode", - "canComment", - "canReplace" - ], - "type": "object" - }, - "counts": { - "additionalProperties": false, - "properties": { - "comments": { - "type": "integer" - }, - "headings": { - "type": "integer" - }, - "images": { - "type": "integer" - }, - "paragraphs": { - "type": "integer" - }, - "tables": { - "type": "integer" - }, - "words": { - "type": "integer" - } - }, - "required": [ - "words", - "paragraphs", - "headings", - "tables", - "images", - "comments" - ], - "type": "object" - }, - "outline": { - "items": { - "additionalProperties": false, - "properties": { - "level": { - "type": "integer" - }, - "nodeId": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": [ - "level", - "text", - "nodeId" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "counts", - "outline", - "capabilities" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.info", - "profile": "intent", - "mutates": false, - "category": "query", - "capabilities": [ - "search", - "session-targeting", - "stateless-doc" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "info" - ] - } - }, - { - "name": "insert_content", - "description": "Insert text or inline content at a target position.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - }, - "text": { - "type": "string" - } - }, - "required": [ - "text" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.insert", - "profile": "intent", - "mutates": true, - "category": "mutation", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "insert" - ] - } - }, - { - "name": "replace_content", - "description": "Replace content at a target position with new text or inline content.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "text" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.replace", - "profile": "intent", - "mutates": true, - "category": "mutation", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "replace" - ] - } - }, - { - "name": "delete_content", - "description": "Delete content at a target position.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.delete", - "profile": "intent", - "mutates": true, - "category": "mutation", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "delete" - ] - } - }, - { - "name": "format_bold", - "description": "Toggle bold formatting on the target range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.format.bold", - "profile": "intent", - "mutates": true, - "category": "format", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "format", - "bold" - ] - } - }, - { - "name": "format_italic", - "description": "Toggle italic formatting on the target range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.format.italic", - "profile": "intent", - "mutates": true, - "category": "format", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "format", - "italic" - ] - } - }, - { - "name": "format_underline", - "description": "Toggle underline formatting on the target range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.format.underline", - "profile": "intent", - "mutates": true, - "category": "format", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "format", - "underline" - ] - } - }, - { - "name": "format_strikethrough", - "description": "Toggle strikethrough formatting on the target range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.format.strikethrough", - "profile": "intent", - "mutates": true, - "category": "format", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "format", - "strikethrough" - ] - } - }, - { - "name": "create_paragraph", - "description": "Create a new paragraph at the target position.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "at": { - "oneOf": [ - { - "type": "object", - "properties": { - "kind": { - "const": "documentStart" - } - }, - "required": [ - "kind" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "documentEnd" - } - }, - "required": [ - "kind" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "before" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "kind", - "target" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "after" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "kind", - "target" - ] - } - ] - }, - "text": { - "type": "string" - }, - "input": {} - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "insertionPoint": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "paragraph": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "paragraph" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - }, - "trackedChangeRefs": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "success", - "paragraph", - "insertionPoint" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.create.paragraph", - "profile": "intent", - "mutates": true, - "category": "create", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "structural-create", - "tracked-change-mode" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "create", - "paragraph" - ] - } - }, - { - "name": "list_lists", - "description": "List all list nodes in the document, optionally filtered by scope.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "within": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "limit": { - "type": "number" - }, - "offset": { - "type": "number" - }, - "kind": { - "type": "string" - }, - "level": { - "type": "number" - }, - "ordinal": { - "type": "number" - }, - "query": {} - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "items": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "kind": { - "enum": [ - "ordered", - "bullet" - ] - }, - "level": { - "type": "integer" - }, - "marker": { - "type": "string" - }, - "ordinal": { - "type": "integer" - }, - "path": { - "items": { - "type": "integer" - }, - "type": "array" - }, - "text": { - "type": "string" - } - }, - "required": [ - "address" - ], - "type": "object" - }, - "type": "array" - }, - "matches": { - "items": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": [ - "matches", - "total", - "items" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.lists.list", - "profile": "intent", - "mutates": false, - "category": "lists", - "capabilities": [ - "session-targeting", - "stateless-doc" - ], - "constraints": { - "mutuallyExclusive": [ - [ - "query", - "within" - ], - [ - "query", - "kind" - ], - [ - "query", - "level" - ], - [ - "query", - "ordinal" - ], - [ - "query", - "limit" - ], - [ - "query", - "offset" - ] - ] - }, - "requiredCapabilities": [ - "hasLists" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "lists", - "list" - ] - } - }, - { - "name": "get_list", - "description": "Retrieve a specific list node by target.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "address": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "address" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "kind": { - "enum": [ - "ordered", - "bullet" - ] - }, - "level": { - "type": "integer" - }, - "marker": { - "type": "string" - }, - "ordinal": { - "type": "integer" - }, - "path": { - "items": { - "type": "integer" - }, - "type": "array" - }, - "text": { - "type": "string" - } - }, - "required": [ - "address" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.lists.get", - "profile": "intent", - "mutates": false, - "category": "lists", - "capabilities": [ - "session-targeting", - "stateless-doc" - ], - "requiredCapabilities": [ - "hasLists" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "lists", - "get" - ] - } - }, - { - "name": "insert_list", - "description": "Insert a new list at the target position.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "position": { - "type": "string" - }, - "text": { - "type": "string" - }, - "input": {} - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "insertionPoint": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - }, - "trackedChangeRefs": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "success", - "item", - "insertionPoint" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.lists.insert", - "profile": "intent", - "mutates": true, - "category": "lists", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasLists" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "lists", - "insert" - ] - } - }, - { - "name": "set_list_type", - "description": "Change the list type (ordered, unordered) of a target list.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "kind": { - "type": "string" - }, - "input": {} - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.lists.setType", - "profile": "intent", - "mutates": true, - "category": "lists", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasLists" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "lists", - "set-type" - ] - } - }, - { - "name": "indent_list", - "description": "Increase the indentation level of a list item.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.lists.indent", - "profile": "intent", - "mutates": true, - "category": "lists", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasLists" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "lists", - "indent" - ] - } - }, - { - "name": "outdent_list", - "description": "Decrease the indentation level of a list item.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.lists.outdent", - "profile": "intent", - "mutates": true, - "category": "lists", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasLists" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "lists", - "outdent" - ] - } - }, - { - "name": "restart_list_numbering", - "description": "Restart numbering of an ordered list at the target item.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.lists.restart", - "profile": "intent", - "mutates": true, - "category": "lists", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasLists" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "lists", - "restart" - ] - } - }, - { - "name": "exit_list", - "description": "Exit a list context, converting the target item to a paragraph.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "paragraph": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "paragraph" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "paragraph" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.lists.exit", - "profile": "intent", - "mutates": true, - "category": "lists", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasLists" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "lists", - "exit" - ] - } - }, - { - "name": "add_comment", - "description": "Add a new comment thread anchored to a target range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "text" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.comments.add", - "profile": "intent", - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasComments" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "comments", - "add" - ] - } - }, - { - "name": "edit_comment", - "description": "Edit the content of an existing comment.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": [ - "id", - "text" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.comments.edit", - "profile": "intent", - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasComments" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "comments", - "edit" - ] - } - }, - { - "name": "reply_to_comment", - "description": "Add a reply to an existing comment thread.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "parentId": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": [ - "parentId", - "text" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.comments.reply", - "profile": "intent", - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasComments" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "comments", - "reply" - ] - } - }, - { - "name": "move_comment", - "description": "Move a comment thread to a new anchor range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "id", - "target" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.comments.move", - "profile": "intent", - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasComments" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "comments", - "move" - ] - } - }, - { - "name": "resolve_comment", - "description": "Resolve or unresolve a comment thread.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.comments.resolve", - "profile": "intent", - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasComments" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "comments", - "resolve" - ] - } - }, - { - "name": "remove_comment", - "description": "Remove a comment or reply by ID.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.comments.remove", - "profile": "intent", - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasComments" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "comments", - "remove" - ] - } - }, - { - "name": "set_comment_internal", - "description": "Toggle the internal (private) flag on a comment thread.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "isInternal": { - "type": "boolean" - } - }, - "required": [ - "id", - "isInternal" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.comments.setInternal", - "profile": "intent", - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasComments" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "comments", - "set-internal" - ] - } - }, - { - "name": "set_comment_active", - "description": "Set the active (focused) comment thread for UI highlighting.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "commentId": { - "type": "json" - }, - "id": { - "type": "string" - }, - "clear": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.comments.setActive", - "profile": "intent", - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "constraints": { - "requiresOneOf": [ - [ - "id", - "clear" - ] - ], - "mutuallyExclusive": [ - [ - "id", - "clear" - ] - ] - }, - "requiredCapabilities": [ - "hasComments" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "comments", - "set-active" - ] - } - }, - { - "name": "go_to_comment", - "description": "Scroll the viewport to a comment thread by ID.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.comments.goTo", - "profile": "intent", - "mutates": false, - "category": "comments", - "capabilities": [ - "comments", - "session-targeting", - "stateless-doc" - ], - "requiredCapabilities": [ - "hasComments" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "comments", - "go-to" - ] - } - }, - { - "name": "get_comment", - "description": "Retrieve a single comment thread by ID.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "commentId": { - "type": "string" - }, - "createdTime": { - "type": "number" - }, - "creatorEmail": { - "type": "string" - }, - "creatorName": { - "type": "string" - }, - "importedId": { - "type": "string" - }, - "isInternal": { - "type": "boolean" - }, - "parentCommentId": { - "type": "string" - }, - "status": { - "enum": [ - "open", - "resolved" - ] - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "address", - "commentId", - "status" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.comments.get", - "profile": "intent", - "mutates": false, - "category": "comments", - "capabilities": [ - "comments", - "session-targeting", - "stateless-doc" - ], - "requiredCapabilities": [ - "hasComments" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "comments", - "get" - ] - } - }, - { - "name": "list_comments", - "description": "List all comment threads in the document.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "includeResolved": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "matches": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "commentId": { - "type": "string" - }, - "createdTime": { - "type": "number" - }, - "creatorEmail": { - "type": "string" - }, - "creatorName": { - "type": "string" - }, - "importedId": { - "type": "string" - }, - "isInternal": { - "type": "boolean" - }, - "parentCommentId": { - "type": "string" - }, - "status": { - "enum": [ - "open", - "resolved" - ] - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "address", - "commentId", - "status" - ], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": [ - "matches", - "total" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.comments.list", - "profile": "intent", - "mutates": false, - "category": "comments", - "capabilities": [ - "comments", - "session-targeting", - "stateless-doc" - ], - "requiredCapabilities": [ - "hasComments" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "comments", - "list" - ] - } - }, - { - "name": "list_tracked_changes", - "description": "List all tracked changes in the document.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "limit": { - "type": "number" - }, - "offset": { - "type": "number" - }, - "type": { - "type": "string" - } - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "changes": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "author": { - "type": "string" - }, - "authorEmail": { - "type": "string" - }, - "authorImage": { - "type": "string" - }, - "date": { - "type": "string" - }, - "excerpt": { - "type": "string" - }, - "id": { - "type": "string" - }, - "type": { - "enum": [ - "insert", - "delete", - "format" - ] - } - }, - "required": [ - "address", - "id", - "type" - ], - "type": "object" - }, - "type": "array" - }, - "matches": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": [ - "matches", - "total" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.trackChanges.list", - "profile": "intent", - "mutates": false, - "category": "trackChanges", - "capabilities": [ - "session-targeting", - "stateless-doc", - "track-changes" - ], - "requiredCapabilities": [ - "hasTrackedChanges" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "track-changes", - "list" - ] - } - }, - { - "name": "get_tracked_change", - "description": "Retrieve a single tracked change by ID.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "author": { - "type": "string" - }, - "authorEmail": { - "type": "string" - }, - "authorImage": { - "type": "string" - }, - "date": { - "type": "string" - }, - "excerpt": { - "type": "string" - }, - "id": { - "type": "string" - }, - "type": { - "enum": [ - "insert", - "delete", - "format" - ] - } - }, - "required": [ - "address", - "id", - "type" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.trackChanges.get", - "profile": "intent", - "mutates": false, - "category": "trackChanges", - "capabilities": [ - "session-targeting", - "stateless-doc", - "track-changes" - ], - "requiredCapabilities": [ - "hasTrackedChanges" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "track-changes", - "get" - ] - } - }, - { - "name": "accept_tracked_change", - "description": "Accept a tracked change, applying it permanently.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.trackChanges.accept", - "profile": "intent", - "mutates": true, - "category": "trackChanges", - "capabilities": [ - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "track-changes", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasTrackedChanges" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "track-changes", - "accept" - ] - } - }, - { - "name": "reject_tracked_change", - "description": "Reject a tracked change, reverting it.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.trackChanges.reject", - "profile": "intent", - "mutates": true, - "category": "trackChanges", - "capabilities": [ - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "track-changes", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasTrackedChanges" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "track-changes", - "reject" - ] - } - }, - { - "name": "accept_all_tracked_changes", - "description": "Accept all tracked changes in the document.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.trackChanges.acceptAll", - "profile": "intent", - "mutates": true, - "category": "trackChanges", - "capabilities": [ - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "track-changes", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasTrackedChanges" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "track-changes", - "accept-all" - ] - } - }, - { - "name": "reject_all_tracked_changes", - "description": "Reject all tracked changes in the document.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.trackChanges.rejectAll", - "profile": "intent", - "mutates": true, - "category": "trackChanges", - "capabilities": [ - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "track-changes", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasTrackedChanges" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "track-changes", - "reject-all" - ] - } - }, - { - "name": "open_document", - "description": "Open a document and create a persistent editing session.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "collaboration": {}, - "collabDocumentId": { - "type": "string" - }, - "collabUrl": { - "type": "string" - } - }, - "required": [ - "doc" - ], - "additionalProperties": false - }, - "returns": { - "type": "object", - "properties": { - "contextId": { - "type": "string" - }, - "sessionType": { - "type": "string" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - }, - "revision": { - "type": "number" - } - } - }, - "collaboration": { - "type": "object", - "properties": { - "documentId": { - "type": "string" - }, - "url": { - "type": "string" - } - } - } - }, - "required": [ - "contextId", - "sessionType" - ] - }, - "metadata": { - "operationId": "doc.open", - "profile": "intent", - "mutates": false, - "category": "lifecycle", - "capabilities": [ - "session-targeting", - "stateless-doc" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "open" - ] - } - }, - { - "name": "save_document", - "description": "Save the current session to the original file or a new path.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "returns": { - "type": "object", - "properties": { - "contextId": { - "type": "string" - }, - "saved": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - }, - "revision": { - "type": "number" - } - } - }, - "context": { - "type": "object", - "properties": { - "dirty": { - "type": "boolean" - }, - "revision": { - "type": "number" - }, - "lastSavedAt": { - "type": "string" - } - } - }, - "output": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "byteLength": { - "type": "number" - } - } - } - }, - "required": [ - "contextId", - "saved" - ] - }, - "metadata": { - "operationId": "doc.save", - "profile": "intent", - "mutates": true, - "category": "lifecycle", - "capabilities": [ - "output-path", - "session-targeting" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "save" - ] - } - }, - { - "name": "close_document", - "description": "Close the active editing session and clean up resources.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "discard": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "returns": { - "type": "object", - "properties": { - "contextId": { - "type": "string" - }, - "closed": { - "type": "boolean" - }, - "saved": { - "type": "boolean" - }, - "discarded": { - "type": "boolean" - }, - "defaultSessionCleared": { - "type": "boolean" - }, - "wasDirty": { - "type": "boolean" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - }, - "revision": { - "type": "number" - } - } - } - }, - "required": [ - "contextId", - "closed" - ] - }, - "metadata": { - "operationId": "doc.close", - "profile": "intent", - "mutates": false, - "category": "lifecycle", - "capabilities": [ - "session-targeting" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "close" - ] - } - }, - { - "name": "get_status", - "description": "Show the current session status and document metadata.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - } - }, - "additionalProperties": false - }, - "returns": { - "type": "object", - "properties": { - "contextId": { - "type": "string" - }, - "sessionType": { - "type": "string" - }, - "dirty": { - "type": "boolean" - }, - "revision": { - "type": "number" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - } - } - } - }, - "required": [ - "contextId" - ] - }, - "metadata": { - "operationId": "doc.status", - "profile": "intent", - "mutates": false, - "category": "introspection", - "capabilities": [ - "introspection", - "session-targeting" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "status" - ] - } - }, - { - "name": "describe_commands", - "description": "List all available CLI operations and contract metadata.", - "parameters": { - "type": "object", - "properties": {}, - "additionalProperties": false - }, - "returns": { - "type": "object", - "properties": { - "contractVersion": { - "type": "string" - }, - "operations": { - "type": "array", - "items": { - "type": "object", - "properties": { - "operationId": { - "type": "string" - }, - "command": { - "type": "string" - }, - "category": { - "type": "string" - }, - "description": { - "type": "string" - }, - "mutates": { - "type": "boolean" - } - } - } - } - } - }, - "metadata": { - "operationId": "doc.describe", - "profile": "intent", - "mutates": false, - "category": "introspection", - "capabilities": [ - "introspection" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "describe" - ] - } - }, - { - "name": "describe_command", - "description": "Show detailed metadata for a single CLI operation.", - "parameters": { - "type": "object", - "properties": { - "operationId": { - "type": "string" - } - }, - "required": [ - "operationId" - ], - "additionalProperties": false - }, - "returns": { - "type": "object", - "properties": { - "operationId": { - "type": "string" - }, - "command": { - "type": "string" - }, - "category": { - "type": "string" - }, - "description": { - "type": "string" - }, - "mutates": { - "type": "boolean" - }, - "params": { - "type": "array" - }, - "constraints": {} - } - }, - "metadata": { - "operationId": "doc.describeCommand", - "profile": "intent", - "mutates": false, - "category": "introspection", - "capabilities": [ - "introspection" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "describe", - "command" - ] - } - }, - { - "name": "list_sessions", - "description": "List all active editing sessions.", - "parameters": { - "type": "object", - "properties": {}, - "additionalProperties": false - }, - "returns": { - "type": "object", - "properties": { - "activeSessionId": { - "type": "string" - }, - "sessions": { - "type": "array", - "items": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "sessionType": { - "type": "string" - }, - "dirty": { - "type": "boolean" - }, - "revision": { - "type": "number" - } - } - } - }, - "total": { - "type": "number" - } - } - }, - "metadata": { - "operationId": "doc.session.list", - "profile": "intent", - "mutates": false, - "category": "session", - "capabilities": [ - "session-management" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "session", - "list" - ] - } - }, - { - "name": "save_session", - "description": "Persist the current session state.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - } - }, - "required": [ - "sessionId" - ], - "additionalProperties": false - }, - "returns": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "contextId": { - "type": "string" - }, - "saved": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - }, - "revision": { - "type": "number" - } - } - }, - "output": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "byteLength": { - "type": "number" - } - } - } - }, - "required": [ - "sessionId" - ] - }, - "metadata": { - "operationId": "doc.session.save", - "profile": "intent", - "mutates": true, - "category": "session", - "capabilities": [ - "output-path", - "session-management", - "session-targeting" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "session", - "save" - ] - } - }, - { - "name": "close_session", - "description": "Close a specific editing session by ID.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "discard": { - "type": "boolean" - } - }, - "required": [ - "sessionId" - ], - "additionalProperties": false - }, - "returns": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "contextId": { - "type": "string" - }, - "closed": { - "type": "boolean" - }, - "saved": { - "type": "boolean" - }, - "discarded": { - "type": "boolean" - }, - "defaultSessionCleared": { - "type": "boolean" - }, - "wasDirty": { - "type": "boolean" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - }, - "revision": { - "type": "number" - } - } - } - }, - "required": [ - "sessionId" - ] - }, - "metadata": { - "operationId": "doc.session.close", - "profile": "intent", - "mutates": false, - "category": "session", - "capabilities": [ - "session-management", - "session-targeting" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "session", - "close" - ] - } - }, - { - "name": "set_default_session", - "description": "Set the default session for subsequent commands.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - } - }, - "required": [ - "sessionId" - ], - "additionalProperties": false - }, - "returns": { - "type": "object", - "properties": { - "activeSessionId": { - "type": "string" - } - }, - "required": [ - "activeSessionId" - ] - }, - "metadata": { - "operationId": "doc.session.setDefault", - "profile": "intent", - "mutates": false, - "category": "session", - "capabilities": [ - "session-management", - "session-targeting" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "session", - "set-default" - ] - } - } - ], - "operation": [ - { - "name": "doc_find", - "description": "Search the document for nodes matching type, text, or attribute criteria.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "within": { - "oneOf": [ - { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "inline" - }, - "nodeType": { - "oneOf": [ - { - "const": "run" - }, - { - "const": "bookmark" - }, - { - "const": "comment" - }, - { - "const": "hyperlink" - }, - { - "const": "sdt" - }, - { - "const": "image" - }, - { - "const": "footnoteRef" - }, - { - "const": "tab" - }, - { - "const": "lineBreak" - } - ] - }, - "anchor": { - "type": "object", - "properties": { - "start": { - "type": "object", - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "number" - } - }, - "required": [ - "blockId", - "offset" - ] - }, - "end": { - "type": "object", - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "number" - } - }, - "required": [ - "blockId", - "offset" - ] - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ] - } - ] - }, - "limit": { - "type": "number" - }, - "offset": { - "type": "number" - }, - "includeNodes": { - "type": "boolean" - }, - "includeUnknown": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "nodeType": { - "type": "string" - }, - "kind": { - "type": "string" - }, - "pattern": { - "type": "string" - }, - "mode": { - "type": "string" - }, - "caseSensitive": { - "type": "boolean" - }, - "query": {} - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "context": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt" - ] - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": [ - "run", - "bookmark", - "comment", - "hyperlink", - "sdt", - "image", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ], - "type": "object" - } - ] - }, - "highlightRange": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "snippet": { - "type": "string" - }, - "textRanges": { - "items": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "address", - "snippet", - "highlightRange" - ], - "type": "object" - }, - "type": "array" - }, - "diagnostics": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt" - ] - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": [ - "run", - "bookmark", - "comment", - "hyperlink", - "sdt", - "image", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ], - "type": "object" - } - ] - }, - "hint": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "required": [ - "message" - ], - "type": "object" - }, - "type": "array" - }, - "matches": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt" - ] - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "end": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - }, - "start": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "integer" - } - }, - "required": [ - "blockId", - "offset" - ], - "type": "object" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "kind": { - "const": "inline" - }, - "nodeType": { - "enum": [ - "run", - "bookmark", - "comment", - "hyperlink", - "sdt", - "image", - "footnoteRef", - "tab", - "lineBreak" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "nodes": { - "items": { - "additionalProperties": false, - "properties": { - "bodyNodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "bodyText": { - "type": "string" - }, - "kind": { - "enum": [ - "block", - "inline" - ] - }, - "nodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - }, - "properties": { - "type": "object" - }, - "summary": { - "additionalProperties": false, - "properties": { - "label": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "nodeType", - "kind" - ], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": [ - "matches", - "total" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.find", - "profile": "operation", - "mutates": false, - "category": "query", - "capabilities": [ - "search", - "session-targeting", - "stateless-doc" - ], - "constraints": { - "requiresOneOf": [ - [ - "type", - "query" - ] - ], - "mutuallyExclusive": [ - [ - "type", - "query" - ] - ] - }, - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "find" - ] - } - }, - { - "name": "doc_getNode", - "description": "Retrieve a single node by target position.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "address": {} - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "bodyNodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "bodyText": { - "type": "string" - }, - "kind": { - "enum": [ - "block", - "inline" - ] - }, - "nodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - }, - "properties": { - "type": "object" - }, - "summary": { - "additionalProperties": false, - "properties": { - "label": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "nodeType", - "kind" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.getNode", - "profile": "operation", - "mutates": false, - "category": "query", - "capabilities": [ - "search", - "session-targeting", - "stateless-doc" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "get-node" - ] - } - }, - { - "name": "doc_getNodeById", - "description": "Retrieve a single node by its unique ID.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - }, - "nodeType": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "bodyNodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "bodyText": { - "type": "string" - }, - "kind": { - "enum": [ - "block", - "inline" - ] - }, - "nodes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "nodeType": { - "enum": [ - "paragraph", - "heading", - "listItem", - "table", - "tableRow", - "tableCell", - "image", - "sdt", - "run", - "bookmark", - "comment", - "hyperlink", - "footnoteRef", - "tab", - "lineBreak" - ] - }, - "properties": { - "type": "object" - }, - "summary": { - "additionalProperties": false, - "properties": { - "label": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "nodeType", - "kind" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.getNodeById", - "profile": "operation", - "mutates": false, - "category": "query", - "capabilities": [ - "search", - "session-targeting", - "stateless-doc" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "get-node-by-id" - ] - } - }, - { - "name": "doc_info", - "description": "Return document metadata including revision, node count, and capabilities.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - } - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "capabilities": { - "additionalProperties": false, - "properties": { - "canComment": { - "type": "boolean" - }, - "canFind": { - "type": "boolean" - }, - "canGetNode": { - "type": "boolean" - }, - "canReplace": { - "type": "boolean" - } - }, - "required": [ - "canFind", - "canGetNode", - "canComment", - "canReplace" - ], - "type": "object" - }, - "counts": { - "additionalProperties": false, - "properties": { - "comments": { - "type": "integer" - }, - "headings": { - "type": "integer" - }, - "images": { - "type": "integer" - }, - "paragraphs": { - "type": "integer" - }, - "tables": { - "type": "integer" - }, - "words": { - "type": "integer" - } - }, - "required": [ - "words", - "paragraphs", - "headings", - "tables", - "images", - "comments" - ], - "type": "object" - }, - "outline": { - "items": { - "additionalProperties": false, - "properties": { - "level": { - "type": "integer" - }, - "nodeId": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": [ - "level", - "text", - "nodeId" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "counts", - "outline", - "capabilities" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.info", - "profile": "operation", - "mutates": false, - "category": "query", - "capabilities": [ - "search", - "session-targeting", - "stateless-doc" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "info" - ] - } - }, - { - "name": "doc_insert", - "description": "Insert text or inline content at a target position.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - }, - "text": { - "type": "string" - } - }, - "required": [ - "text" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.insert", - "profile": "operation", - "mutates": true, - "category": "mutation", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "insert" - ] - } - }, - { - "name": "doc_replace", - "description": "Replace content at a target position with new text or inline content.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "text" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.replace", - "profile": "operation", - "mutates": true, - "category": "mutation", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "replace" - ] - } - }, - { - "name": "doc_delete", - "description": "Delete content at a target position.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.delete", - "profile": "operation", - "mutates": true, - "category": "mutation", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "delete" - ] - } - }, - { - "name": "doc_format_bold", - "description": "Toggle bold formatting on the target range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.format.bold", - "profile": "operation", - "mutates": true, - "category": "format", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "format", - "bold" - ] - } - }, - { - "name": "doc_format_italic", - "description": "Toggle italic formatting on the target range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.format.italic", - "profile": "operation", - "mutates": true, - "category": "format", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "format", - "italic" - ] - } - }, - { - "name": "doc_format_underline", - "description": "Toggle underline formatting on the target range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.format.underline", - "profile": "operation", - "mutates": true, - "category": "format", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "format", - "underline" - ] - } - }, - { - "name": "doc_format_strikethrough", - "description": "Toggle strikethrough formatting on the target range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "resolution": { - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "from": { - "type": "integer" - }, - "to": { - "type": "integer" - } - }, - "required": [ - "from", - "to" - ], - "type": "object" - }, - "requestedTarget": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "range", - "text" - ], - "type": "object" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success", - "resolution" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.format.strikethrough", - "profile": "operation", - "mutates": true, - "category": "format", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "format", - "strikethrough" - ] - } - }, - { - "name": "doc_create_paragraph", - "description": "Create a new paragraph at the target position.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "at": { - "oneOf": [ - { - "type": "object", - "properties": { - "kind": { - "const": "documentStart" - } - }, - "required": [ - "kind" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "documentEnd" - } - }, - "required": [ - "kind" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "before" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "kind", - "target" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "after" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "kind", - "target" - ] - } - ] - }, - "text": { - "type": "string" - }, - "input": {} - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "insertionPoint": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "paragraph": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "paragraph" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - }, - "trackedChangeRefs": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "success", - "paragraph", - "insertionPoint" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.create.paragraph", - "profile": "operation", - "mutates": true, - "category": "create", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "structural-create", - "tracked-change-mode" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "create", - "paragraph" - ] - } - }, - { - "name": "doc_lists_list", - "description": "List all list nodes in the document, optionally filtered by scope.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "within": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "limit": { - "type": "number" - }, - "offset": { - "type": "number" - }, - "kind": { - "type": "string" - }, - "level": { - "type": "number" - }, - "ordinal": { - "type": "number" - }, - "query": {} - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "items": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "kind": { - "enum": [ - "ordered", - "bullet" - ] - }, - "level": { - "type": "integer" - }, - "marker": { - "type": "string" - }, - "ordinal": { - "type": "integer" - }, - "path": { - "items": { - "type": "integer" - }, - "type": "array" - }, - "text": { - "type": "string" - } - }, - "required": [ - "address" - ], - "type": "object" - }, - "type": "array" - }, - "matches": { - "items": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": [ - "matches", - "total", - "items" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.lists.list", - "profile": "operation", - "mutates": false, - "category": "lists", - "capabilities": [ - "session-targeting", - "stateless-doc" - ], - "constraints": { - "mutuallyExclusive": [ - [ - "query", - "within" - ], - [ - "query", - "kind" - ], - [ - "query", - "level" - ], - [ - "query", - "ordinal" - ], - [ - "query", - "limit" - ], - [ - "query", - "offset" - ] - ] - }, - "requiredCapabilities": [ - "hasLists" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "lists", - "list" - ] - } - }, - { - "name": "doc_lists_get", - "description": "Retrieve a specific list node by target.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "address": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "address" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "kind": { - "enum": [ - "ordered", - "bullet" - ] - }, - "level": { - "type": "integer" - }, - "marker": { - "type": "string" - }, - "ordinal": { - "type": "integer" - }, - "path": { - "items": { - "type": "integer" - }, - "type": "array" - }, - "text": { - "type": "string" - } - }, - "required": [ - "address" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.lists.get", - "profile": "operation", - "mutates": false, - "category": "lists", - "capabilities": [ - "session-targeting", - "stateless-doc" - ], - "requiredCapabilities": [ - "hasLists" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "lists", - "get" - ] - } - }, - { - "name": "doc_lists_insert", - "description": "Insert a new list at the target position.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "position": { - "type": "string" - }, - "text": { - "type": "string" - }, - "input": {} - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "insertionPoint": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - }, - "trackedChangeRefs": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "success", - "item", - "insertionPoint" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.lists.insert", - "profile": "operation", - "mutates": true, - "category": "lists", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasLists" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "lists", - "insert" - ] - } - }, - { - "name": "doc_lists_setType", - "description": "Change the list type (ordered, unordered) of a target list.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "kind": { - "type": "string" - }, - "input": {} - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.lists.setType", - "profile": "operation", - "mutates": true, - "category": "lists", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasLists" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "lists", - "set-type" - ] - } - }, - { - "name": "doc_lists_indent", - "description": "Increase the indentation level of a list item.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.lists.indent", - "profile": "operation", - "mutates": true, - "category": "lists", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasLists" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "lists", - "indent" - ] - } - }, - { - "name": "doc_lists_outdent", - "description": "Decrease the indentation level of a list item.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.lists.outdent", - "profile": "operation", - "mutates": true, - "category": "lists", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasLists" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "lists", - "outdent" - ] - } - }, - { - "name": "doc_lists_restart", - "description": "Restart numbering of an ordered list at the target item.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "item": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "listItem" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "item" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.lists.restart", - "profile": "operation", - "mutates": true, - "category": "lists", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasLists" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "lists", - "restart" - ] - } - }, - { - "name": "doc_lists_exit", - "description": "Exit a list context, converting the target item to a paragraph.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "paragraph": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "block" - }, - "nodeId": { - "type": "string" - }, - "nodeType": { - "const": "paragraph" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ], - "type": "object" - }, - "success": { - "const": true - } - }, - "required": [ - "success", - "paragraph" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.lists.exit", - "profile": "operation", - "mutates": true, - "category": "lists", - "capabilities": [ - "dry-run", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasLists" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "lists", - "exit" - ] - } - }, - { - "name": "doc_comments_add", - "description": "Add a new comment thread anchored to a target range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "text" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.comments.add", - "profile": "operation", - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasComments" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "comments", - "add" - ] - } - }, - { - "name": "doc_comments_edit", - "description": "Edit the content of an existing comment.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": [ - "id", - "text" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.comments.edit", - "profile": "operation", - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasComments" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "comments", - "edit" - ] - } - }, - { - "name": "doc_comments_reply", - "description": "Add a reply to an existing comment thread.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "parentId": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": [ - "parentId", - "text" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.comments.reply", - "profile": "operation", - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasComments" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "comments", - "reply" - ] - } - }, - { - "name": "doc_comments_move", - "description": "Move a comment thread to a new anchor range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "id", - "target" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.comments.move", - "profile": "operation", - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasComments" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "comments", - "move" - ] - } - }, - { - "name": "doc_comments_resolve", - "description": "Resolve or unresolve a comment thread.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.comments.resolve", - "profile": "operation", - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasComments" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "comments", - "resolve" - ] - } - }, - { - "name": "doc_comments_remove", - "description": "Remove a comment or reply by ID.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.comments.remove", - "profile": "operation", - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasComments" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "comments", - "remove" - ] - } - }, - { - "name": "doc_comments_setInternal", - "description": "Toggle the internal (private) flag on a comment thread.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "isInternal": { - "type": "boolean" - } - }, - "required": [ - "id", - "isInternal" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.comments.setInternal", - "profile": "operation", - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasComments" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "comments", - "set-internal" - ] - } - }, - { - "name": "doc_comments_setActive", - "description": "Set the active (focused) comment thread for UI highlighting.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "commentId": { - "type": "json" - }, - "id": { - "type": "string" - }, - "clear": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.comments.setActive", - "profile": "operation", - "mutates": true, - "category": "comments", - "capabilities": [ - "comments", - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "tracked-change-mode" - ], - "constraints": { - "requiresOneOf": [ - [ - "id", - "clear" - ] - ], - "mutuallyExclusive": [ - [ - "id", - "clear" - ] - ] - }, - "requiredCapabilities": [ - "hasComments" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "comments", - "set-active" - ] - } - }, - { - "name": "doc_comments_goTo", - "description": "Scroll the viewport to a comment thread by ID.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.comments.goTo", - "profile": "operation", - "mutates": false, - "category": "comments", - "capabilities": [ - "comments", - "session-targeting", - "stateless-doc" - ], - "requiredCapabilities": [ - "hasComments" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "comments", - "go-to" - ] - } - }, - { - "name": "doc_comments_get", - "description": "Retrieve a single comment thread by ID.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "commentId": { - "type": "string" - }, - "createdTime": { - "type": "number" - }, - "creatorEmail": { - "type": "string" - }, - "creatorName": { - "type": "string" - }, - "importedId": { - "type": "string" - }, - "isInternal": { - "type": "boolean" - }, - "parentCommentId": { - "type": "string" - }, - "status": { - "enum": [ - "open", - "resolved" - ] - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "address", - "commentId", - "status" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.comments.get", - "profile": "operation", - "mutates": false, - "category": "comments", - "capabilities": [ - "comments", - "session-targeting", - "stateless-doc" - ], - "requiredCapabilities": [ - "hasComments" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "comments", - "get" - ] - } - }, - { - "name": "doc_comments_list", - "description": "List all comment threads in the document.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "includeResolved": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "matches": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "commentId": { - "type": "string" - }, - "createdTime": { - "type": "number" - }, - "creatorEmail": { - "type": "string" - }, - "creatorName": { - "type": "string" - }, - "importedId": { - "type": "string" - }, - "isInternal": { - "type": "boolean" - }, - "parentCommentId": { - "type": "string" - }, - "status": { - "enum": [ - "open", - "resolved" - ] - }, - "target": { - "additionalProperties": false, - "properties": { - "blockId": { - "type": "string" - }, - "kind": { - "const": "text" - }, - "range": { - "additionalProperties": false, - "properties": { - "end": { - "type": "integer" - }, - "start": { - "type": "integer" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "blockId", - "range" - ], - "type": "object" - }, - "text": { - "type": "string" - } - }, - "required": [ - "address", - "commentId", - "status" - ], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": [ - "matches", - "total" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.comments.list", - "profile": "operation", - "mutates": false, - "category": "comments", - "capabilities": [ - "comments", - "session-targeting", - "stateless-doc" - ], - "requiredCapabilities": [ - "hasComments" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "comments", - "list" - ] - } - }, - { - "name": "doc_trackChanges_list", - "description": "List all tracked changes in the document.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "limit": { - "type": "number" - }, - "offset": { - "type": "number" - }, - "type": { - "type": "string" - } - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "changes": { - "items": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "author": { - "type": "string" - }, - "authorEmail": { - "type": "string" - }, - "authorImage": { - "type": "string" - }, - "date": { - "type": "string" - }, - "excerpt": { - "type": "string" - }, - "id": { - "type": "string" - }, - "type": { - "enum": [ - "insert", - "delete", - "format" - ] - } - }, - "required": [ - "address", - "id", - "type" - ], - "type": "object" - }, - "type": "array" - }, - "matches": { - "items": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": [ - "matches", - "total" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.trackChanges.list", - "profile": "operation", - "mutates": false, - "category": "trackChanges", - "capabilities": [ - "session-targeting", - "stateless-doc", - "track-changes" - ], - "requiredCapabilities": [ - "hasTrackedChanges" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "track-changes", - "list" - ] - } - }, - { - "name": "doc_trackChanges_get", - "description": "Retrieve a single tracked change by ID.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "address": { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - "author": { - "type": "string" - }, - "authorEmail": { - "type": "string" - }, - "authorImage": { - "type": "string" - }, - "date": { - "type": "string" - }, - "excerpt": { - "type": "string" - }, - "id": { - "type": "string" - }, - "type": { - "enum": [ - "insert", - "delete", - "format" - ] - } - }, - "required": [ - "address", - "id", - "type" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.trackChanges.get", - "profile": "operation", - "mutates": false, - "category": "trackChanges", - "capabilities": [ - "session-targeting", - "stateless-doc", - "track-changes" - ], - "requiredCapabilities": [ - "hasTrackedChanges" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "track-changes", - "get" - ] - } - }, - { - "name": "doc_trackChanges_accept", - "description": "Accept a tracked change, applying it permanently.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.trackChanges.accept", - "profile": "operation", - "mutates": true, - "category": "trackChanges", - "capabilities": [ - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "track-changes", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasTrackedChanges" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "track-changes", - "accept" - ] - } - }, - { - "name": "doc_trackChanges_reject", - "description": "Reject a tracked change, reverting it.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.trackChanges.reject", - "profile": "operation", - "mutates": true, - "category": "trackChanges", - "capabilities": [ - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "track-changes", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasTrackedChanges" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "track-changes", - "reject" - ] - } - }, - { - "name": "doc_trackChanges_acceptAll", - "description": "Accept all tracked changes in the document.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.trackChanges.acceptAll", - "profile": "operation", - "mutates": true, - "category": "trackChanges", - "capabilities": [ - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "track-changes", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasTrackedChanges" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "track-changes", - "accept-all" - ] - } - }, - { - "name": "doc_trackChanges_rejectAll", - "description": "Reject all tracked changes in the document.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "returns": { - "additionalProperties": false, - "properties": { - "inserted": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "removed": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "success": { - "const": true - }, - "updated": { - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "comment" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "entityId": { - "type": "string" - }, - "entityType": { - "const": "trackedChange" - }, - "kind": { - "const": "entity" - } - }, - "required": [ - "kind", - "entityType", - "entityId" - ], - "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "metadata": { - "operationId": "doc.trackChanges.rejectAll", - "profile": "operation", - "mutates": true, - "category": "trackChanges", - "capabilities": [ - "optimistic-concurrency", - "output-path", - "session-targeting", - "stateless-doc", - "track-changes", - "tracked-change-mode" - ], - "requiredCapabilities": [ - "hasTrackedChanges" - ], - "profileTags": [], - "examples": [], - "commandTokens": [ - "track-changes", - "reject-all" - ] - } - }, - { - "name": "doc_open", - "description": "Open a document and create a persistent editing session.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "collaboration": {}, - "collabDocumentId": { - "type": "string" - }, - "collabUrl": { - "type": "string" - } - }, - "required": [ - "doc" - ], - "additionalProperties": false - }, - "returns": { - "type": "object", - "properties": { - "contextId": { - "type": "string" - }, - "sessionType": { - "type": "string" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - }, - "revision": { - "type": "number" - } - } - }, - "collaboration": { - "type": "object", - "properties": { - "documentId": { - "type": "string" - }, - "url": { - "type": "string" - } - } - } - }, - "required": [ - "contextId", - "sessionType" - ] - }, - "metadata": { - "operationId": "doc.open", - "profile": "operation", - "mutates": false, - "category": "lifecycle", - "capabilities": [ - "session-targeting", - "stateless-doc" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "open" - ] - } - }, - { - "name": "doc_save", - "description": "Save the current session to the original file or a new path.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "returns": { - "type": "object", - "properties": { - "contextId": { - "type": "string" - }, - "saved": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - }, - "revision": { - "type": "number" - } - } - }, - "context": { - "type": "object", - "properties": { - "dirty": { - "type": "boolean" - }, - "revision": { - "type": "number" - }, - "lastSavedAt": { - "type": "string" - } - } - }, - "output": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "byteLength": { - "type": "number" - } - } - } - }, - "required": [ - "contextId", - "saved" - ] - }, - "metadata": { - "operationId": "doc.save", - "profile": "operation", - "mutates": true, - "category": "lifecycle", - "capabilities": [ - "output-path", - "session-targeting" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "save" - ] - } - }, - { - "name": "doc_close", - "description": "Close the active editing session and clean up resources.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "discard": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "returns": { - "type": "object", - "properties": { - "contextId": { - "type": "string" - }, - "closed": { - "type": "boolean" - }, - "saved": { - "type": "boolean" - }, - "discarded": { - "type": "boolean" - }, - "defaultSessionCleared": { - "type": "boolean" - }, - "wasDirty": { - "type": "boolean" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - }, - "revision": { - "type": "number" - } - } - } - }, - "required": [ - "contextId", - "closed" - ] - }, - "metadata": { - "operationId": "doc.close", - "profile": "operation", - "mutates": false, - "category": "lifecycle", - "capabilities": [ - "session-targeting" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "close" - ] - } - }, - { - "name": "doc_status", - "description": "Show the current session status and document metadata.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - } - }, - "additionalProperties": false - }, - "returns": { - "type": "object", - "properties": { - "contextId": { - "type": "string" - }, - "sessionType": { - "type": "string" - }, - "dirty": { - "type": "boolean" - }, - "revision": { - "type": "number" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - } - } - } - }, - "required": [ - "contextId" - ] - }, - "metadata": { - "operationId": "doc.status", - "profile": "operation", - "mutates": false, - "category": "introspection", - "capabilities": [ - "introspection", - "session-targeting" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "status" - ] - } - }, - { - "name": "doc_describe", - "description": "List all available CLI operations and contract metadata.", - "parameters": { - "type": "object", - "properties": {}, - "additionalProperties": false - }, - "returns": { - "type": "object", - "properties": { - "contractVersion": { - "type": "string" - }, - "operations": { - "type": "array", - "items": { - "type": "object", - "properties": { - "operationId": { - "type": "string" - }, - "command": { - "type": "string" - }, - "category": { - "type": "string" - }, - "description": { - "type": "string" - }, - "mutates": { - "type": "boolean" - } - } - } - } - } - }, - "metadata": { - "operationId": "doc.describe", - "profile": "operation", - "mutates": false, - "category": "introspection", - "capabilities": [ - "introspection" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "describe" - ] - } - }, - { - "name": "doc_describeCommand", - "description": "Show detailed metadata for a single CLI operation.", - "parameters": { - "type": "object", - "properties": { - "operationId": { - "type": "string" - } - }, - "required": [ - "operationId" - ], - "additionalProperties": false - }, - "returns": { - "type": "object", - "properties": { - "operationId": { - "type": "string" - }, - "command": { - "type": "string" - }, - "category": { - "type": "string" - }, - "description": { - "type": "string" - }, - "mutates": { - "type": "boolean" - }, - "params": { - "type": "array" - }, - "constraints": {} - } - }, - "metadata": { - "operationId": "doc.describeCommand", - "profile": "operation", - "mutates": false, - "category": "introspection", - "capabilities": [ - "introspection" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "describe", - "command" - ] - } - }, - { - "name": "doc_session_list", - "description": "List all active editing sessions.", - "parameters": { - "type": "object", - "properties": {}, - "additionalProperties": false - }, - "returns": { - "type": "object", - "properties": { - "activeSessionId": { - "type": "string" - }, - "sessions": { - "type": "array", - "items": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "sessionType": { - "type": "string" - }, - "dirty": { - "type": "boolean" - }, - "revision": { - "type": "number" - } - } - } - }, - "total": { - "type": "number" - } - } - }, - "metadata": { - "operationId": "doc.session.list", - "profile": "operation", - "mutates": false, - "category": "session", - "capabilities": [ - "session-management" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "session", - "list" - ] - } - }, - { - "name": "doc_session_save", - "description": "Persist the current session state.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - } - }, - "required": [ - "sessionId" - ], - "additionalProperties": false - }, - "returns": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "contextId": { - "type": "string" - }, - "saved": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - }, - "revision": { - "type": "number" - } - } - }, - "output": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "byteLength": { - "type": "number" - } - } - } - }, - "required": [ - "sessionId" - ] - }, - "metadata": { - "operationId": "doc.session.save", - "profile": "operation", - "mutates": true, - "category": "session", - "capabilities": [ - "output-path", - "session-management", - "session-targeting" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "session", - "save" - ] - } - }, - { - "name": "doc_session_close", - "description": "Close a specific editing session by ID.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "discard": { - "type": "boolean" - } - }, - "required": [ - "sessionId" - ], - "additionalProperties": false - }, - "returns": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "contextId": { - "type": "string" - }, - "closed": { - "type": "boolean" - }, - "saved": { - "type": "boolean" - }, - "discarded": { - "type": "boolean" - }, - "defaultSessionCleared": { - "type": "boolean" - }, - "wasDirty": { - "type": "boolean" - }, - "document": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "source": { - "type": "string" - }, - "revision": { - "type": "number" - } - } - } - }, - "required": [ - "sessionId" - ] - }, - "metadata": { - "operationId": "doc.session.close", - "profile": "operation", - "mutates": false, - "category": "session", - "capabilities": [ - "session-management", - "session-targeting" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "session", - "close" - ] - } - }, - { - "name": "doc_session_setDefault", - "description": "Set the default session for subsequent commands.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - } - }, - "required": [ - "sessionId" - ], - "additionalProperties": false - }, - "returns": { - "type": "object", - "properties": { - "activeSessionId": { - "type": "string" - } - }, - "required": [ - "activeSessionId" - ] - }, - "metadata": { - "operationId": "doc.session.setDefault", - "profile": "operation", - "mutates": false, - "category": "session", - "capabilities": [ - "session-management", - "session-targeting" - ], - "requiredCapabilities": [], - "profileTags": [], - "examples": [], - "commandTokens": [ - "session", - "set-default" - ] - } - } - ] - } -} diff --git a/packages/sdk/tools/tools.openai.json b/packages/sdk/tools/tools.openai.json deleted file mode 100644 index b21ff77381..0000000000 --- a/packages/sdk/tools/tools.openai.json +++ /dev/null @@ -1,3839 +0,0 @@ -{ - "contractVersion": "0.1.0", - "profiles": { - "intent": [ - { - "type": "function", - "function": { - "name": "find_content", - "description": "Search the document for nodes matching type, text, or attribute criteria.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "within": { - "oneOf": [ - { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "inline" - }, - "nodeType": { - "oneOf": [ - { - "const": "run" - }, - { - "const": "bookmark" - }, - { - "const": "comment" - }, - { - "const": "hyperlink" - }, - { - "const": "sdt" - }, - { - "const": "image" - }, - { - "const": "footnoteRef" - }, - { - "const": "tab" - }, - { - "const": "lineBreak" - } - ] - }, - "anchor": { - "type": "object", - "properties": { - "start": { - "type": "object", - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "number" - } - }, - "required": [ - "blockId", - "offset" - ] - }, - "end": { - "type": "object", - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "number" - } - }, - "required": [ - "blockId", - "offset" - ] - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ] - } - ] - }, - "limit": { - "type": "number" - }, - "offset": { - "type": "number" - }, - "includeNodes": { - "type": "boolean" - }, - "includeUnknown": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "nodeType": { - "type": "string" - }, - "kind": { - "type": "string" - }, - "pattern": { - "type": "string" - }, - "mode": { - "type": "string" - }, - "caseSensitive": { - "type": "boolean" - }, - "query": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "get_node", - "description": "Retrieve a single node by target position.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "address": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "get_node_by_id", - "description": "Retrieve a single node by its unique ID.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - }, - "nodeType": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "get_document_info", - "description": "Return document metadata including revision, node count, and capabilities.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "insert_content", - "description": "Insert text or inline content at a target position.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - }, - "text": { - "type": "string" - } - }, - "required": [ - "text" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "replace_content", - "description": "Replace content at a target position with new text or inline content.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "text" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "delete_content", - "description": "Delete content at a target position.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "format_bold", - "description": "Toggle bold formatting on the target range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "format_italic", - "description": "Toggle italic formatting on the target range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "format_underline", - "description": "Toggle underline formatting on the target range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "format_strikethrough", - "description": "Toggle strikethrough formatting on the target range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "create_paragraph", - "description": "Create a new paragraph at the target position.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "at": { - "oneOf": [ - { - "type": "object", - "properties": { - "kind": { - "const": "documentStart" - } - }, - "required": [ - "kind" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "documentEnd" - } - }, - "required": [ - "kind" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "before" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "kind", - "target" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "after" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "kind", - "target" - ] - } - ] - }, - "text": { - "type": "string" - }, - "input": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "list_lists", - "description": "List all list nodes in the document, optionally filtered by scope.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "within": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "limit": { - "type": "number" - }, - "offset": { - "type": "number" - }, - "kind": { - "type": "string" - }, - "level": { - "type": "number" - }, - "ordinal": { - "type": "number" - }, - "query": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "get_list", - "description": "Retrieve a specific list node by target.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "address": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "address" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "insert_list", - "description": "Insert a new list at the target position.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "position": { - "type": "string" - }, - "text": { - "type": "string" - }, - "input": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "set_list_type", - "description": "Change the list type (ordered, unordered) of a target list.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "kind": { - "type": "string" - }, - "input": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "indent_list", - "description": "Increase the indentation level of a list item.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "outdent_list", - "description": "Decrease the indentation level of a list item.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "restart_list_numbering", - "description": "Restart numbering of an ordered list at the target item.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "exit_list", - "description": "Exit a list context, converting the target item to a paragraph.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "add_comment", - "description": "Add a new comment thread anchored to a target range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "text" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "edit_comment", - "description": "Edit the content of an existing comment.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": [ - "id", - "text" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "reply_to_comment", - "description": "Add a reply to an existing comment thread.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "parentId": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": [ - "parentId", - "text" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "move_comment", - "description": "Move a comment thread to a new anchor range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "id", - "target" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "resolve_comment", - "description": "Resolve or unresolve a comment thread.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "remove_comment", - "description": "Remove a comment or reply by ID.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "set_comment_internal", - "description": "Toggle the internal (private) flag on a comment thread.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "isInternal": { - "type": "boolean" - } - }, - "required": [ - "id", - "isInternal" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "set_comment_active", - "description": "Set the active (focused) comment thread for UI highlighting.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "commentId": { - "type": "json" - }, - "id": { - "type": "string" - }, - "clear": { - "type": "boolean" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "go_to_comment", - "description": "Scroll the viewport to a comment thread by ID.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "get_comment", - "description": "Retrieve a single comment thread by ID.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "list_comments", - "description": "List all comment threads in the document.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "includeResolved": { - "type": "boolean" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "list_tracked_changes", - "description": "List all tracked changes in the document.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "limit": { - "type": "number" - }, - "offset": { - "type": "number" - }, - "type": { - "type": "string" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "get_tracked_change", - "description": "Retrieve a single tracked change by ID.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "accept_tracked_change", - "description": "Accept a tracked change, applying it permanently.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "reject_tracked_change", - "description": "Reject a tracked change, reverting it.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "accept_all_tracked_changes", - "description": "Accept all tracked changes in the document.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "reject_all_tracked_changes", - "description": "Reject all tracked changes in the document.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "open_document", - "description": "Open a document and create a persistent editing session.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "collaboration": {}, - "collabDocumentId": { - "type": "string" - }, - "collabUrl": { - "type": "string" - } - }, - "required": [ - "doc" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "save_document", - "description": "Save the current session to the original file or a new path.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "close_document", - "description": "Close the active editing session and clean up resources.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "discard": { - "type": "boolean" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "get_status", - "description": "Show the current session status and document metadata.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "describe_commands", - "description": "List all available CLI operations and contract metadata.", - "parameters": { - "type": "object", - "properties": {}, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "describe_command", - "description": "Show detailed metadata for a single CLI operation.", - "parameters": { - "type": "object", - "properties": { - "operationId": { - "type": "string" - } - }, - "required": [ - "operationId" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "list_sessions", - "description": "List all active editing sessions.", - "parameters": { - "type": "object", - "properties": {}, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "save_session", - "description": "Persist the current session state.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - } - }, - "required": [ - "sessionId" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "close_session", - "description": "Close a specific editing session by ID.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "discard": { - "type": "boolean" - } - }, - "required": [ - "sessionId" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "set_default_session", - "description": "Set the default session for subsequent commands.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - } - }, - "required": [ - "sessionId" - ], - "additionalProperties": false - } - } - } - ], - "operation": [ - { - "type": "function", - "function": { - "name": "doc_find", - "description": "Search the document for nodes matching type, text, or attribute criteria.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "within": { - "oneOf": [ - { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "inline" - }, - "nodeType": { - "oneOf": [ - { - "const": "run" - }, - { - "const": "bookmark" - }, - { - "const": "comment" - }, - { - "const": "hyperlink" - }, - { - "const": "sdt" - }, - { - "const": "image" - }, - { - "const": "footnoteRef" - }, - { - "const": "tab" - }, - { - "const": "lineBreak" - } - ] - }, - "anchor": { - "type": "object", - "properties": { - "start": { - "type": "object", - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "number" - } - }, - "required": [ - "blockId", - "offset" - ] - }, - "end": { - "type": "object", - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "number" - } - }, - "required": [ - "blockId", - "offset" - ] - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ] - } - ] - }, - "limit": { - "type": "number" - }, - "offset": { - "type": "number" - }, - "includeNodes": { - "type": "boolean" - }, - "includeUnknown": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "nodeType": { - "type": "string" - }, - "kind": { - "type": "string" - }, - "pattern": { - "type": "string" - }, - "mode": { - "type": "string" - }, - "caseSensitive": { - "type": "boolean" - }, - "query": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_getNode", - "description": "Retrieve a single node by target position.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "address": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_getNodeById", - "description": "Retrieve a single node by its unique ID.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - }, - "nodeType": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_info", - "description": "Return document metadata including revision, node count, and capabilities.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_insert", - "description": "Insert text or inline content at a target position.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - }, - "text": { - "type": "string" - } - }, - "required": [ - "text" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_replace", - "description": "Replace content at a target position with new text or inline content.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "text" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_delete", - "description": "Delete content at a target position.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_format_bold", - "description": "Toggle bold formatting on the target range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_format_italic", - "description": "Toggle italic formatting on the target range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_format_underline", - "description": "Toggle underline formatting on the target range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_format_strikethrough", - "description": "Toggle strikethrough formatting on the target range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_create_paragraph", - "description": "Create a new paragraph at the target position.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "at": { - "oneOf": [ - { - "type": "object", - "properties": { - "kind": { - "const": "documentStart" - } - }, - "required": [ - "kind" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "documentEnd" - } - }, - "required": [ - "kind" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "before" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "kind", - "target" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "after" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "kind", - "target" - ] - } - ] - }, - "text": { - "type": "string" - }, - "input": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_lists_list", - "description": "List all list nodes in the document, optionally filtered by scope.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "within": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "limit": { - "type": "number" - }, - "offset": { - "type": "number" - }, - "kind": { - "type": "string" - }, - "level": { - "type": "number" - }, - "ordinal": { - "type": "number" - }, - "query": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_lists_get", - "description": "Retrieve a specific list node by target.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "address": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "address" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_lists_insert", - "description": "Insert a new list at the target position.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "position": { - "type": "string" - }, - "text": { - "type": "string" - }, - "input": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_lists_setType", - "description": "Change the list type (ordered, unordered) of a target list.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "kind": { - "type": "string" - }, - "input": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_lists_indent", - "description": "Increase the indentation level of a list item.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_lists_outdent", - "description": "Decrease the indentation level of a list item.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_lists_restart", - "description": "Restart numbering of an ordered list at the target item.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_lists_exit", - "description": "Exit a list context, converting the target item to a paragraph.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_comments_add", - "description": "Add a new comment thread anchored to a target range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "text" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_comments_edit", - "description": "Edit the content of an existing comment.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": [ - "id", - "text" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_comments_reply", - "description": "Add a reply to an existing comment thread.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "parentId": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": [ - "parentId", - "text" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_comments_move", - "description": "Move a comment thread to a new anchor range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "id", - "target" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_comments_resolve", - "description": "Resolve or unresolve a comment thread.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_comments_remove", - "description": "Remove a comment or reply by ID.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_comments_setInternal", - "description": "Toggle the internal (private) flag on a comment thread.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "isInternal": { - "type": "boolean" - } - }, - "required": [ - "id", - "isInternal" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_comments_setActive", - "description": "Set the active (focused) comment thread for UI highlighting.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "commentId": { - "type": "json" - }, - "id": { - "type": "string" - }, - "clear": { - "type": "boolean" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_comments_goTo", - "description": "Scroll the viewport to a comment thread by ID.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_comments_get", - "description": "Retrieve a single comment thread by ID.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_comments_list", - "description": "List all comment threads in the document.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "includeResolved": { - "type": "boolean" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_trackChanges_list", - "description": "List all tracked changes in the document.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "limit": { - "type": "number" - }, - "offset": { - "type": "number" - }, - "type": { - "type": "string" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_trackChanges_get", - "description": "Retrieve a single tracked change by ID.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_trackChanges_accept", - "description": "Accept a tracked change, applying it permanently.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_trackChanges_reject", - "description": "Reject a tracked change, reverting it.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_trackChanges_acceptAll", - "description": "Accept all tracked changes in the document.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_trackChanges_rejectAll", - "description": "Reject all tracked changes in the document.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_open", - "description": "Open a document and create a persistent editing session.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "collaboration": {}, - "collabDocumentId": { - "type": "string" - }, - "collabUrl": { - "type": "string" - } - }, - "required": [ - "doc" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_save", - "description": "Save the current session to the original file or a new path.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_close", - "description": "Close the active editing session and clean up resources.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "discard": { - "type": "boolean" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_status", - "description": "Show the current session status and document metadata.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_describe", - "description": "List all available CLI operations and contract metadata.", - "parameters": { - "type": "object", - "properties": {}, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_describeCommand", - "description": "Show detailed metadata for a single CLI operation.", - "parameters": { - "type": "object", - "properties": { - "operationId": { - "type": "string" - } - }, - "required": [ - "operationId" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_session_list", - "description": "List all active editing sessions.", - "parameters": { - "type": "object", - "properties": {}, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_session_save", - "description": "Persist the current session state.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - } - }, - "required": [ - "sessionId" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_session_close", - "description": "Close a specific editing session by ID.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "discard": { - "type": "boolean" - } - }, - "required": [ - "sessionId" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_session_setDefault", - "description": "Set the default session for subsequent commands.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - } - }, - "required": [ - "sessionId" - ], - "additionalProperties": false - } - } - } - ] - } -} diff --git a/packages/sdk/tools/tools.vercel.json b/packages/sdk/tools/tools.vercel.json deleted file mode 100644 index b21ff77381..0000000000 --- a/packages/sdk/tools/tools.vercel.json +++ /dev/null @@ -1,3839 +0,0 @@ -{ - "contractVersion": "0.1.0", - "profiles": { - "intent": [ - { - "type": "function", - "function": { - "name": "find_content", - "description": "Search the document for nodes matching type, text, or attribute criteria.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "within": { - "oneOf": [ - { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "inline" - }, - "nodeType": { - "oneOf": [ - { - "const": "run" - }, - { - "const": "bookmark" - }, - { - "const": "comment" - }, - { - "const": "hyperlink" - }, - { - "const": "sdt" - }, - { - "const": "image" - }, - { - "const": "footnoteRef" - }, - { - "const": "tab" - }, - { - "const": "lineBreak" - } - ] - }, - "anchor": { - "type": "object", - "properties": { - "start": { - "type": "object", - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "number" - } - }, - "required": [ - "blockId", - "offset" - ] - }, - "end": { - "type": "object", - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "number" - } - }, - "required": [ - "blockId", - "offset" - ] - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ] - } - ] - }, - "limit": { - "type": "number" - }, - "offset": { - "type": "number" - }, - "includeNodes": { - "type": "boolean" - }, - "includeUnknown": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "nodeType": { - "type": "string" - }, - "kind": { - "type": "string" - }, - "pattern": { - "type": "string" - }, - "mode": { - "type": "string" - }, - "caseSensitive": { - "type": "boolean" - }, - "query": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "get_node", - "description": "Retrieve a single node by target position.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "address": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "get_node_by_id", - "description": "Retrieve a single node by its unique ID.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - }, - "nodeType": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "get_document_info", - "description": "Return document metadata including revision, node count, and capabilities.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "insert_content", - "description": "Insert text or inline content at a target position.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - }, - "text": { - "type": "string" - } - }, - "required": [ - "text" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "replace_content", - "description": "Replace content at a target position with new text or inline content.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "text" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "delete_content", - "description": "Delete content at a target position.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "format_bold", - "description": "Toggle bold formatting on the target range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "format_italic", - "description": "Toggle italic formatting on the target range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "format_underline", - "description": "Toggle underline formatting on the target range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "format_strikethrough", - "description": "Toggle strikethrough formatting on the target range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "create_paragraph", - "description": "Create a new paragraph at the target position.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "at": { - "oneOf": [ - { - "type": "object", - "properties": { - "kind": { - "const": "documentStart" - } - }, - "required": [ - "kind" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "documentEnd" - } - }, - "required": [ - "kind" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "before" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "kind", - "target" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "after" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "kind", - "target" - ] - } - ] - }, - "text": { - "type": "string" - }, - "input": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "list_lists", - "description": "List all list nodes in the document, optionally filtered by scope.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "within": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "limit": { - "type": "number" - }, - "offset": { - "type": "number" - }, - "kind": { - "type": "string" - }, - "level": { - "type": "number" - }, - "ordinal": { - "type": "number" - }, - "query": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "get_list", - "description": "Retrieve a specific list node by target.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "address": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "address" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "insert_list", - "description": "Insert a new list at the target position.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "position": { - "type": "string" - }, - "text": { - "type": "string" - }, - "input": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "set_list_type", - "description": "Change the list type (ordered, unordered) of a target list.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "kind": { - "type": "string" - }, - "input": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "indent_list", - "description": "Increase the indentation level of a list item.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "outdent_list", - "description": "Decrease the indentation level of a list item.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "restart_list_numbering", - "description": "Restart numbering of an ordered list at the target item.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "exit_list", - "description": "Exit a list context, converting the target item to a paragraph.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "add_comment", - "description": "Add a new comment thread anchored to a target range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "text" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "edit_comment", - "description": "Edit the content of an existing comment.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": [ - "id", - "text" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "reply_to_comment", - "description": "Add a reply to an existing comment thread.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "parentId": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": [ - "parentId", - "text" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "move_comment", - "description": "Move a comment thread to a new anchor range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "id", - "target" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "resolve_comment", - "description": "Resolve or unresolve a comment thread.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "remove_comment", - "description": "Remove a comment or reply by ID.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "set_comment_internal", - "description": "Toggle the internal (private) flag on a comment thread.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "isInternal": { - "type": "boolean" - } - }, - "required": [ - "id", - "isInternal" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "set_comment_active", - "description": "Set the active (focused) comment thread for UI highlighting.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "commentId": { - "type": "json" - }, - "id": { - "type": "string" - }, - "clear": { - "type": "boolean" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "go_to_comment", - "description": "Scroll the viewport to a comment thread by ID.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "get_comment", - "description": "Retrieve a single comment thread by ID.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "list_comments", - "description": "List all comment threads in the document.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "includeResolved": { - "type": "boolean" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "list_tracked_changes", - "description": "List all tracked changes in the document.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "limit": { - "type": "number" - }, - "offset": { - "type": "number" - }, - "type": { - "type": "string" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "get_tracked_change", - "description": "Retrieve a single tracked change by ID.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "accept_tracked_change", - "description": "Accept a tracked change, applying it permanently.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "reject_tracked_change", - "description": "Reject a tracked change, reverting it.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "accept_all_tracked_changes", - "description": "Accept all tracked changes in the document.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "reject_all_tracked_changes", - "description": "Reject all tracked changes in the document.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "open_document", - "description": "Open a document and create a persistent editing session.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "collaboration": {}, - "collabDocumentId": { - "type": "string" - }, - "collabUrl": { - "type": "string" - } - }, - "required": [ - "doc" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "save_document", - "description": "Save the current session to the original file or a new path.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "close_document", - "description": "Close the active editing session and clean up resources.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "discard": { - "type": "boolean" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "get_status", - "description": "Show the current session status and document metadata.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "describe_commands", - "description": "List all available CLI operations and contract metadata.", - "parameters": { - "type": "object", - "properties": {}, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "describe_command", - "description": "Show detailed metadata for a single CLI operation.", - "parameters": { - "type": "object", - "properties": { - "operationId": { - "type": "string" - } - }, - "required": [ - "operationId" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "list_sessions", - "description": "List all active editing sessions.", - "parameters": { - "type": "object", - "properties": {}, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "save_session", - "description": "Persist the current session state.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - } - }, - "required": [ - "sessionId" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "close_session", - "description": "Close a specific editing session by ID.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "discard": { - "type": "boolean" - } - }, - "required": [ - "sessionId" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "set_default_session", - "description": "Set the default session for subsequent commands.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - } - }, - "required": [ - "sessionId" - ], - "additionalProperties": false - } - } - } - ], - "operation": [ - { - "type": "function", - "function": { - "name": "doc_find", - "description": "Search the document for nodes matching type, text, or attribute criteria.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "within": { - "oneOf": [ - { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "inline" - }, - "nodeType": { - "oneOf": [ - { - "const": "run" - }, - { - "const": "bookmark" - }, - { - "const": "comment" - }, - { - "const": "hyperlink" - }, - { - "const": "sdt" - }, - { - "const": "image" - }, - { - "const": "footnoteRef" - }, - { - "const": "tab" - }, - { - "const": "lineBreak" - } - ] - }, - "anchor": { - "type": "object", - "properties": { - "start": { - "type": "object", - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "number" - } - }, - "required": [ - "blockId", - "offset" - ] - }, - "end": { - "type": "object", - "properties": { - "blockId": { - "type": "string" - }, - "offset": { - "type": "number" - } - }, - "required": [ - "blockId", - "offset" - ] - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "nodeType", - "anchor" - ] - } - ] - }, - "limit": { - "type": "number" - }, - "offset": { - "type": "number" - }, - "includeNodes": { - "type": "boolean" - }, - "includeUnknown": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "nodeType": { - "type": "string" - }, - "kind": { - "type": "string" - }, - "pattern": { - "type": "string" - }, - "mode": { - "type": "string" - }, - "caseSensitive": { - "type": "boolean" - }, - "query": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_getNode", - "description": "Retrieve a single node by target position.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "address": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_getNodeById", - "description": "Retrieve a single node by its unique ID.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - }, - "nodeType": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_info", - "description": "Return document metadata including revision, node count, and capabilities.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_insert", - "description": "Insert text or inline content at a target position.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - }, - "text": { - "type": "string" - } - }, - "required": [ - "text" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_replace", - "description": "Replace content at a target position with new text or inline content.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "text" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_delete", - "description": "Delete content at a target position.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_format_bold", - "description": "Toggle bold formatting on the target range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_format_italic", - "description": "Toggle italic formatting on the target range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_format_underline", - "description": "Toggle underline formatting on the target range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_format_strikethrough", - "description": "Toggle strikethrough formatting on the target range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "target" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_create_paragraph", - "description": "Create a new paragraph at the target position.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "at": { - "oneOf": [ - { - "type": "object", - "properties": { - "kind": { - "const": "documentStart" - } - }, - "required": [ - "kind" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "documentEnd" - } - }, - "required": [ - "kind" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "before" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "kind", - "target" - ] - }, - { - "type": "object", - "properties": { - "kind": { - "const": "after" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "kind", - "target" - ] - } - ] - }, - "text": { - "type": "string" - }, - "input": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_lists_list", - "description": "List all list nodes in the document, optionally filtered by scope.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "within": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "oneOf": [ - { - "const": "paragraph" - }, - { - "const": "heading" - }, - { - "const": "listItem" - }, - { - "const": "table" - }, - { - "const": "tableRow" - }, - { - "const": "tableCell" - }, - { - "const": "image" - }, - { - "const": "sdt" - } - ] - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "limit": { - "type": "number" - }, - "offset": { - "type": "number" - }, - "kind": { - "type": "string" - }, - "level": { - "type": "number" - }, - "ordinal": { - "type": "number" - }, - "query": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_lists_get", - "description": "Retrieve a specific list node by target.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "address": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - } - }, - "required": [ - "address" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_lists_insert", - "description": "Insert a new list at the target position.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "position": { - "type": "string" - }, - "text": { - "type": "string" - }, - "input": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_lists_setType", - "description": "Change the list type (ordered, unordered) of a target list.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "kind": { - "type": "string" - }, - "input": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_lists_indent", - "description": "Increase the indentation level of a list item.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_lists_outdent", - "description": "Decrease the indentation level of a list item.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_lists_restart", - "description": "Restart numbering of an ordered list at the target item.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_lists_exit", - "description": "Exit a list context, converting the target item to a paragraph.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "block" - }, - "nodeType": { - "const": "listItem" - }, - "nodeId": { - "type": "string" - } - }, - "required": [ - "kind", - "nodeType", - "nodeId" - ] - }, - "input": {} - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_comments_add", - "description": "Add a new comment thread anchored to a target range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - }, - "text": { - "type": "string" - } - }, - "required": [ - "target", - "text" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_comments_edit", - "description": "Edit the content of an existing comment.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": [ - "id", - "text" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_comments_reply", - "description": "Add a reply to an existing comment thread.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "parentId": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "required": [ - "parentId", - "text" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_comments_move", - "description": "Move a comment thread to a new anchor range.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "target": { - "type": "object", - "properties": { - "kind": { - "const": "text" - }, - "blockId": { - "type": "string" - }, - "range": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ] - } - }, - "required": [ - "kind", - "blockId", - "range" - ] - } - }, - "required": [ - "id", - "target" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_comments_resolve", - "description": "Resolve or unresolve a comment thread.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_comments_remove", - "description": "Remove a comment or reply by ID.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_comments_setInternal", - "description": "Toggle the internal (private) flag on a comment thread.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "isInternal": { - "type": "boolean" - } - }, - "required": [ - "id", - "isInternal" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_comments_setActive", - "description": "Set the active (focused) comment thread for UI highlighting.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "commentId": { - "type": "json" - }, - "id": { - "type": "string" - }, - "clear": { - "type": "boolean" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_comments_goTo", - "description": "Scroll the viewport to a comment thread by ID.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_comments_get", - "description": "Retrieve a single comment thread by ID.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_comments_list", - "description": "List all comment threads in the document.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "includeResolved": { - "type": "boolean" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_trackChanges_list", - "description": "List all tracked changes in the document.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "limit": { - "type": "number" - }, - "offset": { - "type": "number" - }, - "type": { - "type": "string" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_trackChanges_get", - "description": "Retrieve a single tracked change by ID.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_trackChanges_accept", - "description": "Accept a tracked change, applying it permanently.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_trackChanges_reject", - "description": "Reject a tracked change, reverting it.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_trackChanges_acceptAll", - "description": "Accept all tracked changes in the document.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_trackChanges_rejectAll", - "description": "Reject all tracked changes in the document.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_open", - "description": "Open a document and create a persistent editing session.", - "parameters": { - "type": "object", - "properties": { - "doc": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "collaboration": {}, - "collabDocumentId": { - "type": "string" - }, - "collabUrl": { - "type": "string" - } - }, - "required": [ - "doc" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_save", - "description": "Save the current session to the original file or a new path.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_close", - "description": "Close the active editing session and clean up resources.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "discard": { - "type": "boolean" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_status", - "description": "Show the current session status and document metadata.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - } - }, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_describe", - "description": "List all available CLI operations and contract metadata.", - "parameters": { - "type": "object", - "properties": {}, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_describeCommand", - "description": "Show detailed metadata for a single CLI operation.", - "parameters": { - "type": "object", - "properties": { - "operationId": { - "type": "string" - } - }, - "required": [ - "operationId" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_session_list", - "description": "List all active editing sessions.", - "parameters": { - "type": "object", - "properties": {}, - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_session_save", - "description": "Persist the current session state.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "force": { - "type": "boolean" - }, - "inPlace": { - "type": "boolean" - } - }, - "required": [ - "sessionId" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_session_close", - "description": "Close a specific editing session by ID.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "discard": { - "type": "boolean" - } - }, - "required": [ - "sessionId" - ], - "additionalProperties": false - } - } - }, - { - "type": "function", - "function": { - "name": "doc_session_setDefault", - "description": "Set the default session for subsequent commands.", - "parameters": { - "type": "object", - "properties": { - "sessionId": { - "type": "string" - } - }, - "required": [ - "sessionId" - ], - "additionalProperties": false - } - } - } - ] - } -} diff --git a/scripts/generate-all.mjs b/scripts/generate-all.mjs new file mode 100644 index 0000000000..b18b68747c --- /dev/null +++ b/scripts/generate-all.mjs @@ -0,0 +1,92 @@ +#!/usr/bin/env node + +/** + * Full generation DAG — produces all derived artifacts from source-of-truth inputs. + * + * Phases (sequential — each depends on the previous): + * 1. docapi:sync → packages/document-api/generated/** + apps/docs/document-api/reference/** + * 2. cli:export-sdk-contract → apps/cli/generated/sdk-contract.json + * 3. sdk codegen → packages/sdk/langs/{node,python}/…/generated/** + packages/sdk/tools/*.json + * + * Before generation, gitignored output directories are cleaned to prevent stale file accumulation. + * apps/docs/document-api/reference/ is NOT cleaned here — it stays committed (Mintlify deploys from git) + * and docapi:sync handles its contents idempotently. + */ + +import { execFile } from 'node:child_process'; +import { readdir, rm } from 'node:fs/promises'; +import path from 'node:path'; +import { promisify } from 'node:util'; +import { fileURLToPath } from 'node:url'; + +const execFileAsync = promisify(execFile); + +const __dirname = path.dirname(fileURLToPath(import.meta.url)); +const REPO_ROOT = path.resolve(__dirname, '..'); + +async function run(command, args) { + console.log(` > ${command} ${args.join(' ')}`); + const { stdout, stderr } = await execFileAsync(command, args, { + cwd: REPO_ROOT, + env: process.env, + }); + if (stdout.trim()) console.log(stdout.trim()); + if (stderr.trim()) console.error(stderr.trim()); +} + +/** + * Remove all .json files from a directory while preserving non-json files + * (e.g. __init__.py in packages/sdk/tools/). + */ +async function cleanJsonFiles(dir) { + let entries; + try { + entries = await readdir(dir); + } catch { + return; // directory doesn't exist yet + } + await Promise.all( + entries + .filter((name) => name.endsWith('.json')) + .map((name) => rm(path.join(dir, name), { force: true })), + ); +} + +async function clean() { + console.log('Cleaning gitignored generated output directories...'); + await Promise.all([ + rm(path.join(REPO_ROOT, 'packages/document-api/generated'), { recursive: true, force: true }), + rm(path.join(REPO_ROOT, 'apps/cli/generated'), { recursive: true, force: true }), + rm(path.join(REPO_ROOT, 'packages/sdk/langs/node/src/generated'), { recursive: true, force: true }), + rm(path.join(REPO_ROOT, 'packages/sdk/langs/python/superdoc/generated'), { recursive: true, force: true }), + cleanJsonFiles(path.join(REPO_ROOT, 'packages/sdk/tools')), + // Note: apps/docs/document-api/reference/ is NOT cleaned — it stays committed + // (Mintlify deploys from git) and docapi:sync handles its contents idempotently. + ]); +} + +async function main() { + console.log('generate:all — producing all derived artifacts...\n'); + + // Clean stale outputs + await clean(); + + // Phase 1-2: Document API contract outputs + reference docs + console.log('\n--- Phase 1: docapi:sync ---'); + await run('pnpm', ['run', 'docapi:sync']); + + // Phase 3: CLI SDK contract export + console.log('\n--- Phase 2: cli:export-sdk-contract ---'); + await run('bun', [path.join(REPO_ROOT, 'apps/cli/scripts/export-sdk-contract.ts')]); + + // Phase 4: SDK codegen (Node + Python clients + tool catalogs) + console.log('\n--- Phase 3: sdk codegen ---'); + await run('node', [path.join(REPO_ROOT, 'packages/sdk/codegen/src/generate-all.mjs')]); + + console.log('\ngenerate:all complete.'); +} + +main().catch((error) => { + console.error(error.message ?? error); + process.exitCode = 1; +}); From 0677d256e1fe6ea146c5c43461525561ba1c9a80 Mon Sep 17 00:00:00 2001 From: Nick Bernal Date: Fri, 20 Feb 2026 13:20:15 -0800 Subject: [PATCH 3/9] chore: fix lock --- pnpm-lock.yaml | 3230 +++++++++++++++++++++++------------------------- 1 file changed, 1522 insertions(+), 1708 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d84834db5d..9390c74e53 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,7 +14,7 @@ catalogs: version: 19.8.1 '@eslint/js': specifier: ^9.31.0 - version: 9.39.2 + version: 9.39.3 '@floating-ui/dom': specifier: ^1.7.0 version: 1.7.5 @@ -32,7 +32,7 @@ catalogs: version: 53.0.0 '@playwright/test': specifier: ^1.57.0 - version: 1.58.1 + version: 1.58.2 '@semantic-release/changelog': specifier: ^6.0.3 version: 6.0.3 @@ -50,25 +50,25 @@ catalogs: version: 14.6.1 '@types/bun': specifier: ^1.3.8 - version: 1.3.8 + version: 1.3.9 '@types/node': specifier: 22.19.2 version: 22.19.2 '@types/react': specifier: ^19.2.6 - version: 19.2.11 + version: 19.2.14 '@types/react-dom': specifier: ^19.2.3 version: 19.2.3 '@typescript-eslint/eslint-plugin': specifier: ^8.49.0 - version: 8.54.0 + version: 8.56.0 '@typescript-eslint/parser': specifier: ^8.49.0 - version: 8.54.0 + version: 8.56.0 '@vitejs/plugin-react': specifier: ^5.1.1 - version: 5.1.3 + version: 5.1.4 '@vitejs/plugin-vue': specifier: 6.0.2 version: 6.0.2 @@ -92,7 +92,7 @@ catalogs: version: 16.6.1 eslint: specifier: ^9.39.1 - version: 9.39.2 + version: 9.39.3 eslint-config-prettier: specifier: ^9.1.0 version: 9.1.2 @@ -143,7 +143,7 @@ catalogs: version: 2.43.2 nodemon: specifier: ^3.1.10 - version: 3.1.11 + version: 3.1.13 patch-package: specifier: ^8.0.1 version: 8.0.1 @@ -158,7 +158,7 @@ catalogs: version: 7.1.0 playwright: specifier: ^1.56.0 - version: 1.58.1 + version: 1.58.2 postcss-nested: specifier: ^6.0.1 version: 6.2.0 @@ -212,7 +212,7 @@ catalogs: version: 1.11.0 prosemirror-view: specifier: ^1.33.8 - version: 1.41.5 + version: 1.41.6 react: specifier: 19.2.4 version: 19.2.4 @@ -260,7 +260,7 @@ catalogs: version: 5.9.3 typescript-eslint: specifier: ^8.49.0 - version: 8.54.0 + version: 8.56.0 unified: specifier: 11.0.5 version: 11.0.5 @@ -326,7 +326,7 @@ importers: version: 19.8.1 '@eslint/js': specifier: 'catalog:' - version: 9.39.2 + version: 9.39.3 '@semantic-release/changelog': specifier: 'catalog:' version: 6.0.3(semantic-release@24.2.9(typescript@5.9.3)) @@ -338,28 +338,28 @@ importers: version: 22.19.2 '@typescript-eslint/eslint-plugin': specifier: 'catalog:' - version: 8.54.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + version: 8.56.0(@typescript-eslint/parser@8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/parser': specifier: 'catalog:' - version: 8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + version: 8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) '@vitest/coverage-v8': specifier: 'catalog:' - version: 3.2.4(vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.19.2)(esbuild@0.27.2)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2)) + version: 3.2.4(vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.19.2)(esbuild@0.27.3)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2)) eslint: specifier: 'catalog:' - version: 9.39.2(jiti@2.6.1) + version: 9.39.3(jiti@2.6.1) eslint-config-prettier: specifier: 'catalog:' - version: 9.1.2(eslint@9.39.2(jiti@2.6.1)) + version: 9.1.2(eslint@9.39.3(jiti@2.6.1)) eslint-import-resolver-typescript: specifier: 'catalog:' - version: 4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)) + version: 4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1)))(eslint@9.39.3(jiti@2.6.1)) eslint-plugin-import-x: specifier: 'catalog:' - version: 4.16.1(@typescript-eslint/utils@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1)) + version: 4.16.1(@typescript-eslint/utils@8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1)) eslint-plugin-jsdoc: specifier: 'catalog:' - version: 54.7.0(eslint@9.39.2(jiti@2.6.1)) + version: 54.7.0(eslint@9.39.3(jiti@2.6.1)) happy-dom: specifier: 20.4.0 version: 20.4.0 @@ -395,16 +395,16 @@ importers: version: 5.9.3 typescript-eslint: specifier: 'catalog:' - version: 8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + version: 8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) verdaccio: specifier: 'catalog:' version: 6.2.5(typanion@3.14.0) vite-plugin-node-polyfills: specifier: 'catalog:' - version: 0.25.0(rollup@4.57.1)(vite@7.3.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2)) + version: 0.25.0(rollup@4.58.0)(vite@7.3.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2)) vitest: specifier: 'catalog:' - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.2)(esbuild@0.27.2)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.2)(esbuild@0.27.3)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) optionalDependencies: canvas: specifier: 3.2.0 @@ -433,7 +433,7 @@ importers: version: link:../../packages/super-editor '@types/bun': specifier: 'catalog:' - version: 1.3.8 + version: 1.3.9 '@types/node': specifier: 'catalog:' version: 22.19.2 @@ -443,22 +443,6 @@ importers: typescript: specifier: 'catalog:' version: 5.9.3 - optionalDependencies: - '@superdoc-dev/cli-darwin-arm64': - specifier: workspace:* - version: link:platforms/cli-darwin-arm64 - '@superdoc-dev/cli-darwin-x64': - specifier: workspace:* - version: link:platforms/cli-darwin-x64 - '@superdoc-dev/cli-linux-arm64': - specifier: workspace:* - version: link:platforms/cli-linux-arm64 - '@superdoc-dev/cli-linux-x64': - specifier: workspace:* - version: link:platforms/cli-linux-x64 - '@superdoc-dev/cli-windows-x64': - specifier: workspace:* - version: link:platforms/cli-windows-x64 apps/docs: devDependencies: @@ -467,7 +451,7 @@ importers: version: 14.0.3 mintlify: specifier: ^4.2.331 - version: 4.2.331(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/node@22.19.8)(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(typescript@5.9.3) + version: 4.2.368(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/node@25.3.0)(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(typescript@5.9.3) remark-mdx: specifier: ^3.1.1 version: 3.1.1 @@ -495,7 +479,7 @@ importers: version: 22.19.2 '@types/vscode': specifier: ^1.107.0 - version: 1.108.1 + version: 1.109.0 '@vscode/vsce': specifier: ^2.32.0 version: 2.32.0 @@ -516,7 +500,7 @@ importers: version: 53.0.0 '@playwright/test': specifier: 'catalog:' - version: 1.58.1 + version: 1.58.2 jszip: specifier: 'catalog:' version: 3.10.1 @@ -525,7 +509,7 @@ importers: version: 8.0.1 playwright: specifier: 'catalog:' - version: 1.58.1 + version: 1.58.2 vue: specifier: 3.5.25 version: 3.5.25(typescript@5.9.3) @@ -535,19 +519,19 @@ importers: version: 22.19.2 '@vitejs/plugin-vue': specifier: 'catalog:' - version: 6.0.2(rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.25(typescript@5.9.3)) + version: 6.0.2(rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.25(typescript@5.9.3)) jimp: specifier: 'catalog:' version: 1.6.0 nodemon: specifier: 'catalog:' - version: 3.1.11 + version: 3.1.13 pixelmatch: specifier: 'catalog:' version: 7.1.0 vite: specifier: npm:rolldown-vite@7.3.1 - version: rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + version: rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) e2e-tests/templates/vue: dependencies: @@ -563,16 +547,16 @@ importers: devDependencies: '@vitejs/plugin-vue': specifier: 'catalog:' - version: 6.0.2(rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.25(typescript@5.9.3)) + version: 6.0.2(rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.25(typescript@5.9.3)) vite: specifier: npm:rolldown-vite@7.3.1 - version: rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + version: rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) examples/__tests__: devDependencies: '@playwright/test': specifier: ^1.50.0 - version: 1.58.1 + version: 1.58.2 serve: specifier: ^14.2.0 version: 14.2.5 @@ -584,16 +568,16 @@ importers: version: 22.19.2 '@typescript-eslint/eslint-plugin': specifier: 'catalog:' - version: 8.54.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + version: 8.56.0(@typescript-eslint/parser@8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/parser': specifier: 'catalog:' - version: 8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + version: 8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) '@vitejs/plugin-vue': specifier: 'catalog:' version: 6.0.2(vite@7.3.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.25(typescript@5.9.3)) eslint: specifier: 'catalog:' - version: 9.39.2(jiti@2.6.1) + version: 9.39.3(jiti@2.6.1) prosemirror-model: specifier: 'catalog:' version: 1.25.4 @@ -602,19 +586,19 @@ importers: version: 1.4.4 prosemirror-view: specifier: 'catalog:' - version: 1.41.5 + version: 1.41.6 superdoc: specifier: 'workspace:' version: link:../superdoc tsup: specifier: 'catalog:' - version: 8.5.1(@microsoft/api-extractor@7.56.1(@types/node@22.19.2))(jiti@2.6.1)(postcss@8.5.6)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2) + version: 8.5.1(@microsoft/api-extractor@7.57.2(@types/node@22.19.2))(jiti@2.6.1)(postcss@8.5.6)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2) typescript: specifier: 'catalog:' version: 5.9.3 vitest: specifier: 'catalog:' - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.2)(esbuild@0.27.2)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.2)(esbuild@0.27.3)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) vue: specifier: 3.5.25 version: 3.5.25(typescript@5.9.3) @@ -636,34 +620,34 @@ importers: version: 22.19.2 '@typescript-eslint/parser': specifier: 'catalog:' - version: 8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + version: 8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) '@vitest/coverage-v8': specifier: 'catalog:' - version: 3.2.4(vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.19.2)(esbuild@0.27.2)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2)) + version: 3.2.4(vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.19.2)(esbuild@0.27.3)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2)) concurrently: specifier: 'catalog:' version: 9.2.1 eslint: specifier: 'catalog:' - version: 9.39.2(jiti@2.6.1) + version: 9.39.3(jiti@2.6.1) eslint-config-prettier: specifier: 'catalog:' - version: 9.1.2(eslint@9.39.2(jiti@2.6.1)) + version: 9.1.2(eslint@9.39.3(jiti@2.6.1)) nodemon: specifier: 'catalog:' - version: 3.1.11 + version: 3.1.13 prettier: specifier: ^3.5.3 version: 3.8.1 tsup: specifier: 'catalog:' - version: 8.5.1(@microsoft/api-extractor@7.56.1(@types/node@22.19.2))(jiti@2.6.1)(postcss@8.5.6)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2) + version: 8.5.1(@microsoft/api-extractor@7.57.2(@types/node@22.19.2))(jiti@2.6.1)(postcss@8.5.6)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2) typescript: specifier: 'catalog:' version: 5.9.3 vitest: specifier: 'catalog:' - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.2)(esbuild@0.27.2)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.2)(esbuild@0.27.3)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) packages/document-api: {} @@ -674,25 +658,25 @@ importers: version: 6.9.1 '@testing-library/react': specifier: 'catalog:' - version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@testing-library/user-event': specifier: 'catalog:' version: 14.6.1(@testing-library/dom@10.4.1) '@types/react': specifier: 'catalog:' - version: 19.2.11 + version: 19.2.14 '@types/react-dom': specifier: 'catalog:' - version: 19.2.3(@types/react@19.2.11) + version: 19.2.3(@types/react@19.2.14) '@vitejs/plugin-react': specifier: 'catalog:' - version: 5.1.3(rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) + version: 5.1.4(rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) eslint-plugin-react: specifier: 'catalog:' - version: 7.37.5(eslint@9.39.2(jiti@2.6.1)) + version: 7.37.5(eslint@9.39.3(jiti@2.6.1)) eslint-plugin-react-hooks: specifier: 'catalog:' - version: 7.0.1(eslint@9.39.2(jiti@2.6.1)) + version: 7.0.1(eslint@9.39.3(jiti@2.6.1)) jsdom: specifier: 27.3.0 version: 27.3.0(canvas@3.2.0) @@ -710,13 +694,13 @@ importers: version: 5.9.3 vite: specifier: npm:rolldown-vite@7.3.1 - version: rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + version: rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) vite-plugin-dts: specifier: 'catalog:' - version: 4.5.4(@types/node@22.19.8)(rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))(rollup@4.57.1)(typescript@5.9.3) + version: 4.5.4(@types/node@25.3.0)(rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))(rollup@4.58.0)(typescript@5.9.3) vitest: specifier: 'catalog:' - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.8)(esbuild@0.27.2)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) + version: 3.2.4(@types/debug@4.1.12)(@types/node@25.3.0)(esbuild@0.27.3)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) packages/esign/demo: dependencies: @@ -741,19 +725,19 @@ importers: devDependencies: '@types/react': specifier: 'catalog:' - version: 19.2.11 + version: 19.2.14 '@types/react-dom': specifier: 'catalog:' - version: 19.2.3(@types/react@19.2.11) + version: 19.2.3(@types/react@19.2.14) '@vitejs/plugin-react': specifier: 'catalog:' - version: 5.1.3(rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) + version: 5.1.4(rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) typescript: specifier: 'catalog:' version: 5.9.3 vite: specifier: npm:rolldown-vite@7.3.1 - version: rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + version: rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) packages/esign/demo/server: dependencies: @@ -778,7 +762,7 @@ importers: version: 5.9.3 vitest: specifier: 'catalog:' - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.8)(esbuild@0.27.2)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) + version: 3.2.4(@types/debug@4.1.12)(@types/node@25.3.0)(esbuild@0.27.3)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) packages/layout-engine/layout-bridge: dependencies: @@ -809,13 +793,13 @@ importers: version: 22.19.2 tsup: specifier: 'catalog:' - version: 8.5.1(@microsoft/api-extractor@7.56.1(@types/node@22.19.2))(jiti@2.6.1)(postcss@8.5.6)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2) + version: 8.5.1(@microsoft/api-extractor@7.57.2(@types/node@22.19.2))(jiti@2.6.1)(postcss@8.5.6)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2) typescript: specifier: 'catalog:' version: 5.9.3 vitest: specifier: 'catalog:' - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.2)(esbuild@0.27.2)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.2)(esbuild@0.27.3)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) packages/layout-engine/layout-engine: dependencies: @@ -867,7 +851,7 @@ importers: devDependencies: vitest: specifier: 'catalog:' - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.8)(esbuild@0.27.2)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) + version: 3.2.4(@types/debug@4.1.12)(@types/node@25.3.0)(esbuild@0.27.3)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) packages/layout-engine/pm-adapter: dependencies: @@ -907,7 +891,7 @@ importers: version: link:../painters/dom vitest: specifier: 'catalog:' - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.8)(esbuild@0.27.2)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) + version: 3.2.4(@types/debug@4.1.12)(@types/node@25.3.0)(esbuild@0.27.3)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) packages/layout-engine/style-engine: dependencies: @@ -923,7 +907,7 @@ importers: version: 5.9.3 vitest: specifier: 'catalog:' - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.8)(esbuild@0.27.2)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) + version: 3.2.4(@types/debug@4.1.12)(@types/node@25.3.0)(esbuild@0.27.3)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) packages/layout-engine/tests: dependencies: @@ -959,32 +943,32 @@ importers: dependencies: superdoc: specifier: '>=1.0.0' - version: 1.11.0(@hocuspocus/provider@2.15.3(y-protocols@1.0.7(yjs@13.6.19))(yjs@13.6.19))(canvas@3.2.0)(pdfjs-dist@5.4.624)(typescript@5.9.3)(y-prosemirror@1.3.7(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.5)(y-protocols@1.0.7(yjs@13.6.19))(yjs@13.6.19))(yjs@13.6.19) + version: 1.15.0(@hocuspocus/provider@2.15.3(y-protocols@1.0.7(yjs@13.6.19))(yjs@13.6.19))(canvas@3.2.0)(pdfjs-dist@5.4.624)(typescript@5.9.3)(y-prosemirror@1.3.7(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.6)(y-protocols@1.0.7(yjs@13.6.19))(yjs@13.6.19))(yjs@13.6.19) devDependencies: '@testing-library/react': specifier: 'catalog:' - version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@types/node': specifier: 'catalog:' version: 22.19.2 '@types/react': specifier: 'catalog:' - version: 19.2.11 + version: 19.2.14 '@types/react-dom': specifier: 'catalog:' - version: 19.2.3(@types/react@19.2.11) + version: 19.2.3(@types/react@19.2.14) '@typescript-eslint/eslint-plugin': specifier: 'catalog:' - version: 8.54.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + version: 8.56.0(@typescript-eslint/parser@8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/parser': specifier: 'catalog:' - version: 8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + version: 8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) '@vitejs/plugin-react': specifier: 'catalog:' - version: 5.1.3(rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) + version: 5.1.4(rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) eslint: specifier: 'catalog:' - version: 9.39.2(jiti@2.6.1) + version: 9.39.3(jiti@2.6.1) happy-dom: specifier: 20.4.0 version: 20.4.0 @@ -999,13 +983,13 @@ importers: version: 5.9.3 vite: specifier: npm:rolldown-vite@7.3.1 - version: rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + version: rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) vite-plugin-dts: specifier: 'catalog:' - version: 4.5.4(@types/node@22.19.2)(rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))(rollup@4.57.1)(typescript@5.9.3) + version: 4.5.4(@types/node@22.19.2)(rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))(rollup@4.58.0)(typescript@5.9.3) vitest: specifier: 'catalog:' - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.2)(esbuild@0.27.2)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.2)(esbuild@0.27.3)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) packages/sdk: {} @@ -1015,7 +999,7 @@ importers: devDependencies: '@types/bun': specifier: 'catalog:' - version: 1.3.8 + version: 1.3.9 '@types/node': specifier: 'catalog:' version: 22.19.2 @@ -1087,7 +1071,7 @@ importers: version: 1.11.0 prosemirror-view: specifier: 'catalog:' - version: 1.41.5 + version: 1.41.6 rehype-parse: specifier: 'catalog:' version: 9.0.1 @@ -1114,7 +1098,7 @@ importers: version: 1.6.11 y-prosemirror: specifier: 'catalog:' - version: 1.3.7(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.5)(y-protocols@1.0.7(yjs@13.6.19))(yjs@13.6.19) + version: 1.3.7(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.6)(y-protocols@1.0.7(yjs@13.6.19))(yjs@13.6.19) yjs: specifier: 'catalog:' version: 13.6.19 @@ -1157,7 +1141,7 @@ importers: version: link:../word-layout '@vitejs/plugin-vue': specifier: 'catalog:' - version: 6.0.2(rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.25(typescript@5.9.3)) + version: 6.0.2(rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.25(typescript@5.9.3)) '@vue/test-utils': specifier: 'catalog:' version: 2.4.6 @@ -1184,13 +1168,13 @@ importers: version: 5.9.3 vite: specifier: npm:rolldown-vite@7.3.1 - version: rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + version: rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) vite-plugin-node-polyfills: specifier: 'catalog:' - version: 0.25.0(rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))(rollup@4.57.1) + version: 0.25.0(rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))(rollup@4.58.0) vitest: specifier: 'catalog:' - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.8)(esbuild@0.27.2)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) + version: 3.2.4(@types/debug@4.1.12)(@types/node@25.3.0)(esbuild@0.27.3)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) y-protocols: specifier: 'catalog:' version: 1.0.7(yjs@13.6.19) @@ -1226,7 +1210,7 @@ importers: version: 3.5.25(typescript@5.9.3) y-prosemirror: specifier: 'catalog:' - version: 1.3.7(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.5)(y-protocols@1.0.7(yjs@13.6.19))(yjs@13.6.19) + version: 1.3.7(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.6)(y-protocols@1.0.7(yjs@13.6.19))(yjs@13.6.19) y-websocket: specifier: 'catalog:' version: 3.0.0(yjs@13.6.19) @@ -1248,7 +1232,7 @@ importers: version: link:../super-editor '@vitejs/plugin-vue': specifier: 'catalog:' - version: 6.0.2(rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.25(typescript@5.9.3)) + version: 6.0.2(rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.25(typescript@5.9.3)) '@vue/test-utils': specifier: 'catalog:' version: 2.4.6 @@ -1260,7 +1244,7 @@ importers: version: 3.10.1 nodemon: specifier: 'catalog:' - version: 3.1.11 + version: 3.1.13 pdfjs-dist: specifier: 'catalog:' version: 5.4.624 @@ -1278,22 +1262,22 @@ importers: version: 1.4.4 rollup-plugin-visualizer: specifier: 'catalog:' - version: 5.14.0(rollup@4.57.1) + version: 5.14.0(rollup@4.58.0) typescript: specifier: 'catalog:' version: 5.9.3 vite: specifier: npm:rolldown-vite@7.3.1 - version: rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + version: rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) vite-plugin-dts: specifier: 'catalog:' - version: 4.5.4(@types/node@22.19.8)(rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))(rollup@4.57.1)(typescript@5.9.3) + version: 4.5.4(@types/node@25.3.0)(rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))(rollup@4.58.0)(typescript@5.9.3) vite-plugin-node-polyfills: specifier: 'catalog:' - version: 0.25.0(rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))(rollup@4.57.1) + version: 0.25.0(rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))(rollup@4.58.0) vitest: specifier: 'catalog:' - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.8)(esbuild@0.27.2)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) + version: 3.2.4(@types/debug@4.1.12)(@types/node@25.3.0)(esbuild@0.27.3)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) xml-js: specifier: 'catalog:' version: 1.6.11 @@ -1302,7 +1286,7 @@ importers: devDependencies: '@playwright/test': specifier: 'catalog:' - version: 1.58.1 + version: 1.58.2 serve: specifier: ^14.2.0 version: 14.2.5 @@ -1314,25 +1298,25 @@ importers: version: 6.9.1 '@testing-library/react': specifier: 'catalog:' - version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@testing-library/user-event': specifier: 'catalog:' version: 14.6.1(@testing-library/dom@10.4.1) '@types/react': specifier: 'catalog:' - version: 19.2.11 + version: 19.2.14 '@types/react-dom': specifier: 'catalog:' - version: 19.2.3(@types/react@19.2.11) + version: 19.2.3(@types/react@19.2.14) '@vitejs/plugin-react': specifier: 'catalog:' - version: 5.1.3(rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) + version: 5.1.4(rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) eslint-plugin-react: specifier: 'catalog:' - version: 7.37.5(eslint@9.39.2(jiti@2.6.1)) + version: 7.37.5(eslint@9.39.3(jiti@2.6.1)) eslint-plugin-react-hooks: specifier: 'catalog:' - version: 7.0.1(eslint@9.39.2(jiti@2.6.1)) + version: 7.0.1(eslint@9.39.3(jiti@2.6.1)) jsdom: specifier: 27.3.0 version: 27.3.0(canvas@3.2.0) @@ -1350,13 +1334,13 @@ importers: version: 5.9.3 vite: specifier: npm:rolldown-vite@7.3.1 - version: rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + version: rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) vite-plugin-dts: specifier: 'catalog:' - version: 4.5.4(@types/node@22.19.8)(rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))(rollup@4.57.1)(typescript@5.9.3) + version: 4.5.4(@types/node@25.3.0)(rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))(rollup@4.58.0)(typescript@5.9.3) vitest: specifier: 'catalog:' - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.8)(esbuild@0.27.2)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) + version: 3.2.4(@types/debug@4.1.12)(@types/node@25.3.0)(esbuild@0.27.3)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) packages/template-builder/demo: dependencies: @@ -1375,25 +1359,25 @@ importers: devDependencies: '@types/react': specifier: 'catalog:' - version: 19.2.11 + version: 19.2.14 '@types/react-dom': specifier: 'catalog:' - version: 19.2.3(@types/react@19.2.11) + version: 19.2.3(@types/react@19.2.14) '@vitejs/plugin-react': specifier: 'catalog:' - version: 5.1.3(rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) + version: 5.1.4(rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) typescript: specifier: 'catalog:' version: 5.9.3 vite: specifier: npm:rolldown-vite@7.3.1 - version: rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + version: rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) packages/word-layout: devDependencies: vitest: specifier: 'catalog:' - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.8)(esbuild@0.27.2)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) + version: 3.2.4(@types/debug@4.1.12)(@types/node@25.3.0)(esbuild@0.27.3)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) shared/common: devDependencies: @@ -1408,7 +1392,7 @@ importers: version: 5.9.3 vitest: specifier: 'catalog:' - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.2)(esbuild@0.27.2)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.2)(esbuild@0.27.3)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) vue: specifier: 3.5.25 version: 3.5.25(typescript@5.9.3) @@ -1430,10 +1414,10 @@ importers: devDependencies: '@playwright/test': specifier: 'catalog:' - version: 1.58.1 + version: 1.58.2 vite: specifier: npm:rolldown-vite@7.3.1 - version: rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + version: rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) tests/visual: dependencies: @@ -1443,13 +1427,13 @@ importers: devDependencies: '@aws-sdk/client-s3': specifier: ^3.988.0 - version: 3.988.0 + version: 3.995.0 '@clack/prompts': specifier: ^1.0.0 - version: 1.0.0 + version: 1.0.1 '@playwright/test': specifier: 'catalog:' - version: 1.58.1 + version: 1.58.2 dotenv: specifier: 'catalog:' version: 16.6.1 @@ -1458,7 +1442,7 @@ importers: version: 4.21.0 vite: specifier: npm:rolldown-vite@7.3.1 - version: rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + version: rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) packages: @@ -1468,8 +1452,8 @@ packages: '@adobe/css-tools@4.4.4': resolution: {integrity: sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==} - '@alcalzone/ansi-tokenize@0.2.4': - resolution: {integrity: sha512-HTgrrTgZ9Jgeo6Z3oqbQ7lifOVvRR14vaDuBGPPUxk9Thm+vObaO4QfYYYWw4Zo5CWQDBEfsinFA6Gre+AqwNQ==} + '@alcalzone/ansi-tokenize@0.2.5': + resolution: {integrity: sha512-3NX/MpTdroi0aKz134A6RC2Gb2iXVECN4QaAXnvCIxxIm3C3AVB1mkUe8NaaiyvOpDfsrqWhYtj+Q6a62RrTsw==} engines: {node: '>=18'} '@alloc/quick-lru@5.2.0': @@ -1483,20 +1467,14 @@ packages: '@ark/schema@0.55.0': resolution: {integrity: sha512-IlSIc0FmLKTDGr4I/FzNHauMn0MADA6bCjT1wauu4k6MyxhC1R9gz0olNpIRvK7lGGDwtc/VO0RUDNvVQW5WFg==} - '@ark/schema@0.56.0': - resolution: {integrity: sha512-ECg3hox/6Z/nLajxXqNhgPtNdHWC9zNsDyskwO28WinoFEnWow4IsERNz9AnXRhTZJnYIlAJ4uGn3nlLk65vZA==} - '@ark/util@0.55.0': resolution: {integrity: sha512-aWFNK7aqSvqFtVsl1xmbTjGbg91uqtJV7Za76YGNEwIO4qLjMfyY8flmmbhooYMuqPCO2jyxu8hve943D+w3bA==} - '@ark/util@0.56.0': - resolution: {integrity: sha512-BghfRC8b9pNs3vBoDJhcta0/c1J1rsoS1+HgVUreMFPdhz/CRAKReAu57YEllNaSy98rWAdY1gE+gFup7OXpgA==} - - '@asamuzakjp/css-color@4.1.1': - resolution: {integrity: sha512-B0Hv6G3gWGMn0xKJ0txEi/jM5iFpT3MfDxmhZFb4W047GvytCf1DHQ1D69W3zHI4yWe2aTZAA0JnbMZ7Xc8DuQ==} + '@asamuzakjp/css-color@4.1.2': + resolution: {integrity: sha512-NfBUvBaYgKIuq6E/RBLY1m0IohzNHAYyaJGuTK79Z23uNwmz2jl1mPsC5ZxCCxylinKhT1Amn5oNTlx1wN8cQg==} - '@asamuzakjp/dom-selector@6.7.7': - resolution: {integrity: sha512-8CO/UQ4tzDd7ula+/CVimJIVWez99UJlbMyIgk8xOnhAVPKLnBZmUFYVgugS441v2ZqUq5EnSh6B0Ua0liSFAA==} + '@asamuzakjp/dom-selector@6.8.1': + resolution: {integrity: sha512-MvRz1nCqW0fsy8Qz4dnLIvhOlMzqDVBabZx6lH+YywFDdjXhMY37SmpV1XFX3JzG5GWHn63j6HX6QPr3lZXHvQ==} '@asamuzakjp/nwsapi@2.3.9': resolution: {integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==} @@ -1504,9 +1482,6 @@ packages: '@asyncapi/parser@3.4.0': resolution: {integrity: sha512-Sxn74oHiZSU6+cVeZy62iPZMFMvKp4jupMFHelSICCMw1qELmUHPvuZSr+ZHDmNGgHcEpzJM5HN02kR7T4g+PQ==} - '@asyncapi/specs@6.11.1': - resolution: {integrity: sha512-A3WBLqAKGoJ2+6FWFtpjBlCQ1oFCcs4GxF7zsIGvNqp/klGUHjlA3aAcZ9XMMpLGE8zPeYDz2x9FmO6DSuKraQ==} - '@asyncapi/specs@6.8.1': resolution: {integrity: sha512-czHoAk3PeXTLR+X8IUaD+IpT+g+zUvkcgMDJVothBsan+oHN3jfcFcFUNdOPAAFoUCQN1hXF1dWuphWy05THlA==} @@ -1533,52 +1508,52 @@ packages: '@aws-crypto/util@5.2.0': resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} - '@aws-sdk/client-s3@3.988.0': - resolution: {integrity: sha512-mt7AdkieJJ5hEKeCxH4sdTTd679shUjo/cUvNY0fUHgQIPZa1jRuekTXnRytRrEwdrZWJDx56n1S8ism2uX7jg==} + '@aws-sdk/client-s3@3.995.0': + resolution: {integrity: sha512-r+t8qrQ0m9zoovYOH+wilp/glFRB/E+blsDyWzq2C+9qmyhCAQwaxjLaHM8T/uluAmhtZQIYqOH9ILRnvWtRNw==} engines: {node: '>=20.0.0'} - '@aws-sdk/client-sso@3.988.0': - resolution: {integrity: sha512-ThqQ7aF1k0Zz4yJRwegHw+T1rM3a7ZPvvEUSEdvn5Z8zTeWgJAbtqW/6ejPsMLmFOlHgNcwDQN/e69OvtEOoIQ==} + '@aws-sdk/client-sso@3.993.0': + resolution: {integrity: sha512-VLUN+wIeNX24fg12SCbzTUBnBENlL014yMKZvRhPkcn4wHR6LKgNrjsG3fZ03Xs0XoKaGtNFi1VVrq666sGBoQ==} engines: {node: '>=20.0.0'} - '@aws-sdk/core@3.973.8': - resolution: {integrity: sha512-WeYJ2sfvRLbbUIrjGMUXcEHGu5SJk53jz3K9F8vFP42zWyROzPJ2NB6lMu9vWl5hnMwzwabX7pJc9Euh3JyMGw==} + '@aws-sdk/core@3.973.11': + resolution: {integrity: sha512-wdQ8vrvHkKIV7yNUKXyjPWKCdYEUrZTHJ8Ojd5uJxXp9vqPCkUR1dpi1NtOLcrDgueJH7MUH5lQZxshjFPSbDA==} engines: {node: '>=20.0.0'} '@aws-sdk/crc64-nvme@3.972.0': resolution: {integrity: sha512-ThlLhTqX68jvoIVv+pryOdb5coP1cX1/MaTbB9xkGDCbWbsqQcLqzPxuSoW1DCnAAIacmXCWpzUNOB9pv+xXQw==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-env@3.972.6': - resolution: {integrity: sha512-+dYEBWgTqkQQHFUllvBL8SLyXyLKWdxLMD1LmKJRvmb0NMJuaJFG/qg78C+LE67eeGbipYcE+gJ48VlLBGHlMw==} + '@aws-sdk/credential-provider-env@3.972.9': + resolution: {integrity: sha512-ZptrOwQynfupubvcngLkbdIq/aXvl/czdpEG8XJ8mN8Nb19BR0jaK0bR+tfuMU36Ez9q4xv7GGkHFqEEP2hUUQ==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-http@3.972.8': - resolution: {integrity: sha512-z3QkozMV8kOFisN2pgRag/f0zPDrw96mY+ejAM0xssV/+YQ2kklbylRNI/TcTQUDnGg0yPxNjyV6F2EM2zPTwg==} + '@aws-sdk/credential-provider-http@3.972.11': + resolution: {integrity: sha512-hECWoOoH386bGr89NQc9vA/abkGf5TJrMREt+lhNcnSNmoBS04fK7vc3LrJBSQAUGGVj0Tz3f4dHB3w5veovig==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-ini@3.972.6': - resolution: {integrity: sha512-6tkIYFv3sZH1XsjQq+veOmx8XWRnyqTZ5zx/sMtdu/xFRIzrJM1Y2wAXeCJL1rhYSB7uJSZ1PgALI2WVTj78ow==} + '@aws-sdk/credential-provider-ini@3.972.9': + resolution: {integrity: sha512-zr1csEu9n4eDiHMTYJabX1mDGuGLgjgUnNckIivvk43DocJC9/f6DefFrnUPZXE+GHtbW50YuXb+JIxKykU74A==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-login@3.972.6': - resolution: {integrity: sha512-LXsoBoaTSGHdRCQXlWSA0CHHh05KWncb592h9ElklnPus++8kYn1Ic6acBR4LKFQ0RjjMVgwe5ypUpmTSUOjPA==} + '@aws-sdk/credential-provider-login@3.972.9': + resolution: {integrity: sha512-m4RIpVgZChv0vWS/HKChg1xLgZPpx8Z+ly9Fv7FwA8SOfuC6I3htcSaBz2Ch4bneRIiBUhwP4ziUo0UZgtJStQ==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-node@3.972.7': - resolution: {integrity: sha512-PuJ1IkISG7ZDpBFYpGotaay6dYtmriBYuHJ/Oko4VHxh8YN5vfoWnMNYFEWuzOfyLmP7o9kDVW0BlYIpb3skvw==} + '@aws-sdk/credential-provider-node@3.972.10': + resolution: {integrity: sha512-70nCESlvnzjo4LjJ8By8MYIiBogkYPSXl3WmMZfH9RZcB/Nt9qVWbFpYj6Fk1vLa4Vk8qagFVeXgxdieMxG1QA==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-process@3.972.6': - resolution: {integrity: sha512-Yf34cjIZJHVnD92jnVYy3tNjM+Q4WJtffLK2Ehn0nKpZfqd1m7SI0ra22Lym4C53ED76oZENVSS2wimoXJtChQ==} + '@aws-sdk/credential-provider-process@3.972.9': + resolution: {integrity: sha512-gOWl0Fe2gETj5Bk151+LYKpeGi2lBDLNu+NMNpHRlIrKHdBmVun8/AalwMK8ci4uRfG5a3/+zvZBMpuen1SZ0A==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-sso@3.972.6': - resolution: {integrity: sha512-2+5UVwUYdD4BBOkLpKJ11MQ8wQeyJGDVMDRH5eWOULAh9d6HJq07R69M/mNNMC9NTjr3mB1T0KGDn4qyQh5jzg==} + '@aws-sdk/credential-provider-sso@3.972.9': + resolution: {integrity: sha512-ey7S686foGTArvFhi3ifQXmgptKYvLSGE2250BAQceMSXZddz7sUSNERGJT2S7u5KIe/kgugxrt01hntXVln6w==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-web-identity@3.972.6': - resolution: {integrity: sha512-pdJzwKtlDxBnvZ04pWMqttijmkUIlwOsS0GcxCjzEVyUMpARysl0S0ks74+gs2Pdev3Ujz+BTAjOc1tQgAxGqA==} + '@aws-sdk/credential-provider-web-identity@3.972.9': + resolution: {integrity: sha512-8LnfS76nHXoEc9aRRiMMpxZxJeDG0yusdyo3NvPhCgESmBUgpMa4luhGbClW5NoX/qRcGxxM6Z/esqANSNMTow==} engines: {node: '>=20.0.0'} '@aws-sdk/middleware-bucket-endpoint@3.972.3': @@ -1589,8 +1564,8 @@ packages: resolution: {integrity: sha512-4msC33RZsXQpUKR5QR4HnvBSNCPLGHmB55oDiROqqgyOc+TOfVu2xgi5goA7ms6MdZLeEh2905UfWMnMMF4mRg==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-flexible-checksums@3.972.6': - resolution: {integrity: sha512-g5DadWO58IgQKuq+uLL3pLohOwLiA67gB49xj8694BW+LpHLNu/tjCqwLfIaWvZyABbv0LXeNiiTuTnjdgkZWw==} + '@aws-sdk/middleware-flexible-checksums@3.972.9': + resolution: {integrity: sha512-E663+r/UQpvF3aJkD40p5ZANVQFsUcbE39jifMtN7wc0t1M0+2gJJp3i75R49aY9OiSX5lfVyPUNjN/BNRCCZA==} engines: {node: '>=20.0.0'} '@aws-sdk/middleware-host-header@3.972.3': @@ -1609,32 +1584,32 @@ packages: resolution: {integrity: sha512-PY57QhzNuXHnwbJgbWYTrqIDHYSeOlhfYERTAuc16LKZpTZRJUjzBFokp9hF7u1fuGeE3D70ERXzdbMBOqQz7Q==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-sdk-s3@3.972.8': - resolution: {integrity: sha512-/yJdahpN/q3Dc88qXBTQVZfnXryLnxfCoP4hGClbKjuF0VCMxrz3il7sj0GhIkEQt5OM5+lA88XrvbjjuwSxIg==} + '@aws-sdk/middleware-sdk-s3@3.972.11': + resolution: {integrity: sha512-Qr0T7ZQTRMOuR6ahxEoJR1thPVovfWrKB2a6KBGR+a8/ELrFodrgHwhq50n+5VMaGuLtGhHiISU3XGsZmtmVXQ==} engines: {node: '>=20.0.0'} '@aws-sdk/middleware-ssec@3.972.3': resolution: {integrity: sha512-dU6kDuULN3o3jEHcjm0c4zWJlY1zWVkjG9NPe9qxYLLpcbdj5kRYBS2DdWYD+1B9f910DezRuws7xDEqKkHQIg==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-user-agent@3.972.8': - resolution: {integrity: sha512-3PGL+Kvh1PhB0EeJeqNqOWQgipdqFheO4OUKc6aYiFwEpM5t9AyE5hjjxZ5X6iSj8JiduWFZLPwASzF6wQRgFg==} + '@aws-sdk/middleware-user-agent@3.972.11': + resolution: {integrity: sha512-R8CvPsPHXwzIHCAza+bllY6PrctEk4lYq/SkHJz9NLoBHCcKQrbOcsfXxO6xmipSbUNIbNIUhH0lBsJGgsRdiw==} engines: {node: '>=20.0.0'} - '@aws-sdk/nested-clients@3.988.0': - resolution: {integrity: sha512-OgYV9k1oBCQ6dOM+wWAMNNehXA8L4iwr7ydFV+JDHyuuu0Ko7tDXnLEtEmeQGYRcAFU3MGasmlBkMB8vf4POrg==} + '@aws-sdk/nested-clients@3.993.0': + resolution: {integrity: sha512-iOq86f2H67924kQUIPOAvlmMaOAvOLoDOIb66I2YqSUpMYB6ufiuJW3RlREgskxv86S5qKzMnfy/X6CqMjK6XQ==} engines: {node: '>=20.0.0'} '@aws-sdk/region-config-resolver@3.972.3': resolution: {integrity: sha512-v4J8qYAWfOMcZ4MJUyatntOicTzEMaU7j3OpkRCGGFSL2NgXQ5VbxauIyORA+pxdKZ0qQG2tCQjQjZDlXEC3Ow==} engines: {node: '>=20.0.0'} - '@aws-sdk/signature-v4-multi-region@3.988.0': - resolution: {integrity: sha512-SXwhbe2v0Jno7QLIBmZWAL2eVzGmXkfLLy0WkM6ZJVhE0SFUcnymDwMUA1oMDUvyArzvKBiU8khQ2ImheCKOHQ==} + '@aws-sdk/signature-v4-multi-region@3.995.0': + resolution: {integrity: sha512-9Qx5JcAucnxnomREPb2D6L8K8GLG0rknt3+VK/BU3qTUynAcV4W21DQ04Z2RKDw+DYpW88lsZpXbVetWST2WUg==} engines: {node: '>=20.0.0'} - '@aws-sdk/token-providers@3.988.0': - resolution: {integrity: sha512-xvXVlRVKHnF2h6fgWBm64aPP5J+58aJyGfRrQa/uFh8a9mcK68mLfJOYq+ZSxQy/UN3McafJ2ILAy7IWzT9kRw==} + '@aws-sdk/token-providers@3.993.0': + resolution: {integrity: sha512-+35g4c+8r7sB9Sjp1KPdM8qxGn6B/shBjJtEUN4e+Edw9UEQlZKIzioOGu3UAbyE0a/s450LdLZr4wbJChtmww==} engines: {node: '>=20.0.0'} '@aws-sdk/types@3.973.1': @@ -1645,8 +1620,12 @@ packages: resolution: {integrity: sha512-VkykWbqMjlSgBFDyrY3nOSqupMc6ivXuGmvci6Q3NnLq5kC+mKQe2QBZ4nrWRE/jqOxeFP2uYzLtwncYYcvQDg==} engines: {node: '>=20.0.0'} - '@aws-sdk/util-endpoints@3.988.0': - resolution: {integrity: sha512-HuXu4boeUWU0DQiLslbgdvuQ4ZMCo4Lsk97w8BIUokql2o9MvjE5dwqI5pzGt0K7afO1FybjidUQVTMLuZNTOA==} + '@aws-sdk/util-endpoints@3.993.0': + resolution: {integrity: sha512-j6vioBeRZ4eHX4SWGvGPpwGg/xSOcK7f1GL0VM+rdf3ZFTIsUEhCFmD78B+5r2PgztcECSzEfvHQX01k8dPQPw==} + engines: {node: '>=20.0.0'} + + '@aws-sdk/util-endpoints@3.995.0': + resolution: {integrity: sha512-aym/pjB8SLbo9w2nmkrDdAAVKVlf7CM71B9mKhjDbJTzwpSFBPHqJIMdDyj0mLumKC0aIVDr1H6U+59m9GvMFw==} engines: {node: '>=20.0.0'} '@aws-sdk/util-locate-window@3.965.4': @@ -1656,8 +1635,8 @@ packages: '@aws-sdk/util-user-agent-browser@3.972.3': resolution: {integrity: sha512-JurOwkRUcXD/5MTDBcqdyQ9eVedtAsZgw5rBwktsPTN7QtPiS2Ld1jkJepNgYoCufz1Wcut9iup7GJDoIHp8Fw==} - '@aws-sdk/util-user-agent-node@3.972.6': - resolution: {integrity: sha512-966xH8TPqkqOXP7EwnEThcKKz0SNP9kVJBKd9M8bNXE4GSqVouMKKnFBwYnzbWVKuLXubzX5seokcX4a0JLJIA==} + '@aws-sdk/util-user-agent-node@3.972.10': + resolution: {integrity: sha512-LVXzICPlsheET+sE6tkcS47Q5HkSTrANIlqL1iFxGAY/wRQ236DX/PCAK56qMh9QJoXAfXfoRW0B0Og4R+X7Nw==} engines: {node: '>=20.0.0'} peerDependencies: aws-crt: '>=1.0.0' @@ -1665,8 +1644,8 @@ packages: aws-crt: optional: true - '@aws-sdk/xml-builder@3.972.4': - resolution: {integrity: sha512-0zJ05ANfYqI6+rGqj8samZBFod0dPPousBjLEqg8WdxSgbMAkRgLyn81lP215Do0rFJ/17LIXwr7q0yK24mP6Q==} + '@aws-sdk/xml-builder@3.972.5': + resolution: {integrity: sha512-mCae5Ys6Qm1LDu0qdGwx2UQ63ONUe+FHw908fJzLDqFKTDBK4LDZUqKWm4OkTCNFq19bftjsBSESIGLD/s3/rA==} engines: {node: '>=20.0.0'} '@aws/lambda-invoke-store@0.2.3': @@ -1705,16 +1684,16 @@ packages: resolution: {integrity: sha512-fCqPIfOcLE+CGqGPd66c8bZpwAji98tZ4JI9i/mlTNTlsIWslCfpg48s/ypyLxZTump5sypjrKn2/kY7q8oAbA==} engines: {node: '>=20.0.0'} - '@azure/msal-browser@4.28.1': - resolution: {integrity: sha512-al2u2fTchbClq3L4C1NlqLm+vwKfhYCPtZN2LR/9xJVaQ4Mnrwf5vANvuyPSJHcGvw50UBmhuVmYUAhTEetTpA==} + '@azure/msal-browser@4.28.2': + resolution: {integrity: sha512-6vYUMvs6kJxJgxaCmHn/F8VxjLHNh7i9wzfwPGf8kyBJ8Gg2yvBXx175Uev8LdrD1F5C4o7qHa2CC4IrhGE1XQ==} engines: {node: '>=0.8.0'} - '@azure/msal-common@15.14.1': - resolution: {integrity: sha512-IkzF7Pywt6QKTS0kwdCv/XV8x8JXknZDvSjj/IccooxnP373T5jaadO3FnOrbWo3S0UqkfIDyZNTaQ/oAgRdXw==} + '@azure/msal-common@15.14.2': + resolution: {integrity: sha512-n8RBJEUmd5QotoqbZfd+eGBkzuFI1KX6jw2b3WcpSyGjwmzoeI/Jb99opIBPHpb8y312NB+B6+FGi2ZVSR8yfA==} engines: {node: '>=0.8.0'} - '@azure/msal-node@3.8.6': - resolution: {integrity: sha512-XTmhdItcBckcVVTy65Xp+42xG4LX5GK+9AqAsXPXk4IqUNv+LyQo5TMwNjuFYBfAB2GTG9iSQGk+QLc03vhf3w==} + '@azure/msal-node@3.8.7': + resolution: {integrity: sha512-a+Xnrae+uwLnlw68bplS1X4kuJ9F/7K6afuMFyRkNIskhjgDezl5Fhrx+1pmAlDmC0VaaAxjRQMp1OmcqVwkIg==} engines: {node: '>=16'} '@babel/code-frame@7.29.0': @@ -1811,11 +1790,11 @@ packages: '@canvas/image-data@1.1.0': resolution: {integrity: sha512-QdObRRjRbcXGmM1tmJ+MrHcaz1MftF2+W7YI+MsphnsCrmtyfS0d5qJbk0MeSbUeyM/jCb0hmnkXPsy026L7dA==} - '@clack/core@1.0.0': - resolution: {integrity: sha512-Orf9Ltr5NeiEuVJS8Rk2XTw3IxNC2Bic3ash7GgYeA8LJ/zmSNpSQ/m5UAhe03lA6KFgklzZ5KTHs4OAMA/SAQ==} + '@clack/core@1.0.1': + resolution: {integrity: sha512-WKeyK3NOBwDOzagPR5H08rFk9D/WuN705yEbuZvKqlkmoLM2woKtXb10OO2k1NoSU4SFG947i2/SCYh+2u5e4g==} - '@clack/prompts@1.0.0': - resolution: {integrity: sha512-rWPXg9UaCFqErJVQ+MecOaWsozjaxol4yjnmYcGNipAWzdaWa2x+VJmKfGq7L0APwBohQOYdHC+9RO4qRXej+A==} + '@clack/prompts@1.0.1': + resolution: {integrity: sha512-/42G73JkuYdyWZ6m8d/CJtBrGl1Hegyc7Fy78m5Ob+jF85TOUmLR5XLce/U3LxYAw0kJ8CT5aI99RIvPHcGp/Q==} '@colors/colors@1.5.0': resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} @@ -1900,36 +1879,36 @@ packages: peerDependencies: vue: 3.5.25 - '@csstools/color-helpers@5.1.0': - resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==} - engines: {node: '>=18'} + '@csstools/color-helpers@6.0.1': + resolution: {integrity: sha512-NmXRccUJMk2AWA5A7e5a//3bCIMyOu2hAtdRYrhPPHjDxINuCwX1w6rnIZ4xjLcp0ayv6h8Pc3X0eJUGiAAXHQ==} + engines: {node: '>=20.19.0'} - '@csstools/css-calc@2.1.4': - resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==} - engines: {node: '>=18'} + '@csstools/css-calc@3.1.1': + resolution: {integrity: sha512-HJ26Z/vmsZQqs/o3a6bgKslXGFAungXGbinULZO3eMsOyNJHeBBZfup5FiZInOghgoM4Hwnmw+OgbJCNg1wwUQ==} + engines: {node: '>=20.19.0'} peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.5 - '@csstools/css-tokenizer': ^3.0.4 + '@csstools/css-parser-algorithms': ^4.0.0 + '@csstools/css-tokenizer': ^4.0.0 - '@csstools/css-color-parser@3.1.0': - resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==} - engines: {node: '>=18'} + '@csstools/css-color-parser@4.0.1': + resolution: {integrity: sha512-vYwO15eRBEkeF6xjAno/KQ61HacNhfQuuU/eGwH67DplL0zD5ZixUa563phQvUelA07yDczIXdtmYojCphKJcw==} + engines: {node: '>=20.19.0'} peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.5 - '@csstools/css-tokenizer': ^3.0.4 + '@csstools/css-parser-algorithms': ^4.0.0 + '@csstools/css-tokenizer': ^4.0.0 - '@csstools/css-parser-algorithms@3.0.5': - resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==} - engines: {node: '>=18'} + '@csstools/css-parser-algorithms@4.0.0': + resolution: {integrity: sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==} + engines: {node: '>=20.19.0'} peerDependencies: - '@csstools/css-tokenizer': ^3.0.4 + '@csstools/css-tokenizer': ^4.0.0 - '@csstools/css-syntax-patches-for-csstree@1.0.26': - resolution: {integrity: sha512-6boXK0KkzT5u5xOgF6TKB+CLq9SOpEGmkZw0g5n9/7yg85wab3UzSxB8TxhLJ31L4SGJ6BCFRw/iftTha1CJXA==} + '@csstools/css-syntax-patches-for-csstree@1.0.27': + resolution: {integrity: sha512-sxP33Jwg1bviSUXAV43cVYdmjt2TLnLXNqCWl9xmxHawWVjGz/kEbdkr7F9pxJNBN2Mh+dq0crgItbW6tQvyow==} - '@csstools/css-tokenizer@3.0.4': - resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} - engines: {node: '>=18'} + '@csstools/css-tokenizer@4.0.0': + resolution: {integrity: sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==} + engines: {node: '>=20.19.0'} '@cypress/request@3.0.9': resolution: {integrity: sha512-I3l7FdGRXluAS44/0NguwWlO83J18p0vlr2FYHrJkWdNYhgVoiYo61IXPqaOsL+vNxU1ZqMACzItGK3/KKDsdw==} @@ -1957,8 +1936,8 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.27.2': - resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==} + '@esbuild/aix-ppc64@0.27.3': + resolution: {integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] @@ -1969,8 +1948,8 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.27.2': - resolution: {integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==} + '@esbuild/android-arm64@0.27.3': + resolution: {integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==} engines: {node: '>=18'} cpu: [arm64] os: [android] @@ -1981,8 +1960,8 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.27.2': - resolution: {integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==} + '@esbuild/android-arm@0.27.3': + resolution: {integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==} engines: {node: '>=18'} cpu: [arm] os: [android] @@ -1993,8 +1972,8 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.27.2': - resolution: {integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==} + '@esbuild/android-x64@0.27.3': + resolution: {integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==} engines: {node: '>=18'} cpu: [x64] os: [android] @@ -2005,8 +1984,8 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.27.2': - resolution: {integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==} + '@esbuild/darwin-arm64@0.27.3': + resolution: {integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] @@ -2017,8 +1996,8 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.27.2': - resolution: {integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==} + '@esbuild/darwin-x64@0.27.3': + resolution: {integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==} engines: {node: '>=18'} cpu: [x64] os: [darwin] @@ -2029,8 +2008,8 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.27.2': - resolution: {integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==} + '@esbuild/freebsd-arm64@0.27.3': + resolution: {integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] @@ -2041,8 +2020,8 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.27.2': - resolution: {integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==} + '@esbuild/freebsd-x64@0.27.3': + resolution: {integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] @@ -2053,8 +2032,8 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.27.2': - resolution: {integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==} + '@esbuild/linux-arm64@0.27.3': + resolution: {integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==} engines: {node: '>=18'} cpu: [arm64] os: [linux] @@ -2065,8 +2044,8 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.27.2': - resolution: {integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==} + '@esbuild/linux-arm@0.27.3': + resolution: {integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==} engines: {node: '>=18'} cpu: [arm] os: [linux] @@ -2077,8 +2056,8 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.27.2': - resolution: {integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==} + '@esbuild/linux-ia32@0.27.3': + resolution: {integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==} engines: {node: '>=18'} cpu: [ia32] os: [linux] @@ -2089,8 +2068,8 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.27.2': - resolution: {integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==} + '@esbuild/linux-loong64@0.27.3': + resolution: {integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==} engines: {node: '>=18'} cpu: [loong64] os: [linux] @@ -2101,8 +2080,8 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.27.2': - resolution: {integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==} + '@esbuild/linux-mips64el@0.27.3': + resolution: {integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] @@ -2113,8 +2092,8 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.27.2': - resolution: {integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==} + '@esbuild/linux-ppc64@0.27.3': + resolution: {integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] @@ -2125,8 +2104,8 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.27.2': - resolution: {integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==} + '@esbuild/linux-riscv64@0.27.3': + resolution: {integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] @@ -2137,8 +2116,8 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.27.2': - resolution: {integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==} + '@esbuild/linux-s390x@0.27.3': + resolution: {integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==} engines: {node: '>=18'} cpu: [s390x] os: [linux] @@ -2149,8 +2128,8 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.27.2': - resolution: {integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==} + '@esbuild/linux-x64@0.27.3': + resolution: {integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==} engines: {node: '>=18'} cpu: [x64] os: [linux] @@ -2161,8 +2140,8 @@ packages: cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-arm64@0.27.2': - resolution: {integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==} + '@esbuild/netbsd-arm64@0.27.3': + resolution: {integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] @@ -2173,8 +2152,8 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.27.2': - resolution: {integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==} + '@esbuild/netbsd-x64@0.27.3': + resolution: {integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] @@ -2185,8 +2164,8 @@ packages: cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-arm64@0.27.2': - resolution: {integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==} + '@esbuild/openbsd-arm64@0.27.3': + resolution: {integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] @@ -2197,8 +2176,8 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.27.2': - resolution: {integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==} + '@esbuild/openbsd-x64@0.27.3': + resolution: {integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] @@ -2209,8 +2188,8 @@ packages: cpu: [arm64] os: [openharmony] - '@esbuild/openharmony-arm64@0.27.2': - resolution: {integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==} + '@esbuild/openharmony-arm64@0.27.3': + resolution: {integrity: sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] @@ -2221,8 +2200,8 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.27.2': - resolution: {integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==} + '@esbuild/sunos-x64@0.27.3': + resolution: {integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==} engines: {node: '>=18'} cpu: [x64] os: [sunos] @@ -2233,8 +2212,8 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.27.2': - resolution: {integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==} + '@esbuild/win32-arm64@0.27.3': + resolution: {integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==} engines: {node: '>=18'} cpu: [arm64] os: [win32] @@ -2245,8 +2224,8 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.27.2': - resolution: {integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==} + '@esbuild/win32-ia32@0.27.3': + resolution: {integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==} engines: {node: '>=18'} cpu: [ia32] os: [win32] @@ -2257,8 +2236,8 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.27.2': - resolution: {integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==} + '@esbuild/win32-x64@0.27.3': + resolution: {integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -2289,8 +2268,8 @@ packages: resolution: {integrity: sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.39.2': - resolution: {integrity: sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==} + '@eslint/js@9.39.3': + resolution: {integrity: sha512-1B1VkCq6FuUNlQvlBYb+1jDu/gV297TIs/OeiaSR9l1H27SVW55ONE1e1Vp16NqP683+xEGzxYtv4XCiDPaQiw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.7': @@ -2355,248 +2334,111 @@ packages: resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} - '@img/colour@1.0.0': - resolution: {integrity: sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==} - engines: {node: '>=18'} - '@img/sharp-darwin-arm64@0.33.5': resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [darwin] - '@img/sharp-darwin-arm64@0.34.5': - resolution: {integrity: sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm64] - os: [darwin] - '@img/sharp-darwin-x64@0.33.5': resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [darwin] - '@img/sharp-darwin-x64@0.34.5': - resolution: {integrity: sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [x64] - os: [darwin] - '@img/sharp-libvips-darwin-arm64@1.0.4': resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} cpu: [arm64] os: [darwin] - '@img/sharp-libvips-darwin-arm64@1.2.4': - resolution: {integrity: sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==} - cpu: [arm64] - os: [darwin] - '@img/sharp-libvips-darwin-x64@1.0.4': resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} cpu: [x64] os: [darwin] - '@img/sharp-libvips-darwin-x64@1.2.4': - resolution: {integrity: sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==} - cpu: [x64] - os: [darwin] - '@img/sharp-libvips-linux-arm64@1.0.4': resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} cpu: [arm64] os: [linux] - '@img/sharp-libvips-linux-arm64@1.2.4': - resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==} - cpu: [arm64] - os: [linux] - '@img/sharp-libvips-linux-arm@1.0.5': resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} cpu: [arm] os: [linux] - '@img/sharp-libvips-linux-arm@1.2.4': - resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==} - cpu: [arm] - os: [linux] - - '@img/sharp-libvips-linux-ppc64@1.2.4': - resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==} - cpu: [ppc64] - os: [linux] - - '@img/sharp-libvips-linux-riscv64@1.2.4': - resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==} - cpu: [riscv64] - os: [linux] - '@img/sharp-libvips-linux-s390x@1.0.4': resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} cpu: [s390x] os: [linux] - '@img/sharp-libvips-linux-s390x@1.2.4': - resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==} - cpu: [s390x] - os: [linux] - '@img/sharp-libvips-linux-x64@1.0.4': resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} cpu: [x64] os: [linux] - '@img/sharp-libvips-linux-x64@1.2.4': - resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==} - cpu: [x64] - os: [linux] - '@img/sharp-libvips-linuxmusl-arm64@1.0.4': resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} cpu: [arm64] os: [linux] - '@img/sharp-libvips-linuxmusl-arm64@1.2.4': - resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==} - cpu: [arm64] - os: [linux] - '@img/sharp-libvips-linuxmusl-x64@1.0.4': resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} cpu: [x64] os: [linux] - '@img/sharp-libvips-linuxmusl-x64@1.2.4': - resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==} - cpu: [x64] - os: [linux] - '@img/sharp-linux-arm64@0.33.5': resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] - '@img/sharp-linux-arm64@0.34.5': - resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm64] - os: [linux] - '@img/sharp-linux-arm@0.33.5': resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm] os: [linux] - '@img/sharp-linux-arm@0.34.5': - resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm] - os: [linux] - - '@img/sharp-linux-ppc64@0.34.5': - resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [ppc64] - os: [linux] - - '@img/sharp-linux-riscv64@0.34.5': - resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [riscv64] - os: [linux] - '@img/sharp-linux-s390x@0.33.5': resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [s390x] os: [linux] - '@img/sharp-linux-s390x@0.34.5': - resolution: {integrity: sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [s390x] - os: [linux] - '@img/sharp-linux-x64@0.33.5': resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] - '@img/sharp-linux-x64@0.34.5': - resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [x64] - os: [linux] - '@img/sharp-linuxmusl-arm64@0.33.5': resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] - '@img/sharp-linuxmusl-arm64@0.34.5': - resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm64] - os: [linux] - '@img/sharp-linuxmusl-x64@0.33.5': resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] - '@img/sharp-linuxmusl-x64@0.34.5': - resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [x64] - os: [linux] - '@img/sharp-wasm32@0.33.5': resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [wasm32] - '@img/sharp-wasm32@0.34.5': - resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [wasm32] - - '@img/sharp-win32-arm64@0.34.5': - resolution: {integrity: sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm64] - os: [win32] - '@img/sharp-win32-ia32@0.33.5': resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [ia32] os: [win32] - '@img/sharp-win32-ia32@0.34.5': - resolution: {integrity: sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [ia32] - os: [win32] - '@img/sharp-win32-x64@0.33.5': resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [win32] - '@img/sharp-win32-x64@0.34.5': - resolution: {integrity: sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [x64] - os: [win32] - '@inquirer/ansi@1.0.2': resolution: {integrity: sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==} engines: {node: '>=18'} @@ -2731,14 +2573,6 @@ packages: '@types/node': optional: true - '@isaacs/balanced-match@4.0.1': - resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} - engines: {node: 20 || >=22} - - '@isaacs/brace-expansion@5.0.1': - resolution: {integrity: sha512-WMz71T1JS624nWj2n2fnYAuPovhv7EUhk69R6i9dsVyzxt5eM3bjwvgk9L+APE1TRscGysAVMANkB0jh0LQZrQ==} - engines: {node: 20 || >=22} - '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -2915,11 +2749,11 @@ packages: '@types/react': '>=16' react: '>=16' - '@microsoft/api-extractor-model@7.32.2': - resolution: {integrity: sha512-Ussc25rAalc+4JJs9HNQE7TuO9y6jpYQX9nWD1DhqUzYPBr3Lr7O9intf+ZY8kD5HnIqeIRJX7ccCT0QyBy2Ww==} + '@microsoft/api-extractor-model@7.33.1': + resolution: {integrity: sha512-KX0LI6xzI0gcBOXXmr5mnnbdhsK2W93pqvJo8OgJgWvRRh+wMEp0Ccj38h1XKeJ29E1tuAZKSUOfHUQ1WA8fZg==} - '@microsoft/api-extractor@7.56.1': - resolution: {integrity: sha512-wX9ugJFqhsEWwt+UFTAkvXcBOzSQ1FeKe0ZdwEDKtjsf20Ec2frmCDXPjQwPtSNrpXUy1yQgyaF6YJVuC8gMtg==} + '@microsoft/api-extractor@7.57.2': + resolution: {integrity: sha512-Dih58xLlG+M6k2qVSksk9xJx8HvmJEyK3LcHrcqXE7eK/U7pg/8cTT8j1TKijU4P4639wvCy1zhDuvtjRy+02Q==} hasBin: true '@microsoft/tsdoc-config@0.18.0': @@ -2928,19 +2762,19 @@ packages: '@microsoft/tsdoc@0.16.0': resolution: {integrity: sha512-xgAyonlVVS+q7Vc7qLW0UrJU7rSFcETRWsqdXZtjzRU8dF+6CkozTK4V4y1LwOX7j8r/vHphjDeMeGI4tNGeGA==} - '@mintlify/cli@4.0.935': - resolution: {integrity: sha512-mY0T3QOdDNuZlb4qx6GEAq0nSkWQGCn0Ug5kjQH3GjZFeeROm0EDYzoXlwAgLL/DkFEU9GpWmO3kU8EvetXtBw==} + '@mintlify/cli@4.0.971': + resolution: {integrity: sha512-qcnHRjWM8nOoQJ+7AIXv0/CZTpMnQmwgNTj6k2CfYdxUiMKCK11q2LnVLkLI+c1Y/WXr4sriUnjemjbvckUmpQ==} engines: {node: '>=18.0.0'} hasBin: true '@mintlify/common@1.0.661': resolution: {integrity: sha512-/Hdiblzaomp+AWStQ4smhVMgesQhffzQjC9aYBnmLReNdh2Js+ccQFUaWL3TNIxwiS2esaZvsHSV/D+zyRS3hg==} - '@mintlify/common@1.0.713': - resolution: {integrity: sha512-0Ir8BLMVfADPi04/O5jDDemL+dxpNqHgx/JDQALuCFS4ANqHk7C9ES7ifsnt/rjmiiX7kuXSFqoAZrt1WMTLaA==} + '@mintlify/common@1.0.743': + resolution: {integrity: sha512-ZOpps3m6hOG06fGGeX1YmUC38boQ8OvU1L0DsFbwPYH7TFGu4WTqrfWhuJnKzkOJWmrsS5PmJxZQG4IU5nOZKQ==} - '@mintlify/link-rot@3.0.872': - resolution: {integrity: sha512-2KDAD+hTmRZZCq0XCvvG+p/xSn5gtHCkHYA8Zfd2mhHceHCofNikvjffpYKx96eqaNCLhbeUYVnLlquBs820oQ==} + '@mintlify/link-rot@3.0.906': + resolution: {integrity: sha512-ANBO1CTF3F1OQwl7wt3+L7itw4+BTe3VgteqW/JutgRH/OXv+3XpVOPoo52uYCERrQwkrSCoF4jBBL+UfImUZQ==} engines: {node: '>=18.0.0'} '@mintlify/mdx@3.0.4': @@ -2954,19 +2788,19 @@ packages: resolution: {integrity: sha512-LIUkfA7l7ypHAAuOW74ZJws/NwNRqlDRD/U466jarXvvSlGhJec/6J4/I+IEcBvWDnc9anLFKmnGO04jPKgAsg==} engines: {node: '>=18.0.0'} - '@mintlify/models@0.0.268': - resolution: {integrity: sha512-8HDPI3luABg5p/VTVYAOqabqOtcK2jdBuRTYOJiV39QqjQY29Q7kWH697PUokN6CO9uP2CCkPG5O5Gi7QxflWA==} + '@mintlify/models@0.0.273': + resolution: {integrity: sha512-u2azWZWw3HG5HpBgXcwVQuCRWNLgaXCb6iS6+QUPK2XHD7rMw66zismibJtZhiVS/42jlUnx38LIW6BUVoFfgw==} engines: {node: '>=18.0.0'} '@mintlify/openapi-parser@0.0.8': resolution: {integrity: sha512-9MBRq9lS4l4HITYCrqCL7T61MOb20q9IdU7HWhqYMNMM1jGO1nHjXasFy61yZ8V6gMZyyKQARGVoZ0ZrYN48Og==} engines: {node: '>=18'} - '@mintlify/prebuild@1.0.849': - resolution: {integrity: sha512-GlFRJYrS7sIByZXKLa91VeCGruMunbwoxGbWRF5gAiknkuhng9SuX7zB7yTa0J3ApmLO3oZG5baWfzflcQY01w==} + '@mintlify/prebuild@1.0.880': + resolution: {integrity: sha512-cNXXz3oOaZn8GoGNPbDoYG/CVS53FbuEVDDN6hY3bmhZg4VzAZH5IAjj7eUmg9l3BLyILexUfDWuzEv99MhStQ==} - '@mintlify/previewing@4.0.905': - resolution: {integrity: sha512-3PjzszHkvswA742dofEDohINUnlbmi4gnKP9xWK7wA+dLszKJ56BYjm6VCWJjpG3PuO4oPFIS9vI1YRCEM8kRQ==} + '@mintlify/previewing@4.0.937': + resolution: {integrity: sha512-yjbN7c5GtDFByUqXnF4kg4Bd7gf7whv95ciH7ukKi5QFe8xGntW9UlMLer2UvuJzNG7JGvJkRGvsVwUrm3lLXw==} engines: {node: '>=18.0.0'} '@mintlify/scraping@4.0.522': @@ -2974,85 +2808,85 @@ packages: engines: {node: '>=18.0.0'} hasBin: true - '@mintlify/scraping@4.0.574': - resolution: {integrity: sha512-FN2MM8uxBi2Foxpua0UIDLYo4YvcJE/NMwOGfbQ/HWx73eWhsA0LI+uhqpq8ZYqgc4awVif1oKc7OcuEhtY7Kg==} + '@mintlify/scraping@4.0.605': + resolution: {integrity: sha512-pLHEBNZQ+XuDJCZokQt3MjhhK5F8G4Lk9DSDnHp8grDWdIEeYdP/K95jZzNTbpPJx1cVinSEjSsrIasP8Z4S4g==} engines: {node: '>=18.0.0'} hasBin: true '@mintlify/validation@0.1.555': resolution: {integrity: sha512-11QVUReL4N5u8wSCgZt4RN7PA0jYQoMEBZ5IrUp5pgb5ZJBOoGV/vPsQrxPPa1cxsUDAuToNhtGxRQtOav/w8w==} - '@mintlify/validation@0.1.585': - resolution: {integrity: sha512-32mezT7v1dmPQa2DyGDYf0t+HHUbmpShJVnMrxxhXyMHvKUqOu4ENoRCAxRbfc4OLPxAFRB4qEEq2toID+tOHw==} + '@mintlify/validation@0.1.602': + resolution: {integrity: sha512-r8wf9w4IWgcewoN49Ks6r64VBysO7VpgQUsbe9vCXFfZdUegcxFZ2LLIlJVbEgXb14mYQFJRDIfvTfjrtQYRLw==} - '@napi-rs/canvas-android-arm64@0.1.91': - resolution: {integrity: sha512-SLLzXXgSnfct4zy/BVAfweZQkYkPJsNsJ2e5DOE8DFEHC6PufyUrwb12yqeu2So2IOIDpWJJaDAxKY/xpy6MYQ==} + '@napi-rs/canvas-android-arm64@0.1.94': + resolution: {integrity: sha512-YQ6K83RWNMQOtgpk1aIML97QTE3zxPmVCHTi5eA8Nss4+B9JZi5J7LHQr7B5oD7VwSfWd++xsPdUiJ1+frqsMg==} engines: {node: '>= 10'} cpu: [arm64] os: [android] - '@napi-rs/canvas-darwin-arm64@0.1.91': - resolution: {integrity: sha512-bzdbCjIjw3iRuVFL+uxdSoMra/l09ydGNX9gsBxO/zg+5nlppscIpj6gg+nL6VNG85zwUarDleIrUJ+FWHvmuA==} + '@napi-rs/canvas-darwin-arm64@0.1.94': + resolution: {integrity: sha512-h1yl9XjqSrYZAbBUHCVLAhwd2knM8D8xt081Pv40KqNJXfeMmBrhG1SfroRymG2ak+pl42iQlWjFZ2Z8AWFdSw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@napi-rs/canvas-darwin-x64@0.1.91': - resolution: {integrity: sha512-q3qpkpw0IsG9fAS/dmcGIhCVoNxj8ojbexZKWwz3HwxlEWsLncEQRl4arnxrwbpLc2nTNTyj4WwDn7QR5NDAaA==} + '@napi-rs/canvas-darwin-x64@0.1.94': + resolution: {integrity: sha512-rkr/lrafbU0IIHebst+sQJf1HjdHvTMN0GGqWvw5OfaVS0K/sVxhNHtxi8oCfaRSvRE62aJZjWTcdc2ue/o6yw==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@napi-rs/canvas-linux-arm-gnueabihf@0.1.91': - resolution: {integrity: sha512-Io3g8wJZVhK8G+Fpg1363BE90pIPqg+ZbeehYNxPWDSzbgwU3xV0l8r/JBzODwC7XHi1RpFEk+xyUTMa2POj6w==} + '@napi-rs/canvas-linux-arm-gnueabihf@0.1.94': + resolution: {integrity: sha512-q95TDo32YkTKdi+Sp2yQ2Npm7pmfKEruNoJ3RUIw1KvQQ9EHKL3fii/iuU60tnzP0W+c8BKN7BFstNFcm2KXCQ==} engines: {node: '>= 10'} cpu: [arm] os: [linux] - '@napi-rs/canvas-linux-arm64-gnu@0.1.91': - resolution: {integrity: sha512-HBnto+0rxx1bQSl8bCWA9PyBKtlk2z/AI32r3cu4kcNO+M/5SD4b0v1MWBWZyqMQyxFjWgy3ECyDjDKMC6tY1A==} + '@napi-rs/canvas-linux-arm64-gnu@0.1.94': + resolution: {integrity: sha512-Je5/gKVybWAoIGyDOcJF1zYgBTKWkPIkfOgvCzrQcl8h7DiDvRvEY70EapA+NicGe4X3DW9VsCT34KZJnerShA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@napi-rs/canvas-linux-arm64-musl@0.1.91': - resolution: {integrity: sha512-/eJtVe2Xw9A86I4kwXpxxoNagdGclu12/NSMsfoL8q05QmeRCbfjhg1PJS7ENAuAvaiUiALGrbVfeY1KU1gztQ==} + '@napi-rs/canvas-linux-arm64-musl@0.1.94': + resolution: {integrity: sha512-9YleDDauDEZNsFnfz3HyZvp1LK1ECu8N2gDUg1wtL7uWLQv8dUbfVeFtp5HOdxht1o7LsWRmQeqeIbnD4EqE2A==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@napi-rs/canvas-linux-riscv64-gnu@0.1.91': - resolution: {integrity: sha512-floNK9wQuRWevUhhXRcuis7h0zirdytVxPgkonWO+kQlbvxV7gEUHGUFQyq4n55UHYFwgck1SAfJ1HuXv/+ppQ==} + '@napi-rs/canvas-linux-riscv64-gnu@0.1.94': + resolution: {integrity: sha512-lQUy9Xvz7ch8+0AXq8RkioLD41iQ6EqdKFu5uV40BxkBDijB2SCm1jna/BRhqitQRSjwAk2KlLUxTjHChyfNGg==} engines: {node: '>= 10'} cpu: [riscv64] os: [linux] - '@napi-rs/canvas-linux-x64-gnu@0.1.91': - resolution: {integrity: sha512-c3YDqBdf7KETuZy2AxsHFMsBBX1dWT43yFfWUq+j1IELdgesWtxf/6N7csi3VPf6VA3PmnT9EhMyb+M1wfGtqw==} + '@napi-rs/canvas-linux-x64-gnu@0.1.94': + resolution: {integrity: sha512-0IYgyuUaugHdWxXRhDQUCMxTou8kAHHmpIBFtbmdRlciPlfK7AYQW5agvUU1PghPc5Ja3Zzp5qZfiiLu36vIWQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@napi-rs/canvas-linux-x64-musl@0.1.91': - resolution: {integrity: sha512-RpZ3RPIwgEcNBHSHSX98adm+4VP8SMT5FN6250s5jQbWpX/XNUX5aLMfAVJS/YnDjS1QlsCgQxFOPU0aCCWgag==} + '@napi-rs/canvas-linux-x64-musl@0.1.94': + resolution: {integrity: sha512-xuetfzzcflCIiBw2HJlOU4/+zTqhdxoe1BEcwdBsHAd/5wAQ4Pp+FGPi5g74gDvtcXQmTdEU3fLQvHc/j3wbxQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@napi-rs/canvas-win32-arm64-msvc@0.1.91': - resolution: {integrity: sha512-gF8MBp4X134AgVurxqlCdDA2qO0WaDdi9o6Sd5rWRVXRhWhYQ6wkdEzXNLIrmmros0Tsp2J0hQzx4ej/9O8trQ==} + '@napi-rs/canvas-win32-arm64-msvc@0.1.94': + resolution: {integrity: sha512-2F3p8wci4Q4vjbENlQtSibqFWxBdpzYk1c8Jh1mqqLE92rBKElG018dBJ6C8Dp49vE350Hmy5LrfdLgFKMG8sg==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@napi-rs/canvas-win32-x64-msvc@0.1.91': - resolution: {integrity: sha512-++gtW9EV/neKI8TshD8WFxzBYALSPag2kFRahIJV+LYsyt5kBn21b1dBhEUDHf7O+wiZmuFCeUa7QKGHnYRZBA==} + '@napi-rs/canvas-win32-x64-msvc@0.1.94': + resolution: {integrity: sha512-hjwaIKMrQLoNiu3724octSGhDVKkBwJtMeQ3qUXOi+y60h2q6Sxq3+MM2za3V88+XQzzwn0DgG0Xo6v6gzV8kQ==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - '@napi-rs/canvas@0.1.91': - resolution: {integrity: sha512-eeIe1GoB74P1B0Nkw6pV8BCQ3hfCfvyYr4BntzlCsnFXzVJiPMDnLeIx3gVB0xQMblHYnjK/0nCLvirEhOjr5g==} + '@napi-rs/canvas@0.1.94': + resolution: {integrity: sha512-8jBkvqynXNdQPNZjLJxB/Rp9PdnnMSHFBLzPmMc615nlt/O6w0ergBbkEDEOr8EbjL8nRQDpEklPx4pzD7zrbg==} engines: {node: '>= 10'} '@napi-rs/wasm-runtime@0.2.12': @@ -3081,8 +2915,8 @@ packages: resolution: {integrity: sha512-DhGl4xMVFGVIyMwswXeyzdL4uXD5OGILGX5N8Y+f6W7LhC1Ze2poSNrkF/fedpVDHEEZ+PHFW0vL14I+mm8K3Q==} engines: {node: '>= 20'} - '@octokit/endpoint@11.0.2': - resolution: {integrity: sha512-4zCpzP1fWc7QlqunZ5bSEjxc6yLAlRTnDwKtgXfcI/FxxGoqedDG8V2+xJ60bV2kODqcGB+nATdtap/XYq2NZQ==} + '@octokit/endpoint@11.0.3': + resolution: {integrity: sha512-FWFlNxghg4HrXkD3ifYbS/IdL/mDHjh9QcsNyhQjN8dplUoZbejsdpmuqdA76nxj2xoWPs7p8uX2SNr9rYu0Ag==} engines: {node: '>= 20'} '@octokit/graphql@9.0.3': @@ -3101,8 +2935,8 @@ packages: peerDependencies: '@octokit/core': '>=6' - '@octokit/plugin-retry@8.0.3': - resolution: {integrity: sha512-vKGx1i3MC0za53IzYBSBXcrhmd+daQDzuZfYDd52X5S0M2otf3kVZTVP8bLA3EkU0lTvd1WEC2OlNNa4G+dohA==} + '@octokit/plugin-retry@8.1.0': + resolution: {integrity: sha512-O1FZgXeiGb2sowEr/hYTr6YunGdSAFWnr2fyW39Ah85H8O33ELASQxcvOFF5LE6Tjekcyu2ms4qAzJVhSaJxTw==} engines: {node: '>= 20'} peerDependencies: '@octokit/core': '>=7' @@ -3117,8 +2951,8 @@ packages: resolution: {integrity: sha512-KMQIfq5sOPpkQYajXHwnhjCC0slzCNScLHs9JafXc4RAJI+9f+jNDlBNaIMTvazOPLgb4BnlhGJOTbnN0wIjPw==} engines: {node: '>= 20'} - '@octokit/request@10.0.7': - resolution: {integrity: sha512-v93h0i1yu4idj8qFPZwjehoJx4j3Ntn+JhXsdJrG9pYaX6j/XRz2RmasMUHtNgQD39nrv/VwTWSqK0RNXR8upA==} + '@octokit/request@10.0.8': + resolution: {integrity: sha512-SJZNwY9pur9Agf7l87ywFi14W+Hd9Jg6Ifivsd33+/bGUQIjNujdFiXII2/qSlN2ybqUHfp5xpekMEjIBTjlSw==} engines: {node: '>= 20'} '@octokit/types@15.0.2': @@ -3147,8 +2981,8 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - '@playwright/test@1.58.1': - resolution: {integrity: sha512-6LdVIUERWxQMmUSSQi0I53GgCBYgM2RpGngCPY7hSeju+VrKjq3lvs7HpJoPbDiY5QM5EYRtRX5fvrinnMAz3w==} + '@playwright/test@1.58.2': + resolution: {integrity: sha512-akea+6bHYBBfA9uQqSYmlJXn61cTa+jbO87xVLCWbTqbWadRVmhxlXATaOjOgcBaWU4ePo0wB41KMFv3o35IXA==} engines: {node: '>=18'} hasBin: true @@ -3473,8 +3307,8 @@ packages: '@rolldown/pluginutils@1.0.0-beta.53': resolution: {integrity: sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ==} - '@rolldown/pluginutils@1.0.0-rc.2': - resolution: {integrity: sha512-izyXV/v+cHiRfozX62W9htOAvwMo4/bXKDrQ+vom1L1qRuexPock/7VZDAhnpHCLNejd3NJ6hiab+tO0D44Rgw==} + '@rolldown/pluginutils@1.0.0-rc.3': + resolution: {integrity: sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q==} '@rollup/plugin-inject@5.0.5': resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==} @@ -3494,160 +3328,160 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.57.1': - resolution: {integrity: sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==} + '@rollup/rollup-android-arm-eabi@4.58.0': + resolution: {integrity: sha512-mr0tmS/4FoVk1cnaeN244A/wjvGDNItZKR8hRhnmCzygyRXYtKF5jVDSIILR1U97CTzAYmbgIj/Dukg62ggG5w==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.57.1': - resolution: {integrity: sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==} + '@rollup/rollup-android-arm64@4.58.0': + resolution: {integrity: sha512-+s++dbp+/RTte62mQD9wLSbiMTV+xr/PeRJEc/sFZFSBRlHPNPVaf5FXlzAL77Mr8FtSfQqCN+I598M8U41ccQ==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.57.1': - resolution: {integrity: sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==} + '@rollup/rollup-darwin-arm64@4.58.0': + resolution: {integrity: sha512-MFWBwTcYs0jZbINQBXHfSrpSQJq3IUOakcKPzfeSznONop14Pxuqa0Kg19GD0rNBMPQI2tFtu3UzapZpH0Uc1Q==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.57.1': - resolution: {integrity: sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==} + '@rollup/rollup-darwin-x64@4.58.0': + resolution: {integrity: sha512-yiKJY7pj9c9JwzuKYLFaDZw5gma3fI9bkPEIyofvVfsPqjCWPglSHdpdwXpKGvDeYDms3Qal8qGMEHZ1M/4Udg==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.57.1': - resolution: {integrity: sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==} + '@rollup/rollup-freebsd-arm64@4.58.0': + resolution: {integrity: sha512-x97kCoBh5MOevpn/CNK9W1x8BEzO238541BGWBc315uOlN0AD/ifZ1msg+ZQB05Ux+VF6EcYqpiagfLJ8U3LvQ==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.57.1': - resolution: {integrity: sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==} + '@rollup/rollup-freebsd-x64@4.58.0': + resolution: {integrity: sha512-Aa8jPoZ6IQAG2eIrcXPpjRcMjROMFxCt1UYPZZtCxRV68WkuSigYtQ/7Zwrcr2IvtNJo7T2JfDXyMLxq5L4Jlg==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.57.1': - resolution: {integrity: sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==} + '@rollup/rollup-linux-arm-gnueabihf@4.58.0': + resolution: {integrity: sha512-Ob8YgT5kD/lSIYW2Rcngs5kNB/44Q2RzBSPz9brf2WEtcGR7/f/E9HeHn1wYaAwKBni+bdXEwgHvUd0x12lQSA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.57.1': - resolution: {integrity: sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==} + '@rollup/rollup-linux-arm-musleabihf@4.58.0': + resolution: {integrity: sha512-K+RI5oP1ceqoadvNt1FecL17Qtw/n9BgRSzxif3rTL2QlIu88ccvY+Y9nnHe/cmT5zbH9+bpiJuG1mGHRVwF4Q==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.57.1': - resolution: {integrity: sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==} + '@rollup/rollup-linux-arm64-gnu@4.58.0': + resolution: {integrity: sha512-T+17JAsCKUjmbopcKepJjHWHXSjeW7O5PL7lEFaeQmiVyw4kkc5/lyYKzrv6ElWRX/MrEWfPiJWqbTvfIvjM1Q==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.57.1': - resolution: {integrity: sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==} + '@rollup/rollup-linux-arm64-musl@4.58.0': + resolution: {integrity: sha512-cCePktb9+6R9itIJdeCFF9txPU7pQeEHB5AbHu/MKsfH/k70ZtOeq1k4YAtBv9Z7mmKI5/wOLYjQ+B9QdxR6LA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loong64-gnu@4.57.1': - resolution: {integrity: sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==} + '@rollup/rollup-linux-loong64-gnu@4.58.0': + resolution: {integrity: sha512-iekUaLkfliAsDl4/xSdoCJ1gnnIXvoNz85C8U8+ZxknM5pBStfZjeXgB8lXobDQvvPRCN8FPmmuTtH+z95HTmg==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-loong64-musl@4.57.1': - resolution: {integrity: sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==} + '@rollup/rollup-linux-loong64-musl@4.58.0': + resolution: {integrity: sha512-68ofRgJNl/jYJbxFjCKE7IwhbfxOl1muPN4KbIqAIe32lm22KmU7E8OPvyy68HTNkI2iV/c8y2kSPSm2mW/Q9Q==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-ppc64-gnu@4.57.1': - resolution: {integrity: sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==} + '@rollup/rollup-linux-ppc64-gnu@4.58.0': + resolution: {integrity: sha512-dpz8vT0i+JqUKuSNPCP5SYyIV2Lh0sNL1+FhM7eLC457d5B9/BC3kDPp5BBftMmTNsBarcPcoz5UGSsnCiw4XQ==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-ppc64-musl@4.57.1': - resolution: {integrity: sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==} + '@rollup/rollup-linux-ppc64-musl@4.58.0': + resolution: {integrity: sha512-4gdkkf9UJ7tafnweBCR/mk4jf3Jfl0cKX9Np80t5i78kjIH0ZdezUv/JDI2VtruE5lunfACqftJ8dIMGN4oHew==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.57.1': - resolution: {integrity: sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==} + '@rollup/rollup-linux-riscv64-gnu@4.58.0': + resolution: {integrity: sha512-YFS4vPnOkDTD/JriUeeZurFYoJhPf9GQQEF/v4lltp3mVcBmnsAdjEWhr2cjUCZzZNzxCG0HZOvJU44UGHSdzw==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.57.1': - resolution: {integrity: sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==} + '@rollup/rollup-linux-riscv64-musl@4.58.0': + resolution: {integrity: sha512-x2xgZlFne+QVNKV8b4wwaCS8pwq3y14zedZ5DqLzjdRITvreBk//4Knbcvm7+lWmms9V9qFp60MtUd0/t/PXPw==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.57.1': - resolution: {integrity: sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==} + '@rollup/rollup-linux-s390x-gnu@4.58.0': + resolution: {integrity: sha512-jIhrujyn4UnWF8S+DHSkAkDEO3hLX0cjzxJZPLF80xFyzyUIYgSMRcYQ3+uqEoyDD2beGq7Dj7edi8OnJcS/hg==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.57.1': - resolution: {integrity: sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==} + '@rollup/rollup-linux-x64-gnu@4.58.0': + resolution: {integrity: sha512-+410Srdoh78MKSJxTQ+hZ/Mx+ajd6RjjPwBPNd0R3J9FtL6ZA0GqiiyNjCO9In0IzZkCNrpGymSfn+kgyPQocg==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.57.1': - resolution: {integrity: sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==} + '@rollup/rollup-linux-x64-musl@4.58.0': + resolution: {integrity: sha512-ZjMyby5SICi227y1MTR3VYBpFTdZs823Rs/hpakufleBoufoOIB6jtm9FEoxn/cgO7l6PM2rCEl5Kre5vX0QrQ==} cpu: [x64] os: [linux] - '@rollup/rollup-openbsd-x64@4.57.1': - resolution: {integrity: sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==} + '@rollup/rollup-openbsd-x64@4.58.0': + resolution: {integrity: sha512-ds4iwfYkSQ0k1nb8LTcyXw//ToHOnNTJtceySpL3fa7tc/AsE+UpUFphW126A6fKBGJD5dhRvg8zw1rvoGFxmw==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.57.1': - resolution: {integrity: sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==} + '@rollup/rollup-openharmony-arm64@4.58.0': + resolution: {integrity: sha512-fd/zpJniln4ICdPkjWFhZYeY/bpnaN9pGa6ko+5WD38I0tTqk9lXMgXZg09MNdhpARngmxiCg0B0XUamNw/5BQ==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.57.1': - resolution: {integrity: sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==} + '@rollup/rollup-win32-arm64-msvc@4.58.0': + resolution: {integrity: sha512-YpG8dUOip7DCz3nr/JUfPbIUo+2d/dy++5bFzgi4ugOGBIox+qMbbqt/JoORwvI/C9Kn2tz6+Bieoqd5+B1CjA==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.57.1': - resolution: {integrity: sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==} + '@rollup/rollup-win32-ia32-msvc@4.58.0': + resolution: {integrity: sha512-b9DI8jpFQVh4hIXFr0/+N/TzLdpBIoPzjt0Rt4xJbW3mzguV3mduR9cNgiuFcuL/TeORejJhCWiAXe3E/6PxWA==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.57.1': - resolution: {integrity: sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==} + '@rollup/rollup-win32-x64-gnu@4.58.0': + resolution: {integrity: sha512-CSrVpmoRJFN06LL9xhkitkwUcTZtIotYAF5p6XOR2zW0Zz5mzb3IPpcoPhB02frzMHFNo1reQ9xSF5fFm3hUsQ==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.57.1': - resolution: {integrity: sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==} + '@rollup/rollup-win32-x64-msvc@4.58.0': + resolution: {integrity: sha512-QFsBgQNTnh5K0t/sBsjJLq24YVqEIVkGpfN2VHsnN90soZyhaiA9UUHufcctVNL4ypJY0wrwad0wslx2KJQ1/w==} cpu: [x64] os: [win32] - '@rushstack/node-core-library@5.19.1': - resolution: {integrity: sha512-ESpb2Tajlatgbmzzukg6zyAhH+sICqJR2CNXNhXcEbz6UGCQfrKCtkxOpJTftWc8RGouroHG0Nud1SJAszvpmA==} + '@rushstack/node-core-library@5.20.1': + resolution: {integrity: sha512-QvxZyh+RsTJ77JpQkS9K9lJujh6lj5WyMxieT0bdACtwqxEkGB9zCuSMX5UlXRweaIgSpu1ztdHmhV07fKUpMg==} peerDependencies: '@types/node': '*' peerDependenciesMeta: '@types/node': optional: true - '@rushstack/problem-matcher@0.1.1': - resolution: {integrity: sha512-Fm5XtS7+G8HLcJHCWpES5VmeMyjAKaWeyZU5qPzZC+22mPlJzAsOxymHiWIfuirtPckX3aptWws+K2d0BzniJA==} + '@rushstack/problem-matcher@0.2.1': + resolution: {integrity: sha512-gulfhBs6n+I5b7DvjKRfhMGyUejtSgOHTclF/eONr8hcgF1APEDjhxIsfdUYYMzC3rvLwGluqLjbwCFZ8nxrog==} peerDependencies: '@types/node': '*' peerDependenciesMeta: '@types/node': optional: true - '@rushstack/rig-package@0.6.0': - resolution: {integrity: sha512-ZQmfzsLE2+Y91GF15c65L/slMRVhF6Hycq04D4TwtdGaUAbIXXg9c5pKA5KFU7M4QMaihoobp9JJYpYcaY3zOw==} + '@rushstack/rig-package@0.7.1': + resolution: {integrity: sha512-hLwDnp4yMcAd/gcUol8NPWNctpIXzVOgMyhZ8DagnEJls9TOZd0xF//5hS+YTiX7/+4rLfBra+NoB3rtFxjDdA==} - '@rushstack/terminal@0.21.0': - resolution: {integrity: sha512-cLaI4HwCNYmknM5ns4G+drqdEB6q3dCPV423+d3TZeBusYSSm09+nR7CnhzJMjJqeRcdMAaLnrA4M/3xDz4R3w==} + '@rushstack/terminal@0.22.1': + resolution: {integrity: sha512-Mdtu0VN7v31O5Zcno8ZZH5kQHF13Ez7WN9Aio7nFJVcR36i4bkERionYrWgBDQJ0JdVPLKGecZER/xRU5IvGLw==} peerDependencies: '@types/node': '*' peerDependenciesMeta: '@types/node': optional: true - '@rushstack/ts-command-line@5.2.0': - resolution: {integrity: sha512-lYxCX0nDdkDtCkVpvF0m25ymf66SaMWuppbD6b7MdkIzvGXKBXNIVZlwBH/C0YfkanrupnICWf2n4z3AKSfaHw==} + '@rushstack/ts-command-line@5.3.1': + resolution: {integrity: sha512-mid/JIZSJafwy3x9e4v0wVLuAqSSYYErEHV0HXPALYLSBN13YNkR5caOk0hf97lSRKrxhtvQjGaDKSEelR3sMg==} '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} @@ -3767,8 +3601,8 @@ packages: resolution: {integrity: sha512-qJpzYC64kaj3S0fueiu3kXm8xPrR3PcXDPEgnaNMRn0EjNSZFoFjvbUp0YUDsRhN1CB90EnHJtbxWKevnH99UQ==} engines: {node: '>=18.0.0'} - '@smithy/core@3.23.0': - resolution: {integrity: sha512-Yq4UPVoQICM9zHnByLmG8632t2M0+yap4T7ANVw482J0W7HW0pOuxwVmeOwzJqX2Q89fkXz0Vybz55Wj2Xzrsg==} + '@smithy/core@3.23.2': + resolution: {integrity: sha512-HaaH4VbGie4t0+9nY3tNBRSxVTr96wzIqexUa6C2qx3MPePAuz7lIxPxYtt1Wc//SPfJLNoZJzfdt0B6ksj2jA==} engines: {node: '>=18.0.0'} '@smithy/credential-provider-imds@4.2.8': @@ -3831,12 +3665,12 @@ packages: resolution: {integrity: sha512-RO0jeoaYAB1qBRhfVyq0pMgBoUK34YEJxVxyjOWYZiOKOq2yMZ4MnVXMZCUDenpozHue207+9P5ilTV1zeda0A==} engines: {node: '>=18.0.0'} - '@smithy/middleware-endpoint@4.4.14': - resolution: {integrity: sha512-FUFNE5KVeaY6U/GL0nzAAHkaCHzXLZcY1EhtQnsAqhD8Du13oPKtMB9/0WK4/LK6a/T5OZ24wPoSShff5iI6Ag==} + '@smithy/middleware-endpoint@4.4.16': + resolution: {integrity: sha512-L5GICFCSsNhbJ5JSKeWFGFy16Q2OhoBizb3X2DrxaJwXSEujVvjG9Jt386dpQn2t7jINglQl0b4K/Su69BdbMA==} engines: {node: '>=18.0.0'} - '@smithy/middleware-retry@4.4.31': - resolution: {integrity: sha512-RXBzLpMkIrxBPe4C8OmEOHvS8aH9RUuCOH++Acb5jZDEblxDjyg6un72X9IcbrGTJoiUwmI7hLypNfuDACypbg==} + '@smithy/middleware-retry@4.4.33': + resolution: {integrity: sha512-jLqZOdJhtIL4lnA9hXnAG6GgnJlo1sD3FqsTxm9wSfjviqgWesY/TMBVnT84yr4O0Vfe0jWoXlfFbzsBVph3WA==} engines: {node: '>=18.0.0'} '@smithy/middleware-serde@4.2.9': @@ -3883,8 +3717,8 @@ packages: resolution: {integrity: sha512-6A4vdGj7qKNRF16UIcO8HhHjKW27thsxYci+5r/uVRkdcBEkOEiY8OMPuydLX4QHSrJqGHPJzPRwwVTqbLZJhg==} engines: {node: '>=18.0.0'} - '@smithy/smithy-client@4.11.3': - resolution: {integrity: sha512-Q7kY5sDau8OoE6Y9zJoRGgje8P4/UY0WzH8R2ok0PDh+iJ+ZnEKowhjEqYafVcubkbYxQVaqwm3iufktzhprGg==} + '@smithy/smithy-client@4.11.5': + resolution: {integrity: sha512-xixwBRqoeP2IUgcAl3U9dvJXc+qJum4lzo3maaJxifsZxKUYLfVfCXvhT4/jD01sRrHg5zjd1cw2Zmjr4/SuKQ==} engines: {node: '>=18.0.0'} '@smithy/types@4.12.0': @@ -3919,12 +3753,12 @@ packages: resolution: {integrity: sha512-YEjpl6XJ36FTKmD+kRJJWYvrHeUvm5ykaUS5xK+6oXffQPHeEM4/nXlZPe+Wu0lsgRUcNZiliYNh/y7q9c2y6Q==} engines: {node: '>=18.0.0'} - '@smithy/util-defaults-mode-browser@4.3.30': - resolution: {integrity: sha512-cMni0uVU27zxOiU8TuC8pQLC1pYeZ/xEMxvchSK/ILwleRd1ugobOcIRr5vXtcRqKd4aBLWlpeBoDPJJ91LQng==} + '@smithy/util-defaults-mode-browser@4.3.32': + resolution: {integrity: sha512-092sjYfFMQ/iaPH798LY/OJFBcYu0sSK34Oy9vdixhsU36zlZu8OcYjF3TD4e2ARupyK7xaxPXl+T0VIJTEkkg==} engines: {node: '>=18.0.0'} - '@smithy/util-defaults-mode-node@4.2.33': - resolution: {integrity: sha512-LEb2aq5F4oZUSzWBG7S53d4UytZSkOEJPXcBq/xbG2/TmK9EW5naUZ8lKu1BEyWMzdHIzEVN16M3k8oxDq+DJA==} + '@smithy/util-defaults-mode-node@4.2.35': + resolution: {integrity: sha512-miz/ggz87M8VuM29y7jJZMYkn7+IErM5p5UgKIf8OtqVs/h2bXr1Bt3uTsREsI/4nK8a0PQERbAPsVPVNIsG7Q==} engines: {node: '>=18.0.0'} '@smithy/util-endpoints@3.2.8': @@ -4106,8 +3940,8 @@ packages: '@types/babel__traverse@7.28.0': resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} - '@types/bun@1.3.8': - resolution: {integrity: sha512-3LvWJ2q5GerAXYxO2mffLTqOzEu5qnhEAlh48Vnu8WQfnmSwbgagjGZV6BoHKJztENYEDn6QmVd949W4uESRJA==} + '@types/bun@1.3.9': + resolution: {integrity: sha512-KQ571yULOdWJiMH+RIWIOZ7B2RXQGpL1YQrBtLIV3FqDcCu6FsbFUBwhdKUlCKUpS3PJDsHlJ1QKlpxoVR+xtw==} '@types/chai@5.2.3': resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} @@ -4191,8 +4025,8 @@ packages: '@types/node@22.19.2': resolution: {integrity: sha512-LPM2G3Syo1GLzXLGJAKdqoU35XvrWzGJ21/7sgZTUpbkBaOasTj8tjwn6w+hCkqaa1TfJ/w67rJSwYItlJ2mYw==} - '@types/node@22.19.8': - resolution: {integrity: sha512-ebO/Yl+EAvVe8DnMfi+iaAyIqYdK0q/q0y0rw82INWEKJOBe6b/P3YWE8NW7oOlF/nXFNrHwhARrN/hdgDkraA==} + '@types/node@25.3.0': + resolution: {integrity: sha512-4K3bqJpXpqfg2XKGK9bpDTc6xO/xoUP/RBWS7AtRMug6zZFaRekiLzjVtAoZMquxoAbzBvy5nxQ7veS5eYzf8A==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -4205,8 +4039,8 @@ packages: peerDependencies: '@types/react': ^19.2.0 - '@types/react@19.2.11': - resolution: {integrity: sha512-tORuanb01iEzWvMGVGv2ZDhYZVeRMrw453DCSAIn/5yvcSVnMoUMTyf33nQJLahYEnv9xqrTNbgz4qY5EfSh0g==} + '@types/react@19.2.14': + resolution: {integrity: sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==} '@types/responselike@1.0.0': resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} @@ -4223,8 +4057,8 @@ packages: '@types/urijs@1.19.26': resolution: {integrity: sha512-wkXrVzX5yoqLnndOwFsieJA7oKM8cNkOKJtf/3vVGSUFkWDKZvFHpIl9Pvqb/T9UsawBBFMTTD8xu7sK5MWuvg==} - '@types/vscode@1.108.1': - resolution: {integrity: sha512-DerV0BbSzt87TbrqmZ7lRDIYaMiqvP8tmJTzW2p49ZBVtGUnGAu2RGQd1Wv4XMzEVUpaHbsemVM5nfuQJj7H6w==} + '@types/vscode@1.109.0': + resolution: {integrity: sha512-0Pf95rnwEIwDbmXGC08r0B4TQhAbsHQ5UyTIgVgoieDe4cOnf92usuR5dEczb6bTKEp7ziZH4TV1TRGPPCExtw==} '@types/whatwg-mimetype@3.0.2': resolution: {integrity: sha512-c2AKvDT8ToxLIOUlN51gTiHXflsfIFisS4pO7pDPoKouJCESkhZnEy623gwP9laCy5lnLDAw1vAzu2vM2YLOrA==} @@ -4235,72 +4069,72 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@8.54.0': - resolution: {integrity: sha512-hAAP5io/7csFStuOmR782YmTthKBJ9ND3WVL60hcOjvtGFb+HJxH4O5huAcmcZ9v9G8P+JETiZ/G1B8MALnWZQ==} + '@typescript-eslint/eslint-plugin@8.56.0': + resolution: {integrity: sha512-lRyPDLzNCuae71A3t9NEINBiTn7swyOhvUj3MyUOxb8x6g6vPEFoOU+ZRmGMusNC3X3YMhqMIX7i8ShqhT74Pw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.54.0 - eslint: ^8.57.0 || ^9.0.0 + '@typescript-eslint/parser': ^8.56.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/parser@8.54.0': - resolution: {integrity: sha512-BtE0k6cjwjLZoZixN0t5AKP0kSzlGu7FctRXYuPAm//aaiZhmfq1JwdYpYr1brzEspYyFeF+8XF5j2VK6oalrA==} + '@typescript-eslint/parser@8.56.0': + resolution: {integrity: sha512-IgSWvLobTDOjnaxAfDTIHaECbkNlAlKv2j5SjpB2v7QHKv1FIfjwMy8FsDbVfDX/KjmCmYICcw7uGaXLhtsLNg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/project-service@8.54.0': - resolution: {integrity: sha512-YPf+rvJ1s7MyiWM4uTRhE4DvBXrEV+d8oC3P9Y2eT7S+HBS0clybdMIPnhiATi9vZOYDc7OQ1L/i6ga6NFYK/g==} + '@typescript-eslint/project-service@8.56.0': + resolution: {integrity: sha512-M3rnyL1vIQOMeWxTWIW096/TtVP+8W3p/XnaFflhmcFp+U4zlxUxWj4XwNs6HbDeTtN4yun0GNTTDBw/SvufKg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/scope-manager@8.54.0': - resolution: {integrity: sha512-27rYVQku26j/PbHYcVfRPonmOlVI6gihHtXFbTdB5sb6qA0wdAQAbyXFVarQ5t4HRojIz64IV90YtsjQSSGlQg==} + '@typescript-eslint/scope-manager@8.56.0': + resolution: {integrity: sha512-7UiO/XwMHquH+ZzfVCfUNkIXlp/yQjjnlYUyYz7pfvlK3/EyyN6BK+emDmGNyQLBtLGaYrTAI6KOw8tFucWL2w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.54.0': - resolution: {integrity: sha512-dRgOyT2hPk/JwxNMZDsIXDgyl9axdJI3ogZ2XWhBPsnZUv+hPesa5iuhdYt2gzwA9t8RE5ytOJ6xB0moV0Ujvw==} + '@typescript-eslint/tsconfig-utils@8.56.0': + resolution: {integrity: sha512-bSJoIIt4o3lKXD3xmDh9chZcjCz5Lk8xS7Rxn+6l5/pKrDpkCwtQNQQwZ2qRPk7TkUYhrq3WPIHXOXlbXP0itg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/type-utils@8.54.0': - resolution: {integrity: sha512-hiLguxJWHjjwL6xMBwD903ciAwd7DmK30Y9Axs/etOkftC3ZNN9K44IuRD/EB08amu+Zw6W37x9RecLkOo3pMA==} + '@typescript-eslint/type-utils@8.56.0': + resolution: {integrity: sha512-qX2L3HWOU2nuDs6GzglBeuFXviDODreS58tLY/BALPC7iu3Fa+J7EOTwnX9PdNBxUI7Uh0ntP0YWGnxCkXzmfA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/types@8.54.0': - resolution: {integrity: sha512-PDUI9R1BVjqu7AUDsRBbKMtwmjWcn4J3le+5LpcFgWULN3LvHC5rkc9gCVxbrsrGmO1jfPybN5s6h4Jy+OnkAA==} + '@typescript-eslint/types@8.56.0': + resolution: {integrity: sha512-DBsLPs3GsWhX5HylbP9HNG15U0bnwut55Lx12bHB9MpXxQ+R5GC8MwQe+N1UFXxAeQDvEsEDY6ZYwX03K7Z6HQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.54.0': - resolution: {integrity: sha512-BUwcskRaPvTk6fzVWgDPdUndLjB87KYDrN5EYGetnktoeAvPtO4ONHlAZDnj5VFnUANg0Sjm7j4usBlnoVMHwA==} + '@typescript-eslint/typescript-estree@8.56.0': + resolution: {integrity: sha512-ex1nTUMWrseMltXUHmR2GAQ4d+WjkZCT4f+4bVsps8QEdh0vlBsaCokKTPlnqBFqqGaxilDNJG7b8dolW2m43Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/utils@8.54.0': - resolution: {integrity: sha512-9Cnda8GS57AQakvRyG0PTejJNlA2xhvyNtEVIMlDWOOeEyBkYWhGPnfrIAnqxLMTSTo6q8g12XVjjev5l1NvMA==} + '@typescript-eslint/utils@8.56.0': + resolution: {integrity: sha512-RZ3Qsmi2nFGsS+n+kjLAYDPVlrzf7UhTffrDIKr+h2yzAlYP/y5ZulU0yeDEPItos2Ph46JAL5P/On3pe7kDIQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/visitor-keys@8.54.0': - resolution: {integrity: sha512-VFlhGSl4opC0bprJiItPQ1RfUhGDIBokcPwaFH4yiBCaNPeld/9VeXbiPO1cLyorQi1G1vL+ecBk1x8o1axORA==} + '@typescript-eslint/visitor-keys@8.56.0': + resolution: {integrity: sha512-q+SL+b+05Ud6LbEE35qe4A99P+htKTKVbyiNEe45eCbJFyh/HVK9QXwlrbz+Q4L8SOW4roxSVwXYj4DMBT7Ieg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript/vfs@1.6.2': - resolution: {integrity: sha512-hoBwJwcbKHmvd2QVebiytN1aELvpk9B74B4L1mFm/XT1Q/VOYAWl2vQ9AWRFtQq8zmz6enTpfTV8WRc4ATjW/g==} + '@typescript/vfs@1.6.4': + resolution: {integrity: sha512-PJFXFS4ZJKiJ9Qiuix6Dz/OwEIqHD7Dme1UwZhTK11vR+5dqW2ACbdndWQexBzCx+CPuMe5WBYQWCsFyGlQLlQ==} peerDependencies: typescript: '*' - '@typespec/ts-http-runtime@0.3.2': - resolution: {integrity: sha512-IlqQ/Gv22xUC1r/WQm4StLkYQmaaTsXAhUVsNE0+xiyf0yRFiH5++q78U3bw6bLKDCTmh0uqKB9eG9+Bt75Dkg==} + '@typespec/ts-http-runtime@0.3.3': + resolution: {integrity: sha512-91fp6CAAJSRtH5ja95T1FHSKa8aPW9/Zw6cta81jlZTUw/+Vq8jM/AfF/14h2b71wwR84JUTW/3Y8QPhDAawFA==} engines: {node: '>=20.0.0'} '@ungap/structured-clone@1.3.0': @@ -4480,8 +4314,8 @@ packages: resolution: {integrity: sha512-EgyazlL0VejvZqWZ6KL3ig27Yl8RXcwhz1hayuqeAIxaqbsnmSmogL2zKXgGnm9y/A6QkPfZH1BcQoUh1STvtQ==} engines: {node: '>=18'} - '@vitejs/plugin-react@5.1.3': - resolution: {integrity: sha512-NVUnA6gQCl8jfoYqKqQU5Clv0aPw14KkZYCsX6T9Lfu9slI0LOU10OTwFHS/WmptsMMpshNd/1tuWsHQ2Uk+cg==} + '@vitejs/plugin-react@5.1.4': + resolution: {integrity: sha512-VIcFLdRi/VYRU8OL/puL7QXMYafHmqOnwTZY50U1JPlCNj30PxCMx65c494b1K9be9hX83KVt0+gTEwTWLqToA==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 @@ -4671,8 +4505,8 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - acorn@8.15.0: - resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + acorn@8.16.0: + resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} engines: {node: '>=0.4.0'} hasBin: true @@ -4733,8 +4567,8 @@ packages: ajv: optional: true - ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + ajv@6.14.0: + resolution: {integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==} ajv@8.12.0: resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} @@ -4745,6 +4579,9 @@ packages: ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + ajv@8.18.0: + resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==} + alien-signals@0.4.14: resolution: {integrity: sha512-itUAVzhczTmP2U5yX67xVpsbbOiquusbWVyA9N+sy6+r6YVbFkahXvNCeEPWEOMhwDYwbVbGHFkVL03N9I5g+Q==} @@ -4830,15 +4667,9 @@ packages: arkregex@0.0.3: resolution: {integrity: sha512-bU21QJOJEFJK+BPNgv+5bVXkvRxyAvgnon75D92newgHxkBJTgiFwQxusyViYyJkETsddPlHyspshDQcCzmkNg==} - arkregex@0.0.5: - resolution: {integrity: sha512-ncYjBdLlh5/QnVsAA8De16Tc9EqmYM7y/WU9j+236KcyYNUXogpz3sC4ATIZYzzLxwI+0sEOaQLEmLmRleaEXw==} - arktype@2.1.27: resolution: {integrity: sha512-enctOHxI4SULBv/TDtCVi5M8oLd4J5SVlPUblXDzSsOYQNMzmVbUosGBnJuZDKmFlN5Ie0/QVEuTE+Z5X1UhsQ==} - arktype@2.1.29: - resolution: {integrity: sha512-jyfKk4xIOzvYNayqnD8ZJQqOwcrTOUbIU4293yrzAjA3O1dWh61j71ArMQ6tS/u4pD7vabSPe7nG3RCyoXW6RQ==} - array-buffer-byte-length@1.0.2: resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} engines: {node: '>= 0.4'} @@ -4959,8 +4790,8 @@ packages: azure-devops-node-api@12.5.0: resolution: {integrity: sha512-R5eFskGvOm3U/GzeAuxRkUsAl0hrAwGgWn6zAd2KrZmrEhWZVqLew4OOupbQlXUuojUzpGtq62SmdhJ06N88og==} - b4a@1.7.3: - resolution: {integrity: sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==} + b4a@1.8.0: + resolution: {integrity: sha512-qRuSmNSkGQaHwNbM7J78Wwy+ghLEYF1zNrSeMxj4Kgw6y33O3mXcQ6Ie9fRvfU/YnxWkOchPXbaLb73TkIsfdg==} peerDependencies: react-native-b4a: '*' peerDependenciesMeta: @@ -4973,6 +4804,10 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + balanced-match@4.0.3: + resolution: {integrity: sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g==} + engines: {node: 20 || >=22} + bare-events@2.8.2: resolution: {integrity: sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==} peerDependencies: @@ -4981,8 +4816,8 @@ packages: bare-abort-controller: optional: true - bare-fs@4.5.3: - resolution: {integrity: sha512-9+kwVx8QYvt3hPWnmb19tPnh38c6Nihz8Lx3t0g9+4GoIf3/fTgYwM4Z6NxgI+B9elLQA7mLE9PpqcWtOMRDiQ==} + bare-fs@4.5.4: + resolution: {integrity: sha512-POK4oplfA7P7gqvetNmCs4CNtm9fNsx+IAh7jH7GgU0OJdge2rso0R20TNWVq6VoWcCvsTdlNDaleLHGaKx8CA==} engines: {bare: '>=1.16.0'} peerDependencies: bare-buffer: '*' @@ -4997,8 +4832,8 @@ packages: bare-path@3.0.0: resolution: {integrity: sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==} - bare-stream@2.7.0: - resolution: {integrity: sha512-oyXQNicV1y8nc2aKffH+BUHFRXmx6VrPzlnaEvMhram0nPBrKcEdcyBg5r08D0i8VxngHFAiVyn1QKXpSG0B8A==} + bare-stream@2.8.0: + resolution: {integrity: sha512-reUN0M2sHRqCdG4lUK3Fw8w98eeUIZHL5c3H7Mbhk2yVBL+oofgaIp0ieLfD5QXwPCypBpmEEKU2WZKzbAk8GA==} peerDependencies: bare-buffer: '*' bare-events: '*' @@ -5018,8 +4853,9 @@ packages: resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==} engines: {node: ^4.5.0 || >= 5.9} - baseline-browser-mapping@2.9.19: - resolution: {integrity: sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==} + baseline-browser-mapping@2.10.0: + resolution: {integrity: sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==} + engines: {node: '>=6.0.0'} hasBin: true basic-ftp@5.1.0: @@ -5052,11 +4888,11 @@ packages: bmp-ts@1.0.9: resolution: {integrity: sha512-cTEHk2jLrPyi+12M3dhpEbnnPOsaZuq7C45ylbbQIiWgDFZq4UVYPEY5mlqjvsj/6gJv9qX5sa+ebDzLXT28Vw==} - bn.js@4.12.2: - resolution: {integrity: sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==} + bn.js@4.12.3: + resolution: {integrity: sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==} - bn.js@5.2.2: - resolution: {integrity: sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==} + bn.js@5.2.3: + resolution: {integrity: sha512-EAcmnPkxpntVL+DS7bO1zhcZNvCkxqtkd0ZY53h06GNQ3DEkkGZ/gKgmDv6DdZQGj9BgfSPKtJJ7Dp1GPP8f7w==} body-parser@1.20.1: resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} @@ -5085,6 +4921,10 @@ packages: brace-expansion@2.0.2: resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + brace-expansion@5.0.2: + resolution: {integrity: sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==} + engines: {node: 20 || >=22} + braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} @@ -5148,8 +4988,8 @@ packages: builtin-status-codes@3.0.0: resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==} - bun-types@1.3.8: - resolution: {integrity: sha512-fL99nxdOWvV4LqjmC+8Q9kW3M4QTtTR1eePs94v5ctGqU8OeceWrSUaRw3JYb7tU3FkMIAjkueehrHPPPGKi5Q==} + bun-types@1.3.9: + resolution: {integrity: sha512-+UBWWOakIP4Tswh0Bt0QD0alpTY8cb5hvgiYeWCMet9YukHbzuruIEeXC2D7nMJPB12kbh8C7XJykSexEqGKJg==} bundle-name@4.1.0: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} @@ -5213,8 +5053,8 @@ packages: resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} engines: {node: '>=14.16'} - caniuse-lite@1.0.30001767: - resolution: {integrity: sha512-34+zUAMhSH+r+9eKmYG+k2Rpt8XttfE4yXAjoZvkAPs15xcYQhyBYdalJ65BzivAvGRMViEjy6oKr/S91loekQ==} + caniuse-lite@1.0.30001770: + resolution: {integrity: sha512-x/2CLQ1jHENRbHg5PSId2sXq1CIO1CISvwWAj027ltMVG2UNgW+w9oH2+HzgEIRFembL8bUlXtfbBHR1fCg2xw==} canvas@3.2.0: resolution: {integrity: sha512-jk0GxrLtUEmW/TmFsk2WghvgHe8B0pxGilqCL21y8lHkPUGa6FTsnCNtHPOzT8O3y+N+m3espawV80bbBlgfTA==} @@ -5480,8 +5320,8 @@ packages: confbox@0.1.8: resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} - confbox@0.2.2: - resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==} + confbox@0.2.4: + resolution: {integrity: sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ==} config-chain@1.1.13: resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} @@ -5945,8 +5785,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.286: - resolution: {integrity: sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==} + electron-to-chromium@1.5.302: + resolution: {integrity: sha512-sM6HAN2LyK82IyPBpznDRqlTQAtuSaO+ShzFiWTvoMJLHyZ+Y39r8VMfHzwbU8MVBzQ4Wdn85+wlZl2TLGIlwg==} elliptic@6.6.1: resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} @@ -6073,8 +5913,8 @@ packages: engines: {node: '>=18'} hasBin: true - esbuild@0.27.2: - resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==} + esbuild@0.27.3: + resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==} engines: {node: '>=18'} hasBin: true @@ -6177,8 +6017,12 @@ packages: resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.39.2: - resolution: {integrity: sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==} + eslint-visitor-keys@5.0.1: + resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + eslint@9.39.3: + resolution: {integrity: sha512-VmQ+sifHUbI/IcSopBCF/HO3YiHQx/AVd3UVyYL6weuwW+HvON9VYn5l6Zl1WZzPWXPNZrSQpxwkkZ/VuvJZzg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -6334,8 +6178,8 @@ packages: fast-uri@3.1.0: resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} - fast-xml-parser@5.3.4: - resolution: {integrity: sha512-EFd6afGmXlCx8H8WTZHhAoDaWaGyuIBoZJ2mknrNxug+aZKjkp0a0dlars9Izl+jF+7Gu1/5f/2h68cQpe0IiA==} + fast-xml-parser@5.3.6: + resolution: {integrity: sha512-QNI3sAvSvaOiaMl8FYU4trnEzCwiRr8XMWgAHzlrWpTSj+QaCSvOf1h82OEP1s4hiAXhnbXSyFWCf4ldZzZRVA==} hasBin: true fastq@1.20.1: @@ -6555,8 +6399,8 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - get-east-asian-width@1.4.0: - resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==} + get-east-asian-width@1.5.0: + resolution: {integrity: sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==} engines: {node: '>=18'} get-intrinsic@1.3.0: @@ -6595,8 +6439,8 @@ packages: resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} engines: {node: '>= 0.4'} - get-tsconfig@4.13.1: - resolution: {integrity: sha512-EoY1N2xCn44xU6750Sx7OjOIT59FkmstNc3X6y5xpz7D5cBtZRe/3pSlTkDJgqsOk3WwZPkWfonhhUJfttQo3w==} + get-tsconfig@4.13.6: + resolution: {integrity: sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==} get-uri@6.0.5: resolution: {integrity: sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==} @@ -7348,8 +7192,8 @@ packages: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} - is-wsl@3.1.0: - resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + is-wsl@3.1.1: + resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==} engines: {node: '>=16'} isarray@1.0.0: @@ -7510,6 +7354,9 @@ packages: json-stringify-safe@5.0.1: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + json-with-bigint@3.5.3: + resolution: {integrity: sha512-QObKu6nxy7NsxqR0VK4rkXnsNr5L9ElJaGEg+ucJ6J7/suoKZ0n+p76cu9aCqowytxEbwYNzvrMerfMkXneF5A==} + json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} @@ -7534,8 +7381,8 @@ packages: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} engines: {'0': node >= 0.2.0} - jsonpath-plus@10.3.0: - resolution: {integrity: sha512-8TNmfeTCk2Le33A3vRRwtuworG/L5RrgMvdjhKZxvyShO+mBu2fP50OWUjRLNtvw344DdDarFh9buFAZs5ujeA==} + jsonpath-plus@10.4.0: + resolution: {integrity: sha512-T92WWatJXmhBbKsgH/0hl+jxjdXrifi5IKeMY02DWggRxX0UElcbVzPlmgLTbvsPeW1PasQ6xE2Q75stkhGbsA==} engines: {node: '>=18.0.0'} hasBin: true @@ -7869,8 +7716,8 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - lru-cache@11.2.5: - resolution: {integrity: sha512-vFrFJkWtJvJnD5hg+hJvVE8Lh/TcMzKnTgCWmtBipwI5yLX/iX+5UB2tfuyODF5E7k9xEzMdYgGqaSb1c0c5Yw==} + lru-cache@11.2.6: + resolution: {integrity: sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==} engines: {node: 20 || >=22} lru-cache@5.1.1: @@ -8143,6 +7990,9 @@ packages: micromark-extension-mdx-jsx@3.0.1: resolution: {integrity: sha512-vNuFb9czP8QCtAQcEJn0UJQJZA8Dk6DXKBqx+bg/w0WGuSxDxNr7hErW89tHUY31dUW4NqEOWwmEUNhjTFmHkg==} + micromark-extension-mdx-jsx@3.0.2: + resolution: {integrity: sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==} + micromark-extension-mdx-md@2.0.0: resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} @@ -8351,13 +8201,13 @@ packages: minimalistic-crypto-utils@1.0.1: resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} - minimatch@10.0.3: - resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==} + minimatch@10.2.1: + resolution: {integrity: sha512-MClCe8IL5nRRmawL6ib/eT4oLyeKMGCghibcDWK+J0hh0Q8kqSdia6BvbRMVk6mPa6WqUa5uR2oxt6C5jd533A==} engines: {node: 20 || >=22} - minimatch@10.1.2: - resolution: {integrity: sha512-fu656aJ0n2kcXwsnwnv9g24tkU5uSmOlTjd6WyyaKm2Z+h1qmY6bAjrcaIxF/BslFqbZ8UBtbJi7KgQOZD2PTw==} - engines: {node: 20 || >=22} + minimatch@10.2.2: + resolution: {integrity: sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw==} + engines: {node: 18 || 20 || >=22} minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -8389,16 +8239,16 @@ packages: resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} - minipass@7.1.2: - resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + minipass@7.1.3: + resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} engines: {node: '>=16 || 14 >=14.17'} minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} - mintlify@4.2.331: - resolution: {integrity: sha512-57mLAnYuZ9EEpTT84NAgUOFK7SSEM0cuO1J+NxNfywJi/RL+JmDijd9Tv74QHOEUhPwHjKPzOkhYR82vMqIdvw==} + mintlify@4.2.368: + resolution: {integrity: sha512-3LmLU6UeIxrL5AmIfOL3on7IGOWZ63yKVvdtgeaWM8xffO/5Jexs+wzCH7AXTqAk0vcU3w8yyQNlPXAj42Su6A==} engines: {node: '>=18.0.0'} hasBin: true @@ -8482,9 +8332,9 @@ packages: resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} engines: {node: '>= 0.4.0'} - next-mdx-remote-client@1.1.4: - resolution: {integrity: sha512-psCMdO50tfoT1kAH7OGXZvhyRfiHVK6IqwjmWFV5gtLo4dnqjAgcjcLNeJ92iI26UNlKShxYrBs1GQ6UXxk97A==} - engines: {node: '>=18.18.0'} + next-mdx-remote-client@1.1.6: + resolution: {integrity: sha512-O4HIpi44d6SismhfG5W78aTUfgxfbsj6FgoM4/G3o4Vtcobt0Ej439IiDPkv+IqsmtouVYG1tGAsz1DIuj9Tfg==} + engines: {node: '>=20.9.0'} peerDependencies: react: '>= 18.3.0 < 19.0.0' react-dom: '>= 18.3.0 < 19.0.0' @@ -8515,6 +8365,10 @@ packages: resolution: {integrity: sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==} engines: {node: '>=18'} + node-exports-info@1.6.0: + resolution: {integrity: sha512-pyFS63ptit/P5WqUkt+UUfe+4oevH+bFeIiPPdfb0pFeYEu/1ELnJu5l+5EcTKYL5M7zaAa7S8ddywgXypqKCw==} + engines: {node: '>= 0.4'} + node-fetch@2.6.7: resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} engines: {node: 4.x || >=6.0.0} @@ -8547,11 +8401,15 @@ packages: resolution: {integrity: sha512-X75ZN8DCLftGM5iKwoYLA3rjnrAEs97MkzvSd4q2746Tgpg8b8XWiBGiBG4ZpgcAqBgtgPHTiAc8ZMCvZuikDw==} engines: {node: '>=10'} - nodemon@3.1.11: - resolution: {integrity: sha512-is96t8F/1//UHAjNPHpbsNY46ELPpftGUoSVNXwUfMk/qdjSylYrWSu1XavVTBOn526kFiOR733ATgNBCQyH0g==} + nodemon@3.1.13: + resolution: {integrity: sha512-nPN6L7A9cTA3BnJ3zZIibH5FiDh3GbmibeS17bl5YEU1IRO2mcfvR0ZJXH3ndoeKItjUcaX81FSKc/Kq/IiG6g==} engines: {node: '>=10'} hasBin: true + non-error@0.1.0: + resolution: {integrity: sha512-TMB1uHiGsHRGv1uYclfhivcnf0/PdFp2pNqRxXjncaAsjYMoisaQJI+SSZCqRq+VliwRTC8tsMQfmrWjDMhkPQ==} + engines: {node: '>=20'} + nopt@7.2.1: resolution: {integrity: sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -9195,13 +9053,13 @@ packages: pkg-types@2.3.0: resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==} - playwright-core@1.58.1: - resolution: {integrity: sha512-bcWzOaTxcW+VOOGBCQgnaKToLJ65d6AqfLVKEWvexyS3AS6rbXl+xdpYRMGSRBClPvyj44njOWoxjNdL/H9UNg==} + playwright-core@1.58.2: + resolution: {integrity: sha512-yZkEtftgwS8CsfYo7nm0KE8jsvm6i/PTgVtB8DL726wNf6H2IMsDuxCpJj59KDaxCtSnrWan2AeDqM7JBaultg==} engines: {node: '>=18'} hasBin: true - playwright@1.58.1: - resolution: {integrity: sha512-+2uTZHxSCcxjvGc5C891LrS1/NlxglGxzrC4seZiVjcYVQfUa87wBL6rTDqzGjuoWNjnBzRqKmF6zRYGMvQUaQ==} + playwright@1.58.2: + resolution: {integrity: sha512-vA30H8Nvkq/cPBnNw4Q8TWz1EJyqgpuinBcHET0YVJVFldr8JDNiU9LaWAE1KqSkRYazuaBhTpB5ZzShOezQ6A==} engines: {node: '>=18'} hasBin: true @@ -9294,6 +9152,7 @@ packages: prebuild-install@7.1.3: resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==} engines: {node: '>=10'} + deprecated: No longer maintained. Please contact the author of the relevant native addon; alternatives are available. hasBin: true prelude-ls@1.2.1: @@ -9383,8 +9242,8 @@ packages: prosemirror-transform@1.11.0: resolution: {integrity: sha512-4I7Ce4KpygXb9bkiPS3hTEk4dSHorfRw8uI0pE8IhxlK2GXsqv5tIA7JUSxtSu7u8APVOTtbUBxTmnHIxVkIJw==} - prosemirror-view@1.41.5: - resolution: {integrity: sha512-UDQbIPnDrjE8tqUBbPmCOZgtd75htE6W3r0JCmY9bL6W1iemDM37MZEKC49d+tdQ0v/CKx4gjxLoLsfkD2NiZA==} + prosemirror-view@1.41.6: + resolution: {integrity: sha512-mxpcDG4hNQa/CPtzxjdlir5bJFDlm0/x5nGBbStB2BWX+XOQ9M8ekEG+ojqB5BcVu2Rc80/jssCMZzSstJuSYg==} proto-list@1.2.4: resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} @@ -9447,8 +9306,12 @@ packages: resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} engines: {node: '>=0.6'} - qs@6.14.1: - resolution: {integrity: sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==} + qs@6.14.2: + resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==} + engines: {node: '>=0.6'} + + qs@6.15.0: + resolution: {integrity: sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==} engines: {node: '>=0.6'} quansync@0.2.11: @@ -9693,8 +9556,8 @@ packages: remark-math@6.0.0: resolution: {integrity: sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==} - remark-mdx-remove-esm@1.2.2: - resolution: {integrity: sha512-YSaUwqiuJuD6S9XTAD6zmO4JJJZJgsRAdsl2drZO8/ssAVv0HXAg4vkSgHZAP46ORh8ERPFQrC7JWlbkwBwu1A==} + remark-mdx-remove-esm@1.2.3: + resolution: {integrity: sha512-n6r36SaE+7cno7pmshWbGzYolDVLxJm5EKuw67+q4SPQT6kelNJHyZAiFYYtOB0axh+/1xF4BC57Ec3jncAGXQ==} peerDependencies: unified: ^11 @@ -9719,6 +9582,9 @@ packages: remark-rehype@11.1.1: resolution: {integrity: sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==} + remark-rehype@11.1.2: + resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==} + remark-smartypants@3.0.2: resolution: {integrity: sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==} engines: {node: '>=16.0.0'} @@ -9765,8 +9631,9 @@ packages: engines: {node: '>= 0.4'} hasBin: true - resolve@2.0.0-next.5: - resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} + resolve@2.0.0-next.6: + resolution: {integrity: sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA==} + engines: {node: '>= 0.4'} hasBin: true responselike@2.0.1: @@ -9867,8 +9734,8 @@ packages: rollup: optional: true - rollup@4.57.1: - resolution: {integrity: sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==} + rollup@4.58.0: + resolution: {integrity: sha512-wbT0mBmWbIvvq8NeEYWWvevvxnOyhKChir47S66WCxw1SXqhw7ssIYejnQEVt7XYQpsj2y8F9PM+Cr3SNEa0gw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -9990,6 +9857,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.7.4: + resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} + engines: {node: '>=10'} + hasBin: true + send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} @@ -9998,9 +9870,9 @@ packages: resolution: {integrity: sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==} engines: {node: '>= 0.8.0'} - serialize-error@12.0.0: - resolution: {integrity: sha512-ZYkZLAvKTKQXWuh5XpBw7CdbSzagarX39WyZ2H07CDLC5/KfsRGlIXV8d4+tfqX1M7916mRqR1QfNHSij+c9Pw==} - engines: {node: '>=18'} + serialize-error@13.0.1: + resolution: {integrity: sha512-bBZaRwLH9PN5HbLCjPId4dP5bNGEtumcErgOX952IsvOhVPrm3/AeK1y0UHA/QaPG701eg0yEnOKsCOC6X/kaA==} + engines: {node: '>=20'} serve-handler@6.1.6: resolution: {integrity: sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==} @@ -10048,10 +9920,6 @@ packages: resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - sharp@0.34.5: - resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -10170,8 +10038,8 @@ packages: sonic-boom@3.8.1: resolution: {integrity: sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==} - sonic-boom@4.2.0: - resolution: {integrity: sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==} + sonic-boom@4.2.1: + resolution: {integrity: sha512-w6AxtubXa2wTXAUsZMMWERrsIRAdrK0Sc+FUytWvYAhBJLyuI4llrMIC1DtlNSdI99EI86KZum2MMq3EAZlF9Q==} source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} @@ -10374,11 +10242,11 @@ packages: resolution: {integrity: sha512-WHkws2ZflZe41zj6AolvvmaTrWds/VuyeYr9iPVv/oQeaIoVxMKaushfFWpOGDT+GuBrM/sVqF8KUCYQlSSTdQ==} engines: {node: '>=18'} - superdoc@1.11.0: - resolution: {integrity: sha512-DY5uObI50Itfxjjog9h8FQKGWLx0o0au2H0h9hbNtBrNXvg8mAeQvekSgYgwmL7xIW+juo/ZMSGY035eLDMmnw==} + superdoc@1.15.0: + resolution: {integrity: sha512-gLFqPYA74my5kE9cYvZWzkbmBBOKH8WqyQDl91EMIHvKS1LLzM959EBhda+BGkoH0i/CYx8CogJfzSO9I6hFLQ==} peerDependencies: '@hocuspocus/provider': ^2.13.6 - pdfjs-dist: '>=4.3.136 <=4.6.82' + pdfjs-dist: ^5.4.296 y-prosemirror: ^1.3.7 yjs: 13.6.19 @@ -10409,6 +10277,10 @@ packages: symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + tagged-tag@1.0.0: + resolution: {integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==} + engines: {node: '>=20'} + tailwindcss@3.4.4: resolution: {integrity: sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==} engines: {node: '>=14.0.0'} @@ -10432,6 +10304,9 @@ packages: engines: {node: '>=10'} deprecated: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + teex@1.0.1: + resolution: {integrity: sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==} + temp-dir@2.0.0: resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} engines: {node: '>=8'} @@ -10452,8 +10327,8 @@ packages: resolution: {integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==} engines: {node: '>=18'} - text-decoder@1.2.3: - resolution: {integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==} + text-decoder@1.2.7: + resolution: {integrity: sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ==} text-extensions@2.4.0: resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==} @@ -10518,15 +10393,15 @@ packages: tldts-core@6.1.86: resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==} - tldts-core@7.0.22: - resolution: {integrity: sha512-KgbTDC5wzlL6j/x6np6wCnDSMUq4kucHNm00KXPbfNzmllCmtmvtykJHfmgdHntwIeupW04y8s1N/43S1PkQDw==} + tldts-core@7.0.23: + resolution: {integrity: sha512-0g9vrtDQLrNIiCj22HSe9d4mLVG3g5ph5DZ8zCKBr4OtrspmNB6ss7hVyzArAeE88ceZocIEGkyW1Ime7fxPtQ==} tldts@6.1.86: resolution: {integrity: sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==} hasBin: true - tldts@7.0.22: - resolution: {integrity: sha512-nqpKFC53CgopKPjT6Wfb6tpIcZXHcI6G37hesvikhx0EmUGPkZrujRyAjgnmp1SHNgpQfKVanZ+KfpANFt2Hxw==} + tldts@7.0.23: + resolution: {integrity: sha512-ASdhgQIBSay0R/eXggAkQ53G4nTJqTXqC2kbaBbdDwM7SkjyZyO0OaaN1/FH7U/yCeqOHDwFO5j8+Os/IS1dXw==} hasBin: true tmp@0.2.5: @@ -10682,6 +10557,10 @@ packages: resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} engines: {node: '>=16'} + type-fest@5.4.4: + resolution: {integrity: sha512-JnTrzGu+zPV3aXIUhnyWJj4z/wigMsdYajGLIYakqyOW1nPllzXEJee0QQbHj+CTIQtXGlAjuK0UY+2xTyjVAw==} + engines: {node: '>=20'} + type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} @@ -10705,11 +10584,11 @@ packages: typed-rest-client@1.8.11: resolution: {integrity: sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==} - typescript-eslint@8.54.0: - resolution: {integrity: sha512-CKsJ+g53QpsNPqbzUsfKVgd3Lny4yKZ1pP4qN3jdMOg/sisIDLGyDMezycquXLE5JsEU0wp3dGNdzig0/fmSVQ==} + typescript-eslint@8.56.0: + resolution: {integrity: sha512-c7toRLrotJ9oixgdW7liukZpsnq5CZ7PuKztubGYlNppuTqhIoWfhgHo/7EU0v06gS2l/x0i2NEFK1qMIf0rIg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.0.0' typescript@5.8.2: @@ -10747,14 +10626,17 @@ packages: undefsafe@2.0.5: resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==} - underscore@1.13.7: - resolution: {integrity: sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==} + underscore@1.13.8: + resolution: {integrity: sha512-DXtD3ZtEQzc7M8m4cXotyHR+FAS18C64asBYY5vqZexfYryNNnDc02W4hKg3rdQuqOYas1jkseX0+nZXjTXnvQ==} undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - undici@7.20.0: - resolution: {integrity: sha512-MJZrkjyd7DeC+uPZh+5/YaMDxFiiEEaDgbUSVMXayofAkDWF1088CDo+2RPg7B1BuS1qf1vgNE7xqwPxE0DuSQ==} + undici-types@7.18.2: + resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} + + undici@7.22.0: + resolution: {integrity: sha512-RqslV2Us5BrllB+JeiZnK4peryVTndy9Dnqq62S3yYRRTj0tFQCwEniUy2167skdGOy3vqRzEvl1Dm4sV2ReDg==} engines: {node: '>=20.18.1'} unfetch@4.2.0: @@ -11446,7 +11328,7 @@ snapshots: '@adobe/css-tools@4.4.4': {} - '@alcalzone/ansi-tokenize@0.2.4': + '@alcalzone/ansi-tokenize@0.2.5': dependencies: ansi-styles: 6.2.3 is-fullwidth-code-point: 5.1.0 @@ -11462,35 +11344,29 @@ snapshots: dependencies: '@ark/util': 0.55.0 - '@ark/schema@0.56.0': - dependencies: - '@ark/util': 0.56.0 - '@ark/util@0.55.0': {} - '@ark/util@0.56.0': {} - - '@asamuzakjp/css-color@4.1.1': + '@asamuzakjp/css-color@4.1.2': dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - lru-cache: 11.2.5 + '@csstools/css-calc': 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + '@csstools/css-color-parser': 4.0.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) + '@csstools/css-tokenizer': 4.0.0 + lru-cache: 11.2.6 - '@asamuzakjp/dom-selector@6.7.7': + '@asamuzakjp/dom-selector@6.8.1': dependencies: '@asamuzakjp/nwsapi': 2.3.9 bidi-js: 1.0.3 css-tree: 3.1.0 is-potential-custom-element-name: 1.0.1 - lru-cache: 11.2.5 + lru-cache: 11.2.6 '@asamuzakjp/nwsapi@2.3.9': {} '@asyncapi/parser@3.4.0': dependencies: - '@asyncapi/specs': 6.11.1 + '@asyncapi/specs': 6.8.1 '@openapi-contrib/openapi-schema-to-json-schema': 3.2.0 '@stoplight/json': 3.21.0 '@stoplight/json-ref-readers': 1.2.2 @@ -11502,20 +11378,16 @@ snapshots: '@stoplight/types': 13.20.0 '@types/json-schema': 7.0.15 '@types/urijs': 1.19.26 - ajv: 8.17.1 - ajv-errors: 3.0.0(ajv@8.17.1) - ajv-formats: 2.1.1(ajv@8.17.1) + ajv: 8.18.0 + ajv-errors: 3.0.0(ajv@8.18.0) + ajv-formats: 2.1.1(ajv@8.18.0) avsc: 5.7.9 - js-yaml: 4.1.1 - jsonpath-plus: 10.3.0 + js-yaml: 4.1.0 + jsonpath-plus: 10.4.0 node-fetch: 2.6.7 transitivePeerDependencies: - encoding - '@asyncapi/specs@6.11.1': - dependencies: - '@types/json-schema': 7.0.15 - '@asyncapi/specs@6.8.1': dependencies: '@types/json-schema': 7.0.15 @@ -11567,31 +11439,31 @@ snapshots: '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 - '@aws-sdk/client-s3@3.988.0': + '@aws-sdk/client-s3@3.995.0': dependencies: '@aws-crypto/sha1-browser': 5.2.0 '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.973.8 - '@aws-sdk/credential-provider-node': 3.972.7 + '@aws-sdk/core': 3.973.11 + '@aws-sdk/credential-provider-node': 3.972.10 '@aws-sdk/middleware-bucket-endpoint': 3.972.3 '@aws-sdk/middleware-expect-continue': 3.972.3 - '@aws-sdk/middleware-flexible-checksums': 3.972.6 + '@aws-sdk/middleware-flexible-checksums': 3.972.9 '@aws-sdk/middleware-host-header': 3.972.3 '@aws-sdk/middleware-location-constraint': 3.972.3 '@aws-sdk/middleware-logger': 3.972.3 '@aws-sdk/middleware-recursion-detection': 3.972.3 - '@aws-sdk/middleware-sdk-s3': 3.972.8 + '@aws-sdk/middleware-sdk-s3': 3.972.11 '@aws-sdk/middleware-ssec': 3.972.3 - '@aws-sdk/middleware-user-agent': 3.972.8 + '@aws-sdk/middleware-user-agent': 3.972.11 '@aws-sdk/region-config-resolver': 3.972.3 - '@aws-sdk/signature-v4-multi-region': 3.988.0 + '@aws-sdk/signature-v4-multi-region': 3.995.0 '@aws-sdk/types': 3.973.1 - '@aws-sdk/util-endpoints': 3.988.0 + '@aws-sdk/util-endpoints': 3.995.0 '@aws-sdk/util-user-agent-browser': 3.972.3 - '@aws-sdk/util-user-agent-node': 3.972.6 + '@aws-sdk/util-user-agent-node': 3.972.10 '@smithy/config-resolver': 4.4.6 - '@smithy/core': 3.23.0 + '@smithy/core': 3.23.2 '@smithy/eventstream-serde-browser': 4.2.8 '@smithy/eventstream-serde-config-resolver': 4.3.8 '@smithy/eventstream-serde-node': 4.2.8 @@ -11602,21 +11474,21 @@ snapshots: '@smithy/invalid-dependency': 4.2.8 '@smithy/md5-js': 4.2.8 '@smithy/middleware-content-length': 4.2.8 - '@smithy/middleware-endpoint': 4.4.14 - '@smithy/middleware-retry': 4.4.31 + '@smithy/middleware-endpoint': 4.4.16 + '@smithy/middleware-retry': 4.4.33 '@smithy/middleware-serde': 4.2.9 '@smithy/middleware-stack': 4.2.8 '@smithy/node-config-provider': 4.3.8 '@smithy/node-http-handler': 4.4.10 '@smithy/protocol-http': 5.3.8 - '@smithy/smithy-client': 4.11.3 + '@smithy/smithy-client': 4.11.5 '@smithy/types': 4.12.0 '@smithy/url-parser': 4.2.8 '@smithy/util-base64': 4.3.0 '@smithy/util-body-length-browser': 4.2.0 '@smithy/util-body-length-node': 4.2.1 - '@smithy/util-defaults-mode-browser': 4.3.30 - '@smithy/util-defaults-mode-node': 4.2.33 + '@smithy/util-defaults-mode-browser': 4.3.32 + '@smithy/util-defaults-mode-node': 4.2.35 '@smithy/util-endpoints': 3.2.8 '@smithy/util-middleware': 4.2.8 '@smithy/util-retry': 4.2.8 @@ -11627,41 +11499,41 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sso@3.988.0': + '@aws-sdk/client-sso@3.993.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.973.8 + '@aws-sdk/core': 3.973.11 '@aws-sdk/middleware-host-header': 3.972.3 '@aws-sdk/middleware-logger': 3.972.3 '@aws-sdk/middleware-recursion-detection': 3.972.3 - '@aws-sdk/middleware-user-agent': 3.972.8 + '@aws-sdk/middleware-user-agent': 3.972.11 '@aws-sdk/region-config-resolver': 3.972.3 '@aws-sdk/types': 3.973.1 - '@aws-sdk/util-endpoints': 3.988.0 + '@aws-sdk/util-endpoints': 3.993.0 '@aws-sdk/util-user-agent-browser': 3.972.3 - '@aws-sdk/util-user-agent-node': 3.972.6 + '@aws-sdk/util-user-agent-node': 3.972.10 '@smithy/config-resolver': 4.4.6 - '@smithy/core': 3.23.0 + '@smithy/core': 3.23.2 '@smithy/fetch-http-handler': 5.3.9 '@smithy/hash-node': 4.2.8 '@smithy/invalid-dependency': 4.2.8 '@smithy/middleware-content-length': 4.2.8 - '@smithy/middleware-endpoint': 4.4.14 - '@smithy/middleware-retry': 4.4.31 + '@smithy/middleware-endpoint': 4.4.16 + '@smithy/middleware-retry': 4.4.33 '@smithy/middleware-serde': 4.2.9 '@smithy/middleware-stack': 4.2.8 '@smithy/node-config-provider': 4.3.8 '@smithy/node-http-handler': 4.4.10 '@smithy/protocol-http': 5.3.8 - '@smithy/smithy-client': 4.11.3 + '@smithy/smithy-client': 4.11.5 '@smithy/types': 4.12.0 '@smithy/url-parser': 4.2.8 '@smithy/util-base64': 4.3.0 '@smithy/util-body-length-browser': 4.2.0 '@smithy/util-body-length-node': 4.2.1 - '@smithy/util-defaults-mode-browser': 4.3.30 - '@smithy/util-defaults-mode-node': 4.2.33 + '@smithy/util-defaults-mode-browser': 4.3.32 + '@smithy/util-defaults-mode-node': 4.2.35 '@smithy/util-endpoints': 3.2.8 '@smithy/util-middleware': 4.2.8 '@smithy/util-retry': 4.2.8 @@ -11670,16 +11542,16 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/core@3.973.8': + '@aws-sdk/core@3.973.11': dependencies: '@aws-sdk/types': 3.973.1 - '@aws-sdk/xml-builder': 3.972.4 - '@smithy/core': 3.23.0 + '@aws-sdk/xml-builder': 3.972.5 + '@smithy/core': 3.23.2 '@smithy/node-config-provider': 4.3.8 '@smithy/property-provider': 4.2.8 '@smithy/protocol-http': 5.3.8 '@smithy/signature-v4': 5.3.8 - '@smithy/smithy-client': 4.11.3 + '@smithy/smithy-client': 4.11.5 '@smithy/types': 4.12.0 '@smithy/util-base64': 4.3.0 '@smithy/util-middleware': 4.2.8 @@ -11691,37 +11563,37 @@ snapshots: '@smithy/types': 4.12.0 tslib: 2.8.1 - '@aws-sdk/credential-provider-env@3.972.6': + '@aws-sdk/credential-provider-env@3.972.9': dependencies: - '@aws-sdk/core': 3.973.8 + '@aws-sdk/core': 3.973.11 '@aws-sdk/types': 3.973.1 '@smithy/property-provider': 4.2.8 '@smithy/types': 4.12.0 tslib: 2.8.1 - '@aws-sdk/credential-provider-http@3.972.8': + '@aws-sdk/credential-provider-http@3.972.11': dependencies: - '@aws-sdk/core': 3.973.8 + '@aws-sdk/core': 3.973.11 '@aws-sdk/types': 3.973.1 '@smithy/fetch-http-handler': 5.3.9 '@smithy/node-http-handler': 4.4.10 '@smithy/property-provider': 4.2.8 '@smithy/protocol-http': 5.3.8 - '@smithy/smithy-client': 4.11.3 + '@smithy/smithy-client': 4.11.5 '@smithy/types': 4.12.0 '@smithy/util-stream': 4.5.12 tslib: 2.8.1 - '@aws-sdk/credential-provider-ini@3.972.6': + '@aws-sdk/credential-provider-ini@3.972.9': dependencies: - '@aws-sdk/core': 3.973.8 - '@aws-sdk/credential-provider-env': 3.972.6 - '@aws-sdk/credential-provider-http': 3.972.8 - '@aws-sdk/credential-provider-login': 3.972.6 - '@aws-sdk/credential-provider-process': 3.972.6 - '@aws-sdk/credential-provider-sso': 3.972.6 - '@aws-sdk/credential-provider-web-identity': 3.972.6 - '@aws-sdk/nested-clients': 3.988.0 + '@aws-sdk/core': 3.973.11 + '@aws-sdk/credential-provider-env': 3.972.9 + '@aws-sdk/credential-provider-http': 3.972.11 + '@aws-sdk/credential-provider-login': 3.972.9 + '@aws-sdk/credential-provider-process': 3.972.9 + '@aws-sdk/credential-provider-sso': 3.972.9 + '@aws-sdk/credential-provider-web-identity': 3.972.9 + '@aws-sdk/nested-clients': 3.993.0 '@aws-sdk/types': 3.973.1 '@smithy/credential-provider-imds': 4.2.8 '@smithy/property-provider': 4.2.8 @@ -11731,10 +11603,10 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-login@3.972.6': + '@aws-sdk/credential-provider-login@3.972.9': dependencies: - '@aws-sdk/core': 3.973.8 - '@aws-sdk/nested-clients': 3.988.0 + '@aws-sdk/core': 3.973.11 + '@aws-sdk/nested-clients': 3.993.0 '@aws-sdk/types': 3.973.1 '@smithy/property-provider': 4.2.8 '@smithy/protocol-http': 5.3.8 @@ -11744,14 +11616,14 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-node@3.972.7': + '@aws-sdk/credential-provider-node@3.972.10': dependencies: - '@aws-sdk/credential-provider-env': 3.972.6 - '@aws-sdk/credential-provider-http': 3.972.8 - '@aws-sdk/credential-provider-ini': 3.972.6 - '@aws-sdk/credential-provider-process': 3.972.6 - '@aws-sdk/credential-provider-sso': 3.972.6 - '@aws-sdk/credential-provider-web-identity': 3.972.6 + '@aws-sdk/credential-provider-env': 3.972.9 + '@aws-sdk/credential-provider-http': 3.972.11 + '@aws-sdk/credential-provider-ini': 3.972.9 + '@aws-sdk/credential-provider-process': 3.972.9 + '@aws-sdk/credential-provider-sso': 3.972.9 + '@aws-sdk/credential-provider-web-identity': 3.972.9 '@aws-sdk/types': 3.973.1 '@smithy/credential-provider-imds': 4.2.8 '@smithy/property-provider': 4.2.8 @@ -11761,20 +11633,20 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-process@3.972.6': + '@aws-sdk/credential-provider-process@3.972.9': dependencies: - '@aws-sdk/core': 3.973.8 + '@aws-sdk/core': 3.973.11 '@aws-sdk/types': 3.973.1 '@smithy/property-provider': 4.2.8 '@smithy/shared-ini-file-loader': 4.4.3 '@smithy/types': 4.12.0 tslib: 2.8.1 - '@aws-sdk/credential-provider-sso@3.972.6': + '@aws-sdk/credential-provider-sso@3.972.9': dependencies: - '@aws-sdk/client-sso': 3.988.0 - '@aws-sdk/core': 3.973.8 - '@aws-sdk/token-providers': 3.988.0 + '@aws-sdk/client-sso': 3.993.0 + '@aws-sdk/core': 3.973.11 + '@aws-sdk/token-providers': 3.993.0 '@aws-sdk/types': 3.973.1 '@smithy/property-provider': 4.2.8 '@smithy/shared-ini-file-loader': 4.4.3 @@ -11783,10 +11655,10 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-web-identity@3.972.6': + '@aws-sdk/credential-provider-web-identity@3.972.9': dependencies: - '@aws-sdk/core': 3.973.8 - '@aws-sdk/nested-clients': 3.988.0 + '@aws-sdk/core': 3.973.11 + '@aws-sdk/nested-clients': 3.993.0 '@aws-sdk/types': 3.973.1 '@smithy/property-provider': 4.2.8 '@smithy/shared-ini-file-loader': 4.4.3 @@ -11812,12 +11684,12 @@ snapshots: '@smithy/types': 4.12.0 tslib: 2.8.1 - '@aws-sdk/middleware-flexible-checksums@3.972.6': + '@aws-sdk/middleware-flexible-checksums@3.972.9': dependencies: '@aws-crypto/crc32': 5.2.0 '@aws-crypto/crc32c': 5.2.0 '@aws-crypto/util': 5.2.0 - '@aws-sdk/core': 3.973.8 + '@aws-sdk/core': 3.973.11 '@aws-sdk/crc64-nvme': 3.972.0 '@aws-sdk/types': 3.973.1 '@smithy/is-array-buffer': 4.2.0 @@ -11856,16 +11728,16 @@ snapshots: '@smithy/types': 4.12.0 tslib: 2.8.1 - '@aws-sdk/middleware-sdk-s3@3.972.8': + '@aws-sdk/middleware-sdk-s3@3.972.11': dependencies: - '@aws-sdk/core': 3.973.8 + '@aws-sdk/core': 3.973.11 '@aws-sdk/types': 3.973.1 '@aws-sdk/util-arn-parser': 3.972.2 - '@smithy/core': 3.23.0 + '@smithy/core': 3.23.2 '@smithy/node-config-provider': 4.3.8 '@smithy/protocol-http': 5.3.8 '@smithy/signature-v4': 5.3.8 - '@smithy/smithy-client': 4.11.3 + '@smithy/smithy-client': 4.11.5 '@smithy/types': 4.12.0 '@smithy/util-config-provider': 4.2.0 '@smithy/util-middleware': 4.2.8 @@ -11879,51 +11751,51 @@ snapshots: '@smithy/types': 4.12.0 tslib: 2.8.1 - '@aws-sdk/middleware-user-agent@3.972.8': + '@aws-sdk/middleware-user-agent@3.972.11': dependencies: - '@aws-sdk/core': 3.973.8 + '@aws-sdk/core': 3.973.11 '@aws-sdk/types': 3.973.1 - '@aws-sdk/util-endpoints': 3.988.0 - '@smithy/core': 3.23.0 + '@aws-sdk/util-endpoints': 3.993.0 + '@smithy/core': 3.23.2 '@smithy/protocol-http': 5.3.8 '@smithy/types': 4.12.0 tslib: 2.8.1 - '@aws-sdk/nested-clients@3.988.0': + '@aws-sdk/nested-clients@3.993.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.973.8 + '@aws-sdk/core': 3.973.11 '@aws-sdk/middleware-host-header': 3.972.3 '@aws-sdk/middleware-logger': 3.972.3 '@aws-sdk/middleware-recursion-detection': 3.972.3 - '@aws-sdk/middleware-user-agent': 3.972.8 + '@aws-sdk/middleware-user-agent': 3.972.11 '@aws-sdk/region-config-resolver': 3.972.3 '@aws-sdk/types': 3.973.1 - '@aws-sdk/util-endpoints': 3.988.0 + '@aws-sdk/util-endpoints': 3.993.0 '@aws-sdk/util-user-agent-browser': 3.972.3 - '@aws-sdk/util-user-agent-node': 3.972.6 + '@aws-sdk/util-user-agent-node': 3.972.10 '@smithy/config-resolver': 4.4.6 - '@smithy/core': 3.23.0 + '@smithy/core': 3.23.2 '@smithy/fetch-http-handler': 5.3.9 '@smithy/hash-node': 4.2.8 '@smithy/invalid-dependency': 4.2.8 '@smithy/middleware-content-length': 4.2.8 - '@smithy/middleware-endpoint': 4.4.14 - '@smithy/middleware-retry': 4.4.31 + '@smithy/middleware-endpoint': 4.4.16 + '@smithy/middleware-retry': 4.4.33 '@smithy/middleware-serde': 4.2.9 '@smithy/middleware-stack': 4.2.8 '@smithy/node-config-provider': 4.3.8 '@smithy/node-http-handler': 4.4.10 '@smithy/protocol-http': 5.3.8 - '@smithy/smithy-client': 4.11.3 + '@smithy/smithy-client': 4.11.5 '@smithy/types': 4.12.0 '@smithy/url-parser': 4.2.8 '@smithy/util-base64': 4.3.0 '@smithy/util-body-length-browser': 4.2.0 '@smithy/util-body-length-node': 4.2.1 - '@smithy/util-defaults-mode-browser': 4.3.30 - '@smithy/util-defaults-mode-node': 4.2.33 + '@smithy/util-defaults-mode-browser': 4.3.32 + '@smithy/util-defaults-mode-node': 4.2.35 '@smithy/util-endpoints': 3.2.8 '@smithy/util-middleware': 4.2.8 '@smithy/util-retry': 4.2.8 @@ -11940,19 +11812,19 @@ snapshots: '@smithy/types': 4.12.0 tslib: 2.8.1 - '@aws-sdk/signature-v4-multi-region@3.988.0': + '@aws-sdk/signature-v4-multi-region@3.995.0': dependencies: - '@aws-sdk/middleware-sdk-s3': 3.972.8 + '@aws-sdk/middleware-sdk-s3': 3.972.11 '@aws-sdk/types': 3.973.1 '@smithy/protocol-http': 5.3.8 '@smithy/signature-v4': 5.3.8 '@smithy/types': 4.12.0 tslib: 2.8.1 - '@aws-sdk/token-providers@3.988.0': + '@aws-sdk/token-providers@3.993.0': dependencies: - '@aws-sdk/core': 3.973.8 - '@aws-sdk/nested-clients': 3.988.0 + '@aws-sdk/core': 3.973.11 + '@aws-sdk/nested-clients': 3.993.0 '@aws-sdk/types': 3.973.1 '@smithy/property-provider': 4.2.8 '@smithy/shared-ini-file-loader': 4.4.3 @@ -11970,7 +11842,15 @@ snapshots: dependencies: tslib: 2.8.1 - '@aws-sdk/util-endpoints@3.988.0': + '@aws-sdk/util-endpoints@3.993.0': + dependencies: + '@aws-sdk/types': 3.973.1 + '@smithy/types': 4.12.0 + '@smithy/url-parser': 4.2.8 + '@smithy/util-endpoints': 3.2.8 + tslib: 2.8.1 + + '@aws-sdk/util-endpoints@3.995.0': dependencies: '@aws-sdk/types': 3.973.1 '@smithy/types': 4.12.0 @@ -11989,18 +11869,18 @@ snapshots: bowser: 2.14.1 tslib: 2.8.1 - '@aws-sdk/util-user-agent-node@3.972.6': + '@aws-sdk/util-user-agent-node@3.972.10': dependencies: - '@aws-sdk/middleware-user-agent': 3.972.8 + '@aws-sdk/middleware-user-agent': 3.972.11 '@aws-sdk/types': 3.973.1 '@smithy/node-config-provider': 4.3.8 '@smithy/types': 4.12.0 tslib: 2.8.1 - '@aws-sdk/xml-builder@3.972.4': + '@aws-sdk/xml-builder@3.972.5': dependencies: '@smithy/types': 4.12.0 - fast-xml-parser: 5.3.4 + fast-xml-parser: 5.3.6 tslib: 2.8.1 '@aws/lambda-invoke-store@0.2.3': {} @@ -12036,7 +11916,7 @@ snapshots: '@azure/core-tracing': 1.3.1 '@azure/core-util': 1.13.1 '@azure/logger': 1.3.0 - '@typespec/ts-http-runtime': 0.3.2 + '@typespec/ts-http-runtime': 0.3.3 tslib: 2.8.1 transitivePeerDependencies: - supports-color @@ -12048,7 +11928,7 @@ snapshots: '@azure/core-util@1.13.1': dependencies: '@azure/abort-controller': 2.1.2 - '@typespec/ts-http-runtime': 0.3.2 + '@typespec/ts-http-runtime': 0.3.3 tslib: 2.8.1 transitivePeerDependencies: - supports-color @@ -12062,8 +11942,8 @@ snapshots: '@azure/core-tracing': 1.3.1 '@azure/core-util': 1.13.1 '@azure/logger': 1.3.0 - '@azure/msal-browser': 4.28.1 - '@azure/msal-node': 3.8.6 + '@azure/msal-browser': 4.28.2 + '@azure/msal-node': 3.8.7 open: 10.2.0 tslib: 2.8.1 transitivePeerDependencies: @@ -12071,20 +11951,20 @@ snapshots: '@azure/logger@1.3.0': dependencies: - '@typespec/ts-http-runtime': 0.3.2 + '@typespec/ts-http-runtime': 0.3.3 tslib: 2.8.1 transitivePeerDependencies: - supports-color - '@azure/msal-browser@4.28.1': + '@azure/msal-browser@4.28.2': dependencies: - '@azure/msal-common': 15.14.1 + '@azure/msal-common': 15.14.2 - '@azure/msal-common@15.14.1': {} + '@azure/msal-common@15.14.2': {} - '@azure/msal-node@3.8.6': + '@azure/msal-node@3.8.7': dependencies: - '@azure/msal-common': 15.14.1 + '@azure/msal-common': 15.14.2 jsonwebtoken: 9.0.3 uuid: 8.3.2 @@ -12206,14 +12086,14 @@ snapshots: '@canvas/image-data@1.1.0': {} - '@clack/core@1.0.0': + '@clack/core@1.0.1': dependencies: picocolors: 1.1.1 sisteransi: 1.0.5 - '@clack/prompts@1.0.0': + '@clack/prompts@1.0.1': dependencies: - '@clack/core': 1.0.0 + '@clack/core': 1.0.1 picocolors: 1.1.1 sisteransi: 1.0.5 @@ -12241,7 +12121,7 @@ snapshots: '@commitlint/config-validator@19.8.1': dependencies: '@commitlint/types': 19.8.1 - ajv: 8.17.1 + ajv: 8.18.0 '@commitlint/ensure@19.8.1': dependencies: @@ -12262,7 +12142,7 @@ snapshots: '@commitlint/is-ignored@19.8.1': dependencies: '@commitlint/types': 19.8.1 - semver: 7.7.3 + semver: 7.7.4 '@commitlint/lint@19.8.1': dependencies: @@ -12338,27 +12218,27 @@ snapshots: dependencies: vue: 3.5.25(typescript@5.9.3) - '@csstools/color-helpers@5.1.0': {} + '@csstools/color-helpers@6.0.1': {} - '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + '@csstools/css-calc@3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 + '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) + '@csstools/css-tokenizer': 4.0.0 - '@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + '@csstools/css-color-parser@4.0.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': dependencies: - '@csstools/color-helpers': 5.1.0 - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 + '@csstools/color-helpers': 6.0.1 + '@csstools/css-calc': 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) + '@csstools/css-tokenizer': 4.0.0 - '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)': + '@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0)': dependencies: - '@csstools/css-tokenizer': 3.0.4 + '@csstools/css-tokenizer': 4.0.0 - '@csstools/css-syntax-patches-for-csstree@1.0.26': {} + '@csstools/css-syntax-patches-for-csstree@1.0.27': {} - '@csstools/css-tokenizer@3.0.4': {} + '@csstools/css-tokenizer@4.0.0': {} '@cypress/request@3.0.9': dependencies: @@ -12402,7 +12282,7 @@ snapshots: '@es-joy/jsdoccomment@0.56.0': dependencies: '@types/estree': 1.0.8 - '@typescript-eslint/types': 8.54.0 + '@typescript-eslint/types': 8.56.0 comment-parser: 1.4.1 esquery: 1.7.0 jsdoc-type-pratt-parser: 5.1.1 @@ -12410,162 +12290,162 @@ snapshots: '@esbuild/aix-ppc64@0.25.12': optional: true - '@esbuild/aix-ppc64@0.27.2': + '@esbuild/aix-ppc64@0.27.3': optional: true '@esbuild/android-arm64@0.25.12': optional: true - '@esbuild/android-arm64@0.27.2': + '@esbuild/android-arm64@0.27.3': optional: true '@esbuild/android-arm@0.25.12': optional: true - '@esbuild/android-arm@0.27.2': + '@esbuild/android-arm@0.27.3': optional: true '@esbuild/android-x64@0.25.12': optional: true - '@esbuild/android-x64@0.27.2': + '@esbuild/android-x64@0.27.3': optional: true '@esbuild/darwin-arm64@0.25.12': optional: true - '@esbuild/darwin-arm64@0.27.2': + '@esbuild/darwin-arm64@0.27.3': optional: true '@esbuild/darwin-x64@0.25.12': optional: true - '@esbuild/darwin-x64@0.27.2': + '@esbuild/darwin-x64@0.27.3': optional: true '@esbuild/freebsd-arm64@0.25.12': optional: true - '@esbuild/freebsd-arm64@0.27.2': + '@esbuild/freebsd-arm64@0.27.3': optional: true '@esbuild/freebsd-x64@0.25.12': optional: true - '@esbuild/freebsd-x64@0.27.2': + '@esbuild/freebsd-x64@0.27.3': optional: true '@esbuild/linux-arm64@0.25.12': optional: true - '@esbuild/linux-arm64@0.27.2': + '@esbuild/linux-arm64@0.27.3': optional: true '@esbuild/linux-arm@0.25.12': optional: true - '@esbuild/linux-arm@0.27.2': + '@esbuild/linux-arm@0.27.3': optional: true '@esbuild/linux-ia32@0.25.12': optional: true - '@esbuild/linux-ia32@0.27.2': + '@esbuild/linux-ia32@0.27.3': optional: true '@esbuild/linux-loong64@0.25.12': optional: true - '@esbuild/linux-loong64@0.27.2': + '@esbuild/linux-loong64@0.27.3': optional: true '@esbuild/linux-mips64el@0.25.12': optional: true - '@esbuild/linux-mips64el@0.27.2': + '@esbuild/linux-mips64el@0.27.3': optional: true '@esbuild/linux-ppc64@0.25.12': optional: true - '@esbuild/linux-ppc64@0.27.2': + '@esbuild/linux-ppc64@0.27.3': optional: true '@esbuild/linux-riscv64@0.25.12': optional: true - '@esbuild/linux-riscv64@0.27.2': + '@esbuild/linux-riscv64@0.27.3': optional: true '@esbuild/linux-s390x@0.25.12': optional: true - '@esbuild/linux-s390x@0.27.2': + '@esbuild/linux-s390x@0.27.3': optional: true '@esbuild/linux-x64@0.25.12': optional: true - '@esbuild/linux-x64@0.27.2': + '@esbuild/linux-x64@0.27.3': optional: true '@esbuild/netbsd-arm64@0.25.12': optional: true - '@esbuild/netbsd-arm64@0.27.2': + '@esbuild/netbsd-arm64@0.27.3': optional: true '@esbuild/netbsd-x64@0.25.12': optional: true - '@esbuild/netbsd-x64@0.27.2': + '@esbuild/netbsd-x64@0.27.3': optional: true '@esbuild/openbsd-arm64@0.25.12': optional: true - '@esbuild/openbsd-arm64@0.27.2': + '@esbuild/openbsd-arm64@0.27.3': optional: true '@esbuild/openbsd-x64@0.25.12': optional: true - '@esbuild/openbsd-x64@0.27.2': + '@esbuild/openbsd-x64@0.27.3': optional: true '@esbuild/openharmony-arm64@0.25.12': optional: true - '@esbuild/openharmony-arm64@0.27.2': + '@esbuild/openharmony-arm64@0.27.3': optional: true '@esbuild/sunos-x64@0.25.12': optional: true - '@esbuild/sunos-x64@0.27.2': + '@esbuild/sunos-x64@0.27.3': optional: true '@esbuild/win32-arm64@0.25.12': optional: true - '@esbuild/win32-arm64@0.27.2': + '@esbuild/win32-arm64@0.27.3': optional: true '@esbuild/win32-ia32@0.25.12': optional: true - '@esbuild/win32-ia32@0.27.2': + '@esbuild/win32-ia32@0.27.3': optional: true '@esbuild/win32-x64@0.25.12': optional: true - '@esbuild/win32-x64@0.27.2': + '@esbuild/win32-x64@0.27.3': optional: true - '@eslint-community/eslint-utils@4.9.1(eslint@9.39.2(jiti@2.6.1))': + '@eslint-community/eslint-utils@4.9.1(eslint@9.39.3(jiti@2.6.1))': dependencies: - eslint: 9.39.2(jiti@2.6.1) + eslint: 9.39.3(jiti@2.6.1) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.2': {} @@ -12588,7 +12468,7 @@ snapshots: '@eslint/eslintrc@3.3.3': dependencies: - ajv: 6.12.6 + ajv: 6.14.0 debug: 4.4.3(supports-color@5.5.0) espree: 10.4.0 globals: 14.0.0 @@ -12600,7 +12480,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.39.2': {} + '@eslint/js@9.39.3': {} '@eslint/object-schema@2.1.7': {} @@ -12673,307 +12553,205 @@ snapshots: '@humanwhocodes/retry@0.4.3': {} - '@img/colour@1.0.0': {} - '@img/sharp-darwin-arm64@0.33.5': optionalDependencies: '@img/sharp-libvips-darwin-arm64': 1.0.4 optional: true - '@img/sharp-darwin-arm64@0.34.5': - optionalDependencies: - '@img/sharp-libvips-darwin-arm64': 1.2.4 - optional: true - '@img/sharp-darwin-x64@0.33.5': optionalDependencies: '@img/sharp-libvips-darwin-x64': 1.0.4 optional: true - '@img/sharp-darwin-x64@0.34.5': - optionalDependencies: - '@img/sharp-libvips-darwin-x64': 1.2.4 - optional: true - '@img/sharp-libvips-darwin-arm64@1.0.4': optional: true - '@img/sharp-libvips-darwin-arm64@1.2.4': - optional: true - '@img/sharp-libvips-darwin-x64@1.0.4': optional: true - '@img/sharp-libvips-darwin-x64@1.2.4': - optional: true - '@img/sharp-libvips-linux-arm64@1.0.4': optional: true - '@img/sharp-libvips-linux-arm64@1.2.4': - optional: true - '@img/sharp-libvips-linux-arm@1.0.5': optional: true - '@img/sharp-libvips-linux-arm@1.2.4': - optional: true - - '@img/sharp-libvips-linux-ppc64@1.2.4': - optional: true - - '@img/sharp-libvips-linux-riscv64@1.2.4': - optional: true - '@img/sharp-libvips-linux-s390x@1.0.4': optional: true - '@img/sharp-libvips-linux-s390x@1.2.4': - optional: true - '@img/sharp-libvips-linux-x64@1.0.4': optional: true - '@img/sharp-libvips-linux-x64@1.2.4': - optional: true - '@img/sharp-libvips-linuxmusl-arm64@1.0.4': optional: true - '@img/sharp-libvips-linuxmusl-arm64@1.2.4': - optional: true - '@img/sharp-libvips-linuxmusl-x64@1.0.4': optional: true - '@img/sharp-libvips-linuxmusl-x64@1.2.4': - optional: true - '@img/sharp-linux-arm64@0.33.5': optionalDependencies: '@img/sharp-libvips-linux-arm64': 1.0.4 optional: true - '@img/sharp-linux-arm64@0.34.5': - optionalDependencies: - '@img/sharp-libvips-linux-arm64': 1.2.4 - optional: true - '@img/sharp-linux-arm@0.33.5': optionalDependencies: '@img/sharp-libvips-linux-arm': 1.0.5 optional: true - '@img/sharp-linux-arm@0.34.5': - optionalDependencies: - '@img/sharp-libvips-linux-arm': 1.2.4 - optional: true - - '@img/sharp-linux-ppc64@0.34.5': - optionalDependencies: - '@img/sharp-libvips-linux-ppc64': 1.2.4 - optional: true - - '@img/sharp-linux-riscv64@0.34.5': - optionalDependencies: - '@img/sharp-libvips-linux-riscv64': 1.2.4 - optional: true - '@img/sharp-linux-s390x@0.33.5': optionalDependencies: '@img/sharp-libvips-linux-s390x': 1.0.4 optional: true - '@img/sharp-linux-s390x@0.34.5': - optionalDependencies: - '@img/sharp-libvips-linux-s390x': 1.2.4 - optional: true - '@img/sharp-linux-x64@0.33.5': optionalDependencies: '@img/sharp-libvips-linux-x64': 1.0.4 optional: true - '@img/sharp-linux-x64@0.34.5': - optionalDependencies: - '@img/sharp-libvips-linux-x64': 1.2.4 - optional: true - '@img/sharp-linuxmusl-arm64@0.33.5': optionalDependencies: '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 optional: true - '@img/sharp-linuxmusl-arm64@0.34.5': - optionalDependencies: - '@img/sharp-libvips-linuxmusl-arm64': 1.2.4 - optional: true - '@img/sharp-linuxmusl-x64@0.33.5': optionalDependencies: '@img/sharp-libvips-linuxmusl-x64': 1.0.4 optional: true - '@img/sharp-linuxmusl-x64@0.34.5': - optionalDependencies: - '@img/sharp-libvips-linuxmusl-x64': 1.2.4 - optional: true - '@img/sharp-wasm32@0.33.5': dependencies: '@emnapi/runtime': 1.8.1 optional: true - '@img/sharp-wasm32@0.34.5': - dependencies: - '@emnapi/runtime': 1.8.1 - optional: true - - '@img/sharp-win32-arm64@0.34.5': - optional: true - '@img/sharp-win32-ia32@0.33.5': optional: true - '@img/sharp-win32-ia32@0.34.5': - optional: true - '@img/sharp-win32-x64@0.33.5': optional: true - '@img/sharp-win32-x64@0.34.5': - optional: true - '@inquirer/ansi@1.0.2': {} - '@inquirer/checkbox@4.3.2(@types/node@22.19.8)': + '@inquirer/checkbox@4.3.2(@types/node@25.3.0)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@22.19.8) + '@inquirer/core': 10.3.2(@types/node@25.3.0) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@22.19.8) + '@inquirer/type': 3.0.10(@types/node@25.3.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 22.19.8 + '@types/node': 25.3.0 - '@inquirer/confirm@5.1.21(@types/node@22.19.8)': + '@inquirer/confirm@5.1.21(@types/node@25.3.0)': dependencies: - '@inquirer/core': 10.3.2(@types/node@22.19.8) - '@inquirer/type': 3.0.10(@types/node@22.19.8) + '@inquirer/core': 10.3.2(@types/node@25.3.0) + '@inquirer/type': 3.0.10(@types/node@25.3.0) optionalDependencies: - '@types/node': 22.19.8 + '@types/node': 25.3.0 - '@inquirer/core@10.3.2(@types/node@22.19.8)': + '@inquirer/core@10.3.2(@types/node@25.3.0)': dependencies: '@inquirer/ansi': 1.0.2 '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@22.19.8) + '@inquirer/type': 3.0.10(@types/node@25.3.0) cli-width: 4.1.0 mute-stream: 2.0.0 signal-exit: 4.1.0 wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 22.19.8 + '@types/node': 25.3.0 - '@inquirer/editor@4.2.23(@types/node@22.19.8)': + '@inquirer/editor@4.2.23(@types/node@25.3.0)': dependencies: - '@inquirer/core': 10.3.2(@types/node@22.19.8) - '@inquirer/external-editor': 1.0.3(@types/node@22.19.8) - '@inquirer/type': 3.0.10(@types/node@22.19.8) + '@inquirer/core': 10.3.2(@types/node@25.3.0) + '@inquirer/external-editor': 1.0.3(@types/node@25.3.0) + '@inquirer/type': 3.0.10(@types/node@25.3.0) optionalDependencies: - '@types/node': 22.19.8 + '@types/node': 25.3.0 - '@inquirer/expand@4.0.23(@types/node@22.19.8)': + '@inquirer/expand@4.0.23(@types/node@25.3.0)': dependencies: - '@inquirer/core': 10.3.2(@types/node@22.19.8) - '@inquirer/type': 3.0.10(@types/node@22.19.8) + '@inquirer/core': 10.3.2(@types/node@25.3.0) + '@inquirer/type': 3.0.10(@types/node@25.3.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 22.19.8 + '@types/node': 25.3.0 - '@inquirer/external-editor@1.0.3(@types/node@22.19.8)': + '@inquirer/external-editor@1.0.3(@types/node@25.3.0)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 22.19.8 + '@types/node': 25.3.0 '@inquirer/figures@1.0.15': {} - '@inquirer/input@4.3.1(@types/node@22.19.8)': + '@inquirer/input@4.3.1(@types/node@25.3.0)': dependencies: - '@inquirer/core': 10.3.2(@types/node@22.19.8) - '@inquirer/type': 3.0.10(@types/node@22.19.8) + '@inquirer/core': 10.3.2(@types/node@25.3.0) + '@inquirer/type': 3.0.10(@types/node@25.3.0) optionalDependencies: - '@types/node': 22.19.8 + '@types/node': 25.3.0 - '@inquirer/number@3.0.23(@types/node@22.19.8)': + '@inquirer/number@3.0.23(@types/node@25.3.0)': dependencies: - '@inquirer/core': 10.3.2(@types/node@22.19.8) - '@inquirer/type': 3.0.10(@types/node@22.19.8) + '@inquirer/core': 10.3.2(@types/node@25.3.0) + '@inquirer/type': 3.0.10(@types/node@25.3.0) optionalDependencies: - '@types/node': 22.19.8 + '@types/node': 25.3.0 - '@inquirer/password@4.0.23(@types/node@22.19.8)': + '@inquirer/password@4.0.23(@types/node@25.3.0)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@22.19.8) - '@inquirer/type': 3.0.10(@types/node@22.19.8) + '@inquirer/core': 10.3.2(@types/node@25.3.0) + '@inquirer/type': 3.0.10(@types/node@25.3.0) optionalDependencies: - '@types/node': 22.19.8 - - '@inquirer/prompts@7.9.0(@types/node@22.19.8)': - dependencies: - '@inquirer/checkbox': 4.3.2(@types/node@22.19.8) - '@inquirer/confirm': 5.1.21(@types/node@22.19.8) - '@inquirer/editor': 4.2.23(@types/node@22.19.8) - '@inquirer/expand': 4.0.23(@types/node@22.19.8) - '@inquirer/input': 4.3.1(@types/node@22.19.8) - '@inquirer/number': 3.0.23(@types/node@22.19.8) - '@inquirer/password': 4.0.23(@types/node@22.19.8) - '@inquirer/rawlist': 4.1.11(@types/node@22.19.8) - '@inquirer/search': 3.2.2(@types/node@22.19.8) - '@inquirer/select': 4.4.2(@types/node@22.19.8) + '@types/node': 25.3.0 + + '@inquirer/prompts@7.9.0(@types/node@25.3.0)': + dependencies: + '@inquirer/checkbox': 4.3.2(@types/node@25.3.0) + '@inquirer/confirm': 5.1.21(@types/node@25.3.0) + '@inquirer/editor': 4.2.23(@types/node@25.3.0) + '@inquirer/expand': 4.0.23(@types/node@25.3.0) + '@inquirer/input': 4.3.1(@types/node@25.3.0) + '@inquirer/number': 3.0.23(@types/node@25.3.0) + '@inquirer/password': 4.0.23(@types/node@25.3.0) + '@inquirer/rawlist': 4.1.11(@types/node@25.3.0) + '@inquirer/search': 3.2.2(@types/node@25.3.0) + '@inquirer/select': 4.4.2(@types/node@25.3.0) optionalDependencies: - '@types/node': 22.19.8 + '@types/node': 25.3.0 - '@inquirer/rawlist@4.1.11(@types/node@22.19.8)': + '@inquirer/rawlist@4.1.11(@types/node@25.3.0)': dependencies: - '@inquirer/core': 10.3.2(@types/node@22.19.8) - '@inquirer/type': 3.0.10(@types/node@22.19.8) + '@inquirer/core': 10.3.2(@types/node@25.3.0) + '@inquirer/type': 3.0.10(@types/node@25.3.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 22.19.8 + '@types/node': 25.3.0 - '@inquirer/search@3.2.2(@types/node@22.19.8)': + '@inquirer/search@3.2.2(@types/node@25.3.0)': dependencies: - '@inquirer/core': 10.3.2(@types/node@22.19.8) + '@inquirer/core': 10.3.2(@types/node@25.3.0) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@22.19.8) + '@inquirer/type': 3.0.10(@types/node@25.3.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 22.19.8 + '@types/node': 25.3.0 - '@inquirer/select@4.4.2(@types/node@22.19.8)': + '@inquirer/select@4.4.2(@types/node@25.3.0)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@22.19.8) + '@inquirer/core': 10.3.2(@types/node@25.3.0) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@22.19.8) + '@inquirer/type': 3.0.10(@types/node@25.3.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 22.19.8 + '@types/node': 25.3.0 - '@inquirer/type@3.0.10(@types/node@22.19.8)': + '@inquirer/type@3.0.10(@types/node@25.3.0)': optionalDependencies: - '@types/node': 22.19.8 - - '@isaacs/balanced-match@4.0.1': {} - - '@isaacs/brace-expansion@5.0.1': - dependencies: - '@isaacs/balanced-match': 4.0.1 + '@types/node': 25.3.0 '@isaacs/cliui@8.0.2': dependencies: @@ -13226,7 +13004,7 @@ snapshots: '@types/estree-jsx': 1.0.5 '@types/hast': 3.0.4 '@types/mdx': 2.0.13 - acorn: 8.15.0 + acorn: 8.16.0 collapse-white-space: 2.1.0 devlop: 1.1.0 estree-util-is-identifier-name: 3.0.0 @@ -13235,12 +13013,12 @@ snapshots: hast-util-to-jsx-runtime: 2.3.6 markdown-extensions: 2.0.0 recma-build-jsx: 1.0.0 - recma-jsx: 1.0.1(acorn@8.15.0) + recma-jsx: 1.0.1(acorn@8.16.0) recma-stringify: 1.0.0 rehype-recma: 1.0.0 remark-mdx: 3.1.1 remark-parse: 11.0.0 - remark-rehype: 11.1.1 + remark-rehype: 11.1.2 source-map: 0.7.6 unified: 11.0.5 unist-util-position-from-estree: 2.0.0 @@ -13250,40 +13028,40 @@ snapshots: transitivePeerDependencies: - supports-color - '@mdx-js/react@3.1.1(@types/react@19.2.11)(react@19.2.3)': + '@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.3)': dependencies: '@types/mdx': 2.0.13 - '@types/react': 19.2.11 + '@types/react': 19.2.14 react: 19.2.3 - '@microsoft/api-extractor-model@7.32.2(@types/node@22.19.2)': + '@microsoft/api-extractor-model@7.33.1(@types/node@22.19.2)': dependencies: '@microsoft/tsdoc': 0.16.0 '@microsoft/tsdoc-config': 0.18.0 - '@rushstack/node-core-library': 5.19.1(@types/node@22.19.2) + '@rushstack/node-core-library': 5.20.1(@types/node@22.19.2) transitivePeerDependencies: - '@types/node' - '@microsoft/api-extractor-model@7.32.2(@types/node@22.19.8)': + '@microsoft/api-extractor-model@7.33.1(@types/node@25.3.0)': dependencies: '@microsoft/tsdoc': 0.16.0 '@microsoft/tsdoc-config': 0.18.0 - '@rushstack/node-core-library': 5.19.1(@types/node@22.19.8) + '@rushstack/node-core-library': 5.20.1(@types/node@25.3.0) transitivePeerDependencies: - '@types/node' - '@microsoft/api-extractor@7.56.1(@types/node@22.19.2)': + '@microsoft/api-extractor@7.57.2(@types/node@22.19.2)': dependencies: - '@microsoft/api-extractor-model': 7.32.2(@types/node@22.19.2) + '@microsoft/api-extractor-model': 7.33.1(@types/node@22.19.2) '@microsoft/tsdoc': 0.16.0 '@microsoft/tsdoc-config': 0.18.0 - '@rushstack/node-core-library': 5.19.1(@types/node@22.19.2) - '@rushstack/rig-package': 0.6.0 - '@rushstack/terminal': 0.21.0(@types/node@22.19.2) - '@rushstack/ts-command-line': 5.2.0(@types/node@22.19.2) + '@rushstack/node-core-library': 5.20.1(@types/node@22.19.2) + '@rushstack/rig-package': 0.7.1 + '@rushstack/terminal': 0.22.1(@types/node@22.19.2) + '@rushstack/ts-command-line': 5.3.1(@types/node@22.19.2) diff: 8.0.3 lodash: 4.17.23 - minimatch: 10.0.3 + minimatch: 10.2.1 resolve: 1.22.11 semver: 7.5.4 source-map: 0.6.1 @@ -13291,18 +13069,18 @@ snapshots: transitivePeerDependencies: - '@types/node' - '@microsoft/api-extractor@7.56.1(@types/node@22.19.8)': + '@microsoft/api-extractor@7.57.2(@types/node@25.3.0)': dependencies: - '@microsoft/api-extractor-model': 7.32.2(@types/node@22.19.8) + '@microsoft/api-extractor-model': 7.33.1(@types/node@25.3.0) '@microsoft/tsdoc': 0.16.0 '@microsoft/tsdoc-config': 0.18.0 - '@rushstack/node-core-library': 5.19.1(@types/node@22.19.8) - '@rushstack/rig-package': 0.6.0 - '@rushstack/terminal': 0.21.0(@types/node@22.19.8) - '@rushstack/ts-command-line': 5.2.0(@types/node@22.19.8) + '@rushstack/node-core-library': 5.20.1(@types/node@25.3.0) + '@rushstack/rig-package': 0.7.1 + '@rushstack/terminal': 0.22.1(@types/node@25.3.0) + '@rushstack/ts-command-line': 5.3.1(@types/node@25.3.0) diff: 8.0.3 lodash: 4.17.23 - minimatch: 10.0.3 + minimatch: 10.2.1 resolve: 1.22.11 semver: 7.5.4 source-map: 0.6.1 @@ -13319,23 +13097,24 @@ snapshots: '@microsoft/tsdoc@0.16.0': {} - '@mintlify/cli@4.0.935(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/node@22.19.8)(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(typescript@5.9.3)': + '@mintlify/cli@4.0.971(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/node@25.3.0)(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(typescript@5.9.3)': dependencies: - '@inquirer/prompts': 7.9.0(@types/node@22.19.8) - '@mintlify/common': 1.0.713(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@mintlify/link-rot': 3.0.872(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@mintlify/models': 0.0.268 - '@mintlify/prebuild': 1.0.849(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@mintlify/previewing': 4.0.905(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(typescript@5.9.3) - '@mintlify/validation': 0.1.585(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) + '@inquirer/prompts': 7.9.0(@types/node@25.3.0) + '@mintlify/common': 1.0.743(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) + '@mintlify/link-rot': 3.0.906(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) + '@mintlify/models': 0.0.273 + '@mintlify/prebuild': 1.0.880(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) + '@mintlify/previewing': 4.0.937(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(typescript@5.9.3) + '@mintlify/scraping': 4.0.605(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) + '@mintlify/validation': 0.1.602(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) adm-zip: 0.5.16 chalk: 5.2.0 color: 4.2.3 detect-port: 1.5.1 front-matter: 4.0.2 fs-extra: 11.2.0 - ink: 6.3.0(@types/react@19.2.11)(react@19.2.3) - inquirer: 12.3.0(@types/node@22.19.8) + ink: 6.3.0(@types/react@19.2.14)(react@19.2.3) + inquirer: 12.3.0(@types/node@25.3.0) js-yaml: 4.1.0 mdast-util-mdx-jsx: 3.2.0 react: 19.2.3 @@ -13359,13 +13138,13 @@ snapshots: - typescript - utf-8-validate - '@mintlify/common@1.0.661(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': + '@mintlify/common@1.0.661(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': dependencies: '@asyncapi/parser': 3.4.0 - '@mintlify/mdx': 3.0.4(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) + '@mintlify/mdx': 3.0.4(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) '@mintlify/models': 0.0.255 '@mintlify/openapi-parser': 0.0.8 - '@mintlify/validation': 0.1.555(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) + '@mintlify/validation': 0.1.555(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) '@sindresorhus/slugify': 2.2.0 '@types/mdast': 4.0.4 acorn: 8.11.2 @@ -13419,14 +13198,14 @@ snapshots: - ts-node - typescript - '@mintlify/common@1.0.713(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': + '@mintlify/common@1.0.743(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': dependencies: '@asyncapi/parser': 3.4.0 '@asyncapi/specs': 6.8.1 - '@mintlify/mdx': 3.0.4(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@mintlify/models': 0.0.268 + '@mintlify/mdx': 3.0.4(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) + '@mintlify/models': 0.0.273 '@mintlify/openapi-parser': 0.0.8 - '@mintlify/validation': 0.1.585(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) + '@mintlify/validation': 0.1.602(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) '@sindresorhus/slugify': 2.2.0 '@types/mdast': 4.0.4 acorn: 8.11.2 @@ -13480,13 +13259,13 @@ snapshots: - ts-node - typescript - '@mintlify/link-rot@3.0.872(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': + '@mintlify/link-rot@3.0.906(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': dependencies: - '@mintlify/common': 1.0.713(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@mintlify/prebuild': 1.0.849(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@mintlify/previewing': 4.0.905(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(typescript@5.9.3) - '@mintlify/scraping': 4.0.522(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@mintlify/validation': 0.1.585(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) + '@mintlify/common': 1.0.743(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) + '@mintlify/prebuild': 1.0.880(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) + '@mintlify/previewing': 4.0.937(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(typescript@5.9.3) + '@mintlify/scraping': 4.0.522(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) + '@mintlify/validation': 0.1.602(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) fs-extra: 11.1.0 unist-util-visit: 4.1.2 transitivePeerDependencies: @@ -13506,18 +13285,18 @@ snapshots: - typescript - utf-8-validate - '@mintlify/mdx@3.0.4(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': + '@mintlify/mdx@3.0.4(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': dependencies: - '@radix-ui/react-popover': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3) + '@radix-ui/react-popover': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3) '@shikijs/transformers': 3.22.0 '@shikijs/twoslash': 3.22.0(typescript@5.9.3) - arktype: 2.1.29 + arktype: 2.1.27 hast-util-to-string: 3.0.1 mdast-util-from-markdown: 2.0.2 mdast-util-gfm: 3.1.0 mdast-util-mdx-jsx: 3.2.0 mdast-util-to-hast: 13.2.1 - next-mdx-remote-client: 1.1.4(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(unified@11.0.5) + next-mdx-remote-client: 1.1.6(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(unified@11.0.5) react: 19.2.3 react-dom: 19.2.4(react@19.2.3) rehype-katex: 7.0.1 @@ -13539,7 +13318,7 @@ snapshots: transitivePeerDependencies: - debug - '@mintlify/models@0.0.268': + '@mintlify/models@0.0.273': dependencies: axios: 1.13.2 openapi-types: 12.1.3 @@ -13548,19 +13327,19 @@ snapshots: '@mintlify/openapi-parser@0.0.8': dependencies: - ajv: 8.17.1 - ajv-draft-04: 1.0.0(ajv@8.17.1) - ajv-formats: 3.0.1(ajv@8.17.1) + ajv: 8.18.0 + ajv-draft-04: 1.0.0(ajv@8.18.0) + ajv-formats: 3.0.1(ajv@8.18.0) jsonpointer: 5.0.1 leven: 4.1.0 yaml: 2.8.2 - '@mintlify/prebuild@1.0.849(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': + '@mintlify/prebuild@1.0.880(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': dependencies: - '@mintlify/common': 1.0.713(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) + '@mintlify/common': 1.0.743(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) '@mintlify/openapi-parser': 0.0.8 - '@mintlify/scraping': 4.0.574(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@mintlify/validation': 0.1.585(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) + '@mintlify/scraping': 4.0.605(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) + '@mintlify/validation': 0.1.602(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) chalk: 5.3.0 favicons: 7.2.0 front-matter: 4.0.2 @@ -13587,11 +13366,11 @@ snapshots: - typescript - utf-8-validate - '@mintlify/previewing@4.0.905(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(typescript@5.9.3)': + '@mintlify/previewing@4.0.937(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(typescript@5.9.3)': dependencies: - '@mintlify/common': 1.0.713(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@mintlify/prebuild': 1.0.849(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@mintlify/validation': 0.1.585(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) + '@mintlify/common': 1.0.743(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) + '@mintlify/prebuild': 1.0.880(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) + '@mintlify/validation': 0.1.602(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) better-opn: 3.0.2 chalk: 5.2.0 chokidar: 3.5.3 @@ -13599,8 +13378,8 @@ snapshots: front-matter: 4.0.2 fs-extra: 11.1.0 got: 13.0.0 - ink: 6.3.0(@types/react@19.2.11)(react@19.2.3) - ink-spinner: 5.0.0(ink@6.3.0(@types/react@19.2.11)(react@19.2.3))(react@19.2.3) + ink: 6.3.0(@types/react@19.2.14)(react@19.2.3) + ink-spinner: 5.0.0(ink@6.3.0(@types/react@19.2.14)(react@19.2.3))(react@19.2.3) is-online: 10.0.0 js-yaml: 4.1.0 openapi-types: 12.1.3 @@ -13625,9 +13404,9 @@ snapshots: - typescript - utf-8-validate - '@mintlify/scraping@4.0.522(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': + '@mintlify/scraping@4.0.522(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': dependencies: - '@mintlify/common': 1.0.661(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) + '@mintlify/common': 1.0.661(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) '@mintlify/openapi-parser': 0.0.8 fs-extra: 11.1.1 hast-util-to-mdast: 10.1.0 @@ -13660,9 +13439,9 @@ snapshots: - typescript - utf-8-validate - '@mintlify/scraping@4.0.574(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': + '@mintlify/scraping@4.0.605(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': dependencies: - '@mintlify/common': 1.0.713(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) + '@mintlify/common': 1.0.743(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) '@mintlify/openapi-parser': 0.0.8 fs-extra: 11.1.1 hast-util-to-mdast: 10.1.0 @@ -13695,9 +13474,9 @@ snapshots: - typescript - utf-8-validate - '@mintlify/validation@0.1.555(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': + '@mintlify/validation@0.1.555(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': dependencies: - '@mintlify/mdx': 3.0.4(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) + '@mintlify/mdx': 3.0.4(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) '@mintlify/models': 0.0.255 arktype: 2.1.27 js-yaml: 4.1.0 @@ -13717,10 +13496,10 @@ snapshots: - supports-color - typescript - '@mintlify/validation@0.1.585(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': + '@mintlify/validation@0.1.602(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': dependencies: - '@mintlify/mdx': 3.0.4(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@mintlify/models': 0.0.268 + '@mintlify/mdx': 3.0.4(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) + '@mintlify/models': 0.0.273 arktype: 2.1.27 js-yaml: 4.1.0 lcm: 0.0.3 @@ -13739,52 +13518,52 @@ snapshots: - supports-color - typescript - '@napi-rs/canvas-android-arm64@0.1.91': + '@napi-rs/canvas-android-arm64@0.1.94': optional: true - '@napi-rs/canvas-darwin-arm64@0.1.91': + '@napi-rs/canvas-darwin-arm64@0.1.94': optional: true - '@napi-rs/canvas-darwin-x64@0.1.91': + '@napi-rs/canvas-darwin-x64@0.1.94': optional: true - '@napi-rs/canvas-linux-arm-gnueabihf@0.1.91': + '@napi-rs/canvas-linux-arm-gnueabihf@0.1.94': optional: true - '@napi-rs/canvas-linux-arm64-gnu@0.1.91': + '@napi-rs/canvas-linux-arm64-gnu@0.1.94': optional: true - '@napi-rs/canvas-linux-arm64-musl@0.1.91': + '@napi-rs/canvas-linux-arm64-musl@0.1.94': optional: true - '@napi-rs/canvas-linux-riscv64-gnu@0.1.91': + '@napi-rs/canvas-linux-riscv64-gnu@0.1.94': optional: true - '@napi-rs/canvas-linux-x64-gnu@0.1.91': + '@napi-rs/canvas-linux-x64-gnu@0.1.94': optional: true - '@napi-rs/canvas-linux-x64-musl@0.1.91': + '@napi-rs/canvas-linux-x64-musl@0.1.94': optional: true - '@napi-rs/canvas-win32-arm64-msvc@0.1.91': + '@napi-rs/canvas-win32-arm64-msvc@0.1.94': optional: true - '@napi-rs/canvas-win32-x64-msvc@0.1.91': + '@napi-rs/canvas-win32-x64-msvc@0.1.94': optional: true - '@napi-rs/canvas@0.1.91': + '@napi-rs/canvas@0.1.94': optionalDependencies: - '@napi-rs/canvas-android-arm64': 0.1.91 - '@napi-rs/canvas-darwin-arm64': 0.1.91 - '@napi-rs/canvas-darwin-x64': 0.1.91 - '@napi-rs/canvas-linux-arm-gnueabihf': 0.1.91 - '@napi-rs/canvas-linux-arm64-gnu': 0.1.91 - '@napi-rs/canvas-linux-arm64-musl': 0.1.91 - '@napi-rs/canvas-linux-riscv64-gnu': 0.1.91 - '@napi-rs/canvas-linux-x64-gnu': 0.1.91 - '@napi-rs/canvas-linux-x64-musl': 0.1.91 - '@napi-rs/canvas-win32-arm64-msvc': 0.1.91 - '@napi-rs/canvas-win32-x64-msvc': 0.1.91 + '@napi-rs/canvas-android-arm64': 0.1.94 + '@napi-rs/canvas-darwin-arm64': 0.1.94 + '@napi-rs/canvas-darwin-x64': 0.1.94 + '@napi-rs/canvas-linux-arm-gnueabihf': 0.1.94 + '@napi-rs/canvas-linux-arm64-gnu': 0.1.94 + '@napi-rs/canvas-linux-arm64-musl': 0.1.94 + '@napi-rs/canvas-linux-riscv64-gnu': 0.1.94 + '@napi-rs/canvas-linux-x64-gnu': 0.1.94 + '@napi-rs/canvas-linux-x64-musl': 0.1.94 + '@napi-rs/canvas-win32-arm64-msvc': 0.1.94 + '@napi-rs/canvas-win32-x64-msvc': 0.1.94 optional: true '@napi-rs/wasm-runtime@0.2.12': @@ -13819,20 +13598,20 @@ snapshots: dependencies: '@octokit/auth-token': 6.0.0 '@octokit/graphql': 9.0.3 - '@octokit/request': 10.0.7 + '@octokit/request': 10.0.8 '@octokit/request-error': 7.1.0 '@octokit/types': 16.0.0 before-after-hook: 4.0.0 universal-user-agent: 7.0.3 - '@octokit/endpoint@11.0.2': + '@octokit/endpoint@11.0.3': dependencies: '@octokit/types': 16.0.0 universal-user-agent: 7.0.3 '@octokit/graphql@9.0.3': dependencies: - '@octokit/request': 10.0.7 + '@octokit/request': 10.0.8 '@octokit/types': 16.0.0 universal-user-agent: 7.0.3 @@ -13845,7 +13624,7 @@ snapshots: '@octokit/core': 7.0.6 '@octokit/types': 15.0.2 - '@octokit/plugin-retry@8.0.3(@octokit/core@7.0.6)': + '@octokit/plugin-retry@8.1.0(@octokit/core@7.0.6)': dependencies: '@octokit/core': 7.0.6 '@octokit/request-error': 7.1.0 @@ -13862,12 +13641,13 @@ snapshots: dependencies: '@octokit/types': 16.0.0 - '@octokit/request@10.0.7': + '@octokit/request@10.0.8': dependencies: - '@octokit/endpoint': 11.0.2 + '@octokit/endpoint': 11.0.3 '@octokit/request-error': 7.1.0 '@octokit/types': 16.0.0 fast-content-type-parse: 3.0.0 + json-with-bigint: 3.5.3 universal-user-agent: 7.0.3 '@octokit/types@15.0.2': @@ -13893,9 +13673,9 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@playwright/test@1.58.1': + '@playwright/test@1.58.2': dependencies: - playwright: 1.58.1 + playwright: 1.58.2 '@pnpm/config.env-replace@1.1.0': {} @@ -13917,7 +13697,7 @@ snapshots: extract-zip: 2.0.1 progress: 2.0.3 proxy-agent: 6.5.0 - semver: 7.7.3 + semver: 7.7.2 tar-fs: 3.1.1 unbzip2-stream: 1.4.3 yargs: 17.7.2 @@ -13929,188 +13709,188 @@ snapshots: '@radix-ui/primitive@1.1.3': {} - '@radix-ui/react-arrow@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-arrow@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3) react: 19.2.3 react-dom: 19.2.4(react@19.2.3) optionalDependencies: - '@types/react': 19.2.11 - '@types/react-dom': 19.2.3(@types/react@19.2.11) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.11)(react@19.2.3)': + '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.14)(react@19.2.3)': dependencies: react: 19.2.3 optionalDependencies: - '@types/react': 19.2.11 + '@types/react': 19.2.14 - '@radix-ui/react-context@1.1.2(@types/react@19.2.11)(react@19.2.3)': + '@radix-ui/react-context@1.1.2(@types/react@19.2.14)(react@19.2.3)': dependencies: react: 19.2.3 optionalDependencies: - '@types/react': 19.2.11 + '@types/react': 19.2.14 - '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.11)(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.11)(react@19.2.3) - '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.2.11)(react@19.2.3) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 react-dom: 19.2.4(react@19.2.3) optionalDependencies: - '@types/react': 19.2.11 - '@types/react-dom': 19.2.3(@types/react@19.2.11) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-focus-guards@1.1.3(@types/react@19.2.11)(react@19.2.3)': + '@radix-ui/react-focus-guards@1.1.3(@types/react@19.2.14)(react@19.2.3)': dependencies: react: 19.2.3 optionalDependencies: - '@types/react': 19.2.11 + '@types/react': 19.2.14 - '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.11)(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.11)(react@19.2.3) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 react-dom: 19.2.4(react@19.2.3) optionalDependencies: - '@types/react': 19.2.11 - '@types/react-dom': 19.2.3(@types/react@19.2.11) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-id@1.1.1(@types/react@19.2.11)(react@19.2.3)': + '@radix-ui/react-id@1.1.1(@types/react@19.2.14)(react@19.2.3)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.11)(react@19.2.3) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 optionalDependencies: - '@types/react': 19.2.11 + '@types/react': 19.2.14 - '@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.11)(react@19.2.3) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.11)(react@19.2.3) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.11)(react@19.2.3) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.11)(react@19.2.3) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.11)(react@19.2.3) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.11)(react@19.2.3) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.3) aria-hidden: 1.2.6 react: 19.2.3 react-dom: 19.2.4(react@19.2.3) - react-remove-scroll: 2.7.2(@types/react@19.2.11)(react@19.2.3) + react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.2.3) optionalDependencies: - '@types/react': 19.2.11 - '@types/react-dom': 19.2.3(@types/react@19.2.11) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-popper@1.2.8(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-popper@1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)': dependencies: '@floating-ui/react-dom': 2.1.7(react-dom@19.2.4(react@19.2.3))(react@19.2.3) - '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.11)(react@19.2.3) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.11)(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.11)(react@19.2.3) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.11)(react@19.2.3) - '@radix-ui/react-use-rect': 1.1.1(@types/react@19.2.11)(react@19.2.3) - '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.11)(react@19.2.3) + '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-use-rect': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.14)(react@19.2.3) '@radix-ui/rect': 1.1.1 react: 19.2.3 react-dom: 19.2.4(react@19.2.3) optionalDependencies: - '@types/react': 19.2.11 - '@types/react-dom': 19.2.3(@types/react@19.2.11) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-portal@1.1.9(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-portal@1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.11)(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 react-dom: 19.2.4(react@19.2.3) optionalDependencies: - '@types/react': 19.2.11 - '@types/react-dom': 19.2.3(@types/react@19.2.11) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-presence@1.1.5(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-presence@1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.11)(react@19.2.3) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.11)(react@19.2.3) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 react-dom: 19.2.4(react@19.2.3) optionalDependencies: - '@types/react': 19.2.11 - '@types/react-dom': 19.2.3(@types/react@19.2.11) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)': dependencies: - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.11)(react@19.2.3) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 react-dom: 19.2.4(react@19.2.3) optionalDependencies: - '@types/react': 19.2.11 - '@types/react-dom': 19.2.3(@types/react@19.2.11) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-slot@1.2.3(@types/react@19.2.11)(react@19.2.3)': + '@radix-ui/react-slot@1.2.3(@types/react@19.2.14)(react@19.2.3)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.11)(react@19.2.3) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 optionalDependencies: - '@types/react': 19.2.11 + '@types/react': 19.2.14 - '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.2.11)(react@19.2.3)': + '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.2.14)(react@19.2.3)': dependencies: react: 19.2.3 optionalDependencies: - '@types/react': 19.2.11 + '@types/react': 19.2.14 - '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.11)(react@19.2.3)': + '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.14)(react@19.2.3)': dependencies: - '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.11)(react@19.2.3) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.11)(react@19.2.3) + '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 optionalDependencies: - '@types/react': 19.2.11 + '@types/react': 19.2.14 - '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.11)(react@19.2.3)': + '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.14)(react@19.2.3)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.11)(react@19.2.3) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 optionalDependencies: - '@types/react': 19.2.11 + '@types/react': 19.2.14 - '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.2.11)(react@19.2.3)': + '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.2.14)(react@19.2.3)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.11)(react@19.2.3) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 optionalDependencies: - '@types/react': 19.2.11 + '@types/react': 19.2.14 - '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.11)(react@19.2.3)': + '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.14)(react@19.2.3)': dependencies: react: 19.2.3 optionalDependencies: - '@types/react': 19.2.11 + '@types/react': 19.2.14 - '@radix-ui/react-use-rect@1.1.1(@types/react@19.2.11)(react@19.2.3)': + '@radix-ui/react-use-rect@1.1.1(@types/react@19.2.14)(react@19.2.3)': dependencies: '@radix-ui/rect': 1.1.1 react: 19.2.3 optionalDependencies: - '@types/react': 19.2.11 + '@types/react': 19.2.14 - '@radix-ui/react-use-size@1.1.1(@types/react@19.2.11)(react@19.2.3)': + '@radix-ui/react-use-size@1.1.1(@types/react@19.2.14)(react@19.2.3)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.11)(react@19.2.3) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 optionalDependencies: - '@types/react': 19.2.11 + '@types/react': 19.2.14 '@radix-ui/rect@1.1.1': {} @@ -14159,100 +13939,100 @@ snapshots: '@rolldown/pluginutils@1.0.0-beta.53': {} - '@rolldown/pluginutils@1.0.0-rc.2': {} + '@rolldown/pluginutils@1.0.0-rc.3': {} - '@rollup/plugin-inject@5.0.5(rollup@4.57.1)': + '@rollup/plugin-inject@5.0.5(rollup@4.58.0)': dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.57.1) + '@rollup/pluginutils': 5.3.0(rollup@4.58.0) estree-walker: 2.0.2 magic-string: 0.30.21 optionalDependencies: - rollup: 4.57.1 + rollup: 4.58.0 - '@rollup/pluginutils@5.3.0(rollup@4.57.1)': + '@rollup/pluginutils@5.3.0(rollup@4.58.0)': dependencies: '@types/estree': 1.0.8 estree-walker: 2.0.2 picomatch: 4.0.3 optionalDependencies: - rollup: 4.57.1 + rollup: 4.58.0 - '@rollup/rollup-android-arm-eabi@4.57.1': + '@rollup/rollup-android-arm-eabi@4.58.0': optional: true - '@rollup/rollup-android-arm64@4.57.1': + '@rollup/rollup-android-arm64@4.58.0': optional: true - '@rollup/rollup-darwin-arm64@4.57.1': + '@rollup/rollup-darwin-arm64@4.58.0': optional: true - '@rollup/rollup-darwin-x64@4.57.1': + '@rollup/rollup-darwin-x64@4.58.0': optional: true - '@rollup/rollup-freebsd-arm64@4.57.1': + '@rollup/rollup-freebsd-arm64@4.58.0': optional: true - '@rollup/rollup-freebsd-x64@4.57.1': + '@rollup/rollup-freebsd-x64@4.58.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.57.1': + '@rollup/rollup-linux-arm-gnueabihf@4.58.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.57.1': + '@rollup/rollup-linux-arm-musleabihf@4.58.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.57.1': + '@rollup/rollup-linux-arm64-gnu@4.58.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.57.1': + '@rollup/rollup-linux-arm64-musl@4.58.0': optional: true - '@rollup/rollup-linux-loong64-gnu@4.57.1': + '@rollup/rollup-linux-loong64-gnu@4.58.0': optional: true - '@rollup/rollup-linux-loong64-musl@4.57.1': + '@rollup/rollup-linux-loong64-musl@4.58.0': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.57.1': + '@rollup/rollup-linux-ppc64-gnu@4.58.0': optional: true - '@rollup/rollup-linux-ppc64-musl@4.57.1': + '@rollup/rollup-linux-ppc64-musl@4.58.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.57.1': + '@rollup/rollup-linux-riscv64-gnu@4.58.0': optional: true - '@rollup/rollup-linux-riscv64-musl@4.57.1': + '@rollup/rollup-linux-riscv64-musl@4.58.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.57.1': + '@rollup/rollup-linux-s390x-gnu@4.58.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.57.1': + '@rollup/rollup-linux-x64-gnu@4.58.0': optional: true - '@rollup/rollup-linux-x64-musl@4.57.1': + '@rollup/rollup-linux-x64-musl@4.58.0': optional: true - '@rollup/rollup-openbsd-x64@4.57.1': + '@rollup/rollup-openbsd-x64@4.58.0': optional: true - '@rollup/rollup-openharmony-arm64@4.57.1': + '@rollup/rollup-openharmony-arm64@4.58.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.57.1': + '@rollup/rollup-win32-arm64-msvc@4.58.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.57.1': + '@rollup/rollup-win32-ia32-msvc@4.58.0': optional: true - '@rollup/rollup-win32-x64-gnu@4.57.1': + '@rollup/rollup-win32-x64-gnu@4.58.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.57.1': + '@rollup/rollup-win32-x64-msvc@4.58.0': optional: true - '@rushstack/node-core-library@5.19.1(@types/node@22.19.2)': + '@rushstack/node-core-library@5.20.1(@types/node@22.19.2)': dependencies: ajv: 8.13.0 ajv-draft-04: 1.0.0(ajv@8.13.0) @@ -14265,7 +14045,7 @@ snapshots: optionalDependencies: '@types/node': 22.19.2 - '@rushstack/node-core-library@5.19.1(@types/node@22.19.8)': + '@rushstack/node-core-library@5.20.1(@types/node@25.3.0)': dependencies: ajv: 8.13.0 ajv-draft-04: 1.0.0(ajv@8.13.0) @@ -14276,49 +14056,49 @@ snapshots: resolve: 1.22.11 semver: 7.5.4 optionalDependencies: - '@types/node': 22.19.8 + '@types/node': 25.3.0 - '@rushstack/problem-matcher@0.1.1(@types/node@22.19.2)': + '@rushstack/problem-matcher@0.2.1(@types/node@22.19.2)': optionalDependencies: '@types/node': 22.19.2 - '@rushstack/problem-matcher@0.1.1(@types/node@22.19.8)': + '@rushstack/problem-matcher@0.2.1(@types/node@25.3.0)': optionalDependencies: - '@types/node': 22.19.8 + '@types/node': 25.3.0 - '@rushstack/rig-package@0.6.0': + '@rushstack/rig-package@0.7.1': dependencies: resolve: 1.22.11 strip-json-comments: 3.1.1 - '@rushstack/terminal@0.21.0(@types/node@22.19.2)': + '@rushstack/terminal@0.22.1(@types/node@22.19.2)': dependencies: - '@rushstack/node-core-library': 5.19.1(@types/node@22.19.2) - '@rushstack/problem-matcher': 0.1.1(@types/node@22.19.2) + '@rushstack/node-core-library': 5.20.1(@types/node@22.19.2) + '@rushstack/problem-matcher': 0.2.1(@types/node@22.19.2) supports-color: 8.1.1 optionalDependencies: '@types/node': 22.19.2 - '@rushstack/terminal@0.21.0(@types/node@22.19.8)': + '@rushstack/terminal@0.22.1(@types/node@25.3.0)': dependencies: - '@rushstack/node-core-library': 5.19.1(@types/node@22.19.8) - '@rushstack/problem-matcher': 0.1.1(@types/node@22.19.8) + '@rushstack/node-core-library': 5.20.1(@types/node@25.3.0) + '@rushstack/problem-matcher': 0.2.1(@types/node@25.3.0) supports-color: 8.1.1 optionalDependencies: - '@types/node': 22.19.8 + '@types/node': 25.3.0 - '@rushstack/ts-command-line@5.2.0(@types/node@22.19.2)': + '@rushstack/ts-command-line@5.3.1(@types/node@22.19.2)': dependencies: - '@rushstack/terminal': 0.21.0(@types/node@22.19.2) + '@rushstack/terminal': 0.22.1(@types/node@22.19.2) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 transitivePeerDependencies: - '@types/node' - '@rushstack/ts-command-line@5.2.0(@types/node@22.19.8)': + '@rushstack/ts-command-line@5.3.1(@types/node@25.3.0)': dependencies: - '@rushstack/terminal': 0.21.0(@types/node@22.19.8) + '@rushstack/terminal': 0.22.1(@types/node@25.3.0) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -14383,7 +14163,7 @@ snapshots: dependencies: '@octokit/core': 7.0.6 '@octokit/plugin-paginate-rest': 13.2.1(@octokit/core@7.0.6) - '@octokit/plugin-retry': 8.0.3(@octokit/core@7.0.6) + '@octokit/plugin-retry': 8.1.0(@octokit/core@7.0.6) '@octokit/plugin-throttling': 11.0.3(@octokit/core@7.0.6) '@semantic-release/error': 4.0.0 aggregate-error: 5.0.0 @@ -14415,7 +14195,7 @@ snapshots: read-pkg: 9.0.1 registry-auth-token: 5.1.1 semantic-release: 24.2.9(typescript@5.9.3) - semver: 7.7.3 + semver: 7.7.4 tempy: 3.2.0 '@semantic-release/release-notes-generator@14.1.0(semantic-release@24.2.9(typescript@5.9.3))': @@ -14519,7 +14299,7 @@ snapshots: '@smithy/util-middleware': 4.2.8 tslib: 2.8.1 - '@smithy/core@3.23.0': + '@smithy/core@3.23.2': dependencies: '@smithy/middleware-serde': 4.2.9 '@smithy/protocol-http': 5.3.8 @@ -14623,9 +14403,9 @@ snapshots: '@smithy/types': 4.12.0 tslib: 2.8.1 - '@smithy/middleware-endpoint@4.4.14': + '@smithy/middleware-endpoint@4.4.16': dependencies: - '@smithy/core': 3.23.0 + '@smithy/core': 3.23.2 '@smithy/middleware-serde': 4.2.9 '@smithy/node-config-provider': 4.3.8 '@smithy/shared-ini-file-loader': 4.4.3 @@ -14634,12 +14414,12 @@ snapshots: '@smithy/util-middleware': 4.2.8 tslib: 2.8.1 - '@smithy/middleware-retry@4.4.31': + '@smithy/middleware-retry@4.4.33': dependencies: '@smithy/node-config-provider': 4.3.8 '@smithy/protocol-http': 5.3.8 '@smithy/service-error-classification': 4.2.8 - '@smithy/smithy-client': 4.11.3 + '@smithy/smithy-client': 4.11.5 '@smithy/types': 4.12.0 '@smithy/util-middleware': 4.2.8 '@smithy/util-retry': 4.2.8 @@ -14713,10 +14493,10 @@ snapshots: '@smithy/util-utf8': 4.2.0 tslib: 2.8.1 - '@smithy/smithy-client@4.11.3': + '@smithy/smithy-client@4.11.5': dependencies: - '@smithy/core': 3.23.0 - '@smithy/middleware-endpoint': 4.4.14 + '@smithy/core': 3.23.2 + '@smithy/middleware-endpoint': 4.4.16 '@smithy/middleware-stack': 4.2.8 '@smithy/protocol-http': 5.3.8 '@smithy/types': 4.12.0 @@ -14761,20 +14541,20 @@ snapshots: dependencies: tslib: 2.8.1 - '@smithy/util-defaults-mode-browser@4.3.30': + '@smithy/util-defaults-mode-browser@4.3.32': dependencies: '@smithy/property-provider': 4.2.8 - '@smithy/smithy-client': 4.11.3 + '@smithy/smithy-client': 4.11.5 '@smithy/types': 4.12.0 tslib: 2.8.1 - '@smithy/util-defaults-mode-node@4.2.33': + '@smithy/util-defaults-mode-node@4.2.35': dependencies: '@smithy/config-resolver': 4.4.6 '@smithy/credential-provider-imds': 4.2.8 '@smithy/node-config-provider': 4.3.8 '@smithy/property-provider': 4.2.8 - '@smithy/smithy-client': 4.11.3 + '@smithy/smithy-client': 4.11.5 '@smithy/types': 4.12.0 tslib: 2.8.1 @@ -14836,9 +14616,9 @@ snapshots: '@socket.io/component-emitter@3.1.2': {} - '@stoplight/better-ajv-errors@1.0.3(ajv@8.17.1)': + '@stoplight/better-ajv-errors@1.0.3(ajv@8.18.0)': dependencies: - ajv: 8.17.1 + ajv: 8.18.0 jsonpointer: 5.0.1 leven: 3.1.0 @@ -14858,7 +14638,7 @@ snapshots: dependency-graph: 0.11.0 fast-memoize: 2.5.2 immer: 9.0.21 - lodash: 4.17.23 + lodash: 4.17.21 tslib: 2.8.1 urijs: 1.19.11 @@ -14868,7 +14648,7 @@ snapshots: '@stoplight/path': 1.3.2 '@stoplight/types': 13.20.0 jsonc-parser: 2.2.1 - lodash: 4.17.23 + lodash: 4.17.21 safe-stable-stringify: 1.1.1 '@stoplight/ordered-object-literal@1.0.5': {} @@ -14877,7 +14657,7 @@ snapshots: '@stoplight/spectral-core@1.21.0': dependencies: - '@stoplight/better-ajv-errors': 1.0.3(ajv@8.17.1) + '@stoplight/better-ajv-errors': 1.0.3(ajv@8.18.0) '@stoplight/json': 3.21.0 '@stoplight/path': 1.3.2 '@stoplight/spectral-parsers': 1.0.5 @@ -14886,11 +14666,11 @@ snapshots: '@stoplight/types': 13.6.0 '@types/es-aggregate-error': 1.0.6 '@types/json-schema': 7.0.15 - ajv: 8.17.1 - ajv-errors: 3.0.0(ajv@8.17.1) - ajv-formats: 2.1.1(ajv@8.17.1) + ajv: 8.18.0 + ajv-errors: 3.0.0(ajv@8.18.0) + ajv-formats: 2.1.1(ajv@8.18.0) es-aggregate-error: 1.0.14 - jsonpath-plus: 10.3.0 + jsonpath-plus: 10.4.0 lodash: 4.17.23 lodash.topath: 4.5.2 minimatch: 3.1.2 @@ -14912,16 +14692,16 @@ snapshots: '@stoplight/spectral-functions@1.10.1': dependencies: - '@stoplight/better-ajv-errors': 1.0.3(ajv@8.17.1) + '@stoplight/better-ajv-errors': 1.0.3(ajv@8.18.0) '@stoplight/json': 3.21.0 '@stoplight/spectral-core': 1.21.0 '@stoplight/spectral-formats': 1.8.2 '@stoplight/spectral-runtime': 1.1.4 - ajv: 8.17.1 - ajv-draft-04: 1.0.0(ajv@8.17.1) - ajv-errors: 3.0.0(ajv@8.17.1) - ajv-formats: 2.1.1(ajv@8.17.1) - lodash: 4.17.23 + ajv: 8.18.0 + ajv-draft-04: 1.0.0(ajv@8.18.0) + ajv-errors: 3.0.0(ajv@8.18.0) + ajv-formats: 2.1.1(ajv@8.18.0) + lodash: 4.17.21 tslib: 2.8.1 transitivePeerDependencies: - encoding @@ -14949,7 +14729,7 @@ snapshots: '@stoplight/path': 1.3.2 '@stoplight/types': 13.20.0 abort-controller: 3.0.0 - lodash: 4.17.23 + lodash: 4.17.21 node-fetch: 2.7.0 tslib: 2.8.1 transitivePeerDependencies: @@ -15007,15 +14787,15 @@ snapshots: picocolors: 1.1.1 redent: 3.0.0 - '@testing-library/react@16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@testing-library/react@16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@babel/runtime': 7.28.6 '@testing-library/dom': 10.4.1 react: 19.2.4 react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.2.11 - '@types/react-dom': 19.2.3(@types/react@19.2.11) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.1)': dependencies: @@ -15059,9 +14839,9 @@ snapshots: dependencies: '@babel/types': 7.29.0 - '@types/bun@1.3.8': + '@types/bun@1.3.9': dependencies: - bun-types: 1.3.8 + bun-types: 1.3.9 '@types/chai@5.2.3': dependencies: @@ -15070,13 +14850,13 @@ snapshots: '@types/conventional-commits-parser@5.0.2': dependencies: - '@types/node': 22.19.8 + '@types/node': 22.19.2 '@types/cookie@0.4.1': {} '@types/cors@2.8.19': dependencies: - '@types/node': 22.19.8 + '@types/node': 25.3.0 '@types/debug@4.1.12': dependencies: @@ -15086,7 +14866,7 @@ snapshots: '@types/es-aggregate-error@1.0.6': dependencies: - '@types/node': 22.19.8 + '@types/node': 25.3.0 '@types/estree-jsx@1.0.5': dependencies: @@ -15098,12 +14878,12 @@ snapshots: '@types/fs-extra@8.1.5': dependencies: - '@types/node': 22.19.8 + '@types/node': 25.3.0 '@types/glob@7.2.0': dependencies: '@types/minimatch': 6.0.0 - '@types/node': 22.19.8 + '@types/node': 25.3.0 '@types/hast@2.3.10': dependencies: @@ -15137,7 +14917,7 @@ snapshots: '@types/minimatch@6.0.0': dependencies: - minimatch: 10.1.2 + minimatch: 10.2.2 '@types/ms@2.1.0': {} @@ -15151,25 +14931,25 @@ snapshots: dependencies: undici-types: 6.21.0 - '@types/node@22.19.8': + '@types/node@25.3.0': dependencies: - undici-types: 6.21.0 + undici-types: 7.18.2 '@types/normalize-package-data@2.4.4': {} '@types/parse5@6.0.3': {} - '@types/react-dom@19.2.3(@types/react@19.2.11)': + '@types/react-dom@19.2.3(@types/react@19.2.14)': dependencies: - '@types/react': 19.2.11 + '@types/react': 19.2.14 - '@types/react@19.2.11': + '@types/react@19.2.14': dependencies: csstype: 3.2.3 '@types/responselike@1.0.0': dependencies: - '@types/node': 22.19.8 + '@types/node': 22.19.2 '@types/supports-color@8.1.3': {} @@ -15179,28 +14959,28 @@ snapshots: '@types/urijs@1.19.26': {} - '@types/vscode@1.108.1': {} + '@types/vscode@1.109.0': {} '@types/whatwg-mimetype@3.0.2': {} '@types/ws@8.18.1': dependencies: - '@types/node': 22.19.8 + '@types/node': 22.19.2 '@types/yauzl@2.10.3': dependencies: - '@types/node': 22.19.8 + '@types/node': 25.3.0 optional: true - '@typescript-eslint/eslint-plugin@8.54.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@8.56.0(@typescript-eslint/parser@8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/scope-manager': 8.54.0 - '@typescript-eslint/type-utils': 8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/utils': 8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.54.0 - eslint: 9.39.2(jiti@2.6.1) + '@typescript-eslint/parser': 8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.56.0 + '@typescript-eslint/type-utils': 8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.56.0 + eslint: 9.39.3(jiti@2.6.1) ignore: 7.0.5 natural-compare: 1.4.0 ts-api-utils: 2.4.0(typescript@5.9.3) @@ -15208,89 +14988,89 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/parser@8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@typescript-eslint/scope-manager': 8.54.0 - '@typescript-eslint/types': 8.54.0 - '@typescript-eslint/typescript-estree': 8.54.0(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.54.0 + '@typescript-eslint/scope-manager': 8.56.0 + '@typescript-eslint/types': 8.56.0 + '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.56.0 debug: 4.4.3(supports-color@5.5.0) - eslint: 9.39.2(jiti@2.6.1) + eslint: 9.39.3(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.54.0(typescript@5.9.3)': + '@typescript-eslint/project-service@8.56.0(typescript@5.9.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.54.0(typescript@5.9.3) - '@typescript-eslint/types': 8.54.0 + '@typescript-eslint/tsconfig-utils': 8.56.0(typescript@5.9.3) + '@typescript-eslint/types': 8.56.0 debug: 4.4.3(supports-color@5.5.0) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.54.0': + '@typescript-eslint/scope-manager@8.56.0': dependencies: - '@typescript-eslint/types': 8.54.0 - '@typescript-eslint/visitor-keys': 8.54.0 + '@typescript-eslint/types': 8.56.0 + '@typescript-eslint/visitor-keys': 8.56.0 - '@typescript-eslint/tsconfig-utils@8.54.0(typescript@5.9.3)': + '@typescript-eslint/tsconfig-utils@8.56.0(typescript@5.9.3)': dependencies: typescript: 5.9.3 - '@typescript-eslint/type-utils@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/type-utils@8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@typescript-eslint/types': 8.54.0 - '@typescript-eslint/typescript-estree': 8.54.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/types': 8.56.0 + '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) debug: 4.4.3(supports-color@5.5.0) - eslint: 9.39.2(jiti@2.6.1) + eslint: 9.39.3(jiti@2.6.1) ts-api-utils: 2.4.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.54.0': {} + '@typescript-eslint/types@8.56.0': {} - '@typescript-eslint/typescript-estree@8.54.0(typescript@5.9.3)': + '@typescript-eslint/typescript-estree@8.56.0(typescript@5.9.3)': dependencies: - '@typescript-eslint/project-service': 8.54.0(typescript@5.9.3) - '@typescript-eslint/tsconfig-utils': 8.54.0(typescript@5.9.3) - '@typescript-eslint/types': 8.54.0 - '@typescript-eslint/visitor-keys': 8.54.0 + '@typescript-eslint/project-service': 8.56.0(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.56.0(typescript@5.9.3) + '@typescript-eslint/types': 8.56.0 + '@typescript-eslint/visitor-keys': 8.56.0 debug: 4.4.3(supports-color@5.5.0) minimatch: 9.0.5 - semver: 7.7.3 + semver: 7.7.4 tinyglobby: 0.2.15 ts-api-utils: 2.4.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/utils@8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)) - '@typescript-eslint/scope-manager': 8.54.0 - '@typescript-eslint/types': 8.54.0 - '@typescript-eslint/typescript-estree': 8.54.0(typescript@5.9.3) - eslint: 9.39.2(jiti@2.6.1) + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.3(jiti@2.6.1)) + '@typescript-eslint/scope-manager': 8.56.0 + '@typescript-eslint/types': 8.56.0 + '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) + eslint: 9.39.3(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.54.0': + '@typescript-eslint/visitor-keys@8.56.0': dependencies: - '@typescript-eslint/types': 8.54.0 - eslint-visitor-keys: 4.2.1 + '@typescript-eslint/types': 8.56.0 + eslint-visitor-keys: 5.0.1 - '@typescript/vfs@1.6.2(typescript@5.9.3)': + '@typescript/vfs@1.6.4(typescript@5.9.3)': dependencies: debug: 4.4.3(supports-color@5.5.0) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typespec/ts-http-runtime@0.3.2': + '@typespec/ts-http-runtime@0.3.3': dependencies: http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 @@ -15516,40 +15296,40 @@ snapshots: lodash: 4.17.21 minimatch: 7.4.6 - '@vitejs/plugin-react@5.1.3(rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))': + '@vitejs/plugin-react@5.1.4(rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@babel/core': 7.29.0 '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.29.0) '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.29.0) - '@rolldown/pluginutils': 1.0.0-rc.2 + '@rolldown/pluginutils': 1.0.0-rc.3 '@types/babel__core': 7.20.5 react-refresh: 0.18.0 - vite: rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + vite: rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - supports-color - '@vitejs/plugin-react@5.1.3(rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))': + '@vitejs/plugin-react@5.1.4(rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@babel/core': 7.29.0 '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.29.0) '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.29.0) - '@rolldown/pluginutils': 1.0.0-rc.2 + '@rolldown/pluginutils': 1.0.0-rc.3 '@types/babel__core': 7.20.5 react-refresh: 0.18.0 - vite: rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + vite: rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@6.0.2(rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.25(typescript@5.9.3))': + '@vitejs/plugin-vue@6.0.2(rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.25(typescript@5.9.3))': dependencies: '@rolldown/pluginutils': 1.0.0-beta.50 - vite: rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + vite: rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) vue: 3.5.25(typescript@5.9.3) - '@vitejs/plugin-vue@6.0.2(rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.25(typescript@5.9.3))': + '@vitejs/plugin-vue@6.0.2(rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.25(typescript@5.9.3))': dependencies: '@rolldown/pluginutils': 1.0.0-beta.50 - vite: rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + vite: rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) vue: 3.5.25(typescript@5.9.3) '@vitejs/plugin-vue@6.0.2(vite@7.3.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.25(typescript@5.9.3))': @@ -15558,7 +15338,7 @@ snapshots: vite: 7.3.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2) vue: 3.5.25(typescript@5.9.3) - '@vitest/coverage-v8@3.2.4(vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.19.2)(esbuild@0.27.2)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2))': + '@vitest/coverage-v8@3.2.4(vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.19.2)(esbuild@0.27.3)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 1.0.2 @@ -15573,7 +15353,7 @@ snapshots: std-env: 3.10.0 test-exclude: 7.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.2)(esbuild@0.27.2)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.2)(esbuild@0.27.3)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - supports-color @@ -15585,21 +15365,21 @@ snapshots: chai: 5.3.3 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.4(rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))': + '@vitest/mocker@3.2.4(rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + vite: rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) - '@vitest/mocker@3.2.4(rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))': + '@vitest/mocker@3.2.4(rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + vite: rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) '@vitest/pretty-format@3.2.4': dependencies: @@ -15697,7 +15477,7 @@ snapshots: minimatch: 3.1.2 parse-semver: 1.1.1 read: 1.0.7 - semver: 7.7.3 + semver: 7.7.4 tmp: 0.2.5 typed-rest-client: 1.8.11 url-join: 4.0.1 @@ -15812,13 +15592,13 @@ snapshots: dependencies: acorn: 8.11.2 - acorn-jsx@5.3.2(acorn@8.15.0): + acorn-jsx@5.3.2(acorn@8.16.0): dependencies: - acorn: 8.15.0 + acorn: 8.16.0 acorn@8.11.2: {} - acorn@8.15.0: {} + acorn@8.16.0: {} address@1.2.2: {} @@ -15851,27 +15631,27 @@ snapshots: optionalDependencies: ajv: 8.13.0 - ajv-draft-04@1.0.0(ajv@8.17.1): + ajv-draft-04@1.0.0(ajv@8.18.0): optionalDependencies: - ajv: 8.17.1 + ajv: 8.18.0 - ajv-errors@3.0.0(ajv@8.17.1): + ajv-errors@3.0.0(ajv@8.18.0): dependencies: - ajv: 8.17.1 + ajv: 8.18.0 - ajv-formats@2.1.1(ajv@8.17.1): + ajv-formats@2.1.1(ajv@8.18.0): optionalDependencies: - ajv: 8.17.1 + ajv: 8.18.0 ajv-formats@3.0.1(ajv@8.13.0): optionalDependencies: ajv: 8.13.0 - ajv-formats@3.0.1(ajv@8.17.1): + ajv-formats@3.0.1(ajv@8.18.0): optionalDependencies: - ajv: 8.17.1 + ajv: 8.18.0 - ajv@6.12.6: + ajv@6.14.0: dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 @@ -15899,6 +15679,13 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 + ajv@8.18.0: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.1.0 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + alien-signals@0.4.14: {} ansi-align@3.0.1: @@ -15968,22 +15755,12 @@ snapshots: dependencies: '@ark/util': 0.55.0 - arkregex@0.0.5: - dependencies: - '@ark/util': 0.56.0 - arktype@2.1.27: dependencies: '@ark/schema': 0.55.0 '@ark/util': 0.55.0 arkregex: 0.0.3 - arktype@2.1.29: - dependencies: - '@ark/schema': 0.56.0 - '@ark/util': 0.56.0 - arkregex: 0.0.5 - array-buffer-byte-length@1.0.2: dependencies: call-bound: 1.0.4 @@ -16051,7 +15828,7 @@ snapshots: asn1.js@4.10.1: dependencies: - bn.js: 4.12.2 + bn.js: 4.12.3 inherits: 2.0.4 minimalistic-assert: 1.0.1 @@ -16130,19 +15907,21 @@ snapshots: tunnel: 0.0.6 typed-rest-client: 1.8.11 - b4a@1.7.3: {} + b4a@1.8.0: {} bail@2.0.2: {} balanced-match@1.0.2: {} + balanced-match@4.0.3: {} + bare-events@2.8.2: {} - bare-fs@4.5.3: + bare-fs@4.5.4: dependencies: bare-events: 2.8.2 bare-path: 3.0.0 - bare-stream: 2.7.0(bare-events@2.8.2) + bare-stream: 2.8.0(bare-events@2.8.2) bare-url: 2.3.2 fast-fifo: 1.3.2 transitivePeerDependencies: @@ -16158,9 +15937,10 @@ snapshots: bare-os: 3.6.2 optional: true - bare-stream@2.7.0(bare-events@2.8.2): + bare-stream@2.8.0(bare-events@2.8.2): dependencies: streamx: 2.23.0 + teex: 1.0.1 optionalDependencies: bare-events: 2.8.2 transitivePeerDependencies: @@ -16177,7 +15957,7 @@ snapshots: base64id@2.0.0: {} - baseline-browser-mapping@2.9.19: {} + baseline-browser-mapping@2.10.0: {} basic-ftp@5.1.0: {} @@ -16207,9 +15987,9 @@ snapshots: bmp-ts@1.0.9: {} - bn.js@4.12.2: {} + bn.js@4.12.3: {} - bn.js@5.2.2: {} + bn.js@5.2.3: {} body-parser@1.20.1: dependencies: @@ -16238,7 +16018,7 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.14.1 + qs: 6.14.2 raw-body: 2.5.3 type-is: 1.6.18 unpipe: 1.0.0 @@ -16255,7 +16035,7 @@ snapshots: dependencies: ansi-align: 3.0.1 camelcase: 7.0.1 - chalk: 5.6.2 + chalk: 5.0.1 cli-boxes: 3.0.0 string-width: 5.1.2 type-fest: 2.19.0 @@ -16271,6 +16051,10 @@ snapshots: dependencies: balanced-match: 1.0.2 + brace-expansion@5.0.2: + dependencies: + balanced-match: 4.0.3 + braces@3.0.3: dependencies: fill-range: 7.1.1 @@ -16305,13 +16089,13 @@ snapshots: browserify-rsa@4.1.1: dependencies: - bn.js: 5.2.2 + bn.js: 5.2.3 randombytes: 2.1.0 safe-buffer: 5.2.1 browserify-sign@4.2.5: dependencies: - bn.js: 5.2.2 + bn.js: 5.2.3 browserify-rsa: 4.1.1 create-hash: 1.2.0 create-hmac: 1.1.7 @@ -16331,9 +16115,9 @@ snapshots: browserslist@4.28.1: dependencies: - baseline-browser-mapping: 2.9.19 - caniuse-lite: 1.0.30001767 - electron-to-chromium: 1.5.286 + baseline-browser-mapping: 2.10.0 + caniuse-lite: 1.0.30001770 + electron-to-chromium: 1.5.302 node-releases: 2.0.27 update-browserslist-db: 1.2.3(browserslist@4.28.1) @@ -16359,17 +16143,17 @@ snapshots: builtin-status-codes@3.0.0: {} - bun-types@1.3.8: + bun-types@1.3.9: dependencies: - '@types/node': 22.19.8 + '@types/node': 22.19.2 bundle-name@4.1.0: dependencies: run-applescript: 7.1.0 - bundle-require@5.1.0(esbuild@0.27.2): + bundle-require@5.1.0(esbuild@0.27.3): dependencies: - esbuild: 0.27.2 + esbuild: 0.27.3 load-tsconfig: 0.2.5 bytes@3.0.0: {} @@ -16425,7 +16209,7 @@ snapshots: camelcase@7.0.1: {} - caniuse-lite@1.0.30001767: {} + caniuse-lite@1.0.30001770: {} canvas@3.2.0: dependencies: @@ -16501,7 +16285,7 @@ snapshots: parse5: 7.3.0 parse5-htmlparser2-tree-adapter: 7.1.0 parse5-parser-stream: 7.1.2 - undici: 7.20.0 + undici: 7.22.0 whatwg-mimetype: 4.0.0 chokidar@3.5.3: @@ -16709,7 +16493,7 @@ snapshots: confbox@0.1.8: {} - confbox@0.2.2: {} + confbox@0.2.4: {} config-chain@1.1.13: dependencies: @@ -16747,7 +16531,7 @@ snapshots: conventional-commits-filter: 5.0.0 handlebars: 4.7.8 meow: 13.2.0 - semver: 7.7.3 + semver: 7.7.4 conventional-commits-filter@5.0.0: {} @@ -16810,7 +16594,7 @@ snapshots: create-ecdh@4.0.4: dependencies: - bn.js: 4.12.2 + bn.js: 4.12.3 elliptic: 6.6.1 create-hash@1.2.0: @@ -16885,10 +16669,10 @@ snapshots: cssstyle@5.3.7: dependencies: - '@asamuzakjp/css-color': 4.1.1 - '@csstools/css-syntax-patches-for-csstree': 1.0.26 + '@asamuzakjp/css-color': 4.1.2 + '@csstools/css-syntax-patches-for-csstree': 1.0.27 css-tree: 3.1.0 - lru-cache: 11.2.5 + lru-cache: 11.2.6 csstype@3.0.11: {} @@ -17064,7 +16848,7 @@ snapshots: diffie-hellman@5.0.3: dependencies: - bn.js: 4.12.2 + bn.js: 4.12.3 miller-rabin: 4.0.1 randombytes: 2.1.0 @@ -17198,15 +16982,15 @@ snapshots: '@one-ini/wasm': 0.1.1 commander: 10.0.1 minimatch: 9.0.1 - semver: 7.7.3 + semver: 7.7.4 ee-first@1.1.1: {} - electron-to-chromium@1.5.286: {} + electron-to-chromium@1.5.302: {} elliptic@6.6.1: dependencies: - bn.js: 4.12.2 + bn.js: 4.12.3 brorand: 1.1.0 hash.js: 1.1.7 hmac-drbg: 1.0.1 @@ -17241,7 +17025,7 @@ snapshots: dependencies: '@types/cookie': 0.4.1 '@types/cors': 2.8.19 - '@types/node': 22.19.8 + '@types/node': 25.3.0 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.4.2 @@ -17403,7 +17187,7 @@ snapshots: esast-util-from-js@2.0.1: dependencies: '@types/estree-jsx': 1.0.5 - acorn: 8.15.0 + acorn: 8.16.0 esast-util-from-estree: 2.0.0 vfile-message: 4.0.3 @@ -17436,34 +17220,34 @@ snapshots: '@esbuild/win32-ia32': 0.25.12 '@esbuild/win32-x64': 0.25.12 - esbuild@0.27.2: + esbuild@0.27.3: optionalDependencies: - '@esbuild/aix-ppc64': 0.27.2 - '@esbuild/android-arm': 0.27.2 - '@esbuild/android-arm64': 0.27.2 - '@esbuild/android-x64': 0.27.2 - '@esbuild/darwin-arm64': 0.27.2 - '@esbuild/darwin-x64': 0.27.2 - '@esbuild/freebsd-arm64': 0.27.2 - '@esbuild/freebsd-x64': 0.27.2 - '@esbuild/linux-arm': 0.27.2 - '@esbuild/linux-arm64': 0.27.2 - '@esbuild/linux-ia32': 0.27.2 - '@esbuild/linux-loong64': 0.27.2 - '@esbuild/linux-mips64el': 0.27.2 - '@esbuild/linux-ppc64': 0.27.2 - '@esbuild/linux-riscv64': 0.27.2 - '@esbuild/linux-s390x': 0.27.2 - '@esbuild/linux-x64': 0.27.2 - '@esbuild/netbsd-arm64': 0.27.2 - '@esbuild/netbsd-x64': 0.27.2 - '@esbuild/openbsd-arm64': 0.27.2 - '@esbuild/openbsd-x64': 0.27.2 - '@esbuild/openharmony-arm64': 0.27.2 - '@esbuild/sunos-x64': 0.27.2 - '@esbuild/win32-arm64': 0.27.2 - '@esbuild/win32-ia32': 0.27.2 - '@esbuild/win32-x64': 0.27.2 + '@esbuild/aix-ppc64': 0.27.3 + '@esbuild/android-arm': 0.27.3 + '@esbuild/android-arm64': 0.27.3 + '@esbuild/android-x64': 0.27.3 + '@esbuild/darwin-arm64': 0.27.3 + '@esbuild/darwin-x64': 0.27.3 + '@esbuild/freebsd-arm64': 0.27.3 + '@esbuild/freebsd-x64': 0.27.3 + '@esbuild/linux-arm': 0.27.3 + '@esbuild/linux-arm64': 0.27.3 + '@esbuild/linux-ia32': 0.27.3 + '@esbuild/linux-loong64': 0.27.3 + '@esbuild/linux-mips64el': 0.27.3 + '@esbuild/linux-ppc64': 0.27.3 + '@esbuild/linux-riscv64': 0.27.3 + '@esbuild/linux-s390x': 0.27.3 + '@esbuild/linux-x64': 0.27.3 + '@esbuild/netbsd-arm64': 0.27.3 + '@esbuild/netbsd-x64': 0.27.3 + '@esbuild/openbsd-arm64': 0.27.3 + '@esbuild/openbsd-x64': 0.27.3 + '@esbuild/openharmony-arm64': 0.27.3 + '@esbuild/sunos-x64': 0.27.3 + '@esbuild/win32-arm64': 0.27.3 + '@esbuild/win32-ia32': 0.27.3 + '@esbuild/win32-x64': 0.27.3 escalade@3.2.0: {} @@ -17485,77 +17269,77 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-config-prettier@9.1.2(eslint@9.39.2(jiti@2.6.1)): + eslint-config-prettier@9.1.2(eslint@9.39.3(jiti@2.6.1)): dependencies: - eslint: 9.39.2(jiti@2.6.1) + eslint: 9.39.3(jiti@2.6.1) eslint-import-context@0.1.9(unrs-resolver@1.11.1): dependencies: - get-tsconfig: 4.13.1 + get-tsconfig: 4.13.6 stable-hash-x: 0.2.0 optionalDependencies: unrs-resolver: 1.11.1 - eslint-import-resolver-typescript@4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)): + eslint-import-resolver-typescript@4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1)))(eslint@9.39.3(jiti@2.6.1)): dependencies: debug: 4.4.3(supports-color@5.5.0) - eslint: 9.39.2(jiti@2.6.1) + eslint: 9.39.3(jiti@2.6.1) eslint-import-context: 0.1.9(unrs-resolver@1.11.1) - get-tsconfig: 4.13.1 + get-tsconfig: 4.13.6 is-bun-module: 2.0.0 stable-hash-x: 0.2.0 tinyglobby: 0.2.15 unrs-resolver: 1.11.1 optionalDependencies: - eslint-plugin-import-x: 4.16.1(@typescript-eslint/utils@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1)) + eslint-plugin-import-x: 4.16.1(@typescript-eslint/utils@8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1)) transitivePeerDependencies: - supports-color - eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1)): + eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1)): dependencies: - '@typescript-eslint/types': 8.54.0 + '@typescript-eslint/types': 8.56.0 comment-parser: 1.4.5 debug: 4.4.3(supports-color@5.5.0) - eslint: 9.39.2(jiti@2.6.1) + eslint: 9.39.3(jiti@2.6.1) eslint-import-context: 0.1.9(unrs-resolver@1.11.1) is-glob: 4.0.3 - minimatch: 10.1.2 - semver: 7.7.3 + minimatch: 10.2.2 + semver: 7.7.4 stable-hash-x: 0.2.0 unrs-resolver: 1.11.1 optionalDependencies: - '@typescript-eslint/utils': 8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) transitivePeerDependencies: - supports-color - eslint-plugin-jsdoc@54.7.0(eslint@9.39.2(jiti@2.6.1)): + eslint-plugin-jsdoc@54.7.0(eslint@9.39.3(jiti@2.6.1)): dependencies: '@es-joy/jsdoccomment': 0.56.0 are-docs-informative: 0.0.2 comment-parser: 1.4.1 debug: 4.4.3(supports-color@5.5.0) escape-string-regexp: 4.0.0 - eslint: 9.39.2(jiti@2.6.1) + eslint: 9.39.3(jiti@2.6.1) espree: 10.4.0 esquery: 1.7.0 parse-imports-exports: 0.2.4 - semver: 7.7.3 + semver: 7.7.4 spdx-expression-parse: 4.0.0 transitivePeerDependencies: - supports-color - eslint-plugin-react-hooks@7.0.1(eslint@9.39.2(jiti@2.6.1)): + eslint-plugin-react-hooks@7.0.1(eslint@9.39.3(jiti@2.6.1)): dependencies: '@babel/core': 7.29.0 '@babel/parser': 7.29.0 - eslint: 9.39.2(jiti@2.6.1) + eslint: 9.39.3(jiti@2.6.1) hermes-parser: 0.25.1 zod: 4.3.6 zod-validation-error: 4.0.2(zod@4.3.6) transitivePeerDependencies: - supports-color - eslint-plugin-react@7.37.5(eslint@9.39.2(jiti@2.6.1)): + eslint-plugin-react@7.37.5(eslint@9.39.3(jiti@2.6.1)): dependencies: array-includes: 3.1.9 array.prototype.findlast: 1.2.5 @@ -17563,7 +17347,7 @@ snapshots: array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.2.2 - eslint: 9.39.2(jiti@2.6.1) + eslint: 9.39.3(jiti@2.6.1) estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -17572,7 +17356,7 @@ snapshots: object.fromentries: 2.0.8 object.values: 1.2.1 prop-types: 15.8.1 - resolve: 2.0.0-next.5 + resolve: 2.0.0-next.6 semver: 6.3.1 string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 @@ -17586,21 +17370,23 @@ snapshots: eslint-visitor-keys@4.2.1: {} - eslint@9.39.2(jiti@2.6.1): + eslint-visitor-keys@5.0.1: {} + + eslint@9.39.3(jiti@2.6.1): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.3(jiti@2.6.1)) '@eslint-community/regexpp': 4.12.2 '@eslint/config-array': 0.21.1 '@eslint/config-helpers': 0.4.2 '@eslint/core': 0.17.0 '@eslint/eslintrc': 3.3.3 - '@eslint/js': 9.39.2 + '@eslint/js': 9.39.3 '@eslint/plugin-kit': 0.4.1 '@humanfs/node': 0.16.7 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 '@types/estree': 1.0.8 - ajv: 6.12.6 + ajv: 6.14.0 chalk: 4.1.2 cross-spawn: 7.0.6 debug: 4.4.3(supports-color@5.5.0) @@ -17629,8 +17415,8 @@ snapshots: espree@10.4.0: dependencies: - acorn: 8.15.0 - acorn-jsx: 5.3.2(acorn@8.15.0) + acorn: 8.16.0 + acorn-jsx: 5.3.2(acorn@8.16.0) eslint-visitor-keys: 4.2.1 esprima@4.0.1: {} @@ -17809,7 +17595,7 @@ snapshots: parseurl: 1.3.3 path-to-regexp: 0.1.12 proxy-addr: 2.0.7 - qs: 6.14.1 + qs: 6.14.2 range-parser: 1.2.1 safe-buffer: 5.2.1 send: 0.19.2 @@ -17860,7 +17646,7 @@ snapshots: fast-uri@3.1.0: {} - fast-xml-parser@5.3.4: + fast-xml-parser@5.3.6: dependencies: strnum: 2.1.2 @@ -17972,7 +17758,7 @@ snapshots: dependencies: magic-string: 0.30.21 mlly: 1.8.0 - rollup: 4.57.1 + rollup: 4.58.0 flat-cache@4.0.1: dependencies: @@ -18098,7 +17884,7 @@ snapshots: get-caller-file@2.0.5: {} - get-east-asian-width@1.4.0: {} + get-east-asian-width@1.5.0: {} get-intrinsic@1.3.0: dependencies: @@ -18141,7 +17927,7 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.3.0 - get-tsconfig@4.13.1: + get-tsconfig@4.13.6: dependencies: resolve-pkg-maps: 1.0.0 @@ -18205,7 +17991,7 @@ snapshots: foreground-child: 3.3.1 jackspeak: 3.4.3 minimatch: 9.0.5 - minipass: 7.1.2 + minipass: 7.1.3 package-json-from-dist: 1.0.1 path-scurry: 1.11.1 @@ -18330,7 +18116,7 @@ snapshots: happy-dom@20.4.0: dependencies: - '@types/node': 22.19.8 + '@types/node': 22.19.2 '@types/whatwg-mimetype': 3.0.2 '@types/ws': 8.18.1 entities: 4.5.0 @@ -18822,15 +18608,15 @@ snapshots: ini@4.1.1: {} - ink-spinner@5.0.0(ink@6.3.0(@types/react@19.2.11)(react@19.2.3))(react@19.2.3): + ink-spinner@5.0.0(ink@6.3.0(@types/react@19.2.14)(react@19.2.3))(react@19.2.3): dependencies: cli-spinners: 2.9.2 - ink: 6.3.0(@types/react@19.2.11)(react@19.2.3) + ink: 6.3.0(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 - ink@6.3.0(@types/react@19.2.11)(react@19.2.3): + ink@6.3.0(@types/react@19.2.14)(react@19.2.3): dependencies: - '@alcalzone/ansi-tokenize': 0.2.4 + '@alcalzone/ansi-tokenize': 0.2.5 ansi-escapes: 7.3.0 ansi-styles: 6.2.3 auto-bind: 5.0.1 @@ -18855,19 +18641,19 @@ snapshots: ws: 8.19.0 yoga-layout: 3.2.1 optionalDependencies: - '@types/react': 19.2.11 + '@types/react': 19.2.14 transitivePeerDependencies: - bufferutil - utf-8-validate inline-style-parser@0.2.7: {} - inquirer@12.3.0(@types/node@22.19.8): + inquirer@12.3.0(@types/node@25.3.0): dependencies: - '@inquirer/core': 10.3.2(@types/node@22.19.8) - '@inquirer/prompts': 7.9.0(@types/node@22.19.8) - '@inquirer/type': 3.0.10(@types/node@22.19.8) - '@types/node': 22.19.8 + '@inquirer/core': 10.3.2(@types/node@25.3.0) + '@inquirer/prompts': 7.9.0(@types/node@25.3.0) + '@inquirer/type': 3.0.10(@types/node@25.3.0) + '@types/node': 25.3.0 ansi-escapes: 4.3.2 mute-stream: 2.0.0 run-async: 3.0.0 @@ -18942,7 +18728,7 @@ snapshots: is-bun-module@2.0.0: dependencies: - semver: 7.7.3 + semver: 7.7.4 is-callable@1.2.7: {} @@ -18981,7 +18767,7 @@ snapshots: is-fullwidth-code-point@5.1.0: dependencies: - get-east-asian-width: 1.4.0 + get-east-asian-width: 1.5.0 is-generator-function@1.1.2: dependencies: @@ -19119,7 +18905,7 @@ snapshots: dependencies: is-docker: 2.2.1 - is-wsl@3.1.0: + is-wsl@3.1.1: dependencies: is-inside-container: 1.0.0 @@ -19264,7 +19050,7 @@ snapshots: jsdom@27.3.0(canvas@3.2.0): dependencies: '@acemir/cssom': 0.9.31 - '@asamuzakjp/dom-selector': 6.7.7 + '@asamuzakjp/dom-selector': 6.8.1 cssstyle: 5.3.7 data-urls: 6.0.1 decimal.js: 10.6.0 @@ -19318,6 +19104,8 @@ snapshots: json-stringify-safe@5.0.1: {} + json-with-bigint@3.5.3: {} + json5@2.2.3: {} jsonc-parser@2.2.1: {} @@ -19338,7 +19126,7 @@ snapshots: jsonparse@1.3.1: {} - jsonpath-plus@10.3.0: + jsonpath-plus@10.4.0: dependencies: '@jsep-plugin/assignment': 1.3.0(jsep@1.4.0) '@jsep-plugin/regex': 1.0.4(jsep@1.4.0) @@ -19633,7 +19421,7 @@ snapshots: dependencies: graceful-fs: 4.2.11 is-promise: 2.2.2 - lodash: 4.17.23 + lodash: 4.17.21 pify: 3.0.0 steno: 0.4.4 @@ -19643,7 +19431,7 @@ snapshots: lru-cache@10.4.3: {} - lru-cache@11.2.5: {} + lru-cache@11.2.6: {} lru-cache@5.1.1: dependencies: @@ -19675,7 +19463,7 @@ snapshots: make-dir@4.0.0: dependencies: - semver: 7.7.3 + semver: 7.7.4 map-cache@0.2.2: {} @@ -19710,7 +19498,7 @@ snapshots: md5.js@1.3.5: dependencies: - hash-base: 3.1.2 + hash-base: 3.0.5 inherits: 2.0.4 safe-buffer: 5.2.1 @@ -20266,6 +20054,19 @@ snapshots: micromark-util-types: 2.0.2 vfile-message: 4.0.3 + micromark-extension-mdx-jsx@3.0.2: + dependencies: + '@types/estree': 1.0.8 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + micromark-factory-mdx-expression: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + vfile-message: 4.0.3 + micromark-extension-mdx-md@2.0.0: dependencies: micromark-util-types: 2.0.2 @@ -20284,10 +20085,10 @@ snapshots: micromark-extension-mdxjs@3.0.0: dependencies: - acorn: 8.15.0 - acorn-jsx: 5.3.2(acorn@8.15.0) + acorn: 8.16.0 + acorn-jsx: 5.3.2(acorn@8.16.0) micromark-extension-mdx-expression: 3.0.1 - micromark-extension-mdx-jsx: 3.0.1 + micromark-extension-mdx-jsx: 3.0.2 micromark-extension-mdx-md: 2.0.0 micromark-extension-mdxjs-esm: 3.0.0 micromark-util-combine-extensions: 2.0.1 @@ -20550,7 +20351,7 @@ snapshots: miller-rabin@4.0.1: dependencies: - bn.js: 4.12.2 + bn.js: 4.12.3 brorand: 1.1.0 mime-db@1.33.0: {} @@ -20589,13 +20390,13 @@ snapshots: minimalistic-crypto-utils@1.0.1: {} - minimatch@10.0.3: + minimatch@10.2.1: dependencies: - '@isaacs/brace-expansion': 5.0.1 + brace-expansion: 5.0.2 - minimatch@10.1.2: + minimatch@10.2.2: dependencies: - '@isaacs/brace-expansion': 5.0.1 + brace-expansion: 5.0.2 minimatch@3.1.2: dependencies: @@ -20625,16 +20426,16 @@ snapshots: minipass@5.0.0: {} - minipass@7.1.2: {} + minipass@7.1.3: {} minizlib@2.1.2: dependencies: minipass: 3.3.6 yallist: 4.0.0 - mintlify@4.2.331(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/node@22.19.8)(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(typescript@5.9.3): + mintlify@4.2.368(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/node@25.3.0)(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(typescript@5.9.3): dependencies: - '@mintlify/cli': 4.0.935(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.11))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/node@22.19.8)(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(typescript@5.9.3) + '@mintlify/cli': 4.0.971(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/node@25.3.0)(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(typescript@5.9.3) transitivePeerDependencies: - '@radix-ui/react-popover' - '@types/node' @@ -20660,7 +20461,7 @@ snapshots: mlly@1.8.0: dependencies: - acorn: 8.15.0 + acorn: 8.16.0 pathe: 2.0.3 pkg-types: 1.3.1 ufo: 1.6.3 @@ -20726,15 +20527,15 @@ snapshots: netmask@2.0.2: {} - next-mdx-remote-client@1.1.4(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(unified@11.0.5): + next-mdx-remote-client@1.1.6(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(unified@11.0.5): dependencies: '@babel/code-frame': 7.29.0 '@mdx-js/mdx': 3.1.1 - '@mdx-js/react': 3.1.1(@types/react@19.2.11)(react@19.2.3) + '@mdx-js/react': 3.1.1(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 react-dom: 19.2.4(react@19.2.3) - remark-mdx-remove-esm: 1.2.2(unified@11.0.5) - serialize-error: 12.0.0 + remark-mdx-remove-esm: 1.2.3(unified@11.0.5) + serialize-error: 13.0.1 vfile: 6.0.3 vfile-matter: 5.0.1 transitivePeerDependencies: @@ -20749,7 +20550,7 @@ snapshots: astring: 1.9.0 jsep: 1.4.0 optionalDependencies: - jsonpath-plus: 10.3.0 + jsonpath-plus: 10.4.0 lodash.topath: 4.5.2 nlcst-to-string@4.0.0: @@ -20758,7 +20559,7 @@ snapshots: node-abi@3.87.0: dependencies: - semver: 7.7.3 + semver: 7.7.4 node-addon-api@4.3.0: optional: true @@ -20774,6 +20575,13 @@ snapshots: emojilib: 2.4.0 skin-tone: 2.0.0 + node-exports-info@1.6.0: + dependencies: + array.prototype.flatmap: 1.3.3 + es-errors: 1.3.0 + object.entries: 1.1.9 + semver: 6.3.1 + node-fetch@2.6.7: dependencies: whatwg-url: 5.0.0 @@ -20823,19 +20631,21 @@ snapshots: util: 0.12.5 vm-browserify: 1.1.2 - nodemon@3.1.11: + nodemon@3.1.13: dependencies: chokidar: 3.6.0 debug: 4.4.3(supports-color@5.5.0) ignore-by-default: 1.0.1 - minimatch: 3.1.2 + minimatch: 10.2.2 pstree.remy: 1.1.8 - semver: 7.7.3 + semver: 7.7.4 simple-update-notifier: 2.0.0 supports-color: 5.5.0 touch: 3.1.1 undefsafe: 2.0.5 + non-error@0.1.0: {} + nopt@7.2.1: dependencies: abbrev: 2.0.0 @@ -20851,13 +20661,13 @@ snapshots: dependencies: hosted-git-info: 4.1.0 is-core-module: 2.16.1 - semver: 7.7.3 + semver: 7.7.4 validate-npm-package-license: 3.0.4 normalize-package-data@6.0.2: dependencies: hosted-git-info: 7.0.2 - semver: 7.7.3 + semver: 7.7.4 validate-npm-package-license: 3.0.4 normalize-path@3.0.0: {} @@ -21214,7 +21024,7 @@ snapshots: klaw-sync: 6.0.0 minimist: 1.2.8 open: 7.4.2 - semver: 7.7.3 + semver: 7.7.4 slash: 2.0.0 tmp: 0.2.5 yaml: 2.8.2 @@ -21246,7 +21056,7 @@ snapshots: path-scurry@1.11.1: dependencies: lru-cache: 10.4.3 - minipass: 7.1.2 + minipass: 7.1.3 path-to-regexp@0.1.12: {} @@ -21271,7 +21081,7 @@ snapshots: pdfjs-dist@5.4.624: optionalDependencies: - '@napi-rs/canvas': 0.1.91 + '@napi-rs/canvas': 0.1.94 node-readable-to-web-readable-stream: 0.4.2 peek-readable@4.1.0: {} @@ -21330,7 +21140,7 @@ snapshots: quick-format-unescaped: 4.0.4 real-require: 0.2.0 safe-stable-stringify: 2.5.0 - sonic-boom: 4.2.0 + sonic-boom: 4.2.1 thread-stream: 3.1.0 pirates@4.0.7: {} @@ -21360,15 +21170,15 @@ snapshots: pkg-types@2.3.0: dependencies: - confbox: 0.2.2 + confbox: 0.2.4 exsolve: 1.0.8 pathe: 2.0.3 - playwright-core@1.58.1: {} + playwright-core@1.58.2: {} - playwright@1.58.1: + playwright@1.58.2: dependencies: - playwright-core: 1.58.1 + playwright-core: 1.58.2 optionalDependencies: fsevents: 2.3.2 @@ -21496,20 +21306,20 @@ snapshots: dependencies: prosemirror-state: 1.4.4 prosemirror-transform: 1.11.0 - prosemirror-view: 1.41.5 + prosemirror-view: 1.41.6 prosemirror-gapcursor@1.4.0: dependencies: prosemirror-keymap: 1.2.3 prosemirror-model: 1.25.4 prosemirror-state: 1.4.4 - prosemirror-view: 1.41.5 + prosemirror-view: 1.41.6 prosemirror-history@1.5.0: dependencies: prosemirror-state: 1.4.4 prosemirror-transform: 1.11.0 - prosemirror-view: 1.41.5 + prosemirror-view: 1.41.6 rope-sequence: 1.3.4 prosemirror-inputrules@1.5.1: @@ -21540,7 +21350,7 @@ snapshots: dependencies: prosemirror-model: 1.25.4 prosemirror-transform: 1.11.0 - prosemirror-view: 1.41.5 + prosemirror-view: 1.41.6 prosemirror-tables@1.8.5: dependencies: @@ -21548,7 +21358,7 @@ snapshots: prosemirror-model: 1.25.4 prosemirror-state: 1.4.4 prosemirror-transform: 1.11.0 - prosemirror-view: 1.41.5 + prosemirror-view: 1.41.6 prosemirror-test-builder@1.1.1: dependencies: @@ -21560,7 +21370,7 @@ snapshots: dependencies: prosemirror-model: 1.25.4 - prosemirror-view@1.41.5: + prosemirror-view@1.41.6: dependencies: prosemirror-model: 1.25.4 prosemirror-state: 1.4.4 @@ -21594,7 +21404,7 @@ snapshots: public-encrypt@4.0.3: dependencies: - bn.js: 4.12.2 + bn.js: 4.12.3 browserify-rsa: 4.1.1 create-hash: 1.2.0 parse-asn1: 5.1.9 @@ -21665,7 +21475,11 @@ snapshots: dependencies: side-channel: 1.1.0 - qs@6.14.1: + qs@6.14.2: + dependencies: + side-channel: 1.1.0 + + qs@6.15.0: dependencies: side-channel: 1.1.0 @@ -21734,32 +21548,32 @@ snapshots: react-refresh@0.18.0: {} - react-remove-scroll-bar@2.3.8(@types/react@19.2.11)(react@19.2.3): + react-remove-scroll-bar@2.3.8(@types/react@19.2.14)(react@19.2.3): dependencies: react: 19.2.3 - react-style-singleton: 2.2.3(@types/react@19.2.11)(react@19.2.3) + react-style-singleton: 2.2.3(@types/react@19.2.14)(react@19.2.3) tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.11 + '@types/react': 19.2.14 - react-remove-scroll@2.7.2(@types/react@19.2.11)(react@19.2.3): + react-remove-scroll@2.7.2(@types/react@19.2.14)(react@19.2.3): dependencies: react: 19.2.3 - react-remove-scroll-bar: 2.3.8(@types/react@19.2.11)(react@19.2.3) - react-style-singleton: 2.2.3(@types/react@19.2.11)(react@19.2.3) + react-remove-scroll-bar: 2.3.8(@types/react@19.2.14)(react@19.2.3) + react-style-singleton: 2.2.3(@types/react@19.2.14)(react@19.2.3) tslib: 2.8.1 - use-callback-ref: 1.3.3(@types/react@19.2.11)(react@19.2.3) - use-sidecar: 1.1.3(@types/react@19.2.11)(react@19.2.3) + use-callback-ref: 1.3.3(@types/react@19.2.14)(react@19.2.3) + use-sidecar: 1.1.3(@types/react@19.2.14)(react@19.2.3) optionalDependencies: - '@types/react': 19.2.11 + '@types/react': 19.2.14 - react-style-singleton@2.2.3(@types/react@19.2.11)(react@19.2.3): + react-style-singleton@2.2.3(@types/react@19.2.14)(react@19.2.3): dependencies: get-nonce: 1.0.1 react: 19.2.3 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.11 + '@types/react': 19.2.14 react@19.2.3: {} @@ -21849,10 +21663,10 @@ snapshots: estree-util-build-jsx: 3.0.1 vfile: 6.0.3 - recma-jsx@1.0.1(acorn@8.15.0): + recma-jsx@1.0.1(acorn@8.16.0): dependencies: - acorn: 8.15.0 - acorn-jsx: 5.3.2(acorn@8.15.0) + acorn: 8.16.0 + acorn-jsx: 5.3.2(acorn@8.16.0) estree-util-to-js: 2.0.0 recma-parse: 1.0.0 recma-stringify: 1.0.0 @@ -21964,7 +21778,7 @@ snapshots: rehype-stringify@10.0.1: dependencies: '@types/hast': 3.0.4 - hast-util-to-html: 9.0.5 + hast-util-to-html: 9.0.4 unified: 11.0.5 remark-frontmatter@5.0.0: @@ -21988,7 +21802,7 @@ snapshots: remark-gfm@4.0.0: dependencies: '@types/mdast': 4.0.4 - mdast-util-gfm: 3.1.0 + mdast-util-gfm: 3.0.0 micromark-extension-gfm: 3.0.0 remark-parse: 11.0.0 remark-stringify: 11.0.0 @@ -22024,7 +21838,7 @@ snapshots: transitivePeerDependencies: - supports-color - remark-mdx-remove-esm@1.2.2(unified@11.0.5): + remark-mdx-remove-esm@1.2.3(unified@11.0.5): dependencies: '@types/mdast': 4.0.4 mdast-util-mdxjs-esm: 2.0.1 @@ -22085,6 +21899,14 @@ snapshots: unified: 11.0.5 vfile: 6.0.3 + remark-rehype@11.1.2: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + mdast-util-to-hast: 13.2.1 + unified: 11.0.5 + vfile: 6.0.3 + remark-smartypants@3.0.2: dependencies: retext: 9.0.0 @@ -22146,9 +21968,12 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - resolve@2.0.0-next.5: + resolve@2.0.0-next.6: dependencies: + es-errors: 1.3.0 is-core-module: 2.16.1 + node-exports-info: 1.6.0 + object-keys: 1.1.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -22201,7 +22026,7 @@ snapshots: hash-base: 3.1.2 inherits: 2.0.4 - rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2): + rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2): dependencies: '@oxc-project/runtime': 0.101.0 fdir: 6.5.0(picomatch@4.0.3) @@ -22212,13 +22037,13 @@ snapshots: tinyglobby: 0.2.15 optionalDependencies: '@types/node': 22.19.2 - esbuild: 0.27.2 + esbuild: 0.27.3 fsevents: 2.3.3 jiti: 2.6.1 tsx: 4.21.0 yaml: 2.8.2 - rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2): + rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2): dependencies: '@oxc-project/runtime': 0.101.0 fdir: 6.5.0(picomatch@4.0.3) @@ -22228,8 +22053,8 @@ snapshots: rolldown: 1.0.0-beta.53 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 22.19.8 - esbuild: 0.27.2 + '@types/node': 25.3.0 + esbuild: 0.27.3 fsevents: 2.3.3 jiti: 2.6.1 tsx: 4.21.0 @@ -22262,44 +22087,44 @@ snapshots: globby: 10.0.1 is-plain-object: 3.0.1 - rollup-plugin-visualizer@5.14.0(rollup@4.57.1): + rollup-plugin-visualizer@5.14.0(rollup@4.58.0): dependencies: open: 8.4.2 picomatch: 4.0.3 source-map: 0.7.6 yargs: 17.7.2 optionalDependencies: - rollup: 4.57.1 + rollup: 4.58.0 - rollup@4.57.1: + rollup@4.58.0: dependencies: '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.57.1 - '@rollup/rollup-android-arm64': 4.57.1 - '@rollup/rollup-darwin-arm64': 4.57.1 - '@rollup/rollup-darwin-x64': 4.57.1 - '@rollup/rollup-freebsd-arm64': 4.57.1 - '@rollup/rollup-freebsd-x64': 4.57.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.57.1 - '@rollup/rollup-linux-arm-musleabihf': 4.57.1 - '@rollup/rollup-linux-arm64-gnu': 4.57.1 - '@rollup/rollup-linux-arm64-musl': 4.57.1 - '@rollup/rollup-linux-loong64-gnu': 4.57.1 - '@rollup/rollup-linux-loong64-musl': 4.57.1 - '@rollup/rollup-linux-ppc64-gnu': 4.57.1 - '@rollup/rollup-linux-ppc64-musl': 4.57.1 - '@rollup/rollup-linux-riscv64-gnu': 4.57.1 - '@rollup/rollup-linux-riscv64-musl': 4.57.1 - '@rollup/rollup-linux-s390x-gnu': 4.57.1 - '@rollup/rollup-linux-x64-gnu': 4.57.1 - '@rollup/rollup-linux-x64-musl': 4.57.1 - '@rollup/rollup-openbsd-x64': 4.57.1 - '@rollup/rollup-openharmony-arm64': 4.57.1 - '@rollup/rollup-win32-arm64-msvc': 4.57.1 - '@rollup/rollup-win32-ia32-msvc': 4.57.1 - '@rollup/rollup-win32-x64-gnu': 4.57.1 - '@rollup/rollup-win32-x64-msvc': 4.57.1 + '@rollup/rollup-android-arm-eabi': 4.58.0 + '@rollup/rollup-android-arm64': 4.58.0 + '@rollup/rollup-darwin-arm64': 4.58.0 + '@rollup/rollup-darwin-x64': 4.58.0 + '@rollup/rollup-freebsd-arm64': 4.58.0 + '@rollup/rollup-freebsd-x64': 4.58.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.58.0 + '@rollup/rollup-linux-arm-musleabihf': 4.58.0 + '@rollup/rollup-linux-arm64-gnu': 4.58.0 + '@rollup/rollup-linux-arm64-musl': 4.58.0 + '@rollup/rollup-linux-loong64-gnu': 4.58.0 + '@rollup/rollup-linux-loong64-musl': 4.58.0 + '@rollup/rollup-linux-ppc64-gnu': 4.58.0 + '@rollup/rollup-linux-ppc64-musl': 4.58.0 + '@rollup/rollup-linux-riscv64-gnu': 4.58.0 + '@rollup/rollup-linux-riscv64-musl': 4.58.0 + '@rollup/rollup-linux-s390x-gnu': 4.58.0 + '@rollup/rollup-linux-x64-gnu': 4.58.0 + '@rollup/rollup-linux-x64-musl': 4.58.0 + '@rollup/rollup-openbsd-x64': 4.58.0 + '@rollup/rollup-openharmony-arm64': 4.58.0 + '@rollup/rollup-win32-arm64-msvc': 4.58.0 + '@rollup/rollup-win32-ia32-msvc': 4.58.0 + '@rollup/rollup-win32-x64-gnu': 4.58.0 + '@rollup/rollup-win32-x64-msvc': 4.58.0 fsevents: 2.3.3 rope-sequence@1.3.4: {} @@ -22383,7 +22208,7 @@ snapshots: read-pkg: 5.2.0 registry-auth-token: 4.2.2 semantic-release: 24.2.9(typescript@5.9.3) - semver: 7.7.3 + semver: 7.7.4 tempy: 1.0.1 semantic-release@24.2.9(typescript@5.9.3): @@ -22413,7 +22238,7 @@ snapshots: p-reduce: 3.0.0 read-package-up: 11.0.0 resolve-from: 5.0.0 - semver: 7.7.3 + semver: 7.7.4 semver-diff: 5.0.0 signale: 1.4.0 yargs: 17.7.2 @@ -22423,7 +22248,7 @@ snapshots: semver-diff@5.0.0: dependencies: - semver: 7.7.3 + semver: 7.7.4 semver-regex@4.0.5: {} @@ -22439,6 +22264,8 @@ snapshots: semver@7.7.3: {} + semver@7.7.4: {} + send@0.18.0: dependencies: debug: 2.6.9 @@ -22475,9 +22302,10 @@ snapshots: transitivePeerDependencies: - supports-color - serialize-error@12.0.0: + serialize-error@13.0.1: dependencies: - type-fest: 4.41.0 + non-error: 0.1.0 + type-fest: 5.4.4 serve-handler@6.1.6: dependencies: @@ -22559,13 +22387,13 @@ snapshots: dependencies: decode-ico: 0.4.1 ico-endec: 0.1.6 - sharp: 0.34.5 + sharp: 0.33.5 sharp@0.33.5: dependencies: color: 4.2.3 detect-libc: 2.1.2 - semver: 7.7.3 + semver: 7.7.2 optionalDependencies: '@img/sharp-darwin-arm64': 0.33.5 '@img/sharp-darwin-x64': 0.33.5 @@ -22587,37 +22415,6 @@ snapshots: '@img/sharp-win32-ia32': 0.33.5 '@img/sharp-win32-x64': 0.33.5 - sharp@0.34.5: - dependencies: - '@img/colour': 1.0.0 - detect-libc: 2.1.2 - semver: 7.7.3 - optionalDependencies: - '@img/sharp-darwin-arm64': 0.34.5 - '@img/sharp-darwin-x64': 0.34.5 - '@img/sharp-libvips-darwin-arm64': 1.2.4 - '@img/sharp-libvips-darwin-x64': 1.2.4 - '@img/sharp-libvips-linux-arm': 1.2.4 - '@img/sharp-libvips-linux-arm64': 1.2.4 - '@img/sharp-libvips-linux-ppc64': 1.2.4 - '@img/sharp-libvips-linux-riscv64': 1.2.4 - '@img/sharp-libvips-linux-s390x': 1.2.4 - '@img/sharp-libvips-linux-x64': 1.2.4 - '@img/sharp-libvips-linuxmusl-arm64': 1.2.4 - '@img/sharp-libvips-linuxmusl-x64': 1.2.4 - '@img/sharp-linux-arm': 0.34.5 - '@img/sharp-linux-arm64': 0.34.5 - '@img/sharp-linux-ppc64': 0.34.5 - '@img/sharp-linux-riscv64': 0.34.5 - '@img/sharp-linux-s390x': 0.34.5 - '@img/sharp-linux-x64': 0.34.5 - '@img/sharp-linuxmusl-arm64': 0.34.5 - '@img/sharp-linuxmusl-x64': 0.34.5 - '@img/sharp-wasm32': 0.34.5 - '@img/sharp-win32-arm64': 0.34.5 - '@img/sharp-win32-ia32': 0.34.5 - '@img/sharp-win32-x64': 0.34.5 - shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 @@ -22697,7 +22494,7 @@ snapshots: simple-update-notifier@2.0.0: dependencies: - semver: 7.7.3 + semver: 7.7.4 simple-xml-to-json@1.2.3: {} @@ -22770,7 +22567,7 @@ snapshots: dependencies: atomic-sleep: 1.0.0 - sonic-boom@4.2.0: + sonic-boom@4.2.1: dependencies: atomic-sleep: 1.0.0 @@ -22869,7 +22666,7 @@ snapshots: dependencies: events-universal: 1.0.1 fast-fifo: 1.3.2 - text-decoder: 1.2.3 + text-decoder: 1.2.7 transitivePeerDependencies: - bare-abort-controller - react-native-b4a @@ -22891,7 +22688,7 @@ snapshots: string-width@7.2.0: dependencies: emoji-regex: 10.6.0 - get-east-asian-width: 1.4.0 + get-east-asian-width: 1.5.0 strip-ansi: 7.1.2 string.prototype.matchall@4.0.12: @@ -23012,19 +22809,20 @@ snapshots: make-asynchronous: 1.0.1 time-span: 5.1.0 - superdoc@1.11.0(@hocuspocus/provider@2.15.3(y-protocols@1.0.7(yjs@13.6.19))(yjs@13.6.19))(canvas@3.2.0)(pdfjs-dist@5.4.624)(typescript@5.9.3)(y-prosemirror@1.3.7(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.5)(y-protocols@1.0.7(yjs@13.6.19))(yjs@13.6.19))(yjs@13.6.19): + superdoc@1.15.0(@hocuspocus/provider@2.15.3(y-protocols@1.0.7(yjs@13.6.19))(yjs@13.6.19))(canvas@3.2.0)(pdfjs-dist@5.4.624)(typescript@5.9.3)(y-prosemirror@1.3.7(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.6)(y-protocols@1.0.7(yjs@13.6.19))(yjs@13.6.19))(yjs@13.6.19): dependencies: '@hocuspocus/provider': 2.15.3(y-protocols@1.0.7(yjs@13.6.19))(yjs@13.6.19) buffer-crc32: 1.0.0 eventemitter3: 5.0.4 jsdom: 27.3.0(canvas@3.2.0) + konva: 10.2.0 naive-ui: 2.43.2(vue@3.5.25(typescript@5.9.3)) pdfjs-dist: 5.4.624 pinia: 2.3.1(typescript@5.9.3)(vue@3.5.25(typescript@5.9.3)) rollup-plugin-copy: 3.5.0 uuid: 9.0.1 vue: 3.5.25(typescript@5.9.3) - y-prosemirror: 1.3.7(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.5)(y-protocols@1.0.7(yjs@13.6.19))(yjs@13.6.19) + y-prosemirror: 1.3.7(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.6)(y-protocols@1.0.7(yjs@13.6.19))(yjs@13.6.19) y-websocket: 3.0.0(yjs@13.6.19) yjs: 13.6.19 transitivePeerDependencies: @@ -23058,6 +22856,8 @@ snapshots: symbol-tree@3.2.4: {} + tagged-tag@1.0.0: {} + tailwindcss@3.4.4: dependencies: '@alloc/quick-lru': 5.2.0 @@ -23097,7 +22897,7 @@ snapshots: pump: 3.0.3 tar-stream: 3.1.7 optionalDependencies: - bare-fs: 4.5.3 + bare-fs: 4.5.4 bare-path: 3.0.0 transitivePeerDependencies: - bare-abort-controller @@ -23114,7 +22914,7 @@ snapshots: tar-stream@3.1.7: dependencies: - b4a: 1.7.3 + b4a: 1.8.0 fast-fifo: 1.3.2 streamx: 2.23.0 transitivePeerDependencies: @@ -23130,6 +22930,14 @@ snapshots: mkdirp: 1.0.4 yallist: 4.0.0 + teex@1.0.1: + dependencies: + streamx: 2.23.0 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + optional: true + temp-dir@2.0.0: {} temp-dir@3.0.0: {} @@ -23155,9 +22963,9 @@ snapshots: glob: 10.5.0 minimatch: 9.0.5 - text-decoder@1.2.3: + text-decoder@1.2.7: dependencies: - b4a: 1.7.3 + b4a: 1.8.0 transitivePeerDependencies: - react-native-b4a @@ -23215,15 +23023,15 @@ snapshots: tldts-core@6.1.86: {} - tldts-core@7.0.22: {} + tldts-core@7.0.23: {} tldts@6.1.86: dependencies: tldts-core: 6.1.86 - tldts@7.0.22: + tldts@7.0.23: dependencies: - tldts-core: 7.0.22 + tldts-core: 7.0.23 tmp@0.2.5: {} @@ -23254,7 +23062,7 @@ snapshots: tough-cookie@6.0.0: dependencies: - tldts: 7.0.22 + tldts: 7.0.23 tr46@0.0.3: {} @@ -23284,27 +23092,27 @@ snapshots: tslib@2.8.1: {} - tsup@8.5.1(@microsoft/api-extractor@7.56.1(@types/node@22.19.2))(jiti@2.6.1)(postcss@8.5.6)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2): + tsup@8.5.1(@microsoft/api-extractor@7.57.2(@types/node@22.19.2))(jiti@2.6.1)(postcss@8.5.6)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2): dependencies: - bundle-require: 5.1.0(esbuild@0.27.2) + bundle-require: 5.1.0(esbuild@0.27.3) cac: 6.7.14 chokidar: 4.0.3 consola: 3.4.2 debug: 4.4.3(supports-color@5.5.0) - esbuild: 0.27.2 + esbuild: 0.27.3 fix-dts-default-cjs-exports: 1.0.1 joycon: 3.1.1 picocolors: 1.1.1 postcss-load-config: 6.0.1(jiti@2.6.1)(postcss@8.5.6)(tsx@4.21.0)(yaml@2.8.2) resolve-from: 5.0.0 - rollup: 4.57.1 + rollup: 4.58.0 source-map: 0.7.6 sucrase: 3.35.1 tinyexec: 0.3.2 tinyglobby: 0.2.15 tree-kill: 1.2.2 optionalDependencies: - '@microsoft/api-extractor': 7.56.1(@types/node@22.19.2) + '@microsoft/api-extractor': 7.57.2(@types/node@22.19.2) postcss: 8.5.6 typescript: 5.9.3 transitivePeerDependencies: @@ -23315,8 +23123,8 @@ snapshots: tsx@4.21.0: dependencies: - esbuild: 0.27.2 - get-tsconfig: 4.13.1 + esbuild: 0.27.3 + get-tsconfig: 4.13.6 optionalDependencies: fsevents: 2.3.3 @@ -23334,7 +23142,7 @@ snapshots: twoslash@0.3.6(typescript@5.9.3): dependencies: - '@typescript/vfs': 1.6.2(typescript@5.9.3) + '@typescript/vfs': 1.6.4(typescript@5.9.3) twoslash-protocol: 0.3.6 typescript: 5.9.3 transitivePeerDependencies: @@ -23358,6 +23166,10 @@ snapshots: type-fest@4.41.0: {} + type-fest@5.4.4: + dependencies: + tagged-tag: 1.0.0 + type-is@1.6.18: dependencies: media-typer: 0.3.0 @@ -23398,17 +23210,17 @@ snapshots: typed-rest-client@1.8.11: dependencies: - qs: 6.14.1 + qs: 6.15.0 tunnel: 0.0.6 - underscore: 1.13.7 + underscore: 1.13.8 - typescript-eslint@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3): + typescript-eslint@8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.54.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/parser': 8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/typescript-estree': 8.54.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) - eslint: 9.39.2(jiti@2.6.1) + '@typescript-eslint/eslint-plugin': 8.56.0(@typescript-eslint/parser@8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) + eslint: 9.39.3(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -23440,11 +23252,13 @@ snapshots: undefsafe@2.0.5: {} - underscore@1.13.7: {} + underscore@1.13.8: {} undici-types@6.21.0: {} - undici@7.20.0: {} + undici-types@7.18.2: {} + + undici@7.22.0: {} unfetch@4.2.0: {} @@ -23535,7 +23349,7 @@ snapshots: dependencies: '@types/unist': 3.0.3 unist-util-is: 6.0.1 - unist-util-visit-parents: 6.0.2 + unist-util-visit-parents: 6.0.1 unist-util-stringify-position@3.0.3: dependencies: @@ -23640,24 +23454,24 @@ snapshots: url@0.11.4: dependencies: punycode: 1.4.1 - qs: 6.14.1 + qs: 6.15.0 urlpattern-polyfill@10.0.0: {} - use-callback-ref@1.3.3(@types/react@19.2.11)(react@19.2.3): + use-callback-ref@1.3.3(@types/react@19.2.14)(react@19.2.3): dependencies: react: 19.2.3 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.11 + '@types/react': 19.2.14 - use-sidecar@1.1.3(@types/react@19.2.11)(react@19.2.3): + use-sidecar@1.1.3(@types/react@19.2.14)(react@19.2.3): dependencies: detect-node-es: 1.1.0 react: 19.2.3 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.11 + '@types/react': 19.2.14 utif2@4.1.0: dependencies: @@ -23830,13 +23644,13 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite-node@3.2.4(@types/node@22.19.2)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2): + vite-node@3.2.4(@types/node@22.19.2)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2): dependencies: cac: 6.7.14 debug: 4.4.3(supports-color@5.5.0) es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + vite: rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - '@types/node' - esbuild @@ -23851,13 +23665,13 @@ snapshots: - tsx - yaml - vite-node@3.2.4(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2): + vite-node@3.2.4(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2): dependencies: cac: 6.7.14 debug: 4.4.3(supports-color@5.5.0) es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + vite: rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - '@types/node' - esbuild @@ -23872,10 +23686,10 @@ snapshots: - tsx - yaml - vite-plugin-dts@4.5.4(@types/node@22.19.2)(rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))(rollup@4.57.1)(typescript@5.9.3): + vite-plugin-dts@4.5.4(@types/node@22.19.2)(rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))(rollup@4.58.0)(typescript@5.9.3): dependencies: - '@microsoft/api-extractor': 7.56.1(@types/node@22.19.2) - '@rollup/pluginutils': 5.3.0(rollup@4.57.1) + '@microsoft/api-extractor': 7.57.2(@types/node@22.19.2) + '@rollup/pluginutils': 5.3.0(rollup@4.58.0) '@volar/typescript': 2.4.28 '@vue/language-core': 2.2.0(typescript@5.9.3) compare-versions: 6.1.1 @@ -23885,16 +23699,16 @@ snapshots: magic-string: 0.30.21 typescript: 5.9.3 optionalDependencies: - vite: rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + vite: rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-dts@4.5.4(@types/node@22.19.8)(rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))(rollup@4.57.1)(typescript@5.9.3): + vite-plugin-dts@4.5.4(@types/node@25.3.0)(rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))(rollup@4.58.0)(typescript@5.9.3): dependencies: - '@microsoft/api-extractor': 7.56.1(@types/node@22.19.8) - '@rollup/pluginutils': 5.3.0(rollup@4.57.1) + '@microsoft/api-extractor': 7.57.2(@types/node@25.3.0) + '@rollup/pluginutils': 5.3.0(rollup@4.58.0) '@volar/typescript': 2.4.28 '@vue/language-core': 2.2.0(typescript@5.9.3) compare-versions: 6.1.1 @@ -23904,23 +23718,23 @@ snapshots: magic-string: 0.30.21 typescript: 5.9.3 optionalDependencies: - vite: rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + vite: rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-node-polyfills@0.25.0(rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))(rollup@4.57.1): + vite-plugin-node-polyfills@0.25.0(rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))(rollup@4.58.0): dependencies: - '@rollup/plugin-inject': 5.0.5(rollup@4.57.1) + '@rollup/plugin-inject': 5.0.5(rollup@4.58.0) node-stdlib-browser: 1.3.1 - vite: rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + vite: rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - rollup - vite-plugin-node-polyfills@0.25.0(rollup@4.57.1)(vite@7.3.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2)): + vite-plugin-node-polyfills@0.25.0(rollup@4.58.0)(vite@7.3.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2)): dependencies: - '@rollup/plugin-inject': 5.0.5(rollup@4.57.1) + '@rollup/plugin-inject': 5.0.5(rollup@4.58.0) node-stdlib-browser: 1.3.1 vite: 7.3.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: @@ -23928,11 +23742,11 @@ snapshots: vite@7.3.1(@types/node@22.19.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2): dependencies: - esbuild: 0.27.2 + esbuild: 0.27.3 fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 postcss: 8.5.6 - rollup: 4.57.1 + rollup: 4.58.0 tinyglobby: 0.2.15 optionalDependencies: '@types/node': 22.19.2 @@ -23942,11 +23756,11 @@ snapshots: tsx: 4.21.0 yaml: 2.8.2 - vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.19.2)(esbuild@0.27.2)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2): + vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.19.2)(esbuild@0.27.3)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2): dependencies: '@types/chai': 5.2.3 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) + '@vitest/mocker': 3.2.4(rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -23964,8 +23778,8 @@ snapshots: tinyglobby: 0.2.15 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) - vite-node: 3.2.4(@types/node@22.19.2)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + vite: rolldown-vite@7.3.1(@types/node@22.19.2)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + vite-node: 3.2.4(@types/node@22.19.2)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 @@ -23986,11 +23800,11 @@ snapshots: - tsx - yaml - vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.19.8)(esbuild@0.27.2)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2): + vitest@3.2.4(@types/debug@4.1.12)(@types/node@25.3.0)(esbuild@0.27.3)(happy-dom@20.4.0)(jiti@2.6.1)(jsdom@27.3.0(canvas@3.2.0))(tsx@4.21.0)(yaml@2.8.2): dependencies: '@types/chai': 5.2.3 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) + '@vitest/mocker': 3.2.4(rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -24008,12 +23822,12 @@ snapshots: tinyglobby: 0.2.15 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: rolldown-vite@7.3.1(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) - vite-node: 3.2.4(@types/node@22.19.8)(esbuild@0.27.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + vite: rolldown-vite@7.3.1(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + vite-node: 3.2.4(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 - '@types/node': 22.19.8 + '@types/node': 25.3.0 happy-dom: 20.4.0 jsdom: 27.3.0(canvas@3.2.0) transitivePeerDependencies: @@ -24204,7 +24018,7 @@ snapshots: wsl-utils@0.1.0: dependencies: - is-wsl: 3.1.0 + is-wsl: 3.1.1 xml-js@1.6.11: dependencies: @@ -24230,12 +24044,12 @@ snapshots: xtend@4.0.2: {} - y-prosemirror@1.3.7(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.5)(y-protocols@1.0.7(yjs@13.6.19))(yjs@13.6.19): + y-prosemirror@1.3.7(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.6)(y-protocols@1.0.7(yjs@13.6.19))(yjs@13.6.19): dependencies: lib0: 0.2.117 prosemirror-model: 1.25.4 prosemirror-state: 1.4.4 - prosemirror-view: 1.41.5 + prosemirror-view: 1.41.6 y-protocols: 1.0.7(yjs@13.6.19) yjs: 13.6.19 From 4215fb037b0078da3293aa5a439563ef491b39e0 Mon Sep 17 00:00:00 2001 From: Nick Bernal Date: Fri, 20 Feb 2026 13:24:18 -0800 Subject: [PATCH 4/9] chore: fix checks --- packages/sdk/langs/node/package.json | 9 +------- packages/sdk/langs/python/pyproject.toml | 2 +- packages/sdk/package.json | 2 +- packages/sdk/version.json | 2 +- pnpm-lock.yaml | 26 ++++++++++++++++++++++++ pnpm-workspace.yaml | 1 + 6 files changed, 31 insertions(+), 11 deletions(-) diff --git a/packages/sdk/langs/node/package.json b/packages/sdk/langs/node/package.json index 10323e5ec2..fc42b46b1e 100644 --- a/packages/sdk/langs/node/package.json +++ b/packages/sdk/langs/node/package.json @@ -1,6 +1,6 @@ { "name": "@superdoc-dev/sdk", - "version": "1.0.0-alpha.5", + "version": "1.0.0-alpha.6", "private": false, "type": "module", "main": "./dist/index.js", @@ -24,13 +24,6 @@ "prepack": "rm -rf tools && cp -r ../../tools ./tools && rm -f ./tools/__init__.py", "postpack": "rm -rf tools && ln -s ../../tools tools" }, - "optionalDependencies": { - "@superdoc-dev/sdk-darwin-arm64": "1.0.0-alpha.5", - "@superdoc-dev/sdk-darwin-x64": "1.0.0-alpha.5", - "@superdoc-dev/sdk-linux-arm64": "1.0.0-alpha.5", - "@superdoc-dev/sdk-linux-x64": "1.0.0-alpha.5", - "@superdoc-dev/sdk-windows-x64": "1.0.0-alpha.5" - }, "devDependencies": { "@types/bun": "catalog:", "@types/node": "catalog:", diff --git a/packages/sdk/langs/python/pyproject.toml b/packages/sdk/langs/python/pyproject.toml index b62b006670..baec92ce07 100644 --- a/packages/sdk/langs/python/pyproject.toml +++ b/packages/sdk/langs/python/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "superdoc-sdk" -version = "1.0.0-alpha.5" +version = "1.0.0-alpha.6" description = "SuperDoc SDK (CLI-backed)" requires-python = ">=3.9" license = "AGPL-3.0" diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 80e61d49d6..4d466faeb9 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@superdoc-dev/sdk-workspace", - "version": "1.0.0-alpha.5", + "version": "1.0.0-alpha.6", "private": true, "type": "module", "scripts": { diff --git a/packages/sdk/version.json b/packages/sdk/version.json index a289457225..2354492e3a 100644 --- a/packages/sdk/version.json +++ b/packages/sdk/version.json @@ -1,3 +1,3 @@ { - "sdkVersion": "1.0.0-alpha.5" + "sdkVersion": "1.0.0-alpha.6" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9390c74e53..b9101dfca1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -443,6 +443,32 @@ importers: typescript: specifier: 'catalog:' version: 5.9.3 + optionalDependencies: + '@superdoc-dev/cli-darwin-arm64': + specifier: workspace:* + version: link:platforms/cli-darwin-arm64 + '@superdoc-dev/cli-darwin-x64': + specifier: workspace:* + version: link:platforms/cli-darwin-x64 + '@superdoc-dev/cli-linux-arm64': + specifier: workspace:* + version: link:platforms/cli-linux-arm64 + '@superdoc-dev/cli-linux-x64': + specifier: workspace:* + version: link:platforms/cli-linux-x64 + '@superdoc-dev/cli-windows-x64': + specifier: workspace:* + version: link:platforms/cli-windows-x64 + + apps/cli/platforms/cli-darwin-arm64: {} + + apps/cli/platforms/cli-darwin-x64: {} + + apps/cli/platforms/cli-linux-arm64: {} + + apps/cli/platforms/cli-linux-x64: {} + + apps/cli/platforms/cli-windows-x64: {} apps/docs: devDependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index d521a0a454..60e5231608 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -4,6 +4,7 @@ packages: - tests/visual - tests/behavior - apps/* + - apps/cli/platforms/* - packages/**/* - shared/* - examples/* From b53a97ecb1238c3bbcd7fa344474212a2fcfdffe Mon Sep 17 00:00:00 2001 From: Nick Bernal Date: Fri, 20 Feb 2026 13:30:09 -0800 Subject: [PATCH 5/9] chore: fix missing bun --- packages/sdk/package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 4d466faeb9..09439e928f 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -9,7 +9,6 @@ "generate": "node scripts/sdk-generate.mjs", "validate": "node scripts/sdk-validate.mjs", "build:node": "pnpm --prefix langs/node run build", - "prepare": "pnpm run version:sync && pnpm -w run generate:all && pnpm run validate && pnpm run build:node", "release": "node scripts/sdk-release.mjs", "release:dry": "node scripts/sdk-release.mjs --dry-run" } From 540740286c8f1263752153f608cd167deca2cf76 Mon Sep 17 00:00:00 2001 From: Nick Bernal Date: Fri, 20 Feb 2026 13:36:26 -0800 Subject: [PATCH 6/9] chore: clean noisy logs --- apps/cli/package.json | 7 ------- pnpm-lock.yaml | 26 -------------------------- pnpm-workspace.yaml | 1 - 3 files changed, 34 deletions(-) diff --git a/apps/cli/package.json b/apps/cli/package.json index 0e98cb4582..5ce2f927dd 100644 --- a/apps/cli/package.json +++ b/apps/cli/package.json @@ -44,13 +44,6 @@ "typescript": "catalog:" }, "module": "src/index.ts", - "optionalDependencies": { - "@superdoc-dev/cli-darwin-arm64": "workspace:*", - "@superdoc-dev/cli-darwin-x64": "workspace:*", - "@superdoc-dev/cli-linux-x64": "workspace:*", - "@superdoc-dev/cli-linux-arm64": "workspace:*", - "@superdoc-dev/cli-windows-x64": "workspace:*" - }, "publishConfig": { "access": "public" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b9101dfca1..9390c74e53 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -443,32 +443,6 @@ importers: typescript: specifier: 'catalog:' version: 5.9.3 - optionalDependencies: - '@superdoc-dev/cli-darwin-arm64': - specifier: workspace:* - version: link:platforms/cli-darwin-arm64 - '@superdoc-dev/cli-darwin-x64': - specifier: workspace:* - version: link:platforms/cli-darwin-x64 - '@superdoc-dev/cli-linux-arm64': - specifier: workspace:* - version: link:platforms/cli-linux-arm64 - '@superdoc-dev/cli-linux-x64': - specifier: workspace:* - version: link:platforms/cli-linux-x64 - '@superdoc-dev/cli-windows-x64': - specifier: workspace:* - version: link:platforms/cli-windows-x64 - - apps/cli/platforms/cli-darwin-arm64: {} - - apps/cli/platforms/cli-darwin-x64: {} - - apps/cli/platforms/cli-linux-arm64: {} - - apps/cli/platforms/cli-linux-x64: {} - - apps/cli/platforms/cli-windows-x64: {} apps/docs: devDependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 60e5231608..d521a0a454 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -4,7 +4,6 @@ packages: - tests/visual - tests/behavior - apps/* - - apps/cli/platforms/* - packages/**/* - shared/* - examples/* From d0f2741d369a22e956626ebeb8997616888f582e Mon Sep 17 00:00:00 2001 From: Nick Bernal Date: Fri, 20 Feb 2026 13:38:16 -0800 Subject: [PATCH 7/9] chore: fix lint --- packages/sdk/codegen/src/generate-all.mjs | 2 +- packages/sdk/scripts/sdk-release.mjs | 3 ++- packages/superdoc/src/super-editor.js | 3 --- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/sdk/codegen/src/generate-all.mjs b/packages/sdk/codegen/src/generate-all.mjs index 9d4c0e7436..ac56f7d728 100644 --- a/packages/sdk/codegen/src/generate-all.mjs +++ b/packages/sdk/codegen/src/generate-all.mjs @@ -1,6 +1,6 @@ import path from 'node:path'; import { mkdir, writeFile } from 'node:fs/promises'; -import { loadContract, REPO_ROOT, writeGeneratedFile } from './shared.mjs'; +import { loadContract, REPO_ROOT } from './shared.mjs'; import { generateNodeSdk } from './generate-node.mjs'; import { generatePythonSdk } from './generate-python.mjs'; import { generateToolCatalogs } from './generate-tool-catalogs.mjs'; diff --git a/packages/sdk/scripts/sdk-release.mjs b/packages/sdk/scripts/sdk-release.mjs index d54140804f..303402da4c 100644 --- a/packages/sdk/scripts/sdk-release.mjs +++ b/packages/sdk/scripts/sdk-release.mjs @@ -1,7 +1,7 @@ #!/usr/bin/env node import { execFile } from 'node:child_process'; -import { mkdir, rm, cp, unlink, symlink, lstat } from 'node:fs/promises'; +import { mkdir, rm, cp, symlink, lstat } from 'node:fs/promises'; import path from 'node:path'; import { promisify } from 'node:util'; import { fileURLToPath } from 'node:url'; @@ -112,6 +112,7 @@ async function main() { // --- Python SDK --- // TODO: Remove this guard when PyPI publishing is ready. + // eslint-disable-next-line no-constant-condition if (true) { console.log('\n--- Python SDK (skipped — not yet published to PyPI) ---'); } else { diff --git a/packages/superdoc/src/super-editor.js b/packages/superdoc/src/super-editor.js index 0610ac54f8..1d6514db72 100644 --- a/packages/superdoc/src/super-editor.js +++ b/packages/superdoc/src/super-editor.js @@ -1,4 +1 @@ export * from '@superdoc/super-editor'; -export * from '@superdoc/super-editor/docx-zipper'; -export * from '@superdoc/super-editor/toolbar'; -export * from '@superdoc/super-editor/file-zipper'; From 094e28b8d3add9b78936467570629b4d3371337e Mon Sep 17 00:00:00 2001 From: Nick Bernal Date: Fri, 20 Feb 2026 13:43:02 -0800 Subject: [PATCH 8/9] chore: more lint fixes --- packages/sdk/langs/node/src/index.ts | 1 + packages/sdk/langs/node/src/runtime/transport-common.ts | 2 -- packages/sdk/langs/node/src/tools.ts | 1 + 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/sdk/langs/node/src/index.ts b/packages/sdk/langs/node/src/index.ts index c0901411de..396260d788 100644 --- a/packages/sdk/langs/node/src/index.ts +++ b/packages/sdk/langs/node/src/index.ts @@ -1,3 +1,4 @@ + import { createDocApi } from './generated/client.js'; import { SuperDocRuntime, type SuperDocClientOptions } from './runtime/process.js'; diff --git a/packages/sdk/langs/node/src/runtime/transport-common.ts b/packages/sdk/langs/node/src/runtime/transport-common.ts index 608ddf41e5..6df51438de 100644 --- a/packages/sdk/langs/node/src/runtime/transport-common.ts +++ b/packages/sdk/langs/node/src/runtime/transport-common.ts @@ -1,5 +1,3 @@ -import { SuperDocCliError } from './errors.js'; - export type ParamType = 'string' | 'number' | 'boolean' | 'json' | 'string[]'; export type ParamKind = 'doc' | 'flag' | 'jsonFlag'; diff --git a/packages/sdk/langs/node/src/tools.ts b/packages/sdk/langs/node/src/tools.ts index 7c83149254..be2beed7ec 100644 --- a/packages/sdk/langs/node/src/tools.ts +++ b/packages/sdk/langs/node/src/tools.ts @@ -2,6 +2,7 @@ import { readFile } from 'node:fs/promises'; import { readFileSync } from 'node:fs'; import path from 'node:path'; import { fileURLToPath } from 'node:url'; + import { CONTRACT } from './generated/contract.js'; import type { InvokeOptions } from './runtime/process.js'; import { SuperDocCliError } from './runtime/errors.js'; From e53ab18777ea655525746a54e40c9bdb45ba9ffe Mon Sep 17 00:00:00 2001 From: Nick Bernal Date: Fri, 20 Feb 2026 14:00:16 -0800 Subject: [PATCH 9/9] chore: add cicd release script, fix lint --- .github/workflows/release-sdk.yml | 124 +++++++++++++ apps/docs/docs.json | 9 +- apps/docs/document-engine/cli.mdx | 109 +++++++++++ apps/docs/document-engine/overview.mdx | 36 ++++ apps/docs/document-engine/sdks.mdx | 203 +++++++++++++++++++++ apps/docs/scripts/generate-sdk-overview.ts | 157 ++++++++++++++++ apps/docs/scripts/validate-code-imports.ts | 1 + eslint.config.mjs | 1 + package.json | 1 + packages/sdk/langs/node/src/index.ts | 1 - packages/sdk/langs/node/src/tools.ts | 1 - packages/sdk/scripts/sdk-release.mjs | 34 +--- scripts/generate-all.mjs | 13 +- 13 files changed, 652 insertions(+), 38 deletions(-) create mode 100644 .github/workflows/release-sdk.yml create mode 100644 apps/docs/document-engine/cli.mdx create mode 100644 apps/docs/document-engine/overview.mdx create mode 100644 apps/docs/document-engine/sdks.mdx create mode 100644 apps/docs/scripts/generate-sdk-overview.ts diff --git a/.github/workflows/release-sdk.yml b/.github/workflows/release-sdk.yml new file mode 100644 index 0000000000..d60f998d48 --- /dev/null +++ b/.github/workflows/release-sdk.yml @@ -0,0 +1,124 @@ +name: 📦 Release SDK + +on: + workflow_dispatch: + inputs: + version: + description: "Version to release (e.g. 1.0.0-alpha.7). Leave empty to release the current version." + required: false + type: string + dry-run: + description: "Dry run — build and validate without publishing" + required: false + type: boolean + default: false + +permissions: + contents: read + id-token: write # PyPI trusted publishing (OIDC) + +concurrency: + group: release-sdk + cancel-in-progress: false + +jobs: + release: + runs-on: ubuntu-24.04 + environment: ${{ inputs.dry-run && '' || 'pypi' }} + steps: + - uses: actions/checkout@v6 + + - uses: pnpm/action-setup@v4 + + - uses: actions/setup-node@v6 + with: + node-version-file: .nvmrc + cache: pnpm + registry-url: "https://registry.npmjs.org" + + - uses: oven-sh/setup-bun@v2 + + - uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Install Python build tools + run: pip install build + + # --------------------------------------------------------------- + # Show current version (visible in the Actions run summary) + # --------------------------------------------------------------- + - name: Show current version + run: | + CURRENT=$(node -p "require('./packages/sdk/package.json').version") + echo "### SDK Release" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "| | Version |" >> $GITHUB_STEP_SUMMARY + echo "|---|---|" >> $GITHUB_STEP_SUMMARY + echo "| **Current (in repo)** | \`${CURRENT}\` |" >> $GITHUB_STEP_SUMMARY + if [ -n "${{ inputs.version }}" ]; then + echo "| **Releasing** | \`${{ inputs.version }}\` |" >> $GITHUB_STEP_SUMMARY + else + echo "| **Releasing** | \`${CURRENT}\` (unchanged) |" >> $GITHUB_STEP_SUMMARY + fi + echo "| **Dry run** | \`${{ inputs.dry-run }}\` |" >> $GITHUB_STEP_SUMMARY + + # --------------------------------------------------------------- + # Set version (if provided) + # --------------------------------------------------------------- + - name: Set version + if: inputs.version != '' + run: node packages/sdk/scripts/sync-sdk-version.mjs --set "${{ inputs.version }}" + + # --------------------------------------------------------------- + # Generate + validate + # --------------------------------------------------------------- + - name: Generate all artifacts + run: pnpm run generate:all + + - name: Validate SDK + run: node packages/sdk/scripts/sdk-validate.mjs + + # --------------------------------------------------------------- + # Node SDK + # --------------------------------------------------------------- + - name: Build Node SDK + run: pnpm --prefix packages/sdk/langs/node run build + + - name: Publish Node SDK + if: ${{ !inputs.dry-run }} + run: pnpm --prefix packages/sdk/langs/node publish --access public --tag latest --no-git-checks + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + + - name: Publish Node SDK (dry run) + if: ${{ inputs.dry-run }} + run: pnpm --prefix packages/sdk/langs/node publish --access public --tag latest --no-git-checks --dry-run + + # --------------------------------------------------------------- + # Python SDK + # --------------------------------------------------------------- + - name: Prepare Python SDK tools + run: | + rm -rf packages/sdk/langs/python/superdoc/tools + cp -r packages/sdk/tools packages/sdk/langs/python/superdoc/tools + rm -f packages/sdk/langs/python/superdoc/tools/__init__.py + + - name: Build Python SDK + run: python -m build + working-directory: packages/sdk/langs/python + + - name: Publish Python SDK to PyPI + if: ${{ !inputs.dry-run }} + uses: pypa/gh-action-pypi-publish@release/v1 + with: + packages-dir: packages/sdk/langs/python/dist/ + + - name: Publish Python SDK (dry run) + if: ${{ inputs.dry-run }} + run: | + echo "Would publish the following Python packages:" + ls -la packages/sdk/langs/python/dist/ diff --git a/apps/docs/docs.json b/apps/docs/docs.json index bfb4dba7df..80e400fc63 100644 --- a/apps/docs/docs.json +++ b/apps/docs/docs.json @@ -90,9 +90,14 @@ ] }, { - "group": "Document API", + "group": "Document Engine", "tag": "ALPHA", - "pages": ["document-api/overview"] + "pages": [ + "document-engine/overview", + "document-api/overview", + "document-engine/sdks", + "document-engine/cli" + ] }, { "group": "Modules", diff --git a/apps/docs/document-engine/cli.mdx b/apps/docs/document-engine/cli.mdx new file mode 100644 index 0000000000..dd22ffaf5a --- /dev/null +++ b/apps/docs/document-engine/cli.mdx @@ -0,0 +1,109 @@ +--- +title: CLI +sidebarTitle: CLI +description: Edit documents from the terminal with the SuperDoc CLI +keywords: "cli, command line, terminal, document automation, headless docx, superdoc cli" +--- + +The SuperDoc CLI lets you open, query, and edit `.docx` files from any shell. It exposes the same operations as the [Document API](/document-api/overview) through a stdio-based process. + + +The CLI is in alpha. Commands and output formats may change. + + +## Installation + +```bash +npm install -g @superdoc-dev/cli +``` + +Or run without installing: + +```bash +npx @superdoc-dev/cli open my-doc.docx +``` + +## Workflow + +The CLI uses persistent sessions. Open a document, run operations, then save and close: + +```bash +# Open a document +superdoc open contract.docx + +# Search for text +superdoc find --pattern "ACME Corp" + +# Replace it +superdoc replace --target-json '{"kind":"text","blockId":"...","range":{"start":0,"end":9}}' --text "NewCo Inc." + +# Save and close +superdoc save +superdoc close +``` + +## Commands + +### Lifecycle + +| Command | Description | +| --- | --- | +| `superdoc open ` | Open a document and create an editing session | +| `superdoc save` | Save the current session to disk | +| `superdoc close` | Close the active session and clean up resources | + +### Document operations + +The CLI exposes all [Document API operations](/document-api/overview) as commands. The command name matches the operation's member path, converted to kebab-case: + +| CLI command | Operation | Description | +| --- | --- | --- | +| `superdoc find` | `find` | Search by text, node type, or structured query | +| `superdoc info` | `info` | Get document structure and metadata | +| `superdoc get-node` | `getNode` | Get a node by address | +| `superdoc get-node-by-id` | `getNodeById` | Get a node by ID | +| `superdoc insert` | `insert` | Insert text at a position | +| `superdoc replace` | `replace` | Replace content at a position | +| `superdoc delete` | `delete` | Delete content at a position | +| `superdoc format bold` | `format.bold` | Toggle bold on a range | +| `superdoc format italic` | `format.italic` | Toggle italic on a range | +| `superdoc format underline` | `format.underline` | Toggle underline on a range | +| `superdoc format strikethrough` | `format.strikethrough` | Toggle strikethrough on a range | +| `superdoc create paragraph` | `create.paragraph` | Insert a new paragraph | +| `superdoc comments add` | `comments.add` | Add a comment thread | +| `superdoc comments list` | `comments.list` | List all comments | +| `superdoc track-changes list` | `trackChanges.list` | List tracked changes | +| `superdoc track-changes accept` | `trackChanges.accept` | Accept a tracked change | +| `superdoc track-changes reject` | `trackChanges.reject` | Reject a tracked change | + +Run `superdoc --help` for the full list, or `superdoc describe` for machine-readable metadata. + +### Session management + +| Command | Description | +| --- | --- | +| `superdoc session list` | List all active sessions | +| `superdoc session save ` | Save a specific session | +| `superdoc session close ` | Close a specific session | +| `superdoc session set-default ` | Set the default session for subsequent commands | + +### Introspection + +| Command | Description | +| --- | --- | +| `superdoc status` | Show current session status and document metadata | +| `superdoc describe` | List all available operations and contract metadata | +| `superdoc describe command ` | Show detailed metadata for a single operation | + +## JSON I/O + +All commands accept `--input-json` or `--input-file` for structured input and return JSON output. Use `superdoc call ` for raw operation invocation: + +```bash +superdoc call doc.find --input-json '{"doc":"./contract.docx","query":{"select":{"type":"text","pattern":"test"}}}' +``` + +## Related + +- [SDKs](/document-engine/sdks) — typed Node.js and Python wrappers over the CLI +- [Document API](/document-api/overview) — the in-browser API that defines the operation set diff --git a/apps/docs/document-engine/overview.mdx b/apps/docs/document-engine/overview.mdx new file mode 100644 index 0000000000..a426f5c41b --- /dev/null +++ b/apps/docs/document-engine/overview.mdx @@ -0,0 +1,36 @@ +--- +title: Document Engine +sidebarTitle: Overview +description: Programmatic document editing — in the browser, from the terminal, or through SDKs +keywords: "document engine, document api, sdk, cli, headless docx, document automation" +--- + + +Document Engine is in alpha and subject to breaking changes while the contract and adapters continue to evolve. + + +Document Engine is the programmatic surface of SuperDoc. It gives you three ways to read and edit `.docx` files without a visible editor: + +| Surface | Use case | Runtime | +| --- | --- | --- | +| [Document API](/document-api/overview) | In-browser editing via `editor.doc.*` methods | Browser (ProseMirror) | +| [SDKs](/document-engine/sdks) | Node.js and Python wrappers for backend automation | Node / Python | +| [CLI](/document-engine/cli) | Terminal commands for scripting and CI pipelines | Any shell | + +All three surfaces share the same operation set. An operation like `find` is available as `editor.doc.find()` in the browser, `superdoc.doc.find()` in the SDK, and `superdoc find` in the CLI. + +## How it works + +The Document API defines the canonical operations. The CLI wraps them in a stdio-based process. The SDKs manage the CLI process and expose typed methods for each operation. + +``` +Document API (source of truth) + → CLI (stdio process) + → Node SDK / Python SDK (typed wrappers) +``` + +## Where to start + +- **Building a web editor?** Start with the [Document API](/document-api/overview). +- **Automating documents from a backend?** Start with the [SDKs](/document-engine/sdks). +- **Scripting from the terminal or CI?** Start with the [CLI](/document-engine/cli). diff --git a/apps/docs/document-engine/sdks.mdx b/apps/docs/document-engine/sdks.mdx new file mode 100644 index 0000000000..73fc4fca97 --- /dev/null +++ b/apps/docs/document-engine/sdks.mdx @@ -0,0 +1,203 @@ +--- +title: SDKs +sidebarTitle: SDKs +description: Node.js and Python SDKs for programmatic document editing +keywords: "sdk, node, python, document automation, headless docx, superdoc sdk" +--- + +SuperDoc SDKs let you open, read, and edit `.docx` files from Node.js or Python. They manage the CLI process for you and expose typed methods for every operation. + + +The SDKs are in alpha. The API surface matches the [Document API](/document-api/overview) and will evolve alongside it. + + +## Installation + + + + ```bash + npm install @superdoc-dev/sdk + ``` + + + ```bash + pip install superdoc-sdk + ``` + + + +The CLI is bundled with the SDK — no separate install needed. + +## Quick start + + + + ```typescript + import { SuperDocClient } from '@superdoc-dev/sdk'; + + const client = new SuperDocClient(); + + // Open a document + await client.doc.open({ doc: './contract.docx' }); + + // Find text + const result = await client.doc.find({ pattern: 'ACME Corp' }); + + // Replace it + const target = result.context?.[0]?.textRanges?.[0]; + if (target) { + await client.doc.replace({ target, text: 'NewCo Inc.' }); + } + + // Save and close + await client.doc.save(); + await client.doc.close(); + ``` + + + ```python + from superdoc import SuperDocClient + + client = SuperDocClient() + + # Open a document + await client.doc.open(doc="./contract.docx") + + # Find text + result = await client.doc.find(pattern="ACME Corp") + + # Replace it + target = result["context"][0]["textRanges"][0] + await client.doc.replace(target=target, text="NewCo Inc.") + + # Save and close + await client.doc.save() + await client.doc.close() + ``` + + + +## AI tool use + +The SDKs include tool catalogs for LLM integrations. You can expose document operations as tools for AI agents: + +```typescript +import { chooseSuperDocTools, dispatchSuperDocTool } from '@superdoc-dev/sdk'; + +// Get tools scoped to the current task +const tools = chooseSuperDocTools({ + phase: 'mutate', + features: { comments: true, trackChanges: true }, +}); + +// Dispatch a tool call from your LLM +const result = await dispatchSuperDocTool(client, toolCall); +``` + +{/* SDK_OPERATIONS_START */} +## Available operations + +The SDKs expose all operations from the [Document API](/document-api/overview) plus lifecycle and session commands. The tables below are grouped by category. + +#### Lifecycle + +| Operation | CLI command | Description | +| --- | --- | --- | +| `doc.open` | `open` | Open a document and create a persistent editing session. | +| `doc.save` | `save` | Save the current session to the original file or a new path. | +| `doc.close` | `close` | Close the active editing session and clean up resources. | + +#### Query + +| Operation | CLI command | Description | +| --- | --- | --- | +| `doc.find` | `find` | Search the document for nodes matching type, text, or attribute criteria. | +| `doc.getNode` | `get-node` | Retrieve a single node by target position. | +| `doc.getNodeById` | `get-node-by-id` | Retrieve a single node by its unique ID. | +| `doc.info` | `info` | Return document metadata including revision, node count, and capabilities. | + +#### Mutation + +| Operation | CLI command | Description | +| --- | --- | --- | +| `doc.insert` | `insert` | Insert text or inline content at a target position. | +| `doc.replace` | `replace` | Replace content at a target position with new text or inline content. | +| `doc.delete` | `delete` | Delete content at a target position. | + +#### Format + +| Operation | CLI command | Description | +| --- | --- | --- | +| `doc.format.bold` | `format bold` | Toggle bold formatting on the target range. | +| `doc.format.italic` | `format italic` | Toggle italic formatting on the target range. | +| `doc.format.underline` | `format underline` | Toggle underline formatting on the target range. | +| `doc.format.strikethrough` | `format strikethrough` | Toggle strikethrough formatting on the target range. | + +#### Create + +| Operation | CLI command | Description | +| --- | --- | --- | +| `doc.create.paragraph` | `create paragraph` | Create a new paragraph at the target position. | + +#### Lists + +| Operation | CLI command | Description | +| --- | --- | --- | +| `doc.lists.list` | `lists list` | List all list nodes in the document, optionally filtered by scope. | +| `doc.lists.get` | `lists get` | Retrieve a specific list node by target. | +| `doc.lists.insert` | `lists insert` | Insert a new list at the target position. | +| `doc.lists.setType` | `lists set-type` | Change the list type (ordered, unordered) of a target list. | +| `doc.lists.indent` | `lists indent` | Increase the indentation level of a list item. | +| `doc.lists.outdent` | `lists outdent` | Decrease the indentation level of a list item. | +| `doc.lists.restart` | `lists restart` | Restart numbering of an ordered list at the target item. | +| `doc.lists.exit` | `lists exit` | Exit a list context, converting the target item to a paragraph. | + +#### Comments + +| Operation | CLI command | Description | +| --- | --- | --- | +| `doc.comments.add` | `comments add` | Add a new comment thread anchored to a target range. | +| `doc.comments.edit` | `comments edit` | Edit the content of an existing comment. | +| `doc.comments.reply` | `comments reply` | Add a reply to an existing comment thread. | +| `doc.comments.move` | `comments move` | Move a comment thread to a new anchor range. | +| `doc.comments.resolve` | `comments resolve` | Resolve or unresolve a comment thread. | +| `doc.comments.remove` | `comments remove` | Remove a comment or reply by ID. | +| `doc.comments.setInternal` | `comments set-internal` | Toggle the internal (private) flag on a comment thread. | +| `doc.comments.setActive` | `comments set-active` | Set the active (focused) comment thread for UI highlighting. | +| `doc.comments.goTo` | `comments go-to` | Scroll the viewport to a comment thread by ID. | +| `doc.comments.get` | `comments get` | Retrieve a single comment thread by ID. | +| `doc.comments.list` | `comments list` | List all comment threads in the document. | + +#### Track changes + +| Operation | CLI command | Description | +| --- | --- | --- | +| `doc.trackChanges.list` | `track-changes list` | List all tracked changes in the document. | +| `doc.trackChanges.get` | `track-changes get` | Retrieve a single tracked change by ID. | +| `doc.trackChanges.accept` | `track-changes accept` | Accept a tracked change, applying it permanently. | +| `doc.trackChanges.reject` | `track-changes reject` | Reject a tracked change, reverting it. | +| `doc.trackChanges.acceptAll` | `track-changes accept-all` | Accept all tracked changes in the document. | +| `doc.trackChanges.rejectAll` | `track-changes reject-all` | Reject all tracked changes in the document. | + +#### Session + +| Operation | CLI command | Description | +| --- | --- | --- | +| `doc.session.list` | `session list` | List all active editing sessions. | +| `doc.session.save` | `session save` | Persist the current session state. | +| `doc.session.close` | `session close` | Close a specific editing session by ID. | +| `doc.session.setDefault` | `session set-default` | Set the default session for subsequent commands. | + +#### Introspection + +| Operation | CLI command | Description | +| --- | --- | --- | +| `doc.status` | `status` | Show the current session status and document metadata. | +| `doc.describe` | `describe` | List all available CLI operations and contract metadata. | +| `doc.describeCommand` | `describe command` | Show detailed metadata for a single CLI operation. | +{/* SDK_OPERATIONS_END */} + +## Related + +- [Document API](/document-api/overview) — the in-browser API that defines the operation set +- [CLI](/document-engine/cli) — use the same operations from the terminal diff --git a/apps/docs/scripts/generate-sdk-overview.ts b/apps/docs/scripts/generate-sdk-overview.ts new file mode 100644 index 0000000000..0485c8bd1d --- /dev/null +++ b/apps/docs/scripts/generate-sdk-overview.ts @@ -0,0 +1,157 @@ +/** + * Generate the operations table in the SDK overview page. + * + * Reads the SDK contract JSON and injects a categorized operations table + * into the marker block in `apps/docs/document-engine/sdks.mdx`. + * + * Requires: `apps/cli/generated/sdk-contract.json` to exist on disk. + * Run `pnpm run cli:export-sdk-contract` first if it doesn't. + */ + +import { readFile, writeFile } from 'node:fs/promises'; +import { dirname, resolve } from 'node:path'; +import { fileURLToPath } from 'node:url'; + +// --------------------------------------------------------------------------- +// Paths +// --------------------------------------------------------------------------- + +const __dirname = dirname(fileURLToPath(import.meta.url)); +const REPO_ROOT = resolve(__dirname, '../../..'); +const CONTRACT_PATH = resolve(REPO_ROOT, 'apps/cli/generated/sdk-contract.json'); +const SDK_OVERVIEW_PATH = resolve(REPO_ROOT, 'apps/docs/document-engine/sdks.mdx'); + +// --------------------------------------------------------------------------- +// Marker block +// --------------------------------------------------------------------------- + +const MARKER_START = '{/* SDK_OPERATIONS_START */}'; +const MARKER_END = '{/* SDK_OPERATIONS_END */}'; + +function replaceMarkerBlock(content: string, replacement: string): string { + const startIndex = content.indexOf(MARKER_START); + const endIndex = content.indexOf(MARKER_END); + + if (startIndex === -1 || endIndex === -1 || endIndex < startIndex) { + throw new Error(`Marker block not found in SDK overview. Expected ${MARKER_START} ... ${MARKER_END}.`); + } + + const endMarkerEnd = endIndex + MARKER_END.length; + return `${content.slice(0, startIndex)}${replacement}${content.slice(endMarkerEnd)}`; +} + +// --------------------------------------------------------------------------- +// Contract types (minimal — only what we need for rendering) +// --------------------------------------------------------------------------- + +interface ContractOperation { + operationId: string; + command: string; + category: string; + description: string; + mutates: boolean; + supportsTrackedMode: boolean; + supportsDryRun: boolean; +} + +interface SdkContract { + operations: Record; +} + +// --------------------------------------------------------------------------- +// Category display order and labels +// --------------------------------------------------------------------------- + +const CATEGORY_ORDER = [ + 'lifecycle', + 'query', + 'mutation', + 'format', + 'create', + 'lists', + 'comments', + 'trackChanges', + 'session', + 'introspection', +] as const; + +const CATEGORY_LABELS: Record = { + lifecycle: 'Lifecycle', + query: 'Query', + mutation: 'Mutation', + format: 'Format', + create: 'Create', + lists: 'Lists', + comments: 'Comments', + trackChanges: 'Track changes', + session: 'Session', + introspection: 'Introspection', +}; + +// --------------------------------------------------------------------------- +// Rendering +// --------------------------------------------------------------------------- + +function groupByCategory(operations: ContractOperation[]): Map { + const groups = new Map(); + + for (const op of operations) { + const list = groups.get(op.category) ?? []; + list.push(op); + groups.set(op.category, list); + } + + return groups; +} + +function renderOperationsTable(operations: ContractOperation[]): string { + const grouped = groupByCategory(operations); + + const sections: string[] = []; + + for (const category of CATEGORY_ORDER) { + const ops = grouped.get(category); + if (!ops || ops.length === 0) continue; + + const label = CATEGORY_LABELS[category] ?? category; + const rows = ops.map((op) => `| \`${op.operationId}\` | \`${op.command}\` | ${op.description} |`).join('\n'); + + sections.push(`#### ${label}\n\n| Operation | CLI command | Description |\n| --- | --- | --- |\n${rows}`); + } + + return sections.join('\n\n'); +} + +function renderMarkerBlock(operations: ContractOperation[]): string { + const table = renderOperationsTable(operations); + + return `${MARKER_START} +## Available operations + +The SDKs expose all operations from the [Document API](/document-api/overview) plus lifecycle and session commands. The tables below are grouped by category. + +${table} +${MARKER_END}`; +} + +// --------------------------------------------------------------------------- +// Main +// --------------------------------------------------------------------------- + +async function main(): Promise { + const contractRaw = await readFile(CONTRACT_PATH, 'utf8'); + const contract: SdkContract = JSON.parse(contractRaw); + const operations = Object.values(contract.operations); + + const overviewContent = await readFile(SDK_OVERVIEW_PATH, 'utf8'); + const block = renderMarkerBlock(operations); + const updated = replaceMarkerBlock(overviewContent, block); + + await writeFile(SDK_OVERVIEW_PATH, updated, 'utf8'); + console.log(`generated SDK overview operations table (${operations.length} operations)`); +} + +main().catch((error) => { + console.error('generate-sdk-overview failed:', error.message ?? error); + process.exitCode = 1; +}); diff --git a/apps/docs/scripts/validate-code-imports.ts b/apps/docs/scripts/validate-code-imports.ts index 6c77be587e..0601c995ca 100644 --- a/apps/docs/scripts/validate-code-imports.ts +++ b/apps/docs/scripts/validate-code-imports.ts @@ -26,6 +26,7 @@ const EXACT_SUPERDOC_IMPORTS = new Set([ '@superdoc-dev/esign', '@superdoc-dev/esign/styles.css', '@superdoc-dev/react', + '@superdoc-dev/sdk', '@superdoc-dev/react/style.css', '@superdoc-dev/template-builder', '@superdoc-dev/template-builder/defaults', diff --git a/eslint.config.mjs b/eslint.config.mjs index d6dcd980ec..35c5cdbca3 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -143,6 +143,7 @@ export default [ '^bun:.*$', // Bun built-in modules '^superdoc$', '^superdoc/style\\.css$', + '^\\..*\/generated\/', // Generated files (codegen artifacts, not in git) ], } ] diff --git a/package.json b/package.json index 9a122054a0..bb7cdc1794 100644 --- a/package.json +++ b/package.json @@ -73,6 +73,7 @@ "cli:release": "pnpm run cli:prepare && pnpm --prefix apps/cli run publish:platforms", "cli:release:dry": "pnpm run cli:prepare && pnpm --prefix apps/cli run publish:platforms:dry", "cli:export-sdk-contract": "bun apps/cli/scripts/export-sdk-contract.ts", + "docs:sync-engine": "pnpm exec tsx apps/docs/scripts/generate-sdk-overview.ts", "sdk:sync-version": "node packages/sdk/scripts/sync-sdk-version.mjs", "sdk:release": "node packages/sdk/scripts/sdk-release.mjs", "sdk:release:dry": "node packages/sdk/scripts/sdk-release.mjs --dry-run" diff --git a/packages/sdk/langs/node/src/index.ts b/packages/sdk/langs/node/src/index.ts index 396260d788..c0901411de 100644 --- a/packages/sdk/langs/node/src/index.ts +++ b/packages/sdk/langs/node/src/index.ts @@ -1,4 +1,3 @@ - import { createDocApi } from './generated/client.js'; import { SuperDocRuntime, type SuperDocClientOptions } from './runtime/process.js'; diff --git a/packages/sdk/langs/node/src/tools.ts b/packages/sdk/langs/node/src/tools.ts index be2beed7ec..7c83149254 100644 --- a/packages/sdk/langs/node/src/tools.ts +++ b/packages/sdk/langs/node/src/tools.ts @@ -2,7 +2,6 @@ import { readFile } from 'node:fs/promises'; import { readFileSync } from 'node:fs'; import path from 'node:path'; import { fileURLToPath } from 'node:url'; - import { CONTRACT } from './generated/contract.js'; import type { InvokeOptions } from './runtime/process.js'; import { SuperDocCliError } from './runtime/errors.js'; diff --git a/packages/sdk/scripts/sdk-release.mjs b/packages/sdk/scripts/sdk-release.mjs index 303402da4c..c125664921 100644 --- a/packages/sdk/scripts/sdk-release.mjs +++ b/packages/sdk/scripts/sdk-release.mjs @@ -111,42 +111,17 @@ async function main() { }); // --- Python SDK --- - // TODO: Remove this guard when PyPI publishing is ready. - // eslint-disable-next-line no-constant-condition - if (true) { - console.log('\n--- Python SDK (skipped — not yet published to PyPI) ---'); - } else { - console.log('\n--- Python SDK ---'); + // Python publishing is handled by the release-sdk.yml workflow via PyPI trusted publishing (OIDC). + // This script only builds the wheel for local verification. + console.log('\n--- Python SDK (build only — publish via release-sdk.yml workflow) ---'); const pythonToolsSymlink = path.join(PYTHON_SDK_DIR, 'superdoc', 'tools'); await withMaterializedTools(pythonToolsSymlink, '../../../tools', async () => { - // Clean previous build artifacts await rm(path.join(PYTHON_SDK_DIR, 'dist'), { recursive: true, force: true }); await rm(path.join(PYTHON_SDK_DIR, 'build'), { recursive: true, force: true }); - // Build sdist + wheel await run('python3', ['-m', 'build'], { cwd: PYTHON_SDK_DIR }); - - if (dryRun) { - console.log(' (dry-run) Would publish Python wheel via twine.'); - try { - await run('python3', ['-m', 'twine', 'check', 'dist/*'], { cwd: PYTHON_SDK_DIR }); - } catch { - console.log(' (dry-run) twine not available — skipping dist check.'); - } - } else { - const pypiToken = process.env.PYPI_TOKEN ?? process.env.TWINE_PASSWORD; - if (!pypiToken) { - throw new Error('Missing PyPI auth token. Set PYPI_TOKEN or TWINE_PASSWORD before sdk:release.'); - } - await run('python3', ['-m', 'twine', 'upload', 'dist/*'], { - cwd: PYTHON_SDK_DIR, - env: { - TWINE_USERNAME: '__token__', - TWINE_PASSWORD: pypiToken, - }, - }); - } + console.log(' Python wheel built. Use the release-sdk.yml workflow to publish to PyPI.'); // Clean build artifacts await rm(path.join(PYTHON_SDK_DIR, 'dist'), { recursive: true, force: true }); @@ -154,7 +129,6 @@ async function main() { await rm(path.join(PYTHON_SDK_DIR, 'superdoc_sdk.egg-info'), { recursive: true, force: true }); try { await rm(path.join(PYTHON_SDK_DIR, 'setup.py'), { force: true }); } catch { /* noop */ } }); - } // end skip-python guard console.log(`\nSDK release${dryRun ? ' dry-run' : ''} complete.`); } diff --git a/scripts/generate-all.mjs b/scripts/generate-all.mjs index b18b68747c..21b7ac236b 100644 --- a/scripts/generate-all.mjs +++ b/scripts/generate-all.mjs @@ -4,9 +4,10 @@ * Full generation DAG — produces all derived artifacts from source-of-truth inputs. * * Phases (sequential — each depends on the previous): - * 1. docapi:sync → packages/document-api/generated/** + apps/docs/document-api/reference/** + * 1. docapi:sync → packages/document-api/generated/** + apps/docs/document-api/reference/** * 2. cli:export-sdk-contract → apps/cli/generated/sdk-contract.json - * 3. sdk codegen → packages/sdk/langs/{node,python}/…/generated/** + packages/sdk/tools/*.json + * 3. docs:sync-engine → SDK overview operations table in apps/docs/document-engine/sdks.mdx + * 4. sdk codegen → packages/sdk/langs/{node,python}/…/generated/** + packages/sdk/tools/*.json * * Before generation, gitignored output directories are cleaned to prevent stale file accumulation. * apps/docs/document-api/reference/ is NOT cleaned here — it stays committed (Mintlify deploys from git) @@ -79,8 +80,12 @@ async function main() { console.log('\n--- Phase 2: cli:export-sdk-contract ---'); await run('bun', [path.join(REPO_ROOT, 'apps/cli/scripts/export-sdk-contract.ts')]); - // Phase 4: SDK codegen (Node + Python clients + tool catalogs) - console.log('\n--- Phase 3: sdk codegen ---'); + // Phase 4: Docs — SDK overview operations table + console.log('\n--- Phase 3: docs:sync-engine ---'); + await run('pnpm', ['exec', 'tsx', path.join(REPO_ROOT, 'apps/docs/scripts/generate-sdk-overview.ts')]); + + // Phase 5: SDK codegen (Node + Python clients + tool catalogs) + console.log('\n--- Phase 4: sdk codegen ---'); await run('node', [path.join(REPO_ROOT, 'packages/sdk/codegen/src/generate-all.mjs')]); console.log('\ngenerate:all complete.');