@tiwater/office-mcp 0.17.22 → 0.17.23

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.
@@ -1,11 +1,20 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "tiwater.office-mcp-input/docx_copy_table_rows",
3
+ "$id": "tiwater.office-mcp-input/docx_replace_table_rows",
4
4
  "type": "object",
5
5
  "properties": {
6
- "changes": {
6
+ "targetDocument": {
7
+ "type": "object",
8
+ "description": "Exact current target document for every table replacement in this call.",
9
+ "properties": {
10
+ "input": { "type": "string", "minLength": 1, "x-tiwater-file-role": "read" }
11
+ },
12
+ "required": ["input"],
13
+ "additionalProperties": false
14
+ },
15
+ "tables": {
7
16
  "type": "array",
8
- "description": "Complete resolved table-edit set for one target document. Items may use different source documents. A successful call invalidates every prior target ref, so do not split this set across calls.",
17
+ "description": "Complete resolved table replacements for targetDocument. Each item may use a different source document.",
9
18
  "minItems": 1,
10
19
  "items": {
11
20
  "type": "object",
@@ -30,15 +39,6 @@
30
39
  "required": ["firstRef", "lastRef"],
31
40
  "additionalProperties": false
32
41
  },
33
- "targetDocument": {
34
- "type": "object",
35
- "description": "Exact target document for this table edit. Every item in one call must name the same target document.",
36
- "properties": {
37
- "input": { "type": "string", "minLength": 1, "x-tiwater-file-role": "read" }
38
- },
39
- "required": ["input"],
40
- "additionalProperties": false
41
- },
42
42
  "targetTableRef": { "type": "string", "pattern": "^dox1_[0-9a-f]{64}$" },
43
43
  "targetRows": {
44
44
  "type": "object",
@@ -107,7 +107,7 @@
107
107
  }
108
108
  }
109
109
  },
110
- "required": ["sourceDocument", "sourceTableRef", "sourceRows", "targetDocument", "targetTableRef", "targetRows", "columns"],
110
+ "required": ["sourceDocument", "sourceTableRef", "sourceRows", "targetTableRef", "targetRows", "columns"],
111
111
  "additionalProperties": false
112
112
  }
113
113
  },
@@ -119,6 +119,6 @@
119
119
  "x-tiwater-file-effect": false
120
120
  }
121
121
  },
122
- "required": ["changes", "output", "receiptOutput"],
122
+ "required": ["targetDocument", "tables", "output", "receiptOutput"],
123
123
  "additionalProperties": false
124
124
  }
@@ -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.17.22"
5
+ "version": "0.17.23"
6
6
  },
7
7
  "tools": [
8
8
  {
@@ -60,17 +60,6 @@
60
60
  "sha256": "5f0bfc826d68f451055aba20390686e0e0df2182797fc36ff285f42d09084104"
61
61
  }
62
62
  },
63
- {
64
- "name": "docx_copy_table_rows",
65
- "providerContract": {
66
- "source": "packages/docx-cli/contracts/mcp-input/docx_copy_table_rows.schema.json",
67
- "sha256": "22bb0e1fe2d1d8525327717870cf55cc300624f8e332cfe95331514520223a1d"
68
- },
69
- "inputContract": {
70
- "path": "office/contracts/docx_copy_table_rows.schema.json",
71
- "sha256": "22bb0e1fe2d1d8525327717870cf55cc300624f8e332cfe95331514520223a1d"
72
- }
73
- },
74
63
  {
75
64
  "name": "docx_delete_object",
76
65
  "providerContract": {
@@ -170,6 +159,17 @@
170
159
  "sha256": "aa8fc12a350a391fadf32546847f29a816319efcab01866a1f406dc8313ea1ed"
171
160
  }
172
161
  },
162
+ {
163
+ "name": "docx_replace_table_rows",
164
+ "providerContract": {
165
+ "source": "packages/docx-cli/contracts/mcp-input/docx_replace_table_rows.schema.json",
166
+ "sha256": "9f945477f3619f4f2fc777d2154cb3c45ceeaaad7dd079daeb7033e2a33ecf78"
167
+ },
168
+ "inputContract": {
169
+ "path": "office/contracts/docx_replace_table_rows.schema.json",
170
+ "sha256": "9f945477f3619f4f2fc777d2154cb3c45ceeaaad7dd079daeb7033e2a33ecf78"
171
+ }
172
+ },
173
173
  {
174
174
  "name": "docx_set_text",
175
175
  "providerContract": {
package/office/index.mjs CHANGED
@@ -280,7 +280,7 @@ const tools = [
280
280
  },
281
281
  {
282
282
  name: 'docx_copy_content',
283
- description: 'Replace content in existing plain-text target paragraphs or cells while retaining target container formatting and source inline meaning. Targets containing non-text objects are rejected. Batch cells that need exact observed subsets after docx_copy_table_rows. A selection copies a whole object by ref, or an exact substring when range is attached to a run or text ref.',
283
+ description: 'Replace content in existing plain-text target paragraphs or cells while retaining target container formatting and source inline meaning. Targets containing non-text objects are rejected. Batch cells that need exact observed subsets after docx_replace_table_rows. A selection copies a whole object by ref, or an exact substring when range is attached to a run or text ref.',
284
284
  inputSchema: inputContract('docx_copy_content'),
285
285
  outputSchema: fixedEditOutput('docx_copy_content'),
286
286
  handler: args => fixedEdit('docx_copy_content', args),
@@ -293,15 +293,15 @@ const tools = [
293
293
  handler: args => fixedEdit('docx_set_text', args),
294
294
  },
295
295
  {
296
- name: 'docx_copy_table_rows',
297
- description: 'Apply all resolved row replacements for one target document in one call. changes is the only edit payload; its items may use different source documents but must use the same target document. Each item names its source and target table rows and header-cell mappings. A success invalidates every prior target ref. All source-cell paragraphs copy by default; sourceCellContents selects exact observed content that the target keeps.',
298
- inputSchema: inputContract('docx_copy_table_rows'),
299
- outputSchema: fixedEditOutput('docx_copy_table_rows'),
300
- handler: args => fixedEdit('docx_copy_table_rows', args),
296
+ name: 'docx_replace_table_rows',
297
+ description: 'Replace all resolved data-row ranges in one current target document. targetDocument appears once; each tables item binds one source document and its source and target rows. All source-cell paragraphs copy by default; sourceCellContents selects exact observed content that the target keeps.',
298
+ inputSchema: inputContract('docx_replace_table_rows'),
299
+ outputSchema: fixedEditOutput('docx_replace_table_rows'),
300
+ handler: args => fixedEdit('docx_replace_table_rows', args),
301
301
  },
302
302
  {
303
303
  name: 'docx_copy_object',
304
- description: 'Insert selected objects only when the target needs a new object under an existing parent. Do not use this to populate or replace rows in an existing target table; use docx_copy_table_rows instead.',
304
+ description: 'Insert selected objects only when the target needs a new object under an existing parent. Do not use this to populate or replace rows in an existing target table; use docx_replace_table_rows instead.',
305
305
  inputSchema: inputContract('docx_copy_object'),
306
306
  outputSchema: fixedEditOutput('docx_copy_object'),
307
307
  handler: args => fixedEdit('docx_copy_object', args),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tiwater/office-mcp",
3
- "version": "0.17.22",
3
+ "version": "0.17.23",
4
4
  "description": "Published MCP server for Tiwater Office document capabilities",
5
5
  "type": "module",
6
6
  "license": "MIT",