@bilig/workbook 0.64.0 → 0.66.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.
@@ -1,5 +1,5 @@
1
- import type { CellRangeRef, CellStylePatch, CellStyleRecord, LiteralInput } from '@bilig/protocol';
2
- import { type WorkbookActionInput, type WorkbookActionInputDescription } from './input.js';
1
+ import type { CellRangeRef } from '@bilig/protocol';
2
+ import { type WorkbookActionInput } from './input.js';
3
3
  import type { EngineOp } from './ops.js';
4
4
  import type { WorkbookUndoRef } from './result.js';
5
5
  export type WorkbookFeatureId = string;
@@ -13,18 +13,6 @@ export declare const workbookCommandExecutionModes: readonly ["preview", "apply"
13
13
  export declare const workbookCommandReceiptStatuses: readonly ["previewed", "applied", "rejected", "noop"];
14
14
  export declare const workbookProjectionInterceptorPoints: readonly ["cellDisplay", "cellStyle", "rangeChrome", "rowVisibility", "beforeCommand", "commandMetadata"];
15
15
  export declare const workbookUiContributionSlots: readonly ["toolbar", "sidePanel", "floatingOverlay", "status"];
16
- export interface WorkbookFeatureLifecycleContext {
17
- readonly featureId: WorkbookFeatureId;
18
- readonly activeFeatures: readonly WorkbookFeatureId[];
19
- }
20
- export interface WorkbookCommandDescriptor {
21
- readonly id: string;
22
- readonly featureId: WorkbookFeatureId;
23
- readonly category: WorkbookCommandCategory;
24
- readonly label: string;
25
- readonly description?: string;
26
- readonly input?: WorkbookActionInputDescription;
27
- }
28
16
  export interface WorkbookCommandRequest {
29
17
  readonly featureId: WorkbookFeatureId;
30
18
  readonly commandId: string;
@@ -74,65 +62,6 @@ export type WorkbookCommandReceiptCheckResult = {
74
62
  readonly status: 'invalid';
75
63
  readonly issues: readonly WorkbookCommandReceiptIssue[];
76
64
  };
77
- export interface WorkbookCellDisplayProjection {
78
- readonly value?: LiteralInput;
79
- readonly text?: string;
80
- readonly metadata?: WorkbookActionInput;
81
- }
82
- export interface WorkbookCellStyleProjection {
83
- readonly style?: CellStylePatch | CellStyleRecord;
84
- readonly metadata?: WorkbookActionInput;
85
- }
86
- export interface WorkbookRangeChromeProjection {
87
- readonly id: string;
88
- readonly featureId: WorkbookFeatureId;
89
- readonly source: 'workbook-metadata' | 'command-preview' | 'runtime';
90
- readonly range: CellRangeRef;
91
- readonly role: string;
92
- readonly label?: string;
93
- readonly metadata?: WorkbookActionInput;
94
- }
95
- export interface WorkbookRowVisibilityProjection {
96
- readonly hidden?: boolean;
97
- readonly metadata?: WorkbookActionInput;
98
- }
99
- export interface WorkbookCommandMetadataProjection {
100
- readonly label?: string;
101
- readonly changedRanges?: readonly CellRangeRef[];
102
- readonly semanticTargets?: readonly WorkbookActionInput[];
103
- readonly metadata?: WorkbookActionInput;
104
- }
105
- export interface WorkbookProjectionContext {
106
- readonly featureId: WorkbookFeatureId;
107
- }
108
- export interface WorkbookProjectionInterceptorRegistration {
109
- readonly id: string;
110
- readonly featureId: WorkbookFeatureId;
111
- readonly point: WorkbookProjectionInterceptorPoint;
112
- readonly priority?: number;
113
- readonly label?: string;
114
- }
115
- export interface WorkbookUiContribution {
116
- readonly id: string;
117
- readonly featureId: WorkbookFeatureId;
118
- readonly slot: WorkbookUiContributionSlot;
119
- readonly label: string;
120
- readonly order?: number;
121
- readonly metadata?: WorkbookActionInput;
122
- }
123
- export interface WorkbookFeatureRegistration {
124
- readonly commands: readonly WorkbookCommandDescriptor[];
125
- readonly projectionInterceptors: readonly WorkbookProjectionInterceptorRegistration[];
126
- readonly uiContributions: readonly WorkbookUiContribution[];
127
- }
128
- export interface WorkbookFeaturePlugin extends WorkbookFeatureRegistration {
129
- readonly id: WorkbookFeatureId;
130
- readonly version: string;
131
- readonly dependsOn?: readonly WorkbookFeatureId[];
132
- readonly register?: (context: WorkbookFeatureLifecycleContext) => void;
133
- readonly activate?: (context: WorkbookFeatureLifecycleContext) => void;
134
- readonly dispose?: (context: WorkbookFeatureLifecycleContext) => void;
135
- }
136
65
  export declare function normalizeWorkbookFeatureId(value: string, label?: string): WorkbookFeatureId;
137
66
  export declare function isWorkbookCommandCategory(value: unknown): value is WorkbookCommandCategory;
138
67
  export declare function isWorkbookCommandExecutionMode(value: unknown): value is WorkbookCommandExecutionMode;
@@ -143,8 +72,6 @@ export declare function checkWorkbookCommandRequest(value: unknown): WorkbookCom
143
72
  export declare function normalizeWorkbookCommandRequest(value: unknown): WorkbookCommandRequest;
144
73
  export declare function isWorkbookCommandRequest(value: unknown): value is WorkbookCommandRequest;
145
74
  export declare function checkWorkbookCommandReceipt(value: unknown): WorkbookCommandReceiptCheckResult;
146
- export declare function defineWorkbookFeaturePlugin(plugin: WorkbookFeaturePlugin): WorkbookFeaturePlugin;
147
- export declare function normalizeWorkbookCommandDescriptor(descriptor: WorkbookCommandDescriptor, expectedFeatureId?: WorkbookFeatureId): WorkbookCommandDescriptor;
148
75
  export declare function normalizeWorkbookCommandReceipt(receipt: unknown): WorkbookCommandReceipt;
149
76
  export declare function isWorkbookCommandReceipt(value: unknown): value is WorkbookCommandReceipt;
150
77
  export declare function workbookCommandReceiptOpsMatch(receipt: Pick<WorkbookCommandReceipt, 'previewOps' | 'appliedOps'>): boolean | null;
package/dist/features.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { isCellRangeRef } from '@bilig/protocol';
2
2
  import { isWorkbookOp } from './guards.js';
3
- import { isWorkbookActionInput, isWorkbookActionInputDescription, normalizeWorkbookActionInput, } from './input.js';
3
+ import { isWorkbookActionInput, normalizeWorkbookActionInput } from './input.js';
4
4
  export const workbookCommandCategories = Object.freeze([
5
5
  'command',
6
6
  'operation',
@@ -356,48 +356,6 @@ export function checkWorkbookCommandReceipt(value) {
356
356
  issues: Object.freeze([]),
357
357
  };
358
358
  }
359
- export function defineWorkbookFeaturePlugin(plugin) {
360
- const id = normalizeWorkbookFeatureId(plugin.id);
361
- const version = normalizeRequiredString(plugin.version, `Workbook feature ${id} version`);
362
- const dependsOn = plugin.dependsOn?.map((dependency) => normalizeWorkbookFeatureId(dependency, `Workbook feature ${id} dependency`));
363
- const commands = plugin.commands.map((command) => normalizeWorkbookCommandDescriptor(command, id));
364
- const projectionInterceptors = plugin.projectionInterceptors.map((interceptor) => normalizeProjectionInterceptor(interceptor, id));
365
- const uiContributions = plugin.uiContributions.map((contribution) => normalizeUiContribution(contribution, id));
366
- return Object.freeze({
367
- id,
368
- version,
369
- ...(dependsOn !== undefined ? { dependsOn: Object.freeze([...dependsOn]) } : {}),
370
- commands: Object.freeze(commands),
371
- projectionInterceptors: Object.freeze(projectionInterceptors),
372
- uiContributions: Object.freeze(uiContributions),
373
- ...(plugin.register !== undefined ? { register: plugin.register } : {}),
374
- ...(plugin.activate !== undefined ? { activate: plugin.activate } : {}),
375
- ...(plugin.dispose !== undefined ? { dispose: plugin.dispose } : {}),
376
- });
377
- }
378
- export function normalizeWorkbookCommandDescriptor(descriptor, expectedFeatureId) {
379
- const featureId = normalizeWorkbookFeatureId(descriptor.featureId, 'Workbook command feature id');
380
- if (expectedFeatureId !== undefined && featureId !== expectedFeatureId) {
381
- throw new Error(`Workbook command ${descriptor.id} feature id ${featureId} does not match plugin ${expectedFeatureId}`);
382
- }
383
- const id = normalizeRequiredString(descriptor.id, 'Workbook command id');
384
- const label = normalizeRequiredString(descriptor.label, `Workbook command ${id} label`);
385
- const description = descriptor.description === undefined ? undefined : normalizeRequiredString(descriptor.description, `Workbook command ${id} description`);
386
- if (!isWorkbookCommandCategory(descriptor.category)) {
387
- throw new Error(`Workbook command ${id} category is invalid`);
388
- }
389
- if (descriptor.input !== undefined && !isWorkbookActionInputDescription(descriptor.input)) {
390
- throw new Error(`Workbook command ${id} input description is invalid`);
391
- }
392
- return Object.freeze({
393
- id,
394
- featureId,
395
- category: descriptor.category,
396
- label,
397
- ...(description !== undefined ? { description } : {}),
398
- ...(descriptor.input !== undefined ? { input: descriptor.input } : {}),
399
- });
400
- }
401
359
  export function normalizeWorkbookCommandReceipt(receipt) {
402
360
  const check = checkWorkbookCommandReceipt(receipt);
403
361
  if (check.status === 'invalid') {
@@ -415,52 +373,6 @@ export function workbookCommandReceiptOpsMatch(receipt) {
415
373
  }
416
374
  return JSON.stringify(receipt.previewOps) === JSON.stringify(receipt.appliedOps);
417
375
  }
418
- function normalizeProjectionInterceptor(interceptor, expectedFeatureId) {
419
- const featureId = normalizeWorkbookFeatureId(interceptor.featureId, 'Workbook projection interceptor feature id');
420
- if (featureId !== expectedFeatureId) {
421
- throw new Error(`Workbook projection interceptor ${interceptor.id} feature id ${featureId} does not match plugin ${expectedFeatureId}`);
422
- }
423
- const id = normalizeRequiredString(interceptor.id, 'Workbook projection interceptor id');
424
- if (!isWorkbookProjectionInterceptorPoint(interceptor.point)) {
425
- throw new Error(`Workbook projection interceptor ${id} point is invalid`);
426
- }
427
- const label = interceptor.label === undefined ? undefined : normalizeRequiredString(interceptor.label, `Workbook projection interceptor ${id} label`);
428
- if (interceptor.priority !== undefined && (!Number.isSafeInteger(interceptor.priority) || !Number.isFinite(interceptor.priority))) {
429
- throw new Error(`Workbook projection interceptor ${id} priority is invalid`);
430
- }
431
- return Object.freeze({
432
- id,
433
- featureId,
434
- point: interceptor.point,
435
- ...(interceptor.priority !== undefined ? { priority: interceptor.priority } : {}),
436
- ...(label !== undefined ? { label } : {}),
437
- });
438
- }
439
- function normalizeUiContribution(contribution, expectedFeatureId) {
440
- const featureId = normalizeWorkbookFeatureId(contribution.featureId, 'Workbook UI contribution feature id');
441
- if (featureId !== expectedFeatureId) {
442
- throw new Error(`Workbook UI contribution ${contribution.id} feature id ${featureId} does not match plugin ${expectedFeatureId}`);
443
- }
444
- const id = normalizeRequiredString(contribution.id, 'Workbook UI contribution id');
445
- const label = normalizeRequiredString(contribution.label, `Workbook UI contribution ${id} label`);
446
- if (!isWorkbookUiContributionSlot(contribution.slot)) {
447
- throw new Error(`Workbook UI contribution ${id} slot is invalid`);
448
- }
449
- if (contribution.order !== undefined && (!Number.isSafeInteger(contribution.order) || !Number.isFinite(contribution.order))) {
450
- throw new Error(`Workbook UI contribution ${id} order is invalid`);
451
- }
452
- if (contribution.metadata !== undefined && !isWorkbookActionInput(contribution.metadata)) {
453
- throw new Error(`Workbook UI contribution ${id} metadata is invalid`);
454
- }
455
- return Object.freeze({
456
- id,
457
- featureId,
458
- slot: contribution.slot,
459
- label,
460
- ...(contribution.order !== undefined ? { order: contribution.order } : {}),
461
- ...(contribution.metadata !== undefined ? { metadata: normalizeWorkbookActionInput(contribution.metadata) } : {}),
462
- });
463
- }
464
376
  function normalizeReceiptOp(commandId, op, label) {
465
377
  if (!isWorkbookOp(op)) {
466
378
  throw new Error(`Workbook command receipt ${commandId} ${label} op is invalid`);
@@ -1 +1 @@
1
- {"version":3,"file":"features.js","sourceRoot":"","sources":["../src/features.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"features.js","sourceRoot":"","sources":["../src/features.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -12,5 +12,6 @@ export * from './run.js';
12
12
  export * from './result.js';
13
13
  export * from './requirements.js';
14
14
  export * from './features.js';
15
+ export * from './feature-plugin.js';
15
16
  export { checkPlanData, hydratePlanData, isPlanData, toPlanData } from './plan-data.js';
16
17
  export type { WorkbookExecutablePlan, WorkbookPlanData, WorkbookPlanDataCheckResult, WorkbookPlanDataIssue, WorkbookPlanDataIssueCode, WorkbookPlanDataRefs, } from './plan-data.js';
package/dist/index.js CHANGED
@@ -12,5 +12,6 @@ export * from './run.js';
12
12
  export * from './result.js';
13
13
  export * from './requirements.js';
14
14
  export * from './features.js';
15
+ export * from './feature-plugin.js';
15
16
  export { checkPlanData, hydratePlanData, isPlanData, toPlanData } from './plan-data.js';
16
17
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA"}
package/dist/input.d.ts CHANGED
@@ -2,7 +2,7 @@ export type WorkbookActionInput = null | string | number | boolean | readonly Wo
2
2
  readonly [key: string]: WorkbookActionInput;
3
3
  };
4
4
  export type WorkbookActionInputDescriptionKind = 'json' | 'object' | 'array' | 'string' | 'number' | 'boolean' | 'null';
5
- export declare const workbookActionInputDescriptionKinds: readonly ("string" | "number" | "boolean" | "object" | "null" | "json" | "array")[];
5
+ export declare const workbookActionInputDescriptionKinds: readonly ("string" | "number" | "boolean" | "object" | "json" | "array" | "null")[];
6
6
  export interface WorkbookActionInputDescription {
7
7
  readonly kind: WorkbookActionInputDescriptionKind;
8
8
  readonly description?: string;
@@ -28,7 +28,8 @@ export type WorkbookActionInputCheckResult = {
28
28
  readonly issues: readonly WorkbookActionInputIssue[];
29
29
  };
30
30
  export declare class WorkbookActionInputError extends Error {
31
- constructor(message: string);
31
+ readonly path: string;
32
+ constructor(message: string, path?: string);
32
33
  }
33
34
  export declare function isWorkbookActionInputDescriptionKind(value: unknown): value is WorkbookActionInputDescriptionKind;
34
35
  export declare function normalizeWorkbookActionInputDescription(input: unknown): WorkbookActionInputDescription;
package/dist/input.js CHANGED
@@ -8,11 +8,16 @@ export const workbookActionInputDescriptionKinds = Object.freeze([
8
8
  'null',
9
9
  ]);
10
10
  export class WorkbookActionInputError extends Error {
11
- constructor(message) {
11
+ path;
12
+ constructor(message, path = 'input') {
12
13
  super(message);
13
14
  this.name = 'WorkbookActionInputError';
15
+ this.path = path;
14
16
  }
15
17
  }
18
+ function inputError(path, message) {
19
+ return new WorkbookActionInputError(message, path);
20
+ }
16
21
  function typeName(value) {
17
22
  return value.constructor?.name ?? 'object';
18
23
  }
@@ -30,7 +35,7 @@ function inputDescriptionKind(value, path) {
30
35
  if (isWorkbookActionInputDescriptionKind(value)) {
31
36
  return value;
32
37
  }
33
- throw new WorkbookActionInputError(`Action input description at ${path}.kind must be a supported kind`);
38
+ throw inputError(`${path}.kind`, `Action input description at ${path}.kind must be a supported kind`);
34
39
  }
35
40
  export function isWorkbookActionInputDescriptionKind(value) {
36
41
  return typeof value === 'string' && workbookActionInputDescriptionKinds.some((kind) => kind === value);
@@ -40,30 +45,31 @@ function normalizeDescriptionText(value, path) {
40
45
  return undefined;
41
46
  }
42
47
  if (typeof value !== 'string') {
43
- throw new WorkbookActionInputError(`Action input description at ${path} must be a string`);
48
+ throw inputError(path, `Action input description at ${path} must be a string`);
44
49
  }
45
50
  const text = value.trim();
46
51
  if (text === '') {
47
- throw new WorkbookActionInputError(`Action input description at ${path} cannot be empty`);
52
+ throw inputError(path, `Action input description at ${path} cannot be empty`);
48
53
  }
49
54
  return text;
50
55
  }
51
56
  function normalizeInputDescription(value, path, seen) {
52
57
  if (!isPlainObject(value)) {
53
- throw new WorkbookActionInputError(`Action input description at ${path} must be a plain object`);
58
+ throw inputError(path, `Action input description at ${path} must be a plain object`);
54
59
  }
55
60
  if (seen.has(value)) {
56
- throw new WorkbookActionInputError(`Action input description at ${path} must not contain cycles`);
61
+ throw inputError(path, `Action input description at ${path} must not contain cycles`);
57
62
  }
58
63
  seen.add(value);
59
64
  try {
60
65
  if (Object.getOwnPropertySymbols(value).length > 0) {
61
- throw new WorkbookActionInputError(`Action input description at ${path} must not contain symbol keys`);
66
+ throw inputError(path, `Action input description at ${path} must not contain symbol keys`);
62
67
  }
63
68
  const allowedKeys = new Set(['kind', 'description', 'required', 'fields', 'items']);
64
69
  const unknownKey = Object.keys(value).find((key) => !allowedKeys.has(key));
65
70
  if (unknownKey !== undefined) {
66
- throw new WorkbookActionInputError(`Action input description at ${childPath(path, unknownKey)} is not supported`);
71
+ const unknownPath = childPath(path, unknownKey);
72
+ throw inputError(unknownPath, `Action input description at ${unknownPath} is not supported`);
67
73
  }
68
74
  const kind = inputDescriptionKind(value['kind'], path);
69
75
  const output = { kind };
@@ -73,23 +79,23 @@ function normalizeInputDescription(value, path, seen) {
73
79
  }
74
80
  if (value['required'] !== undefined) {
75
81
  if (typeof value['required'] !== 'boolean') {
76
- throw new WorkbookActionInputError(`Action input description at ${path}.required must be a boolean`);
82
+ throw inputError(`${path}.required`, `Action input description at ${path}.required must be a boolean`);
77
83
  }
78
84
  output.required = value['required'];
79
85
  }
80
86
  if (value['fields'] !== undefined) {
81
87
  if (kind !== 'object') {
82
- throw new WorkbookActionInputError(`Action input description at ${path}.fields can only be used when kind is object`);
88
+ throw inputError(`${path}.fields`, `Action input description at ${path}.fields can only be used when kind is object`);
83
89
  }
84
90
  if (!isPlainObject(value['fields'])) {
85
- throw new WorkbookActionInputError(`Action input description at ${path}.fields must be a plain object`);
91
+ throw inputError(`${path}.fields`, `Action input description at ${path}.fields must be a plain object`);
86
92
  }
87
93
  const fields = {};
88
94
  Object.entries(value['fields'])
89
95
  .toSorted(([left], [right]) => left.localeCompare(right))
90
96
  .forEach(([key, entry]) => {
91
97
  if (key.trim() === '') {
92
- throw new WorkbookActionInputError(`Action input description at ${path}.fields cannot contain an empty field name`);
98
+ throw inputError(`${path}.fields`, `Action input description at ${path}.fields cannot contain an empty field name`);
93
99
  }
94
100
  fields[key] = normalizeInputDescription(entry, childPath(`${path}.fields`, key), seen);
95
101
  });
@@ -97,7 +103,7 @@ function normalizeInputDescription(value, path, seen) {
97
103
  }
98
104
  if (value['items'] !== undefined) {
99
105
  if (kind !== 'array') {
100
- throw new WorkbookActionInputError(`Action input description at ${path}.items can only be used when kind is array`);
106
+ throw inputError(`${path}.items`, `Action input description at ${path}.items can only be used when kind is array`);
101
107
  }
102
108
  output.items = normalizeInputDescription(value['items'], `${path}.items`, seen);
103
109
  }
@@ -125,21 +131,21 @@ function normalizeInput(value, path, seen) {
125
131
  }
126
132
  if (typeof value === 'number') {
127
133
  if (!Number.isFinite(value)) {
128
- throw new WorkbookActionInputError(`Action input at ${path} must be a finite number`);
134
+ throw inputError(path, `Action input at ${path} must be a finite number`);
129
135
  }
130
136
  return value;
131
137
  }
132
138
  if (value === undefined) {
133
- throw new WorkbookActionInputError(`Action input at ${path} must not be undefined`);
139
+ throw inputError(path, `Action input at ${path} must not be undefined`);
134
140
  }
135
141
  if (typeof value === 'bigint' || typeof value === 'function' || typeof value === 'symbol') {
136
- throw new WorkbookActionInputError(`Action input at ${path} must be JSON-safe, not ${typeof value}`);
142
+ throw inputError(path, `Action input at ${path} must be JSON-safe, not ${typeof value}`);
137
143
  }
138
144
  if (typeof value !== 'object') {
139
- throw new WorkbookActionInputError(`Action input at ${path} must be JSON-safe`);
145
+ throw inputError(path, `Action input at ${path} must be JSON-safe`);
140
146
  }
141
147
  if (seen.has(value)) {
142
- throw new WorkbookActionInputError(`Action input at ${path} must not contain cycles`);
148
+ throw inputError(path, `Action input at ${path} must not contain cycles`);
143
149
  }
144
150
  seen.add(value);
145
151
  try {
@@ -147,17 +153,17 @@ function normalizeInput(value, path, seen) {
147
153
  const output = [];
148
154
  for (let index = 0; index < value.length; index += 1) {
149
155
  if (!Object.hasOwn(value, index)) {
150
- throw new WorkbookActionInputError(`Action input at ${path}[${index}] must not be a sparse array hole`);
156
+ throw inputError(`${path}[${index}]`, `Action input at ${path}[${index}] must not be a sparse array hole`);
151
157
  }
152
158
  output.push(normalizeInput(value[index], `${path}[${index}]`, seen));
153
159
  }
154
160
  return Object.freeze(output);
155
161
  }
156
162
  if (!isPlainObject(value)) {
157
- throw new WorkbookActionInputError(`Action input at ${path} must be a plain JSON object, not ${typeName(value)}`);
163
+ throw inputError(path, `Action input at ${path} must be a plain JSON object, not ${typeName(value)}`);
158
164
  }
159
165
  if (Object.getOwnPropertySymbols(value).length > 0) {
160
- throw new WorkbookActionInputError(`Action input at ${path} must not contain symbol keys`);
166
+ throw inputError(path, `Action input at ${path} must not contain symbol keys`);
161
167
  }
162
168
  const output = {};
163
169
  Object.entries(value)
@@ -252,6 +258,9 @@ function validateInputDescription(description, value, path, issues) {
252
258
  function errorMessage(error) {
253
259
  return error instanceof Error ? error.message : String(error);
254
260
  }
261
+ function errorPath(error) {
262
+ return error instanceof WorkbookActionInputError ? error.path : 'input';
263
+ }
255
264
  export function checkInput(description, input) {
256
265
  let normalizedDescription;
257
266
  try {
@@ -260,7 +269,7 @@ export function checkInput(description, input) {
260
269
  catch (error) {
261
270
  return {
262
271
  status: 'invalid',
263
- issues: Object.freeze([inputIssue('invalid_action_input_description', 'input', errorMessage(error))]),
272
+ issues: Object.freeze([inputIssue('invalid_action_input_description', errorPath(error), errorMessage(error))]),
264
273
  };
265
274
  }
266
275
  if (input === undefined) {
@@ -284,7 +293,7 @@ export function checkInput(description, input) {
284
293
  catch (error) {
285
294
  return {
286
295
  status: 'invalid',
287
- issues: Object.freeze([inputIssue('invalid_action_input', 'input', errorMessage(error))]),
296
+ issues: Object.freeze([inputIssue('invalid_action_input', errorPath(error), errorMessage(error))]),
288
297
  };
289
298
  }
290
299
  const issues = [];
package/dist/input.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","sourceRoot":"","sources":["../src/input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../src/input.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,mCAAmC,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/D,MAAM;IACN,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,MAAM;CACiD,CAAC,CAAA;AAkC1D,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACxC,IAAI,CAAQ;IAErB,YAAY,OAAe,EAAE,IAAI,GAAG,OAAO;QACzC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAA;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;CACF;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,OAAe;IAC/C,OAAO,IAAI,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AACpD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC7B,OAAO,KAAK,CAAC,WAAW,EAAE,IAAI,IAAI,QAAQ,CAAA;AAC5C,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,GAAW;IAC1C,OAAO,4BAA4B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAA;AACtG,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IAC9C,OAAO,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,CAAA;AAC7D,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc,EAAE,IAAY;IACxD,IAAI,oCAAoC,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,UAAU,CAAC,GAAG,IAAI,OAAO,EAAE,+BAA+B,IAAI,gCAAgC,CAAC,CAAA;AACvG,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,KAAc;IACjE,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,mCAAmC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,CAAA;AACxG,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc,EAAE,IAAY;IAC5D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,UAAU,CAAC,IAAI,EAAE,+BAA+B,IAAI,mBAAmB,CAAC,CAAA;IAChF,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IACzB,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,MAAM,UAAU,CAAC,IAAI,EAAE,+BAA+B,IAAI,kBAAkB,CAAC,CAAA;IAC/E,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc,EAAE,IAAY,EAAE,IAAqB;IACpF,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,UAAU,CAAC,IAAI,EAAE,+BAA+B,IAAI,yBAAyB,CAAC,CAAA;IACtF,CAAC;IAED,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,UAAU,CAAC,IAAI,EAAE,+BAA+B,IAAI,0BAA0B,CAAC,CAAA;IACvF,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAEf,IAAI,CAAC;QACH,IAAI,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnD,MAAM,UAAU,CAAC,IAAI,EAAE,+BAA+B,IAAI,+BAA+B,CAAC,CAAA;QAC5F,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;QACnF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QAC1E,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;YAC/C,MAAM,UAAU,CAAC,WAAW,EAAE,+BAA+B,WAAW,mBAAmB,CAAC,CAAA;QAC9F,CAAC;QAED,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAA;QACtD,MAAM,MAAM,GAMR,EAAE,IAAI,EAAE,CAAA;QAEZ,MAAM,WAAW,GAAG,wBAAwB,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,GAAG,IAAI,cAAc,CAAC,CAAA;QACzF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,CAAC,WAAW,GAAG,WAAW,CAAA;QAClC,CAAC;QAED,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC3C,MAAM,UAAU,CAAC,GAAG,IAAI,WAAW,EAAE,+BAA+B,IAAI,6BAA6B,CAAC,CAAA;YACxG,CAAC;YACD,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAA;QACrC,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,MAAM,UAAU,CAAC,GAAG,IAAI,SAAS,EAAE,+BAA+B,IAAI,8CAA8C,CAAC,CAAA;YACvH,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBACpC,MAAM,UAAU,CAAC,GAAG,IAAI,SAAS,EAAE,+BAA+B,IAAI,gCAAgC,CAAC,CAAA;YACzG,CAAC;YACD,MAAM,MAAM,GAAmD,EAAE,CAAA;YACjE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;iBAC5B,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;iBACxD,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBACxB,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;oBACtB,MAAM,UAAU,CAAC,GAAG,IAAI,SAAS,EAAE,+BAA+B,IAAI,4CAA4C,CAAC,CAAA;gBACrH,CAAC;gBACD,MAAM,CAAC,GAAG,CAAC,GAAG,yBAAyB,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,IAAI,SAAS,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;YACxF,CAAC,CAAC,CAAA;YACJ,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACvC,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACrB,MAAM,UAAU,CAAC,GAAG,IAAI,QAAQ,EAAE,+BAA+B,IAAI,4CAA4C,CAAC,CAAA;YACpH,CAAC;YACD,MAAM,CAAC,KAAK,GAAG,yBAAyB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,QAAQ,EAAE,IAAI,CAAC,CAAA;QACjF,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC9B,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACpB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uCAAuC,CAAC,KAAc;IACpE,OAAO,yBAAyB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,OAAO,EAAE,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,KAAc;IAC7D,IAAI,CAAC;QACH,uCAAuC,CAAC,KAAK,CAAC,CAAA;QAC9C,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAc,EAAE,IAAY,EAAE,IAAqB;IACzE,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9E,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,UAAU,CAAC,IAAI,EAAE,mBAAmB,IAAI,0BAA0B,CAAC,CAAA;QAC3E,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,UAAU,CAAC,IAAI,EAAE,mBAAmB,IAAI,wBAAwB,CAAC,CAAA;IACzE,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC1F,MAAM,UAAU,CAAC,IAAI,EAAE,mBAAmB,IAAI,2BAA2B,OAAO,KAAK,EAAE,CAAC,CAAA;IAC1F,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,UAAU,CAAC,IAAI,EAAE,mBAAmB,IAAI,oBAAoB,CAAC,CAAA;IACrE,CAAC;IAED,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,UAAU,CAAC,IAAI,EAAE,mBAAmB,IAAI,0BAA0B,CAAC,CAAA;IAC3E,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAEf,IAAI,CAAC;QACH,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,MAAM,GAA0B,EAAE,CAAA;YACxC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;gBACrD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;oBACjC,MAAM,UAAU,CAAC,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,mBAAmB,IAAI,IAAI,KAAK,mCAAmC,CAAC,CAAA;gBAC5G,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,IAAI,CAAC,CAAC,CAAA;YACtE,CAAC;YACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC9B,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,UAAU,CAAC,IAAI,EAAE,mBAAmB,IAAI,qCAAqC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACvG,CAAC;QAED,IAAI,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnD,MAAM,UAAU,CAAC,IAAI,EAAE,mBAAmB,IAAI,+BAA+B,CAAC,CAAA;QAChF,CAAC;QAED,MAAM,MAAM,GAA2C,EAAE,CAAA;QACzD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;aAClB,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aACxD,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACxB,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;QACjE,CAAC,CAAC,CAAA;QACJ,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC9B,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACpB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,KAAc;IACzD,OAAO,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,OAAO,EAAE,CAAC,CAAA;AACtD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,IAAI,CAAC;QACH,4BAA4B,CAAC,KAAK,CAAC,CAAA;QACnC,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,IAAkC,EAAE,IAAY,EAAE,OAAe;IACnF,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;AAC/C,CAAC;AAED,SAAS,SAAS,CAAC,IAAwC;IACzD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO,iBAAiB,CAAA;QAC1B,KAAK,QAAQ;YACX,OAAO,WAAW,CAAA;QACpB,KAAK,OAAO;YACV,OAAO,UAAU,CAAA;QACnB,KAAK,QAAQ;YACX,OAAO,UAAU,CAAA;QACnB,KAAK,QAAQ;YACX,OAAO,UAAU,CAAA;QACnB,KAAK,SAAS;YACZ,OAAO,WAAW,CAAA;QACpB,KAAK,MAAM;YACT,OAAO,MAAM,CAAA;IACjB,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAwC,EAAE,KAA0B;IAClG,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO,IAAI,CAAA;QACb,KAAK,QAAQ;YACX,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC7E,KAAK,OAAO;YACV,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC7B,KAAK,QAAQ;YACX,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAA;QAClC,KAAK,QAAQ;YACX,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAA;QAClC,KAAK,SAAS;YACZ,OAAO,OAAO,KAAK,KAAK,SAAS,CAAA;QACnC,KAAK,MAAM;YACT,OAAO,KAAK,KAAK,IAAI,CAAA;IACzB,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAA0B;IAC/C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC7E,CAAC;AAED,SAAS,wBAAwB,CAC/B,WAA2C,EAC3C,KAAsC,EACtC,IAAY,EACZ,MAAkC;IAElC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,IAAI,WAAW,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,EAAE,IAAI,EAAE,mBAAmB,IAAI,cAAc,CAAC,CAAC,CAAA;QAChG,CAAC;QACD,OAAM;IACR,CAAC;IAED,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,IAAI,EAAE,mBAAmB,IAAI,YAAY,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QACnH,OAAM;IACR,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9F,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,gBAAgB,CAAC,EAAE,EAAE;YACrE,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;YACtC,wBAAwB,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QACnH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5F,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK,CAAA;QACzC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC7B,wBAAwB,CAAC,eAAe,EAAE,KAAK,EAAE,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,MAAM,CAAC,CAAA;QAC/E,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC/D,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,KAAK,YAAY,wBAAwB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAA;AACzE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,WAAoB,EAAE,KAAc;IAC7D,IAAI,qBAAqD,CAAA;IACzD,IAAI,CAAC;QACH,qBAAqB,GAAG,uCAAuC,CAAC,WAAW,CAAC,CAAA;IAC9E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,kCAAkC,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC/G,CAAA;IACH,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,MAAM,GAA+B,EAAE,CAAA;QAC7C,wBAAwB,CAAC,qBAAqB,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QAC3E,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;aAC9B,CAAA;QACH,CAAC;QACD,OAAO;YACL,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;SAC1B,CAAA;IACH,CAAC;IAED,IAAI,eAAoC,CAAA;IACxC,IAAI,CAAC;QACH,eAAe,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAA;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,sBAAsB,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACnG,CAAA;IACH,CAAC;IAED,MAAM,MAAM,GAA+B,EAAE,CAAA;IAC7C,wBAAwB,CAAC,qBAAqB,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IACjF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,eAAe;YACtB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;SAC9B,CAAA;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,OAAO;QACf,KAAK,EAAE,eAAe;QACtB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;KAC1B,CAAA;AACH,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,KAAsC;IACzF,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAA;AAC9E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;AAC7D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,OAAO,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,KAAK,CAAA;AAC/D,CAAC"}
package/dist/model.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { formula } from './formula.js';
2
2
  import { collectWorkbookRefs, createWorkbookFindApi } from './find.js';
3
3
  import { createWorkbookCheckApi } from './check.js';
4
- import { checkInput, normalizeOptionalWorkbookActionInput, normalizeWorkbookActionInput, normalizeWorkbookActionInputDescription, } from './input.js';
4
+ import { checkInput, WorkbookActionInputError, normalizeOptionalWorkbookActionInput, normalizeWorkbookActionInput, normalizeWorkbookActionInputDescription, } from './input.js';
5
5
  import { isWorkbookOp } from './guards.js';
6
6
  export function defineModel(config) {
7
7
  const name = normalizeRequiredName(config.name, 'Workbook model name');
@@ -373,6 +373,22 @@ function actionNotFound(modelName, actionName) {
373
373
  message: `Workbook model ${modelName} does not define action ${actionName}`,
374
374
  };
375
375
  }
376
+ function actionInputError(issue) {
377
+ return {
378
+ code: 'invalid_action_input',
379
+ message: issue.message,
380
+ path: issue.path,
381
+ issueCode: issue.code,
382
+ };
383
+ }
384
+ function invalidActionInputError(error) {
385
+ return {
386
+ code: 'invalid_action_input',
387
+ message: errorMessage(error),
388
+ path: error instanceof WorkbookActionInputError ? error.path : 'input',
389
+ issueCode: 'invalid_action_input',
390
+ };
391
+ }
376
392
  function createActionPlan(modelName, actionName, input, refs, commands, ops, checks) {
377
393
  const plannedCommands = Object.freeze(commands.map(freezeActionCommand));
378
394
  const plannedOps = Object.freeze(ops.map(freezeWorkbookOp));
@@ -404,7 +420,13 @@ export function planWorkbookAction(model, actionName, input) {
404
420
  normalizedInput = normalizeOptionalWorkbookActionInput(input);
405
421
  }
406
422
  catch (error) {
407
- return failedPlan(model.name, actionName, 'invalid_action_input', errorMessage(error));
423
+ return {
424
+ status: 'failed',
425
+ modelName: model.name,
426
+ actionName,
427
+ checks: [],
428
+ errors: [invalidActionInputError(error)],
429
+ };
408
430
  }
409
431
  const actionDefinition = model.actions[actionName];
410
432
  if (actionDefinition === undefined) {
@@ -427,10 +449,7 @@ export function planWorkbookAction(model, actionName, input) {
427
449
  actionName,
428
450
  ...inputProperty(normalizedInput),
429
451
  checks: [],
430
- errors: inputCheck.issues.map((entry) => ({
431
- code: 'invalid_action_input',
432
- message: entry.message,
433
- })),
452
+ errors: inputCheck.issues.map(actionInputError),
434
453
  };
435
454
  }
436
455
  normalizedInput = inputCheck.input;