@tiwater/office-mcp 0.20.4 → 0.21.1
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/_shared/large-json-result.mjs +63 -0
- package/office/contracts/docx_compare.schema.json +12 -1
- package/office/contracts/docx_export_json.schema.json +5 -1
- package/office/contracts/docx_inspect.schema.json +6 -2
- package/office/contracts/docx_list_objects.schema.json +6 -1
- package/office/contracts/docx_read_object.schema.json +6 -1
- package/office/contracts/docx_read_table.schema.json +7 -2
- package/office/contracts/docx_table_index.schema.json +7 -3
- package/office/contracts/docx_validate.schema.json +12 -1
- package/office/contracts/docx_validate_font_policy.schema.json +12 -1
- package/office/contracts/docx_validate_toc_style_policy.schema.json +12 -1
- package/office/contracts/pptx_export_json.schema.json +5 -1
- package/office/contracts/pptx_inspect.schema.json +5 -1
- package/office/contracts/pptx_validate.schema.json +12 -1
- package/office/contracts/tiwater-office-provider-contract-manifest-v1.json +33 -33
- package/office/contracts/xlsx_export_json.schema.json +5 -1
- package/office/contracts/xlsx_inspect.schema.json +5 -1
- package/office/contracts/xlsx_validate.schema.json +12 -1
- package/office/index.mjs +308 -134
- package/package.json +2 -1
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { createReadStream } from 'node:fs';
|
|
3
|
+
import { mkdir, stat, writeFile } from 'node:fs/promises';
|
|
4
|
+
import path from 'node:path';
|
|
5
|
+
|
|
6
|
+
import { requireString } from './tool-runtime.mjs';
|
|
7
|
+
|
|
8
|
+
export const returnedContentBudgetBytes = 4_500;
|
|
9
|
+
|
|
10
|
+
export function resultChannels(args) {
|
|
11
|
+
const returnContent = args.returnContent === true;
|
|
12
|
+
const output = args.output === undefined ? null : path.resolve(requireString(args.output, 'output'));
|
|
13
|
+
if (!returnContent && output === null) {
|
|
14
|
+
throw Object.assign(new Error('returnContent-must-be-true-when-output-is-not-provided'), { code: -32602 });
|
|
15
|
+
}
|
|
16
|
+
return { returnContent, output };
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export async function deliverLargeJsonResult({ tool, args, runtime, payload, sourcePaths, summary }) {
|
|
20
|
+
const channels = resultChannels(args);
|
|
21
|
+
const contentBytes = Buffer.byteLength(JSON.stringify(payload), 'utf8');
|
|
22
|
+
const contentReturned = channels.returnContent && contentBytes <= returnedContentBudgetBytes;
|
|
23
|
+
if (channels.returnContent && !contentReturned && channels.output === null) {
|
|
24
|
+
throw Object.assign(
|
|
25
|
+
new Error(`${tool}-content-is-${contentBytes}-bytes-provide-output-for-the-complete-result`),
|
|
26
|
+
{ code: -32602 },
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
tool,
|
|
31
|
+
runtime,
|
|
32
|
+
sources: await Promise.all(sourcePaths.map(fileArtifact)),
|
|
33
|
+
returnContent: channels.returnContent,
|
|
34
|
+
artifact: channels.output === null ? null : await writeJsonArtifact(channels.output, payload),
|
|
35
|
+
receipt: {
|
|
36
|
+
contentBytes,
|
|
37
|
+
contentReturned,
|
|
38
|
+
contentWritten: channels.output !== null,
|
|
39
|
+
},
|
|
40
|
+
...(summary === undefined ? {} : { summary }),
|
|
41
|
+
...(contentReturned ? { content: payload } : {}),
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export async function writeJsonArtifact(output, payload) {
|
|
46
|
+
const fullPath = path.resolve(output);
|
|
47
|
+
const bytes = Buffer.from(`${JSON.stringify(payload, null, 2)}\n`, 'utf8');
|
|
48
|
+
await mkdir(path.dirname(fullPath), { recursive: true });
|
|
49
|
+
await writeFile(fullPath, bytes, { flag: 'wx' });
|
|
50
|
+
return {
|
|
51
|
+
path: fullPath,
|
|
52
|
+
sha256: createHash('sha256').update(bytes).digest('hex'),
|
|
53
|
+
bytes: bytes.length,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export async function fileArtifact(filePath) {
|
|
58
|
+
const fullPath = path.resolve(filePath);
|
|
59
|
+
const hash = createHash('sha256');
|
|
60
|
+
for await (const chunk of createReadStream(fullPath)) hash.update(chunk);
|
|
61
|
+
const file = await stat(fullPath);
|
|
62
|
+
return { path: fullPath, sha256: hash.digest('hex'), bytes: file.size };
|
|
63
|
+
}
|
|
@@ -11,11 +11,22 @@
|
|
|
11
11
|
"type": "string",
|
|
12
12
|
"minLength": 1,
|
|
13
13
|
"x-tiwater-file-role": "read"
|
|
14
|
+
},
|
|
15
|
+
"returnContent": {
|
|
16
|
+
"type": "boolean",
|
|
17
|
+
"description": "Return the complete result directly when it fits the published response limit."
|
|
18
|
+
},
|
|
19
|
+
"output": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"minLength": 1,
|
|
22
|
+
"description": "Absolute path for a new JSON file containing the complete result. Existing files are never overwritten.",
|
|
23
|
+
"x-tiwater-file-role": "write"
|
|
14
24
|
}
|
|
15
25
|
},
|
|
16
26
|
"required": [
|
|
17
27
|
"baseline",
|
|
18
|
-
"updated"
|
|
28
|
+
"updated",
|
|
29
|
+
"returnContent"
|
|
19
30
|
],
|
|
20
31
|
"additionalProperties": false
|
|
21
32
|
}
|
|
@@ -7,6 +7,10 @@
|
|
|
7
7
|
"minLength": 1,
|
|
8
8
|
"x-tiwater-file-role": "read"
|
|
9
9
|
},
|
|
10
|
+
"returnContent": {
|
|
11
|
+
"type": "boolean",
|
|
12
|
+
"description": "Return the complete result directly when it fits the published response limit."
|
|
13
|
+
},
|
|
10
14
|
"output": {
|
|
11
15
|
"type": "string",
|
|
12
16
|
"minLength": 1,
|
|
@@ -16,7 +20,7 @@
|
|
|
16
20
|
},
|
|
17
21
|
"required": [
|
|
18
22
|
"input",
|
|
19
|
-
"
|
|
23
|
+
"returnContent"
|
|
20
24
|
],
|
|
21
25
|
"additionalProperties": false
|
|
22
26
|
}
|
|
@@ -7,16 +7,20 @@
|
|
|
7
7
|
"minLength": 1,
|
|
8
8
|
"x-tiwater-file-role": "read"
|
|
9
9
|
},
|
|
10
|
+
"returnContent": {
|
|
11
|
+
"type": "boolean",
|
|
12
|
+
"description": "Whether to return the compact observation directly in the tool response. May be combined with output."
|
|
13
|
+
},
|
|
10
14
|
"output": {
|
|
11
15
|
"type": "string",
|
|
12
16
|
"minLength": 1,
|
|
13
|
-
"description": "
|
|
17
|
+
"description": "Optional absolute path for retaining the complete observation inside the caller-authorized output directory; existing files are never overwritten. May be combined with returnContent.",
|
|
14
18
|
"x-tiwater-file-role": "write"
|
|
15
19
|
}
|
|
16
20
|
},
|
|
17
21
|
"required": [
|
|
18
22
|
"input",
|
|
19
|
-
"
|
|
23
|
+
"returnContent"
|
|
20
24
|
],
|
|
21
25
|
"additionalProperties": false
|
|
22
26
|
}
|
|
@@ -7,6 +7,10 @@
|
|
|
7
7
|
"minLength": 1,
|
|
8
8
|
"x-tiwater-file-role": "read"
|
|
9
9
|
},
|
|
10
|
+
"returnContent": {
|
|
11
|
+
"type": "boolean",
|
|
12
|
+
"description": "Whether to return the bounded object page directly in the tool response. May be combined with output."
|
|
13
|
+
},
|
|
10
14
|
"kinds": {
|
|
11
15
|
"minItems": 1,
|
|
12
16
|
"type": "array",
|
|
@@ -64,13 +68,14 @@
|
|
|
64
68
|
"output": {
|
|
65
69
|
"type": "string",
|
|
66
70
|
"minLength": 1,
|
|
71
|
+
"description": "Optional path for retaining the complete requested page. May be combined with returnContent.",
|
|
67
72
|
"x-tiwater-file-role": "write"
|
|
68
73
|
}
|
|
69
74
|
},
|
|
70
75
|
"required": [
|
|
71
76
|
"input",
|
|
72
77
|
"kinds",
|
|
73
|
-
"
|
|
78
|
+
"returnContent"
|
|
74
79
|
],
|
|
75
80
|
"additionalProperties": false,
|
|
76
81
|
"$id": "tiwater.office-mcp-input/docx_list_objects/v1"
|
|
@@ -7,6 +7,10 @@
|
|
|
7
7
|
"minLength": 1,
|
|
8
8
|
"x-tiwater-file-role": "read"
|
|
9
9
|
},
|
|
10
|
+
"returnContent": {
|
|
11
|
+
"type": "boolean",
|
|
12
|
+
"description": "Whether to return the selected compact objects directly in the tool response. May be combined with output."
|
|
13
|
+
},
|
|
10
14
|
"addresses": {
|
|
11
15
|
"minItems": 1,
|
|
12
16
|
"type": "array",
|
|
@@ -51,6 +55,7 @@
|
|
|
51
55
|
"output": {
|
|
52
56
|
"type": "string",
|
|
53
57
|
"minLength": 1,
|
|
58
|
+
"description": "Optional path for retaining the complete selected observation. May be combined with returnContent.",
|
|
54
59
|
"x-tiwater-file-role": "write"
|
|
55
60
|
}
|
|
56
61
|
},
|
|
@@ -58,7 +63,7 @@
|
|
|
58
63
|
"input",
|
|
59
64
|
"addresses",
|
|
60
65
|
"kinds",
|
|
61
|
-
"
|
|
66
|
+
"returnContent"
|
|
62
67
|
],
|
|
63
68
|
"additionalProperties": false,
|
|
64
69
|
"$id": "tiwater.office-mcp-input/docx_read_object/v1"
|
|
@@ -8,6 +8,10 @@
|
|
|
8
8
|
"minLength": 1,
|
|
9
9
|
"x-tiwater-file-role": "read"
|
|
10
10
|
},
|
|
11
|
+
"returnContent": {
|
|
12
|
+
"type": "boolean",
|
|
13
|
+
"description": "Whether to return the explicitly selected compact row page directly in the tool response. May be combined with output."
|
|
14
|
+
},
|
|
11
15
|
"table": {
|
|
12
16
|
"type": "object",
|
|
13
17
|
"properties": {
|
|
@@ -27,14 +31,15 @@
|
|
|
27
31
|
"type": "integer",
|
|
28
32
|
"minimum": 0,
|
|
29
33
|
"maximum": 9007199254740991,
|
|
30
|
-
"description": "Zero-based row offset.
|
|
34
|
+
"description": "Zero-based row offset. Continue only when an unreturned row is needed for the current operation; unused blank template rows need not be read."
|
|
31
35
|
},
|
|
32
36
|
"output": {
|
|
33
37
|
"type": "string",
|
|
34
38
|
"minLength": 1,
|
|
39
|
+
"description": "Optional path for retaining the selected detailed row page. May be combined with returnContent.",
|
|
35
40
|
"x-tiwater-file-role": "write"
|
|
36
41
|
}
|
|
37
42
|
},
|
|
38
|
-
"required": ["input", "table", "
|
|
43
|
+
"required": ["input", "table", "returnContent"],
|
|
39
44
|
"additionalProperties": false
|
|
40
45
|
}
|
|
@@ -9,10 +9,14 @@
|
|
|
9
9
|
"description": "Current DOCX path.",
|
|
10
10
|
"x-tiwater-file-role": "read"
|
|
11
11
|
},
|
|
12
|
+
"returnContent": {
|
|
13
|
+
"type": "boolean",
|
|
14
|
+
"description": "Whether to return a bounded table-summary page directly in the tool response. May be combined with output."
|
|
15
|
+
},
|
|
12
16
|
"output": {
|
|
13
17
|
"type": "string",
|
|
14
18
|
"minLength": 1,
|
|
15
|
-
"description": "
|
|
19
|
+
"description": "Optional new JSON artifact path for retaining the complete table index. May be combined with returnContent.",
|
|
16
20
|
"x-tiwater-file-role": "write"
|
|
17
21
|
},
|
|
18
22
|
"limit": {
|
|
@@ -25,9 +29,9 @@
|
|
|
25
29
|
"type": "integer",
|
|
26
30
|
"minimum": 0,
|
|
27
31
|
"maximum": 9007199254740991,
|
|
28
|
-
"description": "Zero-based table offset. Continue
|
|
32
|
+
"description": "Zero-based table offset. Continue only when an unreturned table is needed for the current operation."
|
|
29
33
|
}
|
|
30
34
|
},
|
|
31
|
-
"required": ["input", "
|
|
35
|
+
"required": ["input", "returnContent"],
|
|
32
36
|
"additionalProperties": false
|
|
33
37
|
}
|
|
@@ -6,10 +6,21 @@
|
|
|
6
6
|
"type": "string",
|
|
7
7
|
"minLength": 1,
|
|
8
8
|
"x-tiwater-file-role": "read"
|
|
9
|
+
},
|
|
10
|
+
"returnContent": {
|
|
11
|
+
"type": "boolean",
|
|
12
|
+
"description": "Return the complete result directly when it fits the published response limit."
|
|
13
|
+
},
|
|
14
|
+
"output": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"minLength": 1,
|
|
17
|
+
"description": "Absolute path for a new JSON file containing the complete result. Existing files are never overwritten.",
|
|
18
|
+
"x-tiwater-file-role": "write"
|
|
9
19
|
}
|
|
10
20
|
},
|
|
11
21
|
"required": [
|
|
12
|
-
"input"
|
|
22
|
+
"input",
|
|
23
|
+
"returnContent"
|
|
13
24
|
],
|
|
14
25
|
"additionalProperties": false
|
|
15
26
|
}
|
|
@@ -39,11 +39,22 @@
|
|
|
39
39
|
"table"
|
|
40
40
|
],
|
|
41
41
|
"additionalProperties": false
|
|
42
|
+
},
|
|
43
|
+
"returnContent": {
|
|
44
|
+
"type": "boolean",
|
|
45
|
+
"description": "Return the complete result directly when it fits the published response limit."
|
|
46
|
+
},
|
|
47
|
+
"output": {
|
|
48
|
+
"type": "string",
|
|
49
|
+
"minLength": 1,
|
|
50
|
+
"description": "Absolute path for a new JSON file containing the complete result. Existing files are never overwritten.",
|
|
51
|
+
"x-tiwater-file-role": "write"
|
|
42
52
|
}
|
|
43
53
|
},
|
|
44
54
|
"required": [
|
|
45
55
|
"input",
|
|
46
|
-
"policy"
|
|
56
|
+
"policy",
|
|
57
|
+
"returnContent"
|
|
47
58
|
],
|
|
48
59
|
"additionalProperties": false
|
|
49
60
|
}
|
|
@@ -14,12 +14,23 @@
|
|
|
14
14
|
"type": "integer",
|
|
15
15
|
"minimum": 0,
|
|
16
16
|
"maximum": 9007199254740991
|
|
17
|
+
},
|
|
18
|
+
"returnContent": {
|
|
19
|
+
"type": "boolean",
|
|
20
|
+
"description": "Return the complete result directly when it fits the published response limit."
|
|
21
|
+
},
|
|
22
|
+
"output": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"minLength": 1,
|
|
25
|
+
"description": "Absolute path for a new JSON file containing the complete result. Existing files are never overwritten.",
|
|
26
|
+
"x-tiwater-file-role": "write"
|
|
17
27
|
}
|
|
18
28
|
},
|
|
19
29
|
"required": [
|
|
20
30
|
"input",
|
|
21
31
|
"italic",
|
|
22
|
-
"indentCharactersPerLevel"
|
|
32
|
+
"indentCharactersPerLevel",
|
|
33
|
+
"returnContent"
|
|
23
34
|
],
|
|
24
35
|
"additionalProperties": false
|
|
25
36
|
}
|
|
@@ -7,6 +7,10 @@
|
|
|
7
7
|
"minLength": 1,
|
|
8
8
|
"x-tiwater-file-role": "read"
|
|
9
9
|
},
|
|
10
|
+
"returnContent": {
|
|
11
|
+
"type": "boolean",
|
|
12
|
+
"description": "Return the complete result directly when it fits the published response limit."
|
|
13
|
+
},
|
|
10
14
|
"output": {
|
|
11
15
|
"type": "string",
|
|
12
16
|
"minLength": 1,
|
|
@@ -16,7 +20,7 @@
|
|
|
16
20
|
},
|
|
17
21
|
"required": [
|
|
18
22
|
"input",
|
|
19
|
-
"
|
|
23
|
+
"returnContent"
|
|
20
24
|
],
|
|
21
25
|
"additionalProperties": false
|
|
22
26
|
}
|
|
@@ -7,6 +7,10 @@
|
|
|
7
7
|
"minLength": 1,
|
|
8
8
|
"x-tiwater-file-role": "read"
|
|
9
9
|
},
|
|
10
|
+
"returnContent": {
|
|
11
|
+
"type": "boolean",
|
|
12
|
+
"description": "Return the complete result directly when it fits the published response limit."
|
|
13
|
+
},
|
|
10
14
|
"output": {
|
|
11
15
|
"type": "string",
|
|
12
16
|
"minLength": 1,
|
|
@@ -16,7 +20,7 @@
|
|
|
16
20
|
},
|
|
17
21
|
"required": [
|
|
18
22
|
"input",
|
|
19
|
-
"
|
|
23
|
+
"returnContent"
|
|
20
24
|
],
|
|
21
25
|
"additionalProperties": false
|
|
22
26
|
}
|
|
@@ -6,10 +6,21 @@
|
|
|
6
6
|
"type": "string",
|
|
7
7
|
"minLength": 1,
|
|
8
8
|
"x-tiwater-file-role": "read"
|
|
9
|
+
},
|
|
10
|
+
"returnContent": {
|
|
11
|
+
"type": "boolean",
|
|
12
|
+
"description": "Return the complete result directly when it fits the published response limit."
|
|
13
|
+
},
|
|
14
|
+
"output": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"minLength": 1,
|
|
17
|
+
"description": "Absolute path for a new JSON file containing the complete result. Existing files are never overwritten.",
|
|
18
|
+
"x-tiwater-file-role": "write"
|
|
9
19
|
}
|
|
10
20
|
},
|
|
11
21
|
"required": [
|
|
12
|
-
"input"
|
|
22
|
+
"input",
|
|
23
|
+
"returnContent"
|
|
13
24
|
],
|
|
14
25
|
"additionalProperties": false
|
|
15
26
|
}
|
|
@@ -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.
|
|
5
|
+
"version": "0.21.1"
|
|
6
6
|
},
|
|
7
7
|
"tools": [
|
|
8
8
|
{
|
|
@@ -31,11 +31,11 @@
|
|
|
31
31
|
"name": "docx_compare",
|
|
32
32
|
"providerContract": {
|
|
33
33
|
"source": "packages/docx-cli/contracts/mcp-input/docx_compare.schema.json",
|
|
34
|
-
"sha256": "
|
|
34
|
+
"sha256": "a6d59ee785d8ab3994eb6f539b48411b272565ac136219de58d39a449b3112f3"
|
|
35
35
|
},
|
|
36
36
|
"inputContract": {
|
|
37
37
|
"path": "office/contracts/docx_compare.schema.json",
|
|
38
|
-
"sha256": "
|
|
38
|
+
"sha256": "a6d59ee785d8ab3994eb6f539b48411b272565ac136219de58d39a449b3112f3"
|
|
39
39
|
}
|
|
40
40
|
},
|
|
41
41
|
{
|
|
@@ -75,11 +75,11 @@
|
|
|
75
75
|
"name": "docx_export_json",
|
|
76
76
|
"providerContract": {
|
|
77
77
|
"source": "packages/docx-cli/contracts/mcp-input/docx_export_json.schema.json",
|
|
78
|
-
"sha256": "
|
|
78
|
+
"sha256": "0556937d649a1248947019f23c005786046f576e64a844f057745933f5821cd7"
|
|
79
79
|
},
|
|
80
80
|
"inputContract": {
|
|
81
81
|
"path": "office/contracts/docx_export_json.schema.json",
|
|
82
|
-
"sha256": "
|
|
82
|
+
"sha256": "0556937d649a1248947019f23c005786046f576e64a844f057745933f5821cd7"
|
|
83
83
|
}
|
|
84
84
|
},
|
|
85
85
|
{
|
|
@@ -108,22 +108,22 @@
|
|
|
108
108
|
"name": "docx_inspect",
|
|
109
109
|
"providerContract": {
|
|
110
110
|
"source": "packages/docx-cli/contracts/mcp-input/docx_inspect.schema.json",
|
|
111
|
-
"sha256": "
|
|
111
|
+
"sha256": "5e112a2dbed5a9b1cc1874de50100d181c654d2482e81f229edaff87085079c3"
|
|
112
112
|
},
|
|
113
113
|
"inputContract": {
|
|
114
114
|
"path": "office/contracts/docx_inspect.schema.json",
|
|
115
|
-
"sha256": "
|
|
115
|
+
"sha256": "5e112a2dbed5a9b1cc1874de50100d181c654d2482e81f229edaff87085079c3"
|
|
116
116
|
}
|
|
117
117
|
},
|
|
118
118
|
{
|
|
119
119
|
"name": "docx_list_objects",
|
|
120
120
|
"providerContract": {
|
|
121
121
|
"source": "packages/docx-cli/contracts/mcp-input/docx_list_objects.schema.json",
|
|
122
|
-
"sha256": "
|
|
122
|
+
"sha256": "ef7132022feacb423cae3d2b90ad868b6c0b8ae13a0a1b70f481d3df1a04d7c5"
|
|
123
123
|
},
|
|
124
124
|
"inputContract": {
|
|
125
125
|
"path": "office/contracts/docx_list_objects.schema.json",
|
|
126
|
-
"sha256": "
|
|
126
|
+
"sha256": "ef7132022feacb423cae3d2b90ad868b6c0b8ae13a0a1b70f481d3df1a04d7c5"
|
|
127
127
|
}
|
|
128
128
|
},
|
|
129
129
|
{
|
|
@@ -141,22 +141,22 @@
|
|
|
141
141
|
"name": "docx_read_object",
|
|
142
142
|
"providerContract": {
|
|
143
143
|
"source": "packages/docx-cli/contracts/mcp-input/docx_read_object.schema.json",
|
|
144
|
-
"sha256": "
|
|
144
|
+
"sha256": "78c7d18eed3d7b3019ff93c18b846877844e8fb1a523a8ceb4817519e63caa46"
|
|
145
145
|
},
|
|
146
146
|
"inputContract": {
|
|
147
147
|
"path": "office/contracts/docx_read_object.schema.json",
|
|
148
|
-
"sha256": "
|
|
148
|
+
"sha256": "78c7d18eed3d7b3019ff93c18b846877844e8fb1a523a8ceb4817519e63caa46"
|
|
149
149
|
}
|
|
150
150
|
},
|
|
151
151
|
{
|
|
152
152
|
"name": "docx_read_table",
|
|
153
153
|
"providerContract": {
|
|
154
154
|
"source": "packages/docx-cli/contracts/mcp-input/docx_read_table.schema.json",
|
|
155
|
-
"sha256": "
|
|
155
|
+
"sha256": "4fcc4a5e22c844ceef0d6e3fe18449020257cdcde5c6e1ee73ab178f715dd4c1"
|
|
156
156
|
},
|
|
157
157
|
"inputContract": {
|
|
158
158
|
"path": "office/contracts/docx_read_table.schema.json",
|
|
159
|
-
"sha256": "
|
|
159
|
+
"sha256": "4fcc4a5e22c844ceef0d6e3fe18449020257cdcde5c6e1ee73ab178f715dd4c1"
|
|
160
160
|
}
|
|
161
161
|
},
|
|
162
162
|
{
|
|
@@ -218,44 +218,44 @@
|
|
|
218
218
|
"name": "docx_table_index",
|
|
219
219
|
"providerContract": {
|
|
220
220
|
"source": "packages/docx-cli/contracts/mcp-input/docx_table_index.schema.json",
|
|
221
|
-
"sha256": "
|
|
221
|
+
"sha256": "a5f43ef56c14dfa846d4823b244cadac141f45fe1b716782df421c270f6efc5e"
|
|
222
222
|
},
|
|
223
223
|
"inputContract": {
|
|
224
224
|
"path": "office/contracts/docx_table_index.schema.json",
|
|
225
|
-
"sha256": "
|
|
225
|
+
"sha256": "a5f43ef56c14dfa846d4823b244cadac141f45fe1b716782df421c270f6efc5e"
|
|
226
226
|
}
|
|
227
227
|
},
|
|
228
228
|
{
|
|
229
229
|
"name": "docx_validate",
|
|
230
230
|
"providerContract": {
|
|
231
231
|
"source": "packages/docx-cli/contracts/mcp-input/docx_validate.schema.json",
|
|
232
|
-
"sha256": "
|
|
232
|
+
"sha256": "57c25f53aa319dc0e9aafc5cd3fa5f0ea12f28c50fe4a39955caa40e2dfc12d5"
|
|
233
233
|
},
|
|
234
234
|
"inputContract": {
|
|
235
235
|
"path": "office/contracts/docx_validate.schema.json",
|
|
236
|
-
"sha256": "
|
|
236
|
+
"sha256": "57c25f53aa319dc0e9aafc5cd3fa5f0ea12f28c50fe4a39955caa40e2dfc12d5"
|
|
237
237
|
}
|
|
238
238
|
},
|
|
239
239
|
{
|
|
240
240
|
"name": "docx_validate_font_policy",
|
|
241
241
|
"providerContract": {
|
|
242
242
|
"source": "packages/docx-cli/contracts/mcp-input/docx_validate_font_policy.schema.json",
|
|
243
|
-
"sha256": "
|
|
243
|
+
"sha256": "1ef0ae13622931c92054b4cf492957c7d9d16f659b2d333c67c065f0bc4750d4"
|
|
244
244
|
},
|
|
245
245
|
"inputContract": {
|
|
246
246
|
"path": "office/contracts/docx_validate_font_policy.schema.json",
|
|
247
|
-
"sha256": "
|
|
247
|
+
"sha256": "1ef0ae13622931c92054b4cf492957c7d9d16f659b2d333c67c065f0bc4750d4"
|
|
248
248
|
}
|
|
249
249
|
},
|
|
250
250
|
{
|
|
251
251
|
"name": "docx_validate_toc_style_policy",
|
|
252
252
|
"providerContract": {
|
|
253
253
|
"source": "packages/docx-cli/contracts/mcp-input/docx_validate_toc_style_policy.schema.json",
|
|
254
|
-
"sha256": "
|
|
254
|
+
"sha256": "e2317dfc690901a89ed3d8b0307674132f65977cee29cb6ace138e5c87d04603"
|
|
255
255
|
},
|
|
256
256
|
"inputContract": {
|
|
257
257
|
"path": "office/contracts/docx_validate_toc_style_policy.schema.json",
|
|
258
|
-
"sha256": "
|
|
258
|
+
"sha256": "e2317dfc690901a89ed3d8b0307674132f65977cee29cb6ace138e5c87d04603"
|
|
259
259
|
}
|
|
260
260
|
},
|
|
261
261
|
{
|
|
@@ -295,22 +295,22 @@
|
|
|
295
295
|
"name": "pptx_export_json",
|
|
296
296
|
"providerContract": {
|
|
297
297
|
"source": "packages/pptx-cli/contracts/mcp-input/pptx_export_json.schema.json",
|
|
298
|
-
"sha256": "
|
|
298
|
+
"sha256": "9ae4a846a8ca5b9059dcfd2a589e9872a2ab8d4ba3a118a513f3e05462f923d0"
|
|
299
299
|
},
|
|
300
300
|
"inputContract": {
|
|
301
301
|
"path": "office/contracts/pptx_export_json.schema.json",
|
|
302
|
-
"sha256": "
|
|
302
|
+
"sha256": "9ae4a846a8ca5b9059dcfd2a589e9872a2ab8d4ba3a118a513f3e05462f923d0"
|
|
303
303
|
}
|
|
304
304
|
},
|
|
305
305
|
{
|
|
306
306
|
"name": "pptx_inspect",
|
|
307
307
|
"providerContract": {
|
|
308
308
|
"source": "packages/pptx-cli/contracts/mcp-input/pptx_inspect.schema.json",
|
|
309
|
-
"sha256": "
|
|
309
|
+
"sha256": "9ae4a846a8ca5b9059dcfd2a589e9872a2ab8d4ba3a118a513f3e05462f923d0"
|
|
310
310
|
},
|
|
311
311
|
"inputContract": {
|
|
312
312
|
"path": "office/contracts/pptx_inspect.schema.json",
|
|
313
|
-
"sha256": "
|
|
313
|
+
"sha256": "9ae4a846a8ca5b9059dcfd2a589e9872a2ab8d4ba3a118a513f3e05462f923d0"
|
|
314
314
|
}
|
|
315
315
|
},
|
|
316
316
|
{
|
|
@@ -339,11 +339,11 @@
|
|
|
339
339
|
"name": "pptx_validate",
|
|
340
340
|
"providerContract": {
|
|
341
341
|
"source": "packages/pptx-cli/contracts/mcp-input/pptx_validate.schema.json",
|
|
342
|
-
"sha256": "
|
|
342
|
+
"sha256": "57c25f53aa319dc0e9aafc5cd3fa5f0ea12f28c50fe4a39955caa40e2dfc12d5"
|
|
343
343
|
},
|
|
344
344
|
"inputContract": {
|
|
345
345
|
"path": "office/contracts/pptx_validate.schema.json",
|
|
346
|
-
"sha256": "
|
|
346
|
+
"sha256": "57c25f53aa319dc0e9aafc5cd3fa5f0ea12f28c50fe4a39955caa40e2dfc12d5"
|
|
347
347
|
}
|
|
348
348
|
},
|
|
349
349
|
{
|
|
@@ -394,11 +394,11 @@
|
|
|
394
394
|
"name": "xlsx_export_json",
|
|
395
395
|
"providerContract": {
|
|
396
396
|
"source": "packages/xlsx-cli/contracts/mcp-input/xlsx_export_json.schema.json",
|
|
397
|
-
"sha256": "
|
|
397
|
+
"sha256": "98055d552649ed5162bc9045344b1a309ff1de6a4bbf9d7ecca7ec9135de827c"
|
|
398
398
|
},
|
|
399
399
|
"inputContract": {
|
|
400
400
|
"path": "office/contracts/xlsx_export_json.schema.json",
|
|
401
|
-
"sha256": "
|
|
401
|
+
"sha256": "98055d552649ed5162bc9045344b1a309ff1de6a4bbf9d7ecca7ec9135de827c"
|
|
402
402
|
}
|
|
403
403
|
},
|
|
404
404
|
{
|
|
@@ -416,11 +416,11 @@
|
|
|
416
416
|
"name": "xlsx_inspect",
|
|
417
417
|
"providerContract": {
|
|
418
418
|
"source": "packages/xlsx-cli/contracts/mcp-input/xlsx_inspect.schema.json",
|
|
419
|
-
"sha256": "
|
|
419
|
+
"sha256": "9ae4a846a8ca5b9059dcfd2a589e9872a2ab8d4ba3a118a513f3e05462f923d0"
|
|
420
420
|
},
|
|
421
421
|
"inputContract": {
|
|
422
422
|
"path": "office/contracts/xlsx_inspect.schema.json",
|
|
423
|
-
"sha256": "
|
|
423
|
+
"sha256": "9ae4a846a8ca5b9059dcfd2a589e9872a2ab8d4ba3a118a513f3e05462f923d0"
|
|
424
424
|
}
|
|
425
425
|
},
|
|
426
426
|
{
|
|
@@ -515,11 +515,11 @@
|
|
|
515
515
|
"name": "xlsx_validate",
|
|
516
516
|
"providerContract": {
|
|
517
517
|
"source": "packages/xlsx-cli/contracts/mcp-input/xlsx_validate.schema.json",
|
|
518
|
-
"sha256": "
|
|
518
|
+
"sha256": "57c25f53aa319dc0e9aafc5cd3fa5f0ea12f28c50fe4a39955caa40e2dfc12d5"
|
|
519
519
|
},
|
|
520
520
|
"inputContract": {
|
|
521
521
|
"path": "office/contracts/xlsx_validate.schema.json",
|
|
522
|
-
"sha256": "
|
|
522
|
+
"sha256": "57c25f53aa319dc0e9aafc5cd3fa5f0ea12f28c50fe4a39955caa40e2dfc12d5"
|
|
523
523
|
}
|
|
524
524
|
}
|
|
525
525
|
]
|
|
@@ -7,6 +7,10 @@
|
|
|
7
7
|
"minLength": 1,
|
|
8
8
|
"x-tiwater-file-role": "read"
|
|
9
9
|
},
|
|
10
|
+
"returnContent": {
|
|
11
|
+
"type": "boolean",
|
|
12
|
+
"description": "Return the complete result directly when it fits the published response limit."
|
|
13
|
+
},
|
|
10
14
|
"output": {
|
|
11
15
|
"type": "string",
|
|
12
16
|
"minLength": 1,
|
|
@@ -20,7 +24,7 @@
|
|
|
20
24
|
},
|
|
21
25
|
"required": [
|
|
22
26
|
"input",
|
|
23
|
-
"
|
|
27
|
+
"returnContent"
|
|
24
28
|
],
|
|
25
29
|
"additionalProperties": false
|
|
26
30
|
}
|
|
@@ -7,6 +7,10 @@
|
|
|
7
7
|
"minLength": 1,
|
|
8
8
|
"x-tiwater-file-role": "read"
|
|
9
9
|
},
|
|
10
|
+
"returnContent": {
|
|
11
|
+
"type": "boolean",
|
|
12
|
+
"description": "Return the complete result directly when it fits the published response limit."
|
|
13
|
+
},
|
|
10
14
|
"output": {
|
|
11
15
|
"type": "string",
|
|
12
16
|
"minLength": 1,
|
|
@@ -16,7 +20,7 @@
|
|
|
16
20
|
},
|
|
17
21
|
"required": [
|
|
18
22
|
"input",
|
|
19
|
-
"
|
|
23
|
+
"returnContent"
|
|
20
24
|
],
|
|
21
25
|
"additionalProperties": false
|
|
22
26
|
}
|