@superdoc/sdk 2.22.0-next.9 → 2.23.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/action-descriptors.json +2 -2
- package/dist/agent/actions.cjs +295 -134
- package/dist/agent/actions.d.ts +3 -0
- package/dist/agent/actions.js +295 -134
- package/dist/agent/catalog.cjs +15 -1
- package/dist/agent/catalog.js +15 -1
- package/dist/embedded-prompts.generated.cjs +2 -2
- package/dist/embedded-prompts.generated.js +2 -2
- package/dist/embedded-tools.generated.cjs +7 -7
- package/dist/embedded-tools.generated.js +7 -7
- package/dist/generated/client.d.ts +1538 -494
- package/dist/generated/contract.cjs +1 -1
- package/dist/generated/contract.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/prompts/mcp-prompt.md +2 -0
- package/dist/prompts/system-prompt.md +1 -1
- package/dist/runtime/sdk-version.generated.cjs +1 -1
- package/dist/runtime/sdk-version.generated.d.ts +1 -1
- package/dist/runtime/sdk-version.generated.js +1 -1
- package/package.json +6 -6
- package/tools/catalog.json +171 -3
- package/tools/generation-receipt.json +24 -24
- package/tools/prompt-templates/system-prompt-core.md +1 -0
- package/tools/system-prompt-mcp.md +1 -0
- package/tools/system-prompt.md +1 -0
- package/tools/tools-policy.json +1 -1
- package/tools/tools.anthropic.json +171 -3
- package/tools/tools.generic.json +171 -3
- package/tools/tools.openai.json +171 -3
- package/tools/tools.vercel.json +171 -3
package/dist/index.d.ts
CHANGED
|
@@ -94,7 +94,7 @@ export type { AnthropicSystemPrompt, CacheStrategy, SystemPromptForProviderResul
|
|
|
94
94
|
export { dispatchIntentTool } from './generated/intent-dispatch.generated.js';
|
|
95
95
|
export { wrapV2PresetCompat } from './agent/v2-preset-compat.js';
|
|
96
96
|
export type { BoundDocApi } from './generated/client.js';
|
|
97
|
-
export type { ActionName, ActionDisposition } from './agent/actions.js';
|
|
97
|
+
export type { ActionName, ActionDisposition, ReplaceTextArgs } from './agent/actions.js';
|
|
98
98
|
export { getActionDispositions } from './agent/actions.js';
|
|
99
99
|
export { getOperationInputAliases } from './agent/operation-catalog.js';
|
|
100
100
|
export type { AgentReceipt, AgentApplyArgs, AgentVerifyArgs, AgentInspectResult } from './agent/runtime.js';
|
|
@@ -18,6 +18,8 @@ These tools handle the OOXML format correctly and preserve document structure.
|
|
|
18
18
|
|
|
19
19
|
**Edit with named actions.** `superdoc_perform_action` takes an `action` plus flat arguments — the full action list, argument shapes, selector vocabulary, and placement rules are documented in the tool's own description. Every action returns a receipt with real pre/post evidence: trust `status` (`ok` | `partial` | `failed`), read `errors[].message` for recovery guidance, and re-inspect after `partial`.
|
|
20
20
|
|
|
21
|
+
**Target one repeated match.** For `replace_text`, scope to one block with a selector and set `occurrence` on the edit (1 = first match in that block) to change only that match. Also pass `expectedRevision` from your latest inspect or receipt; on `REVISION_CONFLICT`, inspect again and recount.
|
|
22
|
+
|
|
21
23
|
**Tracked changes (redlining).** Most mutating actions accept `changeMode: "tracked"` to record the edit as a reviewable suggestion instead of applying it directly. Review with `accept_tracked_changes` / `reject_tracked_changes` (target one change with `id`, or an exact set with `id:[…]`; or filter by `author` or `changeType`). Do not combine exact IDs with filters. Recover with `undo_changes` / `redo_changes`.
|
|
22
24
|
|
|
23
25
|
**Failures are safe.** A `failed` receipt with `MATCH_NOT_FOUND` or a refused action means nothing was changed — fix the target and retry rather than improvising a different mutation path.
|
|
@@ -48,7 +48,7 @@ ACTIONS (superdoc_perform_action with flat args)
|
|
|
48
48
|
- undo_changes: untilMarker (rendered marker from the original state, e.g. "2.1.") or steps (1-25). Deterministic revert — steps history back until the marker reappears; the receipt proves it. NEVER use steps > 1 blindly: prefer untilMarker, and after ANY undo verify (superdoc_inspect) that content you meant to KEEP still exists — if you overshot, redo_changes {steps:N} steps forward again to recover it.
|
|
49
49
|
- redo_changes: steps (1-25, default 1). Steps history FORWARD to re-apply edits a prior undo removed — THE recovery for an undo overshoot. Only reaches the forward branch until a NEW edit is made.
|
|
50
50
|
- attach_numbering: anchorText (text of the block) or nodeId, likeMarker (rendered marker of a sibling clause, e.g. "10."). Makes an EXISTING block a numbered clause at the same scheme/level — "make this the section 11 heading" in a clause-numbered document is exactly this (it will render as the next number).
|
|
51
|
-
- replace_text: edits:[{find,replace}], caseSensitive default false. selector to scope. changeMode:"tracked" if asked. The receipt reports editsApplied and editsSkipped per find — READ IT: a skipped find is not in the selected block; re-target instead of assuming success.
|
|
51
|
+
- replace_text: edits:[{find,replace,occurrence?}], caseSensitive default false. selector to scope. Keep find/replace spans MINIMAL. If the find appears more than once in the selected block and only one should change, give that edit occurrence (1 = first match in the block; needs selector; not selector.occurrence). With occurrence, also pass expectedRevision from your latest inspect or receipt; on REVISION_CONFLICT inspect again and recount. changeMode:"tracked" if asked. The receipt reports editsApplied and editsSkipped per find — READ IT: a skipped find is not in the selected block; re-target instead of assuming success.
|
|
52
52
|
- delete_text: finds:[string]. selector to scope deletions to ONE block — REQUIRED for whitespace-only finds (unscoped whitespace matches document-wide and is refused). changeMode:"tracked" if asked. Deletes TEXT ONLY: the block survives, so a list item keeps its bullet/number and an accepted tracked deletion leaves an empty numbered item behind. To remove the item itself use delete_blocks.
|
|
53
53
|
- delete_blocks: selectors:[…], each resolving to ONE block (list item, paragraph or heading). changeMode:"tracked" if asked. THE way to DELETE a whole LIST ITEM, paragraph or heading — the bullet/number goes with it and the remaining items renumber. "Delete the first item under Article II" / "remove that clause" is exactly this, NOT delete_text. Pass every target in ONE call. Use delete_table for a whole table.
|
|
54
54
|
- rewrite_block: selector, text. Inspect first to gather current text; never ask the user to paste text already in the doc.
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
// AUTO-GENERATED by scripts/embed-version.mjs — DO NOT EDIT.
|
|
4
4
|
// Source of truth: package.json. Regenerated on every SDK build so the
|
|
5
5
|
// SDK retains its own version identity when bundled into another package.
|
|
6
|
-
const SDK_VERSION = '2.
|
|
6
|
+
const SDK_VERSION = '2.23.0-next.1';
|
|
7
7
|
|
|
8
8
|
exports.SDK_VERSION = SDK_VERSION;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "2.
|
|
1
|
+
export declare const SDK_VERSION = "2.23.0-next.1";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// AUTO-GENERATED by scripts/embed-version.mjs — DO NOT EDIT.
|
|
2
2
|
// Source of truth: package.json. Regenerated on every SDK build so the
|
|
3
3
|
// SDK retains its own version identity when bundled into another package.
|
|
4
|
-
export const SDK_VERSION = '2.
|
|
4
|
+
export const SDK_VERSION = '2.23.0-next.1';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@superdoc/sdk",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.23.0-next.1",
|
|
4
4
|
"description": "Node SDK for SuperDoc, wrapping the SuperDoc CLI to read and edit .docx files from JavaScript and TypeScript.",
|
|
5
5
|
"private": false,
|
|
6
6
|
"license": "AGPL-3.0",
|
|
@@ -38,11 +38,11 @@
|
|
|
38
38
|
"typescript": "^5.9.2"
|
|
39
39
|
},
|
|
40
40
|
"optionalDependencies": {
|
|
41
|
-
"@superdoc/sdk-darwin-arm64": "2.
|
|
42
|
-
"@superdoc/sdk-darwin-x64": "2.
|
|
43
|
-
"@superdoc/sdk-linux-x64": "2.
|
|
44
|
-
"@superdoc/sdk-linux-arm64": "2.
|
|
45
|
-
"@superdoc/sdk-windows-x64": "2.
|
|
41
|
+
"@superdoc/sdk-darwin-arm64": "2.23.0-next.1",
|
|
42
|
+
"@superdoc/sdk-darwin-x64": "2.23.0-next.1",
|
|
43
|
+
"@superdoc/sdk-linux-x64": "2.23.0-next.1",
|
|
44
|
+
"@superdoc/sdk-linux-arm64": "2.23.0-next.1",
|
|
45
|
+
"@superdoc/sdk-windows-x64": "2.23.0-next.1"
|
|
46
46
|
},
|
|
47
47
|
"publishConfig": {
|
|
48
48
|
"access": "public"
|
package/tools/catalog.json
CHANGED
|
@@ -4654,6 +4654,10 @@
|
|
|
4654
4654
|
"type": "string",
|
|
4655
4655
|
"description": "Text content for the new list item. Only for action 'insert'. Omit for other actions."
|
|
4656
4656
|
},
|
|
4657
|
+
"inheritFrom": {
|
|
4658
|
+
"$ref": "#/$defs/ListItemAddress",
|
|
4659
|
+
"description": "Optional same-story list item to inherit paragraph and run formatting from without changing placement or numbering. When omitted, existing paragraph-creation formatting behavior, including next-style handling, is preserved. Only for action 'insert'. Omit for other actions."
|
|
4660
|
+
},
|
|
4657
4661
|
"input": {
|
|
4658
4662
|
"type": "object",
|
|
4659
4663
|
"description": "Operation input as JSON object."
|
|
@@ -6539,7 +6543,7 @@
|
|
|
6539
6543
|
},
|
|
6540
6544
|
{
|
|
6541
6545
|
"toolName": "superdoc_search",
|
|
6542
|
-
"description": "Find text patterns or nodes in the document and get ref handles for targeting edits and formatting. Refs expire after any mutation that changes the document. Re-search before the next edit when using individual tools (superdoc_edit, superdoc_format). Within a superdoc_mutations batch, selectors in \"where\" clauses resolve automatically at compile time; no manual re-searching needed between steps. Text search returns handle.ref covering only the matched substring. Node search finds blocks by type (paragraph, heading, table, listItem, etc.). The \"require\" parameter controls match cardinality: \"first\" returns one match, \"all\" returns every match, \"exactlyOne\" fails if not exactly one match. Supports scoping via \"within\" to search inside a single block. Patterns are plain text by default; pass select.mode: \"regex\" for regular-expression search (g/gi semantics, 1024-char cap, no wholeWord, capture groups returned on matches). Invalid or unsafe patterns fail with INVALID_INPUT. Do NOT use markdown formatting markers (#, **, etc.) in search patterns. Do NOT use this tool when you already have a ref from superdoc_get_content blocks or superdoc_create; use that ref directly.\n\nEXAMPLES:\n 1. {\"select\":{\"type\":\"text\",\"pattern\":\"Introduction\"},\"require\":\"first\"}\n 2. {\"select\":{\"type\":\"text\",\"pattern\":\"total amount\"},\"require\":\"all\"}\n 3. {\"select\":{\"type\":\"node\",\"nodeType\":\"heading\"},\"require\":\"all\"}\n 4. {\"select\":{\"type\":\"text\",\"pattern\":\"contract\"},\"within\":{\"kind\":\"block\",\"nodeType\":\"paragraph\",\"nodeId\":\"abc123\"},\"require\":\"first\"}",
|
|
6546
|
+
"description": "Find text patterns or nodes in the document and get ref handles for targeting edits and formatting. Refs expire after any mutation that changes the document. Re-search before the next edit when using individual tools (superdoc_edit, superdoc_format). Within a superdoc_mutations batch, selectors in \"where\" clauses resolve automatically at compile time; no manual re-searching needed between steps. Text search returns handle.ref covering only the matched substring. Node search finds blocks by type (paragraph, heading, table, listItem, etc.). The \"require\" parameter controls match cardinality: \"first\" returns one match, \"last\" returns the final match (without limit/offset), \"all\" returns every match, \"exactlyOne\" fails if not exactly one match. Supports scoping via \"within\" to search inside a single block. Patterns are plain text by default; pass select.mode: \"regex\" for regular-expression search (g/gi semantics, 1024-char cap, no wholeWord, capture groups returned on matches). Invalid or unsafe patterns fail with INVALID_INPUT. Do NOT use markdown formatting markers (#, **, etc.) in search patterns. Do NOT use this tool when you already have a ref from superdoc_get_content blocks or superdoc_create; use that ref directly.\n\nEXAMPLES:\n 1. {\"select\":{\"type\":\"text\",\"pattern\":\"Introduction\"},\"require\":\"first\"}\n 2. {\"select\":{\"type\":\"text\",\"pattern\":\"total amount\"},\"require\":\"all\"}\n 3. {\"select\":{\"type\":\"node\",\"nodeType\":\"heading\"},\"require\":\"all\"}\n 4. {\"select\":{\"type\":\"text\",\"pattern\":\"contract\"},\"within\":{\"kind\":\"block\",\"nodeType\":\"paragraph\",\"nodeId\":\"abc123\"},\"require\":\"first\"}",
|
|
6543
6547
|
"inputSchema": {
|
|
6544
6548
|
"type": "object",
|
|
6545
6549
|
"properties": {
|
|
@@ -6646,10 +6650,11 @@
|
|
|
6646
6650
|
"enum": [
|
|
6647
6651
|
"any",
|
|
6648
6652
|
"first",
|
|
6653
|
+
"last",
|
|
6649
6654
|
"exactlyOne",
|
|
6650
6655
|
"all"
|
|
6651
6656
|
],
|
|
6652
|
-
"description": "Match cardinality: 'any' (all matches), 'first' (only first), 'exactlyOne' (fail if != 1), 'all' (fail if 0)."
|
|
6657
|
+
"description": "Match cardinality: 'any' (all matches), 'first' (only first), 'last' (final scoped match, without limit/offset), 'exactlyOne' (fail if != 1), 'all' (fail if 0). For 'last', page.offset reports the selected match's ordinal in the full set."
|
|
6653
6658
|
},
|
|
6654
6659
|
"mode": {
|
|
6655
6660
|
"enum": [
|
|
@@ -9225,10 +9230,133 @@
|
|
|
9225
9230
|
"where",
|
|
9226
9231
|
"args"
|
|
9227
9232
|
]
|
|
9233
|
+
},
|
|
9234
|
+
{
|
|
9235
|
+
"type": "object",
|
|
9236
|
+
"properties": {
|
|
9237
|
+
"id": {
|
|
9238
|
+
"type": "string",
|
|
9239
|
+
"minLength": 1
|
|
9240
|
+
},
|
|
9241
|
+
"op": {
|
|
9242
|
+
"const": "comments.patch",
|
|
9243
|
+
"type": "string"
|
|
9244
|
+
},
|
|
9245
|
+
"args": {
|
|
9246
|
+
"type": "object",
|
|
9247
|
+
"properties": {
|
|
9248
|
+
"commentId": {
|
|
9249
|
+
"type": "string",
|
|
9250
|
+
"minLength": 1
|
|
9251
|
+
},
|
|
9252
|
+
"target": {
|
|
9253
|
+
"oneOf": [
|
|
9254
|
+
{
|
|
9255
|
+
"$ref": "#/$defs/TextAddress"
|
|
9256
|
+
},
|
|
9257
|
+
{
|
|
9258
|
+
"$ref": "#/$defs/SelectionTarget"
|
|
9259
|
+
}
|
|
9260
|
+
]
|
|
9261
|
+
}
|
|
9262
|
+
},
|
|
9263
|
+
"additionalProperties": false,
|
|
9264
|
+
"required": [
|
|
9265
|
+
"commentId",
|
|
9266
|
+
"target"
|
|
9267
|
+
]
|
|
9268
|
+
}
|
|
9269
|
+
},
|
|
9270
|
+
"additionalProperties": false,
|
|
9271
|
+
"required": [
|
|
9272
|
+
"id",
|
|
9273
|
+
"op",
|
|
9274
|
+
"args"
|
|
9275
|
+
]
|
|
9276
|
+
},
|
|
9277
|
+
{
|
|
9278
|
+
"type": "object",
|
|
9279
|
+
"properties": {
|
|
9280
|
+
"id": {
|
|
9281
|
+
"type": "string",
|
|
9282
|
+
"minLength": 1
|
|
9283
|
+
},
|
|
9284
|
+
"op": {
|
|
9285
|
+
"const": "trackChanges.decide",
|
|
9286
|
+
"type": "string"
|
|
9287
|
+
},
|
|
9288
|
+
"args": {
|
|
9289
|
+
"type": "object",
|
|
9290
|
+
"properties": {
|
|
9291
|
+
"decision": {
|
|
9292
|
+
"enum": [
|
|
9293
|
+
"accept",
|
|
9294
|
+
"reject"
|
|
9295
|
+
],
|
|
9296
|
+
"type": "string"
|
|
9297
|
+
},
|
|
9298
|
+
"target": {
|
|
9299
|
+
"oneOf": [
|
|
9300
|
+
{
|
|
9301
|
+
"type": "object",
|
|
9302
|
+
"properties": {
|
|
9303
|
+
"kind": {
|
|
9304
|
+
"const": "id",
|
|
9305
|
+
"type": "string"
|
|
9306
|
+
},
|
|
9307
|
+
"id": {
|
|
9308
|
+
"type": "string",
|
|
9309
|
+
"minLength": 1
|
|
9310
|
+
}
|
|
9311
|
+
},
|
|
9312
|
+
"additionalProperties": false,
|
|
9313
|
+
"required": [
|
|
9314
|
+
"kind",
|
|
9315
|
+
"id"
|
|
9316
|
+
]
|
|
9317
|
+
},
|
|
9318
|
+
{
|
|
9319
|
+
"type": "object",
|
|
9320
|
+
"properties": {
|
|
9321
|
+
"kind": {
|
|
9322
|
+
"const": "ids",
|
|
9323
|
+
"type": "string"
|
|
9324
|
+
},
|
|
9325
|
+
"ids": {
|
|
9326
|
+
"type": "array",
|
|
9327
|
+
"items": {
|
|
9328
|
+
"type": "string",
|
|
9329
|
+
"minLength": 1
|
|
9330
|
+
},
|
|
9331
|
+
"minItems": 1
|
|
9332
|
+
}
|
|
9333
|
+
},
|
|
9334
|
+
"additionalProperties": false,
|
|
9335
|
+
"required": [
|
|
9336
|
+
"kind",
|
|
9337
|
+
"ids"
|
|
9338
|
+
]
|
|
9339
|
+
}
|
|
9340
|
+
]
|
|
9341
|
+
}
|
|
9342
|
+
},
|
|
9343
|
+
"additionalProperties": false,
|
|
9344
|
+
"required": [
|
|
9345
|
+
"decision",
|
|
9346
|
+
"target"
|
|
9347
|
+
]
|
|
9348
|
+
}
|
|
9349
|
+
},
|
|
9350
|
+
"additionalProperties": false,
|
|
9351
|
+
"required": [
|
|
9352
|
+
"id",
|
|
9353
|
+
"op",
|
|
9354
|
+
"args"
|
|
9355
|
+
]
|
|
9228
9356
|
}
|
|
9229
9357
|
]
|
|
9230
9358
|
},
|
|
9231
|
-
"description": "Ordered array of mutation steps. Each step needs 'op' (text.rewrite, text.insert, text.delete, format.apply, structural.replace, or
|
|
9359
|
+
"description": "Ordered array of mutation steps. Each step needs 'op' (text.rewrite, text.insert, text.delete, format.apply, structural.replace, assert, comments.patch, or trackChanges.decide). Core steps use 'where'; review steps use explicit native args and require direct body-only plans with relocations before decisions. Check runtime capabilities for operation-specific content and targeting restrictions."
|
|
9232
9360
|
},
|
|
9233
9361
|
"detail": {
|
|
9234
9362
|
"type": "object",
|
|
@@ -9299,6 +9427,22 @@
|
|
|
9299
9427
|
"exact"
|
|
9300
9428
|
]
|
|
9301
9429
|
},
|
|
9430
|
+
"Range": {
|
|
9431
|
+
"type": "object",
|
|
9432
|
+
"properties": {
|
|
9433
|
+
"start": {
|
|
9434
|
+
"type": "integer"
|
|
9435
|
+
},
|
|
9436
|
+
"end": {
|
|
9437
|
+
"type": "integer"
|
|
9438
|
+
}
|
|
9439
|
+
},
|
|
9440
|
+
"additionalProperties": false,
|
|
9441
|
+
"required": [
|
|
9442
|
+
"start",
|
|
9443
|
+
"end"
|
|
9444
|
+
]
|
|
9445
|
+
},
|
|
9302
9446
|
"SectionAddress": {
|
|
9303
9447
|
"type": "object",
|
|
9304
9448
|
"properties": {
|
|
@@ -9590,6 +9734,30 @@
|
|
|
9590
9734
|
}
|
|
9591
9735
|
]
|
|
9592
9736
|
},
|
|
9737
|
+
"TextAddress": {
|
|
9738
|
+
"type": "object",
|
|
9739
|
+
"properties": {
|
|
9740
|
+
"kind": {
|
|
9741
|
+
"const": "text",
|
|
9742
|
+
"type": "string"
|
|
9743
|
+
},
|
|
9744
|
+
"blockId": {
|
|
9745
|
+
"type": "string"
|
|
9746
|
+
},
|
|
9747
|
+
"range": {
|
|
9748
|
+
"$ref": "#/$defs/Range"
|
|
9749
|
+
},
|
|
9750
|
+
"story": {
|
|
9751
|
+
"$ref": "#/$defs/StoryLocator"
|
|
9752
|
+
}
|
|
9753
|
+
},
|
|
9754
|
+
"additionalProperties": false,
|
|
9755
|
+
"required": [
|
|
9756
|
+
"kind",
|
|
9757
|
+
"blockId",
|
|
9758
|
+
"range"
|
|
9759
|
+
]
|
|
9760
|
+
},
|
|
9593
9761
|
"TextCoordinateSpace": {
|
|
9594
9762
|
"enum": [
|
|
9595
9763
|
"visible",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"formatVersion": 1,
|
|
3
|
-
"contractHash": "
|
|
4
|
-
"documentApiSourceHash": "
|
|
5
|
-
"generatorHash": "
|
|
3
|
+
"contractHash": "a50e3283a59cc54e270632a210613381fcc1fcb469df230377ca36b4580ff65b",
|
|
4
|
+
"documentApiSourceHash": "788fb8f77b3891ff66bc0f288c8279a2eeda74ac758cd310e00d297bb47468ab",
|
|
5
|
+
"generatorHash": "fb5b46535ab172607fc6d07e1ff578237a974b75f05f0e23137e8cc76bb7c98e",
|
|
6
6
|
"inputs": {
|
|
7
7
|
"apps/cli/src/host/sdk-policy.ts": "0adb494bf71f21f9736080b79d59a4205fa9445caa806e28333b738e99e764a7",
|
|
8
8
|
"packages/sdk/codegen/src/artifacts.mjs": "aecab7eca4694cbcf2366ddd9cabc033abddad2ff8fb0960d505580dbaf4d8b7",
|
|
@@ -15,16 +15,16 @@
|
|
|
15
15
|
"packages/sdk/codegen/src/model/schema.mjs": "29cb1167413280907ad324d8a1fcb54dc70cce829df00c1a755f43040d01cf3b",
|
|
16
16
|
"packages/sdk/codegen/src/shared.mjs": "a411e7ea4fab43b5b08b00294c746ff7063ceddbae66ece8d8c5990f131e0f7c",
|
|
17
17
|
"packages/sdk/codegen/src/targets.mjs": "62c5ae3e3813e07b37e62487d973bac60ef6bea558a01f3ace2e0c6e8374e147",
|
|
18
|
-
"packages/sdk/langs/node/package.json": "
|
|
18
|
+
"packages/sdk/langs/node/package.json": "efd825a5e97cece804c736e10eb843a3ed7a2e4ebb8c2a5ada80380ecd9a6e45",
|
|
19
19
|
"packages/sdk/langs/node/scripts/embed-prompts.mjs": "1b1641bf89cad962a4ff11d93f301fe5a4e32fe856cd3c9586106d8aaab4ad80",
|
|
20
20
|
"packages/sdk/langs/node/scripts/embed-tools.mjs": "4cd8b0605b088421ea1fdf8e4e19c70f571f4e3352309a1480491600122e7bb3",
|
|
21
21
|
"packages/sdk/langs/node/scripts/embed-version.mjs": "95e2ff3a7c15cb38130e12f04c8a96c901a5e55d9960610ebefa37178fd19cde",
|
|
22
|
-
"packages/sdk/langs/node/src/agent/action-descriptors.json": "
|
|
23
|
-
"packages/sdk/langs/node/src/prompts/mcp-prompt.md": "
|
|
24
|
-
"packages/sdk/langs/node/src/prompts/system-prompt.md": "
|
|
22
|
+
"packages/sdk/langs/node/src/agent/action-descriptors.json": "427fdf2a163bbc6c25f0a165b84cfb17ea2b27a92611ec74cdc19bc77bff2594",
|
|
23
|
+
"packages/sdk/langs/node/src/prompts/mcp-prompt.md": "ba1e239877b2b316744477e3ca7b6982fa265edb1358759209cc439457728e8b",
|
|
24
|
+
"packages/sdk/langs/node/src/prompts/system-prompt.md": "4881073df51001a5e448ef7f755cd858cf752c66374cb8bddc328b1356b3cc6a",
|
|
25
25
|
"packages/sdk/scripts/sdk-generate.mjs": "fc5b0cb07a39972694a0c60cfef19b2e166ec12890fb5060e97b2b818f746ef3",
|
|
26
26
|
"packages/sdk/scripts/sdk-platform-targets.mjs": "6bdcd55fec9695c7af44ee5c7f67065450f61c27cdd9552d68b92e88abb9d7ab",
|
|
27
|
-
"packages/sdk/tools/prompt-templates/system-prompt-core.md": "
|
|
27
|
+
"packages/sdk/tools/prompt-templates/system-prompt-core.md": "98632908dbece800115db92181b2a48823725b6e2612383de6bc6c34f57ac72e",
|
|
28
28
|
"packages/sdk/tools/prompt-templates/system-prompt-mcp-header.md": "95e73c78805619991732671991f5aa28c0ab9967344a53ad3ae95b397f6058f7",
|
|
29
29
|
"packages/sdk/tools/prompt-templates/system-prompt-sdk-header.md": "a672b9e5c3ca62685b082f1ac340a66348b37f831303c6cf0d39da9d236cdabe",
|
|
30
30
|
"scripts/generate-all.mjs": "fbcb0920173f8170321a3583e18b2b175e54cdca47b39f3c390c727cf9a5f911"
|
|
@@ -32,14 +32,14 @@
|
|
|
32
32
|
"outputs": {
|
|
33
33
|
"packages/sdk/langs/node/src/generated/contract.ts": {
|
|
34
34
|
"id": "node-contract",
|
|
35
|
-
"sha256": "
|
|
35
|
+
"sha256": "185ecff25e6ff73b391a95fa7a1dd6a3af3f81bb6318cada6d121263737cd689",
|
|
36
36
|
"consumers": [
|
|
37
37
|
"node"
|
|
38
38
|
]
|
|
39
39
|
},
|
|
40
40
|
"packages/sdk/langs/node/src/generated/client.ts": {
|
|
41
41
|
"id": "node-client",
|
|
42
|
-
"sha256": "
|
|
42
|
+
"sha256": "e6ee297f64a0e00378d50491bef239b932a143bb9b2e5ee8e9af98aeeaa6245b",
|
|
43
43
|
"consumers": [
|
|
44
44
|
"node"
|
|
45
45
|
]
|
|
@@ -53,14 +53,14 @@
|
|
|
53
53
|
},
|
|
54
54
|
"packages/sdk/langs/python/superdoc/generated/contract.py": {
|
|
55
55
|
"id": "python-contract",
|
|
56
|
-
"sha256": "
|
|
56
|
+
"sha256": "8a71886c326df7b48a3efc1acb659adc2e7f8a7d87b21f8619a85eb0bdc1c3d8",
|
|
57
57
|
"consumers": [
|
|
58
58
|
"python"
|
|
59
59
|
]
|
|
60
60
|
},
|
|
61
61
|
"packages/sdk/langs/python/superdoc/generated/client.py": {
|
|
62
62
|
"id": "python-client",
|
|
63
|
-
"sha256": "
|
|
63
|
+
"sha256": "6704bcf6094845ff51e5825b0224a370e3314f5dd9c003318c675e4f8fda1e57",
|
|
64
64
|
"consumers": [
|
|
65
65
|
"python"
|
|
66
66
|
]
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
},
|
|
96
96
|
"packages/sdk/tools/catalog.json": {
|
|
97
97
|
"id": "tool-catalog",
|
|
98
|
-
"sha256": "
|
|
98
|
+
"sha256": "b05b12f34b4260c0a9785e5f4a7fb532a3e0fb0a1a839dea6b0dfdfa9d6857a1",
|
|
99
99
|
"consumers": [
|
|
100
100
|
"node",
|
|
101
101
|
"python",
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
},
|
|
105
105
|
"packages/sdk/tools/tools-policy.json": {
|
|
106
106
|
"id": "tool-policy",
|
|
107
|
-
"sha256": "
|
|
107
|
+
"sha256": "00f8fccf89404c4cab88d8b97dee419527017734cc8080aab8a249d4a91e4434",
|
|
108
108
|
"consumers": [
|
|
109
109
|
"node",
|
|
110
110
|
"python"
|
|
@@ -112,7 +112,7 @@
|
|
|
112
112
|
},
|
|
113
113
|
"packages/sdk/tools/tools.openai.json": {
|
|
114
114
|
"id": "tools-openai",
|
|
115
|
-
"sha256": "
|
|
115
|
+
"sha256": "18889daddc39778b0e51bcff628e015a52f7880dcf56ff7e0bea25c1123e73ce",
|
|
116
116
|
"consumers": [
|
|
117
117
|
"node",
|
|
118
118
|
"python",
|
|
@@ -121,7 +121,7 @@
|
|
|
121
121
|
},
|
|
122
122
|
"packages/sdk/tools/tools.anthropic.json": {
|
|
123
123
|
"id": "tools-anthropic",
|
|
124
|
-
"sha256": "
|
|
124
|
+
"sha256": "a53f53b90f5333b87e1cb38e24de5b2d203709d7dba78575f2830cdef67a1d74",
|
|
125
125
|
"consumers": [
|
|
126
126
|
"node",
|
|
127
127
|
"python",
|
|
@@ -130,7 +130,7 @@
|
|
|
130
130
|
},
|
|
131
131
|
"packages/sdk/tools/tools.vercel.json": {
|
|
132
132
|
"id": "tools-vercel",
|
|
133
|
-
"sha256": "
|
|
133
|
+
"sha256": "18889daddc39778b0e51bcff628e015a52f7880dcf56ff7e0bea25c1123e73ce",
|
|
134
134
|
"consumers": [
|
|
135
135
|
"node",
|
|
136
136
|
"python",
|
|
@@ -139,7 +139,7 @@
|
|
|
139
139
|
},
|
|
140
140
|
"packages/sdk/tools/tools.generic.json": {
|
|
141
141
|
"id": "tools-generic",
|
|
142
|
-
"sha256": "
|
|
142
|
+
"sha256": "d9f8c272226a5af79949883bcab18a80ba9211c52f6bce1b27960474c4917122",
|
|
143
143
|
"consumers": [
|
|
144
144
|
"node",
|
|
145
145
|
"python",
|
|
@@ -148,7 +148,7 @@
|
|
|
148
148
|
},
|
|
149
149
|
"packages/sdk/tools/system-prompt.md": {
|
|
150
150
|
"id": "sdk-prompt",
|
|
151
|
-
"sha256": "
|
|
151
|
+
"sha256": "0f08f5ac17b8c4039515a10a227e7c7f6b6a97e05e92fc2e74bdab8da5f4dfd8",
|
|
152
152
|
"consumers": [
|
|
153
153
|
"node",
|
|
154
154
|
"python"
|
|
@@ -156,7 +156,7 @@
|
|
|
156
156
|
},
|
|
157
157
|
"packages/sdk/tools/system-prompt-mcp.md": {
|
|
158
158
|
"id": "mcp-prompt",
|
|
159
|
-
"sha256": "
|
|
159
|
+
"sha256": "fdc0e7586e4f6e96b62534ac2b1f74e720523a1bc74e6173e4e80eade2a492b6",
|
|
160
160
|
"consumers": [
|
|
161
161
|
"node",
|
|
162
162
|
"python",
|
|
@@ -165,28 +165,28 @@
|
|
|
165
165
|
},
|
|
166
166
|
"packages/sdk/langs/browser/src/system-prompt.ts": {
|
|
167
167
|
"id": "browser-prompt",
|
|
168
|
-
"sha256": "
|
|
168
|
+
"sha256": "cc004dc5aa982c7fe28a1bbba50088c96ce45c48f78446a9f2274d193dc5e658",
|
|
169
169
|
"consumers": [
|
|
170
170
|
"browser"
|
|
171
171
|
]
|
|
172
172
|
},
|
|
173
173
|
"packages/sdk/langs/node/src/embedded-prompts.generated.ts": {
|
|
174
174
|
"id": "node-embedded-prompts",
|
|
175
|
-
"sha256": "
|
|
175
|
+
"sha256": "d9cca82bd3d4593285e5eb274fd0b9b309aacb7217c60b7c7d9754ad5b5426c6",
|
|
176
176
|
"consumers": [
|
|
177
177
|
"node"
|
|
178
178
|
]
|
|
179
179
|
},
|
|
180
180
|
"packages/sdk/langs/node/src/embedded-tools.generated.ts": {
|
|
181
181
|
"id": "node-embedded-tools",
|
|
182
|
-
"sha256": "
|
|
182
|
+
"sha256": "a0069774a330ab0bbd9217260c6cdb9fcecc6a51dfb993d70e29a8944581e2ef",
|
|
183
183
|
"consumers": [
|
|
184
184
|
"node"
|
|
185
185
|
]
|
|
186
186
|
},
|
|
187
187
|
"packages/sdk/langs/node/src/runtime/sdk-version.generated.ts": {
|
|
188
188
|
"id": "node-sdk-version",
|
|
189
|
-
"sha256": "
|
|
189
|
+
"sha256": "2df5d7961edeb5c70c2ff21e0681e94cd325a0874e8996708d41873ef60a7adc",
|
|
190
190
|
"consumers": [
|
|
191
191
|
"node"
|
|
192
192
|
]
|
|
@@ -425,6 +425,7 @@ When formatting newly created content, use the right source:
|
|
|
425
425
|
- **`within` scopes to a single block**, not a section. To find text in a section, search the full document.
|
|
426
426
|
- **Table cells are separate blocks.** Search for individual cell values, not patterns spanning multiple cells.
|
|
427
427
|
- **Do NOT combine `limit`/`offset` with `require: "first"` or `require: "exactlyOne"`.** Use `require: "any"` with `limit` for paginated results.
|
|
428
|
+
- **`require: "last"` returns the final match and rejects any `limit` or `offset`.**
|
|
428
429
|
- **Do NOT hardcode formatting values.** Always read from blocks data and replicate.
|
|
429
430
|
- **Do NOT copy heading/title formatting onto body paragraphs.** Read from body text blocks (alignment "justify" or "left"), not title blocks.
|
|
430
431
|
- **Pass structured objects, not JSON-encoded strings.** Fields like `at`, `target`, and `inline` expect objects, not serialized JSON strings.
|
|
@@ -475,6 +475,7 @@ When formatting newly created content, use the right source:
|
|
|
475
475
|
- **`within` scopes to a single block**, not a section. To find text in a section, search the full document.
|
|
476
476
|
- **Table cells are separate blocks.** Search for individual cell values, not patterns spanning multiple cells.
|
|
477
477
|
- **Do NOT combine `limit`/`offset` with `require: "first"` or `require: "exactlyOne"`.** Use `require: "any"` with `limit` for paginated results.
|
|
478
|
+
- **`require: "last"` returns the final match and rejects any `limit` or `offset`.**
|
|
478
479
|
- **Do NOT hardcode formatting values.** Always read from blocks data and replicate.
|
|
479
480
|
- **Do NOT copy heading/title formatting onto body paragraphs.** Read from body text blocks (alignment "justify" or "left"), not title blocks.
|
|
480
481
|
- **Pass structured objects, not JSON-encoded strings.** Fields like `at`, `target`, and `inline` expect objects, not serialized JSON strings.
|
package/tools/system-prompt.md
CHANGED
|
@@ -429,6 +429,7 @@ When formatting newly created content, use the right source:
|
|
|
429
429
|
- **`within` scopes to a single block**, not a section. To find text in a section, search the full document.
|
|
430
430
|
- **Table cells are separate blocks.** Search for individual cell values, not patterns spanning multiple cells.
|
|
431
431
|
- **Do NOT combine `limit`/`offset` with `require: "first"` or `require: "exactlyOne"`.** Use `require: "any"` with `limit` for paginated results.
|
|
432
|
+
- **`require: "last"` returns the final match and rejects any `limit` or `offset`.**
|
|
432
433
|
- **Do NOT hardcode formatting values.** Always read from blocks data and replicate.
|
|
433
434
|
- **Do NOT copy heading/title formatting onto body paragraphs.** Read from body text blocks (alignment "justify" or "left"), not title blocks.
|
|
434
435
|
- **Pass structured objects, not JSON-encoded strings.** Fields like `at`, `target`, and `inline` expect objects, not serialized JSON strings.
|
package/tools/tools-policy.json
CHANGED