@bilig/workbook 0.62.0 → 0.64.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/README.md CHANGED
@@ -99,18 +99,23 @@ The main API is intentionally small:
99
99
  - formulas: `formula.add`, `formula.subtract`, `formula.multiply`, `formula.divide`, `formula.sum`, `formula.call`, `formula.raw`, `formula.text`, `formula.labels`
100
100
  - input: `checkInput`, `normalizeWorkbookActionInputDescription`
101
101
  - proof: `verifyPlan`, `verifyModel`, `verifyWorkbookReadbacks`
102
- - descriptions: `describeModel`, `describeRef`, `describePlan`, `describePlanResult`, `describeRuntimeRequirements`, `checkRuntimeAdapter`, `describeRunResult`
103
- - transport data: `isWorkbookRefData`, `toWorkbookRefData`, `collectWorkbookRefData`, `hydrateWorkbookRef`, `hydrateWorkbookRefs`, `toPlanData`, `isPlanData`, `hydratePlanData`, `verifyPlanData`
102
+ - descriptions: `describeModel`, `describeRef`, `describePlan`, `describePlanResult`, `describeRuntimeRequirements`, `checkRuntimeRequirements`, `checkRuntimeAdapter`, `describeRunResult`
103
+ - transport data: `isWorkbookRefData`, `toWorkbookRefData`, `collectWorkbookRefData`, `hydrateWorkbookRef`, `hydrateWorkbookRefs`, `toPlanData`, `isPlanData`, `checkPlanData`, `hydratePlanData`, `verifyPlanData`
104
104
  - runtime handoff: `runWorkbookPlan`, `runWorkbookAction`, `WorkbookRunAdapter`
105
+ - feature handoff: `defineWorkbookFeaturePlugin`, `checkWorkbookCommandRequest`, `normalizeWorkbookCommandRequest`, `checkWorkbookCommandReceipt`, `normalizeWorkbookCommandReceipt`, `workbookCommandReceiptOpsMatch`
105
106
  - low-level language: `WorkbookOp`, `WorkbookTxn`, `EngineOp`, `EngineOpBatch`, `isEngineOpBatch`
106
107
 
107
108
  Stable data helpers are exported for generic tool builders:
108
109
 
109
110
  - `workbookRefKinds`, `isWorkbookRefKind`, `isWorkbookRef`
110
111
  - `isWorkbookRefData`, `toWorkbookRefData`, `collectWorkbookRefData`, `hydrateWorkbookRef`, `hydrateWorkbookRefs`
112
+ - `isPlanData`, `checkPlanData`
111
113
  - `workbookRowOperators`, `workbookRowOperatorValueTypes`, `isWorkbookRowOperator`, `isWorkbookRowValueCompatible`
112
114
  - `builtInWorkbookCheckKinds`, `isBuiltInWorkbookCheckKind`
113
115
  - `workbookActionInputDescriptionKinds`, `isWorkbookActionInputDescriptionKind`, `isWorkbookActionInputDescription`, `isWorkbookActionInput`, `checkInput`
116
+ - `workbookRuntimeRequirementKinds`, `isWorkbookRuntimeRequirementKind`, `workbookRuntimeCapabilities`, `isWorkbookRuntimeCapability`, `checkRuntimeRequirements`
117
+ - `workbookCommandCategories`, `isWorkbookCommandCategory`, `workbookCommandExecutionModes`, `isWorkbookCommandExecutionMode`, `workbookCommandReceiptStatuses`, `isWorkbookCommandReceiptStatus`
118
+ - `workbookProjectionInterceptorPoints`, `isWorkbookProjectionInterceptorPoint`, `workbookUiContributionSlots`, `isWorkbookUiContributionSlot`, `checkWorkbookCommandRequest`
114
119
  - `workbookRunErrorCodes`, `isWorkbookRunErrorCode`
115
120
 
116
121
  ## Selectors
@@ -135,8 +140,9 @@ local helpers. `verifyPlanData(describePlan(plan))` checks transported plan data
135
140
  without requiring the consumer's private `refs` object shape.
136
141
 
137
142
  For full action handoff, use `toPlanData(plan)` before JSON transport. A runtime
138
- can call `hydratePlanData(data)` to regain frozen refs and helper methods, or
139
- pass the data directly to `describeRuntimeRequirements(data)` and
143
+ can call `checkPlanData(data)` to get structured path-based issues before
144
+ hydration, call `hydratePlanData(data)` to regain frozen refs and helper
145
+ methods, or pass the data directly to `describeRuntimeRequirements(data)` and
140
146
  `runWorkbookPlan(data, adapter)`. The hydrated plan exposes
141
147
  `refs: { refsUsed }` instead of the consumer's private model-shaped `refs`
142
148
  object, so transported execution stays generic.
@@ -195,7 +201,9 @@ const adapter = {
195
201
 
196
202
  `runWorkbookPlan` accepts either a live plan or transported plan data and
197
203
  refuses to call `apply` if static plan verification fails or if the adapter is
198
- missing a required method. Use `checkRuntimeAdapter(planOrRequirements,
204
+ missing a required method. Use `checkRuntimeRequirements(data)` when runtime
205
+ requirements crossed a JSON boundary and an agent needs path-based diagnostics
206
+ before trusting the handoff. Use `checkRuntimeAdapter(planOrRequirements,
199
207
  adapter)` when an agent wants to check `apply`, `read`, and `verifyChecks`
200
208
  coverage before calling the runtime. Check-only plans do not require `apply`;
201
209
  when runtime requirements contain only `read` or `verifyCheck`, `runWorkbookPlan`
@@ -237,6 +245,22 @@ type WorkbookRunResult =
237
245
  }
238
246
  ```
239
247
 
248
+ ## Feature Handoff
249
+
250
+ Feature command requests are plain data for runtimes that expose workbook
251
+ features to agents. Use `checkWorkbookCommandRequest(data)` before dispatching a
252
+ transported request. It returns stable path issues such as `featureId`,
253
+ `commandId`, `category`, `mode`, and `input`, and `normalizeWorkbookCommandRequest`
254
+ returns the frozen request data for the runtime. The exported command category,
255
+ execution-mode, receipt-status, projection-point, and UI-slot lists let tool
256
+ builders present and validate command contracts without importing a schema
257
+ framework.
258
+
259
+ Use `checkWorkbookCommandReceipt(data)` before trusting runtime command evidence.
260
+ It returns the same boring `{ status, issues }` shape for receipt fields such as
261
+ `status`, `featureId`, `commandId`, `previewOps`, `appliedOps`, `undo`,
262
+ `changedRanges`, `proof`, `metadata`, and `errors`.
263
+
240
264
  ## Low-Level Ops
241
265
 
242
266
  Most models should use the small action API: `writeFormula`, `writeValue`,
@@ -8,6 +8,11 @@ export type WorkbookCommandExecutionMode = 'preview' | 'apply' | 'applyAndVerify
8
8
  export type WorkbookCommandReceiptStatus = 'previewed' | 'applied' | 'rejected' | 'noop';
9
9
  export type WorkbookProjectionInterceptorPoint = 'cellDisplay' | 'cellStyle' | 'rangeChrome' | 'rowVisibility' | 'beforeCommand' | 'commandMetadata';
10
10
  export type WorkbookUiContributionSlot = 'toolbar' | 'sidePanel' | 'floatingOverlay' | 'status';
11
+ export declare const workbookCommandCategories: readonly ["command", "operation", "mutation"];
12
+ export declare const workbookCommandExecutionModes: readonly ["preview", "apply", "applyAndVerify"];
13
+ export declare const workbookCommandReceiptStatuses: readonly ["previewed", "applied", "rejected", "noop"];
14
+ export declare const workbookProjectionInterceptorPoints: readonly ["cellDisplay", "cellStyle", "rangeChrome", "rowVisibility", "beforeCommand", "commandMetadata"];
15
+ export declare const workbookUiContributionSlots: readonly ["toolbar", "sidePanel", "floatingOverlay", "status"];
11
16
  export interface WorkbookFeatureLifecycleContext {
12
17
  readonly featureId: WorkbookFeatureId;
13
18
  readonly activeFeatures: readonly WorkbookFeatureId[];
@@ -27,6 +32,20 @@ export interface WorkbookCommandRequest {
27
32
  readonly mode?: WorkbookCommandExecutionMode;
28
33
  readonly input?: WorkbookActionInput;
29
34
  }
35
+ export type WorkbookCommandRequestIssueCode = 'invalid_command_request';
36
+ export interface WorkbookCommandRequestIssue {
37
+ readonly code: WorkbookCommandRequestIssueCode;
38
+ readonly path: string;
39
+ readonly message: string;
40
+ }
41
+ export type WorkbookCommandRequestCheckResult = {
42
+ readonly status: 'valid';
43
+ readonly request: WorkbookCommandRequest;
44
+ readonly issues: readonly [];
45
+ } | {
46
+ readonly status: 'invalid';
47
+ readonly issues: readonly WorkbookCommandRequestIssue[];
48
+ };
30
49
  export interface WorkbookCommandReceipt {
31
50
  readonly status: WorkbookCommandReceiptStatus;
32
51
  readonly featureId: WorkbookFeatureId;
@@ -41,6 +60,20 @@ export interface WorkbookCommandReceipt {
41
60
  readonly metadata?: WorkbookActionInput;
42
61
  readonly errors?: readonly string[];
43
62
  }
63
+ export type WorkbookCommandReceiptIssueCode = 'invalid_command_receipt';
64
+ export interface WorkbookCommandReceiptIssue {
65
+ readonly code: WorkbookCommandReceiptIssueCode;
66
+ readonly path: string;
67
+ readonly message: string;
68
+ }
69
+ export type WorkbookCommandReceiptCheckResult = {
70
+ readonly status: 'valid';
71
+ readonly receipt: WorkbookCommandReceipt;
72
+ readonly issues: readonly [];
73
+ } | {
74
+ readonly status: 'invalid';
75
+ readonly issues: readonly WorkbookCommandReceiptIssue[];
76
+ };
44
77
  export interface WorkbookCellDisplayProjection {
45
78
  readonly value?: LiteralInput;
46
79
  readonly text?: string;
@@ -101,8 +134,17 @@ export interface WorkbookFeaturePlugin extends WorkbookFeatureRegistration {
101
134
  readonly dispose?: (context: WorkbookFeatureLifecycleContext) => void;
102
135
  }
103
136
  export declare function normalizeWorkbookFeatureId(value: string, label?: string): WorkbookFeatureId;
137
+ export declare function isWorkbookCommandCategory(value: unknown): value is WorkbookCommandCategory;
138
+ export declare function isWorkbookCommandExecutionMode(value: unknown): value is WorkbookCommandExecutionMode;
139
+ export declare function isWorkbookCommandReceiptStatus(value: unknown): value is WorkbookCommandReceiptStatus;
140
+ export declare function isWorkbookProjectionInterceptorPoint(value: unknown): value is WorkbookProjectionInterceptorPoint;
141
+ export declare function isWorkbookUiContributionSlot(value: unknown): value is WorkbookUiContributionSlot;
142
+ export declare function checkWorkbookCommandRequest(value: unknown): WorkbookCommandRequestCheckResult;
143
+ export declare function normalizeWorkbookCommandRequest(value: unknown): WorkbookCommandRequest;
144
+ export declare function isWorkbookCommandRequest(value: unknown): value is WorkbookCommandRequest;
145
+ export declare function checkWorkbookCommandReceipt(value: unknown): WorkbookCommandReceiptCheckResult;
104
146
  export declare function defineWorkbookFeaturePlugin(plugin: WorkbookFeaturePlugin): WorkbookFeaturePlugin;
105
147
  export declare function normalizeWorkbookCommandDescriptor(descriptor: WorkbookCommandDescriptor, expectedFeatureId?: WorkbookFeatureId): WorkbookCommandDescriptor;
106
- export declare function normalizeWorkbookCommandReceipt(receipt: WorkbookCommandReceipt): WorkbookCommandReceipt;
148
+ export declare function normalizeWorkbookCommandReceipt(receipt: unknown): WorkbookCommandReceipt;
107
149
  export declare function isWorkbookCommandReceipt(value: unknown): value is WorkbookCommandReceipt;
108
150
  export declare function workbookCommandReceiptOpsMatch(receipt: Pick<WorkbookCommandReceipt, 'previewOps' | 'appliedOps'>): boolean | null;
package/dist/features.js CHANGED
@@ -1,6 +1,41 @@
1
1
  import { isCellRangeRef } from '@bilig/protocol';
2
2
  import { isWorkbookOp } from './guards.js';
3
3
  import { isWorkbookActionInput, isWorkbookActionInputDescription, normalizeWorkbookActionInput, } from './input.js';
4
+ export const workbookCommandCategories = Object.freeze([
5
+ 'command',
6
+ 'operation',
7
+ 'mutation',
8
+ ]);
9
+ const WORKBOOK_COMMAND_CATEGORY_SET = new Set(workbookCommandCategories);
10
+ export const workbookCommandExecutionModes = Object.freeze([
11
+ 'preview',
12
+ 'apply',
13
+ 'applyAndVerify',
14
+ ]);
15
+ const WORKBOOK_COMMAND_EXECUTION_MODE_SET = new Set(workbookCommandExecutionModes);
16
+ export const workbookCommandReceiptStatuses = Object.freeze([
17
+ 'previewed',
18
+ 'applied',
19
+ 'rejected',
20
+ 'noop',
21
+ ]);
22
+ const WORKBOOK_COMMAND_RECEIPT_STATUS_SET = new Set(workbookCommandReceiptStatuses);
23
+ export const workbookProjectionInterceptorPoints = Object.freeze([
24
+ 'cellDisplay',
25
+ 'cellStyle',
26
+ 'rangeChrome',
27
+ 'rowVisibility',
28
+ 'beforeCommand',
29
+ 'commandMetadata',
30
+ ]);
31
+ const WORKBOOK_PROJECTION_INTERCEPTOR_POINT_SET = new Set(workbookProjectionInterceptorPoints);
32
+ export const workbookUiContributionSlots = Object.freeze([
33
+ 'toolbar',
34
+ 'sidePanel',
35
+ 'floatingOverlay',
36
+ 'status',
37
+ ]);
38
+ const WORKBOOK_UI_CONTRIBUTION_SLOT_SET = new Set(workbookUiContributionSlots);
4
39
  export function normalizeWorkbookFeatureId(value, label = 'Workbook feature id') {
5
40
  const normalized = value.trim();
6
41
  if (normalized === '') {
@@ -11,6 +46,316 @@ export function normalizeWorkbookFeatureId(value, label = 'Workbook feature id')
11
46
  }
12
47
  return normalized;
13
48
  }
49
+ export function isWorkbookCommandCategory(value) {
50
+ return typeof value === 'string' && WORKBOOK_COMMAND_CATEGORY_SET.has(value);
51
+ }
52
+ export function isWorkbookCommandExecutionMode(value) {
53
+ return typeof value === 'string' && WORKBOOK_COMMAND_EXECUTION_MODE_SET.has(value);
54
+ }
55
+ export function isWorkbookCommandReceiptStatus(value) {
56
+ return typeof value === 'string' && WORKBOOK_COMMAND_RECEIPT_STATUS_SET.has(value);
57
+ }
58
+ export function isWorkbookProjectionInterceptorPoint(value) {
59
+ return typeof value === 'string' && WORKBOOK_PROJECTION_INTERCEPTOR_POINT_SET.has(value);
60
+ }
61
+ export function isWorkbookUiContributionSlot(value) {
62
+ return typeof value === 'string' && WORKBOOK_UI_CONTRIBUTION_SLOT_SET.has(value);
63
+ }
64
+ function commandRequestIssue(path, message) {
65
+ return Object.freeze({
66
+ code: 'invalid_command_request',
67
+ path,
68
+ message,
69
+ });
70
+ }
71
+ function pushRequiredCommandRequestStringIssue(issues, value, key, label) {
72
+ const entry = value[key];
73
+ if (typeof entry !== 'string') {
74
+ issues.push(commandRequestIssue(key, `Workbook command request ${label} must be a string`));
75
+ return;
76
+ }
77
+ const normalized = entry.trim();
78
+ if (normalized === '') {
79
+ issues.push(commandRequestIssue(key, `Workbook command request ${label} cannot be empty`));
80
+ return;
81
+ }
82
+ if (normalized !== entry) {
83
+ issues.push(commandRequestIssue(key, `Workbook command request ${label} must not have leading or trailing whitespace`));
84
+ }
85
+ }
86
+ function normalizedCommandRequest(value) {
87
+ if (!isRecord(value) || typeof value['featureId'] !== 'string' || typeof value['commandId'] !== 'string') {
88
+ return null;
89
+ }
90
+ const category = value['category'];
91
+ const mode = value['mode'];
92
+ const input = value['input'];
93
+ if ((category !== undefined && !isWorkbookCommandCategory(category)) ||
94
+ (mode !== undefined && !isWorkbookCommandExecutionMode(mode)) ||
95
+ (input !== undefined && !isWorkbookActionInput(input))) {
96
+ return null;
97
+ }
98
+ return Object.freeze({
99
+ featureId: normalizeWorkbookFeatureId(value['featureId'], 'Workbook command request feature id'),
100
+ commandId: normalizeRequiredString(value['commandId'], 'Workbook command request command id'),
101
+ ...(category !== undefined ? { category } : {}),
102
+ ...(mode !== undefined ? { mode } : {}),
103
+ ...(input !== undefined ? { input: normalizeWorkbookActionInput(input) } : {}),
104
+ });
105
+ }
106
+ export function checkWorkbookCommandRequest(value) {
107
+ if (!isRecord(value)) {
108
+ return {
109
+ status: 'invalid',
110
+ issues: Object.freeze([commandRequestIssue('request', 'Workbook command request must be an object')]),
111
+ };
112
+ }
113
+ const issues = [];
114
+ pushRequiredCommandRequestStringIssue(issues, value, 'featureId', 'feature id');
115
+ pushRequiredCommandRequestStringIssue(issues, value, 'commandId', 'command id');
116
+ if (value['category'] !== undefined && !isWorkbookCommandCategory(value['category'])) {
117
+ issues.push(commandRequestIssue('category', 'Workbook command request category is invalid'));
118
+ }
119
+ if (value['mode'] !== undefined && !isWorkbookCommandExecutionMode(value['mode'])) {
120
+ issues.push(commandRequestIssue('mode', 'Workbook command request mode is invalid'));
121
+ }
122
+ if (value['input'] !== undefined && !isWorkbookActionInput(value['input'])) {
123
+ issues.push(commandRequestIssue('input', 'Workbook command request input must be JSON-safe'));
124
+ }
125
+ if (issues.length > 0) {
126
+ return {
127
+ status: 'invalid',
128
+ issues: Object.freeze(issues),
129
+ };
130
+ }
131
+ const request = normalizedCommandRequest(value);
132
+ if (request === null) {
133
+ return {
134
+ status: 'invalid',
135
+ issues: Object.freeze([commandRequestIssue('request', 'Workbook command request is invalid')]),
136
+ };
137
+ }
138
+ return {
139
+ status: 'valid',
140
+ request,
141
+ issues: Object.freeze([]),
142
+ };
143
+ }
144
+ export function normalizeWorkbookCommandRequest(value) {
145
+ const check = checkWorkbookCommandRequest(value);
146
+ if (check.status === 'invalid') {
147
+ const [firstIssue] = check.issues;
148
+ throw new Error(firstIssue === undefined ? 'Workbook command request is invalid' : `Workbook command request is invalid: ${firstIssue.message}`);
149
+ }
150
+ return check.request;
151
+ }
152
+ export function isWorkbookCommandRequest(value) {
153
+ return checkWorkbookCommandRequest(value).status === 'valid';
154
+ }
155
+ function commandReceiptIssue(path, message) {
156
+ return Object.freeze({
157
+ code: 'invalid_command_receipt',
158
+ path,
159
+ message,
160
+ });
161
+ }
162
+ function pushRequiredCommandReceiptStringIssue(issues, value, key, label) {
163
+ const entry = value[key];
164
+ if (typeof entry !== 'string') {
165
+ issues.push(commandReceiptIssue(key, `Workbook command receipt ${label} must be a string`));
166
+ return;
167
+ }
168
+ const normalized = entry.trim();
169
+ if (normalized === '') {
170
+ issues.push(commandReceiptIssue(key, `Workbook command receipt ${label} cannot be empty`));
171
+ return;
172
+ }
173
+ if (normalized !== entry) {
174
+ issues.push(commandReceiptIssue(key, `Workbook command receipt ${label} must not have leading or trailing whitespace`));
175
+ }
176
+ }
177
+ function pushOptionalCommandReceiptStringIssue(issues, value, path, label) {
178
+ if (value === undefined) {
179
+ return;
180
+ }
181
+ if (typeof value !== 'string') {
182
+ issues.push(commandReceiptIssue(path, `Workbook command receipt ${label} must be a string`));
183
+ return;
184
+ }
185
+ const normalized = value.trim();
186
+ if (normalized === '') {
187
+ issues.push(commandReceiptIssue(path, `Workbook command receipt ${label} cannot be empty`));
188
+ return;
189
+ }
190
+ if (normalized !== value) {
191
+ issues.push(commandReceiptIssue(path, `Workbook command receipt ${label} must not have leading or trailing whitespace`));
192
+ }
193
+ }
194
+ function pushCommandReceiptOpsIssues(issues, value, path, label) {
195
+ if (value === undefined) {
196
+ return;
197
+ }
198
+ if (!Array.isArray(value)) {
199
+ issues.push(commandReceiptIssue(path, `Workbook command receipt ${label} ops must be an array`));
200
+ return;
201
+ }
202
+ value.forEach((op, index) => {
203
+ if (!isWorkbookOp(op)) {
204
+ issues.push(commandReceiptIssue(`${path}[${index}]`, `Workbook command receipt ${label} op is invalid`));
205
+ }
206
+ });
207
+ }
208
+ function pushCommandReceiptChangedRangesIssues(issues, value) {
209
+ if (value === undefined) {
210
+ return;
211
+ }
212
+ if (!Array.isArray(value)) {
213
+ issues.push(commandReceiptIssue('changedRanges', 'Workbook command receipt changed ranges must be an array'));
214
+ return;
215
+ }
216
+ value.forEach((range, index) => {
217
+ if (!isCellRangeRef(range)) {
218
+ issues.push(commandReceiptIssue(`changedRanges[${index}]`, 'Workbook command receipt changed range is invalid'));
219
+ }
220
+ });
221
+ }
222
+ function pushCommandReceiptUndoIssues(issues, value) {
223
+ if (value === undefined) {
224
+ return;
225
+ }
226
+ if (!isRecord(value)) {
227
+ issues.push(commandReceiptIssue('undo', 'Workbook command receipt undo must be an object'));
228
+ return;
229
+ }
230
+ pushOptionalCommandReceiptStringIssue(issues, value['id'], 'undo.id', 'undo id');
231
+ if (value['id'] === undefined) {
232
+ issues.push(commandReceiptIssue('undo.id', 'Workbook command receipt undo id must be a string'));
233
+ }
234
+ pushCommandReceiptOpsIssues(issues, value['ops'], 'undo.ops', 'undo');
235
+ }
236
+ function pushCommandReceiptErrorsIssues(issues, value) {
237
+ if (value === undefined) {
238
+ return;
239
+ }
240
+ if (!Array.isArray(value)) {
241
+ issues.push(commandReceiptIssue('errors', 'Workbook command receipt errors must be an array'));
242
+ return;
243
+ }
244
+ value.forEach((error, index) => {
245
+ pushOptionalCommandReceiptStringIssue(issues, error, `errors[${index}]`, 'error');
246
+ });
247
+ }
248
+ function normalizeReceiptUndo(value) {
249
+ if (!isRecord(value) || typeof value['id'] !== 'string') {
250
+ return undefined;
251
+ }
252
+ const id = value['id'];
253
+ const ops = Array.isArray(value['ops']) ? value['ops'].map((op) => normalizeReceiptOp(id, op, 'undo')) : undefined;
254
+ return Object.freeze({
255
+ id: normalizeRequiredString(id, 'Workbook command receipt undo id'),
256
+ ...(ops !== undefined ? { ops: Object.freeze(ops) } : {}),
257
+ });
258
+ }
259
+ function normalizedCommandReceipt(value) {
260
+ if (!isRecord(value) ||
261
+ typeof value['featureId'] !== 'string' ||
262
+ typeof value['commandId'] !== 'string' ||
263
+ !isWorkbookCommandReceiptStatus(value['status']) ||
264
+ !isWorkbookCommandCategory(value['category'])) {
265
+ return null;
266
+ }
267
+ const previewOps = value['previewOps'];
268
+ const appliedOps = value['appliedOps'];
269
+ const undo = value['undo'];
270
+ const changedRanges = value['changedRanges'];
271
+ const proof = value['proof'];
272
+ const message = value['message'];
273
+ const metadata = value['metadata'];
274
+ const errors = value['errors'];
275
+ if ((previewOps !== undefined && (!Array.isArray(previewOps) || !previewOps.every((op) => isWorkbookOp(op)))) ||
276
+ (appliedOps !== undefined && (!Array.isArray(appliedOps) || !appliedOps.every((op) => isWorkbookOp(op)))) ||
277
+ (changedRanges !== undefined && (!Array.isArray(changedRanges) || !changedRanges.every((range) => isCellRangeRef(range)))) ||
278
+ (proof !== undefined && !isWorkbookActionInput(proof)) ||
279
+ (metadata !== undefined && !isWorkbookActionInput(metadata)) ||
280
+ (message !== undefined && typeof message !== 'string') ||
281
+ (errors !== undefined && (!Array.isArray(errors) || !errors.every((error) => typeof error === 'string')))) {
282
+ return null;
283
+ }
284
+ const normalizedUndo = normalizeReceiptUndo(undo);
285
+ if (undo !== undefined && normalizedUndo === undefined) {
286
+ return null;
287
+ }
288
+ const commandId = value['commandId'];
289
+ return Object.freeze({
290
+ status: value['status'],
291
+ featureId: normalizeWorkbookFeatureId(value['featureId'], 'Workbook command receipt feature id'),
292
+ commandId: normalizeRequiredString(commandId, 'Workbook command receipt command id'),
293
+ category: value['category'],
294
+ ...(previewOps !== undefined
295
+ ? { previewOps: Object.freeze(previewOps.map((op) => normalizeReceiptOp(commandId, op, 'preview'))) }
296
+ : {}),
297
+ ...(appliedOps !== undefined
298
+ ? { appliedOps: Object.freeze(appliedOps.map((op) => normalizeReceiptOp(commandId, op, 'applied'))) }
299
+ : {}),
300
+ ...(normalizedUndo !== undefined ? { undo: normalizedUndo } : {}),
301
+ ...(changedRanges !== undefined
302
+ ? { changedRanges: Object.freeze(changedRanges.map((range) => normalizeReceiptRange(commandId, range))) }
303
+ : {}),
304
+ ...(proof !== undefined ? { proof: normalizeWorkbookActionInput(proof) } : {}),
305
+ ...(message !== undefined ? { message: normalizeRequiredString(message, `Workbook command receipt ${commandId} message`) } : {}),
306
+ ...(metadata !== undefined ? { metadata: normalizeWorkbookActionInput(metadata) } : {}),
307
+ ...(errors !== undefined
308
+ ? { errors: Object.freeze(errors.map((error) => normalizeRequiredString(error, `Workbook command receipt ${commandId} error`))) }
309
+ : {}),
310
+ });
311
+ }
312
+ export function checkWorkbookCommandReceipt(value) {
313
+ if (!isRecord(value)) {
314
+ return {
315
+ status: 'invalid',
316
+ issues: Object.freeze([commandReceiptIssue('receipt', 'Workbook command receipt must be an object')]),
317
+ };
318
+ }
319
+ const issues = [];
320
+ if (!isWorkbookCommandReceiptStatus(value['status'])) {
321
+ issues.push(commandReceiptIssue('status', 'Workbook command receipt status is invalid'));
322
+ }
323
+ pushRequiredCommandReceiptStringIssue(issues, value, 'featureId', 'feature id');
324
+ pushRequiredCommandReceiptStringIssue(issues, value, 'commandId', 'command id');
325
+ if (!isWorkbookCommandCategory(value['category'])) {
326
+ issues.push(commandReceiptIssue('category', 'Workbook command receipt category is invalid'));
327
+ }
328
+ pushCommandReceiptOpsIssues(issues, value['previewOps'], 'previewOps', 'preview');
329
+ pushCommandReceiptOpsIssues(issues, value['appliedOps'], 'appliedOps', 'applied');
330
+ pushCommandReceiptUndoIssues(issues, value['undo']);
331
+ pushCommandReceiptChangedRangesIssues(issues, value['changedRanges']);
332
+ if (value['proof'] !== undefined && !isWorkbookActionInput(value['proof'])) {
333
+ issues.push(commandReceiptIssue('proof', 'Workbook command receipt proof must be JSON-safe'));
334
+ }
335
+ pushOptionalCommandReceiptStringIssue(issues, value['message'], 'message', 'message');
336
+ if (value['metadata'] !== undefined && !isWorkbookActionInput(value['metadata'])) {
337
+ issues.push(commandReceiptIssue('metadata', 'Workbook command receipt metadata must be JSON-safe'));
338
+ }
339
+ pushCommandReceiptErrorsIssues(issues, value['errors']);
340
+ if (issues.length > 0) {
341
+ return {
342
+ status: 'invalid',
343
+ issues: Object.freeze(issues),
344
+ };
345
+ }
346
+ const receipt = normalizedCommandReceipt(value);
347
+ if (receipt === null) {
348
+ return {
349
+ status: 'invalid',
350
+ issues: Object.freeze([commandReceiptIssue('receipt', 'Workbook command receipt is invalid')]),
351
+ };
352
+ }
353
+ return {
354
+ status: 'valid',
355
+ receipt,
356
+ issues: Object.freeze([]),
357
+ };
358
+ }
14
359
  export function defineWorkbookFeaturePlugin(plugin) {
15
360
  const id = normalizeWorkbookFeatureId(plugin.id);
16
361
  const version = normalizeRequiredString(plugin.version, `Workbook feature ${id} version`);
@@ -54,47 +399,15 @@ export function normalizeWorkbookCommandDescriptor(descriptor, expectedFeatureId
54
399
  });
55
400
  }
56
401
  export function normalizeWorkbookCommandReceipt(receipt) {
57
- const featureId = normalizeWorkbookFeatureId(receipt.featureId, 'Workbook command receipt feature id');
58
- const commandId = normalizeRequiredString(receipt.commandId, 'Workbook command receipt command id');
59
- if (!isWorkbookCommandCategory(receipt.category)) {
60
- throw new Error(`Workbook command receipt ${commandId} category is invalid`);
61
- }
62
- if (!isWorkbookCommandReceiptStatus(receipt.status)) {
63
- throw new Error(`Workbook command receipt ${commandId} status is invalid`);
64
- }
65
- const previewOps = receipt.previewOps?.map((op) => normalizeReceiptOp(commandId, op, 'preview'));
66
- const appliedOps = receipt.appliedOps?.map((op) => normalizeReceiptOp(commandId, op, 'applied'));
67
- const changedRanges = receipt.changedRanges?.map((range) => normalizeReceiptRange(commandId, range));
68
- const proof = receipt.proof === undefined ? undefined : normalizeWorkbookActionInput(receipt.proof);
69
- const metadata = receipt.metadata === undefined ? undefined : normalizeWorkbookActionInput(receipt.metadata);
70
- const message = receipt.message === undefined ? undefined : normalizeRequiredString(receipt.message, `Workbook command receipt ${commandId} message`);
71
- const errors = receipt.errors?.map((error) => normalizeRequiredString(error, `Workbook command receipt ${commandId} error`));
72
- return Object.freeze({
73
- status: receipt.status,
74
- featureId,
75
- commandId,
76
- category: receipt.category,
77
- ...(previewOps !== undefined ? { previewOps: Object.freeze(previewOps) } : {}),
78
- ...(appliedOps !== undefined ? { appliedOps: Object.freeze(appliedOps) } : {}),
79
- ...(receipt.undo !== undefined ? { undo: receipt.undo } : {}),
80
- ...(changedRanges !== undefined ? { changedRanges: Object.freeze(changedRanges) } : {}),
81
- ...(proof !== undefined ? { proof } : {}),
82
- ...(message !== undefined ? { message } : {}),
83
- ...(metadata !== undefined ? { metadata } : {}),
84
- ...(errors !== undefined ? { errors: Object.freeze(errors) } : {}),
85
- });
402
+ const check = checkWorkbookCommandReceipt(receipt);
403
+ if (check.status === 'invalid') {
404
+ const [firstIssue] = check.issues;
405
+ throw new Error(firstIssue === undefined ? 'Workbook command receipt is invalid' : `Workbook command receipt is invalid: ${firstIssue.message}`);
406
+ }
407
+ return check.receipt;
86
408
  }
87
409
  export function isWorkbookCommandReceipt(value) {
88
- if (!isWorkbookCommandReceiptCandidate(value)) {
89
- return false;
90
- }
91
- try {
92
- normalizeWorkbookCommandReceipt(value);
93
- return true;
94
- }
95
- catch {
96
- return false;
97
- }
410
+ return checkWorkbookCommandReceipt(value).status === 'valid';
98
411
  }
99
412
  export function workbookCommandReceiptOpsMatch(receipt) {
100
413
  if (receipt.previewOps === undefined || receipt.appliedOps === undefined) {
@@ -160,21 +473,6 @@ function normalizeReceiptRange(commandId, range) {
160
473
  }
161
474
  return structuredClone(range);
162
475
  }
163
- function isWorkbookCommandReceiptCandidate(value) {
164
- return (isRecord(value) &&
165
- typeof value['featureId'] === 'string' &&
166
- typeof value['commandId'] === 'string' &&
167
- isWorkbookCommandCategory(value['category']) &&
168
- isWorkbookCommandReceiptStatus(value['status']) &&
169
- (value['previewOps'] === undefined || (Array.isArray(value['previewOps']) && value['previewOps'].every((op) => isWorkbookOp(op)))) &&
170
- (value['appliedOps'] === undefined || (Array.isArray(value['appliedOps']) && value['appliedOps'].every((op) => isWorkbookOp(op)))) &&
171
- (value['changedRanges'] === undefined ||
172
- (Array.isArray(value['changedRanges']) && value['changedRanges'].every((range) => isCellRangeRef(range)))) &&
173
- (value['proof'] === undefined || isWorkbookActionInput(value['proof'])) &&
174
- (value['metadata'] === undefined || isWorkbookActionInput(value['metadata'])) &&
175
- (value['message'] === undefined || typeof value['message'] === 'string') &&
176
- (value['errors'] === undefined || (Array.isArray(value['errors']) && value['errors'].every((error) => typeof error === 'string'))));
177
- }
178
476
  function isRecord(value) {
179
477
  return typeof value === 'object' && value !== null && !Array.isArray(value);
180
478
  }
@@ -188,21 +486,4 @@ function normalizeRequiredString(value, label) {
188
486
  }
189
487
  return normalized;
190
488
  }
191
- function isWorkbookCommandCategory(value) {
192
- return value === 'command' || value === 'operation' || value === 'mutation';
193
- }
194
- function isWorkbookCommandReceiptStatus(value) {
195
- return value === 'previewed' || value === 'applied' || value === 'rejected' || value === 'noop';
196
- }
197
- function isWorkbookProjectionInterceptorPoint(value) {
198
- return (value === 'cellDisplay' ||
199
- value === 'cellStyle' ||
200
- value === 'rangeChrome' ||
201
- value === 'rowVisibility' ||
202
- value === 'beforeCommand' ||
203
- value === 'commandMetadata');
204
- }
205
- function isWorkbookUiContributionSlot(value) {
206
- return value === 'toolbar' || value === 'sidePanel' || value === 'floatingOverlay' || value === 'status';
207
- }
208
489
  //# sourceMappingURL=features.js.map
@@ -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":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EACL,qBAAqB,EACrB,gCAAgC,EAChC,4BAA4B,GAG7B,MAAM,YAAY,CAAA;AAiBnB,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,CAAC;IACrD,SAAS;IACT,WAAW;IACX,UAAU;CAC2C,CAAC,CAAA;AACxD,MAAM,6BAA6B,GAAG,IAAI,GAAG,CAAS,yBAAyB,CAAC,CAAA;AAEhF,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC,MAAM,CAAC;IACzD,SAAS;IACT,OAAO;IACP,gBAAgB;CAC0C,CAAC,CAAA;AAC7D,MAAM,mCAAmC,GAAG,IAAI,GAAG,CAAS,6BAA6B,CAAC,CAAA;AAE1F,MAAM,CAAC,MAAM,8BAA8B,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1D,WAAW;IACX,SAAS;IACT,UAAU;IACV,MAAM;CACoD,CAAC,CAAA;AAC7D,MAAM,mCAAmC,GAAG,IAAI,GAAG,CAAS,8BAA8B,CAAC,CAAA;AAE3F,MAAM,CAAC,MAAM,mCAAmC,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/D,aAAa;IACb,WAAW;IACX,aAAa;IACb,eAAe;IACf,eAAe;IACf,iBAAiB;CAC+C,CAAC,CAAA;AACnE,MAAM,yCAAyC,GAAG,IAAI,GAAG,CAAS,mCAAmC,CAAC,CAAA;AAEtG,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC,MAAM,CAAC;IACvD,SAAS;IACT,WAAW;IACX,iBAAiB;IACjB,QAAQ;CACgD,CAAC,CAAA;AAC3D,MAAM,iCAAiC,GAAG,IAAI,GAAG,CAAS,2BAA2B,CAAC,CAAA;AAkJtF,MAAM,UAAU,0BAA0B,CAAC,KAAa,EAAE,KAAK,GAAG,qBAAqB;IACrF,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC/B,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,kBAAkB,CAAC,CAAA;IAC7C,CAAC;IACD,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,+CAA+C,CAAC,CAAA;IAC1E,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,6BAA6B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AAC9E,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,KAAc;IAC3D,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,mCAAmC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AACpF,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,KAAc;IAC3D,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,mCAAmC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AACpF,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,KAAc;IACjE,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,yCAAyC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AAC1F,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,KAAc;IACzD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,iCAAiC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AAClF,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,OAAe;IACxD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,yBAAyB;QAC/B,IAAI;QACJ,OAAO;KACR,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,qCAAqC,CAC5C,MAAqC,EACrC,KAA8B,EAC9B,GAA8B,EAC9B,KAAa;IAEb,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;IACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,4BAA4B,KAAK,mBAAmB,CAAC,CAAC,CAAA;QAC3F,OAAM;IACR,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC/B,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,4BAA4B,KAAK,kBAAkB,CAAC,CAAC,CAAA;QAC1F,OAAM;IACR,CAAC;IACD,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,4BAA4B,KAAK,+CAA+C,CAAC,CAAC,CAAA;IACzH,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc;IAC9C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzG,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAA;IAClC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;IAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;IAC5B,IACE,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QAChE,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC;QAC7D,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,EACtD,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,SAAS,EAAE,0BAA0B,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,qCAAqC,CAAC;QAChG,SAAS,EAAE,uBAAuB,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,qCAAqC,CAAC;QAC7F,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,4BAA4B,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/E,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAc;IACxD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,SAAS,EAAE,4CAA4C,CAAC,CAAC,CAAC;SACtG,CAAA;IACH,CAAC;IAED,MAAM,MAAM,GAAkC,EAAE,CAAA;IAChD,qCAAqC,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,CAAC,CAAA;IAC/E,qCAAqC,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,CAAC,CAAA;IAC/E,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,SAAS,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACrF,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,8CAA8C,CAAC,CAAC,CAAA;IAC9F,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,SAAS,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAClF,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,0CAA0C,CAAC,CAAC,CAAA;IACtF,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC3E,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,kDAAkD,CAAC,CAAC,CAAA;IAC/F,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;SAC9B,CAAA;IACH,CAAC;IACD,MAAM,OAAO,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAA;IAC/C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,SAAS,EAAE,qCAAqC,CAAC,CAAC,CAAC;SAC/F,CAAA;IACH,CAAC;IACD,OAAO;QACL,MAAM,EAAE,OAAO;QACf,OAAO;QACP,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;KAC1B,CAAA;AACH,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,KAAc;IAC5D,MAAM,KAAK,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAA;IAChD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;QACjC,MAAM,IAAI,KAAK,CACb,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,wCAAwC,UAAU,CAAC,OAAO,EAAE,CAChI,CAAA;IACH,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAA;AACtB,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,OAAO,2BAA2B,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,OAAO,CAAA;AAC9D,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,OAAe;IACxD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,yBAAyB;QAC/B,IAAI;QACJ,OAAO;KACR,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,qCAAqC,CAC5C,MAAqC,EACrC,KAA8B,EAC9B,GAA8B,EAC9B,KAAa;IAEb,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;IACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,4BAA4B,KAAK,mBAAmB,CAAC,CAAC,CAAA;QAC3F,OAAM;IACR,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC/B,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,4BAA4B,KAAK,kBAAkB,CAAC,CAAC,CAAA;QAC1F,OAAM;IACR,CAAC;IACD,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,4BAA4B,KAAK,+CAA+C,CAAC,CAAC,CAAA;IACzH,CAAC;AACH,CAAC;AAED,SAAS,qCAAqC,CAAC,MAAqC,EAAE,KAAc,EAAE,IAAY,EAAE,KAAa;IAC/H,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAM;IACR,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,4BAA4B,KAAK,mBAAmB,CAAC,CAAC,CAAA;QAC5F,OAAM;IACR,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC/B,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,4BAA4B,KAAK,kBAAkB,CAAC,CAAC,CAAA;QAC3F,OAAM;IACR,CAAC;IACD,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,4BAA4B,KAAK,+CAA+C,CAAC,CAAC,CAAA;IAC1H,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,MAAqC,EAAE,KAAc,EAAE,IAAY,EAAE,KAAa;IACrH,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAM;IACR,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,4BAA4B,KAAK,uBAAuB,CAAC,CAAC,CAAA;QAChG,OAAM;IACR,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;QAC1B,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,4BAA4B,KAAK,gBAAgB,CAAC,CAAC,CAAA;QAC1G,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,qCAAqC,CAAC,MAAqC,EAAE,KAAc;IAClG,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAM;IACR,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,0DAA0D,CAAC,CAAC,CAAA;QAC7G,OAAM;IACR,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC7B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,KAAK,GAAG,EAAE,mDAAmD,CAAC,CAAC,CAAA;QAClH,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,MAAqC,EAAE,KAAc;IACzF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAM;IACR,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,iDAAiD,CAAC,CAAC,CAAA;QAC3F,OAAM;IACR,CAAC;IACD,qCAAqC,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;IAChF,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,mDAAmD,CAAC,CAAC,CAAA;IAClG,CAAC;IACD,2BAA2B,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;AACvE,CAAC;AAED,SAAS,8BAA8B,CAAC,MAAqC,EAAE,KAAc;IAC3F,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAM;IACR,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,kDAAkD,CAAC,CAAC,CAAA;QAC9F,OAAM;IACR,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC7B,qCAAqC,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,GAAG,EAAE,OAAO,CAAC,CAAA;IACnF,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;QACxD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;IACtB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAClH,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,EAAE,EAAE,uBAAuB,CAAC,EAAE,EAAE,kCAAkC,CAAC;QACnE,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1D,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc;IAC9C,IACE,CAAC,QAAQ,CAAC,KAAK,CAAC;QAChB,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,QAAQ;QACtC,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,QAAQ;QACtC,CAAC,8BAA8B,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC,yBAAyB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAC7C,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAA;IACtC,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAA;IACtC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;IAC1B,MAAM,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAA;IAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;IAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAA;IAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAA;IAClC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC9B,IACE,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACzG,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACzG,CAAC,aAAa,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1H,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC5D,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,OAAO,KAAK,QAAQ,CAAC;QACtD,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EACzG,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,cAAc,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAA;IACjD,IAAI,IAAI,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACvD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAA;IACpC,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC;QACvB,SAAS,EAAE,0BAA0B,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,qCAAqC,CAAC;QAChG,SAAS,EAAE,uBAAuB,CAAC,SAAS,EAAE,qCAAqC,CAAC;QACpF,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC;QAC3B,GAAG,CAAC,UAAU,KAAK,SAAS;YAC1B,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE;YACrG,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,KAAK,SAAS;YAC1B,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE;YACrG,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,aAAa,KAAK,SAAS;YAC7B,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE;YACzG,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,4BAA4B,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,EAAE,4BAA4B,SAAS,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChI,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,4BAA4B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,GAAG,CAAC,MAAM,KAAK,SAAS;YACtB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE;YACjI,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAc;IACxD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,SAAS,EAAE,4CAA4C,CAAC,CAAC,CAAC;SACtG,CAAA;IACH,CAAC;IAED,MAAM,MAAM,GAAkC,EAAE,CAAA;IAChD,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,4CAA4C,CAAC,CAAC,CAAA;IAC1F,CAAC;IACD,qCAAqC,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,CAAC,CAAA;IAC/E,qCAAqC,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,CAAC,CAAA;IAC/E,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,8CAA8C,CAAC,CAAC,CAAA;IAC9F,CAAC;IACD,2BAA2B,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,CAAA;IACjF,2BAA2B,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,CAAA;IACjF,4BAA4B,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IACnD,qCAAqC,CAAC,MAAM,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC,CAAA;IACrE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC3E,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,kDAAkD,CAAC,CAAC,CAAA;IAC/F,CAAC;IACD,qCAAqC,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;IACrF,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,SAAS,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACjF,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,qDAAqD,CAAC,CAAC,CAAA;IACrG,CAAC;IACD,8BAA8B,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEvD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;SAC9B,CAAA;IACH,CAAC;IACD,MAAM,OAAO,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAA;IAC/C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,SAAS,EAAE,qCAAqC,CAAC,CAAC,CAAC;SAC/F,CAAA;IACH,CAAC;IACD,OAAO;QACL,MAAM,EAAE,OAAO;QACf,OAAO;QACP,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;KAC1B,CAAA;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAA6B;IACvE,MAAM,EAAE,GAAG,0BAA0B,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAChD,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,CAAC,OAAO,EAAE,oBAAoB,EAAE,UAAU,CAAC,CAAA;IACzF,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,0BAA0B,CAAC,UAAU,EAAE,oBAAoB,EAAE,aAAa,CAAC,CAAC,CAAA;IACpI,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,kCAAkC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;IAClG,MAAM,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,8BAA8B,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAA;IAClI,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,uBAAuB,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAA;IAC/G,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,EAAE;QACF,OAAO;QACP,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;QACjC,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC;QAC7D,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;QAC/C,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrE,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,UAAqC,EACrC,iBAAqC;IAErC,MAAM,SAAS,GAAG,0BAA0B,CAAC,UAAU,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAA;IACjG,IAAI,iBAAiB,KAAK,SAAS,IAAI,SAAS,KAAK,iBAAiB,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,oBAAoB,UAAU,CAAC,EAAE,eAAe,SAAS,0BAA0B,iBAAiB,EAAE,CAAC,CAAA;IACzH,CAAC;IACD,MAAM,EAAE,GAAG,uBAAuB,CAAC,UAAU,CAAC,EAAE,EAAE,qBAAqB,CAAC,CAAA;IACxE,MAAM,KAAK,GAAG,uBAAuB,CAAC,UAAU,CAAC,KAAK,EAAE,oBAAoB,EAAE,QAAQ,CAAC,CAAA;IACvF,MAAM,WAAW,GACf,UAAU,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,UAAU,CAAC,WAAW,EAAE,oBAAoB,EAAE,cAAc,CAAC,CAAA;IAC1I,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,oBAAoB,EAAE,sBAAsB,CAAC,CAAA;IAC/D,CAAC;IACD,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,gCAAgC,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1F,MAAM,IAAI,KAAK,CAAC,oBAAoB,EAAE,+BAA+B,CAAC,CAAA;IACxE,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,EAAE;QACF,SAAS;QACT,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,KAAK;QACL,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,UAAU,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvE,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,OAAgB;IAC9D,MAAM,KAAK,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAA;IAClD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;QACjC,MAAM,IAAI,KAAK,CACb,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,wCAAwC,UAAU,CAAC,OAAO,EAAE,CAChI,CAAA;IACH,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAA;AACtB,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,OAAO,2BAA2B,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,OAAO,CAAA;AAC9D,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,OAAkE;IAC/G,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACzE,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;AAClF,CAAC;AAED,SAAS,8BAA8B,CACrC,WAAsD,EACtD,iBAAoC;IAEpC,MAAM,SAAS,GAAG,0BAA0B,CAAC,WAAW,CAAC,SAAS,EAAE,4CAA4C,CAAC,CAAA;IACjH,IAAI,SAAS,KAAK,iBAAiB,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,mCAAmC,WAAW,CAAC,EAAE,eAAe,SAAS,0BAA0B,iBAAiB,EAAE,CAAC,CAAA;IACzI,CAAC;IACD,MAAM,EAAE,GAAG,uBAAuB,CAAC,WAAW,CAAC,EAAE,EAAE,oCAAoC,CAAC,CAAA;IACxF,IAAI,CAAC,oCAAoC,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,mCAAmC,EAAE,mBAAmB,CAAC,CAAA;IAC3E,CAAC;IACD,MAAM,KAAK,GACT,WAAW,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,WAAW,CAAC,KAAK,EAAE,mCAAmC,EAAE,QAAQ,CAAC,CAAA;IACzI,IAAI,WAAW,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAClI,MAAM,IAAI,KAAK,CAAC,mCAAmC,EAAE,sBAAsB,CAAC,CAAA;IAC9E,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,EAAE;QACF,SAAS;QACT,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,GAAG,CAAC,WAAW,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1C,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,YAAoC,EAAE,iBAAoC;IACzG,MAAM,SAAS,GAAG,0BAA0B,CAAC,YAAY,CAAC,SAAS,EAAE,qCAAqC,CAAC,CAAA;IAC3G,IAAI,SAAS,KAAK,iBAAiB,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,CAAC,EAAE,eAAe,SAAS,0BAA0B,iBAAiB,EAAE,CAAC,CAAA;IACnI,CAAC;IACD,MAAM,EAAE,GAAG,uBAAuB,CAAC,YAAY,CAAC,EAAE,EAAE,6BAA6B,CAAC,CAAA;IAClF,MAAM,KAAK,GAAG,uBAAuB,CAAC,YAAY,CAAC,KAAK,EAAE,4BAA4B,EAAE,QAAQ,CAAC,CAAA;IACjG,IAAI,CAAC,4BAA4B,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,4BAA4B,EAAE,kBAAkB,CAAC,CAAA;IACnE,CAAC;IACD,IAAI,YAAY,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC5H,MAAM,IAAI,KAAK,CAAC,4BAA4B,EAAE,mBAAmB,CAAC,CAAA;IACpE,CAAC;IACD,IAAI,YAAY,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzF,MAAM,IAAI,KAAK,CAAC,4BAA4B,EAAE,sBAAsB,CAAC,CAAA;IACvE,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,EAAE;QACF,SAAS;QACT,IAAI,EAAE,YAAY,CAAC,IAAI;QACvB,KAAK;QACL,GAAG,CAAC,YAAY,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,GAAG,CAAC,YAAY,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,4BAA4B,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClH,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAiB,EAAE,EAAY,EAAE,KAAa;IACxE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,SAAS,IAAI,KAAK,gBAAgB,CAAC,CAAA;IACjF,CAAC;IACD,OAAO,eAAe,CAAC,EAAE,CAAC,CAAA;AAC5B,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAiB,EAAE,KAAmB;IACnE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,4BAA4B,SAAS,2BAA2B,CAAC,CAAA;IACnF,CAAC;IACD,OAAO,eAAe,CAAC,KAAK,CAAC,CAAA;AAC/B,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC7E,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAa,EAAE,KAAa;IAC3D,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC/B,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,kBAAkB,CAAC,CAAA;IAC7C,CAAC;IACD,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,+CAA+C,CAAC,CAAA;IAC1E,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -12,5 +12,5 @@ export * from './run.js';
12
12
  export * from './result.js';
13
13
  export * from './requirements.js';
14
14
  export * from './features.js';
15
- export { hydratePlanData, isPlanData, toPlanData } from './plan-data.js';
16
- export type { WorkbookExecutablePlan, WorkbookPlanData, WorkbookPlanDataRefs } from './plan-data.js';
15
+ export { checkPlanData, hydratePlanData, isPlanData, toPlanData } from './plan-data.js';
16
+ export type { WorkbookExecutablePlan, WorkbookPlanData, WorkbookPlanDataCheckResult, WorkbookPlanDataIssue, WorkbookPlanDataIssueCode, WorkbookPlanDataRefs, } from './plan-data.js';
package/dist/index.js CHANGED
@@ -12,5 +12,5 @@ export * from './run.js';
12
12
  export * from './result.js';
13
13
  export * from './requirements.js';
14
14
  export * from './features.js';
15
- export { hydratePlanData, isPlanData, toPlanData } from './plan-data.js';
15
+ export { checkPlanData, hydratePlanData, isPlanData, toPlanData } from './plan-data.js';
16
16
  //# 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,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,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA"}
@@ -6,8 +6,23 @@ export interface WorkbookPlanDataRefs {
6
6
  readonly refsUsed: readonly WorkbookRef[];
7
7
  }
8
8
  export type WorkbookExecutablePlan<Refs = unknown> = WorkbookActionPlan<Refs> | WorkbookPlanData;
9
+ export type WorkbookPlanDataIssueCode = 'invalid_plan_data';
10
+ export interface WorkbookPlanDataIssue {
11
+ readonly code: WorkbookPlanDataIssueCode;
12
+ readonly path: string;
13
+ readonly message: string;
14
+ }
15
+ export type WorkbookPlanDataCheckResult = {
16
+ readonly status: 'valid';
17
+ readonly plan: WorkbookPlanData;
18
+ readonly issues: readonly [];
19
+ } | {
20
+ readonly status: 'invalid';
21
+ readonly issues: readonly WorkbookPlanDataIssue[];
22
+ };
9
23
  export declare function isPlanData(value: unknown): value is WorkbookPlanData;
24
+ export declare function checkPlanData(value: unknown): WorkbookPlanDataCheckResult;
10
25
  export declare function toPlanData<Refs>(plan: WorkbookActionPlan<Refs>): WorkbookPlanData;
11
- export declare function hydratePlanData(data: WorkbookPlanData): WorkbookActionPlan<WorkbookPlanDataRefs>;
26
+ export declare function hydratePlanData(data: unknown): WorkbookActionPlan<WorkbookPlanDataRefs>;
12
27
  export declare function isHydratedPlan<Refs>(value: WorkbookExecutablePlan<Refs>): value is WorkbookActionPlan<Refs>;
13
28
  export declare function executablePlan<Refs>(plan: WorkbookExecutablePlan<Refs>): WorkbookActionPlan<Refs> | WorkbookActionPlan<WorkbookPlanDataRefs>;
package/dist/plan-data.js CHANGED
@@ -98,6 +98,69 @@ export function isPlanData(value) {
98
98
  Array.isArray(value['checks']) &&
99
99
  value['checks'].every(isCheckData));
100
100
  }
101
+ function planDataIssue(path, message) {
102
+ return Object.freeze({
103
+ code: 'invalid_plan_data',
104
+ path,
105
+ message,
106
+ });
107
+ }
108
+ function pushRequiredStringIssue(issues, value, key) {
109
+ if (typeof value[key] !== 'string') {
110
+ issues.push(planDataIssue(key, `Workbook plan data ${key} must be a string`));
111
+ }
112
+ }
113
+ function pushOptionalInputIssue(issues, value) {
114
+ if (value['input'] !== undefined && !isWorkbookActionInput(value['input'])) {
115
+ issues.push(planDataIssue('input', 'Workbook plan data input must be JSON-safe'));
116
+ }
117
+ }
118
+ function pushArrayIssues(issues, value, key, guard, label) {
119
+ const array = value[key];
120
+ if (!Array.isArray(array)) {
121
+ issues.push(planDataIssue(key, `Workbook plan data ${key} must be an array`));
122
+ return;
123
+ }
124
+ array.forEach((entry, index) => {
125
+ if (!guard(entry)) {
126
+ issues.push(planDataIssue(`${key}[${index}]`, `Workbook plan data ${label} at ${key}[${index}] is invalid`));
127
+ }
128
+ });
129
+ }
130
+ export function checkPlanData(value) {
131
+ if (!isRecord(value)) {
132
+ return {
133
+ status: 'invalid',
134
+ issues: Object.freeze([planDataIssue('plan', 'Workbook plan data must be an object')]),
135
+ };
136
+ }
137
+ const issues = [];
138
+ pushRequiredStringIssue(issues, value, 'modelName');
139
+ pushRequiredStringIssue(issues, value, 'actionName');
140
+ pushOptionalInputIssue(issues, value);
141
+ pushArrayIssues(issues, value, 'refsUsed', isWorkbookRefDescription, 'ref');
142
+ pushArrayIssues(issues, value, 'commands', isWorkbookActionCommandData, 'command');
143
+ pushArrayIssues(issues, value, 'ops', isWorkbookOp, 'op');
144
+ pushArrayIssues(issues, value, 'changed', isChangeData, 'change');
145
+ pushArrayIssues(issues, value, 'checks', isCheckData, 'check');
146
+ if (issues.length > 0) {
147
+ return {
148
+ status: 'invalid',
149
+ issues: Object.freeze(issues),
150
+ };
151
+ }
152
+ if (!isPlanData(value)) {
153
+ return {
154
+ status: 'invalid',
155
+ issues: Object.freeze([planDataIssue('plan', 'Workbook plan data is invalid')]),
156
+ };
157
+ }
158
+ return {
159
+ status: 'valid',
160
+ plan: value,
161
+ issues: Object.freeze([]),
162
+ };
163
+ }
101
164
  function hydrateRef(ref) {
102
165
  return hydrateWorkbookRef(ref);
103
166
  }
@@ -186,21 +249,24 @@ export function toPlanData(plan) {
186
249
  return describePlan(plan);
187
250
  }
188
251
  export function hydratePlanData(data) {
189
- if (!isPlanData(data)) {
190
- throw new Error('Workbook plan data is invalid');
252
+ const check = checkPlanData(data);
253
+ if (check.status === 'invalid') {
254
+ const [firstIssue] = check.issues;
255
+ throw new Error(firstIssue === undefined ? 'Workbook plan data is invalid' : `Workbook plan data is invalid: ${firstIssue.message}`);
191
256
  }
192
- const refsUsed = Object.freeze(data.refsUsed.map(hydrateRef));
193
- const input = data.input === undefined ? undefined : normalizeWorkbookActionInput(data.input);
257
+ const plan = check.plan;
258
+ const refsUsed = Object.freeze(plan.refsUsed.map(hydrateRef));
259
+ const input = plan.input === undefined ? undefined : normalizeWorkbookActionInput(plan.input);
194
260
  return Object.freeze({
195
- modelName: data.modelName,
196
- actionName: data.actionName,
261
+ modelName: plan.modelName,
262
+ actionName: plan.actionName,
197
263
  ...(input !== undefined ? { input } : {}),
198
264
  refs: Object.freeze({ refsUsed }),
199
265
  refsUsed,
200
- commands: Object.freeze(data.commands.map(hydrateCommand)),
201
- ops: Object.freeze(data.ops.map(cloneOp)),
202
- changed: Object.freeze(data.changed.map(hydrateChange)),
203
- checks: Object.freeze(data.checks.map(hydrateCheck)),
266
+ commands: Object.freeze(plan.commands.map(hydrateCommand)),
267
+ ops: Object.freeze(plan.ops.map(cloneOp)),
268
+ changed: Object.freeze(plan.changed.map(hydrateChange)),
269
+ checks: Object.freeze(plan.checks.map(hydrateCheck)),
204
270
  });
205
271
  }
206
272
  export function isHydratedPlan(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"plan-data.js","sourceRoot":"","sources":["../src/plan-data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan-data.js","sourceRoot":"","sources":["../src/plan-data.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ import { type WorkbookRefDescription } from './describe.js';
2
2
  import { type WorkbookExecutablePlan } from './plan-data.js';
3
3
  export type WorkbookRuntimeRequirementKind = 'apply' | 'read' | 'verify';
4
4
  export type WorkbookRuntimeCapability = 'writeFormula' | 'writeValue' | 'format' | 'clear' | 'applyOp' | 'read' | 'verifyCheck';
5
+ export declare const workbookRuntimeRequirementKinds: readonly ["apply", "read", "verify"];
6
+ export declare const workbookRuntimeCapabilities: readonly ["writeFormula", "writeValue", "format", "clear", "applyOp", "read", "verifyCheck"];
5
7
  export interface WorkbookRuntimeRequirement {
6
8
  readonly kind: WorkbookRuntimeRequirementKind;
7
9
  readonly capability: WorkbookRuntimeCapability;
@@ -19,6 +21,20 @@ export interface WorkbookRuntimeRequirements {
19
21
  readonly actionName: string;
20
22
  readonly requirements: readonly WorkbookRuntimeRequirement[];
21
23
  }
24
+ export type WorkbookRuntimeRequirementsIssueCode = 'invalid_runtime_requirements';
25
+ export interface WorkbookRuntimeRequirementsIssue {
26
+ readonly code: WorkbookRuntimeRequirementsIssueCode;
27
+ readonly path: string;
28
+ readonly message: string;
29
+ }
30
+ export type WorkbookRuntimeRequirementsCheckResult = {
31
+ readonly status: 'valid';
32
+ readonly requirements: WorkbookRuntimeRequirements;
33
+ readonly issues: readonly [];
34
+ } | {
35
+ readonly status: 'invalid';
36
+ readonly issues: readonly WorkbookRuntimeRequirementsIssue[];
37
+ };
22
38
  export type WorkbookRuntimeAdapterIssueCode = 'missing_apply' | 'missing_read' | 'missing_check_verifier';
23
39
  export type WorkbookRuntimeAdapterMethod = 'apply' | 'read' | 'verifyChecks';
24
40
  export interface WorkbookRuntimeAdapterIssue {
@@ -46,5 +62,8 @@ export interface WorkbookRuntimeAdapterCandidate {
46
62
  readonly read?: unknown;
47
63
  readonly verifyChecks?: unknown;
48
64
  }
65
+ export declare function isWorkbookRuntimeRequirementKind(value: unknown): value is WorkbookRuntimeRequirementKind;
66
+ export declare function isWorkbookRuntimeCapability(value: unknown): value is WorkbookRuntimeCapability;
49
67
  export declare function describeRuntimeRequirements<Refs>(plan: WorkbookExecutablePlan<Refs>): WorkbookRuntimeRequirements;
68
+ export declare function checkRuntimeRequirements(value: unknown): WorkbookRuntimeRequirementsCheckResult;
50
69
  export declare function checkRuntimeAdapter<Refs>(planOrRequirements: WorkbookExecutablePlan<Refs> | WorkbookRuntimeRequirements, adapter: WorkbookRuntimeAdapterCandidate): WorkbookRuntimeAdapterCheckResult;
@@ -1,5 +1,28 @@
1
1
  import { describeRef } from './describe.js';
2
+ import { isWorkbookRefData } from './find.js';
2
3
  import { hydratePlanData, isHydratedPlan } from './plan-data.js';
4
+ export const workbookRuntimeRequirementKinds = Object.freeze([
5
+ 'apply',
6
+ 'read',
7
+ 'verify',
8
+ ]);
9
+ const WORKBOOK_RUNTIME_REQUIREMENT_KIND_SET = new Set(workbookRuntimeRequirementKinds);
10
+ export const workbookRuntimeCapabilities = Object.freeze([
11
+ 'writeFormula',
12
+ 'writeValue',
13
+ 'format',
14
+ 'clear',
15
+ 'applyOp',
16
+ 'read',
17
+ 'verifyCheck',
18
+ ]);
19
+ const WORKBOOK_RUNTIME_CAPABILITY_SET = new Set(workbookRuntimeCapabilities);
20
+ export function isWorkbookRuntimeRequirementKind(value) {
21
+ return typeof value === 'string' && WORKBOOK_RUNTIME_REQUIREMENT_KIND_SET.has(value);
22
+ }
23
+ export function isWorkbookRuntimeCapability(value) {
24
+ return typeof value === 'string' && WORKBOOK_RUNTIME_CAPABILITY_SET.has(value);
25
+ }
3
26
  function describedRef(ref) {
4
27
  return ref === undefined ? {} : { target: describeRef(ref) };
5
28
  }
@@ -198,11 +221,174 @@ export function describeRuntimeRequirements(plan) {
198
221
  }
199
222
  return describeLiveRuntimeRequirements(hydratePlanData(plan));
200
223
  }
224
+ function isRecord(value) {
225
+ return typeof value === 'object' && value !== null;
226
+ }
227
+ function hasString(value, key) {
228
+ return typeof value[key] === 'string';
229
+ }
230
+ function hasOptionalString(value, key) {
231
+ const entry = value[key];
232
+ return entry === undefined || typeof entry === 'string';
233
+ }
234
+ function hasOptionalIndex(value, key) {
235
+ const entry = value[key];
236
+ return entry === undefined || (Number.isInteger(entry) && typeof entry === 'number' && entry >= 0);
237
+ }
238
+ function isWorkbookRefDescription(value) {
239
+ return isWorkbookRefData(value);
240
+ }
241
+ function isRefDescriptionArray(value) {
242
+ return Array.isArray(value) && value.every(isWorkbookRefDescription);
243
+ }
244
+ function capabilityMatchesKind(kind, capability) {
245
+ switch (kind) {
246
+ case 'apply':
247
+ return (capability === 'writeFormula' ||
248
+ capability === 'writeValue' ||
249
+ capability === 'format' ||
250
+ capability === 'clear' ||
251
+ capability === 'applyOp');
252
+ case 'read':
253
+ return capability === 'read';
254
+ case 'verify':
255
+ return capability === 'verifyCheck';
256
+ }
257
+ }
258
+ function isRuntimeRequirement(value) {
259
+ if (!isRecord(value) || !isWorkbookRuntimeRequirementKind(value['kind']) || !isWorkbookRuntimeCapability(value['capability'])) {
260
+ return false;
261
+ }
262
+ return (capabilityMatchesKind(value['kind'], value['capability']) &&
263
+ hasString(value, 'message') &&
264
+ hasOptionalIndex(value, 'commandIndex') &&
265
+ hasOptionalIndex(value, 'checkIndex') &&
266
+ hasOptionalIndex(value, 'opIndex') &&
267
+ hasOptionalString(value, 'opKind') &&
268
+ hasOptionalString(value, 'checkKind') &&
269
+ (value['target'] === undefined || isWorkbookRefDescription(value['target'])) &&
270
+ (value['refs'] === undefined || isRefDescriptionArray(value['refs'])));
271
+ }
201
272
  function isRuntimeRequirements(value) {
202
- return typeof value === 'object' && value !== null && Array.isArray(value.requirements);
273
+ return (isRecord(value) &&
274
+ hasString(value, 'modelName') &&
275
+ hasString(value, 'actionName') &&
276
+ Array.isArray(value['requirements']) &&
277
+ value['requirements'].every(isRuntimeRequirement));
278
+ }
279
+ function isRuntimeRequirementsCandidate(value) {
280
+ return isRecord(value) && Object.getOwnPropertyDescriptor(value, 'requirements') !== undefined;
281
+ }
282
+ function runtimeRequirementsIssue(path, message) {
283
+ return Object.freeze({
284
+ code: 'invalid_runtime_requirements',
285
+ path,
286
+ message,
287
+ });
288
+ }
289
+ function pushRequiredStringIssue(issues, value, key) {
290
+ if (typeof value[key] !== 'string') {
291
+ issues.push(runtimeRequirementsIssue(key, `Workbook runtime requirements ${key} must be a string`));
292
+ }
293
+ }
294
+ function pushOptionalIndexIssue(issues, value, key, path) {
295
+ if (!hasOptionalIndex(value, key)) {
296
+ issues.push(runtimeRequirementsIssue(`${path}.${key}`, `Workbook runtime requirement ${key} must be a non-negative integer`));
297
+ }
298
+ }
299
+ function pushOptionalStringIssue(issues, value, key, path) {
300
+ if (!hasOptionalString(value, key)) {
301
+ issues.push(runtimeRequirementsIssue(`${path}.${key}`, `Workbook runtime requirement ${key} must be a string`));
302
+ }
303
+ }
304
+ function pushRequirementIssues(issues, value, index) {
305
+ const path = `requirements[${index}]`;
306
+ if (!isRecord(value)) {
307
+ issues.push(runtimeRequirementsIssue(path, `Workbook runtime requirement at ${path} must be an object`));
308
+ return;
309
+ }
310
+ const kind = value['kind'];
311
+ const capability = value['capability'];
312
+ if (!isWorkbookRuntimeRequirementKind(kind)) {
313
+ issues.push(runtimeRequirementsIssue(`${path}.kind`, 'Workbook runtime requirement kind is invalid'));
314
+ }
315
+ if (!isWorkbookRuntimeCapability(capability)) {
316
+ issues.push(runtimeRequirementsIssue(`${path}.capability`, 'Workbook runtime requirement capability is invalid'));
317
+ }
318
+ if (isWorkbookRuntimeRequirementKind(kind) && isWorkbookRuntimeCapability(capability) && !capabilityMatchesKind(kind, capability)) {
319
+ issues.push(runtimeRequirementsIssue(`${path}.capability`, `Workbook runtime requirement capability ${capability} does not match kind ${kind}`));
320
+ }
321
+ if (!hasString(value, 'message')) {
322
+ issues.push(runtimeRequirementsIssue(`${path}.message`, 'Workbook runtime requirement message must be a string'));
323
+ }
324
+ pushOptionalIndexIssue(issues, value, 'commandIndex', path);
325
+ pushOptionalIndexIssue(issues, value, 'checkIndex', path);
326
+ pushOptionalIndexIssue(issues, value, 'opIndex', path);
327
+ pushOptionalStringIssue(issues, value, 'opKind', path);
328
+ pushOptionalStringIssue(issues, value, 'checkKind', path);
329
+ if (value['target'] !== undefined && !isWorkbookRefDescription(value['target'])) {
330
+ issues.push(runtimeRequirementsIssue(`${path}.target`, 'Workbook runtime requirement target must be workbook ref data'));
331
+ }
332
+ const refs = value['refs'];
333
+ if (refs !== undefined) {
334
+ if (!Array.isArray(refs)) {
335
+ issues.push(runtimeRequirementsIssue(`${path}.refs`, 'Workbook runtime requirement refs must be an array'));
336
+ return;
337
+ }
338
+ refs.forEach((ref, refIndex) => {
339
+ if (!isWorkbookRefDescription(ref)) {
340
+ issues.push(runtimeRequirementsIssue(`${path}.refs[${refIndex}]`, 'Workbook runtime requirement ref must be workbook ref data'));
341
+ }
342
+ });
343
+ }
344
+ }
345
+ export function checkRuntimeRequirements(value) {
346
+ if (!isRecord(value)) {
347
+ return {
348
+ status: 'invalid',
349
+ issues: Object.freeze([runtimeRequirementsIssue('requirements', 'Workbook runtime requirements must be an object')]),
350
+ };
351
+ }
352
+ const issues = [];
353
+ pushRequiredStringIssue(issues, value, 'modelName');
354
+ pushRequiredStringIssue(issues, value, 'actionName');
355
+ const requirements = value['requirements'];
356
+ if (!Array.isArray(requirements)) {
357
+ issues.push(runtimeRequirementsIssue('requirements', 'Workbook runtime requirements requirements must be an array'));
358
+ }
359
+ else {
360
+ requirements.forEach((requirement, index) => pushRequirementIssues(issues, requirement, index));
361
+ }
362
+ if (issues.length > 0) {
363
+ return {
364
+ status: 'invalid',
365
+ issues: Object.freeze(issues),
366
+ };
367
+ }
368
+ if (!isRuntimeRequirements(value)) {
369
+ return {
370
+ status: 'invalid',
371
+ issues: Object.freeze([runtimeRequirementsIssue('requirements', 'Workbook runtime requirements are invalid')]),
372
+ };
373
+ }
374
+ return {
375
+ status: 'valid',
376
+ requirements: value,
377
+ issues: Object.freeze([]),
378
+ };
203
379
  }
204
380
  function requirementsFor(input) {
205
- return isRuntimeRequirements(input) ? input : describeRuntimeRequirements(input);
381
+ if (isRuntimeRequirementsCandidate(input)) {
382
+ const check = checkRuntimeRequirements(input);
383
+ if (check.status === 'invalid') {
384
+ const [firstIssue] = check.issues;
385
+ throw new Error(firstIssue === undefined
386
+ ? 'Workbook runtime requirements are invalid'
387
+ : `Workbook runtime requirements are invalid: ${firstIssue.message}`);
388
+ }
389
+ return check.requirements;
390
+ }
391
+ return describeRuntimeRequirements(input);
206
392
  }
207
393
  function pushCapability(capabilities, capability) {
208
394
  if (!capabilities.includes(capability)) {
@@ -1 +1 @@
1
- {"version":3,"file":"requirements.js","sourceRoot":"","sources":["../src/requirements.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"requirements.js","sourceRoot":"","sources":["../src/requirements.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bilig/workbook",
3
- "version": "0.62.0",
3
+ "version": "0.64.0",
4
4
  "description": "Agent-first workbook model API and transport-neutral workbook operation language for bilig.",
5
5
  "keywords": [
6
6
  "agent-first",
@@ -43,8 +43,8 @@
43
43
  "test": "cd ../.. && tsx scripts/run-vitest.ts --run packages/workbook/src/__tests__/guards.test.ts packages/workbook/src/__tests__/model-api.test.ts packages/workbook/src/__tests__/transport-api.test.ts packages/workbook/src/__tests__/low-level-op-api.test.ts packages/workbook/src/__tests__/check-api.test.ts packages/workbook/src/__tests__/format-api.test.ts packages/workbook/src/__tests__/formula-api.test.ts packages/workbook/src/__tests__/action-input-api.test.ts packages/workbook/src/__tests__/action-metadata-api.test.ts packages/workbook/src/__tests__/features-api.test.ts packages/workbook/src/__tests__/run-api.test.ts packages/workbook/src/__tests__/run-proof-boundary.test.ts packages/workbook/src/__tests__/requirements-api.test.ts packages/workbook/src/__tests__/plan-refs-api.test.ts"
44
44
  },
45
45
  "dependencies": {
46
- "@bilig/formula": "0.62.0",
47
- "@bilig/protocol": "0.62.0"
46
+ "@bilig/formula": "0.64.0",
47
+ "@bilig/protocol": "0.64.0"
48
48
  },
49
49
  "engines": {
50
50
  "node": ">=22.0.0"