@bilig/workbook 0.59.0 → 0.62.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.
package/dist/result.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { LiteralInput } from '@bilig/protocol';
2
+ import type { WorkbookFormulaLabel } from './formula.js';
2
3
  import type { WorkbookRef } from './find.js';
3
4
  import type { WorkbookActionInput } from './input.js';
4
5
  import type { EngineOp } from './ops.js';
@@ -10,6 +11,7 @@ export type WorkbookCheckExpectation = {
10
11
  readonly kind: 'formulaEquals';
11
12
  readonly formula: string;
12
13
  readonly inputs: readonly WorkbookRef[];
14
+ readonly labels: readonly WorkbookFormulaLabel[];
13
15
  };
14
16
  export interface WorkbookCheckResult {
15
17
  readonly status: WorkbookCheckStatus;
@@ -40,8 +42,8 @@ export interface WorkbookRunUnverified {
40
42
  readonly kind: WorkbookRunUnverifiedKind;
41
43
  readonly message: string;
42
44
  }
43
- export type WorkbookRunErrorCode = 'action_not_found' | 'invalid_action_input' | 'find_failed' | 'checks_failed' | 'action_failed' | 'ref_not_in_refs' | 'duplicate_ref' | 'command_target_not_resolved' | 'formula_input_not_resolved' | 'invalid_formula' | 'change_target_not_resolved' | 'check_status_not_planned' | 'check_target_not_resolved' | 'check_ref_not_resolved' | 'check_expectation_input_not_resolved' | 'invalid_check_expectation_formula' | 'invalid_workbook_op' | 'op_target_mismatch' | 'missing_concrete_op' | 'missing_workbook_op' | 'apply_not_verified' | 'apply_mismatch' | 'apply_failed' | 'readback_failed' | 'readback_missing' | 'readback_unexpected' | 'value_mismatch' | 'formula_mismatch' | 'invalid_check_verification' | 'check_verification_failed' | 'check_failed' | 'check_not_verified' | 'runtime_rejected';
44
- export declare const workbookRunErrorCodes: readonly ("action_not_found" | "invalid_action_input" | "find_failed" | "checks_failed" | "action_failed" | "ref_not_in_refs" | "duplicate_ref" | "command_target_not_resolved" | "formula_input_not_resolved" | "invalid_formula" | "change_target_not_resolved" | "check_status_not_planned" | "check_target_not_resolved" | "check_ref_not_resolved" | "check_expectation_input_not_resolved" | "invalid_check_expectation_formula" | "invalid_workbook_op" | "op_target_mismatch" | "missing_concrete_op" | "missing_workbook_op" | "apply_not_verified" | "apply_mismatch" | "apply_failed" | "readback_failed" | "readback_missing" | "readback_unexpected" | "value_mismatch" | "formula_mismatch" | "invalid_check_verification" | "check_verification_failed" | "check_failed" | "check_not_verified" | "runtime_rejected")[];
45
+ export type WorkbookRunErrorCode = 'action_not_found' | 'invalid_action_input' | 'find_failed' | 'checks_failed' | 'action_failed' | 'ref_not_in_refs' | 'duplicate_ref' | 'command_target_not_resolved' | 'formula_input_not_resolved' | 'formula_input_not_labeled' | 'formula_label_not_resolved' | 'formula_label_not_used' | 'invalid_formula' | 'change_target_not_resolved' | 'check_status_not_planned' | 'check_target_not_resolved' | 'check_ref_not_resolved' | 'check_expectation_input_not_resolved' | 'check_expectation_input_not_labeled' | 'check_expectation_label_not_resolved' | 'check_expectation_label_not_used' | 'invalid_check_expectation_formula' | 'invalid_workbook_op' | 'op_target_mismatch' | 'missing_concrete_op' | 'missing_workbook_op' | 'adapter_missing_capability' | 'apply_not_verified' | 'apply_mismatch' | 'apply_failed' | 'readback_failed' | 'readback_missing' | 'readback_unexpected' | 'value_mismatch' | 'formula_mismatch' | 'invalid_check_verification' | 'check_verification_failed' | 'check_failed' | 'check_not_verified' | 'runtime_rejected';
46
+ export declare const workbookRunErrorCodes: readonly ("invalid_action_input" | "action_not_found" | "find_failed" | "checks_failed" | "action_failed" | "ref_not_in_refs" | "duplicate_ref" | "command_target_not_resolved" | "formula_input_not_resolved" | "formula_input_not_labeled" | "formula_label_not_resolved" | "formula_label_not_used" | "invalid_formula" | "change_target_not_resolved" | "check_status_not_planned" | "check_target_not_resolved" | "check_ref_not_resolved" | "check_expectation_input_not_resolved" | "check_expectation_input_not_labeled" | "check_expectation_label_not_resolved" | "check_expectation_label_not_used" | "invalid_check_expectation_formula" | "invalid_workbook_op" | "op_target_mismatch" | "missing_concrete_op" | "missing_workbook_op" | "adapter_missing_capability" | "apply_not_verified" | "apply_mismatch" | "apply_failed" | "readback_failed" | "readback_missing" | "readback_unexpected" | "value_mismatch" | "formula_mismatch" | "invalid_check_verification" | "check_verification_failed" | "check_failed" | "check_not_verified" | "runtime_rejected")[];
45
47
  export declare function isWorkbookRunErrorCode(value: unknown): value is WorkbookRunErrorCode;
46
48
  export interface WorkbookRunError {
47
49
  readonly code: WorkbookRunErrorCode;
package/dist/result.js CHANGED
@@ -8,17 +8,24 @@ export const workbookRunErrorCodes = Object.freeze([
8
8
  'duplicate_ref',
9
9
  'command_target_not_resolved',
10
10
  'formula_input_not_resolved',
11
+ 'formula_input_not_labeled',
12
+ 'formula_label_not_resolved',
13
+ 'formula_label_not_used',
11
14
  'invalid_formula',
12
15
  'change_target_not_resolved',
13
16
  'check_status_not_planned',
14
17
  'check_target_not_resolved',
15
18
  'check_ref_not_resolved',
16
19
  'check_expectation_input_not_resolved',
20
+ 'check_expectation_input_not_labeled',
21
+ 'check_expectation_label_not_resolved',
22
+ 'check_expectation_label_not_used',
17
23
  'invalid_check_expectation_formula',
18
24
  'invalid_workbook_op',
19
25
  'op_target_mismatch',
20
26
  'missing_concrete_op',
21
27
  'missing_workbook_op',
28
+ 'adapter_missing_capability',
22
29
  'apply_not_verified',
23
30
  'apply_mismatch',
24
31
  'apply_failed',
@@ -1 +1 @@
1
- {"version":3,"file":"result.js","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"AAwFA,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC;IACjD,kBAAkB;IAClB,sBAAsB;IACtB,aAAa;IACb,eAAe;IACf,eAAe;IACf,iBAAiB;IACjB,eAAe;IACf,6BAA6B;IAC7B,4BAA4B;IAC5B,iBAAiB;IACjB,4BAA4B;IAC5B,0BAA0B;IAC1B,2BAA2B;IAC3B,wBAAwB;IACxB,sCAAsC;IACtC,mCAAmC;IACnC,qBAAqB;IACrB,oBAAoB;IACpB,qBAAqB;IACrB,qBAAqB;IACrB,oBAAoB;IACpB,gBAAgB;IAChB,cAAc;IACd,iBAAiB;IACjB,kBAAkB;IAClB,qBAAqB;IACrB,gBAAgB;IAChB,kBAAkB;IAClB,4BAA4B;IAC5B,2BAA2B;IAC3B,cAAc;IACd,oBAAoB;IACpB,kBAAkB;CACuB,CAAC,CAAA;AAE5C,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,CAAA;AAC1F,CAAC"}
1
+ {"version":3,"file":"result.js","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"AAiGA,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC;IACjD,kBAAkB;IAClB,sBAAsB;IACtB,aAAa;IACb,eAAe;IACf,eAAe;IACf,iBAAiB;IACjB,eAAe;IACf,6BAA6B;IAC7B,4BAA4B;IAC5B,2BAA2B;IAC3B,4BAA4B;IAC5B,wBAAwB;IACxB,iBAAiB;IACjB,4BAA4B;IAC5B,0BAA0B;IAC1B,2BAA2B;IAC3B,wBAAwB;IACxB,sCAAsC;IACtC,qCAAqC;IACrC,sCAAsC;IACtC,kCAAkC;IAClC,mCAAmC;IACnC,qBAAqB;IACrB,oBAAoB;IACpB,qBAAqB;IACrB,qBAAqB;IACrB,4BAA4B;IAC5B,oBAAoB;IACpB,gBAAgB;IAChB,cAAc;IACd,iBAAiB;IACjB,kBAAkB;IAClB,qBAAqB;IACrB,gBAAgB;IAChB,kBAAkB;IAClB,4BAA4B;IAC5B,2BAA2B;IAC3B,cAAc;IACd,oBAAoB;IACpB,kBAAkB;CACuB,CAAC,CAAA;AAE5C,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,CAAA;AAC1F,CAAC"}
package/dist/run.d.ts CHANGED
@@ -2,6 +2,7 @@ import type { WorkbookRef } from './find.js';
2
2
  import { type WorkbookActionInput } from './input.js';
3
3
  import { type WorkbookActionMap, type WorkbookActionPlan, type WorkbookModel } from './model.js';
4
4
  import type { EngineOp } from './ops.js';
5
+ import { type WorkbookExecutablePlan, type WorkbookPlanDataRefs } from './plan-data.js';
5
6
  import { type WorkbookRunReadback } from './readback.js';
6
7
  import { type WorkbookCheckResult, type WorkbookRunError, type WorkbookRunResult, type WorkbookUndoRef } from './result.js';
7
8
  type MaybePromise<T> = T | Promise<T>;
@@ -17,10 +18,11 @@ export interface WorkbookRunOptions {
17
18
  readonly requireApplyProof?: boolean;
18
19
  }
19
20
  export interface WorkbookRunAdapter<Refs = unknown> {
20
- readonly apply: (plan: WorkbookActionPlan<Refs>) => MaybePromise<WorkbookRunApplyResult>;
21
- readonly read?: (targets: readonly WorkbookRef[], plan: WorkbookActionPlan<Refs>) => MaybePromise<readonly WorkbookRunReadback[]>;
22
- readonly verifyChecks?: (checks: readonly WorkbookCheckResult[], plan: WorkbookActionPlan<Refs>) => MaybePromise<readonly WorkbookCheckResult[]>;
21
+ apply?(plan: WorkbookActionPlan<Refs>): MaybePromise<WorkbookRunApplyResult>;
22
+ read?(targets: readonly WorkbookRef[], plan: WorkbookActionPlan<Refs>): MaybePromise<readonly WorkbookRunReadback[]>;
23
+ verifyChecks?(checks: readonly WorkbookCheckResult[], plan: WorkbookActionPlan<Refs>): MaybePromise<readonly WorkbookCheckResult[]>;
23
24
  }
24
25
  export declare function runWorkbookPlan<Refs>(plan: WorkbookActionPlan<Refs>, adapter: WorkbookRunAdapter<Refs>, options?: WorkbookRunOptions): Promise<WorkbookRunResult>;
26
+ export declare function runWorkbookPlan(plan: WorkbookExecutablePlan, adapter: WorkbookRunAdapter<WorkbookPlanDataRefs>, options?: WorkbookRunOptions): Promise<WorkbookRunResult>;
25
27
  export declare function runWorkbookAction<Refs, Actions extends WorkbookActionMap<Refs>>(model: WorkbookModel<Refs, Actions>, actionName: string, adapter: WorkbookRunAdapter<Refs>, input?: WorkbookActionInput, options?: WorkbookRunOptions): Promise<WorkbookRunResult>;
26
28
  export {};
package/dist/run.js CHANGED
@@ -1,7 +1,9 @@
1
1
  import { isWorkbookOp } from './guards.js';
2
2
  import { normalizeWorkbookActionInput } from './input.js';
3
3
  import { planWorkbookAction } from './model.js';
4
+ import { hydratePlanData, isHydratedPlan } from './plan-data.js';
4
5
  import { verifyWorkbookReadbacks } from './readback.js';
6
+ import { checkRuntimeAdapter } from './requirements.js';
5
7
  import { isWorkbookRunErrorCode, } from './result.js';
6
8
  import { verifyPlan } from './verify.js';
7
9
  function errorMessage(error) {
@@ -50,6 +52,15 @@ function failedFromPlanIssues(plan) {
50
52
  checks: plan.checks,
51
53
  });
52
54
  }
55
+ function changedAfterApply(plan, result) {
56
+ if (result.appliedOps !== undefined) {
57
+ return result.appliedOps.length > 0 || result.undo !== undefined ? plan.changed : [];
58
+ }
59
+ return plan.changed;
60
+ }
61
+ function changedAfterFailedApply(plan, result) {
62
+ return result.undo !== undefined || (result.appliedOps !== undefined && result.appliedOps.length > 0) ? plan.changed : [];
63
+ }
53
64
  function failedApplyResult(plan, result) {
54
65
  const errors = result.errors !== undefined && result.errors.length > 0
55
66
  ? result.errors
@@ -58,7 +69,7 @@ function failedApplyResult(plan, result) {
58
69
  return failedRun({
59
70
  errors,
60
71
  apply,
61
- changed: result.appliedOps !== undefined || result.undo !== undefined ? plan.changed : [],
72
+ changed: changedAfterFailedApply(plan, result),
62
73
  checks: plan.checks,
63
74
  ...(result.undo !== undefined ? { undo: result.undo } : {}),
64
75
  });
@@ -216,6 +227,16 @@ function applyProofErrors(apply, options) {
216
227
  }
217
228
  return [];
218
229
  }
230
+ function needsApply(capabilities) {
231
+ return capabilities.some((capability) => capability === 'writeFormula' ||
232
+ capability === 'writeValue' ||
233
+ capability === 'format' ||
234
+ capability === 'clear' ||
235
+ capability === 'applyOp');
236
+ }
237
+ function changedAfterOptionalApply(plan, result) {
238
+ return result === undefined ? [] : changedAfterApply(plan, result);
239
+ }
219
240
  function validateVerifiedChecks(originalContracts, originalKinds, verified) {
220
241
  if (!Array.isArray(verified)) {
221
242
  return {
@@ -313,41 +334,53 @@ function unverifiedCheckErrors(checks) {
313
334
  .filter((check) => check.status === 'planned')
314
335
  .map((check) => runError('check_not_verified', `${checkLabel(check)} did not verify check ${check.kind}: ${check.message}`));
315
336
  }
316
- export async function runWorkbookPlan(plan, adapter, options = {}) {
337
+ async function runLiveWorkbookPlan(plan, adapter, options = {}) {
317
338
  const invalidPlan = failedFromPlanIssues(plan);
318
339
  if (invalidPlan !== null) {
319
340
  return invalidPlan;
320
341
  }
321
- let applyResult;
322
- try {
323
- applyResult = await adapter.apply(plan);
324
- }
325
- catch (error) {
342
+ const adapterCheck = checkRuntimeAdapter(plan, adapter);
343
+ if (adapterCheck.status === 'invalid') {
326
344
  return failedRun({
327
- errors: [runError('apply_failed', errorMessage(error))],
345
+ errors: adapterCheck.issues.map((adapterIssue) => runError('adapter_missing_capability', adapterIssue.message)),
328
346
  checks: plan.checks,
329
347
  });
330
348
  }
331
- const applyValidation = validateApplyResult(plan, applyResult);
332
- if (applyValidation.status === 'invalid') {
333
- return applyValidation.result;
334
- }
335
- const validApplyResult = applyValidation.result;
336
- if (validApplyResult.status === 'failed') {
337
- return failedApplyResult(plan, validApplyResult);
338
- }
339
- const apply = describeApply(validApplyResult);
340
- const unverified = applyUnverified(apply);
341
- const applyErrors = applyProofErrors(apply, options);
342
- if (applyErrors.length > 0) {
343
- return failedRun({
344
- errors: applyErrors,
345
- apply,
346
- changed: plan.changed,
347
- checks: plan.checks,
348
- ...(validApplyResult.undo !== undefined ? { undo: validApplyResult.undo } : {}),
349
- unverified,
350
- });
349
+ let validApplyResult;
350
+ let apply;
351
+ let unverified = [];
352
+ if (needsApply(adapterCheck.requiredCapabilities)) {
353
+ let applyResult;
354
+ try {
355
+ applyResult = await adapter.apply?.(plan);
356
+ }
357
+ catch (error) {
358
+ return failedRun({
359
+ errors: [runError('apply_failed', errorMessage(error))],
360
+ checks: plan.checks,
361
+ });
362
+ }
363
+ const applyValidation = validateApplyResult(plan, applyResult);
364
+ if (applyValidation.status === 'invalid') {
365
+ return applyValidation.result;
366
+ }
367
+ validApplyResult = applyValidation.result;
368
+ if (validApplyResult.status === 'failed') {
369
+ return failedApplyResult(plan, validApplyResult);
370
+ }
371
+ apply = describeApply(validApplyResult);
372
+ unverified = applyUnverified(apply);
373
+ const applyErrors = applyProofErrors(apply, options);
374
+ if (applyErrors.length > 0) {
375
+ return failedRun({
376
+ errors: applyErrors,
377
+ apply,
378
+ changed: changedAfterApply(plan, validApplyResult),
379
+ checks: plan.checks,
380
+ ...(validApplyResult.undo !== undefined ? { undo: validApplyResult.undo } : {}),
381
+ unverified,
382
+ });
383
+ }
351
384
  }
352
385
  let checks = plan.checks;
353
386
  const targets = readbackTargets(checks);
@@ -357,9 +390,9 @@ export async function runWorkbookPlan(plan, adapter, options = {}) {
357
390
  return failedRun({
358
391
  errors: readbackVerification.issues.map((issue) => runError(issue.code, issue.message)),
359
392
  apply,
360
- changed: plan.changed,
393
+ changed: changedAfterOptionalApply(plan, validApplyResult),
361
394
  checks: readbackVerification.checks,
362
- ...(validApplyResult.undo !== undefined ? { undo: validApplyResult.undo } : {}),
395
+ ...(validApplyResult?.undo !== undefined ? { undo: validApplyResult.undo } : {}),
363
396
  unverified,
364
397
  });
365
398
  }
@@ -371,9 +404,9 @@ export async function runWorkbookPlan(plan, adapter, options = {}) {
371
404
  return failedRun({
372
405
  errors: [runError('readback_failed', errorMessage(error))],
373
406
  apply,
374
- changed: plan.changed,
407
+ changed: changedAfterOptionalApply(plan, validApplyResult),
375
408
  checks,
376
- ...(validApplyResult.undo !== undefined ? { undo: validApplyResult.undo } : {}),
409
+ ...(validApplyResult?.undo !== undefined ? { undo: validApplyResult.undo } : {}),
377
410
  unverified,
378
411
  });
379
412
  }
@@ -383,9 +416,9 @@ export async function runWorkbookPlan(plan, adapter, options = {}) {
383
416
  return failedRun({
384
417
  errors: readbackVerification.issues.map((issue) => runError(issue.code, issue.message)),
385
418
  apply,
386
- changed: plan.changed,
419
+ changed: changedAfterOptionalApply(plan, validApplyResult),
387
420
  checks,
388
- ...(validApplyResult.undo !== undefined ? { undo: validApplyResult.undo } : {}),
421
+ ...(validApplyResult?.undo !== undefined ? { undo: validApplyResult.undo } : {}),
389
422
  unverified,
390
423
  });
391
424
  }
@@ -396,9 +429,9 @@ export async function runWorkbookPlan(plan, adapter, options = {}) {
396
429
  return failedRun({
397
430
  errors: checkVerification.errors,
398
431
  apply,
399
- changed: plan.changed,
432
+ changed: changedAfterOptionalApply(plan, validApplyResult),
400
433
  checks,
401
- ...(validApplyResult.undo !== undefined ? { undo: validApplyResult.undo } : {}),
434
+ ...(validApplyResult?.undo !== undefined ? { undo: validApplyResult.undo } : {}),
402
435
  unverified,
403
436
  });
404
437
  }
@@ -407,21 +440,27 @@ export async function runWorkbookPlan(plan, adapter, options = {}) {
407
440
  return failedRun({
408
441
  errors: unverifiedErrors,
409
442
  apply,
410
- changed: plan.changed,
443
+ changed: changedAfterOptionalApply(plan, validApplyResult),
411
444
  checks,
412
- ...(validApplyResult.undo !== undefined ? { undo: validApplyResult.undo } : {}),
445
+ ...(validApplyResult?.undo !== undefined ? { undo: validApplyResult.undo } : {}),
413
446
  unverified,
414
447
  });
415
448
  }
416
449
  return {
417
450
  status: 'done',
418
- apply,
419
- changed: plan.changed,
451
+ ...(apply !== undefined ? { apply } : {}),
452
+ changed: changedAfterOptionalApply(plan, validApplyResult),
420
453
  checks,
421
- ...(validApplyResult.undo !== undefined ? { undo: validApplyResult.undo } : {}),
454
+ ...(validApplyResult?.undo !== undefined ? { undo: validApplyResult.undo } : {}),
422
455
  ...unverifiedProperty(unverified),
423
456
  };
424
457
  }
458
+ export function runWorkbookPlan(plan, adapter, options = {}) {
459
+ if (isHydratedPlan(plan)) {
460
+ return runLiveWorkbookPlan(plan, adapter, options);
461
+ }
462
+ return runLiveWorkbookPlan(hydratePlanData(plan), adapter, options);
463
+ }
425
464
  export async function runWorkbookAction(model, actionName, adapter, input, options) {
426
465
  const result = planWorkbookAction(model, actionName, input);
427
466
  if (result.status === 'failed') {
@@ -430,6 +469,6 @@ export async function runWorkbookAction(model, actionName, adapter, input, optio
430
469
  checks: result.checks,
431
470
  });
432
471
  }
433
- return runWorkbookPlan(result.plan, adapter, options);
472
+ return runLiveWorkbookPlan(result.plan, adapter, options);
434
473
  }
435
474
  //# sourceMappingURL=run.js.map
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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"}
package/dist/verify.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { type WorkbookActionPlanResultDescription, type WorkbookRefDescription } from './describe.js';
1
+ import { type WorkbookActionPlanDescription, type WorkbookActionPlanResultDescription, type WorkbookRefDescription } from './describe.js';
2
2
  import { type WorkbookActionMap, type WorkbookActionPlan, type WorkbookModel } from './model.js';
3
3
  import { type WorkbookRuntimeRequirements } from './requirements.js';
4
4
  import { type WorkbookActionInput } from './input.js';
5
- export type WorkbookPlanIssueCode = 'invalid_action_input' | 'ref_not_in_refs' | 'duplicate_ref' | 'command_target_not_resolved' | 'formula_input_not_resolved' | 'invalid_formula' | 'change_target_not_resolved' | 'check_status_not_planned' | 'check_target_not_resolved' | 'check_ref_not_resolved' | 'check_expectation_input_not_resolved' | 'invalid_check_expectation_formula' | 'invalid_workbook_op' | 'op_target_mismatch' | 'missing_concrete_op' | 'missing_workbook_op';
5
+ export type WorkbookPlanIssueCode = 'invalid_action_input' | 'ref_not_in_refs' | 'duplicate_ref' | 'command_target_not_resolved' | 'formula_input_not_resolved' | 'formula_input_not_labeled' | 'formula_label_not_resolved' | 'formula_label_not_used' | 'invalid_formula' | 'change_target_not_resolved' | 'check_status_not_planned' | 'check_target_not_resolved' | 'check_ref_not_resolved' | 'check_expectation_input_not_resolved' | 'check_expectation_input_not_labeled' | 'check_expectation_label_not_resolved' | 'check_expectation_label_not_used' | 'invalid_check_expectation_formula' | 'invalid_workbook_op' | 'op_target_mismatch' | 'missing_concrete_op' | 'missing_workbook_op';
6
6
  export interface WorkbookPlanIssue {
7
7
  readonly code: WorkbookPlanIssueCode;
8
8
  readonly message: string;
@@ -30,4 +30,5 @@ export interface WorkbookModelVerificationOptions {
30
30
  readonly inputs?: Partial<Record<string, WorkbookActionInput>>;
31
31
  }
32
32
  export declare function verifyPlan<Refs>(plan: WorkbookActionPlan<Refs>): WorkbookPlanVerification;
33
+ export declare function verifyPlanData(plan: WorkbookActionPlanDescription): WorkbookPlanVerification;
33
34
  export declare function verifyModel<Refs, Actions extends WorkbookActionMap<Refs>>(model: WorkbookModel<Refs, Actions>, options?: WorkbookModelVerificationOptions): WorkbookModelVerification;
package/dist/verify.js CHANGED
@@ -1,10 +1,11 @@
1
1
  import { parseFormula } from '@bilig/formula';
2
- import { describePlanResult, describeRef } from './describe.js';
2
+ import { describePlanResult, describeRef, } from './describe.js';
3
3
  import { collectWorkbookRefs } from './find.js';
4
4
  import { isWorkbookOp } from './guards.js';
5
5
  import { inspectModel, planWorkbookAction, } from './model.js';
6
6
  import { describeRuntimeRequirements } from './requirements.js';
7
7
  import { getOwnActionInput, hasOwnActionInput, normalizeWorkbookActionInput } from './input.js';
8
+ import { hydratePlanData } from './plan-data.js';
8
9
  function refKey(ref) {
9
10
  return `${ref.kind}:${ref.id}`;
10
11
  }
@@ -214,6 +215,16 @@ function opTargetMismatch(op, target) {
214
215
  function errorMessage(error) {
215
216
  return error instanceof Error ? error.message : String(error);
216
217
  }
218
+ function formulaLabelsForCommand(command) {
219
+ return command.labels ?? [];
220
+ }
221
+ function formulaLabelsForExpectation(expectation) {
222
+ return expectation.labels ?? [];
223
+ }
224
+ function hasLabelForInput(labels, input) {
225
+ const inputKey = refKey(input);
226
+ return labels.some((label) => refKey(label.ref) === inputKey);
227
+ }
217
228
  export function verifyPlan(plan) {
218
229
  const issues = [];
219
230
  const knownRefs = new Set();
@@ -265,6 +276,7 @@ export function verifyPlan(plan) {
265
276
  }));
266
277
  }
267
278
  if (command.kind === 'writeFormula') {
279
+ const labels = formulaLabelsForCommand(command);
268
280
  try {
269
281
  parseFormula(command.formula);
270
282
  }
@@ -284,6 +296,33 @@ export function verifyPlan(plan) {
284
296
  message: `${input.label} is used as a formula input but is missing from refsUsed`,
285
297
  }));
286
298
  }
299
+ if (!hasLabelForInput(labels, input)) {
300
+ issues.push(issue({
301
+ code: 'formula_input_not_labeled',
302
+ path: `commands[${commandIndex}].inputs[${inputIndex}]`,
303
+ ref: input,
304
+ message: `${input.label} is used as a formula input but has no formula label`,
305
+ }));
306
+ }
307
+ });
308
+ const inputKeys = new Set(command.inputs.map(refKey));
309
+ labels.forEach((label, labelIndex) => {
310
+ if (!hasRef(label.ref) && !inputKeys.has(refKey(label.ref))) {
311
+ issues.push(issue({
312
+ code: 'formula_label_not_resolved',
313
+ path: `commands[${commandIndex}].labels[${labelIndex}].ref`,
314
+ ref: label.ref,
315
+ message: `${label.ref.label} is used as a formula label but is missing from refsUsed`,
316
+ }));
317
+ }
318
+ if (!command.formula.includes(label.name)) {
319
+ issues.push(issue({
320
+ code: 'formula_label_not_used',
321
+ path: `commands[${commandIndex}].labels[${labelIndex}].name`,
322
+ ref: label.ref,
323
+ message: `Formula label ${label.name} for ${label.ref.label} does not appear in the formula`,
324
+ }));
325
+ }
287
326
  });
288
327
  }
289
328
  if (command.kind === 'op') {
@@ -361,8 +400,10 @@ export function verifyPlan(plan) {
361
400
  }
362
401
  });
363
402
  if (check.expectation?.kind === 'formulaEquals') {
403
+ const expectation = check.expectation;
404
+ const labels = formulaLabelsForExpectation(expectation);
364
405
  try {
365
- parseFormula(check.expectation.formula);
406
+ parseFormula(expectation.formula);
366
407
  }
367
408
  catch (error) {
368
409
  issues.push({
@@ -371,7 +412,7 @@ export function verifyPlan(plan) {
371
412
  message: `Formula expectation for ${check.target?.label ?? check.kind} is not parseable: ${errorMessage(error)}`,
372
413
  });
373
414
  }
374
- check.expectation.inputs.forEach((input, inputIndex) => {
415
+ expectation.inputs.forEach((input, inputIndex) => {
375
416
  if (!hasRef(input)) {
376
417
  issues.push(issue({
377
418
  code: 'check_expectation_input_not_resolved',
@@ -380,6 +421,33 @@ export function verifyPlan(plan) {
380
421
  message: `${input.label} appears in a formula expectation but is missing from refsUsed`,
381
422
  }));
382
423
  }
424
+ if (!hasLabelForInput(labels, input)) {
425
+ issues.push(issue({
426
+ code: 'check_expectation_input_not_labeled',
427
+ path: `checks[${checkIndex}].expectation.inputs[${inputIndex}]`,
428
+ ref: input,
429
+ message: `${input.label} appears in a formula expectation but has no formula label`,
430
+ }));
431
+ }
432
+ });
433
+ const inputKeys = new Set(expectation.inputs.map(refKey));
434
+ labels.forEach((label, labelIndex) => {
435
+ if (!hasRef(label.ref) && !inputKeys.has(refKey(label.ref))) {
436
+ issues.push(issue({
437
+ code: 'check_expectation_label_not_resolved',
438
+ path: `checks[${checkIndex}].expectation.labels[${labelIndex}].ref`,
439
+ ref: label.ref,
440
+ message: `${label.ref.label} appears in a formula expectation label but is missing from refsUsed`,
441
+ }));
442
+ }
443
+ if (!expectation.formula.includes(label.name)) {
444
+ issues.push(issue({
445
+ code: 'check_expectation_label_not_used',
446
+ path: `checks[${checkIndex}].expectation.labels[${labelIndex}].name`,
447
+ ref: label.ref,
448
+ message: `Formula expectation label ${label.name} for ${label.ref.label} does not appear in the formula`,
449
+ }));
450
+ }
383
451
  });
384
452
  }
385
453
  });
@@ -390,6 +458,9 @@ export function verifyPlan(plan) {
390
458
  issues,
391
459
  };
392
460
  }
461
+ export function verifyPlanData(plan) {
462
+ return verifyPlan(hydratePlanData(plan));
463
+ }
393
464
  export function verifyModel(model, options = {}) {
394
465
  const actions = inspectModel(model).actions.map((actionName) => {
395
466
  const planning = planWorkbookAction(model, actionName, options.inputs?.[actionName]);
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"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"}