@tiwater/office-mcp 0.21.36 → 0.21.38

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.
@@ -48,10 +48,11 @@
48
48
  },
49
49
  "rows": {
50
50
  "type": "array", "minItems": 0,
51
- "description": "Final logical rows. Explicit cells plus active row spans cover the target grid exactly once.",
51
+ "description": "Final logical rows. Every row supplies its own prototypeRow and cells. Explicit cells plus active row spans cover the target grid exactly once.",
52
52
  "items": {
53
53
  "type": "object", "properties": {
54
54
  "prototypeRow": {
55
+ "description": "Template row for this final row. Repeat this field inside every rows[] item; there is no table-level prototypeRow.",
55
56
  "type": "object", "properties": {
56
57
  "part": { "type": "string", "minLength": 1, "pattern": "^\\/" },
57
58
  "path": { "type": "string", "pattern": "^\\/[A-Za-z_][A-Za-z0-9_.-]*:[A-Za-z_][A-Za-z0-9_.-]*\\[[1-9][0-9]*\\](?:\\/[A-Za-z_][A-Za-z0-9_.-]*:[A-Za-z_][A-Za-z0-9_.-]*\\[[1-9][0-9]*\\])*$" }
@@ -63,36 +64,29 @@
63
64
  "type": "object", "properties": {
64
65
  "columns": { "type": "array", "minItems": 1, "description": "One or more contiguous request-local column IDs occupied by this cell.", "items": { "type": "string", "minLength": 1, "maxLength": 80 } },
65
66
  "rowSpan": { "type": "integer", "minimum": 1, "maximum": 2147483647 },
66
- "text": { "anyOf": [{ "type": "string" }, { "type": "null" }], "description": "Final derived plain text, or null when sourceContent is used." },
67
- "sourceContent": {
68
- "anyOf": [{
69
- "type": "object",
70
- "properties": {
71
- "input": { "type": "string", "minLength": 1, "x-tiwater-file-role": "read" },
72
- "selections": {
73
- "type": "array", "minItems": 1,
74
- "items": {
75
- "type": "object", "properties": {
76
- "address": {
77
- "type": "object", "properties": {
78
- "part": { "type": "string", "minLength": 1, "pattern": "^\\/" },
79
- "path": { "type": "string", "pattern": "^\\/[A-Za-z_][A-Za-z0-9_.-]*:[A-Za-z_][A-Za-z0-9_.-]*\\[[1-9][0-9]*\\](?:\\/[A-Za-z_][A-Za-z0-9_.-]*:[A-Za-z_][A-Za-z0-9_.-]*\\[[1-9][0-9]*\\])*$" }
80
- }, "required": ["part", "path"], "additionalProperties": false
81
- },
82
- "range": {
83
- "type": "object", "properties": {
84
- "start": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 },
85
- "length": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }
86
- }, "required": ["start", "length"], "additionalProperties": false
87
- }
88
- }, "required": ["address"], "additionalProperties": false
89
- }
67
+ "text": { "anyOf": [{ "type": "string" }, { "type": "null" }], "description": "Required content-mode marker on every cell: use a string for derived plain text; use null together with sourceInput and sourceSelections for native source content." },
68
+ "sourceInput": { "type": "string", "minLength": 1, "description": "Current source DOCX containing sourceSelections. Omit when text is used.", "x-tiwater-file-role": "read" },
69
+ "sourceSelections": {
70
+ "type": "array", "minItems": 1,
71
+ "description": "Exact ordered native source selections. Omit when text is used.",
72
+ "items": {
73
+ "type": "object", "properties": {
74
+ "address": {
75
+ "type": "object", "properties": {
76
+ "part": { "type": "string", "minLength": 1, "pattern": "^\\/" },
77
+ "path": { "type": "string", "pattern": "^\\/[A-Za-z_][A-Za-z0-9_.-]*:[A-Za-z_][A-Za-z0-9_.-]*\\[[1-9][0-9]*\\](?:\\/[A-Za-z_][A-Za-z0-9_.-]*:[A-Za-z_][A-Za-z0-9_.-]*\\[[1-9][0-9]*\\])*$" }
78
+ }, "required": ["part", "path"], "additionalProperties": false
79
+ },
80
+ "range": {
81
+ "type": "object", "properties": {
82
+ "start": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 },
83
+ "length": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }
84
+ }, "required": ["start", "length"], "additionalProperties": false
90
85
  }
91
- }, "required": ["input", "selections"], "additionalProperties": false
92
- }, { "type": "null" }],
93
- "description": "Exact ordered native source selections, or null when text is used."
86
+ }, "required": ["address"], "additionalProperties": false
87
+ }
94
88
  }
95
- }, "required": ["columns", "text", "sourceContent"], "additionalProperties": false
89
+ }, "required": ["columns", "text"], "additionalProperties": false
96
90
  }
97
91
  },
98
92
  "cantSplit": { "type": "boolean" }
@@ -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.21.36"
5
+ "version": "0.21.38"
6
6
  },
7
7
  "tools": [
8
8
  {
@@ -196,11 +196,11 @@
196
196
  "name": "docx_set_table",
197
197
  "providerContract": {
198
198
  "source": "packages/docx-cli/contracts/mcp-input/docx_set_table.schema.json",
199
- "sha256": "1b501654b6cd3ee58831393c9100ac37e1e5c21a5a92071a6f612b103aae122e"
199
+ "sha256": "a99576434d3358b18bf006efa6f05ae5657aaf4bfc5f828fa6edc87306e98b8b"
200
200
  },
201
201
  "inputContract": {
202
202
  "path": "office/contracts/docx_set_table.schema.json",
203
- "sha256": "1b501654b6cd3ee58831393c9100ac37e1e5c21a5a92071a6f612b103aae122e"
203
+ "sha256": "a99576434d3358b18bf006efa6f05ae5657aaf4bfc5f828fa6edc87306e98b8b"
204
204
  }
205
205
  },
206
206
  {
package/office/index.mjs CHANGED
@@ -503,7 +503,7 @@ const tools = [
503
503
  {
504
504
  name: 'docx_set_table',
505
505
  effectKind: 'document-mutation',
506
- description: 'Atomically replace one exact current target-table row range with a fully specified table body. Name every target grid column in native order. Each explicit cell occupies contiguous columns and may span logical rows; covered columns are omitted from following rows. Set each cell from either derived text or exact native source selections, never both. Native source selections retain run formatting such as superscript and subscript. The provider retains the target table, target cell styles, grid widths, and all content outside the replaced range, and exposes no intermediate document. It does not select source rows, map business columns, infer target shape, derive wording, or copy a source table wholesale.',
506
+ description: 'Atomically replace one exact current target-table row range with a fully specified table body. Name every target grid column in native order. Every rows[] item must contain its own prototypeRow; there is no table-level prototypeRow. Every cell must contain text: use a string for derived plain text, or null together with sourceInput and exact native sourceSelections. Each explicit cell occupies contiguous columns and may span logical rows; covered columns are omitted from following rows. Native source selections retain run formatting such as superscript and subscript. The provider retains the target table, target cell styles, grid widths, and all content outside the replaced range, and exposes no intermediate document. It does not select source rows, map business columns, infer target shape, derive wording, or copy a source table wholesale.',
507
507
  inputSchema: inputContract('docx_set_table'),
508
508
  outputSchema: fixedEditOutput('docx_set_table'),
509
509
  handler: (args, tool) => fixedEdit(tool, args, docxCandidates),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tiwater/office-mcp",
3
- "version": "0.21.36",
3
+ "version": "0.21.38",
4
4
  "description": "Published MCP distribution for independent Tiwater Office, PDF, and Text document capabilities",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -2,7 +2,7 @@
2
2
  "schema": "tiwater.pdf-provider-contract-manifest/v1",
3
3
  "provider": {
4
4
  "id": "@tiwater/office-mcp",
5
- "version": "0.21.36"
5
+ "version": "0.21.38"
6
6
  },
7
7
  "runtime": {
8
8
  "command": "tiwater-pdf"
@@ -2,7 +2,7 @@
2
2
  "schema": "tiwater.text-provider-contract-manifest/v1",
3
3
  "provider": {
4
4
  "id": "@tiwater/office-mcp",
5
- "version": "0.21.36"
5
+ "version": "0.21.38"
6
6
  },
7
7
  "tools": [
8
8
  {