@bilig/headless 0.11.0 → 0.11.4
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/README.md +36 -36
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
[](https://www.npmjs.com/package/@bilig/headless)
|
|
5
5
|
[](https://github.com/proompteng/bilig)
|
|
6
6
|
[](https://github.com/proompteng/bilig/stargazers)
|
|
7
|
-
[](
|
|
7
|
+
[](https://github.com/proompteng/bilig/blob/main/LICENSE)
|
|
8
8
|
|
|
9
9
|
`@bilig/headless` lets Node.js programs build workbooks, write formulas, read
|
|
10
10
|
calculated cells, and save or restore the workbook as JSON. It is the `bilig`
|
|
@@ -34,19 +34,19 @@ pnpm --filter @bilig/headless build
|
|
|
34
34
|
- Run the [quickstart](#quickstart) for a one-file formula and persistence
|
|
35
35
|
smoke test.
|
|
36
36
|
- Try the runnable examples:
|
|
37
|
-
[`examples/headless-workpaper`](
|
|
38
|
-
[`npm run json-records`](
|
|
37
|
+
[`examples/headless-workpaper`](https://github.com/proompteng/bilig/tree/main/examples/headless-workpaper) and
|
|
38
|
+
[`npm run json-records`](https://github.com/proompteng/bilig/tree/main/examples/headless-workpaper#json-records-input).
|
|
39
39
|
- Build a small service from the
|
|
40
|
-
[Node service recipe](
|
|
40
|
+
[Node service recipe](https://github.com/proompteng/bilig/blob/main/docs/node-service-workpaper-recipe.md).
|
|
41
41
|
- Check the
|
|
42
|
-
[compatibility boundaries](
|
|
42
|
+
[compatibility boundaries](https://github.com/proompteng/bilig/blob/main/docs/where-bilig-is-not-excel-compatible-yet.md)
|
|
43
43
|
before assuming full Excel parity.
|
|
44
44
|
- Compare against other engines with the
|
|
45
|
-
[SheetJS and ExcelJS comparison](
|
|
46
|
-
[HyperFormula comparison](
|
|
47
|
-
and [benchmark explainer](
|
|
45
|
+
[SheetJS and ExcelJS comparison](https://github.com/proompteng/bilig/blob/main/docs/sheetjs-exceljs-alternative-formula-workbook-api.md),
|
|
46
|
+
[HyperFormula comparison](https://github.com/proompteng/bilig/blob/main/docs/hyperformula-alternative-headless-workpaper.md)
|
|
47
|
+
and [benchmark explainer](https://github.com/proompteng/bilig/blob/main/docs/what-workpaper-benchmark-proves.md).
|
|
48
48
|
- Star or bookmark the project:
|
|
49
|
-
<https://github.com/proompteng/bilig
|
|
49
|
+
<https://github.com/proompteng/bilig>.
|
|
50
50
|
|
|
51
51
|
## Production Status
|
|
52
52
|
|
|
@@ -65,10 +65,10 @@ Current release posture:
|
|
|
65
65
|
workloads: `38/38` public and `8/8` holdout.
|
|
66
66
|
- The public benchmark evidence note explains the measured workload families,
|
|
67
67
|
engine metadata, exclusions, and the current p95 nuance:
|
|
68
|
-
[`docs/headless-workpaper-benchmark-evidence.md`](
|
|
68
|
+
[`docs/headless-workpaper-benchmark-evidence.md`](https://github.com/proompteng/bilig/blob/main/docs/headless-workpaper-benchmark-evidence.md).
|
|
69
69
|
- The shareable benchmark explainer states what the scorecard proves and what
|
|
70
70
|
it does not:
|
|
71
|
-
[`docs/what-workpaper-benchmark-proves.md`](
|
|
71
|
+
[`docs/what-workpaper-benchmark-proves.md`](https://github.com/proompteng/bilig/blob/main/docs/what-workpaper-benchmark-proves.md).
|
|
72
72
|
- Recently fixed and hardened P1 risks are covered by regression tests:
|
|
73
73
|
- `updateConfig()` now applies `useColumnIndex` correctly when a rebuild-only
|
|
74
74
|
config key changes in the same update.
|
|
@@ -118,48 +118,48 @@ Repository links:
|
|
|
118
118
|
|
|
119
119
|
- Website: <https://proompteng.github.io/bilig/>
|
|
120
120
|
- GitHub: <https://github.com/proompteng/bilig>
|
|
121
|
-
- Star or bookmark: <https://github.com/proompteng/bilig
|
|
121
|
+
- Star or bookmark: <https://github.com/proompteng/bilig>
|
|
122
122
|
- Feedback discussion:
|
|
123
|
-
<https://github.com/proompteng/bilig/discussions/
|
|
123
|
+
<https://github.com/proompteng/bilig/discussions/157>
|
|
124
124
|
- Good first issues:
|
|
125
125
|
<https://github.com/proompteng/bilig/blob/main/docs/starter-issues.md>
|
|
126
126
|
- First-timers-only issues:
|
|
127
127
|
<https://github.com/proompteng/bilig/issues?q=is%3Aissue%20state%3Aopen%20label%3Afirst-timers-only>
|
|
128
128
|
- npm: <https://www.npmjs.com/package/@bilig/headless>
|
|
129
129
|
- runnable example:
|
|
130
|
-
[`examples/headless-workpaper`](
|
|
130
|
+
[`examples/headless-workpaper`](https://github.com/proompteng/bilig/tree/main/examples/headless-workpaper)
|
|
131
131
|
- JSON records input example:
|
|
132
|
-
[`npm run json-records`](
|
|
132
|
+
[`npm run json-records`](https://github.com/proompteng/bilig/tree/main/examples/headless-workpaper#json-records-input)
|
|
133
133
|
- Node service recipe:
|
|
134
|
-
[`docs/node-service-workpaper-recipe.md`](
|
|
134
|
+
[`docs/node-service-workpaper-recipe.md`](https://github.com/proompteng/bilig/blob/main/docs/node-service-workpaper-recipe.md)
|
|
135
135
|
- CSV-shaped input recipe:
|
|
136
|
-
[`docs/csv-shaped-workpaper-input-recipe.md`](
|
|
136
|
+
[`docs/csv-shaped-workpaper-input-recipe.md`](https://github.com/proompteng/bilig/blob/main/docs/csv-shaped-workpaper-input-recipe.md)
|
|
137
137
|
- unsupported formula troubleshooting:
|
|
138
|
-
[`docs/unsupported-formula-troubleshooting-recipe.md`](
|
|
138
|
+
[`docs/unsupported-formula-troubleshooting-recipe.md`](https://github.com/proompteng/bilig/blob/main/docs/unsupported-formula-troubleshooting-recipe.md)
|
|
139
139
|
- agent tool-calling recipe:
|
|
140
|
-
[`docs/agent-workpaper-tool-calling-recipe.md`](
|
|
140
|
+
[`docs/agent-workpaper-tool-calling-recipe.md`](https://github.com/proompteng/bilig/blob/main/docs/agent-workpaper-tool-calling-recipe.md)
|
|
141
141
|
- revenue-model article:
|
|
142
|
-
[`docs/building-a-revenue-model-with-headless-workpaper.md`](
|
|
142
|
+
[`docs/building-a-revenue-model-with-headless-workpaper.md`](https://github.com/proompteng/bilig/blob/main/docs/building-a-revenue-model-with-headless-workpaper.md)
|
|
143
143
|
- compatibility boundaries:
|
|
144
|
-
[`docs/where-bilig-is-not-excel-compatible-yet.md`](
|
|
144
|
+
[`docs/where-bilig-is-not-excel-compatible-yet.md`](https://github.com/proompteng/bilig/blob/main/docs/where-bilig-is-not-excel-compatible-yet.md)
|
|
145
145
|
- XLSX corpus verifier walkthrough:
|
|
146
|
-
[`docs/xlsx-corpus-verifier-walkthrough.md`](
|
|
146
|
+
[`docs/xlsx-corpus-verifier-walkthrough.md`](https://github.com/proompteng/bilig/blob/main/docs/xlsx-corpus-verifier-walkthrough.md)
|
|
147
147
|
- HyperFormula comparison:
|
|
148
|
-
[`docs/hyperformula-alternative-headless-workpaper.md`](
|
|
148
|
+
[`docs/hyperformula-alternative-headless-workpaper.md`](https://github.com/proompteng/bilig/blob/main/docs/hyperformula-alternative-headless-workpaper.md)
|
|
149
149
|
- SheetJS and ExcelJS comparison:
|
|
150
|
-
[`docs/sheetjs-exceljs-alternative-formula-workbook-api.md`](
|
|
150
|
+
[`docs/sheetjs-exceljs-alternative-formula-workbook-api.md`](https://github.com/proompteng/bilig/blob/main/docs/sheetjs-exceljs-alternative-formula-workbook-api.md)
|
|
151
151
|
- local benchmark walkthrough:
|
|
152
|
-
[`docs/local-workpaper-benchmark-walkthrough.md`](
|
|
152
|
+
[`docs/local-workpaper-benchmark-walkthrough.md`](https://github.com/proompteng/bilig/blob/main/docs/local-workpaper-benchmark-walkthrough.md)
|
|
153
153
|
- XLOOKUP exact fixture walkthrough:
|
|
154
|
-
[`docs/formula-edge-xlookup-exact-fixture.md`](
|
|
154
|
+
[`docs/formula-edge-xlookup-exact-fixture.md`](https://github.com/proompteng/bilig/blob/main/docs/formula-edge-xlookup-exact-fixture.md)
|
|
155
155
|
- SUMIFS paired criteria fixture walkthrough:
|
|
156
|
-
[`docs/formula-edge-sumifs-paired-criteria-fixture.md`](
|
|
156
|
+
[`docs/formula-edge-sumifs-paired-criteria-fixture.md`](https://github.com/proompteng/bilig/blob/main/docs/formula-edge-sumifs-paired-criteria-fixture.md)
|
|
157
157
|
- GROUPBY spill fixture walkthrough:
|
|
158
|
-
[`docs/formula-edge-groupby-spill-fixture.md`](
|
|
158
|
+
[`docs/formula-edge-groupby-spill-fixture.md`](https://github.com/proompteng/bilig/blob/main/docs/formula-edge-groupby-spill-fixture.md)
|
|
159
159
|
- published DEV article:
|
|
160
160
|
<https://dev.to/gregkonush/why-agents-need-workbook-apis-instead-of-spreadsheet-screenshots-3d61>
|
|
161
161
|
- DEV article source:
|
|
162
|
-
[`docs/dev-to-workbook-apis-post.md`](
|
|
162
|
+
[`docs/dev-to-workbook-apis-post.md`](https://github.com/proompteng/bilig/blob/main/docs/dev-to-workbook-apis-post.md)
|
|
163
163
|
|
|
164
164
|
## Quickstart
|
|
165
165
|
|
|
@@ -242,7 +242,7 @@ console.log({ initial, restoredValue, bytes: json.length, verified })
|
|
|
242
242
|
## Runnable Example
|
|
243
243
|
|
|
244
244
|
The repo includes a small external-consumer project at
|
|
245
|
-
[`examples/headless-workpaper`](
|
|
245
|
+
[`examples/headless-workpaper`](https://github.com/proompteng/bilig/tree/main/examples/headless-workpaper). It builds a
|
|
246
246
|
revenue workbook, evaluates formulas, applies an agent-style edit, persists and
|
|
247
247
|
restores the workbook, and verifies the final result.
|
|
248
248
|
|
|
@@ -269,7 +269,7 @@ persistence bytes, and restored readback equality.
|
|
|
269
269
|
|
|
270
270
|
For a framework-neutral recipe that wraps WorkPaper operations as agent-callable
|
|
271
271
|
tools, see
|
|
272
|
-
[`docs/agent-workpaper-tool-calling-recipe.md`](
|
|
272
|
+
[`docs/agent-workpaper-tool-calling-recipe.md`](https://github.com/proompteng/bilig/blob/main/docs/agent-workpaper-tool-calling-recipe.md).
|
|
273
273
|
It covers validated sheet/address parsing, computed before/after readback, and
|
|
274
274
|
persistence after a successful edit.
|
|
275
275
|
|
|
@@ -277,23 +277,23 @@ Repository CI also runs the same example against packed local runtime packages
|
|
|
277
277
|
through `pnpm workpaper:smoke:external`.
|
|
278
278
|
|
|
279
279
|
For a minimal service boundary with no framework dependency, see
|
|
280
|
-
[`docs/node-service-workpaper-recipe.md`](
|
|
280
|
+
[`docs/node-service-workpaper-recipe.md`](https://github.com/proompteng/bilig/blob/main/docs/node-service-workpaper-recipe.md).
|
|
281
281
|
It shows a built-in Node HTTP route that reads a computed summary, applies one
|
|
282
282
|
controlled input edit, and persists the WorkPaper document.
|
|
283
283
|
|
|
284
284
|
For simple tabular service payloads, see
|
|
285
|
-
[`docs/csv-shaped-workpaper-input-recipe.md`](
|
|
285
|
+
[`docs/csv-shaped-workpaper-input-recipe.md`](https://github.com/proompteng/bilig/blob/main/docs/csv-shaped-workpaper-input-recipe.md).
|
|
286
286
|
It normalizes a small CSV-shaped fixture into the `WorkPaper.buildFromSheets()`
|
|
287
287
|
array shape and reads formula-backed summaries.
|
|
288
288
|
|
|
289
289
|
For formula error handling, see
|
|
290
|
-
[`docs/unsupported-formula-troubleshooting-recipe.md`](
|
|
290
|
+
[`docs/unsupported-formula-troubleshooting-recipe.md`](https://github.com/proompteng/bilig/blob/main/docs/unsupported-formula-troubleshooting-recipe.md).
|
|
291
291
|
It shows how to pair `getCellDisplayValue()` with
|
|
292
292
|
`getCellFormulaDiagnostics()` so Node services and agent tools can return
|
|
293
293
|
actionable errors instead of silently accepting unsupported formula inputs.
|
|
294
294
|
|
|
295
295
|
For a focused persistence walkthrough, see
|
|
296
|
-
[`docs/persisting-formula-backed-workpaper-documents-in-node.md`](
|
|
296
|
+
[`docs/persisting-formula-backed-workpaper-documents-in-node.md`](https://github.com/proompteng/bilig/blob/main/docs/persisting-formula-backed-workpaper-documents-in-node.md)
|
|
297
297
|
and run the example package:
|
|
298
298
|
|
|
299
299
|
```sh
|
|
@@ -519,7 +519,7 @@ pnpm run ci
|
|
|
519
519
|
```
|
|
520
520
|
|
|
521
521
|
For a newcomer-friendly benchmark command walkthrough, see
|
|
522
|
-
[`docs/local-workpaper-benchmark-walkthrough.md`](
|
|
522
|
+
[`docs/local-workpaper-benchmark-walkthrough.md`](https://github.com/proompteng/bilig/blob/main/docs/local-workpaper-benchmark-walkthrough.md).
|
|
523
523
|
It explains the committed artifact check, a reduced local smoke run, and the
|
|
524
524
|
scorecard fields to compare in benchmark diffs.
|
|
525
525
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bilig/headless",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.4",
|
|
4
4
|
"description": "Headless spreadsheet engine for Node.js formulas, workbook JSON persistence, and service-side spreadsheet automation.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"agent",
|
|
@@ -66,9 +66,9 @@
|
|
|
66
66
|
"build": "rm -rf dist tsconfig.tsbuildinfo && tsc -p tsconfig.json"
|
|
67
67
|
},
|
|
68
68
|
"dependencies": {
|
|
69
|
-
"@bilig/core": "0.11.
|
|
70
|
-
"@bilig/formula": "0.11.
|
|
71
|
-
"@bilig/protocol": "0.11.
|
|
69
|
+
"@bilig/core": "0.11.4",
|
|
70
|
+
"@bilig/formula": "0.11.4",
|
|
71
|
+
"@bilig/protocol": "0.11.4"
|
|
72
72
|
},
|
|
73
73
|
"engines": {
|
|
74
74
|
"node": ">=24.0.0"
|