bilig-workpaper 0.157.0 → 0.160.0

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/AGENTS.md CHANGED
@@ -37,6 +37,7 @@ npm exec --yes --package bilig-workpaper@latest -- bilig-evaluate --door agent-m
37
37
  npm exec --yes --package bilig-workpaper@latest -- bilig-evaluate --door agent-mcp --scenario provider-backed --json
38
38
  npm exec --package bilig-workpaper@latest -- bilig-mcp-challenge --json
39
39
  npm exec --package bilig-workpaper@latest -- bilig-workpaper-mcp --workpaper ./pricing.workpaper.json --init-demo-workpaper --writable
40
+ npm exec --package bilig-workpaper@latest -- bilig-workpaper-mcp --from-xlsx ./pricing.xlsx --workpaper ./.bilig/pricing.workpaper.json --writable
40
41
 
41
42
  For Node or TypeScript, import bilig-workpaper directly. Check the edit by
42
43
  reading the relevant range, writing one small input or formula, reading the
@@ -85,6 +86,12 @@ WorkPaper JSON only when the file is missing. Use `--writable` only when the
85
86
  task should persist `set_cell_contents` edits back to the same WorkPaper JSON
86
87
  file.
87
88
 
89
+ When the server is started through `bilig-workpaper@latest` with
90
+ `--from-xlsx ./pricing.xlsx --workpaper ./.bilig/pricing.workpaper.json`,
91
+ `tools/list` also includes `analyze_workbook_risk`. That tool is fixed to
92
+ the source XLSX passed at startup and reports workbook risk indicators before an
93
+ agent trusts the imported WorkPaper. It does not certify Excel compatibility.
94
+
88
95
  Claude Desktop users can skip manual JSON config by installing the released
89
96
  MCPB bundle:
90
97
 
package/SKILL.md CHANGED
@@ -111,6 +111,12 @@ treat its returned `tools` array as the source of truth for the currently publis
111
111
  - `export_workpaper_document`
112
112
  - `validate_formula`
113
113
 
114
+ When the server is started through `bilig-workpaper@latest` with
115
+ `--from-xlsx ./pricing.xlsx --workpaper ./.bilig/pricing.workpaper.json`,
116
+ `tools/list` also includes `analyze_workbook_risk`. That tool is fixed to
117
+ the source XLSX passed at startup and reports workbook risk indicators before an
118
+ agent trusts the imported WorkPaper. It does not certify Excel compatibility.
119
+
114
120
  After a write, always read the dependent output cell and export the WorkPaper
115
121
  document. If the listed tool set includes `set_cell_contents_and_readback`,
116
122
  prefer it for stateless clients because the edit and dependent readback happen
@@ -194,6 +200,8 @@ If any readback step fails, report the blocker instead of claiming the workbook
194
200
  - Agent handbook: https://proompteng.github.io/bilig/headless-workpaper-agent-handbook.html
195
201
  - Agent workbook challenge: https://proompteng.github.io/bilig/agent-workbook-challenge.html
196
202
  - MCP server guide: https://proompteng.github.io/bilig/mcp-workpaper-tool-server.html
203
+ - OpenHands MCP setup: https://proompteng.github.io/bilig/openhands-workpaper-mcp.html
204
+ - OpenCode MCP setup: https://proompteng.github.io/bilig/opencode-workpaper-mcp.html
197
205
  - Open WebUI tool setup: https://proompteng.github.io/bilig/open-webui-workpaper-mcp.html
198
206
  - LobeHub MCP setup: https://proompteng.github.io/bilig/lobehub-workpaper-mcp.html
199
207
  - AnythingLLM MCP setup: https://proompteng.github.io/bilig/anythingllm-workpaper-mcp.html
@@ -214,5 +222,6 @@ If any readback step fails, report the blocker instead of claiming the workbook
214
222
  - Kestra Node flow: https://proompteng.github.io/bilig/kestra-workpaper-flow.html
215
223
  - Prefect flow: https://proompteng.github.io/bilig/prefect-workpaper-flow.html
216
224
  - XLSX formula clinic: https://proompteng.github.io/bilig/formula-bug-clinic.html
225
+ - Stale XLSX fixture command: npm exec --package @bilig/xlsx-formula-recalc@latest -- xlsx-cache-doctor ./reduced.xlsx --json
217
226
  - Compatibility limits: https://proompteng.github.io/bilig/where-bilig-is-not-excel-compatible-yet.html
218
227
  - Repository: https://github.com/proompteng/bilig
package/dist/mcp.d.ts CHANGED
@@ -1 +1,2 @@
1
1
  export * from '@bilig/headless/mcp';
2
+ export { withXlsxWorkbookRiskTool } from './work-paper-mcp-xlsx-risk-tool.js';
package/dist/mcp.js CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from '@bilig/headless/mcp';
2
+ export { withXlsxWorkbookRiskTool } from './work-paper-mcp-xlsx-risk-tool.js';
2
3
  //# sourceMappingURL=mcp.js.map
package/dist/mcp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAA"}
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env node
2
- import { buildDemoWorkPaper, createFileBackedWorkPaperMcpToolServer, createFileBackedWorkPaperMcpToolServerFromFile, parseWorkPaperMcpStdioCliArgs, runDemoWorkPaperMcpStdioServer, workPaperMcpStdioHelpText, } from '@bilig/headless/mcp';
2
+ import { buildDemoWorkPaper, createFileBackedWorkPaperMcpToolServer, createFileBackedWorkPaperMcpToolServerFromFile, createFileBackedWorkPaperMcpToolServerFromXlsxFile, parseWorkPaperMcpStdioCliArgs, runDemoWorkPaperMcpStdioServer, workPaperMcpStdioHelpText, } from '@bilig/headless/mcp';
3
+ import { withXlsxWorkbookRiskTool } from './work-paper-mcp-xlsx-risk-tool.js';
3
4
  const cliOptions = parseWorkPaperMcpStdioCliArgs(process.argv.slice(2));
4
5
  if (cliOptions.help) {
5
6
  process.stdout.write(workPaperMcpStdioHelpText());
@@ -17,6 +18,16 @@ if (cliOptions.demoWorkPaperTools) {
17
18
  else if (cliOptions.workpaperPath === undefined) {
18
19
  runDemoWorkPaperMcpStdioServer();
19
20
  }
21
+ else if (cliOptions.fromXlsxPath !== undefined) {
22
+ runDemoWorkPaperMcpStdioServer({
23
+ server: withXlsxWorkbookRiskTool(createFileBackedWorkPaperMcpToolServerFromXlsxFile({
24
+ fromXlsxPath: cliOptions.fromXlsxPath,
25
+ overwriteWorkPaper: cliOptions.overwriteWorkPaper,
26
+ workpaperPath: cliOptions.workpaperPath,
27
+ writable: cliOptions.writable,
28
+ }), { xlsxPath: cliOptions.fromXlsxPath }),
29
+ });
30
+ }
20
31
  else {
21
32
  runDemoWorkPaperMcpStdioServer({
22
33
  server: createFileBackedWorkPaperMcpToolServerFromFile({
@@ -1 +1 @@
1
- {"version":3,"file":"work-paper-mcp-stdio-bin.js","sourceRoot":"","sources":["../src/work-paper-mcp-stdio-bin.ts"],"names":[],"mappings":";AACA,OAAO,EACL,kBAAkB,EAClB,sCAAsC,EACtC,8CAA8C,EAC9C,6BAA6B,EAC7B,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,qBAAqB,CAAA;AAE5B,MAAM,UAAU,GAAG,6BAA6B,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AACvE,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;IACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC,CAAA;IACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,IAAI,UAAU,CAAC,kBAAkB,EAAE,CAAC;IAClC,8BAA8B,CAAC;QAC7B,MAAM,EAAE,sCAAsC,CAAC;YAC7C,QAAQ,EAAE,kBAAkB,EAAE;YAC9B,UAAU,EAAE,wBAAwB;YACpC,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH,CAAC,CAAA;AACJ,CAAC;KAAM,IAAI,UAAU,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;IAClD,8BAA8B,EAAE,CAAA;AAClC,CAAC;KAAM,CAAC;IACN,8BAA8B,CAAC;QAC7B,MAAM,EAAE,8CAA8C,CAAC;YACrD,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;YAC/C,aAAa,EAAE,UAAU,CAAC,aAAa;YACvC,QAAQ,EAAE,UAAU,CAAC,QAAQ;SAC9B,CAAC;KACH,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"work-paper-mcp-stdio-bin.js","sourceRoot":"","sources":["../src/work-paper-mcp-stdio-bin.ts"],"names":[],"mappings":";AACA,OAAO,EACL,kBAAkB,EAClB,sCAAsC,EACtC,8CAA8C,EAC9C,kDAAkD,EAClD,6BAA6B,EAC7B,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAA;AAE7E,MAAM,UAAU,GAAG,6BAA6B,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AACvE,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;IACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC,CAAA;IACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,IAAI,UAAU,CAAC,kBAAkB,EAAE,CAAC;IAClC,8BAA8B,CAAC;QAC7B,MAAM,EAAE,sCAAsC,CAAC;YAC7C,QAAQ,EAAE,kBAAkB,EAAE;YAC9B,UAAU,EAAE,wBAAwB;YACpC,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH,CAAC,CAAA;AACJ,CAAC;KAAM,IAAI,UAAU,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;IAClD,8BAA8B,EAAE,CAAA;AAClC,CAAC;KAAM,IAAI,UAAU,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;IACjD,8BAA8B,CAAC;QAC7B,MAAM,EAAE,wBAAwB,CAC9B,kDAAkD,CAAC;YACjD,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;YACjD,aAAa,EAAE,UAAU,CAAC,aAAa;YACvC,QAAQ,EAAE,UAAU,CAAC,QAAQ;SAC9B,CAAC,EACF,EAAE,QAAQ,EAAE,UAAU,CAAC,YAAY,EAAE,CACtC;KACF,CAAC,CAAA;AACJ,CAAC;KAAM,CAAC;IACN,8BAA8B,CAAC;QAC7B,MAAM,EAAE,8CAA8C,CAAC;YACrD,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;YAC/C,aAAa,EAAE,UAAU,CAAC,aAAa;YACvC,QAAQ,EAAE,UAAU,CAAC,QAAQ;SAC9B,CAAC;KACH,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { WorkPaperMcpToolServer } from '@bilig/headless/mcp';
2
+ declare function withXlsxWorkbookRiskTool(server: WorkPaperMcpToolServer, input: {
3
+ readonly xlsxPath: string;
4
+ }): WorkPaperMcpToolServer;
5
+ export { withXlsxWorkbookRiskTool };
@@ -0,0 +1,151 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { basename, resolve } from 'node:path';
3
+ import { buildWorkbookCompatibilityReport, } from '@bilig/xlsx-formula-recalc/workbook-compatibility-report';
4
+ const xlsxWorkbookRiskToolDefinition = {
5
+ name: 'analyze_workbook_risk',
6
+ title: 'Analyze XLSX Workbook Risk',
7
+ description: 'Analyze the XLSX file that started this MCP server and return workbook risk indicators before an agent trusts the imported WorkPaper. This diagnostic does not certify Excel compatibility.',
8
+ inputSchema: {
9
+ type: 'object',
10
+ properties: {
11
+ inspectLimit: {
12
+ type: 'string',
13
+ default: 'all',
14
+ description: 'Formula cells to recompute during inspection. Use all or a positive integer string.',
15
+ },
16
+ },
17
+ additionalProperties: false,
18
+ },
19
+ outputSchema: {
20
+ type: 'object',
21
+ required: ['schemaVersion', 'verified', 'input', 'workbook', 'findings', 'risk', 'excelParity', 'limitations'],
22
+ properties: {
23
+ schemaVersion: {
24
+ type: 'string',
25
+ },
26
+ verified: {
27
+ type: 'boolean',
28
+ },
29
+ input: {
30
+ type: 'object',
31
+ },
32
+ workbook: {
33
+ type: 'object',
34
+ },
35
+ findings: {
36
+ type: 'object',
37
+ },
38
+ risk: {
39
+ type: 'object',
40
+ },
41
+ excelParity: {
42
+ const: 'not_proven',
43
+ },
44
+ limitations: {
45
+ type: 'array',
46
+ },
47
+ },
48
+ additionalProperties: true,
49
+ },
50
+ annotations: {
51
+ title: 'Analyze XLSX Workbook Risk',
52
+ readOnlyHint: true,
53
+ destructiveHint: false,
54
+ idempotentHint: true,
55
+ openWorldHint: false,
56
+ },
57
+ };
58
+ function withXlsxWorkbookRiskTool(server, input) {
59
+ const xlsxPath = resolve(input.xlsxPath);
60
+ return {
61
+ capabilities: server.capabilities,
62
+ handleJsonRpc(request) {
63
+ const parsedRequest = parseJsonRpcRequest(request);
64
+ if (parsedRequest?.method === 'tools/list') {
65
+ return appendRiskTool(server.handleJsonRpc(request));
66
+ }
67
+ if (parsedRequest?.method === 'tools/call') {
68
+ const params = isRecord(parsedRequest.params) ? parsedRequest.params : {};
69
+ if (params['name'] === xlsxWorkbookRiskToolDefinition.name) {
70
+ const args = isRecord(params['arguments']) ? params['arguments'] : {};
71
+ const report = buildWorkbookCompatibilityReport(readFileSync(xlsxPath), {
72
+ fileName: basename(xlsxPath),
73
+ inspectLimit: parseInspectLimit(args['inspectLimit'] ?? 'all'),
74
+ });
75
+ return {
76
+ jsonrpc: '2.0',
77
+ id: parsedRequest.id,
78
+ result: {
79
+ content: [
80
+ {
81
+ type: 'text',
82
+ text: renderWorkbookRiskSummary(report),
83
+ },
84
+ ],
85
+ structuredContent: report,
86
+ isError: false,
87
+ },
88
+ };
89
+ }
90
+ }
91
+ return server.handleJsonRpc(request);
92
+ },
93
+ };
94
+ }
95
+ function appendRiskTool(response) {
96
+ const result = response.result;
97
+ if (!isRecord(result) || !Array.isArray(result['tools'])) {
98
+ return response;
99
+ }
100
+ return {
101
+ ...response,
102
+ result: {
103
+ ...result,
104
+ tools: [...result['tools'], xlsxWorkbookRiskToolDefinition],
105
+ },
106
+ };
107
+ }
108
+ function renderWorkbookRiskSummary(report) {
109
+ return [
110
+ `Workbook risk level: ${report.risk.level.toUpperCase()}`,
111
+ `Formula cells: ${report.workbook.formulaCellCount.toString()}`,
112
+ `Unsupported functions: ${report.findings.unsupportedFunctions.length.toString()}`,
113
+ `External links: ${report.findings.externalLinks.count.toString()}`,
114
+ 'This is a preflight diagnostic, not an Excel compatibility certification.',
115
+ ].join('\n');
116
+ }
117
+ function parseJsonRpcRequest(value) {
118
+ if (!isRecord(value) || value['jsonrpc'] !== '2.0' || typeof value['method'] !== 'string') {
119
+ return undefined;
120
+ }
121
+ const id = value['id'];
122
+ return {
123
+ id: id === undefined || id === null || typeof id === 'string' || typeof id === 'number' ? id : undefined,
124
+ method: value['method'],
125
+ params: value['params'],
126
+ };
127
+ }
128
+ function parseInspectLimit(value) {
129
+ if (value === 'all') {
130
+ return value;
131
+ }
132
+ if (typeof value === 'number' && Number.isInteger(value) && value > 0) {
133
+ return value;
134
+ }
135
+ if (typeof value === 'string') {
136
+ const trimmed = value.trim();
137
+ if (trimmed === 'all') {
138
+ return trimmed;
139
+ }
140
+ const numberValue = Number(trimmed);
141
+ if (Number.isInteger(numberValue) && numberValue > 0) {
142
+ return numberValue;
143
+ }
144
+ }
145
+ throw new Error(`Expected analyze_workbook_risk inspectLimit to be "all" or a positive integer, received: ${String(value)}`);
146
+ }
147
+ function isRecord(value) {
148
+ return typeof value === 'object' && value !== null;
149
+ }
150
+ export { withXlsxWorkbookRiskTool };
151
+ //# sourceMappingURL=work-paper-mcp-xlsx-risk-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"work-paper-mcp-xlsx-risk-tool.js","sourceRoot":"","sources":["../src/work-paper-mcp-xlsx-risk-tool.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bilig-workpaper",
3
- "version": "0.157.0",
3
+ "version": "0.160.0",
4
4
  "description": "Bilig WorkPaper runtime for Node.js services, agent tools, and server-side spreadsheet formulas.",
5
5
  "keywords": [
6
6
  "agent-tools",
@@ -80,11 +80,11 @@
80
80
  "access": "public"
81
81
  },
82
82
  "scripts": {
83
- "build": "pnpm --dir ../.. --filter @bilig/headless build && rm -rf dist tsconfig.tsbuildinfo && tsc -p tsconfig.json"
83
+ "build": "pnpm --dir ../.. --filter @bilig/xlsx-formula-recalc build && pnpm --dir ../.. --filter @bilig/headless build && rm -rf dist tsconfig.tsbuildinfo && tsc -p tsconfig.json"
84
84
  },
85
85
  "dependencies": {
86
- "@bilig/headless": "0.157.0",
87
- "@bilig/xlsx-formula-recalc": "0.157.0"
86
+ "@bilig/headless": "0.160.0",
87
+ "@bilig/xlsx-formula-recalc": "0.160.0"
88
88
  },
89
89
  "engines": {
90
90
  "node": ">=22.0.0"