@bilig/workbook 0.107.3 → 0.119.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.
Files changed (78) hide show
  1. package/README.md +39 -38
  2. package/dist/check.js +4 -1
  3. package/dist/check.js.map +1 -1
  4. package/dist/command-bundle.js +18 -3
  5. package/dist/command-bundle.js.map +1 -1
  6. package/dist/command-ops.js +257 -4
  7. package/dist/command-ops.js.map +1 -1
  8. package/dist/command-ranges.js +5 -1
  9. package/dist/command-ranges.js.map +1 -1
  10. package/dist/command-receipt-ranges.js +5 -1
  11. package/dist/command-receipt-ranges.js.map +1 -1
  12. package/dist/command-result-undo.js +6 -2
  13. package/dist/command-result-undo.js.map +1 -1
  14. package/dist/command-result.js +64 -3
  15. package/dist/command-result.js.map +1 -1
  16. package/dist/data-properties.d.ts +1 -0
  17. package/dist/data-properties.js +3 -0
  18. package/dist/data-properties.js.map +1 -1
  19. package/dist/describe.d.ts +6 -0
  20. package/dist/describe.js +10 -0
  21. package/dist/describe.js.map +1 -1
  22. package/dist/feature-plugin.d.ts +7 -1
  23. package/dist/feature-plugin.js +23 -1
  24. package/dist/feature-plugin.js.map +1 -1
  25. package/dist/features.d.ts +0 -6
  26. package/dist/features.js +17 -26
  27. package/dist/features.js.map +1 -1
  28. package/dist/find.js +94 -103
  29. package/dist/find.js.map +1 -1
  30. package/dist/formula.js +5 -2
  31. package/dist/formula.js.map +1 -1
  32. package/dist/index.d.ts +0 -1
  33. package/dist/index.js +0 -1
  34. package/dist/index.js.map +1 -1
  35. package/dist/model-action-validation.d.ts +2 -0
  36. package/dist/model-action-validation.js +71 -3
  37. package/dist/model-action-validation.js.map +1 -1
  38. package/dist/model.js +4 -1
  39. package/dist/model.js.map +1 -1
  40. package/dist/op-schema.d.ts +4 -0
  41. package/dist/op-schema.js +895 -0
  42. package/dist/op-schema.js.map +1 -0
  43. package/dist/plan-data.js +210 -55
  44. package/dist/plan-data.js.map +1 -1
  45. package/dist/readback.js +44 -1
  46. package/dist/readback.js.map +1 -1
  47. package/dist/requirements.js +41 -3
  48. package/dist/requirements.js.map +1 -1
  49. package/dist/result.d.ts +7 -0
  50. package/dist/result.js.map +1 -1
  51. package/dist/run-apply.js +5 -2
  52. package/dist/run-apply.js.map +1 -1
  53. package/dist/run-command-receipts.js +133 -3
  54. package/dist/run-command-receipts.js.map +1 -1
  55. package/dist/run-data.js +6 -2
  56. package/dist/run-data.js.map +1 -1
  57. package/dist/run-description-noop.d.ts +2 -0
  58. package/dist/run-description-noop.js +330 -0
  59. package/dist/run-description-noop.js.map +1 -0
  60. package/dist/run-description.js +23 -2
  61. package/dist/run-description.js.map +1 -1
  62. package/dist/run-runtime-boundary.js +39 -5
  63. package/dist/run-runtime-boundary.js.map +1 -1
  64. package/dist/run.d.ts +1 -0
  65. package/dist/run.js.map +1 -1
  66. package/dist/schema-fragments.d.ts +16 -0
  67. package/dist/schema-fragments.js +246 -0
  68. package/dist/schema-fragments.js.map +1 -0
  69. package/dist/schema-noop.d.ts +9 -0
  70. package/dist/schema-noop.js +128 -0
  71. package/dist/schema-noop.js.map +1 -0
  72. package/dist/schema.js +266 -145
  73. package/dist/schema.js.map +1 -1
  74. package/dist/testing.js +19 -4
  75. package/dist/testing.js.map +1 -1
  76. package/dist/verify.js +34 -0
  77. package/dist/verify.js.map +1 -1
  78. package/package.json +12 -5
package/README.md CHANGED
@@ -17,6 +17,8 @@ ship business templates, or depend on `@bilig/core`, `@bilig/headless`,
17
17
  pnpm add @bilig/workbook
18
18
  ```
19
19
 
20
+ Public evaluator: [Workbook agent intent API](https://proompteng.github.io/bilig/workbook-agent-intent-api.html).
21
+
20
22
  ## Use These First
21
23
 
22
24
  Most consumers should start with only these names:
@@ -88,10 +90,10 @@ The core flow is deliberately boring:
88
90
  | `@bilig/headless` | Owning workbook state inside Node with formula recalculation and import/export. | Publishing generic agent intent contracts. |
89
91
  | `@bilig/core` | Implementing calculation or mutation internals. | Consumer-facing agent model definitions. |
90
92
 
91
- The root export keeps the complete contract. Subpath exports are available when
92
- an agent wants a smaller import map: `@bilig/workbook/model`,
93
- `@bilig/workbook/prepare`, `@bilig/workbook/find`,
94
- `@bilig/workbook/check`, `@bilig/workbook/formula`,
93
+ The root export keeps the ordinary agent path: models, refs, checks, formulas,
94
+ plans, runtime proof, command results, schemas, and low-level ops. Subpaths are available when an agent wants a smaller import map:
95
+ `@bilig/workbook/model`,
96
+ `@bilig/workbook/prepare`, `@bilig/workbook/find`, `@bilig/workbook/check`, `@bilig/workbook/formula`,
95
97
  `@bilig/workbook/verify`, `@bilig/workbook/runtime`,
96
98
  `@bilig/workbook/command`, `@bilig/workbook/features`,
97
99
  `@bilig/workbook/testing`, and `@bilig/workbook/schema`.
@@ -170,14 +172,17 @@ production proof. Strict mode requires:
170
172
  - plan id proof
171
173
  - base and applied revision proof
172
174
  - apply proof with no unverified apply facts
173
- - concrete applied ops for every planned command
175
+ - concrete applied ops, or command-bound effect proof for already-satisfied commands, including full low-level ops
174
176
  - command receipts bound to planned digests and concrete `resolvedRefs`
175
177
  - proof on every passed check
176
178
 
177
- Runtime authors can run the same contract with `checkWorkbookRunAdapter` or
178
- `assertWorkbookRunAdapter` from `@bilig/workbook/testing`.
179
+ Use `{ requireResolvedRefs: true }` when an agent only needs concrete ref
180
+ materialization without every strict-mode gate.
181
+
182
+ Runtime authors can run the same plain-object, known-key, own-data-option
183
+ contract with the `@bilig/workbook/testing` adapter helpers.
179
184
 
180
- The returned `WorkbookRunResult` is intentionally plain:
185
+ The returned `WorkbookRunResult` is intentionally plain; `describeRunResult` preserves receipt-bound `noop` proof for logs and reviews:
181
186
 
182
187
  ```ts
183
188
  type WorkbookRunResult =
@@ -204,17 +209,16 @@ type WorkbookRunResult =
204
209
 
205
210
  Everything that crosses an agent/runtime boundary is inspectable data:
206
211
 
207
- - `describeModel`, `describePlan`, `describePlanResult`, and
208
- `describeRunResult` return JSON-safe descriptions.
209
- - `toPlanData(plan)` emits executable plan data for transport.
210
- - `checkPlanData(data)` reports path-based transport issues before hydration.
211
- - `hydratePlanData(data)` restores frozen refs and helper methods locally.
212
- - `verifyPlan`, `verifyPlanData`, and `verifyModel` return frozen verdicts.
213
- - `checkInput` and `checkWorkbookModelDescription` validate agent manifests without a schema dependency.
214
- - `checkWorkbookReadbackProof(data)` validates transported readback proof.
212
+ - `describeModel`, `describePlan`, `describePlanResult`, and `describeRunResult` return JSON-safe descriptions.
213
+ - `toPlanData`, `checkPlanData`, and `hydratePlanData` transport and restore executable plan data.
214
+ - `verifyPlan`, `verifyPlanData`, `verifyModel`, `checkInput`,
215
+ `checkWorkbookModelDescription`, and `checkWorkbookReadbackProof` return frozen validation verdicts.
215
216
  - `workbookJsonSchemas`, `workbookJsonSchemaHashes`, and `fixtures/` publish
216
- checked model, plan, runtime-requirements, command, run-result, and readback artifacts
217
- for non-TypeScript consumers.
217
+ checked model, plan, runtime-requirements, command, run-result, and readback artifacts.
218
+ - Schemas cover transport shape and stay in parity for shape-enforceable
219
+ constraints such as row predicates, destructive confirmation, and command
220
+ receipt proof. Workbook-math limits such as `scope.maxTouchedCells` are
221
+ enforced by `checkWorkbookCommandBundle`.
218
222
 
219
223
  Public validators read own data properties and reject malformed, sparse,
220
224
  accessor-backed, or custom-prototype payloads before hidden consumer code can
@@ -224,8 +228,6 @@ run. Public results are frozen before they cross the package boundary.
224
228
 
225
229
  Runtimes can expose workbook extensions with the same data-first contract:
226
230
 
227
- - `defineWorkbookFeaturePlugin`
228
- - `checkWorkbookFeaturePlugin`
229
231
  - `checkWorkbookCommandRequest`
230
232
  - `checkWorkbookCommandBundle`
231
233
  - `workbookCommandResultForReceipts`
@@ -233,26 +235,25 @@ Runtimes can expose workbook extensions with the same data-first contract:
233
235
  - `checkWorkbookCommandResultForBundle`
234
236
  - `checkWorkbookCommandReceipt`
235
237
 
236
- Import these from `@bilig/workbook/features` when building runtime-owned
237
- extensions. Ordinary models should prefer `writeFormula`, `writeValue`,
238
- `format`, `clear`, and checks.
239
-
240
- ## Low-Level Ops
241
-
242
- The existing workbook operation language remains public:
243
-
244
- - `WorkbookOp`
245
- - `WorkbookTxn`
246
- - `EngineOp`
247
- - `EngineOpBatch`
248
- - guards such as `isEngineOpBatch`
249
-
250
- Most models should not start there. Use `workbook.addOp(op, { target, message })`
251
- inside an action only when the generic action helpers cannot express the
252
- required workbook intent.
238
+ Generic command request, bundle, result, and receipt validators are available on
239
+ the root path because agents may need to inspect runtime handoff proof. Runtime
240
+ plugin registration, projection interceptors, and UI contribution metadata live
241
+ only under `@bilig/workbook/features`. Ordinary models should prefer
242
+ `writeFormula`, `writeValue`, `format`, `clear`, and checks.
243
+ Format receipts use the same semantic proof path for single cells and ranges:
244
+ each requested style or number-format component must cover every resolved cell.
245
+ Low-level `WorkbookOp`, `WorkbookTxn`, `EngineOp`, `EngineOpBatch`, and related
246
+ guards stay public for runtimes that need them. Most models should start with
247
+ `writeFormula`, `writeValue`, `format`, `clear`, and checks instead.
253
248
 
254
249
  ## Example
255
250
 
256
251
  See [examples/workbook-agent-model](../../examples/workbook-agent-model) for a
257
252
  generic model that plans, verifies, describes, transports, runs, and prints proof
258
- without depending on a hardcoded business model.
253
+ without depending on a hardcoded business model:
254
+
255
+ ```sh
256
+ pnpm --dir examples/workbook-agent-model install
257
+ pnpm --dir examples/workbook-agent-model start
258
+ pnpm --dir examples/workbook-agent-model run typecheck
259
+ ```
package/dist/check.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { isLiteralInput } from '@bilig/protocol';
2
2
  import { isWorkbookRef } from './find.js';
3
3
  import { formula } from './formula.js';
4
- import { isObjectRecord, optionalDataProperty, requiredDataProperty } from './data-properties.js';
4
+ import { isObjectRecord, isPlainArray, optionalDataProperty, requiredDataProperty } from './data-properties.js';
5
5
  export const builtInWorkbookCheckKinds = Object.freeze([
6
6
  'exists',
7
7
  'noFormulaErrors',
@@ -40,6 +40,9 @@ function dataArrayValues(value, label) {
40
40
  if (!Array.isArray(value)) {
41
41
  throw new Error(`${label} must be an array`);
42
42
  }
43
+ if (!isPlainArray(value)) {
44
+ throw new Error(`${label} must be a plain array`);
45
+ }
43
46
  const entries = [];
44
47
  for (let index = 0; index < value.length; index += 1) {
45
48
  const descriptor = Object.getOwnPropertyDescriptor(value, String(index));
package/dist/check.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../src/check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../src/check.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { formatAddress, parseCellAddress } from '@bilig/formula';
2
2
  import { workbookCommandResultFor } from './command-result.js';
3
+ import { isPlainArray } from './data-properties.js';
3
4
  import { isWorkbookOp } from './guards.js';
4
5
  import { checkWorkbookCommandRequest, normalizeWorkbookCommandRequest } from './features.js';
5
6
  export const workbookCommandBundleCommandKinds = Object.freeze([
@@ -28,6 +29,9 @@ export function checkWorkbookCommandBundle(value) {
28
29
  if (!Array.isArray(commands) || commands.length === 0) {
29
30
  issues.push(commandBundleIssue('missing_commands', 'commands', 'Workbook command bundle commands must be a non-empty array'));
30
31
  }
32
+ else if (!isPlainArray(commands)) {
33
+ issues.push(commandBundleIssue('invalid_bundle', 'commands', 'Workbook command bundle commands must be a plain array'));
34
+ }
31
35
  else {
32
36
  pushArrayDataIssues(issues, commands, 'commands', 'Workbook command bundle commands');
33
37
  for (let index = 0; index < commands.length; index += 1) {
@@ -168,6 +172,10 @@ function pushTouchedRangesIssues(issues, value, path) {
168
172
  issues.push(commandBundleIssue('invalid_range', path, 'Workbook command bundle touched ranges must be an array'));
169
173
  return;
170
174
  }
175
+ if (!isPlainArray(value)) {
176
+ issues.push(commandBundleIssue('invalid_range', path, 'Workbook command bundle touched ranges must be a plain array'));
177
+ return;
178
+ }
171
179
  pushArrayDataIssues(issues, value, path, 'Workbook command bundle touched ranges');
172
180
  for (let index = 0; index < value.length; index += 1) {
173
181
  const range = arrayDataValue(value, index);
@@ -256,7 +264,7 @@ function normalizeWorkbookCommandBundleData(value) {
256
264
  if (typeof idempotencyKey !== 'string') {
257
265
  throw new Error('Workbook command bundle idempotencyKey is invalid');
258
266
  }
259
- if (!Array.isArray(commands)) {
267
+ if (!isPlainArray(commands)) {
260
268
  throw new Error('Workbook command bundle commands are invalid');
261
269
  }
262
270
  return Object.freeze({
@@ -307,6 +315,9 @@ function normalizeTouchedRanges(value) {
307
315
  if (!Array.isArray(value)) {
308
316
  return Object.freeze([]);
309
317
  }
318
+ if (!isPlainArray(value)) {
319
+ throw new Error('Workbook command bundle touched ranges are invalid');
320
+ }
310
321
  return Object.freeze(value.map((range, index) => normalizeRange(range, `touchedRanges[${index}]`).range));
311
322
  }
312
323
  function normalizeRange(value, path, label = 'Workbook command bundle') {
@@ -375,7 +386,11 @@ function ownValue(value, key) {
375
386
  return Object.getOwnPropertyDescriptor(value, key)?.value;
376
387
  }
377
388
  function isRecord(value) {
378
- return typeof value === 'object' && value !== null && !Array.isArray(value);
389
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
390
+ return false;
391
+ }
392
+ const prototype = Object.getPrototypeOf(value);
393
+ return prototype === Object.prototype || prototype === null;
379
394
  }
380
395
  function isSafeNonNegativeInteger(value) {
381
396
  return typeof value === 'number' && Number.isSafeInteger(value) && value >= 0;
@@ -437,7 +452,7 @@ function cloneData(value, seen = new WeakMap()) {
437
452
  }
438
453
  return cloned;
439
454
  }
440
- const cloned = Object.create(Object.getPrototypeOf(value));
455
+ const cloned = {};
441
456
  seen.set(value, cloned);
442
457
  Object.entries(Object.getOwnPropertyDescriptors(value)).forEach(([key, descriptor]) => {
443
458
  if (descriptor.enumerable && 'value' in descriptor) {
@@ -1 +1 @@
1
- {"version":3,"file":"command-bundle.js","sourceRoot":"","sources":["../src/command-bundle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-bundle.js","sourceRoot":"","sources":["../src/command-bundle.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { formatAddress, parseCellAddress, parseFormula, serializeFormula } from '@bilig/formula';
2
+ import { buildCellNumberFormatCode } from '@bilig/protocol';
2
3
  import { materializeFormulaLabels } from './formula-usage.js';
3
4
  function concreteSingleCell(target) {
4
5
  if (target.kind !== 'range') {
@@ -56,6 +57,258 @@ function rangeSource(range) {
56
57
  const sheet = quoteSheetName(range.sheetName);
57
58
  return range.startAddress === range.endAddress ? `${sheet}!${range.startAddress}` : `${sheet}!${range.startAddress}:${range.endAddress}`;
58
59
  }
60
+ function cellKey(cell) {
61
+ return `${cell.sheetName}!${cell.address}`;
62
+ }
63
+ function cellSet(cells) {
64
+ return new Set(cells.map(cellKey));
65
+ }
66
+ function coverRangeCells(range, targetCells, coveredCells) {
67
+ const cells = cellsFromRange(range);
68
+ if (cells.length === 0) {
69
+ return false;
70
+ }
71
+ for (const cell of cells) {
72
+ if (!targetCells.has(cellKey(cell))) {
73
+ return false;
74
+ }
75
+ }
76
+ for (const cell of cells) {
77
+ coveredCells.add(cellKey(cell));
78
+ }
79
+ return true;
80
+ }
81
+ function coversEveryTargetCell(targetCells, coveredCells) {
82
+ for (const targetCell of targetCells) {
83
+ if (!coveredCells.has(targetCell)) {
84
+ return false;
85
+ }
86
+ }
87
+ return true;
88
+ }
89
+ function formatSupportCatalog(ops) {
90
+ const styles = new Map();
91
+ const formats = new Map();
92
+ for (const op of ops) {
93
+ if (op.kind === 'upsertCellStyle') {
94
+ styles.set(op.style.id, op.style);
95
+ }
96
+ else if (op.kind === 'upsertCellNumberFormat') {
97
+ formats.set(op.format.id, op.format);
98
+ }
99
+ }
100
+ return { styles, formats };
101
+ }
102
+ function normalizedNumberFormatCode(value) {
103
+ return buildCellNumberFormatCode(value);
104
+ }
105
+ function numberFormatRecordMatches(format, expected) {
106
+ return format !== undefined && normalizedNumberFormatCode(format.code) === normalizedNumberFormatCode(expected);
107
+ }
108
+ function numberFormatClearRecordMatches(format) {
109
+ return (format !== undefined && format.kind === 'general' && normalizedNumberFormatCode(format.code) === normalizedNumberFormatCode('general'));
110
+ }
111
+ function styleFieldMatches(actual, expected) {
112
+ if (expected === undefined) {
113
+ return true;
114
+ }
115
+ return expected === null ? actual === undefined : actual === expected;
116
+ }
117
+ function borderPatchSideMatchesRecord(patch, record) {
118
+ if (patch === undefined) {
119
+ return true;
120
+ }
121
+ if (patch === null || patch.style === undefined || patch.weight === undefined || patch.color === undefined) {
122
+ return record === undefined;
123
+ }
124
+ return record?.style === patch.style && record.weight === patch.weight && record.color === patch.color;
125
+ }
126
+ function fillPatchMatchesRecord(patch, record) {
127
+ if (patch === undefined) {
128
+ return true;
129
+ }
130
+ if (patch === null) {
131
+ return record === undefined;
132
+ }
133
+ return styleFieldMatches(record?.backgroundColor, patch.backgroundColor);
134
+ }
135
+ function fontPatchMatchesRecord(patch, record) {
136
+ if (patch === undefined) {
137
+ return true;
138
+ }
139
+ if (patch === null) {
140
+ return record === undefined;
141
+ }
142
+ return (styleFieldMatches(record?.family, patch.family) &&
143
+ styleFieldMatches(record?.size, patch.size) &&
144
+ styleFieldMatches(record?.bold, patch.bold) &&
145
+ styleFieldMatches(record?.italic, patch.italic) &&
146
+ styleFieldMatches(record?.underline, patch.underline) &&
147
+ styleFieldMatches(record?.color, patch.color));
148
+ }
149
+ function alignmentPatchMatchesRecord(patch, record) {
150
+ if (patch === undefined) {
151
+ return true;
152
+ }
153
+ if (patch === null) {
154
+ return record === undefined;
155
+ }
156
+ return (styleFieldMatches(record?.horizontal, patch.horizontal) &&
157
+ styleFieldMatches(record?.vertical, patch.vertical) &&
158
+ styleFieldMatches(record?.wrap, patch.wrap) &&
159
+ styleFieldMatches(record?.indent, patch.indent) &&
160
+ styleFieldMatches(record?.shrinkToFit, patch.shrinkToFit) &&
161
+ styleFieldMatches(record?.readingOrder, patch.readingOrder) &&
162
+ styleFieldMatches(record?.textRotation, patch.textRotation) &&
163
+ styleFieldMatches(record?.justifyLastLine, patch.justifyLastLine));
164
+ }
165
+ function bordersPatchMatchesRecord(patch, record) {
166
+ if (patch === undefined) {
167
+ return true;
168
+ }
169
+ if (patch === null) {
170
+ return record === undefined;
171
+ }
172
+ return (borderPatchSideMatchesRecord(patch.top, record?.top) &&
173
+ borderPatchSideMatchesRecord(patch.right, record?.right) &&
174
+ borderPatchSideMatchesRecord(patch.bottom, record?.bottom) &&
175
+ borderPatchSideMatchesRecord(patch.left, record?.left));
176
+ }
177
+ function stylePatchMatchesRecord(patch, record) {
178
+ return (fillPatchMatchesRecord(patch.fill, record.fill) &&
179
+ fontPatchMatchesRecord(patch.font, record.font) &&
180
+ alignmentPatchMatchesRecord(patch.alignment, record.alignment) &&
181
+ bordersPatchMatchesRecord(patch.borders, record.borders));
182
+ }
183
+ function hasKnownDataKey(value, key) {
184
+ return Object.getOwnPropertyDescriptor(value, key) !== undefined;
185
+ }
186
+ function sectionPatchNeedsRecord(value, keys) {
187
+ if (value === undefined) {
188
+ return false;
189
+ }
190
+ if (value === null) {
191
+ return true;
192
+ }
193
+ return keys.some((key) => hasKnownDataKey(value, key));
194
+ }
195
+ function borderPatchSideNeedsRecord(patch) {
196
+ return sectionPatchNeedsRecord(patch, ['style', 'weight', 'color']);
197
+ }
198
+ function stylePatchNeedsRecord(patch) {
199
+ return (sectionPatchNeedsRecord(patch.fill, ['backgroundColor']) ||
200
+ sectionPatchNeedsRecord(patch.font, ['family', 'size', 'bold', 'italic', 'underline', 'color']) ||
201
+ sectionPatchNeedsRecord(patch.alignment, [
202
+ 'horizontal',
203
+ 'vertical',
204
+ 'wrap',
205
+ 'indent',
206
+ 'shrinkToFit',
207
+ 'readingOrder',
208
+ 'textRotation',
209
+ 'justifyLastLine',
210
+ ]) ||
211
+ patch.borders === null ||
212
+ borderPatchSideNeedsRecord(patch.borders?.top) ||
213
+ borderPatchSideNeedsRecord(patch.borders?.right) ||
214
+ borderPatchSideNeedsRecord(patch.borders?.bottom) ||
215
+ borderPatchSideNeedsRecord(patch.borders?.left));
216
+ }
217
+ function styleRangeMatchesExpected(command, op, catalog, usedStyleIds) {
218
+ if (command.style === undefined) {
219
+ return false;
220
+ }
221
+ const style = catalog.styles.get(op.styleId);
222
+ if (style === undefined) {
223
+ return !stylePatchNeedsRecord(command.style);
224
+ }
225
+ if (!stylePatchMatchesRecord(command.style, style)) {
226
+ return false;
227
+ }
228
+ usedStyleIds.add(op.styleId);
229
+ return true;
230
+ }
231
+ function formatRangeMatchesExpected(command, op, catalog, usedFormatIds) {
232
+ if (command.numberFormat === undefined) {
233
+ return false;
234
+ }
235
+ if (command.numberFormat === null) {
236
+ if (!numberFormatClearRecordMatches(catalog.formats.get(op.formatId))) {
237
+ return false;
238
+ }
239
+ usedFormatIds.add(op.formatId);
240
+ return true;
241
+ }
242
+ if (!numberFormatRecordMatches(catalog.formats.get(op.formatId), command.numberFormat)) {
243
+ return false;
244
+ }
245
+ usedFormatIds.add(op.formatId);
246
+ return true;
247
+ }
248
+ function everySupportOpWasUsed(catalog, usedStyleIds, usedFormatIds) {
249
+ for (const id of catalog.styles.keys()) {
250
+ if (!usedStyleIds.has(id)) {
251
+ return false;
252
+ }
253
+ }
254
+ for (const id of catalog.formats.keys()) {
255
+ if (!usedFormatIds.has(id)) {
256
+ return false;
257
+ }
258
+ }
259
+ return true;
260
+ }
261
+ function formatOpBindsToTarget(command, op, targetCells, catalog, usedStyleIds, usedFormatIds, coveredStyleCells, coveredNumberFormatCells) {
262
+ if (op.kind === 'upsertCellStyle' || op.kind === 'upsertCellNumberFormat') {
263
+ return { binding: 'support' };
264
+ }
265
+ if (op.kind === 'setCellFormat') {
266
+ const key = `${op.sheetName}!${op.address}`;
267
+ if (command.numberFormat === undefined || !targetCells.has(key) || op.format !== command.numberFormat) {
268
+ return null;
269
+ }
270
+ coveredNumberFormatCells.add(key);
271
+ return { binding: 'target' };
272
+ }
273
+ if (op.kind === 'setFormatRange') {
274
+ if (!formatRangeMatchesExpected(command, op, catalog, usedFormatIds) ||
275
+ !coverRangeCells(op.range, targetCells, coveredNumberFormatCells)) {
276
+ return null;
277
+ }
278
+ return { binding: 'target' };
279
+ }
280
+ if (op.kind === 'setStyleRange') {
281
+ if (!styleRangeMatchesExpected(command, op, catalog, usedStyleIds) || !coverRangeCells(op.range, targetCells, coveredStyleCells)) {
282
+ return null;
283
+ }
284
+ return { binding: 'target' };
285
+ }
286
+ return null;
287
+ }
288
+ function formatOpsMatchExpected(command, ops, resolvedRefs) {
289
+ if (command.style === undefined && command.numberFormat === undefined) {
290
+ return ops.length === 0;
291
+ }
292
+ const targetCells = concreteCellsFromResolvedRefs(resolvedRefs);
293
+ if (targetCells === null || targetCells.length === 0) {
294
+ return false;
295
+ }
296
+ const targetCellSet = cellSet(targetCells);
297
+ const catalog = formatSupportCatalog(ops);
298
+ const usedStyleIds = new Set();
299
+ const usedFormatIds = new Set();
300
+ const coveredStyleCells = new Set();
301
+ const coveredNumberFormatCells = new Set();
302
+ for (const op of ops) {
303
+ const binding = formatOpBindsToTarget(command, op, targetCellSet, catalog, usedStyleIds, usedFormatIds, coveredStyleCells, coveredNumberFormatCells);
304
+ if (binding === null) {
305
+ return false;
306
+ }
307
+ }
308
+ return ((command.style === undefined || coversEveryTargetCell(targetCellSet, coveredStyleCells)) &&
309
+ (command.numberFormat === undefined || coversEveryTargetCell(targetCellSet, coveredNumberFormatCells)) &&
310
+ everySupportOpWasUsed(catalog, usedStyleIds, usedFormatIds));
311
+ }
59
312
  function workbookRefKey(ref) {
60
313
  return `${ref.kind}:${ref.id}`;
61
314
  }
@@ -189,7 +442,7 @@ export function expectedConcreteCommandOp(command) {
189
442
  address: target.address,
190
443
  };
191
444
  case 'format':
192
- if (command.numberFormat === undefined) {
445
+ if (command.numberFormat === undefined || command.style !== undefined) {
193
446
  return null;
194
447
  }
195
448
  return {
@@ -254,6 +507,9 @@ export function commandOpsMatchExpected(command, ops, formulaLabels = [], resolv
254
507
  formulasMatchExpected(expectedFormula, actual.formula));
255
508
  }));
256
509
  }
510
+ if (command.kind === 'format') {
511
+ return formatOpsMatchExpected(command, ops, resolvedRefs);
512
+ }
257
513
  const expected = expectedCommandOps(command);
258
514
  if (expected === null) {
259
515
  const concreteCells = concreteCellsFromResolvedRefs(resolvedRefs);
@@ -278,9 +534,6 @@ export function commandOpsMatchExpected(command, ops, formulaLabels = [], resolv
278
534
  return (actual !== undefined && actual.kind === 'clearCell' && actual.sheetName === cell.sheetName && actual.address === cell.address);
279
535
  }));
280
536
  }
281
- if (command.kind === 'format') {
282
- return (command.style !== undefined || command.numberFormat !== undefined) && ops.length > 0;
283
- }
284
537
  return false;
285
538
  }
286
539
  return workbookOpsMatch(expected.ops, ops);