@bilig/workbook 0.96.0 → 0.105.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 +156 -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 +3 -0
  6. package/dist/index.js +3 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/input.d.ts +12 -1
  9. package/dist/input.js +242 -5
  10. package/dist/input.js.map +1 -1
  11. package/dist/model-description.d.ts +17 -0
  12. package/dist/model-description.js +252 -0
  13. package/dist/model-description.js.map +1 -0
  14. package/dist/model-plan-result.d.ts +1 -0
  15. package/dist/model-plan-result.js +17 -0
  16. package/dist/model-plan-result.js.map +1 -1
  17. package/dist/model.d.ts +1 -0
  18. package/dist/model.js +21 -14
  19. package/dist/model.js.map +1 -1
  20. package/dist/prepare.d.ts +22 -0
  21. package/dist/prepare.js +41 -0
  22. package/dist/prepare.js.map +1 -0
  23. package/dist/requirements.d.ts +4 -3
  24. package/dist/requirements.js +50 -7
  25. package/dist/requirements.js.map +1 -1
  26. package/dist/result.d.ts +2 -2
  27. package/dist/result.js +1 -0
  28. package/dist/result.js.map +1 -1
  29. package/dist/run-apply.d.ts +17 -0
  30. package/dist/run-apply.js +274 -0
  31. package/dist/run-apply.js.map +1 -0
  32. package/dist/run-check-verification.d.ts +8 -0
  33. package/dist/run-check-verification.js +174 -0
  34. package/dist/run-check-verification.js.map +1 -0
  35. package/dist/run-data.d.ts +6 -0
  36. package/dist/run-data.js +120 -0
  37. package/dist/run-data.js.map +1 -0
  38. package/dist/run-description.js +12 -9
  39. package/dist/run-description.js.map +1 -1
  40. package/dist/run.d.ts +2 -2
  41. package/dist/run.js +4 -560
  42. package/dist/run.js.map +1 -1
  43. package/dist/schema.d.ts +4 -2
  44. package/dist/schema.js +201 -7
  45. package/dist/schema.js.map +1 -1
  46. package/dist/testing.d.ts +34 -0
  47. package/dist/testing.js +85 -0
  48. package/dist/testing.js.map +1 -0
  49. package/fixtures/model-description.json +29 -0
  50. package/fixtures/runtime-requirements.json +72 -0
  51. package/package.json +19 -4
@@ -0,0 +1,252 @@
1
+ import { WorkbookActionInputError, normalizeWorkbookActionInputDescription } from './input.js';
2
+ function modelDescriptionIssue(code, path, message) {
3
+ return Object.freeze({ code, path, message });
4
+ }
5
+ function freezeModelDescriptionData(value, seen = new WeakSet()) {
6
+ if (typeof value !== 'object' || value === null || seen.has(value)) {
7
+ return value;
8
+ }
9
+ seen.add(value);
10
+ Object.values(Object.getOwnPropertyDescriptors(value)).forEach((descriptor) => {
11
+ if ('value' in descriptor) {
12
+ freezeModelDescriptionData(descriptor.value, seen);
13
+ }
14
+ });
15
+ return Object.freeze(value);
16
+ }
17
+ function isPlainObject(value) {
18
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
19
+ return false;
20
+ }
21
+ const prototype = Object.getPrototypeOf(value);
22
+ return prototype === Object.prototype || prototype === null;
23
+ }
24
+ function dataValue(issues, value, key, path, required) {
25
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
26
+ if (descriptor === undefined) {
27
+ if (required) {
28
+ issues.push(modelDescriptionIssue('missing_field', path, `Workbook model description ${path} is required`));
29
+ }
30
+ return undefined;
31
+ }
32
+ if (!('value' in descriptor)) {
33
+ issues.push(modelDescriptionIssue('invalid_field', path, `Workbook model description ${path} must be a data property`));
34
+ return undefined;
35
+ }
36
+ return descriptor.value;
37
+ }
38
+ function pushUnexpectedFields(issues, value, path, allowed) {
39
+ if (Object.getOwnPropertySymbols(value).length > 0) {
40
+ issues.push(modelDescriptionIssue('unexpected_field', path, `Workbook model description ${path} must not contain symbol keys`));
41
+ }
42
+ Object.keys(value).forEach((key) => {
43
+ if (!allowed.has(key)) {
44
+ const fieldPath = path === 'description' ? key : `${path}.${key}`;
45
+ issues.push(modelDescriptionIssue('unexpected_field', fieldPath, `Workbook model description ${fieldPath} is not supported`));
46
+ }
47
+ });
48
+ }
49
+ function normalizeRequiredName(issues, value, path, label) {
50
+ if (typeof value !== 'string') {
51
+ issues.push(modelDescriptionIssue('invalid_field', path, `${label} must be a string`));
52
+ return undefined;
53
+ }
54
+ const normalized = value.trim();
55
+ if (normalized === '') {
56
+ issues.push(modelDescriptionIssue('invalid_field', path, `${label} cannot be empty`));
57
+ return undefined;
58
+ }
59
+ if (normalized !== value) {
60
+ issues.push(modelDescriptionIssue('invalid_field', path, `${label} must not have leading or trailing whitespace`));
61
+ return undefined;
62
+ }
63
+ return normalized;
64
+ }
65
+ function normalizeOptionalDescription(issues, value, path, label) {
66
+ if (value === undefined) {
67
+ return undefined;
68
+ }
69
+ if (typeof value !== 'string') {
70
+ issues.push(modelDescriptionIssue('invalid_field', path, `${label} must be a string`));
71
+ return undefined;
72
+ }
73
+ const normalized = value.trim();
74
+ if (normalized === '') {
75
+ issues.push(modelDescriptionIssue('invalid_field', path, `${label} cannot be empty`));
76
+ return undefined;
77
+ }
78
+ return normalized;
79
+ }
80
+ function inputDescriptionPath(basePath, error) {
81
+ if (!(error instanceof WorkbookActionInputError)) {
82
+ return basePath;
83
+ }
84
+ if (error.path === 'input') {
85
+ return basePath;
86
+ }
87
+ if (error.path.startsWith('input.')) {
88
+ return `${basePath}${error.path.slice('input'.length)}`;
89
+ }
90
+ if (error.path.startsWith('input[')) {
91
+ return `${basePath}${error.path.slice('input'.length)}`;
92
+ }
93
+ return basePath;
94
+ }
95
+ function errorMessage(error) {
96
+ return error instanceof Error ? error.message : String(error);
97
+ }
98
+ function normalizeInputDescription(issues, value, path) {
99
+ if (value === undefined) {
100
+ return undefined;
101
+ }
102
+ try {
103
+ return normalizeWorkbookActionInputDescription(value);
104
+ }
105
+ catch (error) {
106
+ issues.push(modelDescriptionIssue('invalid_field', inputDescriptionPath(path, error), `Workbook model description ${path} input is invalid: ${errorMessage(error)}`));
107
+ return undefined;
108
+ }
109
+ }
110
+ function buildStringArray(issues, value, path, label) {
111
+ if (!Array.isArray(value)) {
112
+ issues.push(modelDescriptionIssue('invalid_field', path, `Workbook model description ${path} must be an array`));
113
+ return Object.freeze([]);
114
+ }
115
+ const output = [];
116
+ const seen = new Set();
117
+ const descriptors = Object.getOwnPropertyDescriptors(value);
118
+ for (let index = 0; index < value.length; index += 1) {
119
+ const entryPath = `${path}[${String(index)}]`;
120
+ const descriptor = descriptors[String(index)];
121
+ if (descriptor === undefined || !descriptor.enumerable || !('value' in descriptor)) {
122
+ issues.push(modelDescriptionIssue('invalid_field', entryPath, `Workbook model description ${entryPath} must be a data property`));
123
+ continue;
124
+ }
125
+ const name = normalizeRequiredName(issues, descriptor.value, entryPath, label);
126
+ if (name === undefined) {
127
+ continue;
128
+ }
129
+ if (seen.has(name)) {
130
+ issues.push(modelDescriptionIssue('duplicate_action', entryPath, `Workbook model description ${entryPath} duplicates ${name}`));
131
+ continue;
132
+ }
133
+ seen.add(name);
134
+ output.push(name);
135
+ }
136
+ return Object.freeze(output);
137
+ }
138
+ function buildActionDescription(issues, value, path) {
139
+ if (!isPlainObject(value)) {
140
+ issues.push(modelDescriptionIssue('invalid_type', path, `Workbook model description ${path} must be a plain object`));
141
+ return {};
142
+ }
143
+ pushUnexpectedFields(issues, value, path, new Set(['name', 'description', 'input']));
144
+ const name = normalizeRequiredName(issues, dataValue(issues, value, 'name', `${path}.name`, true), `${path}.name`, `Workbook model description ${path}.name`);
145
+ const description = normalizeOptionalDescription(issues, dataValue(issues, value, 'description', `${path}.description`, false), `${path}.description`, `Workbook model description ${path}.description`);
146
+ const input = normalizeInputDescription(issues, dataValue(issues, value, 'input', `${path}.input`, false), `${path}.input`);
147
+ if (name === undefined) {
148
+ return {};
149
+ }
150
+ return {
151
+ name,
152
+ action: freezeModelDescriptionData({
153
+ name,
154
+ ...(description !== undefined ? { description } : {}),
155
+ ...(input !== undefined ? { input } : {}),
156
+ }),
157
+ };
158
+ }
159
+ function buildActionDescriptions(issues, value, path) {
160
+ if (!Array.isArray(value)) {
161
+ issues.push(modelDescriptionIssue('invalid_field', path, `Workbook model description ${path} must be an array`));
162
+ return { actions: Object.freeze([]), names: Object.freeze([]) };
163
+ }
164
+ const actions = [];
165
+ const names = [];
166
+ const seen = new Set();
167
+ const descriptors = Object.getOwnPropertyDescriptors(value);
168
+ for (let index = 0; index < value.length; index += 1) {
169
+ const entryPath = `${path}[${String(index)}]`;
170
+ const descriptor = descriptors[String(index)];
171
+ if (descriptor === undefined || !descriptor.enumerable || !('value' in descriptor)) {
172
+ issues.push(modelDescriptionIssue('invalid_field', entryPath, `Workbook model description ${entryPath} must be a data property`));
173
+ continue;
174
+ }
175
+ const built = buildActionDescription(issues, descriptor.value, entryPath);
176
+ if (built.name === undefined || built.action === undefined) {
177
+ continue;
178
+ }
179
+ if (seen.has(built.name)) {
180
+ issues.push(modelDescriptionIssue('duplicate_action', `${entryPath}.name`, `Workbook model description ${entryPath}.name duplicates ${built.name}`));
181
+ continue;
182
+ }
183
+ seen.add(built.name);
184
+ names.push(built.name);
185
+ actions.push(built.action);
186
+ }
187
+ return {
188
+ actions: freezeModelDescriptionData(actions),
189
+ names: Object.freeze(names),
190
+ };
191
+ }
192
+ function actionNamesMatch(left, right) {
193
+ return left.length === right.length && left.every((name, index) => right[index] === name);
194
+ }
195
+ function buildModelDescription(value, issues) {
196
+ if (!isPlainObject(value)) {
197
+ issues.push(modelDescriptionIssue('invalid_type', 'description', 'Workbook model description must be a plain object'));
198
+ return {
199
+ actionNames: Object.freeze([]),
200
+ actionDetailNames: Object.freeze([]),
201
+ };
202
+ }
203
+ pushUnexpectedFields(issues, value, 'description', new Set(['name', 'description', 'actions', 'actionDetails', 'hasChecks']));
204
+ const name = normalizeRequiredName(issues, dataValue(issues, value, 'name', 'name', true), 'name', 'Workbook model description name');
205
+ const description = normalizeOptionalDescription(issues, dataValue(issues, value, 'description', 'description', false), 'description', 'Workbook model description description');
206
+ const actionNames = buildStringArray(issues, dataValue(issues, value, 'actions', 'actions', true), 'actions', 'Workbook model description action name');
207
+ const actionDetails = buildActionDescriptions(issues, dataValue(issues, value, 'actionDetails', 'actionDetails', true), 'actionDetails');
208
+ const hasChecksValue = dataValue(issues, value, 'hasChecks', 'hasChecks', true);
209
+ const hasChecks = typeof hasChecksValue === 'boolean' ? hasChecksValue : undefined;
210
+ if (hasChecksValue !== undefined && typeof hasChecksValue !== 'boolean') {
211
+ issues.push(modelDescriptionIssue('invalid_field', 'hasChecks', 'Workbook model description hasChecks must be a boolean'));
212
+ }
213
+ if (!actionNamesMatch(actionNames, actionDetails.names)) {
214
+ issues.push(modelDescriptionIssue('action_mismatch', 'actionDetails', 'Workbook model description actionDetails names must exactly match actions'));
215
+ }
216
+ if (name === undefined || hasChecks === undefined) {
217
+ return {
218
+ actionNames,
219
+ actionDetailNames: actionDetails.names,
220
+ };
221
+ }
222
+ return {
223
+ actionNames,
224
+ actionDetailNames: actionDetails.names,
225
+ description: freezeModelDescriptionData({
226
+ name,
227
+ ...(description !== undefined ? { description } : {}),
228
+ actions: actionNames,
229
+ actionDetails: actionDetails.actions,
230
+ hasChecks,
231
+ }),
232
+ };
233
+ }
234
+ export function checkWorkbookModelDescription(value) {
235
+ const issues = [];
236
+ const built = buildModelDescription(value, issues);
237
+ if (issues.length > 0 || built.description === undefined) {
238
+ return freezeModelDescriptionData({
239
+ status: 'invalid',
240
+ issues,
241
+ });
242
+ }
243
+ return freezeModelDescriptionData({
244
+ status: 'valid',
245
+ description: built.description,
246
+ issues: [],
247
+ });
248
+ }
249
+ export function isWorkbookModelDescription(value) {
250
+ return checkWorkbookModelDescription(value).status === 'valid';
251
+ }
252
+ //# sourceMappingURL=model-description.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-description.js","sourceRoot":"","sources":["../src/model-description.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export declare function freezeModelInspection(inspection: WorkbookModelInspectio
5
5
  export declare function plannedActionPlanResult<Refs>(plan: WorkbookActionPlan<Refs>): WorkbookActionPlanResult<Refs>;
6
6
  export declare function failedPlan<Refs>(modelName: string, actionName: string, code: WorkbookRunErrorCode, message: string, checks?: readonly WorkbookCheckResult[], input?: WorkbookActionInput): WorkbookActionPlanResult<Refs>;
7
7
  export declare function failedInvalidModelPlan<Refs>(actionName: string, input: WorkbookActionInput | undefined, error: unknown, modelName?: string): WorkbookActionPlanResult<Refs>;
8
+ export declare function failedInvalidActionNamePlan<Refs>(error: unknown): WorkbookActionPlanResult<Refs>;
8
9
  export declare function failedActionInputPlan<Refs>(modelName: string, actionName: string, error: unknown): WorkbookActionPlanResult<Refs>;
9
10
  export declare function failedActionInputIssuesPlan<Refs>(modelName: string, actionName: string, issues: readonly WorkbookActionInputIssue[], input?: WorkbookActionInput): WorkbookActionPlanResult<Refs>;
10
11
  export declare function failedActionNotFoundPlan<Refs>(modelName: string, actionName: string, input?: WorkbookActionInput): WorkbookActionPlanResult<Refs>;
@@ -28,6 +28,15 @@ export function failedInvalidModelPlan(actionName, input, error, modelName = 'un
28
28
  errors: [invalidModelError(error)],
29
29
  });
30
30
  }
31
+ export function failedInvalidActionNamePlan(error) {
32
+ return freezePlanResult({
33
+ status: 'failed',
34
+ modelName: 'unknown-model',
35
+ actionName: '<invalid-action-name>',
36
+ checks: [],
37
+ errors: [invalidActionNameError(error)],
38
+ });
39
+ }
31
40
  export function failedActionInputPlan(modelName, actionName, error) {
32
41
  return freezePlanResult({
33
42
  status: 'failed',
@@ -95,6 +104,14 @@ function actionInputError(issue) {
95
104
  issueCode: issue.code,
96
105
  });
97
106
  }
107
+ function invalidActionNameError(error) {
108
+ return Object.freeze({
109
+ code: 'invalid_action_name',
110
+ message: errorMessage(error),
111
+ path: 'actionName',
112
+ issueCode: 'invalid_action_name',
113
+ });
114
+ }
98
115
  function invalidActionInputError(error) {
99
116
  return Object.freeze({
100
117
  code: 'invalid_action_input',
@@ -1 +1 @@
1
- {"version":3,"file":"model-plan-result.js","sourceRoot":"","sources":["../src/model-plan-result.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-plan-result.js","sourceRoot":"","sources":["../src/model-plan-result.ts"],"names":[],"mappings":"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"}
package/dist/model.d.ts CHANGED
@@ -115,4 +115,5 @@ export declare function defineModel<Refs, Actions extends WorkbookActionMap<Refs
115
115
  export declare function inspectModel(model: unknown): WorkbookModelInspection;
116
116
  export declare function planWorkbookAction<Refs, Actions extends WorkbookActionMap<Refs>>(model: WorkbookModel<Refs, Actions>, actionName: string, input?: WorkbookActionInput): WorkbookActionPlanResult<Refs>;
117
117
  export declare function planWorkbookAction(model: unknown, actionName: string, input?: WorkbookActionInput): WorkbookActionPlanResult;
118
+ export declare function planWorkbookAction(model: unknown, actionName: unknown, input?: WorkbookActionInput): WorkbookActionPlanResult;
118
119
  export declare function buildWorkbookActionPlan<Refs, Actions extends WorkbookActionMap<Refs>, ActionName extends keyof Actions & string>(model: WorkbookModel<Refs, Actions>, actionName: ActionName, input?: WorkbookActionInput): WorkbookActionPlan<Refs>;
package/dist/model.js CHANGED
@@ -4,7 +4,7 @@ import { collectWorkbookRefs, createWorkbookFindApi, isWorkbookRef } from './fin
4
4
  import { createWorkbookCheckApi } from './check.js';
5
5
  import { checkInput, normalizeOptionalWorkbookActionInput, normalizeWorkbookActionInput, normalizeWorkbookActionInputDescription, } from './input.js';
6
6
  import { isObject, isObjectRecord, optionalDataProperty, requiredDataProperty } from './data-properties.js';
7
- import { errorMessage, failedActionInputIssuesPlan, failedActionInputPlan, failedActionNotFoundPlan, failedInvalidModelPlan, failedPlan, freezeModelInspection, inputProperty, plannedActionPlanResult, } from './model-plan-result.js';
7
+ import { errorMessage, failedInvalidActionNamePlan, failedActionInputIssuesPlan, failedActionInputPlan, failedActionNotFoundPlan, failedInvalidModelPlan, failedPlan, freezeModelInspection, inputProperty, plannedActionPlanResult, } from './model-plan-result.js';
8
8
  import { normalizeWorkbookActionFormatOptions, normalizeWorkbookActionLiteralInput, normalizeWorkbookActionOp, normalizeWorkbookActionTarget, normalizeWorkbookAddOpOptions, } from './model-action-validation.js';
9
9
  export function defineModel(config) {
10
10
  if (!isObjectRecord(config)) {
@@ -557,44 +557,51 @@ function createActionPlan(modelName, actionName, input, refs, commands, ops, che
557
557
  });
558
558
  }
559
559
  export function planWorkbookAction(model, actionName, input) {
560
+ let plannedActionName;
561
+ try {
562
+ plannedActionName = normalizeRequiredName(actionName, 'Workbook action name');
563
+ }
564
+ catch (error) {
565
+ return failedInvalidActionNamePlan(error);
566
+ }
560
567
  let modelData;
561
568
  try {
562
569
  modelData = readPlanningModelData(model);
563
570
  }
564
571
  catch (error) {
565
- return failedInvalidModelPlan(actionName, undefined, error);
572
+ return failedInvalidModelPlan(plannedActionName, undefined, error);
566
573
  }
567
574
  let normalizedInput;
568
575
  try {
569
576
  normalizedInput = normalizeOptionalWorkbookActionInput(input);
570
577
  }
571
578
  catch (error) {
572
- return failedActionInputPlan(modelData.name, actionName, error);
579
+ return failedActionInputPlan(modelData.name, plannedActionName, error);
573
580
  }
574
581
  let actionValue;
575
582
  try {
576
- actionValue = Object.hasOwn(modelData.actions, actionName)
577
- ? requiredDataProperty(modelData.actions, actionName, `Workbook model ${modelData.name} action ${actionName}`)
583
+ actionValue = Object.hasOwn(modelData.actions, plannedActionName)
584
+ ? requiredDataProperty(modelData.actions, plannedActionName, `Workbook model ${modelData.name} action ${plannedActionName}`)
578
585
  : undefined;
579
586
  }
580
587
  catch (error) {
581
- return failedInvalidModelPlan(actionName, normalizedInput, error, modelData.name);
588
+ return failedInvalidModelPlan(plannedActionName, normalizedInput, error, modelData.name);
582
589
  }
583
590
  if (actionValue === undefined) {
584
- return failedActionNotFoundPlan(modelData.name, actionName, normalizedInput);
591
+ return failedActionNotFoundPlan(modelData.name, plannedActionName, normalizedInput);
585
592
  }
586
593
  let actionDefinition;
587
594
  try {
588
- actionDefinition = normalizeActionDefinition(modelData.name, actionName, actionValue);
595
+ actionDefinition = normalizeActionDefinition(modelData.name, plannedActionName, actionValue);
589
596
  }
590
597
  catch (error) {
591
- return failedInvalidModelPlan(actionName, normalizedInput, error, modelData.name);
598
+ return failedInvalidModelPlan(plannedActionName, normalizedInput, error, modelData.name);
592
599
  }
593
600
  const inputDescription = actionInputDescription(actionDefinition);
594
601
  if (inputDescription !== undefined) {
595
602
  const inputCheck = checkInput(inputDescription, normalizedInput);
596
603
  if (inputCheck.status === 'invalid') {
597
- return failedActionInputIssuesPlan(modelData.name, actionName, inputCheck.issues, normalizedInput);
604
+ return failedActionInputIssuesPlan(modelData.name, plannedActionName, inputCheck.issues, normalizedInput);
598
605
  }
599
606
  normalizedInput = inputCheck.input;
600
607
  }
@@ -608,14 +615,14 @@ export function planWorkbookAction(model, actionName, input) {
608
615
  refs = Reflect.apply(modelData.find, undefined, [findWorkbook]);
609
616
  }
610
617
  catch (error) {
611
- return failedPlan(modelData.name, actionName, 'find_failed', errorMessage(error), checks, normalizedInput);
618
+ return failedPlan(modelData.name, plannedActionName, 'find_failed', errorMessage(error), checks, normalizedInput);
612
619
  }
613
620
  const checkContext = { refs, workbook: createCheckWorkbook({ checks }), ...inputProperty(normalizedInput) };
614
621
  try {
615
622
  pushReturnedChecks(checks, modelData.checks === undefined ? undefined : Reflect.apply(modelData.checks, undefined, [checkContext]));
616
623
  }
617
624
  catch (error) {
618
- return failedPlan(modelData.name, actionName, 'checks_failed', errorMessage(error), checks, normalizedInput);
625
+ return failedPlan(modelData.name, plannedActionName, 'checks_failed', errorMessage(error), checks, normalizedInput);
619
626
  }
620
627
  const actionContext = {
621
628
  refs,
@@ -626,9 +633,9 @@ export function planWorkbookAction(model, actionName, input) {
626
633
  action(actionContext);
627
634
  }
628
635
  catch (error) {
629
- return failedPlan(modelData.name, actionName, 'action_failed', errorMessage(error), checks, normalizedInput);
636
+ return failedPlan(modelData.name, plannedActionName, 'action_failed', errorMessage(error), checks, normalizedInput);
630
637
  }
631
- return plannedActionPlanResult(createActionPlan(modelData.name, actionName, normalizedInput, refs, commands, ops, checks));
638
+ return plannedActionPlanResult(createActionPlan(modelData.name, plannedActionName, normalizedInput, refs, commands, ops, checks));
632
639
  }
633
640
  export function buildWorkbookActionPlan(model, actionName, input) {
634
641
  const result = planWorkbookAction(model, actionName, input);
package/dist/model.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { WorkbookActionInput } from './input.js';
2
+ import { type WorkbookActionMap, type WorkbookActionPlan, type WorkbookActionPlanResult, type WorkbookModel } from './model.js';
3
+ import { type WorkbookPlanData, type WorkbookPlanId } from './plan-data.js';
4
+ import { type WorkbookRuntimeRequirements } from './requirements.js';
5
+ import type { WorkbookRunError } from './result.js';
6
+ import { type WorkbookPlanIssue, type WorkbookPlanVerification } from './verify.js';
7
+ export type WorkbookActionPreparation<Refs = unknown> = {
8
+ readonly status: 'prepared';
9
+ readonly plan: WorkbookActionPlan<Refs>;
10
+ readonly planData: WorkbookPlanData;
11
+ readonly planId: WorkbookPlanId;
12
+ readonly requirements: WorkbookRuntimeRequirements;
13
+ readonly verification: WorkbookPlanVerification;
14
+ } | {
15
+ readonly status: 'failed';
16
+ readonly planning: WorkbookActionPlanResult<Refs>;
17
+ readonly errors: readonly WorkbookRunError[];
18
+ readonly issues: readonly WorkbookPlanIssue[];
19
+ readonly verification?: WorkbookPlanVerification;
20
+ };
21
+ export declare function prepareWorkbookAction<Refs, Actions extends WorkbookActionMap<Refs>>(model: WorkbookModel<Refs, Actions>, actionName: string, input?: WorkbookActionInput): WorkbookActionPreparation<Refs>;
22
+ export declare function prepareWorkbookAction(model: unknown, actionName: string, input?: WorkbookActionInput): WorkbookActionPreparation;
@@ -0,0 +1,41 @@
1
+ import { planWorkbookAction, } from './model.js';
2
+ import { toPlanData, workbookPlanId } from './plan-data.js';
3
+ import { describeRuntimeRequirements } from './requirements.js';
4
+ import { verifyPlan } from './verify.js';
5
+ function failedPreparation(planning, errors, issues = [], verification) {
6
+ return Object.freeze({
7
+ status: 'failed',
8
+ planning,
9
+ errors: Object.freeze([...errors]),
10
+ issues: Object.freeze([...issues]),
11
+ ...(verification !== undefined ? { verification } : {}),
12
+ });
13
+ }
14
+ function errorsForIssues(issues) {
15
+ return Object.freeze(issues.map((issue) => Object.freeze({
16
+ code: issue.code,
17
+ message: issue.message,
18
+ path: issue.path,
19
+ issueCode: issue.code,
20
+ })));
21
+ }
22
+ export function prepareWorkbookAction(model, actionName, input) {
23
+ const planning = planWorkbookAction(model, actionName, input);
24
+ if (planning.status === 'failed') {
25
+ return failedPreparation(planning, planning.errors);
26
+ }
27
+ const verification = verifyPlan(planning.plan);
28
+ if (verification.status === 'invalid') {
29
+ return failedPreparation(planning, errorsForIssues(verification.issues), verification.issues, verification);
30
+ }
31
+ const planData = toPlanData(planning.plan);
32
+ return Object.freeze({
33
+ status: 'prepared',
34
+ plan: planning.plan,
35
+ planData,
36
+ planId: workbookPlanId(planData),
37
+ requirements: describeRuntimeRequirements(planData),
38
+ verification,
39
+ });
40
+ }
41
+ //# sourceMappingURL=prepare.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepare.js","sourceRoot":"","sources":["../src/prepare.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,GAKnB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,UAAU,EAAE,cAAc,EAA8C,MAAM,gBAAgB,CAAA;AACvG,OAAO,EAAE,2BAA2B,EAAoC,MAAM,mBAAmB,CAAA;AAEjG,OAAO,EAAE,UAAU,EAAyD,MAAM,aAAa,CAAA;AAmB/F,SAAS,iBAAiB,CACxB,QAAwC,EACxC,MAAmC,EACnC,SAAuC,EAAE,EACzC,YAAuC;IAEvC,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,MAAM,EAAE,QAAQ;QAChB,QAAQ;QACR,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QAClC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QAClC,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxD,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,MAAoC;IAC3D,OAAO,MAAM,CAAC,MAAM,CAClB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACnB,MAAM,CAAC,MAAM,CAAC;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,KAAK,CAAC,IAAI;KACtB,CAAC,CACH,CACF,CAAA;AACH,CAAC;AAQD,MAAM,UAAU,qBAAqB,CAAC,KAAc,EAAE,UAAmB,EAAE,KAA2B;IACpG,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,CAAA;IAC7D,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IACrD,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC9C,IAAI,YAAY,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,iBAAiB,CAAC,QAAQ,EAAE,eAAe,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAC7G,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC1C,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,QAAQ;QACR,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC;QAChC,YAAY,EAAE,2BAA2B,CAAC,QAAQ,CAAC;QACnD,YAAY;KACb,CAAC,CAAA;AACJ,CAAC"}