@bilig/workbook 0.78.0 → 0.86.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 (51) hide show
  1. package/README.md +62 -19
  2. package/dist/check.js +2 -1
  3. package/dist/check.js.map +1 -1
  4. package/dist/command-bundle.js +10 -10
  5. package/dist/command-bundle.js.map +1 -1
  6. package/dist/command-result.js +10 -10
  7. package/dist/command-result.js.map +1 -1
  8. package/dist/describe.js +40 -16
  9. package/dist/describe.js.map +1 -1
  10. package/dist/feature-plugin.js +8 -8
  11. package/dist/feature-plugin.js.map +1 -1
  12. package/dist/features.js +16 -16
  13. package/dist/features.js.map +1 -1
  14. package/dist/find.js +6 -3
  15. package/dist/find.js.map +1 -1
  16. package/dist/formula.d.ts +2 -2
  17. package/dist/formula.js +9 -7
  18. package/dist/formula.js.map +1 -1
  19. package/dist/index.d.ts +1 -0
  20. package/dist/index.js +1 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/input.js +12 -12
  23. package/dist/input.js.map +1 -1
  24. package/dist/model-plan-result.d.ts +14 -0
  25. package/dist/model-plan-result.js +112 -0
  26. package/dist/model-plan-result.js.map +1 -0
  27. package/dist/model.js +8 -84
  28. package/dist/model.js.map +1 -1
  29. package/dist/plan-data.js +8 -8
  30. package/dist/plan-data.js.map +1 -1
  31. package/dist/readback.js +78 -54
  32. package/dist/readback.js.map +1 -1
  33. package/dist/requirements.js +87 -16
  34. package/dist/requirements.js.map +1 -1
  35. package/dist/run-description.d.ts +17 -0
  36. package/dist/run-description.js +493 -0
  37. package/dist/run-description.js.map +1 -0
  38. package/dist/run-failure.d.ts +13 -0
  39. package/dist/run-failure.js +29 -0
  40. package/dist/run-failure.js.map +1 -0
  41. package/dist/run-result.d.ts +2 -0
  42. package/dist/run-result.js +19 -0
  43. package/dist/run-result.js.map +1 -0
  44. package/dist/run-runtime-boundary.d.ts +1 -0
  45. package/dist/run-runtime-boundary.js +27 -0
  46. package/dist/run-runtime-boundary.js.map +1 -1
  47. package/dist/run.js +9 -35
  48. package/dist/run.js.map +1 -1
  49. package/dist/verify.js +36 -33
  50. package/dist/verify.js.map +1 -1
  51. package/package.json +3 -3
@@ -0,0 +1,493 @@
1
+ import { isWorkbookRunErrorCode } from './result.js';
2
+ function runResultDescriptionIssue(code, path, message) {
3
+ return {
4
+ code,
5
+ path,
6
+ message,
7
+ };
8
+ }
9
+ function freezeResultDescriptionData(value, seen = new WeakSet()) {
10
+ if (typeof value !== 'object' || value === null) {
11
+ return value;
12
+ }
13
+ if (seen.has(value)) {
14
+ return value;
15
+ }
16
+ seen.add(value);
17
+ Object.values(Object.getOwnPropertyDescriptors(value)).forEach((descriptor) => {
18
+ if ('value' in descriptor) {
19
+ freezeResultDescriptionData(descriptor.value, seen);
20
+ }
21
+ });
22
+ Object.freeze(value);
23
+ return value;
24
+ }
25
+ function cloneResultDescriptionData(value, seen = new WeakMap()) {
26
+ if (typeof value !== 'object' || value === null) {
27
+ return value;
28
+ }
29
+ const existing = seen.get(value);
30
+ if (existing !== undefined) {
31
+ return existing;
32
+ }
33
+ if (Array.isArray(value)) {
34
+ const cloned = [];
35
+ seen.set(value, cloned);
36
+ const descriptors = Object.getOwnPropertyDescriptors(value);
37
+ for (let index = 0; index < value.length; index += 1) {
38
+ const descriptor = descriptors[String(index)];
39
+ if (descriptor !== undefined && descriptor.enumerable && 'value' in descriptor) {
40
+ cloned.push(cloneResultDescriptionData(descriptor.value, seen));
41
+ }
42
+ }
43
+ return cloned;
44
+ }
45
+ const cloned = {};
46
+ seen.set(value, cloned);
47
+ Object.entries(Object.getOwnPropertyDescriptors(value)).forEach(([key, descriptor]) => {
48
+ if (!descriptor.enumerable || !('value' in descriptor)) {
49
+ return;
50
+ }
51
+ Object.defineProperty(cloned, key, {
52
+ configurable: true,
53
+ enumerable: true,
54
+ value: cloneResultDescriptionData(descriptor.value, seen),
55
+ writable: true,
56
+ });
57
+ });
58
+ return cloned;
59
+ }
60
+ function ownJsonDescriptionValue(value, key) {
61
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
62
+ return descriptor !== undefined && 'value' in descriptor ? descriptor.value : undefined;
63
+ }
64
+ function hasOptionalJsonDescriptionValue(value, key) {
65
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
66
+ if (descriptor === undefined) {
67
+ return true;
68
+ }
69
+ return 'value' in descriptor && isJsonDescriptionValue(descriptor.value);
70
+ }
71
+ function hasJsonDescriptionArray(value, key) {
72
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
73
+ return descriptor !== undefined && 'value' in descriptor && Array.isArray(descriptor.value) && isJsonDescriptionValue(descriptor.value);
74
+ }
75
+ function isJsonDescriptionObject(value) {
76
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
77
+ return false;
78
+ }
79
+ const prototype = Object.getPrototypeOf(value);
80
+ return prototype === Object.prototype || prototype === null;
81
+ }
82
+ function pushJsonDescriptionValueIssues(issues, value, path, seen = new WeakSet()) {
83
+ if (value === null || typeof value === 'string' || typeof value === 'boolean') {
84
+ return;
85
+ }
86
+ if (typeof value === 'number') {
87
+ if (!Number.isFinite(value)) {
88
+ issues.push(runResultDescriptionIssue('invalid_field', path, `Workbook run result description ${path} must be JSON-safe`));
89
+ }
90
+ return;
91
+ }
92
+ if (typeof value !== 'object') {
93
+ issues.push(runResultDescriptionIssue('invalid_field', path, `Workbook run result description ${path} must be JSON-safe`));
94
+ return;
95
+ }
96
+ if (seen.has(value)) {
97
+ issues.push(runResultDescriptionIssue('invalid_field', path, `Workbook run result description ${path} must not be circular`));
98
+ return;
99
+ }
100
+ seen.add(value);
101
+ if (Array.isArray(value)) {
102
+ const descriptors = Object.getOwnPropertyDescriptors(value);
103
+ for (let index = 0; index < value.length; index += 1) {
104
+ const entryPath = `${path}[${index}]`;
105
+ const descriptor = descriptors[String(index)];
106
+ if (descriptor === undefined || !descriptor.enumerable || !('value' in descriptor)) {
107
+ issues.push(runResultDescriptionIssue('invalid_field', entryPath, `Workbook run result description ${entryPath} must be a data property`));
108
+ continue;
109
+ }
110
+ pushJsonDescriptionValueIssues(issues, descriptor.value, entryPath, seen);
111
+ }
112
+ return;
113
+ }
114
+ if (!isJsonDescriptionObject(value)) {
115
+ issues.push(runResultDescriptionIssue('invalid_type', path, `Workbook run result description ${path} must be a plain object`));
116
+ return;
117
+ }
118
+ for (const [key, descriptor] of Object.entries(Object.getOwnPropertyDescriptors(value))) {
119
+ if (!descriptor.enumerable) {
120
+ continue;
121
+ }
122
+ const entryPath = `${path}.${key}`;
123
+ if (!('value' in descriptor)) {
124
+ issues.push(runResultDescriptionIssue('invalid_field', entryPath, `Workbook run result description ${entryPath} must be a data property`));
125
+ continue;
126
+ }
127
+ pushJsonDescriptionValueIssues(issues, descriptor.value, entryPath, seen);
128
+ }
129
+ }
130
+ function isJsonDescriptionValue(value, seen = new WeakSet()) {
131
+ if (value === null || typeof value === 'string' || typeof value === 'boolean') {
132
+ return true;
133
+ }
134
+ if (typeof value === 'number') {
135
+ return Number.isFinite(value);
136
+ }
137
+ if (typeof value !== 'object') {
138
+ return false;
139
+ }
140
+ if (seen.has(value)) {
141
+ return false;
142
+ }
143
+ seen.add(value);
144
+ if (Array.isArray(value)) {
145
+ const descriptors = Object.getOwnPropertyDescriptors(value);
146
+ for (let index = 0; index < value.length; index += 1) {
147
+ const descriptor = descriptors[String(index)];
148
+ if (descriptor === undefined || !descriptor.enumerable || !('value' in descriptor)) {
149
+ return false;
150
+ }
151
+ if (!isJsonDescriptionValue(descriptor.value, seen)) {
152
+ return false;
153
+ }
154
+ }
155
+ return true;
156
+ }
157
+ if (!isJsonDescriptionObject(value)) {
158
+ return false;
159
+ }
160
+ for (const descriptor of Object.values(Object.getOwnPropertyDescriptors(value))) {
161
+ if (!descriptor.enumerable) {
162
+ continue;
163
+ }
164
+ if (!('value' in descriptor) || !isJsonDescriptionValue(descriptor.value, seen)) {
165
+ return false;
166
+ }
167
+ }
168
+ return true;
169
+ }
170
+ function pushUnexpectedRunDescriptionFields(issues, value, allowedFields) {
171
+ for (const key of Object.keys(value)) {
172
+ if (!allowedFields.has(key)) {
173
+ issues.push(runResultDescriptionIssue('unexpected_field', key, `Workbook run result description must not include ${key}`));
174
+ }
175
+ }
176
+ }
177
+ function pushUnexpectedObjectFields(issues, value, path, allowedFields) {
178
+ for (const key of Object.keys(value)) {
179
+ if (!allowedFields.has(key)) {
180
+ issues.push(runResultDescriptionIssue('unexpected_field', `${path}.${key}`, `Workbook run result description ${path} must not include ${key}`));
181
+ }
182
+ }
183
+ }
184
+ function ownRunDescriptionDataValue(value, key) {
185
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
186
+ return descriptor !== undefined && 'value' in descriptor ? descriptor.value : undefined;
187
+ }
188
+ function pushRequiredStringFieldIssue(issues, value, path, key) {
189
+ const fieldPath = `${path}.${key}`;
190
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
191
+ if (descriptor === undefined) {
192
+ issues.push(runResultDescriptionIssue('missing_field', fieldPath, `Workbook run result description ${fieldPath} is required`));
193
+ return;
194
+ }
195
+ if (!('value' in descriptor)) {
196
+ issues.push(runResultDescriptionIssue('invalid_field', fieldPath, `Workbook run result description ${fieldPath} must be a data property`));
197
+ return;
198
+ }
199
+ if (typeof descriptor.value !== 'string') {
200
+ issues.push(runResultDescriptionIssue('invalid_field', fieldPath, `Workbook run result description ${fieldPath} must be a string`));
201
+ }
202
+ }
203
+ function pushOptionalStringFieldIssue(issues, value, path, key) {
204
+ const fieldPath = `${path}.${key}`;
205
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
206
+ if (descriptor === undefined) {
207
+ return;
208
+ }
209
+ if (!('value' in descriptor)) {
210
+ issues.push(runResultDescriptionIssue('invalid_field', fieldPath, `Workbook run result description ${fieldPath} must be a data property`));
211
+ return;
212
+ }
213
+ if (typeof descriptor.value !== 'string') {
214
+ issues.push(runResultDescriptionIssue('invalid_field', fieldPath, `Workbook run result description ${fieldPath} must be a string`));
215
+ }
216
+ }
217
+ function pushFiniteNumberFieldIssue(issues, value, path, key) {
218
+ const fieldPath = `${path}.${key}`;
219
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
220
+ if (descriptor === undefined) {
221
+ return;
222
+ }
223
+ if (!('value' in descriptor)) {
224
+ issues.push(runResultDescriptionIssue('invalid_field', fieldPath, `Workbook run result description ${fieldPath} must be a data property`));
225
+ return;
226
+ }
227
+ if (typeof descriptor.value !== 'number' || !Number.isFinite(descriptor.value)) {
228
+ issues.push(runResultDescriptionIssue('invalid_field', fieldPath, `Workbook run result description ${fieldPath} must be a finite number`));
229
+ }
230
+ }
231
+ function pushRequiredFiniteNumberFieldIssue(issues, value, path, key) {
232
+ const fieldPath = `${path}.${key}`;
233
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
234
+ if (descriptor === undefined) {
235
+ issues.push(runResultDescriptionIssue('missing_field', fieldPath, `Workbook run result description ${fieldPath} is required`));
236
+ return;
237
+ }
238
+ if (!('value' in descriptor)) {
239
+ issues.push(runResultDescriptionIssue('invalid_field', fieldPath, `Workbook run result description ${fieldPath} must be a data property`));
240
+ return;
241
+ }
242
+ if (typeof descriptor.value !== 'number' || !Number.isFinite(descriptor.value)) {
243
+ issues.push(runResultDescriptionIssue('invalid_field', fieldPath, `Workbook run result description ${fieldPath} must be a finite number`));
244
+ }
245
+ }
246
+ function pushRequiredJsonArrayFieldIssue(issues, value, path, key) {
247
+ const fieldPath = `${path}.${key}`;
248
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
249
+ if (descriptor === undefined) {
250
+ issues.push(runResultDescriptionIssue('missing_field', fieldPath, `Workbook run result description ${fieldPath} is required`));
251
+ return;
252
+ }
253
+ if (!('value' in descriptor)) {
254
+ issues.push(runResultDescriptionIssue('invalid_field', fieldPath, `Workbook run result description ${fieldPath} must be a data property`));
255
+ return;
256
+ }
257
+ if (!Array.isArray(descriptor.value)) {
258
+ issues.push(runResultDescriptionIssue('invalid_field', fieldPath, `Workbook run result description ${fieldPath} must be an array`));
259
+ }
260
+ }
261
+ function pushJsonArrayFieldIssue(issues, value, path, key) {
262
+ const fieldPath = `${path}.${key}`;
263
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
264
+ if (descriptor === undefined) {
265
+ return;
266
+ }
267
+ if (!('value' in descriptor)) {
268
+ issues.push(runResultDescriptionIssue('invalid_field', fieldPath, `Workbook run result description ${fieldPath} must be a data property`));
269
+ return;
270
+ }
271
+ if (!Array.isArray(descriptor.value)) {
272
+ issues.push(runResultDescriptionIssue('invalid_field', fieldPath, `Workbook run result description ${fieldPath} must be an array`));
273
+ }
274
+ }
275
+ function pushRunDescriptionEntryIssues(issues, value, path, validator) {
276
+ if (!isJsonDescriptionObject(value)) {
277
+ issues.push(runResultDescriptionIssue('invalid_type', path, `Workbook run result description ${path} must be a plain object`));
278
+ return;
279
+ }
280
+ validator(value, path);
281
+ }
282
+ function pushRunDescriptionArrayEntryIssues(issues, value, key, validator) {
283
+ const array = ownRunDescriptionDataValue(value, key);
284
+ if (!Array.isArray(array)) {
285
+ return;
286
+ }
287
+ const descriptors = Object.getOwnPropertyDescriptors(array);
288
+ for (let index = 0; index < array.length; index += 1) {
289
+ const descriptor = descriptors[String(index)];
290
+ if (descriptor === undefined || !descriptor.enumerable || !('value' in descriptor)) {
291
+ continue;
292
+ }
293
+ pushRunDescriptionEntryIssues(issues, descriptor.value, `${key}[${index}]`, validator);
294
+ }
295
+ }
296
+ function pushChangeDescriptionIssues(issues, entry, path) {
297
+ pushUnexpectedObjectFields(issues, entry, path, new Set(['kind', 'target', 'message']));
298
+ pushRequiredStringFieldIssue(issues, entry, path, 'kind');
299
+ pushRequiredStringFieldIssue(issues, entry, path, 'message');
300
+ }
301
+ function pushCheckDescriptionIssues(issues, entry, path) {
302
+ pushUnexpectedObjectFields(issues, entry, path, new Set(['status', 'kind', 'target', 'refs', 'message', 'expectation', 'proof']));
303
+ const status = ownRunDescriptionDataValue(entry, 'status');
304
+ if (status !== 'planned' && status !== 'passed' && status !== 'failed') {
305
+ issues.push(runResultDescriptionIssue('invalid_field', `${path}.status`, `Workbook run result description ${path}.status must be planned, passed, or failed`));
306
+ }
307
+ pushRequiredStringFieldIssue(issues, entry, path, 'kind');
308
+ pushRequiredStringFieldIssue(issues, entry, path, 'message');
309
+ }
310
+ function pushErrorDescriptionIssues(issues, entry, path) {
311
+ pushUnexpectedObjectFields(issues, entry, path, new Set(['code', 'message', 'path', 'issueCode']));
312
+ const code = ownRunDescriptionDataValue(entry, 'code');
313
+ if (!isWorkbookRunErrorCode(code)) {
314
+ issues.push(runResultDescriptionIssue('invalid_field', `${path}.code`, `Workbook run result description ${path}.code must be a workbook run error code`));
315
+ }
316
+ pushRequiredStringFieldIssue(issues, entry, path, 'message');
317
+ pushOptionalStringFieldIssue(issues, entry, path, 'path');
318
+ pushOptionalStringFieldIssue(issues, entry, path, 'issueCode');
319
+ }
320
+ function pushUnverifiedDescriptionIssues(issues, entry, path) {
321
+ pushUnexpectedObjectFields(issues, entry, path, new Set(['kind', 'message']));
322
+ const kind = ownRunDescriptionDataValue(entry, 'kind');
323
+ if (kind !== 'apply' && kind !== 'plan') {
324
+ issues.push(runResultDescriptionIssue('invalid_field', `${path}.kind`, `Workbook run result description ${path}.kind must be apply or plan`));
325
+ }
326
+ pushRequiredStringFieldIssue(issues, entry, path, 'message');
327
+ }
328
+ function pushCommandReceiptDescriptionIssues(issues, entry, path) {
329
+ pushUnexpectedObjectFields(issues, entry, path, new Set(['commandIndex', 'commandKind', 'commandDigest', 'previewOps', 'appliedOps', 'resolvedRefs', 'proof']));
330
+ pushRequiredFiniteNumberFieldIssue(issues, entry, path, 'commandIndex');
331
+ pushRequiredStringFieldIssue(issues, entry, path, 'commandKind');
332
+ pushRequiredStringFieldIssue(issues, entry, path, 'commandDigest');
333
+ pushRequiredJsonArrayFieldIssue(issues, entry, path, 'previewOps');
334
+ pushRequiredJsonArrayFieldIssue(issues, entry, path, 'appliedOps');
335
+ }
336
+ function pushApplyDescriptionIssues(issues, value) {
337
+ if (!isJsonDescriptionObject(value)) {
338
+ issues.push(runResultDescriptionIssue('invalid_type', 'apply', 'Workbook run result description apply must be a plain object'));
339
+ return;
340
+ }
341
+ pushUnexpectedObjectFields(issues, value, 'apply', new Set(['matched', 'planId', 'baseRevision', 'revision', 'previewOps', 'appliedOps', 'commandReceipts', 'proof']));
342
+ const matched = ownRunDescriptionDataValue(value, 'matched');
343
+ if (matched !== true && matched !== false && matched !== null) {
344
+ issues.push(runResultDescriptionIssue('invalid_field', 'apply.matched', 'Workbook run result description apply.matched must be true, false, or null'));
345
+ }
346
+ pushOptionalStringFieldIssue(issues, value, 'apply', 'planId');
347
+ pushFiniteNumberFieldIssue(issues, value, 'apply', 'baseRevision');
348
+ pushFiniteNumberFieldIssue(issues, value, 'apply', 'revision');
349
+ pushJsonArrayFieldIssue(issues, value, 'apply', 'previewOps');
350
+ pushJsonArrayFieldIssue(issues, value, 'apply', 'appliedOps');
351
+ pushJsonArrayFieldIssue(issues, value, 'apply', 'commandReceipts');
352
+ pushRunDescriptionArrayEntryIssues(issues, value, 'commandReceipts', (entry, entryPath) => pushCommandReceiptDescriptionIssues(issues, entry, `apply.${entryPath}`));
353
+ }
354
+ function pushUndoDescriptionIssues(issues, value) {
355
+ if (!isJsonDescriptionObject(value)) {
356
+ issues.push(runResultDescriptionIssue('invalid_type', 'undo', 'Workbook run result description undo must be a plain object'));
357
+ return;
358
+ }
359
+ pushUnexpectedObjectFields(issues, value, 'undo', new Set(['id', 'ops']));
360
+ pushRequiredStringFieldIssue(issues, value, 'undo', 'id');
361
+ pushJsonArrayFieldIssue(issues, value, 'undo', 'ops');
362
+ }
363
+ function dedupeRunResultDescriptionIssues(issues) {
364
+ const seen = new Set();
365
+ const deduped = [];
366
+ for (const issue of issues) {
367
+ const key = `${issue.code}\u0000${issue.path}\u0000${issue.message}`;
368
+ if (seen.has(key)) {
369
+ continue;
370
+ }
371
+ seen.add(key);
372
+ deduped.push(issue);
373
+ }
374
+ return deduped;
375
+ }
376
+ function pushRequiredRunDescriptionArrayIssue(issues, value, key) {
377
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
378
+ if (descriptor === undefined) {
379
+ issues.push(runResultDescriptionIssue('missing_field', key, `Workbook run result description ${key} is required`));
380
+ return;
381
+ }
382
+ if (!('value' in descriptor)) {
383
+ issues.push(runResultDescriptionIssue('invalid_field', key, `Workbook run result description ${key} must be a data property`));
384
+ return;
385
+ }
386
+ if (!Array.isArray(descriptor.value)) {
387
+ issues.push(runResultDescriptionIssue('invalid_field', key, `Workbook run result description ${key} must be an array`));
388
+ return;
389
+ }
390
+ pushJsonDescriptionValueIssues(issues, descriptor.value, key);
391
+ }
392
+ function pushOptionalRunDescriptionValueIssue(issues, value, key) {
393
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
394
+ if (descriptor === undefined) {
395
+ return;
396
+ }
397
+ if (!('value' in descriptor)) {
398
+ issues.push(runResultDescriptionIssue('invalid_field', key, `Workbook run result description ${key} must be a data property`));
399
+ return;
400
+ }
401
+ pushJsonDescriptionValueIssues(issues, descriptor.value, key);
402
+ }
403
+ function isWorkbookRunResultDescriptionCore(value) {
404
+ if (!isJsonDescriptionObject(value)) {
405
+ return false;
406
+ }
407
+ const status = ownJsonDescriptionValue(value, 'status');
408
+ const common = hasJsonDescriptionArray(value, 'changed') &&
409
+ hasJsonDescriptionArray(value, 'checks') &&
410
+ hasOptionalJsonDescriptionValue(value, 'apply') &&
411
+ hasOptionalJsonDescriptionValue(value, 'undo') &&
412
+ hasOptionalJsonDescriptionValue(value, 'unverified');
413
+ if (status === 'done') {
414
+ return common && Object.getOwnPropertyDescriptor(value, 'errors') === undefined;
415
+ }
416
+ if (status === 'failed') {
417
+ return common && hasJsonDescriptionArray(value, 'errors');
418
+ }
419
+ return false;
420
+ }
421
+ export function checkWorkbookRunResultDescription(value) {
422
+ if (!isJsonDescriptionObject(value)) {
423
+ return freezeResultDescriptionData({
424
+ status: 'invalid',
425
+ issues: [runResultDescriptionIssue('invalid_type', 'result', 'Workbook run result description must be a plain object')],
426
+ });
427
+ }
428
+ const issues = [];
429
+ const statusDescriptor = Object.getOwnPropertyDescriptor(value, 'status');
430
+ let status;
431
+ if (statusDescriptor === undefined) {
432
+ issues.push(runResultDescriptionIssue('missing_field', 'status', 'Workbook run result description status is required'));
433
+ }
434
+ else if (!('value' in statusDescriptor)) {
435
+ issues.push(runResultDescriptionIssue('invalid_field', 'status', 'Workbook run result description status must be a data property'));
436
+ }
437
+ else {
438
+ status = statusDescriptor.value;
439
+ if (status !== 'done' && status !== 'failed') {
440
+ issues.push(runResultDescriptionIssue('invalid_status', 'status', 'Workbook run result description status must be done or failed'));
441
+ }
442
+ }
443
+ if (status === 'done') {
444
+ pushUnexpectedRunDescriptionFields(issues, value, new Set(['status', 'apply', 'changed', 'checks', 'undo', 'unverified']));
445
+ pushRequiredRunDescriptionArrayIssue(issues, value, 'changed');
446
+ pushRequiredRunDescriptionArrayIssue(issues, value, 'checks');
447
+ pushOptionalRunDescriptionValueIssue(issues, value, 'apply');
448
+ pushOptionalRunDescriptionValueIssue(issues, value, 'undo');
449
+ pushOptionalRunDescriptionValueIssue(issues, value, 'unverified');
450
+ pushRunDescriptionArrayEntryIssues(issues, value, 'changed', (entry, entryPath) => pushChangeDescriptionIssues(issues, entry, entryPath));
451
+ pushRunDescriptionArrayEntryIssues(issues, value, 'checks', (entry, entryPath) => pushCheckDescriptionIssues(issues, entry, entryPath));
452
+ pushRunDescriptionArrayEntryIssues(issues, value, 'unverified', (entry, entryPath) => pushUnverifiedDescriptionIssues(issues, entry, entryPath));
453
+ }
454
+ else if (status === 'failed') {
455
+ pushUnexpectedRunDescriptionFields(issues, value, new Set(['status', 'errors', 'apply', 'changed', 'checks', 'undo', 'unverified']));
456
+ pushRequiredRunDescriptionArrayIssue(issues, value, 'errors');
457
+ pushRequiredRunDescriptionArrayIssue(issues, value, 'changed');
458
+ pushRequiredRunDescriptionArrayIssue(issues, value, 'checks');
459
+ pushOptionalRunDescriptionValueIssue(issues, value, 'apply');
460
+ pushOptionalRunDescriptionValueIssue(issues, value, 'undo');
461
+ pushOptionalRunDescriptionValueIssue(issues, value, 'unverified');
462
+ pushRunDescriptionArrayEntryIssues(issues, value, 'errors', (entry, entryPath) => pushErrorDescriptionIssues(issues, entry, entryPath));
463
+ pushRunDescriptionArrayEntryIssues(issues, value, 'changed', (entry, entryPath) => pushChangeDescriptionIssues(issues, entry, entryPath));
464
+ pushRunDescriptionArrayEntryIssues(issues, value, 'checks', (entry, entryPath) => pushCheckDescriptionIssues(issues, entry, entryPath));
465
+ pushRunDescriptionArrayEntryIssues(issues, value, 'unverified', (entry, entryPath) => pushUnverifiedDescriptionIssues(issues, entry, entryPath));
466
+ }
467
+ const apply = ownRunDescriptionDataValue(value, 'apply');
468
+ if (apply !== undefined) {
469
+ pushApplyDescriptionIssues(issues, apply);
470
+ }
471
+ const undo = ownRunDescriptionDataValue(value, 'undo');
472
+ if (undo !== undefined) {
473
+ pushUndoDescriptionIssues(issues, undo);
474
+ }
475
+ const dedupedIssues = dedupeRunResultDescriptionIssues(issues);
476
+ if (dedupedIssues.length > 0 || !isWorkbookRunResultDescriptionCore(value)) {
477
+ return freezeResultDescriptionData({
478
+ status: 'invalid',
479
+ issues: dedupedIssues.length > 0
480
+ ? dedupedIssues
481
+ : [runResultDescriptionIssue('invalid_field', 'result', 'Workbook run result description is invalid')],
482
+ });
483
+ }
484
+ return freezeResultDescriptionData({
485
+ status: 'valid',
486
+ description: cloneResultDescriptionData(value),
487
+ issues: [],
488
+ });
489
+ }
490
+ export function isWorkbookRunResultDescription(value) {
491
+ return checkWorkbookRunResultDescription(value).status === 'valid';
492
+ }
493
+ //# sourceMappingURL=run-description.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-description.js","sourceRoot":"","sources":["../src/run-description.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { WorkbookPlanDataIssue } from './plan-data.js';
2
+ import type { WorkbookChangeSummary, WorkbookCheckResult, WorkbookRunApplySummary, WorkbookRunError, WorkbookRunErrorCode, WorkbookRunResult, WorkbookRunUnverified, WorkbookUndoRef } from './result.js';
3
+ export declare function errorMessage(error: unknown): string;
4
+ export declare function runError(code: WorkbookRunErrorCode, message: string): WorkbookRunError;
5
+ export declare function failedRun(args: {
6
+ readonly errors: readonly WorkbookRunError[];
7
+ readonly apply?: WorkbookRunApplySummary | undefined;
8
+ readonly changed?: readonly WorkbookChangeSummary[];
9
+ readonly checks: readonly WorkbookCheckResult[];
10
+ readonly undo?: WorkbookUndoRef;
11
+ readonly unverified?: readonly WorkbookRunUnverified[];
12
+ }): WorkbookRunResult;
13
+ export declare function planDataRunError(issue: WorkbookPlanDataIssue): WorkbookRunError;
@@ -0,0 +1,29 @@
1
+ export function errorMessage(error) {
2
+ return error instanceof Error ? error.message : String(error);
3
+ }
4
+ export function runError(code, message) {
5
+ return {
6
+ code,
7
+ message,
8
+ };
9
+ }
10
+ export function failedRun(args) {
11
+ return {
12
+ status: 'failed',
13
+ errors: args.errors,
14
+ ...(args.apply !== undefined ? { apply: args.apply } : {}),
15
+ changed: args.changed ?? [],
16
+ checks: args.checks,
17
+ ...(args.undo !== undefined ? { undo: args.undo } : {}),
18
+ ...(args.unverified !== undefined && args.unverified.length > 0 ? { unverified: args.unverified } : {}),
19
+ };
20
+ }
21
+ export function planDataRunError(issue) {
22
+ return {
23
+ code: 'invalid_plan_data',
24
+ message: issue.message,
25
+ path: issue.path,
26
+ issueCode: issue.code,
27
+ };
28
+ }
29
+ //# sourceMappingURL=run-failure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-failure.js","sourceRoot":"","sources":["../src/run-failure.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC/D,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAA0B,EAAE,OAAe;IAClE,OAAO;QACL,IAAI;QACJ,OAAO;KACR,CAAA;AACH,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAOzB;IACC,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;QAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxG,CAAA;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAA4B;IAC3D,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,KAAK,CAAC,IAAI;KACtB,CAAA;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { WorkbookRunResult } from './result.js';
2
+ export declare function freezeWorkbookRunResult(result: WorkbookRunResult): WorkbookRunResult;
@@ -0,0 +1,19 @@
1
+ export function freezeWorkbookRunResult(result) {
2
+ return freezeData(result, new WeakSet());
3
+ }
4
+ function freezeData(value, seen) {
5
+ if (typeof value !== 'object' || value === null) {
6
+ return value;
7
+ }
8
+ if (seen.has(value)) {
9
+ return value;
10
+ }
11
+ seen.add(value);
12
+ Object.values(Object.getOwnPropertyDescriptors(value)).forEach((descriptor) => {
13
+ if ('value' in descriptor) {
14
+ freezeData(descriptor.value, seen);
15
+ }
16
+ });
17
+ return Object.freeze(value);
18
+ }
19
+ //# sourceMappingURL=run-result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-result.js","sourceRoot":"","sources":["../src/run-result.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,uBAAuB,CAAC,MAAyB;IAC/D,OAAO,UAAU,CAAC,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC,CAAA;AAC1C,CAAC;AAED,SAAS,UAAU,CAAI,KAAQ,EAAE,IAAqB;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACf,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QAC5E,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;YAC1B,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QACpC,CAAC;IACH,CAAC,CAAC,CAAA;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC7B,CAAC"}
@@ -4,6 +4,7 @@ import type { WorkbookRunApplySummary, WorkbookRunError } from './result.js';
4
4
  export type NormalizedWorkbookRunOptions = {
5
5
  readonly requireApplyProof: boolean;
6
6
  readonly requirePlanId: boolean;
7
+ readonly requireResolvedRefs: boolean;
7
8
  };
8
9
  export type WorkbookRunOptionsNormalization = {
9
10
  readonly status: 'valid';