@tiwater/office-mcp 0.21.33 → 0.21.34

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.
Files changed (37) hide show
  1. package/_shared/effect-kind.mjs +21 -0
  2. package/office/contracts/docx_apply_font_policy.schema.json +1 -1
  3. package/office/contracts/docx_apply_toc_style_policy.schema.json +1 -1
  4. package/office/contracts/docx_delete_object.schema.json +1 -1
  5. package/office/contracts/docx_delete_table_columns.schema.json +1 -1
  6. package/office/contracts/docx_fill_table_from_tables.schema.json +1 -1
  7. package/office/contracts/docx_insert_objects.schema.json +1 -1
  8. package/office/contracts/docx_insert_table_columns.schema.json +1 -1
  9. package/office/contracts/docx_merge_cells.schema.json +1 -1
  10. package/office/contracts/docx_refresh_fields.schema.json +1 -1
  11. package/office/contracts/docx_replace_content_from_source.schema.json +1 -1
  12. package/office/contracts/docx_replace_style_ids.schema.json +1 -1
  13. package/office/contracts/docx_set_paragraph_pagination.schema.json +1 -1
  14. package/office/contracts/docx_set_table_body.schema.json +1 -1
  15. package/office/contracts/docx_set_text.schema.json +1 -1
  16. package/office/contracts/docx_split_cells.schema.json +1 -1
  17. package/office/contracts/docx_strip_direct_formatting.schema.json +1 -1
  18. package/office/contracts/pptx_apply_format.schema.json +1 -1
  19. package/office/contracts/pptx_apply_template.schema.json +1 -1
  20. package/office/contracts/pptx_replace_picture_image.schema.json +1 -1
  21. package/office/contracts/pptx_set_shape_geometry.schema.json +1 -1
  22. package/office/contracts/tiwater-office-provider-contract-manifest-v1.json +65 -65
  23. package/office/contracts/xlsx_copy_row.schema.json +1 -1
  24. package/office/contracts/xlsx_delete_rows.schema.json +1 -1
  25. package/office/contracts/xlsx_expand_section_rows.schema.json +1 -1
  26. package/office/contracts/xlsx_insert_rows.schema.json +1 -1
  27. package/office/contracts/xlsx_set_cell_number_format.schema.json +1 -1
  28. package/office/contracts/xlsx_set_cell_value.schema.json +1 -1
  29. package/office/contracts/xlsx_set_column_width.schema.json +1 -1
  30. package/office/contracts/xlsx_set_page_setup.schema.json +1 -1
  31. package/office/contracts/xlsx_set_print_area.schema.json +1 -1
  32. package/office/contracts/xlsx_set_range_values.schema.json +1 -1
  33. package/office/contracts/xlsx_set_rich_text_cell_value.schema.json +1 -1
  34. package/office/contracts/xlsx_set_row_page_breaks.schema.json +1 -1
  35. package/package.json +1 -1
  36. package/pdf/contracts/tiwater-pdf-provider-contract-manifest-v1.json +1 -1
  37. package/text/contracts/tiwater-text-provider-contract-manifest-v1.json +1 -1
@@ -2,6 +2,7 @@ import { evidenceRoleMetadataKey } from './evidence-role.mjs';
2
2
 
3
3
  export const effectKindMetadataKey = 'x-tiwater-effect-kind';
4
4
  export const effectKindSchema = 'tiwater.provider-effect-kind/v1';
5
+ export const documentRevisionRoleKey = 'x-tiwater-document-revision-role';
5
6
 
6
7
  const effectKinds = new Set([
7
8
  'document-mutation',
@@ -24,9 +25,18 @@ export function assertEffectKindToolContract(tool, expectedKind = undefined) {
24
25
  const bindings = fileBindings(tool?.inputSchema);
25
26
  const effectiveWrites = bindings.filter(binding => binding.role === 'write' && binding.effect);
26
27
  const readOnly = tool?.annotations?.readOnlyHint === true;
28
+ const currentDocumentBindings = bindings.filter(binding => binding.revisionRole === 'current');
29
+ const invalidRevisionBindings = bindings.filter(binding => binding.revisionRole !== undefined
30
+ && (binding.revisionRole !== 'current' || binding.role !== 'read'));
31
+ if (invalidRevisionBindings.length > 0) {
32
+ throw new Error(`document-revision-role-invalid:${tool?.name || 'unnamed'}`);
33
+ }
27
34
 
28
35
  if (readOnly || effectiveWrites.length === 0) {
29
36
  if (metadata !== undefined) throw new Error(`effect-kind-unexpected:${tool?.name || 'unnamed'}`);
37
+ if (currentDocumentBindings.length !== 0) {
38
+ throw new Error(`document-revision-role-unexpected:${tool?.name || 'unnamed'}`);
39
+ }
30
40
  return null;
31
41
  }
32
42
  if (!metadata || Object.keys(metadata).sort().join(',') !== 'kind,schema'
@@ -39,6 +49,16 @@ export function assertEffectKindToolContract(tool, expectedKind = undefined) {
39
49
  if (!bindings.some(binding => binding.role === 'read')) {
40
50
  throw new Error(`effect-kind-source-binding-missing:${tool?.name || 'unnamed'}`);
41
51
  }
52
+ if (metadata.kind === 'document-mutation') {
53
+ if (currentDocumentBindings.length !== 1) {
54
+ throw new Error(`document-mutation-current-binding-invalid:${tool?.name || 'unnamed'}`);
55
+ }
56
+ if (effectiveWrites.length !== 1) {
57
+ throw new Error(`document-mutation-output-binding-invalid:${tool?.name || 'unnamed'}`);
58
+ }
59
+ } else if (currentDocumentBindings.length !== 0) {
60
+ throw new Error(`document-revision-role-unexpected:${tool?.name || 'unnamed'}`);
61
+ }
42
62
 
43
63
  const evidenceRole = tool?._meta?.[evidenceRoleMetadataKey]?.role;
44
64
  if ((metadata.kind === 'native-render') !== (evidenceRole === 'native-render')) {
@@ -59,6 +79,7 @@ function fileBindings(schema) {
59
79
  role: node['x-tiwater-file-role'],
60
80
  effect: node['x-tiwater-file-role'] === 'write'
61
81
  && node['x-tiwater-file-effect'] !== false,
82
+ revisionRole: node[documentRevisionRoleKey],
62
83
  });
63
84
  }
64
85
  for (const child of Object.values(node.properties || {})) visit(child);
@@ -3,7 +3,7 @@
3
3
  "$id": "tiwater.office-mcp-input/docx_apply_font_policy",
4
4
  "type": "object",
5
5
  "properties": {
6
- "input": { "type": "string", "minLength": 1, "x-tiwater-file-role": "read" },
6
+ "input": { "type": "string", "minLength": 1, "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current" },
7
7
  "policy": {
8
8
  "type": "string",
9
9
  "minLength": 1,
@@ -3,7 +3,7 @@
3
3
  "$id": "tiwater.office-mcp-input/docx_apply_toc_style_policy",
4
4
  "type": "object",
5
5
  "properties": {
6
- "input": { "type": "string", "minLength": 1, "x-tiwater-file-role": "read" },
6
+ "input": { "type": "string", "minLength": 1, "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current" },
7
7
  "italic": { "type": "boolean" },
8
8
  "indentCharactersPerLevel": { "type": "integer", "minimum": 0, "maximum": 21474836 },
9
9
  "output": { "type": "string", "minLength": 1, "description": "Output DOCX path; may equal input for an atomic in-place update.", "x-tiwater-file-role": "write" },
@@ -5,7 +5,7 @@
5
5
  "input": {
6
6
  "type": "string",
7
7
  "minLength": 1,
8
- "x-tiwater-file-role": "read"
8
+ "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current"
9
9
  },
10
10
  "changes": {
11
11
  "minItems": 1,
@@ -3,7 +3,7 @@
3
3
  "$id": "tiwater.office-mcp-input/docx_delete_table_columns",
4
4
  "type": "object",
5
5
  "properties": {
6
- "input": { "type": "string", "minLength": 1, "x-tiwater-file-role": "read" },
6
+ "input": { "type": "string", "minLength": 1, "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current" },
7
7
  "changes": {
8
8
  "type": "array",
9
9
  "minItems": 1,
@@ -4,7 +4,7 @@
4
4
  "description": "Project source-table rows into one target template table atomically. Use this instead of manually rebuilding rows when target cells derive from source tables. Target formatting is reused, and native vertical-merge owners are preserved within each source range.",
5
5
  "type": "object",
6
6
  "properties": {
7
- "input": { "type": "string", "minLength": 1, "description": "Current target DOCX.", "x-tiwater-file-role": "read" },
7
+ "input": { "type": "string", "minLength": 1, "description": "Current target DOCX.", "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current" },
8
8
  "table": {
9
9
  "type": "object",
10
10
  "description": "Current target table address returned by docx_read_table or docx_table_index.",
@@ -5,7 +5,7 @@
5
5
  "input": {
6
6
  "type": "string",
7
7
  "minLength": 1,
8
- "x-tiwater-file-role": "read"
8
+ "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current"
9
9
  },
10
10
  "changes": {
11
11
  "minItems": 1,
@@ -3,7 +3,7 @@
3
3
  "$id": "tiwater.office-mcp-input/docx_insert_table_columns",
4
4
  "type": "object",
5
5
  "properties": {
6
- "input": { "type": "string", "minLength": 1, "x-tiwater-file-role": "read" },
6
+ "input": { "type": "string", "minLength": 1, "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current" },
7
7
  "changes": {
8
8
  "type": "array",
9
9
  "minItems": 1,
@@ -5,7 +5,7 @@
5
5
  "input": {
6
6
  "type": "string",
7
7
  "minLength": 1,
8
- "x-tiwater-file-role": "read"
8
+ "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current"
9
9
  },
10
10
  "changes": {
11
11
  "minItems": 1,
@@ -6,7 +6,7 @@
6
6
  "type": "string",
7
7
  "minLength": 1,
8
8
  "description": "Path to the current DOCX document.",
9
- "x-tiwater-file-role": "read"
9
+ "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current"
10
10
  },
11
11
  "output": {
12
12
  "type": "string",
@@ -6,7 +6,7 @@
6
6
  "type": "string",
7
7
  "minLength": 1,
8
8
  "description": "Current target DOCX containing every target paragraph or table cell.",
9
- "x-tiwater-file-role": "read"
9
+ "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current"
10
10
  },
11
11
  "changes": {
12
12
  "minItems": 1,
@@ -5,7 +5,7 @@
5
5
  "input": {
6
6
  "type": "string",
7
7
  "minLength": 1,
8
- "x-tiwater-file-role": "read"
8
+ "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current"
9
9
  },
10
10
  "output": {
11
11
  "type": "string",
@@ -3,7 +3,7 @@
3
3
  "$id": "tiwater.office-mcp-input/docx_set_paragraph_pagination",
4
4
  "type": "object",
5
5
  "properties": {
6
- "input": { "type": "string", "minLength": 1, "x-tiwater-file-role": "read" },
6
+ "input": { "type": "string", "minLength": 1, "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current" },
7
7
  "changes": {
8
8
  "type": "array",
9
9
  "minItems": 1,
@@ -6,7 +6,7 @@
6
6
  "input": {
7
7
  "type": "string",
8
8
  "minLength": 1,
9
- "x-tiwater-file-role": "read"
9
+ "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current"
10
10
  },
11
11
  "table": {
12
12
  "type": "object",
@@ -5,7 +5,7 @@
5
5
  "input": {
6
6
  "type": "string",
7
7
  "minLength": 1,
8
- "x-tiwater-file-role": "read"
8
+ "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current"
9
9
  },
10
10
  "changes": {
11
11
  "minItems": 1,
@@ -5,7 +5,7 @@
5
5
  "input": {
6
6
  "type": "string",
7
7
  "minLength": 1,
8
- "x-tiwater-file-role": "read"
8
+ "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current"
9
9
  },
10
10
  "changes": {
11
11
  "minItems": 1,
@@ -5,7 +5,7 @@
5
5
  "input": {
6
6
  "type": "string",
7
7
  "minLength": 1,
8
- "x-tiwater-file-role": "read"
8
+ "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current"
9
9
  },
10
10
  "output": {
11
11
  "type": "string",
@@ -6,7 +6,7 @@
6
6
  "type": "string",
7
7
  "minLength": 1,
8
8
  "description": "Path to the current PPTX.",
9
- "x-tiwater-file-role": "read"
9
+ "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current"
10
10
  },
11
11
  "changes": {
12
12
  "minItems": 1,
@@ -6,7 +6,7 @@
6
6
  "type": "string",
7
7
  "minLength": 1,
8
8
  "description": "Path to the current source PPTX.",
9
- "x-tiwater-file-role": "read"
9
+ "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current"
10
10
  },
11
11
  "template": {
12
12
  "type": "string",
@@ -6,7 +6,7 @@
6
6
  "type": "string",
7
7
  "minLength": 1,
8
8
  "description": "Path to the current PPTX.",
9
- "x-tiwater-file-role": "read"
9
+ "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current"
10
10
  },
11
11
  "changes": {
12
12
  "minItems": 1,
@@ -6,7 +6,7 @@
6
6
  "type": "string",
7
7
  "minLength": 1,
8
8
  "description": "Path to the current PPTX.",
9
- "x-tiwater-file-role": "read"
9
+ "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current"
10
10
  },
11
11
  "changes": {
12
12
  "minItems": 1,
@@ -2,29 +2,29 @@
2
2
  "schema": "tiwater.office-provider-contract-manifest/v1",
3
3
  "provider": {
4
4
  "id": "@tiwater/office-mcp",
5
- "version": "0.21.33"
5
+ "version": "0.21.34"
6
6
  },
7
7
  "tools": [
8
8
  {
9
9
  "name": "docx_apply_font_policy",
10
10
  "providerContract": {
11
11
  "source": "packages/docx-cli/contracts/mcp-input/docx_apply_font_policy.schema.json",
12
- "sha256": "0df423bca745d196923086d3ff9e5b20be59303460dbb54d5a367cfd701e03d3"
12
+ "sha256": "7e1dfab7d9d0900d6616334c4b9a03e9e91f8c3a5af84324db581cd74608a419"
13
13
  },
14
14
  "inputContract": {
15
15
  "path": "office/contracts/docx_apply_font_policy.schema.json",
16
- "sha256": "0df423bca745d196923086d3ff9e5b20be59303460dbb54d5a367cfd701e03d3"
16
+ "sha256": "7e1dfab7d9d0900d6616334c4b9a03e9e91f8c3a5af84324db581cd74608a419"
17
17
  }
18
18
  },
19
19
  {
20
20
  "name": "docx_apply_toc_style_policy",
21
21
  "providerContract": {
22
22
  "source": "packages/docx-cli/contracts/mcp-input/docx_apply_toc_style_policy.schema.json",
23
- "sha256": "bd912b9c2442ad2528ae5411a4399bb02ea5a44d5d64ed4a87e212d6d7b57dc2"
23
+ "sha256": "975fd24572ae28fb2181edaae9da856417cdcd657f8d83c5eb46c3ff069d2376"
24
24
  },
25
25
  "inputContract": {
26
26
  "path": "office/contracts/docx_apply_toc_style_policy.schema.json",
27
- "sha256": "bd912b9c2442ad2528ae5411a4399bb02ea5a44d5d64ed4a87e212d6d7b57dc2"
27
+ "sha256": "975fd24572ae28fb2181edaae9da856417cdcd657f8d83c5eb46c3ff069d2376"
28
28
  }
29
29
  },
30
30
  {
@@ -42,22 +42,22 @@
42
42
  "name": "docx_delete_object",
43
43
  "providerContract": {
44
44
  "source": "packages/docx-cli/contracts/mcp-input/docx_delete_object.schema.json",
45
- "sha256": "51196251bf30cbbdfff1f7ef99aff0cd690a50faa13583020902a5fd7f7b3e6e"
45
+ "sha256": "f841659d8e26e7c6a2b4b1e4c67ab3323111bff9b66c380c9aeea82c2143f848"
46
46
  },
47
47
  "inputContract": {
48
48
  "path": "office/contracts/docx_delete_object.schema.json",
49
- "sha256": "51196251bf30cbbdfff1f7ef99aff0cd690a50faa13583020902a5fd7f7b3e6e"
49
+ "sha256": "f841659d8e26e7c6a2b4b1e4c67ab3323111bff9b66c380c9aeea82c2143f848"
50
50
  }
51
51
  },
52
52
  {
53
53
  "name": "docx_delete_table_columns",
54
54
  "providerContract": {
55
55
  "source": "packages/docx-cli/contracts/mcp-input/docx_delete_table_columns.schema.json",
56
- "sha256": "b93268c77466d489270e2c90ad60c3ff3cd767f578950f7a7f622126560d9365"
56
+ "sha256": "db9f9a75ce57c2fcff3ab58c114df0c36b733582b8c6bd1e1d1640b5fa83fb5c"
57
57
  },
58
58
  "inputContract": {
59
59
  "path": "office/contracts/docx_delete_table_columns.schema.json",
60
- "sha256": "b93268c77466d489270e2c90ad60c3ff3cd767f578950f7a7f622126560d9365"
60
+ "sha256": "db9f9a75ce57c2fcff3ab58c114df0c36b733582b8c6bd1e1d1640b5fa83fb5c"
61
61
  }
62
62
  },
63
63
  {
@@ -75,33 +75,33 @@
75
75
  "name": "docx_fill_table_from_tables",
76
76
  "providerContract": {
77
77
  "source": "packages/docx-cli/contracts/mcp-input/docx_fill_table_from_tables.schema.json",
78
- "sha256": "4e80fff1c08fd16f8a5b4c638cf6469aa51e3a499743b44f3bf900ae7194ea9b"
78
+ "sha256": "81d335ffaf20b896ae043e96a5a83f1beb3debbaf7404a99c8b4f06a62989c7d"
79
79
  },
80
80
  "inputContract": {
81
81
  "path": "office/contracts/docx_fill_table_from_tables.schema.json",
82
- "sha256": "4e80fff1c08fd16f8a5b4c638cf6469aa51e3a499743b44f3bf900ae7194ea9b"
82
+ "sha256": "81d335ffaf20b896ae043e96a5a83f1beb3debbaf7404a99c8b4f06a62989c7d"
83
83
  }
84
84
  },
85
85
  {
86
86
  "name": "docx_insert_objects",
87
87
  "providerContract": {
88
88
  "source": "packages/docx-cli/contracts/mcp-input/docx_insert_objects.schema.json",
89
- "sha256": "13ae06e671b6377c39a2de7a96d54920bde3f8da3ca7f970e64e7fbe130dd72c"
89
+ "sha256": "7215f42b1d6cd02db26d6df5141a8090e4d7817e822d104388c6ab8e1df820e5"
90
90
  },
91
91
  "inputContract": {
92
92
  "path": "office/contracts/docx_insert_objects.schema.json",
93
- "sha256": "13ae06e671b6377c39a2de7a96d54920bde3f8da3ca7f970e64e7fbe130dd72c"
93
+ "sha256": "7215f42b1d6cd02db26d6df5141a8090e4d7817e822d104388c6ab8e1df820e5"
94
94
  }
95
95
  },
96
96
  {
97
97
  "name": "docx_insert_table_columns",
98
98
  "providerContract": {
99
99
  "source": "packages/docx-cli/contracts/mcp-input/docx_insert_table_columns.schema.json",
100
- "sha256": "01dda556787260576f3b54e118bc11535dd7c39272dcf767fb1ae448022b65ec"
100
+ "sha256": "e3a6e0ed81b82ad8efe315defc4ed1d989dbf5b208a2e4207627582a98bed3ce"
101
101
  },
102
102
  "inputContract": {
103
103
  "path": "office/contracts/docx_insert_table_columns.schema.json",
104
- "sha256": "01dda556787260576f3b54e118bc11535dd7c39272dcf767fb1ae448022b65ec"
104
+ "sha256": "e3a6e0ed81b82ad8efe315defc4ed1d989dbf5b208a2e4207627582a98bed3ce"
105
105
  }
106
106
  },
107
107
  {
@@ -130,11 +130,11 @@
130
130
  "name": "docx_merge_cells",
131
131
  "providerContract": {
132
132
  "source": "packages/docx-cli/contracts/mcp-input/docx_merge_cells.schema.json",
133
- "sha256": "71c76e6860e3befd01ac3f89b4e51d16769f8cc6c6263b00939809346ba5980a"
133
+ "sha256": "4ba37e5570ea7958c374111ae7c0f6460eec29937e5c822eba44eb1b8e908d17"
134
134
  },
135
135
  "inputContract": {
136
136
  "path": "office/contracts/docx_merge_cells.schema.json",
137
- "sha256": "71c76e6860e3befd01ac3f89b4e51d16769f8cc6c6263b00939809346ba5980a"
137
+ "sha256": "4ba37e5570ea7958c374111ae7c0f6460eec29937e5c822eba44eb1b8e908d17"
138
138
  }
139
139
  },
140
140
  {
@@ -163,88 +163,88 @@
163
163
  "name": "docx_refresh_fields",
164
164
  "providerContract": {
165
165
  "source": "packages/convert-cli/schemas/mcp-input/docx_refresh_fields.schema.json",
166
- "sha256": "8f2f8694b6d533d7f48b6e1e0c82be3a9c5aac55c50dba00daadd0ea0a76a8a7"
166
+ "sha256": "54abe9d00cd535472b6aaec8309752d8f5d9b2432aaa9d0696180d71aba33b41"
167
167
  },
168
168
  "inputContract": {
169
169
  "path": "office/contracts/docx_refresh_fields.schema.json",
170
- "sha256": "8f2f8694b6d533d7f48b6e1e0c82be3a9c5aac55c50dba00daadd0ea0a76a8a7"
170
+ "sha256": "54abe9d00cd535472b6aaec8309752d8f5d9b2432aaa9d0696180d71aba33b41"
171
171
  }
172
172
  },
173
173
  {
174
174
  "name": "docx_replace_content_from_source",
175
175
  "providerContract": {
176
176
  "source": "packages/docx-cli/contracts/mcp-input/docx_replace_content_from_source.schema.json",
177
- "sha256": "3ce7730317f1b9429f5da38b0eaecb53664a056545904a7f3904cdf148b94ad1"
177
+ "sha256": "beca665f61a19911e8c4cb17dc5bad27051c5561e8b31dd839f8825bee7e6385"
178
178
  },
179
179
  "inputContract": {
180
180
  "path": "office/contracts/docx_replace_content_from_source.schema.json",
181
- "sha256": "3ce7730317f1b9429f5da38b0eaecb53664a056545904a7f3904cdf148b94ad1"
181
+ "sha256": "beca665f61a19911e8c4cb17dc5bad27051c5561e8b31dd839f8825bee7e6385"
182
182
  }
183
183
  },
184
184
  {
185
185
  "name": "docx_replace_style_ids",
186
186
  "providerContract": {
187
187
  "source": "packages/docx-cli/contracts/mcp-input/docx_replace_style_ids.schema.json",
188
- "sha256": "25f4d4e7c69fa5a2c4a82621aa58ea8eda21245636f84f2243ca4e9092616b68"
188
+ "sha256": "5466f70cc69974d4cb2158760491820a43ab2c25ce1c950465a5169c9185ab81"
189
189
  },
190
190
  "inputContract": {
191
191
  "path": "office/contracts/docx_replace_style_ids.schema.json",
192
- "sha256": "25f4d4e7c69fa5a2c4a82621aa58ea8eda21245636f84f2243ca4e9092616b68"
192
+ "sha256": "5466f70cc69974d4cb2158760491820a43ab2c25ce1c950465a5169c9185ab81"
193
193
  }
194
194
  },
195
195
  {
196
196
  "name": "docx_set_paragraph_pagination",
197
197
  "providerContract": {
198
198
  "source": "packages/docx-cli/contracts/mcp-input/docx_set_paragraph_pagination.schema.json",
199
- "sha256": "ccb90bb5b811cfc82985050094637b1afe4c9daf51d7243c0d81b2d63d875825"
199
+ "sha256": "02343da9dd2072257781e7e94a07682639f3de80b4bec0c7d9c0fc5da6a3b2f5"
200
200
  },
201
201
  "inputContract": {
202
202
  "path": "office/contracts/docx_set_paragraph_pagination.schema.json",
203
- "sha256": "ccb90bb5b811cfc82985050094637b1afe4c9daf51d7243c0d81b2d63d875825"
203
+ "sha256": "02343da9dd2072257781e7e94a07682639f3de80b4bec0c7d9c0fc5da6a3b2f5"
204
204
  }
205
205
  },
206
206
  {
207
207
  "name": "docx_set_table_body",
208
208
  "providerContract": {
209
209
  "source": "packages/docx-cli/contracts/mcp-input/docx_set_table_body.schema.json",
210
- "sha256": "adb0898a253a60fc80e3e811fdd6d19ac01ae76abe16b077e8af1f0960b640af"
210
+ "sha256": "a22d7d38cd3bad30372d45e289e3dc4700a3e52715fec990ac4644888e92ac5e"
211
211
  },
212
212
  "inputContract": {
213
213
  "path": "office/contracts/docx_set_table_body.schema.json",
214
- "sha256": "adb0898a253a60fc80e3e811fdd6d19ac01ae76abe16b077e8af1f0960b640af"
214
+ "sha256": "a22d7d38cd3bad30372d45e289e3dc4700a3e52715fec990ac4644888e92ac5e"
215
215
  }
216
216
  },
217
217
  {
218
218
  "name": "docx_set_text",
219
219
  "providerContract": {
220
220
  "source": "packages/docx-cli/contracts/mcp-input/docx_set_text.schema.json",
221
- "sha256": "71a29d83c20b1c641b7bdb81b19a5254b46e1f30227bddd8c2eebdd07414d719"
221
+ "sha256": "4d6f69ef474c0a3ceade95cce362fba7e000946bb890e64119177c5519524db2"
222
222
  },
223
223
  "inputContract": {
224
224
  "path": "office/contracts/docx_set_text.schema.json",
225
- "sha256": "71a29d83c20b1c641b7bdb81b19a5254b46e1f30227bddd8c2eebdd07414d719"
225
+ "sha256": "4d6f69ef474c0a3ceade95cce362fba7e000946bb890e64119177c5519524db2"
226
226
  }
227
227
  },
228
228
  {
229
229
  "name": "docx_split_cells",
230
230
  "providerContract": {
231
231
  "source": "packages/docx-cli/contracts/mcp-input/docx_split_cells.schema.json",
232
- "sha256": "eef50ca62048bb165aa288c9ea37662026b6b416084b77dd44fb8e2f2768507a"
232
+ "sha256": "143e6953c3d03c3be723fdd807c06191f0833906322e565b27849aa256486f39"
233
233
  },
234
234
  "inputContract": {
235
235
  "path": "office/contracts/docx_split_cells.schema.json",
236
- "sha256": "eef50ca62048bb165aa288c9ea37662026b6b416084b77dd44fb8e2f2768507a"
236
+ "sha256": "143e6953c3d03c3be723fdd807c06191f0833906322e565b27849aa256486f39"
237
237
  }
238
238
  },
239
239
  {
240
240
  "name": "docx_strip_direct_formatting",
241
241
  "providerContract": {
242
242
  "source": "packages/docx-cli/contracts/mcp-input/docx_strip_direct_formatting.schema.json",
243
- "sha256": "4931d4432c574154eb7a344ee4dc485d99d8840c07d2e46f647e14490cbeedae"
243
+ "sha256": "64509797afedcb98b6d8890681f2cd90a42ad1857e4ffc12b85d8ad51ec0569d"
244
244
  },
245
245
  "inputContract": {
246
246
  "path": "office/contracts/docx_strip_direct_formatting.schema.json",
247
- "sha256": "4931d4432c574154eb7a344ee4dc485d99d8840c07d2e46f647e14490cbeedae"
247
+ "sha256": "64509797afedcb98b6d8890681f2cd90a42ad1857e4ffc12b85d8ad51ec0569d"
248
248
  }
249
249
  },
250
250
  {
@@ -306,22 +306,22 @@
306
306
  "name": "pptx_apply_format",
307
307
  "providerContract": {
308
308
  "source": "packages/pptx-cli/contracts/mcp-input/pptx_apply_format.schema.json",
309
- "sha256": "dd6db54960394abe3393040d23f7834dc505a1686fae92ec90a643f6dc531ff2"
309
+ "sha256": "00c616c27bdcc2c0e66a0e59a4c2609ea32414993084d5987f5fc753334631c9"
310
310
  },
311
311
  "inputContract": {
312
312
  "path": "office/contracts/pptx_apply_format.schema.json",
313
- "sha256": "dd6db54960394abe3393040d23f7834dc505a1686fae92ec90a643f6dc531ff2"
313
+ "sha256": "00c616c27bdcc2c0e66a0e59a4c2609ea32414993084d5987f5fc753334631c9"
314
314
  }
315
315
  },
316
316
  {
317
317
  "name": "pptx_apply_template",
318
318
  "providerContract": {
319
319
  "source": "packages/pptx-cli/contracts/mcp-input/pptx_apply_template.schema.json",
320
- "sha256": "9a45f05532ecc7e8f227f27da0eb9fc68c4ef625c366675533baad7cda77f37a"
320
+ "sha256": "b059771ca8df233f63a73d94e8a21ca160656e76e6066d4b2c96babe0219a511"
321
321
  },
322
322
  "inputContract": {
323
323
  "path": "office/contracts/pptx_apply_template.schema.json",
324
- "sha256": "9a45f05532ecc7e8f227f27da0eb9fc68c4ef625c366675533baad7cda77f37a"
324
+ "sha256": "b059771ca8df233f63a73d94e8a21ca160656e76e6066d4b2c96babe0219a511"
325
325
  }
326
326
  },
327
327
  {
@@ -350,22 +350,22 @@
350
350
  "name": "pptx_replace_picture_image",
351
351
  "providerContract": {
352
352
  "source": "packages/pptx-cli/contracts/mcp-input/pptx_replace_picture_image.schema.json",
353
- "sha256": "6f7756c1fc0b8df9cf03d014a7e7196b05ee260ff942f268dbd5eaf116874b91"
353
+ "sha256": "b74c4bba40a8dd7f2fd7e77c5292c9841316b570c7fb05676b3da47e8ae59880"
354
354
  },
355
355
  "inputContract": {
356
356
  "path": "office/contracts/pptx_replace_picture_image.schema.json",
357
- "sha256": "6f7756c1fc0b8df9cf03d014a7e7196b05ee260ff942f268dbd5eaf116874b91"
357
+ "sha256": "b74c4bba40a8dd7f2fd7e77c5292c9841316b570c7fb05676b3da47e8ae59880"
358
358
  }
359
359
  },
360
360
  {
361
361
  "name": "pptx_set_shape_geometry",
362
362
  "providerContract": {
363
363
  "source": "packages/pptx-cli/contracts/mcp-input/pptx_set_shape_geometry.schema.json",
364
- "sha256": "12b19a30dd2bb5aa67655e5a6ca887cf08fb87343bab7bf19278355f77854281"
364
+ "sha256": "7f828b26d0d49de519acb6348c141c459af9d42fd2279e6958edc7d50d75fb3d"
365
365
  },
366
366
  "inputContract": {
367
367
  "path": "office/contracts/pptx_set_shape_geometry.schema.json",
368
- "sha256": "12b19a30dd2bb5aa67655e5a6ca887cf08fb87343bab7bf19278355f77854281"
368
+ "sha256": "7f828b26d0d49de519acb6348c141c459af9d42fd2279e6958edc7d50d75fb3d"
369
369
  }
370
370
  },
371
371
  {
@@ -394,33 +394,33 @@
394
394
  "name": "xlsx_copy_row",
395
395
  "providerContract": {
396
396
  "source": "packages/xlsx-cli/contracts/mcp-input/xlsx_copy_row.schema.json",
397
- "sha256": "1841a89840c2d66028372571150e78643989e78e1b8182d088c9a04756b051d0"
397
+ "sha256": "7159b2ed971a54a0c5f0c7e9686e6594908858694eab9e6e65b15771e0ab3500"
398
398
  },
399
399
  "inputContract": {
400
400
  "path": "office/contracts/xlsx_copy_row.schema.json",
401
- "sha256": "1841a89840c2d66028372571150e78643989e78e1b8182d088c9a04756b051d0"
401
+ "sha256": "7159b2ed971a54a0c5f0c7e9686e6594908858694eab9e6e65b15771e0ab3500"
402
402
  }
403
403
  },
404
404
  {
405
405
  "name": "xlsx_delete_rows",
406
406
  "providerContract": {
407
407
  "source": "packages/xlsx-cli/contracts/mcp-input/xlsx_delete_rows.schema.json",
408
- "sha256": "3e74055269880f001aac9bcaa62c613ea56b1ac1bce8bcc31c076c827af6e19b"
408
+ "sha256": "0d54bf1299dd8591baf2cd550adfb191ea6bfad91b3dfb28543a56d8dc135910"
409
409
  },
410
410
  "inputContract": {
411
411
  "path": "office/contracts/xlsx_delete_rows.schema.json",
412
- "sha256": "3e74055269880f001aac9bcaa62c613ea56b1ac1bce8bcc31c076c827af6e19b"
412
+ "sha256": "0d54bf1299dd8591baf2cd550adfb191ea6bfad91b3dfb28543a56d8dc135910"
413
413
  }
414
414
  },
415
415
  {
416
416
  "name": "xlsx_expand_section_rows",
417
417
  "providerContract": {
418
418
  "source": "packages/xlsx-cli/contracts/mcp-input/xlsx_expand_section_rows.schema.json",
419
- "sha256": "507817652e2ba7cf66780667a15712e56f5ec7348b8bef4c8f4fa7fcefb29ef5"
419
+ "sha256": "93f9e8562e7bf99f3f0612bbf701efcd3c142f51be790e8b348a8472998f8f24"
420
420
  },
421
421
  "inputContract": {
422
422
  "path": "office/contracts/xlsx_expand_section_rows.schema.json",
423
- "sha256": "507817652e2ba7cf66780667a15712e56f5ec7348b8bef4c8f4fa7fcefb29ef5"
423
+ "sha256": "93f9e8562e7bf99f3f0612bbf701efcd3c142f51be790e8b348a8472998f8f24"
424
424
  }
425
425
  },
426
426
  {
@@ -438,11 +438,11 @@
438
438
  "name": "xlsx_insert_rows",
439
439
  "providerContract": {
440
440
  "source": "packages/xlsx-cli/contracts/mcp-input/xlsx_insert_rows.schema.json",
441
- "sha256": "b4773d91d3443094e36d2fbc41c671452b32b022296d0e25441daa4245e051de"
441
+ "sha256": "a295530a293a9930a5fe49d320f5d965fe4065322e2106575f0e74b18ec70680"
442
442
  },
443
443
  "inputContract": {
444
444
  "path": "office/contracts/xlsx_insert_rows.schema.json",
445
- "sha256": "b4773d91d3443094e36d2fbc41c671452b32b022296d0e25441daa4245e051de"
445
+ "sha256": "a295530a293a9930a5fe49d320f5d965fe4065322e2106575f0e74b18ec70680"
446
446
  }
447
447
  },
448
448
  {
@@ -471,88 +471,88 @@
471
471
  "name": "xlsx_set_cell_number_format",
472
472
  "providerContract": {
473
473
  "source": "packages/xlsx-cli/contracts/mcp-input/xlsx_set_cell_number_format.schema.json",
474
- "sha256": "c8a6a882537472830f363c83446f9dc943fa953484216a69a1f779f1ef245125"
474
+ "sha256": "b5f40eb92bea55b43166de3eea3944bcac000cb3b29f402ef1731ab190242db1"
475
475
  },
476
476
  "inputContract": {
477
477
  "path": "office/contracts/xlsx_set_cell_number_format.schema.json",
478
- "sha256": "c8a6a882537472830f363c83446f9dc943fa953484216a69a1f779f1ef245125"
478
+ "sha256": "b5f40eb92bea55b43166de3eea3944bcac000cb3b29f402ef1731ab190242db1"
479
479
  }
480
480
  },
481
481
  {
482
482
  "name": "xlsx_set_cell_value",
483
483
  "providerContract": {
484
484
  "source": "packages/xlsx-cli/contracts/mcp-input/xlsx_set_cell_value.schema.json",
485
- "sha256": "6ccce5792d33e06f22e71a139e5585249275f0a485d0a063eeac7366c852e376"
485
+ "sha256": "ba49e6edd2741162161b9b98f3a4aa8d093f5552084cbdbc736b5e8e9431edc7"
486
486
  },
487
487
  "inputContract": {
488
488
  "path": "office/contracts/xlsx_set_cell_value.schema.json",
489
- "sha256": "6ccce5792d33e06f22e71a139e5585249275f0a485d0a063eeac7366c852e376"
489
+ "sha256": "ba49e6edd2741162161b9b98f3a4aa8d093f5552084cbdbc736b5e8e9431edc7"
490
490
  }
491
491
  },
492
492
  {
493
493
  "name": "xlsx_set_column_width",
494
494
  "providerContract": {
495
495
  "source": "packages/xlsx-cli/contracts/mcp-input/xlsx_set_column_width.schema.json",
496
- "sha256": "5cb2b4c080e67c7f5cb6cb37aff6840759cc2e6be114d7eeae210f9c259f7a33"
496
+ "sha256": "b1435b0b12c1f2a8dcc504bfc78a8b8ca456e4a1fbd48ed0a8a61b9746d40839"
497
497
  },
498
498
  "inputContract": {
499
499
  "path": "office/contracts/xlsx_set_column_width.schema.json",
500
- "sha256": "5cb2b4c080e67c7f5cb6cb37aff6840759cc2e6be114d7eeae210f9c259f7a33"
500
+ "sha256": "b1435b0b12c1f2a8dcc504bfc78a8b8ca456e4a1fbd48ed0a8a61b9746d40839"
501
501
  }
502
502
  },
503
503
  {
504
504
  "name": "xlsx_set_page_setup",
505
505
  "providerContract": {
506
506
  "source": "packages/xlsx-cli/contracts/mcp-input/xlsx_set_page_setup.schema.json",
507
- "sha256": "4ab44acf2e1a20537aa46c1e959fc657e8fa274a6e31485cea90611436a3b115"
507
+ "sha256": "8340463fe45d05ab1c56c56a9c52d80cd2cf459722c02f5f795e8ef2214dd5e7"
508
508
  },
509
509
  "inputContract": {
510
510
  "path": "office/contracts/xlsx_set_page_setup.schema.json",
511
- "sha256": "4ab44acf2e1a20537aa46c1e959fc657e8fa274a6e31485cea90611436a3b115"
511
+ "sha256": "8340463fe45d05ab1c56c56a9c52d80cd2cf459722c02f5f795e8ef2214dd5e7"
512
512
  }
513
513
  },
514
514
  {
515
515
  "name": "xlsx_set_print_area",
516
516
  "providerContract": {
517
517
  "source": "packages/xlsx-cli/contracts/mcp-input/xlsx_set_print_area.schema.json",
518
- "sha256": "48e4441af62baa70bfa7f4e6efe9f1c329dba9b44b0cab57acaed7fcc5ac5f93"
518
+ "sha256": "ca125ccbd01cf461872566ef3f13047b2bb735fc2157bea61c2ee2c0f41a4ecd"
519
519
  },
520
520
  "inputContract": {
521
521
  "path": "office/contracts/xlsx_set_print_area.schema.json",
522
- "sha256": "48e4441af62baa70bfa7f4e6efe9f1c329dba9b44b0cab57acaed7fcc5ac5f93"
522
+ "sha256": "ca125ccbd01cf461872566ef3f13047b2bb735fc2157bea61c2ee2c0f41a4ecd"
523
523
  }
524
524
  },
525
525
  {
526
526
  "name": "xlsx_set_range_values",
527
527
  "providerContract": {
528
528
  "source": "packages/xlsx-cli/contracts/mcp-input/xlsx_set_range_values.schema.json",
529
- "sha256": "398604ac651823734d21401f8c57323183b17b44b8c17ec889ec6701c6bf2dfa"
529
+ "sha256": "5ce9843e5cb03c237a743e54bce185d4e597d22cd072cbd67adb2bd87f2692e0"
530
530
  },
531
531
  "inputContract": {
532
532
  "path": "office/contracts/xlsx_set_range_values.schema.json",
533
- "sha256": "398604ac651823734d21401f8c57323183b17b44b8c17ec889ec6701c6bf2dfa"
533
+ "sha256": "5ce9843e5cb03c237a743e54bce185d4e597d22cd072cbd67adb2bd87f2692e0"
534
534
  }
535
535
  },
536
536
  {
537
537
  "name": "xlsx_set_rich_text_cell_value",
538
538
  "providerContract": {
539
539
  "source": "packages/xlsx-cli/contracts/mcp-input/xlsx_set_rich_text_cell_value.schema.json",
540
- "sha256": "01b700bcc4a5b394565a70b93f5dd879f0c44d53d1a6d5f38f72031eddcedeb8"
540
+ "sha256": "563308df6bbfd74b3679f9d12dda4572f2ebbd2328919f26c57ba3f67f31e201"
541
541
  },
542
542
  "inputContract": {
543
543
  "path": "office/contracts/xlsx_set_rich_text_cell_value.schema.json",
544
- "sha256": "01b700bcc4a5b394565a70b93f5dd879f0c44d53d1a6d5f38f72031eddcedeb8"
544
+ "sha256": "563308df6bbfd74b3679f9d12dda4572f2ebbd2328919f26c57ba3f67f31e201"
545
545
  }
546
546
  },
547
547
  {
548
548
  "name": "xlsx_set_row_page_breaks",
549
549
  "providerContract": {
550
550
  "source": "packages/xlsx-cli/contracts/mcp-input/xlsx_set_row_page_breaks.schema.json",
551
- "sha256": "913ec14f53da87ab3fb7ae96eac5c04381766aa12b04528ab981f67219869ccf"
551
+ "sha256": "d6ef42029c60481d58d840d3ae27f99cd7be15ad582c92d33f0dff66f04b26c3"
552
552
  },
553
553
  "inputContract": {
554
554
  "path": "office/contracts/xlsx_set_row_page_breaks.schema.json",
555
- "sha256": "913ec14f53da87ab3fb7ae96eac5c04381766aa12b04528ab981f67219869ccf"
555
+ "sha256": "d6ef42029c60481d58d840d3ae27f99cd7be15ad582c92d33f0dff66f04b26c3"
556
556
  }
557
557
  },
558
558
  {
@@ -5,7 +5,7 @@
5
5
  "input": {
6
6
  "type": "string",
7
7
  "minLength": 1,
8
- "x-tiwater-file-role": "read"
8
+ "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current"
9
9
  },
10
10
  "output": {
11
11
  "type": "string",
@@ -5,7 +5,7 @@
5
5
  "input": {
6
6
  "type": "string",
7
7
  "minLength": 1,
8
- "x-tiwater-file-role": "read"
8
+ "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current"
9
9
  },
10
10
  "output": {
11
11
  "type": "string",
@@ -5,7 +5,7 @@
5
5
  "input": {
6
6
  "type": "string",
7
7
  "minLength": 1,
8
- "x-tiwater-file-role": "read"
8
+ "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current"
9
9
  },
10
10
  "output": {
11
11
  "type": "string",
@@ -5,7 +5,7 @@
5
5
  "input": {
6
6
  "type": "string",
7
7
  "minLength": 1,
8
- "x-tiwater-file-role": "read"
8
+ "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current"
9
9
  },
10
10
  "output": {
11
11
  "type": "string",
@@ -5,7 +5,7 @@
5
5
  "input": {
6
6
  "type": "string",
7
7
  "minLength": 1,
8
- "x-tiwater-file-role": "read"
8
+ "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current"
9
9
  },
10
10
  "output": {
11
11
  "type": "string",
@@ -5,7 +5,7 @@
5
5
  "input": {
6
6
  "type": "string",
7
7
  "minLength": 1,
8
- "x-tiwater-file-role": "read"
8
+ "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current"
9
9
  },
10
10
  "output": {
11
11
  "type": "string",
@@ -5,7 +5,7 @@
5
5
  "input": {
6
6
  "type": "string",
7
7
  "minLength": 1,
8
- "x-tiwater-file-role": "read"
8
+ "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current"
9
9
  },
10
10
  "output": {
11
11
  "type": "string",
@@ -5,7 +5,7 @@
5
5
  "input": {
6
6
  "type": "string",
7
7
  "minLength": 1,
8
- "x-tiwater-file-role": "read"
8
+ "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current"
9
9
  },
10
10
  "output": {
11
11
  "type": "string",
@@ -5,7 +5,7 @@
5
5
  "input": {
6
6
  "type": "string",
7
7
  "minLength": 1,
8
- "x-tiwater-file-role": "read"
8
+ "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current"
9
9
  },
10
10
  "output": {
11
11
  "type": "string",
@@ -5,7 +5,7 @@
5
5
  "input": {
6
6
  "type": "string",
7
7
  "minLength": 1,
8
- "x-tiwater-file-role": "read"
8
+ "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current"
9
9
  },
10
10
  "output": {
11
11
  "type": "string",
@@ -5,7 +5,7 @@
5
5
  "input": {
6
6
  "type": "string",
7
7
  "minLength": 1,
8
- "x-tiwater-file-role": "read"
8
+ "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current"
9
9
  },
10
10
  "output": {
11
11
  "type": "string",
@@ -5,7 +5,7 @@
5
5
  "input": {
6
6
  "type": "string",
7
7
  "minLength": 1,
8
- "x-tiwater-file-role": "read"
8
+ "x-tiwater-file-role": "read", "x-tiwater-document-revision-role": "current"
9
9
  },
10
10
  "output": {
11
11
  "type": "string",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tiwater/office-mcp",
3
- "version": "0.21.33",
3
+ "version": "0.21.34",
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.33"
5
+ "version": "0.21.34"
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.33"
5
+ "version": "0.21.34"
6
6
  },
7
7
  "tools": [
8
8
  {