@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
@@ -0,0 +1,330 @@
1
+ import { isLiteralInput } from '@bilig/protocol';
2
+ import { isWorkbookOp } from './guards.js';
3
+ import { isCellStylePatchValue, stylePatchHasRequestedField } from './model-action-validation.js';
4
+ function issue(code, path, message) {
5
+ return {
6
+ code,
7
+ path,
8
+ message,
9
+ };
10
+ }
11
+ function ownValue(value, key) {
12
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
13
+ return descriptor !== undefined && 'value' in descriptor ? descriptor.value : undefined;
14
+ }
15
+ function isPlainObject(value) {
16
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
17
+ return false;
18
+ }
19
+ const prototype = Object.getPrototypeOf(value);
20
+ return prototype === Object.prototype || prototype === null;
21
+ }
22
+ function pushUnexpectedFields(issues, value, path, expected) {
23
+ for (const key of Reflect.ownKeys(value)) {
24
+ if (typeof key !== 'string' || !expected.has(key)) {
25
+ issues.push(issue('unexpected_field', `${path}.${String(key)}`, `Workbook run result description ${path} must not include ${String(key)}`));
26
+ }
27
+ }
28
+ }
29
+ function pushJsonValueIssues(issues, value, path, seen = new WeakSet()) {
30
+ if (value === null || typeof value === 'string' || typeof value === 'boolean') {
31
+ return;
32
+ }
33
+ if (typeof value === 'number') {
34
+ if (!Number.isFinite(value)) {
35
+ issues.push(issue('invalid_field', path, `Workbook run result description ${path} must be JSON-safe`));
36
+ }
37
+ return;
38
+ }
39
+ if (typeof value !== 'object') {
40
+ issues.push(issue('invalid_field', path, `Workbook run result description ${path} must be JSON-safe`));
41
+ return;
42
+ }
43
+ if (seen.has(value)) {
44
+ issues.push(issue('invalid_field', path, `Workbook run result description ${path} must not be circular`));
45
+ return;
46
+ }
47
+ seen.add(value);
48
+ if (Array.isArray(value)) {
49
+ const descriptors = Object.getOwnPropertyDescriptors(value);
50
+ for (let index = 0; index < value.length; index += 1) {
51
+ const entryPath = `${path}[${index}]`;
52
+ const descriptor = descriptors[String(index)];
53
+ if (descriptor === undefined || !descriptor.enumerable || !('value' in descriptor)) {
54
+ issues.push(issue('invalid_field', entryPath, `Workbook run result description ${entryPath} must be a data property`));
55
+ continue;
56
+ }
57
+ pushJsonValueIssues(issues, descriptor.value, entryPath, seen);
58
+ }
59
+ return;
60
+ }
61
+ if (!isPlainObject(value)) {
62
+ issues.push(issue('invalid_type', path, `Workbook run result description ${path} must be a plain object`));
63
+ return;
64
+ }
65
+ for (const [key, descriptor] of Object.entries(Object.getOwnPropertyDescriptors(value))) {
66
+ if (!descriptor.enumerable) {
67
+ continue;
68
+ }
69
+ const entryPath = `${path}.${key}`;
70
+ if (!('value' in descriptor)) {
71
+ issues.push(issue('invalid_field', entryPath, `Workbook run result description ${entryPath} must be a data property`));
72
+ continue;
73
+ }
74
+ pushJsonValueIssues(issues, descriptor.value, entryPath, seen);
75
+ }
76
+ }
77
+ function pushRequiredTrimmedString(issues, value, path, key) {
78
+ const fieldPath = `${path}.${key}`;
79
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
80
+ if (descriptor === undefined) {
81
+ issues.push(issue('missing_field', fieldPath, `Workbook run result description ${fieldPath} is required`));
82
+ return;
83
+ }
84
+ if (!('value' in descriptor)) {
85
+ issues.push(issue('invalid_field', fieldPath, `Workbook run result description ${fieldPath} must be a data property`));
86
+ return;
87
+ }
88
+ if (typeof descriptor.value !== 'string') {
89
+ issues.push(issue('invalid_field', fieldPath, `Workbook run result description ${fieldPath} must be a string`));
90
+ return;
91
+ }
92
+ if (descriptor.value.trim() === '' || descriptor.value.trim() !== descriptor.value) {
93
+ issues.push(issue('invalid_field', fieldPath, `Workbook run result description ${fieldPath} must not be empty or have leading or trailing whitespace`));
94
+ }
95
+ }
96
+ function pushMatchingString(issues, value, path, key, expected, expectedLabel) {
97
+ const actual = ownValue(value, key);
98
+ if (typeof actual === 'string' && typeof expected === 'string' && actual !== expected) {
99
+ issues.push(issue('invalid_field', `${path}.${key}`, `Workbook run result description ${path}.${key} must match ${expectedLabel}`));
100
+ }
101
+ }
102
+ function pushOptionalString(issues, value, path, key) {
103
+ const fieldPath = `${path}.${key}`;
104
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
105
+ if (descriptor === undefined) {
106
+ return;
107
+ }
108
+ if (!('value' in descriptor)) {
109
+ issues.push(issue('invalid_field', fieldPath, `Workbook run result description ${fieldPath} must be a data property`));
110
+ return;
111
+ }
112
+ if (typeof descriptor.value !== 'string') {
113
+ issues.push(issue('invalid_field', fieldPath, `Workbook run result description ${fieldPath} must be a string`));
114
+ }
115
+ }
116
+ function pushNoopOpsIssues(issues, entry, path, key) {
117
+ const ops = ownValue(entry, key);
118
+ if (Array.isArray(ops) && ops.length > 0) {
119
+ issues.push(issue('invalid_field', `${path}.${key}`, `Workbook run result description ${path}.${key} must be empty when noop is present`));
120
+ }
121
+ }
122
+ function pushOpEffectIssues(issues, effect, path) {
123
+ let opKindValue;
124
+ const opKind = Object.getOwnPropertyDescriptor(effect, 'opKind');
125
+ if (opKind === undefined) {
126
+ issues.push(issue('missing_field', `${path}.opKind`, `Workbook run result description ${path}.opKind is required`));
127
+ }
128
+ else if (!('value' in opKind)) {
129
+ issues.push(issue('invalid_field', `${path}.opKind`, `Workbook run result description ${path}.opKind must be a data property`));
130
+ }
131
+ else if (typeof opKind.value !== 'string' || opKind.value.trim() === '' || opKind.value.trim() !== opKind.value) {
132
+ issues.push(issue('invalid_field', `${path}.opKind`, `Workbook run result description ${path}.opKind must not be empty or have leading or trailing whitespace`));
133
+ }
134
+ else {
135
+ opKindValue = opKind.value;
136
+ }
137
+ const op = Object.getOwnPropertyDescriptor(effect, 'op');
138
+ if (op === undefined) {
139
+ issues.push(issue('missing_field', `${path}.op`, `Workbook run result description ${path}.op is required`));
140
+ }
141
+ else if (!('value' in op)) {
142
+ issues.push(issue('invalid_field', `${path}.op`, `Workbook run result description ${path}.op must be a data property`));
143
+ }
144
+ else if (!isPlainObject(op.value)) {
145
+ issues.push(issue('invalid_type', `${path}.op`, `Workbook run result description ${path}.op must be a plain object`));
146
+ }
147
+ else if (!isWorkbookOp(op.value)) {
148
+ issues.push(issue('invalid_field', `${path}.op`, `Workbook run result description ${path}.op must be a valid WorkbookOp`));
149
+ }
150
+ else if (typeof opKindValue === 'string' && ownValue(op.value, 'kind') !== opKindValue) {
151
+ issues.push(issue('invalid_field', `${path}.opKind`, `Workbook run result description ${path}.opKind must match effect.op.kind`));
152
+ }
153
+ }
154
+ function pushRequiredEffectDataProperty(issues, effect, path, key) {
155
+ const fieldPath = `${path}.${key}`;
156
+ const descriptor = Object.getOwnPropertyDescriptor(effect, key);
157
+ if (descriptor === undefined) {
158
+ issues.push(issue('missing_field', fieldPath, `Workbook run result description ${fieldPath} is required`));
159
+ return { status: 'missing' };
160
+ }
161
+ if (!('value' in descriptor)) {
162
+ issues.push(issue('invalid_field', fieldPath, `Workbook run result description ${fieldPath} must be a data property`));
163
+ return { status: 'invalid' };
164
+ }
165
+ return { status: 'present', value: descriptor.value };
166
+ }
167
+ function pushWriteValueEffectIssues(issues, effect, path) {
168
+ const value = pushRequiredEffectDataProperty(issues, effect, path, 'value');
169
+ if (value.status === 'present' && !isLiteralInput(value.value)) {
170
+ issues.push(issue('invalid_field', `${path}.value`, `Workbook run result description ${path}.value must be a finite JSON literal`));
171
+ }
172
+ }
173
+ function pushWriteFormulaEffectIssues(issues, effect, path) {
174
+ const formula = pushRequiredEffectDataProperty(issues, effect, path, 'formula');
175
+ if (formula.status === 'present' && (typeof formula.value !== 'string' || formula.value === '')) {
176
+ issues.push(issue('invalid_field', `${path}.formula`, `Workbook run result description ${path}.formula must be a non-empty string`));
177
+ }
178
+ }
179
+ function pushClearEffectIssues(issues, effect, path) {
180
+ const cleared = pushRequiredEffectDataProperty(issues, effect, path, 'cleared');
181
+ if (cleared.status === 'present' && cleared.value !== true) {
182
+ issues.push(issue('invalid_field', `${path}.cleared`, `Workbook run result description ${path}.cleared must be true`));
183
+ }
184
+ }
185
+ function pushFormatEffectIssues(issues, effect, path) {
186
+ const style = Object.getOwnPropertyDescriptor(effect, 'style');
187
+ const numberFormat = Object.getOwnPropertyDescriptor(effect, 'numberFormat');
188
+ if (style === undefined && numberFormat === undefined) {
189
+ issues.push(issue('missing_field', path, `Workbook run result description ${path} must include style or numberFormat`));
190
+ return;
191
+ }
192
+ if (style !== undefined) {
193
+ if (!('value' in style)) {
194
+ issues.push(issue('invalid_field', `${path}.style`, `Workbook run result description ${path}.style must be a data property`));
195
+ }
196
+ else if (!isPlainObject(style.value)) {
197
+ issues.push(issue('invalid_type', `${path}.style`, `Workbook run result description ${path}.style must be a plain object`));
198
+ }
199
+ else if (!isCellStylePatchValue(style.value)) {
200
+ issues.push(issue('invalid_field', `${path}.style`, `Workbook run result description ${path}.style must be a valid cell style patch`));
201
+ }
202
+ else if (!stylePatchHasRequestedField(style.value)) {
203
+ issues.push(issue('invalid_field', `${path}.style`, `Workbook run result description ${path}.style must request at least one style field`));
204
+ }
205
+ }
206
+ if (numberFormat !== undefined) {
207
+ if (!('value' in numberFormat)) {
208
+ issues.push(issue('invalid_field', `${path}.numberFormat`, `Workbook run result description ${path}.numberFormat must be a data property`));
209
+ }
210
+ else if (numberFormat.value !== null && typeof numberFormat.value !== 'string') {
211
+ issues.push(issue('invalid_field', `${path}.numberFormat`, `Workbook run result description ${path}.numberFormat must be a string or null`));
212
+ }
213
+ }
214
+ }
215
+ function pushEffectIssues(issues, effect, path, expectedCommandKind) {
216
+ const kind = Object.getOwnPropertyDescriptor(effect, 'kind');
217
+ if (kind === undefined) {
218
+ issues.push(issue('missing_field', `${path}.kind`, `Workbook run result description ${path}.kind is required`));
219
+ return;
220
+ }
221
+ if (!('value' in kind)) {
222
+ issues.push(issue('invalid_field', `${path}.kind`, `Workbook run result description ${path}.kind must be a data property`));
223
+ return;
224
+ }
225
+ if (typeof kind.value !== 'string') {
226
+ issues.push(issue('invalid_field', `${path}.kind`, `Workbook run result description ${path}.kind must be a string`));
227
+ return;
228
+ }
229
+ if (typeof expectedCommandKind === 'string' && kind.value !== expectedCommandKind) {
230
+ issues.push(issue('invalid_field', `${path}.kind`, `Workbook run result description ${path}.kind must match receipt commandKind`));
231
+ }
232
+ if (kind.value !== expectedCommandKind) {
233
+ return;
234
+ }
235
+ switch (expectedCommandKind) {
236
+ case 'writeValue':
237
+ pushWriteValueEffectIssues(issues, effect, path);
238
+ return;
239
+ case 'writeFormula':
240
+ pushWriteFormulaEffectIssues(issues, effect, path);
241
+ return;
242
+ case 'clear':
243
+ pushClearEffectIssues(issues, effect, path);
244
+ return;
245
+ case 'format':
246
+ pushFormatEffectIssues(issues, effect, path);
247
+ return;
248
+ case 'op':
249
+ pushOpEffectIssues(issues, effect, path);
250
+ return;
251
+ }
252
+ }
253
+ function pushNoopProofIssues(issues, proof, path, expected) {
254
+ pushRequiredTrimmedString(issues, proof, path, 'source');
255
+ pushRequiredTrimmedString(issues, proof, path, 'evidence');
256
+ pushRequiredTrimmedString(issues, proof, path, 'commandKind');
257
+ pushRequiredTrimmedString(issues, proof, path, 'commandDigest');
258
+ pushMatchingString(issues, proof, path, 'commandKind', expected.commandKind, 'receipt commandKind');
259
+ pushMatchingString(issues, proof, path, 'commandDigest', expected.commandDigest, 'receipt commandDigest');
260
+ const opCount = Object.getOwnPropertyDescriptor(proof, 'opCount');
261
+ if (opCount === undefined) {
262
+ issues.push(issue('missing_field', `${path}.opCount`, `Workbook run result description ${path}.opCount is required`));
263
+ }
264
+ else if (!('value' in opCount)) {
265
+ issues.push(issue('invalid_field', `${path}.opCount`, `Workbook run result description ${path}.opCount must be a data property`));
266
+ }
267
+ else if (opCount.value !== 0) {
268
+ issues.push(issue('invalid_field', `${path}.opCount`, `Workbook run result description ${path}.opCount must be 0`));
269
+ }
270
+ const effect = Object.getOwnPropertyDescriptor(proof, 'effect');
271
+ if (effect === undefined) {
272
+ issues.push(issue('missing_field', `${path}.effect`, `Workbook run result description ${path}.effect is required`));
273
+ return;
274
+ }
275
+ if (!('value' in effect)) {
276
+ issues.push(issue('invalid_field', `${path}.effect`, `Workbook run result description ${path}.effect must be a data property`));
277
+ return;
278
+ }
279
+ if (!isPlainObject(effect.value)) {
280
+ issues.push(issue('invalid_type', `${path}.effect`, `Workbook run result description ${path}.effect must be a plain object`));
281
+ return;
282
+ }
283
+ pushEffectIssues(issues, effect.value, `${path}.effect`, expected.commandKind);
284
+ pushJsonValueIssues(issues, effect.value, `${path}.effect`);
285
+ }
286
+ function pushNoopIssues(issues, value, path, expected) {
287
+ if (!isPlainObject(value)) {
288
+ issues.push(issue('invalid_type', path, `Workbook run result description ${path} must be a plain object`));
289
+ return;
290
+ }
291
+ pushUnexpectedFields(issues, value, path, new Set(['reason', 'message', 'proof']));
292
+ const reason = Object.getOwnPropertyDescriptor(value, 'reason');
293
+ if (reason === undefined) {
294
+ issues.push(issue('missing_field', `${path}.reason`, `Workbook run result description ${path}.reason is required`));
295
+ }
296
+ else if (!('value' in reason)) {
297
+ issues.push(issue('invalid_field', `${path}.reason`, `Workbook run result description ${path}.reason must be a data property`));
298
+ }
299
+ else if (reason.value !== 'already_satisfied') {
300
+ issues.push(issue('invalid_field', `${path}.reason`, `Workbook run result description ${path}.reason must be already_satisfied`));
301
+ }
302
+ pushOptionalString(issues, value, path, 'message');
303
+ const proof = Object.getOwnPropertyDescriptor(value, 'proof');
304
+ if (proof === undefined) {
305
+ issues.push(issue('missing_field', `${path}.proof`, `Workbook run result description ${path}.proof is required`));
306
+ return;
307
+ }
308
+ if (!('value' in proof)) {
309
+ issues.push(issue('invalid_field', `${path}.proof`, `Workbook run result description ${path}.proof must be a data property`));
310
+ return;
311
+ }
312
+ if (!isPlainObject(proof.value)) {
313
+ issues.push(issue('invalid_type', `${path}.proof`, `Workbook run result description ${path}.proof must be a plain object`));
314
+ return;
315
+ }
316
+ pushNoopProofIssues(issues, proof.value, `${path}.proof`, expected);
317
+ }
318
+ export function pushCommandReceiptNoopDescriptionIssues(issues, entry, path) {
319
+ const noop = ownValue(entry, 'noop');
320
+ if (noop === undefined) {
321
+ return;
322
+ }
323
+ pushNoopIssues(issues, noop, `${path}.noop`, {
324
+ commandKind: ownValue(entry, 'commandKind'),
325
+ commandDigest: ownValue(entry, 'commandDigest'),
326
+ });
327
+ pushNoopOpsIssues(issues, entry, path, 'previewOps');
328
+ pushNoopOpsIssues(issues, entry, path, 'appliedOps');
329
+ }
330
+ //# sourceMappingURL=run-description-noop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-description-noop.js","sourceRoot":"","sources":["../src/run-description-noop.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { isWorkbookRunErrorCode } from './result.js';
2
+ import { pushCommandReceiptNoopDescriptionIssues } from './run-description-noop.js';
2
3
  function runResultDescriptionIssue(code, path, message) {
3
4
  return {
4
5
  code,
@@ -200,6 +201,25 @@ function pushRequiredStringFieldIssue(issues, value, path, key) {
200
201
  issues.push(runResultDescriptionIssue('invalid_field', fieldPath, `Workbook run result description ${fieldPath} must be a string`));
201
202
  }
202
203
  }
204
+ function pushRequiredExactStringFieldIssue(issues, value, path, key) {
205
+ const fieldPath = `${path}.${key}`;
206
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
207
+ if (descriptor === undefined) {
208
+ issues.push(runResultDescriptionIssue('missing_field', fieldPath, `Workbook run result description ${fieldPath} is required`));
209
+ return;
210
+ }
211
+ if (!('value' in descriptor)) {
212
+ issues.push(runResultDescriptionIssue('invalid_field', fieldPath, `Workbook run result description ${fieldPath} must be a data property`));
213
+ return;
214
+ }
215
+ if (typeof descriptor.value !== 'string') {
216
+ issues.push(runResultDescriptionIssue('invalid_field', fieldPath, `Workbook run result description ${fieldPath} must be a string`));
217
+ return;
218
+ }
219
+ if (descriptor.value.trim() === '' || descriptor.value.trim() !== descriptor.value) {
220
+ issues.push(runResultDescriptionIssue('invalid_field', fieldPath, `Workbook run result description ${fieldPath} must not be empty or have leading or trailing whitespace`));
221
+ }
222
+ }
203
223
  function pushOptionalStringFieldIssue(issues, value, path, key) {
204
224
  const fieldPath = `${path}.${key}`;
205
225
  const descriptor = Object.getOwnPropertyDescriptor(value, key);
@@ -329,12 +349,13 @@ function pushUnverifiedDescriptionIssues(issues, entry, path) {
329
349
  pushRequiredStringFieldIssue(issues, entry, path, 'message');
330
350
  }
331
351
  function pushCommandReceiptDescriptionIssues(issues, entry, path) {
332
- pushUnexpectedObjectFields(issues, entry, path, new Set(['commandIndex', 'commandKind', 'commandDigest', 'previewOps', 'appliedOps', 'resolvedRefs', 'formulaLabels', 'proof']));
352
+ pushUnexpectedObjectFields(issues, entry, path, new Set(['commandIndex', 'commandKind', 'commandDigest', 'previewOps', 'appliedOps', 'noop', 'resolvedRefs', 'formulaLabels', 'proof']));
333
353
  pushRequiredSafeNonNegativeIntegerFieldIssue(issues, entry, path, 'commandIndex');
334
354
  pushRequiredStringFieldIssue(issues, entry, path, 'commandKind');
335
355
  pushRequiredStringFieldIssue(issues, entry, path, 'commandDigest');
336
356
  pushRequiredJsonArrayFieldIssue(issues, entry, path, 'previewOps');
337
357
  pushRequiredJsonArrayFieldIssue(issues, entry, path, 'appliedOps');
358
+ pushCommandReceiptNoopDescriptionIssues(issues, entry, path);
338
359
  const resolvedRefs = ownJsonDescriptionValue(entry, 'resolvedRefs');
339
360
  if (resolvedRefs !== undefined) {
340
361
  pushCommandResolvedRefsIssues(issues, resolvedRefs, `${path}.resolvedRefs`);
@@ -428,7 +449,7 @@ function pushUndoDescriptionIssues(issues, value) {
428
449
  return;
429
450
  }
430
451
  pushUnexpectedObjectFields(issues, value, 'undo', new Set(['id', 'ops']));
431
- pushRequiredStringFieldIssue(issues, value, 'undo', 'id');
452
+ pushRequiredExactStringFieldIssue(issues, value, 'undo', 'id');
432
453
  pushJsonArrayFieldIssue(issues, value, 'undo', 'ops');
433
454
  }
434
455
  function dedupeRunResultDescriptionIssues(issues) {
@@ -1 +1 @@
1
- {"version":3,"file":"run-description.js","sourceRoot":"","sources":["../src/run-description.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-description.js","sourceRoot":"","sources":["../src/run-description.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,19 @@
1
1
  import { toWorkbookRefData } from './find.js';
2
2
  import { normalizeWorkbookActionInput } from './input.js';
3
+ const RUN_OPTION_KEYS = new Set([
4
+ 'strict',
5
+ 'requireApplyProof',
6
+ 'requirePlanId',
7
+ 'requireResolvedRefs',
8
+ 'requireChecks',
9
+ 'requireCheckProof',
10
+ 'requireRevision',
11
+ 'requireNoUnverified',
12
+ 'expectedBaseRevision',
13
+ ]);
14
+ function keyName(key) {
15
+ return typeof key === 'symbol' ? key.toString() : key;
16
+ }
3
17
  class WorkbookRunOptionsError extends Error {
4
18
  path;
5
19
  constructor(path, message) {
@@ -29,7 +43,11 @@ function runErrorAt(code, message, path, issueCode = code) {
29
43
  };
30
44
  }
31
45
  function isRecord(value) {
32
- return typeof value === 'object' && value !== null;
46
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
47
+ return false;
48
+ }
49
+ const prototype = Object.getPrototypeOf(value);
50
+ return prototype === Object.prototype || prototype === null;
33
51
  }
34
52
  function ownDataDescriptor(value, key) {
35
53
  const descriptor = Object.getOwnPropertyDescriptor(value, key);
@@ -90,6 +108,14 @@ function normalizeOptionalRevisionOption(source) {
90
108
  }
91
109
  return descriptor.value;
92
110
  }
111
+ function assertKnownRunOptions(source) {
112
+ for (const key of Reflect.ownKeys(source)) {
113
+ const name = keyName(key);
114
+ if (typeof key === 'symbol' || !RUN_OPTION_KEYS.has(key)) {
115
+ throw new WorkbookRunOptionsError(`options.${name}`, `Workbook run option ${name} is unknown`);
116
+ }
117
+ }
118
+ }
93
119
  export function normalizeRunOptions(options) {
94
120
  if (options === undefined) {
95
121
  return {
@@ -105,16 +131,18 @@ export function normalizeRunOptions(options) {
105
131
  },
106
132
  };
107
133
  }
108
- if (!isRecord(options) || Array.isArray(options)) {
134
+ if (!isRecord(options)) {
109
135
  return {
110
136
  status: 'invalid',
111
- error: runErrorAt('invalid_run_options', 'Workbook run options must be an object', 'options'),
137
+ error: runErrorAt('invalid_run_options', 'Workbook run options must be a plain object', 'options'),
112
138
  };
113
139
  }
114
140
  try {
141
+ assertKnownRunOptions(options);
115
142
  const strict = normalizeRunOption(options, 'strict');
116
143
  const requireApplyProof = normalizeRunOption(options, 'requireApplyProof');
117
144
  const requirePlanId = normalizeRunOption(options, 'requirePlanId');
145
+ const requireResolvedRefs = normalizeRunOption(options, 'requireResolvedRefs');
118
146
  const requireChecks = normalizeRunOption(options, 'requireChecks');
119
147
  const requireCheckProof = normalizeRunOption(options, 'requireCheckProof');
120
148
  const requireRevision = normalizeRunOption(options, 'requireRevision');
@@ -125,7 +153,7 @@ export function normalizeRunOptions(options) {
125
153
  options: {
126
154
  requireApplyProof: strict || requireApplyProof,
127
155
  requirePlanId: strict || requirePlanId,
128
- requireResolvedRefs: strict,
156
+ requireResolvedRefs: strict || requireResolvedRefs,
129
157
  requireChecks: strict || requireChecks,
130
158
  requireCheckProof: strict || requireCheckProof,
131
159
  requireRevision: strict || requireRevision,
@@ -157,6 +185,9 @@ function singleResolvedRefValueMatches(value, expected) {
157
185
  function resolvedInputsForCommand(command) {
158
186
  return command.kind === 'writeFormula' ? command.inputs : [];
159
187
  }
188
+ function commandNeedsResolvedRefs(command) {
189
+ return command.target !== undefined || resolvedInputsForCommand(command).length > 0;
190
+ }
160
191
  function resolvedRefsHaveExpectedShape(command, resolvedRefs) {
161
192
  if (command.target !== undefined) {
162
193
  if (!isRangeResolvedRefValue(resolvedRefs.target)) {
@@ -215,8 +246,11 @@ export function applyProofErrors(plan, apply, options) {
215
246
  if ((options.requireApplyProof || options.requireNoUnverified) && plan.commands.length > 0 && apply.commandReceipts === undefined) {
216
247
  return [runError('apply_not_verified', 'Adapter did not bind planned commands to materialized ops')];
217
248
  }
249
+ if (options.requireResolvedRefs && apply.commandReceipts === undefined && plan.commands.some(commandNeedsResolvedRefs)) {
250
+ return [runError('apply_not_verified', 'Adapter did not bind planned commands to resolved ref proof')];
251
+ }
218
252
  if (options.requireApplyProof && apply.commandReceipts !== undefined) {
219
- const unprovedReceipt = apply.commandReceipts.find((receipt) => receipt.appliedOps.length === 0);
253
+ const unprovedReceipt = apply.commandReceipts.find((receipt) => receipt.appliedOps.length === 0 && receipt.noop === undefined);
220
254
  if (unprovedReceipt !== undefined) {
221
255
  return [
222
256
  runError('apply_not_verified', `Adapter did not bind command ${String(unprovedReceipt.commandIndex)} to concrete applied ops`),