@tiwater/office-mcp 0.15.5 → 0.15.7
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/office/contracts/docx_copy_table_range.schema.json +5 -0
- package/office/contracts/docx_find_literal.schema.json +6 -0
- package/office/contracts/docx_list_objects.schema.json +8 -0
- package/office/contracts/docx_read_object.schema.json +2 -0
- package/office/contracts/tiwater-office-provider-contract-manifest-v1.json +9 -9
- package/office/index.mjs +4 -4
- package/package.json +1 -1
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
"pattern": "^docx-rev-v1-[0-9a-f]{64}$"
|
|
20
20
|
},
|
|
21
21
|
"rowRefs": {
|
|
22
|
+
"description": "Unique contiguous source row refs in document order, obtained from list/find with kind=row.",
|
|
22
23
|
"minItems": 1,
|
|
23
24
|
"type": "array",
|
|
24
25
|
"items": {
|
|
@@ -47,10 +48,12 @@
|
|
|
47
48
|
"pattern": "^docx-rev-v1-[0-9a-f]{64}$"
|
|
48
49
|
},
|
|
49
50
|
"tableRef": {
|
|
51
|
+
"description": "Target table ref from docx_list_objects with kind=table.",
|
|
50
52
|
"type": "string",
|
|
51
53
|
"pattern": "^dox1_[0-9a-f]{64}$"
|
|
52
54
|
},
|
|
53
55
|
"rowPatternRefs": {
|
|
56
|
+
"description": "Unique contiguous target row refs belonging to tableRef. The complete pattern repeats when the source has more rows.",
|
|
54
57
|
"minItems": 1,
|
|
55
58
|
"type": "array",
|
|
56
59
|
"items": {
|
|
@@ -74,11 +77,13 @@
|
|
|
74
77
|
"type": "object",
|
|
75
78
|
"properties": {
|
|
76
79
|
"sourceGridColumn": {
|
|
80
|
+
"description": "Zero-based logical source grid column. A horizontally merged cell spans several grid indexes and may be selected only once.",
|
|
77
81
|
"type": "integer",
|
|
78
82
|
"minimum": 0,
|
|
79
83
|
"maximum": 9007199254740991
|
|
80
84
|
},
|
|
81
85
|
"targetGridColumn": {
|
|
86
|
+
"description": "Zero-based logical target grid column. A horizontally merged cell spans several grid indexes and may be selected only once.",
|
|
82
87
|
"type": "integer",
|
|
83
88
|
"minimum": 0,
|
|
84
89
|
"maximum": 9007199254740991
|
|
@@ -24,9 +24,15 @@
|
|
|
24
24
|
]
|
|
25
25
|
},
|
|
26
26
|
"scope": {
|
|
27
|
+
"description": "Exact story-part URI such as /word/document.xml.",
|
|
27
28
|
"type": "string",
|
|
28
29
|
"minLength": 1
|
|
29
30
|
},
|
|
31
|
+
"parentRef": {
|
|
32
|
+
"description": "Optional revision-bound parent object ref. Searches only its nearest published child objects, not every recursive descendant.",
|
|
33
|
+
"type": "string",
|
|
34
|
+
"pattern": "^dox1_[0-9a-f]{64}$"
|
|
35
|
+
},
|
|
30
36
|
"limit": {
|
|
31
37
|
"default": 100,
|
|
32
38
|
"type": "integer",
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
"x-tiwater-file-role": "read"
|
|
9
9
|
},
|
|
10
10
|
"kind": {
|
|
11
|
+
"description": "Object granularity. Use row for table-range discovery; use cell or run only when the task directly targets that object kind.",
|
|
11
12
|
"type": "string",
|
|
12
13
|
"enum": [
|
|
13
14
|
"part",
|
|
@@ -20,10 +21,17 @@
|
|
|
20
21
|
]
|
|
21
22
|
},
|
|
22
23
|
"scope": {
|
|
24
|
+
"description": "Exact story-part URI such as /word/document.xml. This is not a table nativePath or ancestor filter.",
|
|
23
25
|
"type": "string",
|
|
24
26
|
"minLength": 1
|
|
25
27
|
},
|
|
28
|
+
"parentRef": {
|
|
29
|
+
"description": "Optional revision-bound parent object ref. Returns only its nearest published child objects: a part yields top-level story blocks, a table yields rows, a row yields cells. This is not recursive descendant search.",
|
|
30
|
+
"type": "string",
|
|
31
|
+
"pattern": "^dox1_[0-9a-f]{64}$"
|
|
32
|
+
},
|
|
26
33
|
"limit": {
|
|
34
|
+
"description": "Maximum objects in this page. Follow continuation for another bounded page; do not raise the limit to replace semantic filtering.",
|
|
27
35
|
"default": 100,
|
|
28
36
|
"type": "integer",
|
|
29
37
|
"minimum": 1,
|
|
@@ -8,10 +8,12 @@
|
|
|
8
8
|
"x-tiwater-file-role": "read"
|
|
9
9
|
},
|
|
10
10
|
"ref": {
|
|
11
|
+
"description": "One object ref returned by docx_list_objects or docx_find_literal. Read a selected table or row to inspect grid spans and merges without listing all cells.",
|
|
11
12
|
"type": "string",
|
|
12
13
|
"pattern": "^dox1_[0-9a-f]{64}$"
|
|
13
14
|
},
|
|
14
15
|
"revision": {
|
|
16
|
+
"description": "Optional expected revision id from the observation receipt; a changed document fails as stale.",
|
|
15
17
|
"type": "string",
|
|
16
18
|
"pattern": "^docx-rev-v1-[0-9a-f]{64}$"
|
|
17
19
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"schema": "tiwater.office-provider-contract-manifest/v1",
|
|
3
3
|
"provider": {
|
|
4
4
|
"id": "@tiwater/office-mcp",
|
|
5
|
-
"version": "0.15.
|
|
5
|
+
"version": "0.15.7"
|
|
6
6
|
},
|
|
7
7
|
"tools": [
|
|
8
8
|
{
|
|
@@ -64,11 +64,11 @@
|
|
|
64
64
|
"name": "docx_copy_table_range",
|
|
65
65
|
"providerContract": {
|
|
66
66
|
"source": "packages/docx-cli/contracts/mcp-input/docx_copy_table_range.schema.json",
|
|
67
|
-
"sha256": "
|
|
67
|
+
"sha256": "7e5bed1cd36e41058a2d0c26b16c758d8f6a0751d0964689d68c9c2ef0eb1b26"
|
|
68
68
|
},
|
|
69
69
|
"inputContract": {
|
|
70
70
|
"path": "office/contracts/docx_copy_table_range.schema.json",
|
|
71
|
-
"sha256": "
|
|
71
|
+
"sha256": "7e5bed1cd36e41058a2d0c26b16c758d8f6a0751d0964689d68c9c2ef0eb1b26"
|
|
72
72
|
}
|
|
73
73
|
},
|
|
74
74
|
{
|
|
@@ -141,11 +141,11 @@
|
|
|
141
141
|
"name": "docx_find_literal",
|
|
142
142
|
"providerContract": {
|
|
143
143
|
"source": "packages/docx-cli/contracts/mcp-input/docx_find_literal.schema.json",
|
|
144
|
-
"sha256": "
|
|
144
|
+
"sha256": "f0df9a19d99db372a0c125b966b00d76161cc734581e2da3d4636b058c2e27d9"
|
|
145
145
|
},
|
|
146
146
|
"inputContract": {
|
|
147
147
|
"path": "office/contracts/docx_find_literal.schema.json",
|
|
148
|
-
"sha256": "
|
|
148
|
+
"sha256": "f0df9a19d99db372a0c125b966b00d76161cc734581e2da3d4636b058c2e27d9"
|
|
149
149
|
}
|
|
150
150
|
},
|
|
151
151
|
{
|
|
@@ -229,11 +229,11 @@
|
|
|
229
229
|
"name": "docx_list_objects",
|
|
230
230
|
"providerContract": {
|
|
231
231
|
"source": "packages/docx-cli/contracts/mcp-input/docx_list_objects.schema.json",
|
|
232
|
-
"sha256": "
|
|
232
|
+
"sha256": "ea8152a6b44eacda63688680d91b758efa3e2a55b92de24eeb977951fda8f720"
|
|
233
233
|
},
|
|
234
234
|
"inputContract": {
|
|
235
235
|
"path": "office/contracts/docx_list_objects.schema.json",
|
|
236
|
-
"sha256": "
|
|
236
|
+
"sha256": "ea8152a6b44eacda63688680d91b758efa3e2a55b92de24eeb977951fda8f720"
|
|
237
237
|
}
|
|
238
238
|
},
|
|
239
239
|
{
|
|
@@ -262,11 +262,11 @@
|
|
|
262
262
|
"name": "docx_read_object",
|
|
263
263
|
"providerContract": {
|
|
264
264
|
"source": "packages/docx-cli/contracts/mcp-input/docx_read_object.schema.json",
|
|
265
|
-
"sha256": "
|
|
265
|
+
"sha256": "66637468203435e04545045c9be0ac118956d353501b14e12e9ceae03ac4bd9a"
|
|
266
266
|
},
|
|
267
267
|
"inputContract": {
|
|
268
268
|
"path": "office/contracts/docx_read_object.schema.json",
|
|
269
|
-
"sha256": "
|
|
269
|
+
"sha256": "66637468203435e04545045c9be0ac118956d353501b14e12e9ceae03ac4bd9a"
|
|
270
270
|
}
|
|
271
271
|
},
|
|
272
272
|
{
|
package/office/index.mjs
CHANGED
|
@@ -206,28 +206,28 @@ const tools = [
|
|
|
206
206
|
},
|
|
207
207
|
{
|
|
208
208
|
name: 'docx_list_objects',
|
|
209
|
-
description: 'List one bounded page of revision-bound native DOCX objects by kind and
|
|
209
|
+
description: 'List one bounded page of revision-bound native DOCX objects by kind. Use parentRef to return only the nearest published children of a selected object: a part yields top-level story blocks and a table yields rows. Without parentRef the request is story-wide; scope is only an exact story-part URI.',
|
|
210
210
|
inputSchema: inputContract('docx_list_objects'),
|
|
211
211
|
annotations: { readOnlyHint: true, idempotentHint: true },
|
|
212
212
|
handler: args => docxObservation('docx_list_objects', args),
|
|
213
213
|
},
|
|
214
214
|
{
|
|
215
215
|
name: 'docx_find_literal',
|
|
216
|
-
description: 'Find
|
|
216
|
+
description: 'Find exact current text in revision-bound native DOCX objects with bounded paging. Use parentRef to search only the nearest published children of a selected part, table, row, cell, or paragraph; this is not recursive descendant search.',
|
|
217
217
|
inputSchema: inputContract('docx_find_literal'),
|
|
218
218
|
annotations: { readOnlyHint: true, idempotentHint: true },
|
|
219
219
|
handler: args => docxObservation('docx_find_literal', args),
|
|
220
220
|
},
|
|
221
221
|
{
|
|
222
222
|
name: 'docx_read_object',
|
|
223
|
-
description: 'Read one revision-bound native DOCX object in full technical Open XML detail.',
|
|
223
|
+
description: 'Read one selected revision-bound native DOCX object in full technical Open XML detail. Use a table or row ref from list/find to inspect grid spans and merges without enumerating document-wide cells.',
|
|
224
224
|
inputSchema: inputContract('docx_read_object'),
|
|
225
225
|
annotations: { readOnlyHint: true, idempotentHint: true },
|
|
226
226
|
handler: args => docxObservation('docx_read_object', args),
|
|
227
227
|
},
|
|
228
228
|
{
|
|
229
229
|
name: 'docx_copy_table_range',
|
|
230
|
-
description: 'Copy
|
|
230
|
+
description: 'Copy contiguous source row refs into contiguous target row-pattern refs with an explicit one-to-one logical grid-column mapping. Get row refs from list/find with kind=row; merged cells span grid columns, and one physical cell may be selected only once.',
|
|
231
231
|
inputSchema: inputContract('docx_copy_table_range'),
|
|
232
232
|
outputSchema: fixedEditOutput('docx_copy_table_range'),
|
|
233
233
|
handler: args => fixedEdit('docx_copy_table_range', args),
|