@bilig/headless 0.10.64 → 0.11.2

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 CHANGED
@@ -4,7 +4,7 @@
4
4
  [![npm weekly downloads](https://img.shields.io/npm/dw/@bilig/headless?label=npm%20downloads)](https://www.npmjs.com/package/@bilig/headless)
5
5
  [![GitHub](https://img.shields.io/badge/GitHub-proompteng%2Fbilig-blue)](https://github.com/proompteng/bilig)
6
6
  [![GitHub Repo stars](https://img.shields.io/github/stars/proompteng/bilig?style=social)](https://github.com/proompteng/bilig/stargazers)
7
- [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](../../LICENSE)
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](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,18 +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`](../../examples/headless-workpaper) and
38
- [`npm run json-records`](../../examples/headless-workpaper#json-records-input).
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](../../docs/node-service-workpaper-recipe.md).
40
+ [Node service recipe](https://github.com/proompteng/bilig/blob/main/docs/node-service-workpaper-recipe.md).
41
41
  - Check the
42
- [compatibility boundaries](../../docs/where-bilig-is-not-excel-compatible-yet.md)
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
- [HyperFormula comparison](../../docs/hyperformula-alternative-headless-workpaper.md)
46
- and [benchmark explainer](../../docs/what-workpaper-benchmark-proves.md).
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).
47
48
  - Star or bookmark the project:
48
- <https://github.com/proompteng/bilig/stargazers>.
49
+ <https://github.com/proompteng/bilig>.
49
50
 
50
51
  ## Production Status
51
52
 
@@ -64,10 +65,10 @@ Current release posture:
64
65
  workloads: `38/38` public and `8/8` holdout.
65
66
  - The public benchmark evidence note explains the measured workload families,
66
67
  engine metadata, exclusions, and the current p95 nuance:
67
- [`docs/headless-workpaper-benchmark-evidence.md`](../../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).
68
69
  - The shareable benchmark explainer states what the scorecard proves and what
69
70
  it does not:
70
- [`docs/what-workpaper-benchmark-proves.md`](../../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).
71
72
  - Recently fixed and hardened P1 risks are covered by regression tests:
72
73
  - `updateConfig()` now applies `useColumnIndex` correctly when a rebuild-only
73
74
  config key changes in the same update.
@@ -117,44 +118,48 @@ Repository links:
117
118
 
118
119
  - Website: <https://proompteng.github.io/bilig/>
119
120
  - GitHub: <https://github.com/proompteng/bilig>
120
- - Star or bookmark: <https://github.com/proompteng/bilig/stargazers>
121
+ - Star or bookmark: <https://github.com/proompteng/bilig>
121
122
  - Feedback discussion:
122
123
  <https://github.com/proompteng/bilig/discussions/115>
123
124
  - Good first issues:
124
125
  <https://github.com/proompteng/bilig/blob/main/docs/starter-issues.md>
126
+ - First-timers-only issues:
127
+ <https://github.com/proompteng/bilig/issues?q=is%3Aissue%20state%3Aopen%20label%3Afirst-timers-only>
125
128
  - npm: <https://www.npmjs.com/package/@bilig/headless>
126
129
  - runnable example:
127
- [`examples/headless-workpaper`](../../examples/headless-workpaper)
130
+ [`examples/headless-workpaper`](https://github.com/proompteng/bilig/tree/main/examples/headless-workpaper)
128
131
  - JSON records input example:
129
- [`npm run json-records`](../../examples/headless-workpaper#json-records-input)
132
+ [`npm run json-records`](https://github.com/proompteng/bilig/tree/main/examples/headless-workpaper#json-records-input)
130
133
  - Node service recipe:
131
- [`docs/node-service-workpaper-recipe.md`](../../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)
132
135
  - CSV-shaped input recipe:
133
- [`docs/csv-shaped-workpaper-input-recipe.md`](../../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)
134
137
  - unsupported formula troubleshooting:
135
- [`docs/unsupported-formula-troubleshooting-recipe.md`](../../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)
136
139
  - agent tool-calling recipe:
137
- [`docs/agent-workpaper-tool-calling-recipe.md`](../../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)
138
141
  - revenue-model article:
139
- [`docs/building-a-revenue-model-with-headless-workpaper.md`](../../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)
140
143
  - compatibility boundaries:
141
- [`docs/where-bilig-is-not-excel-compatible-yet.md`](../../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)
142
145
  - XLSX corpus verifier walkthrough:
143
- [`docs/xlsx-corpus-verifier-walkthrough.md`](../../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)
144
147
  - HyperFormula comparison:
145
- [`docs/hyperformula-alternative-headless-workpaper.md`](../../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
+ - SheetJS and ExcelJS comparison:
150
+ [`docs/sheetjs-exceljs-alternative-formula-workbook-api.md`](https://github.com/proompteng/bilig/blob/main/docs/sheetjs-exceljs-alternative-formula-workbook-api.md)
146
151
  - local benchmark walkthrough:
147
- [`docs/local-workpaper-benchmark-walkthrough.md`](../../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)
148
153
  - XLOOKUP exact fixture walkthrough:
149
- [`docs/formula-edge-xlookup-exact-fixture.md`](../../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)
150
155
  - SUMIFS paired criteria fixture walkthrough:
151
- [`docs/formula-edge-sumifs-paired-criteria-fixture.md`](../../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)
152
157
  - GROUPBY spill fixture walkthrough:
153
- [`docs/formula-edge-groupby-spill-fixture.md`](../../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)
154
159
  - published DEV article:
155
160
  <https://dev.to/gregkonush/why-agents-need-workbook-apis-instead-of-spreadsheet-screenshots-3d61>
156
161
  - DEV article source:
157
- [`docs/dev-to-workbook-apis-post.md`](../../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)
158
163
 
159
164
  ## Quickstart
160
165
 
@@ -237,7 +242,7 @@ console.log({ initial, restoredValue, bytes: json.length, verified })
237
242
  ## Runnable Example
238
243
 
239
244
  The repo includes a small external-consumer project at
240
- [`examples/headless-workpaper`](../../examples/headless-workpaper). It builds a
245
+ [`examples/headless-workpaper`](https://github.com/proompteng/bilig/tree/main/examples/headless-workpaper). It builds a
241
246
  revenue workbook, evaluates formulas, applies an agent-style edit, persists and
242
247
  restores the workbook, and verifies the final result.
243
248
 
@@ -245,6 +250,7 @@ restores the workbook, and verifies the final result.
245
250
  cd examples/headless-workpaper
246
251
  npm install
247
252
  npm start
253
+ npm run agent:tool-call
248
254
  ```
249
255
 
250
256
  For the agent-specific writeback proof, run:
@@ -257,9 +263,13 @@ That demo records the exact assumption cells changed, verifies dependent formula
257
263
  readback, persists the workbook, restores it, and checks that formulas and
258
264
  outputs survived the round trip.
259
265
 
266
+ `npm run agent:tool-call` exposes a small SDK-neutral tool-call shape:
267
+ `readRange`, `setInputCell`, computed before/after values, formula contracts,
268
+ persistence bytes, and restored readback equality.
269
+
260
270
  For a framework-neutral recipe that wraps WorkPaper operations as agent-callable
261
271
  tools, see
262
- [`docs/agent-workpaper-tool-calling-recipe.md`](../../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).
263
273
  It covers validated sheet/address parsing, computed before/after readback, and
264
274
  persistence after a successful edit.
265
275
 
@@ -267,23 +277,23 @@ Repository CI also runs the same example against packed local runtime packages
267
277
  through `pnpm workpaper:smoke:external`.
268
278
 
269
279
  For a minimal service boundary with no framework dependency, see
270
- [`docs/node-service-workpaper-recipe.md`](../../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).
271
281
  It shows a built-in Node HTTP route that reads a computed summary, applies one
272
282
  controlled input edit, and persists the WorkPaper document.
273
283
 
274
284
  For simple tabular service payloads, see
275
- [`docs/csv-shaped-workpaper-input-recipe.md`](../../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).
276
286
  It normalizes a small CSV-shaped fixture into the `WorkPaper.buildFromSheets()`
277
287
  array shape and reads formula-backed summaries.
278
288
 
279
289
  For formula error handling, see
280
- [`docs/unsupported-formula-troubleshooting-recipe.md`](../../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).
281
291
  It shows how to pair `getCellDisplayValue()` with
282
292
  `getCellFormulaDiagnostics()` so Node services and agent tools can return
283
293
  actionable errors instead of silently accepting unsupported formula inputs.
284
294
 
285
295
  For a focused persistence walkthrough, see
286
- [`docs/persisting-formula-backed-workpaper-documents-in-node.md`](../../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)
287
297
  and run the example package:
288
298
 
289
299
  ```sh
@@ -509,7 +519,7 @@ pnpm run ci
509
519
  ```
510
520
 
511
521
  For a newcomer-friendly benchmark command walkthrough, see
512
- [`docs/local-workpaper-benchmark-walkthrough.md`](../../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).
513
523
  It explains the committed artifact check, a reduced local smoke run, and the
514
524
  scorecard fields to compare in benchmark diffs.
515
525
 
@@ -1,7 +1,7 @@
1
1
  import { BLOCK_COLS, BLOCK_ROWS } from '@bilig/core';
2
2
  import { ErrorCode, ValueTag } from '@bilig/protocol';
3
3
  const EMPTY_CELL_VALUE = Object.freeze({ tag: ValueTag.Empty });
4
- const FAST_PHYSICAL_RANGE_AREA_LIMIT = 16_384;
4
+ const FAST_PHYSICAL_RANGE_AREA_LIMIT = 262_144;
5
5
  export function readFastPhysicalRangeValues(engine, range) {
6
6
  const sheet = engine.workbook.getSheetById(range.start.sheet);
7
7
  if (!sheet || sheet.structureVersion !== 1) {
@@ -20,6 +20,11 @@ export function readFastPhysicalRangeValues(engine, range) {
20
20
  rows[rowOffset] = row;
21
21
  }
22
22
  const cellStore = engine.workbook.cellStore;
23
+ const cellTags = cellStore.tags;
24
+ const cellNumbers = cellStore.numbers;
25
+ const cellStringIds = cellStore.stringIds;
26
+ const cellErrors = cellStore.errors;
27
+ const strings = engine.strings;
23
28
  let filledCells = 0;
24
29
  const blockRowStart = Math.floor(range.start.row / BLOCK_ROWS);
25
30
  const blockRowEnd = Math.floor(range.end.row / BLOCK_ROWS);
@@ -45,7 +50,38 @@ export function readFastPhysicalRangeValues(engine, range) {
45
50
  if (encodedCellIndex === 0) {
46
51
  continue;
47
52
  }
48
- row[absoluteBlockCol + localCol - range.start.col] = readCellValue(cellStore, engine, encodedCellIndex - 1);
53
+ const cellIndex = encodedCellIndex - 1;
54
+ const outputCol = absoluteBlockCol + localCol - range.start.col;
55
+ switch (cellTags[cellIndex] ?? ValueTag.Empty) {
56
+ case ValueTag.Number:
57
+ row[outputCol] = { tag: ValueTag.Number, value: cellNumbers[cellIndex] ?? 0 };
58
+ break;
59
+ case ValueTag.Boolean:
60
+ row[outputCol] = {
61
+ tag: ValueTag.Boolean,
62
+ value: (cellNumbers[cellIndex] ?? 0) !== 0,
63
+ };
64
+ break;
65
+ case ValueTag.String: {
66
+ const stringId = cellStringIds[cellIndex] ?? 0;
67
+ row[outputCol] = {
68
+ tag: ValueTag.String,
69
+ value: stringId === 0 ? '' : strings.get(stringId),
70
+ stringId,
71
+ };
72
+ break;
73
+ }
74
+ case ValueTag.Error:
75
+ row[outputCol] = {
76
+ tag: ValueTag.Error,
77
+ code: cellErrors[cellIndex] ?? ErrorCode.None,
78
+ };
79
+ break;
80
+ case ValueTag.Empty:
81
+ default:
82
+ row[outputCol] = EMPTY_CELL_VALUE;
83
+ break;
84
+ }
49
85
  filledCells += 1;
50
86
  }
51
87
  }
@@ -61,21 +97,4 @@ export function readFastPhysicalRangeValues(engine, range) {
61
97
  }
62
98
  return rows;
63
99
  }
64
- function readCellValue(cellStore, engine, cellIndex) {
65
- switch (cellStore.tags[cellIndex] ?? ValueTag.Empty) {
66
- case ValueTag.Number:
67
- return { tag: ValueTag.Number, value: cellStore.numbers[cellIndex] ?? 0 };
68
- case ValueTag.Boolean:
69
- return { tag: ValueTag.Boolean, value: (cellStore.numbers[cellIndex] ?? 0) !== 0 };
70
- case ValueTag.String: {
71
- const stringId = cellStore.stringIds[cellIndex] ?? 0;
72
- return { tag: ValueTag.String, value: stringId === 0 ? '' : engine.strings.get(stringId), stringId };
73
- }
74
- case ValueTag.Error:
75
- return { tag: ValueTag.Error, code: cellStore.errors[cellIndex] ?? ErrorCode.None };
76
- case ValueTag.Empty:
77
- default:
78
- return EMPTY_CELL_VALUE;
79
- }
80
- }
81
100
  //# sourceMappingURL=fast-range-read.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fast-range-read.js","sourceRoot":"","sources":["../src/fast-range-read.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fast-range-read.js","sourceRoot":"","sources":["../src/fast-range-read.ts"],"names":[],"mappings":"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"}
@@ -244,10 +244,13 @@ export function tryCreateLazyPhysicalTrackedIndexChanges(engine, changedCellIndi
244
244
  const length = changedCellIndices.length;
245
245
  const split = options.sortedSliceSplit;
246
246
  const sortedSliceSplit = split !== undefined && split > 0 && split < length ? split : undefined;
247
+ let isReverseSorted = sortedSliceSplit === undefined;
247
248
  let previousRow = -1;
248
249
  let previousCol = -1;
249
250
  let previousRightRow = -1;
250
251
  let previousRightCol = -1;
252
+ let previousReverseRow = Number.POSITIVE_INFINITY;
253
+ let previousReverseCol = Number.POSITIVE_INFINITY;
251
254
  for (let index = 0; index < length; index += 1) {
252
255
  const cellIndex = changedCellIndices[index];
253
256
  if (cellStore.sheetIds[cellIndex] !== sheetId) {
@@ -255,6 +258,11 @@ export function tryCreateLazyPhysicalTrackedIndexChanges(engine, changedCellIndi
255
258
  }
256
259
  const row = cellStore.rows[cellIndex] ?? 0;
257
260
  const col = cellStore.cols[cellIndex] ?? 0;
261
+ if (isReverseSorted && (row > previousReverseRow || (row === previousReverseRow && col >= previousReverseCol))) {
262
+ isReverseSorted = false;
263
+ }
264
+ previousReverseRow = row;
265
+ previousReverseCol = col;
258
266
  if (sortedSliceSplit !== undefined && index >= sortedSliceSplit) {
259
267
  if (row < previousRightRow || (row === previousRightRow && col < previousRightCol)) {
260
268
  return null;
@@ -264,14 +272,33 @@ export function tryCreateLazyPhysicalTrackedIndexChanges(engine, changedCellIndi
264
272
  continue;
265
273
  }
266
274
  if (row < previousRow || (row === previousRow && col < previousCol)) {
267
- return null;
275
+ if (sortedSliceSplit !== undefined) {
276
+ return null;
277
+ }
278
+ previousRow = row;
279
+ previousCol = col;
280
+ continue;
268
281
  }
269
282
  previousRow = row;
270
283
  previousCol = col;
271
284
  }
272
285
  const sheetName = sheet?.name ?? workbook.getSheetNameById(sheetId);
286
+ if (!isTrackedIndexSliceSorted(cellStore, changedCellIndices, 0, length)) {
287
+ if (!isReverseSorted) {
288
+ return null;
289
+ }
290
+ return createLazyPhysicalTrackedIndexChanges(sheetId, sheetName, cellStore, engine, copyReverseSortedTrackedCellIndices(changedCellIndices), formatAddressCached);
291
+ }
273
292
  return createLazyPhysicalTrackedIndexChanges(sheetId, sheetName, cellStore, engine, changedCellIndices, formatAddressCached, sortedSliceSplit);
274
293
  }
294
+ function copyReverseSortedTrackedCellIndices(changedCellIndices) {
295
+ const length = changedCellIndices.length;
296
+ const reversed = new Uint32Array(length);
297
+ for (let index = 0; index < length; index += 1) {
298
+ reversed[length - index - 1] = changedCellIndices[index];
299
+ }
300
+ return reversed;
301
+ }
275
302
  export function copyOrderedTrackedCellIndices(cellStore, changedCellIndices, target, offset, sortedSliceSplit) {
276
303
  if (sortedSliceSplit === undefined) {
277
304
  for (let index = 0; index < changedCellIndices.length; index += 1) {
@@ -1 +1 @@
1
- {"version":3,"file":"tracked-cell-lazy-physical-changes.js","sourceRoot":"","sources":["../src/tracked-cell-lazy-physical-changes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracked-cell-lazy-physical-changes.js","sourceRoot":"","sources":["../src/tracked-cell-lazy-physical-changes.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { ValueTag } from '@bilig/protocol';
2
+ import { compileFormula, formatAddress } from '@bilig/formula';
2
3
  import { buildWorkPaperDenseRange, collectSerializedWorkPaperSheets, collectWorkPaperSheetsByName, readWorkPaperSheetRange, } from './work-paper-sheet-read.js';
3
4
  import { formatWorkPaperCellAddressText, formatWorkPaperCellRangeText, parseWorkPaperCellAddressText, parseWorkPaperCellRangeText, resolveDefaultWorkPaperSheetName, } from './work-paper-address-format.js';
4
5
  import { readWorkPaperCellClassification, readWorkPaperCellFormula, readWorkPaperCellHasSimpleValue, readWorkPaperCellHyperlink, readWorkPaperCellPartOfArray, readWorkPaperCellValue, readWorkPaperCellValueDetailedType, readWorkPaperCellValueType, readWorkPaperRangeValues, } from './work-paper-cell-read.js';
@@ -36,8 +37,11 @@ export function createWorkPaperReadOperations(runtime) {
36
37
  if (cached) {
37
38
  return { width: cached.width, height: cached.height };
38
39
  }
39
- const dimensions = sheetDimensionCache.scan(sheet);
40
- sheetDimensionCache.cache(sheetId, dimensions);
40
+ const scanned = scanSheetDimensionsAndDynamicFormula(engine(), sheet);
41
+ const dimensions = scanned.dimensions;
42
+ sheetDimensionCache.cacheScanned(sheetId, dimensions, {
43
+ mayResizeDynamically: scanned.mayResizeDynamically,
44
+ });
41
45
  return dimensions;
42
46
  };
43
47
  const getCellValueFormat = (address) => {
@@ -182,4 +186,25 @@ export function createWorkPaperReadOperations(runtime) {
182
186
  getCellValueFormat,
183
187
  };
184
188
  }
189
+ function scanSheetDimensionsAndDynamicFormula(engine, sheet) {
190
+ let width = 0;
191
+ let height = 0;
192
+ let mayResize = false;
193
+ sheet.grid.forEachCellEntry((_cellIndex, row, col) => {
194
+ height = Math.max(height, row + 1);
195
+ width = Math.max(width, col + 1);
196
+ if (!mayResize) {
197
+ const formula = engine.getCell(sheet.name, formatAddress(row, col)).formula;
198
+ if (formula !== undefined) {
199
+ try {
200
+ mayResize = compileFormula(formula).producesSpill;
201
+ }
202
+ catch {
203
+ mayResize = true;
204
+ }
205
+ }
206
+ }
207
+ });
208
+ return { dimensions: { width, height }, mayResizeDynamically: mayResize };
209
+ }
185
210
  //# sourceMappingURL=work-paper-read-operations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"work-paper-read-operations.js","sourceRoot":"","sources":["../src/work-paper-read-operations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAwD,MAAM,iBAAiB,CAAA;AAChG,OAAO,EACL,wBAAwB,EACxB,gCAAgC,EAChC,4BAA4B,EAC5B,uBAAuB,GAGxB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,8BAA8B,EAC9B,4BAA4B,EAC5B,6BAA6B,EAC7B,2BAA2B,EAC3B,gCAAgC,GACjC,MAAM,gCAAgC,CAAA;AAYvC,OAAO,EACL,+BAA+B,EAC/B,wBAAwB,EACxB,+BAA+B,EAC/B,0BAA0B,EAC1B,4BAA4B,EAC5B,sBAAsB,EACtB,kCAAkC,EAClC,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,2BAA2B,CAAA;AAoDlC,MAAM,UAAU,6BAA6B,CAAC,OAAuC;IACnF,MAAM,MAAM,GAAG,GAAsB,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,CAAA;IAE3D,MAAM,YAAY,GAAG,CAAC,OAA6B,EAAa,EAAE;QAChE,OAAO,CAAC,cAAc,EAAE,CAAA;QACxB,OAAO,sBAAsB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IACzG,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,CAAC,OAA6B,EAAsB,EAAE;QAC3E,OAAO,CAAC,oBAAoB,EAAE,CAAA;QAC9B,OAAO,wBAAwB,CAAC;YAC9B,MAAM,EAAE,MAAM,EAAE;YAChB,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;YAC3C,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC;YACvB,YAAY,EAAE,OAAO,CAAC,KAAK;YAC3B,oBAAoB,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC;SACrG,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,MAAM,iBAAiB,GAAG,CAAC,OAA6B,EAAkB,EAAE;QAC1E,OAAO,CAAC,oBAAoB,EAAE,CAAA;QAC9B,OAAO,OAAO,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IACjI,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,CAAC,KAAyB,EAAiB,EAAE;QAClE,OAAO,CAAC,cAAc,EAAE,CAAA;QACxB,OAAO,wBAAwB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACvG,CAAC,CAAA;IAED,MAAM,gBAAgB,GAAG,CAAC,KAAyB,EAA0B,EAAE,CAC7E,wBAAwB,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAA;IAEvE,MAAM,kBAAkB,GAAG,CAAC,KAAyB,EAAsB,EAAE,CAC3E,wBAAwB,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAA;IAE1E,MAAM,kBAAkB,GAAG,CAAC,OAAe,EAA4B,EAAE;QACvE,OAAO,CAAC,oBAAoB,EAAE,CAAA;QAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAC1C,MAAM,mBAAmB,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAA;QAC5D,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC/C,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAA;QACvD,CAAC;QACD,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClD,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;QAC9C,OAAO,UAAU,CAAA;IACnB,CAAC,CAAA;IAED,MAAM,kBAAkB,GAAG,CAAC,OAA6B,EAAsB,EAAE;QAC/E,OAAO,CAAC,oBAAoB,EAAE,CAAA;QAC9B,OAAO,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAA;IACvF,CAAC,CAAA;IAED,MAAM,WAAW,GAAG,CAAC,OAA6B,EAAW,EAAE;QAC7D,OAAO,CAAC,oBAAoB,EAAE,CAAA;QAC9B,OAAO,MAAM,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,KAAK,CAAA;IAC5G,CAAC,CAAA;IAED,MAAM,iBAAiB,GAAG,CAAC,OAA6B,EAAW,EAAE;QACnE,OAAO,CAAC,oBAAoB,EAAE,CAAA;QAC9B,OAAO,4BAA4B,CAAC;YAClC,OAAO;YACP,WAAW,EAAE,MAAM,EAAE,CAAC,cAAc,EAAE;YACtC,cAAc,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC;SACjE,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,OAAO;QACL,YAAY;QACZ,cAAc;QACd,gBAAgB,CAAC,OAAO;YACtB,OAAO,0BAA0B,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAA;QAC5D,CAAC;QACD,iBAAiB;QACjB,cAAc;QACd,gBAAgB;QAChB,kBAAkB;QAClB,cAAc,CAAC,OAAO;YACpB,OAAO,uBAAuB,CAAC;gBAC7B,OAAO;gBACP,UAAU,EAAE,kBAAkB,CAAC,OAAO,CAAC;gBACvC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC;aAC5C,CAAC,CAAA;QACJ,CAAC;QACD,gBAAgB,CAAC,OAAO;YACtB,OAAO,uBAAuB,CAAC;gBAC7B,OAAO;gBACP,UAAU,EAAE,kBAAkB,CAAC,OAAO,CAAC;gBACvC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC;aAC9C,CAAC,CAAA;QACJ,CAAC;QACD,kBAAkB,CAAC,OAAO;YACxB,OAAO,uBAAuB,CAAC;gBAC7B,OAAO;gBACP,UAAU,EAAE,kBAAkB,CAAC,OAAO,CAAC;gBACvC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC;aAChD,CAAC,CAAA;QACJ,CAAC;QACD,kBAAkB;YAChB,OAAO,CAAC,cAAc,EAAE,CAAA;YACxB,OAAO,4BAA4B,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;QAC3G,CAAC;QACD,oBAAoB;YAClB,OAAO,4BAA4B,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;QAC7G,CAAC;QACD,sBAAsB;YACpB,OAAO,gCAAgC,CAAC;gBACtC,MAAM,EAAE,OAAO,CAAC,gBAAgB,EAAE;gBAClC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvD,eAAe,EAAE,MAAM,EAAE,CAAC,cAAc,EAAE;aAC3C,CAAC,CAAA;QACJ,CAAC;QACD,sBAAsB;YACpB,OAAO,4BAA4B,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;QAC1G,CAAC;QACD,kBAAkB;QAClB,2BAA2B,CAAC,KAAK,EAAE,cAAc;YAC/C,OAAO,CAAC,iBAAiB,EAAE,CAAA;YAC3B,MAAM,gBAAgB,GAAG,gCAAgC,CAAC;gBACxD,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,MAAM,EAAE,OAAO,CAAC,gBAAgB,EAAE;gBAClC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;aACnD,CAAC,CAAA;YACF,OAAO,6BAA6B,CAAC;gBACnC,KAAK;gBACL,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,cAAc,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC;aACjE,CAAC,CAAA;QACJ,CAAC;QACD,yBAAyB,CAAC,KAAK,EAAE,cAAc;YAC7C,OAAO,CAAC,iBAAiB,EAAE,CAAA;YAC3B,MAAM,gBAAgB,GAAG,gCAAgC,CAAC;gBACxD,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,MAAM,EAAE,OAAO,CAAC,gBAAgB,EAAE;gBAClC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;aACnD,CAAC,CAAA;YACF,OAAO,2BAA2B,CAAC;gBACjC,KAAK;gBACL,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,cAAc,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC;aACjE,CAAC,CAAA;QACJ,CAAC;QACD,yBAAyB,CAAC,OAAO,EAAE,uBAAuB,GAAG,EAAE;YAC7D,OAAO,CAAC,iBAAiB,EAAE,CAAA;YAC3B,OAAO,8BAA8B,CAAC;gBACpC,OAAO;gBACP,uBAAuB;gBACvB,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;aACnD,CAAC,CAAA;QACJ,CAAC;QACD,uBAAuB,CAAC,KAAK,EAAE,uBAAuB,GAAG,EAAE;YACzD,OAAO,4BAA4B,CAAC;gBAClC,KAAK;gBACL,uBAAuB;gBACvB,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;aACnD,CAAC,CAAA;QACJ,CAAC;QACD,WAAW,CAAC,OAAO;YACjB,OAAO,CAAC,oBAAoB,EAAE,CAAA;YAC9B,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;YACpF,OAAO,+BAA+B,CAAC;gBACrC,UAAU,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS;gBACtC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC;gBAC7B,aAAa,EAAE,iBAAiB,CAAC,OAAO,CAAC;aAC1C,CAAC,CAAA;QACJ,CAAC;QACD,uBAAuB,CAAC,OAAO;YAC7B,OAAO,CAAC,oBAAoB,EAAE,CAAA;YAC9B,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;YACpF,OAAO,+BAA+B,CAAC;gBACrC,UAAU,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS;gBACtC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC;aAC9B,CAAC,CAAA;QACJ,CAAC;QACD,mBAAmB,CAAC,OAAO;YACzB,OAAO,CAAC,oBAAoB,EAAE,CAAA;YAC9B,OAAO,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAA;QACtG,CAAC;QACD,WAAW;QACX,iBAAiB;QACjB,gBAAgB,CAAC,OAAO;YACtB,OAAO,0BAA0B,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAA;QAC1D,CAAC;QACD,wBAAwB,CAAC,OAAO;YAC9B,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;YACnC,OAAO,kCAAkC,CAAC;gBACxC,KAAK;gBACL,MAAM,EAAE,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;aAChF,CAAC,CAAA;QACJ,CAAC;QACD,kBAAkB;KACnB,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"work-paper-read-operations.js","sourceRoot":"","sources":["../src/work-paper-read-operations.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ export declare abstract class WorkPaperRuntimeSurface extends WorkPaperPublicSur
17
17
  protected abstract readonly namedExpressions: Map<string, InternalNamedExpression>;
18
18
  protected abstract readonly engineEvents: WorkPaperEngineEventTracker;
19
19
  protected abstract readonly mutationQueues: WorkPaperMutationQueues;
20
- protected abstract readonly sheetDimensionCache: WorkPaperSheetDimensionCache;
20
+ protected abstract sheetDimensionCache: WorkPaperSheetDimensionCache;
21
21
  protected abstract visibilityCache: VisibilitySnapshot | null;
22
22
  protected abstract namedExpressionValueCache: NamedExpressionValueSnapshot | null;
23
23
  protected abstract sheetRecordsCache: readonly SheetRecord[] | null;
@@ -2,7 +2,7 @@ import { SpreadsheetEngine, type SheetRecord } from '@bilig/core';
2
2
  import { type CellValue, type WorkbookSnapshot } from '@bilig/protocol';
3
3
  import { WorkPaperSheetDimensionCache } from './work-paper-sheet-dimension-cache.js';
4
4
  import { type InternalNamedExpression, type WorkPaperNamedExpressionValueSnapshot } from './work-paper-named-expression-helpers.js';
5
- import type { WorkPaperCellAddress, WorkPaperCellRange, WorkPaperConfig, WorkPaperSheet, WorkPaperSheets, WorkPaperInternals, RawCellContent, SerializedWorkPaperNamedExpression } from './work-paper-types.js';
5
+ import type { WorkPaperCellAddress, WorkPaperCellRange, WorkPaperChange, WorkPaperConfig, WorkPaperSheet, WorkPaperSheets, WorkPaperInternals, RawCellContent, SerializedWorkPaperNamedExpression } from './work-paper-types.js';
6
6
  import { WorkPaperEmitter } from './work-paper-emitter.js';
7
7
  import type { QueuedEvent } from './work-paper-tracked-event-helpers.js';
8
8
  import type { VisibilitySnapshot } from './work-paper-visibility-snapshot.js';
@@ -20,7 +20,7 @@ export declare class WorkPaper extends WorkPaperRuntimeSurface {
20
20
  protected readonly functionAliasLookup: Map<string, InternalFunctionBinding>;
21
21
  private readonly internalFunctionLookup;
22
22
  private readonly workPaperInternals;
23
- protected readonly sheetDimensionCache: WorkPaperSheetDimensionCache;
23
+ protected sheetDimensionCache: WorkPaperSheetDimensionCache;
24
24
  protected config: WorkPaperConfig;
25
25
  private clipboard;
26
26
  protected visibilityCache: VisibilitySnapshot | null;
@@ -49,6 +49,7 @@ export declare class WorkPaper extends WorkPaperRuntimeSurface {
49
49
  static buildFromSheets(sheets: WorkPaperSheets, configInput?: WorkPaperConfig, namedExpressions?: readonly SerializedWorkPaperNamedExpression[]): WorkPaper;
50
50
  static buildFromSnapshot(snapshot: WorkbookSnapshot, configInput?: WorkPaperConfig): WorkPaper;
51
51
  updateConfig(next: WorkPaperConfig): void;
52
+ transaction(operations: () => void): WorkPaperChange[];
52
53
  private canEditAxisIntervals;
53
54
  private applyAxisIntervalEdit;
54
55
  private applyAxisMove;
@@ -56,6 +57,10 @@ export declare class WorkPaper extends WorkPaperRuntimeSurface {
56
57
  destroy(): void;
57
58
  dispose(): void;
58
59
  private applySerializedMatrix;
60
+ private captureTransactionSnapshot;
61
+ private restoreTransactionSnapshot;
62
+ private resetTransactionRuntimeState;
63
+ private restoreHistoryStacks;
59
64
  private applyMatrixContents;
60
65
  private replaceSheetContentInternal;
61
66
  private applyRawContent;
@@ -76,6 +81,7 @@ export declare class WorkPaper extends WorkPaperRuntimeSurface {
76
81
  private applyRuntimeOnlyConfigUpdate;
77
82
  private rebuildWithConfig;
78
83
  private rewriteFormulaForStorage;
84
+ private replaceEngineForConfig;
79
85
  private restorePublicFormula;
80
86
  private validateNamedExpression;
81
87
  private upsertNamedExpressionInternal;