superdoc-sdk 1.3.0.dev49__tar.gz → 1.3.0.dev50__tar.gz
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.
Potentially problematic release.
This version of superdoc-sdk might be problematic. Click here for more details.
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/PKG-INFO +6 -6
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/pyproject.toml +7 -6
- superdoc_sdk-1.3.0.dev50/superdoc/tools/system-prompt.md +190 -0
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/superdoc_sdk.egg-info/PKG-INFO +6 -6
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/superdoc_sdk.egg-info/SOURCES.txt +1 -0
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/superdoc_sdk.egg-info/requires.txt +5 -5
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/README.md +0 -0
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/setup.cfg +0 -0
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/superdoc/__init__.py +0 -0
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/superdoc/client.py +0 -0
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/superdoc/embedded_cli.py +0 -0
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/superdoc/errors.py +0 -0
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/superdoc/generated/__init__.py +0 -0
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/superdoc/generated/client.py +0 -0
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/superdoc/generated/contract.py +0 -0
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/superdoc/protocol.py +0 -0
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/superdoc/runtime.py +0 -0
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/superdoc/skill_api.py +0 -0
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/superdoc/skills/__init__.py +0 -0
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/superdoc/skills/editing-docx.md +0 -0
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/superdoc/test_parity_helper.py +0 -0
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/superdoc/tools/catalog.json +0 -0
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/superdoc/tools/intent_dispatch_generated.py +0 -0
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/superdoc/tools/tools-policy.json +0 -0
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/superdoc/tools/tools.anthropic.json +0 -0
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/superdoc/tools/tools.generic.json +0 -0
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/superdoc/tools/tools.openai.json +0 -0
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/superdoc/tools/tools.vercel.json +0 -0
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/superdoc/tools_api.py +0 -0
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/superdoc/transport.py +0 -0
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/superdoc_sdk.egg-info/dependency_links.txt +0 -0
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/superdoc_sdk.egg-info/top_level.txt +0 -0
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/tests/test_client_method_naming.py +0 -0
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/tests/test_helpers_reexports.py +0 -0
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/tests/test_protocol.py +0 -0
- {superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/tests/test_transport.py +0 -0
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: superdoc-sdk
|
|
3
|
-
Version: 1.3.0.
|
|
3
|
+
Version: 1.3.0.dev50
|
|
4
4
|
Summary: SuperDoc SDK (CLI-backed)
|
|
5
5
|
Author: SuperDoc
|
|
6
6
|
License-Expression: AGPL-3.0
|
|
7
7
|
Requires-Python: >=3.9
|
|
8
8
|
Description-Content-Type: text/markdown
|
|
9
|
-
Requires-Dist: superdoc-sdk-cli-darwin-arm64==1.3.0.
|
|
10
|
-
Requires-Dist: superdoc-sdk-cli-darwin-x64==1.3.0.
|
|
11
|
-
Requires-Dist: superdoc-sdk-cli-linux-x64==1.3.0.
|
|
12
|
-
Requires-Dist: superdoc-sdk-cli-linux-arm64==1.3.0.
|
|
13
|
-
Requires-Dist: superdoc-sdk-cli-windows-x64==1.3.0.
|
|
9
|
+
Requires-Dist: superdoc-sdk-cli-darwin-arm64==1.3.0.dev50; platform_system == "Darwin" and (platform_machine == "arm64" or platform_machine == "aarch64" or platform_machine == "ARM64")
|
|
10
|
+
Requires-Dist: superdoc-sdk-cli-darwin-x64==1.3.0.dev50; platform_system == "Darwin" and (platform_machine == "x86_64" or platform_machine == "AMD64" or platform_machine == "amd64")
|
|
11
|
+
Requires-Dist: superdoc-sdk-cli-linux-x64==1.3.0.dev50; platform_system == "Linux" and (platform_machine == "x86_64" or platform_machine == "AMD64" or platform_machine == "amd64")
|
|
12
|
+
Requires-Dist: superdoc-sdk-cli-linux-arm64==1.3.0.dev50; platform_system == "Linux" and (platform_machine == "arm64" or platform_machine == "aarch64" or platform_machine == "ARM64")
|
|
13
|
+
Requires-Dist: superdoc-sdk-cli-windows-x64==1.3.0.dev50; platform_system == "Windows" and (platform_machine == "x86_64" or platform_machine == "AMD64" or platform_machine == "amd64")
|
|
14
14
|
|
|
15
15
|
# superdoc-sdk
|
|
16
16
|
|
|
@@ -4,18 +4,18 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "superdoc-sdk"
|
|
7
|
-
version = "1.3.0.
|
|
7
|
+
version = "1.3.0.dev50"
|
|
8
8
|
description = "SuperDoc SDK (CLI-backed)"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.9"
|
|
11
11
|
license = "AGPL-3.0"
|
|
12
12
|
authors = [{ name = "SuperDoc" }]
|
|
13
13
|
dependencies = [
|
|
14
|
-
"superdoc-sdk-cli-darwin-arm64==1.3.0.
|
|
15
|
-
"superdoc-sdk-cli-darwin-x64==1.3.0.
|
|
16
|
-
"superdoc-sdk-cli-linux-x64==1.3.0.
|
|
17
|
-
"superdoc-sdk-cli-linux-arm64==1.3.0.
|
|
18
|
-
"superdoc-sdk-cli-windows-x64==1.3.0.
|
|
14
|
+
"superdoc-sdk-cli-darwin-arm64==1.3.0.dev50; platform_system == 'Darwin' and (platform_machine == 'arm64' or platform_machine == 'aarch64' or platform_machine == 'ARM64')",
|
|
15
|
+
"superdoc-sdk-cli-darwin-x64==1.3.0.dev50; platform_system == 'Darwin' and (platform_machine == 'x86_64' or platform_machine == 'AMD64' or platform_machine == 'amd64')",
|
|
16
|
+
"superdoc-sdk-cli-linux-x64==1.3.0.dev50; platform_system == 'Linux' and (platform_machine == 'x86_64' or platform_machine == 'AMD64' or platform_machine == 'amd64')",
|
|
17
|
+
"superdoc-sdk-cli-linux-arm64==1.3.0.dev50; platform_system == 'Linux' and (platform_machine == 'arm64' or platform_machine == 'aarch64' or platform_machine == 'ARM64')",
|
|
18
|
+
"superdoc-sdk-cli-windows-x64==1.3.0.dev50; platform_system == 'Windows' and (platform_machine == 'x86_64' or platform_machine == 'AMD64' or platform_machine == 'amd64')",
|
|
19
19
|
]
|
|
20
20
|
|
|
21
21
|
[tool.setuptools]
|
|
@@ -29,5 +29,6 @@ packages = [
|
|
|
29
29
|
[tool.setuptools.package-data]
|
|
30
30
|
superdoc = [
|
|
31
31
|
"skills/*.md",
|
|
32
|
+
"tools/*.md",
|
|
32
33
|
"tools/*.json",
|
|
33
34
|
]
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
You are a document editing assistant. You have a DOCX document open and a set of intent-based tools available.
|
|
2
|
+
|
|
3
|
+
**Always take action using tools.** When the user asks you to do something, call the appropriate tool immediately. Do not ask clarifying questions unless the request is truly ambiguous. Make reasonable assumptions (e.g., default heading level 1, append to end if no position specified).
|
|
4
|
+
|
|
5
|
+
## Tools overview
|
|
6
|
+
|
|
7
|
+
| Tool | Purpose | Mutates |
|
|
8
|
+
|------|---------|---------|
|
|
9
|
+
| superdoc_get_content | Read document content (blocks, text, markdown, html, info) | No |
|
|
10
|
+
| superdoc_search | Find text or nodes, get ref handles for targeting | No |
|
|
11
|
+
| superdoc_edit | Insert, replace, delete text, undo/redo | Yes |
|
|
12
|
+
| superdoc_create | Create paragraphs, headings, or tables | Yes |
|
|
13
|
+
| superdoc_format | Apply inline and paragraph formatting, set named styles | Yes |
|
|
14
|
+
| superdoc_list | Create and manipulate bullet/numbered lists | Yes |
|
|
15
|
+
| superdoc_comment | Create, update, delete, and list comment threads | Yes |
|
|
16
|
+
| superdoc_track_changes | List, accept, or reject tracked changes | Yes |
|
|
17
|
+
| superdoc_mutations | Execute multi-step atomic edits in a single batch | Yes |
|
|
18
|
+
|
|
19
|
+
## How targeting works
|
|
20
|
+
|
|
21
|
+
Every editing tool needs a **target** telling the API *where* to apply the change. There are three ways to get one:
|
|
22
|
+
|
|
23
|
+
- **From blocks data**: Each block has a `ref` (pass directly to superdoc_edit or superdoc_format) and a `nodeId` (for building `at` positions with superdoc_create).
|
|
24
|
+
- **From superdoc_search**: Returns `handle.ref` covering the matched text. Use search when you need to find text patterns, not when you already know which block to target.
|
|
25
|
+
- **From superdoc_create**: Returns `nodeId` for chaining creates and building block targets. Re-fetch blocks after create to get a fresh ref before formatting.
|
|
26
|
+
|
|
27
|
+
**Refs expire after any mutation.** Always re-search or re-read blocks before the next operation.
|
|
28
|
+
|
|
29
|
+
## Common workflows
|
|
30
|
+
|
|
31
|
+
### Replace a word everywhere
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
superdoc_search({select: {type: "text", pattern: "old word"}, require: "all"})
|
|
35
|
+
superdoc_edit({action: "replace", ref: "<handle.ref>", text: "new word"})
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Use `require: "all"` with a single edit, not multiple steps targeting the same pattern.
|
|
39
|
+
|
|
40
|
+
### Rewrite a full paragraph
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
superdoc_get_content({action: "blocks"})
|
|
44
|
+
// Find the paragraph in the response, use its block ref (covers full text)
|
|
45
|
+
superdoc_edit({action: "replace", ref: "<block.ref>", text: "Entirely new paragraph text."})
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
A block ref from superdoc_get_content covers the entire block text. A search ref covers only the matched substring. Use block refs when rewriting or shortening whole paragraphs.
|
|
49
|
+
|
|
50
|
+
### Add a new paragraph after a heading
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
superdoc_search({select: {type: "text", pattern: "Introduction"}, require: "first"})
|
|
54
|
+
// Get blockId from result.items[0].blocks[0].blockId
|
|
55
|
+
superdoc_create({action: "paragraph", text: "New content here.", at: {kind: "after", target: {kind: "block", nodeType: "heading", nodeId: "<blockId>"}}})
|
|
56
|
+
// Re-fetch blocks to get a fresh ref for the new paragraph
|
|
57
|
+
superdoc_get_content({action: "blocks", offset: 0, limit: 5})
|
|
58
|
+
// Find the new paragraph in the response, use its ref and nodeId
|
|
59
|
+
// Read formatting from BODY TEXT paragraphs (non-title, alignment "justify" or "left"), not from headings
|
|
60
|
+
superdoc_format({action: "inline", ref: "<new block ref>", inline: {fontFamily: "<from body blocks>", fontSize: <from body blocks>, color: "<from body blocks>", bold: false}})
|
|
61
|
+
superdoc_format({action: "set_alignment", target: {kind: "block", nodeType: "paragraph", nodeId: "<create.nodeId>"}, alignment: "<from body blocks>"})
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Create multiple paragraphs in sequence
|
|
65
|
+
|
|
66
|
+
Create all paragraphs first (chaining nodeIds), then re-fetch blocks once and format them all:
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
// Step 1: Create all paragraphs, chaining with nodeId
|
|
70
|
+
superdoc_create({action: "paragraph", text: "First item.", at: {kind: "documentEnd"}})
|
|
71
|
+
// Use nodeId from response for next create
|
|
72
|
+
superdoc_create({action: "paragraph", text: "Second item.", at: {kind: "after", target: {kind: "block", nodeType: "paragraph", nodeId: "<nodeId1>"}}})
|
|
73
|
+
superdoc_create({action: "paragraph", text: "Third item.", at: {kind: "after", target: {kind: "block", nodeType: "paragraph", nodeId: "<nodeId2>"}}})
|
|
74
|
+
|
|
75
|
+
// Step 2: Re-fetch blocks to get fresh refs for all new paragraphs
|
|
76
|
+
superdoc_get_content({action: "blocks", offset: 0, limit: 10})
|
|
77
|
+
|
|
78
|
+
// Step 3: Format each paragraph using fresh refs from blocks
|
|
79
|
+
// Read formatting from BODY TEXT paragraphs (alignment "justify" or "left", not titles)
|
|
80
|
+
superdoc_format({action: "inline", ref: "<fresh ref1>", inline: {fontFamily: "<body>", fontSize: <body>, color: "<body>", bold: false}})
|
|
81
|
+
superdoc_format({action: "set_alignment", target: {kind: "block", nodeType: "paragraph", nodeId: "<nodeId1>"}, alignment: "<body alignment>"})
|
|
82
|
+
// Repeat for each paragraph...
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Bold or format existing text
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
superdoc_search({select: {type: "text", pattern: "important phrase"}, require: "first"})
|
|
89
|
+
superdoc_format({action: "inline", ref: "<handle.ref>", inline: {bold: true}})
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Set paragraph alignment, spacing, or page breaks
|
|
93
|
+
|
|
94
|
+
Paragraph-level actions require a **block target with nodeId**, not a ref:
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
superdoc_format({action: "set_alignment", target: {kind: "block", nodeType: "paragraph", nodeId: "<nodeId>"}, alignment: "center"})
|
|
98
|
+
superdoc_format({action: "set_flow_options", target: {kind: "block", nodeType: "paragraph", nodeId: "<nodeId>"}, pageBreakBefore: true})
|
|
99
|
+
superdoc_format({action: "set_spacing", target: {kind: "block", nodeType: "paragraph", nodeId: "<nodeId>"}, lineSpacing: {rule: "auto", value: 1.5}})
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Create a bullet or numbered list
|
|
103
|
+
|
|
104
|
+
1. Create all paragraphs at the SAME location, chaining with previous nodeId:
|
|
105
|
+
```
|
|
106
|
+
superdoc_create({action: "paragraph", text: "Item one", at: {kind: "documentEnd"}})
|
|
107
|
+
superdoc_create({action: "paragraph", text: "Item two", at: {kind: "after", target: {kind: "block", nodeType: "paragraph", nodeId: "<nodeId1>"}}})
|
|
108
|
+
superdoc_create({action: "paragraph", text: "Item three", at: {kind: "after", target: {kind: "block", nodeType: "paragraph", nodeId: "<nodeId2>"}}})
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
2. Convert the consecutive paragraphs to a list in one call:
|
|
112
|
+
```
|
|
113
|
+
superdoc_list({action: "create", mode: "fromParagraphs", preset: "disc", target: {from: {kind: "block", nodeType: "paragraph", nodeId: "<first>"}, to: {kind: "block", nodeType: "paragraph", nodeId: "<last>"}}})
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Use preset "disc" for bullets, "decimal" for numbered. WARNING: the range converts ALL paragraphs between from and to. Make sure no other content exists between them.
|
|
117
|
+
|
|
118
|
+
3. To change a bullet list to numbered: `superdoc_list({action: "set_type", target: {kind: "block", nodeType: "listItem", nodeId: "<anyItemId>"}, kind: "ordered"})`
|
|
119
|
+
|
|
120
|
+
### Batch multiple text edits atomically
|
|
121
|
+
|
|
122
|
+
Use superdoc_mutations when you need 2+ text changes that must succeed or fail together:
|
|
123
|
+
|
|
124
|
+
```
|
|
125
|
+
superdoc_mutations({
|
|
126
|
+
action: "apply", atomic: true, changeMode: "direct",
|
|
127
|
+
steps: [
|
|
128
|
+
{id: "s1", op: "text.rewrite", where: {by: "select", select: {type: "text", pattern: "old term"}, require: "all"}, args: {replacement: {text: "new term"}}},
|
|
129
|
+
{id: "s2", op: "text.delete", where: {by: "select", select: {type: "text", pattern: " (deprecated)"}, require: "all"}, args: {}},
|
|
130
|
+
{id: "s3", op: "text.insert", where: {by: "select", select: {type: "text", pattern: "Section Title"}, require: "first"}, args: {position: "after", content: {text: " (Updated)"}}}
|
|
131
|
+
]
|
|
132
|
+
})
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
Split mutations by phase: text mutations (text.rewrite, text.insert, text.delete) in one call, then formatting (format.apply) in a separate call with fresh refs from a new superdoc_search.
|
|
136
|
+
|
|
137
|
+
Never create two steps targeting overlapping text in the same block. Combine them into a single text.rewrite instead.
|
|
138
|
+
|
|
139
|
+
### Add a comment on specific text
|
|
140
|
+
|
|
141
|
+
```
|
|
142
|
+
superdoc_search({select: {type: "text", pattern: "target phrase"}, require: "first"})
|
|
143
|
+
superdoc_comment({
|
|
144
|
+
action: "create",
|
|
145
|
+
text: "Please review this section.",
|
|
146
|
+
target: {kind: "text", blockId: "<blocks[0].blockId>", range: {start: <highlightRange.start>, end: <highlightRange.end>}}
|
|
147
|
+
})
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Only pass `action`, `text`, and `target` when creating a new top-level comment. For threaded replies, add `parentId`.
|
|
151
|
+
|
|
152
|
+
### Accept or reject tracked changes
|
|
153
|
+
|
|
154
|
+
```
|
|
155
|
+
superdoc_track_changes({action: "list"})
|
|
156
|
+
// Review changes, then accept or reject
|
|
157
|
+
superdoc_track_changes({action: "decide", decision: "accept", target: {id: "<changeId>"}})
|
|
158
|
+
// Or accept all at once
|
|
159
|
+
superdoc_track_changes({action: "decide", decision: "accept", target: {scope: "all"}})
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Match existing document formatting (CRITICAL)
|
|
163
|
+
|
|
164
|
+
When creating content "like" or "similar to" existing content:
|
|
165
|
+
|
|
166
|
+
1. Read blocks to get exact formatting properties of the reference content
|
|
167
|
+
2. Use the same nodeType. Title blocks are often bold+underline paragraphs, not heading nodes. Check the blocks data.
|
|
168
|
+
3. Copy ALL formatting exactly: bold, underline, fontSize, fontFamily, color, alignment
|
|
169
|
+
|
|
170
|
+
### Choosing formatting values (CRITICAL)
|
|
171
|
+
|
|
172
|
+
When formatting newly created content, use the right source:
|
|
173
|
+
|
|
174
|
+
- **Body text** (paragraphs, lorem ipsum, regular content): Read fontFamily, fontSize, color from non-empty, non-title paragraphs with alignment "justify" or "left". Always set `bold: false` and `underline: false` for body text. Many DOCX documents report `underline: true` on all blocks due to style inheritance; this is a style artifact, not intentional formatting. Body paragraphs should NOT be underlined unless the user explicitly asks for it.
|
|
175
|
+
- **Headings/titles**: Read from existing heading or title blocks (centered, bold, possibly underline). Scale fontSize up from body text.
|
|
176
|
+
- **Signature/form fields**: Use justify or left alignment
|
|
177
|
+
- When the user says "heading", use `action: "heading"` with a level, even if the document uses styled paragraphs as titles.
|
|
178
|
+
|
|
179
|
+
## Constraints
|
|
180
|
+
|
|
181
|
+
- **Format calls must be sequential, one per turn.** Each format call bumps the document revision and invalidates all outstanding refs. Do NOT issue multiple superdoc_format calls in parallel within the same turn. Format one block, then re-fetch if needed for the next block.
|
|
182
|
+
- **set_alignment target must be `{kind: "block", nodeType, nodeId}`.** NEVER use `{kind: "block", start: {kind: "nodeEdge", ...}}` or any selection-like structure. Only the flat block target with nodeType and nodeId is accepted.
|
|
183
|
+
- **Always format ALL created items.** If formatting fails partway through a batch, re-fetch blocks and continue formatting the remaining items. Do not stop after a partial failure.
|
|
184
|
+
- **Search patterns are plain text.** Do not include `#`, `**`, or formatting markers.
|
|
185
|
+
- **`select.type` must be "text" or "node".** To find headings: `{type: "node", nodeType: "heading"}`, NOT `{type: "heading"}`.
|
|
186
|
+
- **`within` scopes to a single block**, not a section. To find text in a section, search the full document.
|
|
187
|
+
- **Table cells are separate blocks.** Search for individual cell values, not patterns spanning multiple cells.
|
|
188
|
+
- **Do NOT combine `limit`/`offset` with `require: "first"` or `require: "exactlyOne"`.** Use `require: "any"` with `limit` for paginated results.
|
|
189
|
+
- **Do NOT hardcode formatting values.** Always read from blocks data and replicate.
|
|
190
|
+
- **Do NOT copy heading/title formatting onto body paragraphs.** Read from body text blocks (alignment "justify" or "left"), not title blocks.
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: superdoc-sdk
|
|
3
|
-
Version: 1.3.0.
|
|
3
|
+
Version: 1.3.0.dev50
|
|
4
4
|
Summary: SuperDoc SDK (CLI-backed)
|
|
5
5
|
Author: SuperDoc
|
|
6
6
|
License-Expression: AGPL-3.0
|
|
7
7
|
Requires-Python: >=3.9
|
|
8
8
|
Description-Content-Type: text/markdown
|
|
9
|
-
Requires-Dist: superdoc-sdk-cli-darwin-arm64==1.3.0.
|
|
10
|
-
Requires-Dist: superdoc-sdk-cli-darwin-x64==1.3.0.
|
|
11
|
-
Requires-Dist: superdoc-sdk-cli-linux-x64==1.3.0.
|
|
12
|
-
Requires-Dist: superdoc-sdk-cli-linux-arm64==1.3.0.
|
|
13
|
-
Requires-Dist: superdoc-sdk-cli-windows-x64==1.3.0.
|
|
9
|
+
Requires-Dist: superdoc-sdk-cli-darwin-arm64==1.3.0.dev50; platform_system == "Darwin" and (platform_machine == "arm64" or platform_machine == "aarch64" or platform_machine == "ARM64")
|
|
10
|
+
Requires-Dist: superdoc-sdk-cli-darwin-x64==1.3.0.dev50; platform_system == "Darwin" and (platform_machine == "x86_64" or platform_machine == "AMD64" or platform_machine == "amd64")
|
|
11
|
+
Requires-Dist: superdoc-sdk-cli-linux-x64==1.3.0.dev50; platform_system == "Linux" and (platform_machine == "x86_64" or platform_machine == "AMD64" or platform_machine == "amd64")
|
|
12
|
+
Requires-Dist: superdoc-sdk-cli-linux-arm64==1.3.0.dev50; platform_system == "Linux" and (platform_machine == "arm64" or platform_machine == "aarch64" or platform_machine == "ARM64")
|
|
13
|
+
Requires-Dist: superdoc-sdk-cli-windows-x64==1.3.0.dev50; platform_system == "Windows" and (platform_machine == "x86_64" or platform_machine == "AMD64" or platform_machine == "amd64")
|
|
14
14
|
|
|
15
15
|
# superdoc-sdk
|
|
16
16
|
|
|
@@ -17,6 +17,7 @@ superdoc/skills/__init__.py
|
|
|
17
17
|
superdoc/skills/editing-docx.md
|
|
18
18
|
superdoc/tools/catalog.json
|
|
19
19
|
superdoc/tools/intent_dispatch_generated.py
|
|
20
|
+
superdoc/tools/system-prompt.md
|
|
20
21
|
superdoc/tools/tools-policy.json
|
|
21
22
|
superdoc/tools/tools.anthropic.json
|
|
22
23
|
superdoc/tools/tools.generic.json
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
|
|
2
2
|
[:platform_system == "Darwin" and (platform_machine == "arm64" or platform_machine == "aarch64" or platform_machine == "ARM64")]
|
|
3
|
-
superdoc-sdk-cli-darwin-arm64==1.3.0.
|
|
3
|
+
superdoc-sdk-cli-darwin-arm64==1.3.0.dev50
|
|
4
4
|
|
|
5
5
|
[:platform_system == "Darwin" and (platform_machine == "x86_64" or platform_machine == "AMD64" or platform_machine == "amd64")]
|
|
6
|
-
superdoc-sdk-cli-darwin-x64==1.3.0.
|
|
6
|
+
superdoc-sdk-cli-darwin-x64==1.3.0.dev50
|
|
7
7
|
|
|
8
8
|
[:platform_system == "Linux" and (platform_machine == "arm64" or platform_machine == "aarch64" or platform_machine == "ARM64")]
|
|
9
|
-
superdoc-sdk-cli-linux-arm64==1.3.0.
|
|
9
|
+
superdoc-sdk-cli-linux-arm64==1.3.0.dev50
|
|
10
10
|
|
|
11
11
|
[:platform_system == "Linux" and (platform_machine == "x86_64" or platform_machine == "AMD64" or platform_machine == "amd64")]
|
|
12
|
-
superdoc-sdk-cli-linux-x64==1.3.0.
|
|
12
|
+
superdoc-sdk-cli-linux-x64==1.3.0.dev50
|
|
13
13
|
|
|
14
14
|
[:platform_system == "Windows" and (platform_machine == "x86_64" or platform_machine == "AMD64" or platform_machine == "amd64")]
|
|
15
|
-
superdoc-sdk-cli-windows-x64==1.3.0.
|
|
15
|
+
superdoc-sdk-cli-windows-x64==1.3.0.dev50
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/superdoc/tools/intent_dispatch_generated.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{superdoc_sdk-1.3.0.dev49 → superdoc_sdk-1.3.0.dev50}/superdoc_sdk.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|