@bilig/workbook 0.96.0 → 0.103.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 (44) hide show
  1. package/README.md +155 -449
  2. package/dist/features-public.d.ts +2 -0
  3. package/dist/features-public.js +3 -0
  4. package/dist/features-public.js.map +1 -0
  5. package/dist/index.d.ts +2 -0
  6. package/dist/index.js +2 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/model-plan-result.d.ts +1 -0
  9. package/dist/model-plan-result.js +17 -0
  10. package/dist/model-plan-result.js.map +1 -1
  11. package/dist/model.d.ts +1 -0
  12. package/dist/model.js +21 -14
  13. package/dist/model.js.map +1 -1
  14. package/dist/prepare.d.ts +22 -0
  15. package/dist/prepare.js +41 -0
  16. package/dist/prepare.js.map +1 -0
  17. package/dist/requirements.d.ts +4 -3
  18. package/dist/requirements.js +50 -7
  19. package/dist/requirements.js.map +1 -1
  20. package/dist/result.d.ts +2 -2
  21. package/dist/result.js +1 -0
  22. package/dist/result.js.map +1 -1
  23. package/dist/run-apply.d.ts +17 -0
  24. package/dist/run-apply.js +274 -0
  25. package/dist/run-apply.js.map +1 -0
  26. package/dist/run-check-verification.d.ts +8 -0
  27. package/dist/run-check-verification.js +174 -0
  28. package/dist/run-check-verification.js.map +1 -0
  29. package/dist/run-data.d.ts +6 -0
  30. package/dist/run-data.js +120 -0
  31. package/dist/run-data.js.map +1 -0
  32. package/dist/run-description.js +12 -9
  33. package/dist/run-description.js.map +1 -1
  34. package/dist/run.d.ts +2 -2
  35. package/dist/run.js +4 -560
  36. package/dist/run.js.map +1 -1
  37. package/dist/schema.d.ts +3 -2
  38. package/dist/schema.js +120 -7
  39. package/dist/schema.js.map +1 -1
  40. package/dist/testing.d.ts +34 -0
  41. package/dist/testing.js +85 -0
  42. package/dist/testing.js.map +1 -0
  43. package/fixtures/runtime-requirements.json +72 -0
  44. package/package.json +19 -4
package/dist/run.js CHANGED
@@ -1,14 +1,12 @@
1
- import { isWorkbookOp } from './guards.js';
2
- import { normalizeWorkbookActionInput } from './input.js';
3
1
  import { planWorkbookAction } from './model.js';
4
- import { checkPlanData, hydratePlanData, isHydratedPlan, workbookPlanId, } from './plan-data.js';
2
+ import { checkPlanData, hydratePlanData, isHydratedPlan, } from './plan-data.js';
5
3
  import { verifyWorkbookReadbacks } from './readback.js';
6
4
  import { checkRuntimeAdapter } from './requirements.js';
7
- import { cloneWorkbookRunApplyCommandReceipts, cloneWorkbookRunApplyCommandReceiptsForSummary } from './run-command-receipts.js';
5
+ import { applyUnverified, changedAfterApply, changedAfterOptionalApply, describeApply, failedApplyResult, validateApplyResult, } from './run-apply.js';
6
+ import { unverifiedCheckErrors, verifyChecksWithAdapter } from './run-check-verification.js';
8
7
  import { errorMessage, failedRun, planDataRunError, runError } from './run-failure.js';
9
- import { adapterApplyMethod, adapterReadMethod, adapterVerifyChecksMethod, applyProofErrors, checkProofErrors, normalizeRunOptions, preApplyProofErrors, } from './run-runtime-boundary.js';
8
+ import { adapterApplyMethod, adapterReadMethod, applyProofErrors, checkProofErrors, normalizeRunOptions, preApplyProofErrors, } from './run-runtime-boundary.js';
10
9
  import { freezeWorkbookRunResult } from './run-result.js';
11
- import { isWorkbookRunErrorCode, } from './result.js';
12
10
  import { verifyPlan } from './verify.js';
13
11
  function readbackTargets(checks) {
14
12
  const targets = [];
@@ -36,458 +34,6 @@ function failedFromPlanIssues(plan) {
36
34
  checks: plan.checks,
37
35
  });
38
36
  }
39
- function changedAfterApply(plan, result) {
40
- if (result.appliedOps !== undefined) {
41
- return result.appliedOps.length > 0 || result.undo !== undefined ? plan.changed : [];
42
- }
43
- return plan.changed;
44
- }
45
- function changedAfterFailedApply(plan, result) {
46
- return result.undo !== undefined || (result.appliedOps !== undefined && result.appliedOps.length > 0) ? plan.changed : [];
47
- }
48
- function failedApplyResult(plan, result) {
49
- const errors = result.errors !== undefined && result.errors.length > 0
50
- ? result.errors
51
- : [runError('apply_failed', `Workbook action ${plan.modelName}.${plan.actionName} failed to apply`)];
52
- const apply = describeApply(result);
53
- return failedRun({
54
- errors,
55
- apply,
56
- changed: changedAfterFailedApply(plan, result),
57
- checks: plan.checks,
58
- ...(result.undo !== undefined ? { undo: result.undo } : {}),
59
- });
60
- }
61
- function checkLabel(check) {
62
- return check.target?.label ?? check.kind;
63
- }
64
- function canonicalJson(value) {
65
- return JSON.stringify(canonicalValue(value));
66
- }
67
- function canonicalValue(value) {
68
- if (Array.isArray(value)) {
69
- const descriptors = Object.getOwnPropertyDescriptors(value);
70
- return Array.from({ length: value.length }, (_, index) => {
71
- const descriptor = descriptors[String(index)];
72
- if (descriptor === undefined) {
73
- return undefined;
74
- }
75
- if (!('value' in descriptor)) {
76
- throw new Error('Accessor values cannot be canonicalized');
77
- }
78
- return canonicalValue(descriptor.value);
79
- });
80
- }
81
- if (typeof value === 'object' && value !== null) {
82
- return Object.fromEntries(Object.entries(Object.getOwnPropertyDescriptors(value))
83
- .filter(([, descriptor]) => descriptor.enumerable)
84
- .toSorted(([left], [right]) => left.localeCompare(right))
85
- .map(([key, descriptor]) => {
86
- if (!('value' in descriptor)) {
87
- throw new Error('Accessor values cannot be canonicalized');
88
- }
89
- return [key, canonicalValue(descriptor.value)];
90
- }));
91
- }
92
- return value;
93
- }
94
- function ownCheckValue(check, key) {
95
- const descriptor = Object.getOwnPropertyDescriptor(check, key);
96
- if (descriptor === undefined) {
97
- return undefined;
98
- }
99
- if (!('value' in descriptor)) {
100
- throw new Error(`Workbook check result ${String(key)} must be a data property`);
101
- }
102
- return descriptor.value;
103
- }
104
- function checkContract(check) {
105
- const kind = ownCheckValue(check, 'kind');
106
- const target = ownCheckValue(check, 'target');
107
- const refs = ownCheckValue(check, 'refs');
108
- const message = ownCheckValue(check, 'message');
109
- const expectation = ownCheckValue(check, 'expectation');
110
- if (kind === undefined || message === undefined) {
111
- throw new Error('invalid check contract');
112
- }
113
- return {
114
- kind,
115
- ...(target !== undefined ? { target } : {}),
116
- ...(refs !== undefined ? { refs } : {}),
117
- message,
118
- ...(expectation !== undefined ? { expectation } : {}),
119
- };
120
- }
121
- function cloneCheck(check) {
122
- const status = ownCheckValue(check, 'status');
123
- const kind = ownCheckValue(check, 'kind');
124
- const target = ownCheckValue(check, 'target');
125
- const refs = ownCheckValue(check, 'refs');
126
- const message = ownCheckValue(check, 'message');
127
- const expectation = ownCheckValue(check, 'expectation');
128
- const proof = ownCheckValue(check, 'proof');
129
- if (status === undefined || kind === undefined || message === undefined) {
130
- throw new Error('invalid check result');
131
- }
132
- return {
133
- status,
134
- kind,
135
- ...(target !== undefined ? { target } : {}),
136
- ...(refs !== undefined ? { refs } : {}),
137
- message,
138
- ...(expectation !== undefined ? { expectation } : {}),
139
- ...(proof !== undefined ? { proof: normalizeWorkbookActionInput(proof) } : {}),
140
- };
141
- }
142
- function checkContractMatches(expectedContract, actual) {
143
- try {
144
- return expectedContract === canonicalJson(checkContract(actual));
145
- }
146
- catch {
147
- return false;
148
- }
149
- }
150
- function isCheckStatus(value) {
151
- return value === 'planned' || value === 'passed' || value === 'failed';
152
- }
153
- function isRecord(value) {
154
- return typeof value === 'object' && value !== null && !Array.isArray(value);
155
- }
156
- function ownDataDescriptor(value, key) {
157
- const descriptor = Object.getOwnPropertyDescriptor(value, key);
158
- return descriptor !== undefined && 'value' in descriptor ? descriptor : undefined;
159
- }
160
- function isSafeNonNegativeInteger(value) {
161
- return typeof value === 'number' && Number.isSafeInteger(value) && value >= 0;
162
- }
163
- function ownValue(value, key) {
164
- return ownDataDescriptor(value, key)?.value;
165
- }
166
- function arrayDataValues(value, guard) {
167
- if (!Array.isArray(value)) {
168
- return null;
169
- }
170
- if (firstAccessorPath(value, 'array') !== null) {
171
- return null;
172
- }
173
- const entries = [];
174
- for (let index = 0; index < value.length; index += 1) {
175
- const descriptor = Object.getOwnPropertyDescriptor(value, String(index));
176
- if (descriptor === undefined || !descriptor.enumerable || !('value' in descriptor) || !guard(descriptor.value)) {
177
- return null;
178
- }
179
- entries.push(descriptor.value);
180
- }
181
- return entries;
182
- }
183
- function isWorkbookOpArray(value) {
184
- return arrayDataValues(value, isWorkbookOp) !== null;
185
- }
186
- function isWorkbookRunError(value) {
187
- if (!isRecord(value)) {
188
- return false;
189
- }
190
- const code = ownValue(value, 'code');
191
- const message = ownValue(value, 'message');
192
- const path = ownValue(value, 'path');
193
- const issueCode = ownValue(value, 'issueCode');
194
- return (isWorkbookRunErrorCode(code) &&
195
- typeof message === 'string' &&
196
- (path === undefined || typeof path === 'string') &&
197
- (issueCode === undefined || typeof issueCode === 'string'));
198
- }
199
- function isWorkbookRunErrorArray(value) {
200
- return arrayDataValues(value, isWorkbookRunError) !== null;
201
- }
202
- function cloneRunError(error) {
203
- const code = ownValue(error, 'code');
204
- const message = ownValue(error, 'message');
205
- const path = ownValue(error, 'path');
206
- const issueCode = ownValue(error, 'issueCode');
207
- if (!isWorkbookRunErrorCode(code) || typeof message !== 'string') {
208
- throw new Error('invalid run error');
209
- }
210
- return {
211
- code,
212
- message,
213
- ...(typeof path === 'string' ? { path } : {}),
214
- ...(typeof issueCode === 'string' ? { issueCode } : {}),
215
- };
216
- }
217
- function isWorkbookUndoRef(value) {
218
- if (!isRecord(value)) {
219
- return false;
220
- }
221
- const id = ownValue(value, 'id');
222
- const ops = ownValue(value, 'ops');
223
- return typeof id === 'string' && (ops === undefined || isWorkbookOpArray(ops));
224
- }
225
- function cloneUndoRef(undo) {
226
- const id = ownValue(undo, 'id');
227
- const ops = ownValue(undo, 'ops');
228
- if (typeof id !== 'string') {
229
- throw new Error('invalid undo metadata');
230
- }
231
- return {
232
- id,
233
- ...(isWorkbookOpArray(ops) ? { ops: cloneOps(ops) } : {}),
234
- };
235
- }
236
- function isWorkbookCheckResult(value) {
237
- if (!isRecord(value)) {
238
- return false;
239
- }
240
- return (isCheckStatus(ownValue(value, 'status')) &&
241
- typeof ownValue(value, 'kind') === 'string' &&
242
- typeof ownValue(value, 'message') === 'string');
243
- }
244
- function validateApplyResult(plan, value) {
245
- const rejected = (message) => ({
246
- status: 'invalid',
247
- result: failedRun({
248
- errors: [runError('runtime_rejected', message)],
249
- checks: plan.checks,
250
- }),
251
- });
252
- if (!isRecord(value)) {
253
- return rejected(`Workbook action ${plan.modelName}.${plan.actionName} returned an invalid apply result`);
254
- }
255
- const status = ownValue(value, 'status');
256
- if (status !== 'applied' && status !== 'failed') {
257
- return rejected(`Workbook action ${plan.modelName}.${plan.actionName} returned an invalid apply status`);
258
- }
259
- const rawPreviewOps = ownValue(value, 'previewOps');
260
- if (rawPreviewOps !== undefined && !isWorkbookOpArray(rawPreviewOps)) {
261
- return rejected(`Workbook action ${plan.modelName}.${plan.actionName} returned invalid preview ops`);
262
- }
263
- let previewOps;
264
- try {
265
- previewOps = rawPreviewOps === undefined ? undefined : cloneOps(rawPreviewOps);
266
- }
267
- catch {
268
- return rejected(`Workbook action ${plan.modelName}.${plan.actionName} returned invalid preview ops`);
269
- }
270
- const rawAppliedOps = ownValue(value, 'appliedOps');
271
- if (rawAppliedOps !== undefined && !isWorkbookOpArray(rawAppliedOps)) {
272
- return rejected(`Workbook action ${plan.modelName}.${plan.actionName} returned invalid applied ops`);
273
- }
274
- let appliedOps;
275
- try {
276
- appliedOps = rawAppliedOps === undefined ? undefined : cloneOps(rawAppliedOps);
277
- }
278
- catch {
279
- return rejected(`Workbook action ${plan.modelName}.${plan.actionName} returned invalid applied ops`);
280
- }
281
- const rawErrors = ownValue(value, 'errors');
282
- if (rawErrors !== undefined && !isWorkbookRunErrorArray(rawErrors)) {
283
- return rejected(`Workbook action ${plan.modelName}.${plan.actionName} returned invalid apply errors`);
284
- }
285
- let errors;
286
- try {
287
- errors = rawErrors === undefined ? undefined : cloneRunErrors(rawErrors);
288
- }
289
- catch {
290
- return rejected(`Workbook action ${plan.modelName}.${plan.actionName} returned invalid apply errors`);
291
- }
292
- if (status === 'applied' && errors !== undefined && errors.length > 0) {
293
- return rejected(`Workbook action ${plan.modelName}.${plan.actionName} returned applied with errors`);
294
- }
295
- const rawPlanId = ownValue(value, 'planId');
296
- if (rawPlanId !== undefined && typeof rawPlanId !== 'string') {
297
- return rejected(`Workbook action ${plan.modelName}.${plan.actionName} returned invalid plan id`);
298
- }
299
- const expectedPlanId = rawPlanId === undefined ? undefined : workbookPlanId(plan);
300
- if (rawPlanId !== undefined && rawPlanId !== expectedPlanId) {
301
- return rejected(`Workbook action ${plan.modelName}.${plan.actionName} returned a plan id that does not match the executed plan`);
302
- }
303
- const rawBaseRevision = ownValue(value, 'baseRevision');
304
- if (rawBaseRevision !== undefined && !isSafeNonNegativeInteger(rawBaseRevision)) {
305
- return rejected(`Workbook action ${plan.modelName}.${plan.actionName} returned invalid base revision`);
306
- }
307
- const rawRevision = ownValue(value, 'revision');
308
- if (rawRevision !== undefined && !isSafeNonNegativeInteger(rawRevision)) {
309
- return rejected(`Workbook action ${plan.modelName}.${plan.actionName} returned invalid revision`);
310
- }
311
- if (isSafeNonNegativeInteger(rawBaseRevision) && isSafeNonNegativeInteger(rawRevision) && rawRevision < rawBaseRevision) {
312
- return rejected(`Workbook action ${plan.modelName}.${plan.actionName} returned a revision before its base revision`);
313
- }
314
- const rawCommandReceipts = ownValue(value, 'commandReceipts');
315
- let commandReceipts;
316
- if (rawCommandReceipts !== undefined) {
317
- try {
318
- commandReceipts = cloneWorkbookRunApplyCommandReceipts(plan, rawCommandReceipts, previewOps, appliedOps);
319
- }
320
- catch (error) {
321
- return rejected(`Workbook action ${plan.modelName}.${plan.actionName} returned invalid command receipts: ${errorMessage(error)}`);
322
- }
323
- }
324
- const rawUndo = ownValue(value, 'undo');
325
- let undo;
326
- if (rawUndo !== undefined && !isWorkbookUndoRef(rawUndo)) {
327
- return rejected(`Workbook action ${plan.modelName}.${plan.actionName} returned invalid undo metadata`);
328
- }
329
- if (rawUndo !== undefined) {
330
- try {
331
- undo = cloneUndoRef(rawUndo);
332
- }
333
- catch {
334
- return rejected(`Workbook action ${plan.modelName}.${plan.actionName} returned invalid undo metadata`);
335
- }
336
- }
337
- let proof;
338
- const rawProof = ownValue(value, 'proof');
339
- try {
340
- proof = rawProof === undefined ? undefined : normalizeWorkbookActionInput(rawProof);
341
- }
342
- catch (error) {
343
- return rejected(`Workbook action ${plan.modelName}.${plan.actionName} returned invalid apply proof: ${errorMessage(error)}`);
344
- }
345
- return {
346
- status: 'valid',
347
- result: {
348
- status,
349
- ...(typeof rawPlanId === 'string' ? { planId: rawPlanId } : {}),
350
- ...(isSafeNonNegativeInteger(rawBaseRevision) ? { baseRevision: rawBaseRevision } : {}),
351
- ...(isSafeNonNegativeInteger(rawRevision) ? { revision: rawRevision } : {}),
352
- ...(previewOps !== undefined ? { previewOps } : {}),
353
- ...(appliedOps !== undefined ? { appliedOps } : {}),
354
- ...(commandReceipts !== undefined ? { commandReceipts } : {}),
355
- ...(proof !== undefined ? { proof } : {}),
356
- ...(errors !== undefined ? { errors } : {}),
357
- ...(undo !== undefined ? { undo } : {}),
358
- },
359
- };
360
- }
361
- function cloneOps(ops) {
362
- const entries = arrayDataValues(ops, isWorkbookOp);
363
- if (entries === null) {
364
- throw new Error('invalid workbook op array');
365
- }
366
- return entries.map((op) => cloneOp(op));
367
- }
368
- function cloneRunErrors(errors) {
369
- const entries = arrayDataValues(errors, isWorkbookRunError);
370
- if (entries === null) {
371
- throw new Error('invalid run error array');
372
- }
373
- return entries.map((error) => cloneRunError(error));
374
- }
375
- function cloneOp(op) {
376
- const cloned = cloneData(op);
377
- if (!isWorkbookOp(cloned)) {
378
- throw new Error('invalid workbook op clone');
379
- }
380
- return cloned;
381
- }
382
- function opsMatch(left, right) {
383
- const leftOps = arrayDataValues(left, isWorkbookOp);
384
- const rightOps = arrayDataValues(right, isWorkbookOp);
385
- if (leftOps === null || rightOps === null || leftOps.length !== rightOps.length) {
386
- return false;
387
- }
388
- try {
389
- return leftOps.every((op, index) => {
390
- const other = rightOps[index];
391
- return other !== undefined && canonicalJson(op) === canonicalJson(other);
392
- });
393
- }
394
- catch {
395
- return false;
396
- }
397
- }
398
- function cloneData(value, seen = new WeakMap()) {
399
- if (typeof value !== 'object' || value === null) {
400
- return value;
401
- }
402
- const existing = seen.get(value);
403
- if (existing !== undefined) {
404
- return existing;
405
- }
406
- if (Array.isArray(value)) {
407
- const cloned = [];
408
- seen.set(value, cloned);
409
- const descriptors = Object.getOwnPropertyDescriptors(value);
410
- for (let index = 0; index < value.length; index += 1) {
411
- const descriptor = descriptors[String(index)];
412
- if (descriptor === undefined) {
413
- continue;
414
- }
415
- if (!('value' in descriptor)) {
416
- throw new Error('Transport data must not contain accessors');
417
- }
418
- cloned[index] = cloneData(descriptor.value, seen);
419
- }
420
- return cloned;
421
- }
422
- const cloned = Object.create(Object.getPrototypeOf(value));
423
- seen.set(value, cloned);
424
- Object.entries(Object.getOwnPropertyDescriptors(value)).forEach(([key, descriptor]) => {
425
- if (!descriptor.enumerable) {
426
- return;
427
- }
428
- if (!('value' in descriptor)) {
429
- throw new Error('Transport data must not contain accessors');
430
- }
431
- Object.defineProperty(cloned, key, {
432
- configurable: true,
433
- enumerable: true,
434
- value: cloneData(descriptor.value, seen),
435
- writable: true,
436
- });
437
- });
438
- return cloned;
439
- }
440
- function firstAccessorPath(value, path, seen = new WeakSet()) {
441
- if (typeof value !== 'object' || value === null) {
442
- return null;
443
- }
444
- if (seen.has(value)) {
445
- return null;
446
- }
447
- seen.add(value);
448
- for (const [key, descriptor] of Object.entries(Object.getOwnPropertyDescriptors(value))) {
449
- const childPath = Array.isArray(value) && /^\d+$/.test(key) ? `${path}[${key}]` : `${path}.${key}`;
450
- if (!('value' in descriptor)) {
451
- return childPath;
452
- }
453
- const nestedPath = firstAccessorPath(descriptor.value, childPath, seen);
454
- if (nestedPath !== null) {
455
- return nestedPath;
456
- }
457
- }
458
- return null;
459
- }
460
- function describeApply(result) {
461
- const matched = result.previewOps === undefined || result.appliedOps === undefined ? null : opsMatch(result.previewOps, result.appliedOps);
462
- return {
463
- matched,
464
- ...(result.planId !== undefined ? { planId: result.planId } : {}),
465
- ...(result.baseRevision !== undefined ? { baseRevision: result.baseRevision } : {}),
466
- ...(result.revision !== undefined ? { revision: result.revision } : {}),
467
- ...(result.previewOps !== undefined ? { previewOps: cloneOps(result.previewOps) } : {}),
468
- ...(result.appliedOps !== undefined ? { appliedOps: cloneOps(result.appliedOps) } : {}),
469
- ...(result.commandReceipts !== undefined
470
- ? { commandReceipts: cloneWorkbookRunApplyCommandReceiptsForSummary(result.commandReceipts) }
471
- : {}),
472
- ...(result.proof !== undefined ? { proof: normalizeWorkbookActionInput(result.proof) } : {}),
473
- };
474
- }
475
- function applyUnverified(plan, apply) {
476
- const unverified = [];
477
- if (apply.matched === null) {
478
- unverified.push({
479
- kind: 'apply',
480
- message: 'Adapter did not return both previewOps and appliedOps, so apply match is unverified',
481
- });
482
- }
483
- if (plan.commands.length > 0 && apply.commandReceipts === undefined) {
484
- unverified.push({
485
- kind: 'apply',
486
- message: 'Adapter did not return commandReceipts, so planned commands are not bound to materialized ops',
487
- });
488
- }
489
- return unverified;
490
- }
491
37
  function unverifiedProperty(unverified) {
492
38
  return unverified.length === 0 ? {} : { unverified };
493
39
  }
@@ -498,108 +44,6 @@ function needsApply(capabilities) {
498
44
  capability === 'clear' ||
499
45
  capability === 'applyOp');
500
46
  }
501
- function changedAfterOptionalApply(plan, result) {
502
- return result === undefined ? [] : changedAfterApply(plan, result);
503
- }
504
- function validateVerifiedChecks(originalContracts, originalKinds, verified) {
505
- if (!Array.isArray(verified)) {
506
- return {
507
- status: 'invalid',
508
- error: runError('invalid_check_verification', 'Check verifier did not return a check array'),
509
- };
510
- }
511
- if (verified.length !== originalContracts.length) {
512
- return {
513
- status: 'invalid',
514
- error: runError('invalid_check_verification', `Check verifier returned ${String(verified.length)} checks for ${String(originalContracts.length)} planned checks`),
515
- };
516
- }
517
- const verifiedChecks = [];
518
- for (let index = 0; index < originalContracts.length; index += 1) {
519
- const expectedContract = originalContracts[index];
520
- const expectedKind = originalKinds[index] ?? 'check';
521
- const descriptor = Object.getOwnPropertyDescriptor(verified, String(index));
522
- const actual = descriptor !== undefined && descriptor.enumerable && 'value' in descriptor ? descriptor.value : undefined;
523
- if (expectedContract === undefined || !isRecord(actual)) {
524
- return {
525
- status: 'invalid',
526
- error: runError('invalid_check_verification', `Check verifier returned an invalid check at index ${String(index)}`),
527
- };
528
- }
529
- if (!isCheckStatus(ownValue(actual, 'status'))) {
530
- return {
531
- status: 'invalid',
532
- error: runError('invalid_check_verification', `Check verifier returned an invalid status at index ${String(index)}`),
533
- };
534
- }
535
- if (!isWorkbookCheckResult(actual)) {
536
- return {
537
- status: 'invalid',
538
- error: runError('invalid_check_verification', `Check verifier returned an invalid check at index ${String(index)}`),
539
- };
540
- }
541
- if (!checkContractMatches(expectedContract, actual)) {
542
- return {
543
- status: 'invalid',
544
- error: runError('invalid_check_verification', `Check verifier changed the check contract at index ${String(index)} for ${expectedKind}`),
545
- };
546
- }
547
- try {
548
- verifiedChecks.push(cloneCheck(actual));
549
- }
550
- catch (error) {
551
- return {
552
- status: 'invalid',
553
- error: runError('invalid_check_verification', `Check verifier returned invalid proof at index ${String(index)}: ${errorMessage(error)}`),
554
- };
555
- }
556
- }
557
- return {
558
- status: 'valid',
559
- checks: verifiedChecks,
560
- };
561
- }
562
- async function verifyChecksWithAdapter(checks, plan, adapter) {
563
- const verifyChecks = adapterVerifyChecksMethod(adapter);
564
- if (verifyChecks === undefined) {
565
- return { checks, errors: [] };
566
- }
567
- const originalChecks = checks.map(cloneCheck);
568
- const originalContracts = originalChecks.map((check) => canonicalJson(checkContract(check)));
569
- const originalKinds = originalChecks.map((check) => check.kind);
570
- const verifierInput = originalChecks.map(cloneCheck);
571
- let verified;
572
- try {
573
- verified = await Reflect.apply(verifyChecks, adapter, [verifierInput, plan]);
574
- }
575
- catch (error) {
576
- return {
577
- checks: originalChecks,
578
- errors: [runError('check_verification_failed', errorMessage(error))],
579
- };
580
- }
581
- const validation = validateVerifiedChecks(originalContracts, originalKinds, verified);
582
- if (validation.status === 'invalid') {
583
- return {
584
- checks: originalChecks,
585
- errors: [validation.error],
586
- };
587
- }
588
- const verifiedChecks = validation.checks;
589
- const failedChecks = verifiedChecks.filter((check) => check.status === 'failed');
590
- if (failedChecks.length > 0) {
591
- return {
592
- checks: verifiedChecks,
593
- errors: failedChecks.map((check) => runError('check_failed', `${check.target?.label ?? check.kind} failed check ${check.kind}: ${check.message}`)),
594
- };
595
- }
596
- return { checks: verifiedChecks, errors: [] };
597
- }
598
- function unverifiedCheckErrors(checks) {
599
- return checks
600
- .filter((check) => check.status === 'planned')
601
- .map((check) => runError('check_not_verified', `${checkLabel(check)} did not verify check ${check.kind}: ${check.message}`));
602
- }
603
47
  async function runLiveWorkbookPlan(plan, adapter, options = {}) {
604
48
  const invalidPlan = failedFromPlanIssues(plan);
605
49
  if (invalidPlan !== null) {
package/dist/run.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}