@bilig/workbook 0.96.0 → 0.105.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.md +156 -449
  2. package/dist/features-public.d.ts +2 -0
  3. package/dist/features-public.js +3 -0
  4. package/dist/features-public.js.map +1 -0
  5. package/dist/index.d.ts +3 -0
  6. package/dist/index.js +3 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/input.d.ts +12 -1
  9. package/dist/input.js +242 -5
  10. package/dist/input.js.map +1 -1
  11. package/dist/model-description.d.ts +17 -0
  12. package/dist/model-description.js +252 -0
  13. package/dist/model-description.js.map +1 -0
  14. package/dist/model-plan-result.d.ts +1 -0
  15. package/dist/model-plan-result.js +17 -0
  16. package/dist/model-plan-result.js.map +1 -1
  17. package/dist/model.d.ts +1 -0
  18. package/dist/model.js +21 -14
  19. package/dist/model.js.map +1 -1
  20. package/dist/prepare.d.ts +22 -0
  21. package/dist/prepare.js +41 -0
  22. package/dist/prepare.js.map +1 -0
  23. package/dist/requirements.d.ts +4 -3
  24. package/dist/requirements.js +50 -7
  25. package/dist/requirements.js.map +1 -1
  26. package/dist/result.d.ts +2 -2
  27. package/dist/result.js +1 -0
  28. package/dist/result.js.map +1 -1
  29. package/dist/run-apply.d.ts +17 -0
  30. package/dist/run-apply.js +274 -0
  31. package/dist/run-apply.js.map +1 -0
  32. package/dist/run-check-verification.d.ts +8 -0
  33. package/dist/run-check-verification.js +174 -0
  34. package/dist/run-check-verification.js.map +1 -0
  35. package/dist/run-data.d.ts +6 -0
  36. package/dist/run-data.js +120 -0
  37. package/dist/run-data.js.map +1 -0
  38. package/dist/run-description.js +12 -9
  39. package/dist/run-description.js.map +1 -1
  40. package/dist/run.d.ts +2 -2
  41. package/dist/run.js +4 -560
  42. package/dist/run.js.map +1 -1
  43. package/dist/schema.d.ts +4 -2
  44. package/dist/schema.js +201 -7
  45. package/dist/schema.js.map +1 -1
  46. package/dist/testing.d.ts +34 -0
  47. package/dist/testing.js +85 -0
  48. package/dist/testing.js.map +1 -0
  49. package/fixtures/model-description.json +29 -0
  50. package/fixtures/runtime-requirements.json +72 -0
  51. package/package.json +19 -4
@@ -0,0 +1,2 @@
1
+ export * from './features.js';
2
+ export * from './feature-plugin.js';
@@ -0,0 +1,3 @@
1
+ export * from './features.js';
2
+ export * from './feature-plugin.js';
3
+ //# sourceMappingURL=features-public.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features-public.js","sourceRoot":"","sources":["../src/features-public.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA"}
package/dist/index.d.ts CHANGED
@@ -6,8 +6,11 @@ export * from './input.js';
6
6
  export * from './formula.js';
7
7
  export * from './formula-usage.js';
8
8
  export * from './model.js';
9
+ export * from './model-description.js';
10
+ export * from './prepare.js';
9
11
  export * from './describe.js';
10
12
  export * from './run-description.js';
13
+ export * from './testing.js';
11
14
  export * from './schema.js';
12
15
  export * from './ref-data.js';
13
16
  export * from './verify.js';
package/dist/index.js CHANGED
@@ -6,8 +6,11 @@ export * from './input.js';
6
6
  export * from './formula.js';
7
7
  export * from './formula-usage.js';
8
8
  export * from './model.js';
9
+ export * from './model-description.js';
10
+ export * from './prepare.js';
9
11
  export * from './describe.js';
10
12
  export * from './run-description.js';
13
+ export * from './testing.js';
11
14
  export * from './schema.js';
12
15
  export * from './ref-data.js';
13
16
  export * from './verify.js';
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,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,sBAAsB,CAAA;AACpC,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAA;AACvE,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,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,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,wBAAwB,CAAA;AACtC,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAA;AACvE,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA"}
package/dist/input.d.ts CHANGED
@@ -11,8 +11,19 @@ export interface WorkbookActionInputDescription {
11
11
  readonly [key: string]: WorkbookActionInputDescription;
12
12
  };
13
13
  readonly items?: WorkbookActionInputDescription;
14
+ readonly values?: readonly WorkbookActionInput[];
15
+ readonly min?: number;
16
+ readonly max?: number;
17
+ readonly minLength?: number;
18
+ readonly maxLength?: number;
19
+ readonly pattern?: string;
20
+ readonly minItems?: number;
21
+ readonly maxItems?: number;
22
+ readonly additionalProperties?: boolean;
23
+ readonly default?: WorkbookActionInput;
24
+ readonly examples?: readonly WorkbookActionInput[];
14
25
  }
15
- export type WorkbookActionInputIssueCode = 'invalid_action_input_description' | 'invalid_action_input' | 'missing_required_input' | 'wrong_input_type';
26
+ export type WorkbookActionInputIssueCode = 'invalid_action_input_description' | 'invalid_action_input' | 'missing_required_input' | 'wrong_input_type' | 'unknown_input_field' | 'input_constraint_failed';
16
27
  export interface WorkbookActionInputIssue {
17
28
  readonly code: WorkbookActionInputIssueCode;
18
29
  readonly path: string;
package/dist/input.js CHANGED
@@ -85,6 +85,86 @@ function normalizeDescriptionText(value, path) {
85
85
  }
86
86
  return text;
87
87
  }
88
+ function normalizeDescriptionBoolean(value, path) {
89
+ if (value === undefined) {
90
+ return undefined;
91
+ }
92
+ if (typeof value !== 'boolean') {
93
+ throw inputError(path, `Action input description at ${path} must be a boolean`);
94
+ }
95
+ return value;
96
+ }
97
+ function normalizeFiniteDescriptionNumber(value, path) {
98
+ if (value === undefined) {
99
+ return undefined;
100
+ }
101
+ if (typeof value !== 'number' || !Number.isFinite(value)) {
102
+ throw inputError(path, `Action input description at ${path} must be a finite number`);
103
+ }
104
+ return value;
105
+ }
106
+ function normalizeNonNegativeInteger(value, path) {
107
+ if (value === undefined) {
108
+ return undefined;
109
+ }
110
+ if (typeof value !== 'number' || !Number.isSafeInteger(value) || value < 0) {
111
+ throw inputError(path, `Action input description at ${path} must be a non-negative safe integer`);
112
+ }
113
+ return value;
114
+ }
115
+ function normalizePattern(value, path) {
116
+ if (value === undefined) {
117
+ return undefined;
118
+ }
119
+ if (typeof value !== 'string') {
120
+ throw inputError(path, `Action input description at ${path} must be a string`);
121
+ }
122
+ try {
123
+ RegExp(value);
124
+ }
125
+ catch (error) {
126
+ throw inputError(path, `Action input description at ${path} must be a valid regular expression: ${errorMessage(error)}`);
127
+ }
128
+ return value;
129
+ }
130
+ function normalizeDescriptionInputArray(value, path) {
131
+ if (value === undefined) {
132
+ return undefined;
133
+ }
134
+ if (!Array.isArray(value)) {
135
+ throw inputError(path, `Action input description at ${path} must be an array`);
136
+ }
137
+ if (value.length === 0) {
138
+ throw inputError(path, `Action input description at ${path} cannot be empty`);
139
+ }
140
+ const output = [];
141
+ for (let index = 0; index < value.length; index += 1) {
142
+ const entryPath = `${path}[${String(index)}]`;
143
+ const descriptor = Object.getOwnPropertyDescriptor(value, String(index));
144
+ if (descriptor === undefined || !descriptor.enumerable) {
145
+ throw inputError(entryPath, `Action input description at ${entryPath} must be a data property`);
146
+ }
147
+ if (!('value' in descriptor)) {
148
+ throw inputError(entryPath, `Action input description at ${entryPath} must be a data property`);
149
+ }
150
+ output.push(normalizeInput(descriptor.value, entryPath, new WeakSet()));
151
+ }
152
+ return Object.freeze(output);
153
+ }
154
+ function assertUniqueAllowedValues(values, path) {
155
+ if (values === undefined) {
156
+ return;
157
+ }
158
+ const seen = new Map();
159
+ values.forEach((value, index) => {
160
+ const key = canonicalInputJson(value);
161
+ const firstIndex = seen.get(key);
162
+ if (firstIndex !== undefined) {
163
+ throw inputError(`${path}.values[${String(index)}]`, `Action input description at ${path}.values[${String(index)}] duplicates ${path}.values[${String(firstIndex)}]`);
164
+ }
165
+ seen.set(key, index);
166
+ });
167
+ }
88
168
  function normalizeInputDescription(value, path, seen) {
89
169
  if (!isPlainObject(value)) {
90
170
  throw inputError(path, `Action input description at ${path} must be a plain object`);
@@ -97,7 +177,24 @@ function normalizeInputDescription(value, path, seen) {
97
177
  if (Object.getOwnPropertySymbols(value).length > 0) {
98
178
  throw inputError(path, `Action input description at ${path} must not contain symbol keys`);
99
179
  }
100
- const allowedKeys = new Set(['kind', 'description', 'required', 'fields', 'items']);
180
+ const allowedKeys = new Set([
181
+ 'kind',
182
+ 'description',
183
+ 'required',
184
+ 'fields',
185
+ 'items',
186
+ 'values',
187
+ 'min',
188
+ 'max',
189
+ 'minLength',
190
+ 'maxLength',
191
+ 'pattern',
192
+ 'minItems',
193
+ 'maxItems',
194
+ 'additionalProperties',
195
+ 'default',
196
+ 'examples',
197
+ ]);
101
198
  const unknownKey = Object.keys(value).find((key) => !allowedKeys.has(key));
102
199
  if (unknownKey !== undefined) {
103
200
  const unknownPath = childPath(path, unknownKey);
@@ -109,11 +206,8 @@ function normalizeInputDescription(value, path, seen) {
109
206
  if (description !== undefined) {
110
207
  output.description = description;
111
208
  }
112
- const required = ownDataValue(value, 'required', `${path}.required`, 'Action input description');
209
+ const required = normalizeDescriptionBoolean(ownDataValue(value, 'required', `${path}.required`, 'Action input description'), `${path}.required`);
113
210
  if (required !== undefined) {
114
- if (typeof required !== 'boolean') {
115
- throw inputError(`${path}.required`, `Action input description at ${path}.required must be a boolean`);
116
- }
117
211
  output.required = required;
118
212
  }
119
213
  const fieldsValue = ownDataValue(value, 'fields', `${path}.fields`, 'Action input description');
@@ -140,6 +234,79 @@ function normalizeInputDescription(value, path, seen) {
140
234
  }
141
235
  output.items = normalizeInputDescription(items, `${path}.items`, seen);
142
236
  }
237
+ const min = normalizeFiniteDescriptionNumber(ownDataValue(value, 'min', `${path}.min`, 'Action input description'), `${path}.min`);
238
+ const max = normalizeFiniteDescriptionNumber(ownDataValue(value, 'max', `${path}.max`, 'Action input description'), `${path}.max`);
239
+ if (min !== undefined || max !== undefined) {
240
+ if (kind !== 'number') {
241
+ throw inputError(`${path}.min`, `Action input description number bounds can only be used when kind is number`);
242
+ }
243
+ if (min !== undefined) {
244
+ output.min = min;
245
+ }
246
+ if (max !== undefined) {
247
+ output.max = max;
248
+ }
249
+ if (min !== undefined && max !== undefined && min > max) {
250
+ throw inputError(`${path}.min`, `Action input description at ${path}.min must be less than or equal to ${path}.max`);
251
+ }
252
+ }
253
+ const minLength = normalizeNonNegativeInteger(ownDataValue(value, 'minLength', `${path}.minLength`, 'Action input description'), `${path}.minLength`);
254
+ const maxLength = normalizeNonNegativeInteger(ownDataValue(value, 'maxLength', `${path}.maxLength`, 'Action input description'), `${path}.maxLength`);
255
+ const pattern = normalizePattern(ownDataValue(value, 'pattern', `${path}.pattern`, 'Action input description'), `${path}.pattern`);
256
+ if (minLength !== undefined || maxLength !== undefined || pattern !== undefined) {
257
+ if (kind !== 'string') {
258
+ throw inputError(`${path}.minLength`, `Action input description string constraints can only be used when kind is string`);
259
+ }
260
+ if (minLength !== undefined) {
261
+ output.minLength = minLength;
262
+ }
263
+ if (maxLength !== undefined) {
264
+ output.maxLength = maxLength;
265
+ }
266
+ if (pattern !== undefined) {
267
+ output.pattern = pattern;
268
+ }
269
+ if (minLength !== undefined && maxLength !== undefined && minLength > maxLength) {
270
+ throw inputError(`${path}.minLength`, `Action input description at ${path}.minLength must be less than or equal to ${path}.maxLength`);
271
+ }
272
+ }
273
+ const minItems = normalizeNonNegativeInteger(ownDataValue(value, 'minItems', `${path}.minItems`, 'Action input description'), `${path}.minItems`);
274
+ const maxItems = normalizeNonNegativeInteger(ownDataValue(value, 'maxItems', `${path}.maxItems`, 'Action input description'), `${path}.maxItems`);
275
+ if (minItems !== undefined || maxItems !== undefined) {
276
+ if (kind !== 'array') {
277
+ throw inputError(`${path}.minItems`, `Action input description array constraints can only be used when kind is array`);
278
+ }
279
+ if (minItems !== undefined) {
280
+ output.minItems = minItems;
281
+ }
282
+ if (maxItems !== undefined) {
283
+ output.maxItems = maxItems;
284
+ }
285
+ if (minItems !== undefined && maxItems !== undefined && minItems > maxItems) {
286
+ throw inputError(`${path}.minItems`, `Action input description at ${path}.minItems must be less than or equal to ${path}.maxItems`);
287
+ }
288
+ }
289
+ const additionalProperties = normalizeDescriptionBoolean(ownDataValue(value, 'additionalProperties', `${path}.additionalProperties`, 'Action input description'), `${path}.additionalProperties`);
290
+ if (additionalProperties !== undefined) {
291
+ if (kind !== 'object') {
292
+ throw inputError(`${path}.additionalProperties`, `Action input description at ${path}.additionalProperties can only be used when kind is object`);
293
+ }
294
+ output.additionalProperties = additionalProperties;
295
+ }
296
+ const values = normalizeDescriptionInputArray(ownDataValue(value, 'values', `${path}.values`, 'Action input description'), `${path}.values`);
297
+ if (values !== undefined) {
298
+ output.values = values;
299
+ }
300
+ assertUniqueAllowedValues(values, path);
301
+ const defaultValue = ownDataValue(value, 'default', `${path}.default`, 'Action input description');
302
+ if (defaultValue !== undefined) {
303
+ output.default = normalizeInput(defaultValue, `${path}.default`, new WeakSet());
304
+ }
305
+ const examples = normalizeDescriptionInputArray(ownDataValue(value, 'examples', `${path}.examples`, 'Action input description'), `${path}.examples`);
306
+ if (examples !== undefined) {
307
+ output.examples = examples;
308
+ }
309
+ assertDescriptionPayloads(output, path);
143
310
  return Object.freeze(output);
144
311
  }
145
312
  finally {
@@ -267,6 +434,47 @@ function matchesDescriptionKind(kind, value) {
267
434
  function isInputObject(value) {
268
435
  return typeof value === 'object' && value !== null && !Array.isArray(value);
269
436
  }
437
+ function canonicalInputJson(value) {
438
+ return JSON.stringify(value);
439
+ }
440
+ function pushConstraintIssue(path, message, issues) {
441
+ issues.push(inputIssue('input_constraint_failed', path, message));
442
+ }
443
+ function validateInputConstraints(description, value, path, issues) {
444
+ if (description.values !== undefined) {
445
+ const allowed = new Set(description.values.map(canonicalInputJson));
446
+ if (!allowed.has(canonicalInputJson(value))) {
447
+ pushConstraintIssue(path, `Action input at ${path} must be one of the allowed values`, issues);
448
+ }
449
+ }
450
+ if (description.kind === 'number' && typeof value === 'number') {
451
+ if (description.min !== undefined && value < description.min) {
452
+ pushConstraintIssue(path, `Action input at ${path} must be greater than or equal to ${String(description.min)}`, issues);
453
+ }
454
+ if (description.max !== undefined && value > description.max) {
455
+ pushConstraintIssue(path, `Action input at ${path} must be less than or equal to ${String(description.max)}`, issues);
456
+ }
457
+ }
458
+ if (description.kind === 'string' && typeof value === 'string') {
459
+ if (description.minLength !== undefined && value.length < description.minLength) {
460
+ pushConstraintIssue(path, `Action input at ${path} must be at least ${String(description.minLength)} characters`, issues);
461
+ }
462
+ if (description.maxLength !== undefined && value.length > description.maxLength) {
463
+ pushConstraintIssue(path, `Action input at ${path} must be at most ${String(description.maxLength)} characters`, issues);
464
+ }
465
+ if (description.pattern !== undefined && !new RegExp(description.pattern).test(value)) {
466
+ pushConstraintIssue(path, `Action input at ${path} must match pattern ${description.pattern}`, issues);
467
+ }
468
+ }
469
+ if (description.kind === 'array' && Array.isArray(value)) {
470
+ if (description.minItems !== undefined && value.length < description.minItems) {
471
+ pushConstraintIssue(path, `Action input at ${path} must contain at least ${String(description.minItems)} items`, issues);
472
+ }
473
+ if (description.maxItems !== undefined && value.length > description.maxItems) {
474
+ pushConstraintIssue(path, `Action input at ${path} must contain at most ${String(description.maxItems)} items`, issues);
475
+ }
476
+ }
477
+ }
270
478
  function validateInputDescription(description, value, path, issues) {
271
479
  if (value === undefined) {
272
480
  if (description.required === true) {
@@ -278,12 +486,22 @@ function validateInputDescription(description, value, path, issues) {
278
486
  issues.push(inputIssue('wrong_input_type', path, `Action input at ${path} must be ${typeLabel(description.kind)}`));
279
487
  return;
280
488
  }
489
+ validateInputConstraints(description, value, path, issues);
281
490
  if (description.kind === 'object' && description.fields !== undefined && isInputObject(value)) {
282
491
  Object.entries(description.fields).forEach(([key, fieldDescription]) => {
283
492
  const fieldPath = childPath(path, key);
284
493
  validateInputDescription(fieldDescription, Object.hasOwn(value, key) ? value[key] : undefined, fieldPath, issues);
285
494
  });
286
495
  }
496
+ if (description.kind === 'object' && description.additionalProperties === false && isInputObject(value)) {
497
+ const fieldNames = new Set(Object.keys(description.fields ?? {}));
498
+ Object.keys(value).forEach((key) => {
499
+ if (!fieldNames.has(key)) {
500
+ const fieldPath = childPath(path, key);
501
+ issues.push(inputIssue('unknown_input_field', fieldPath, `Action input at ${fieldPath} is not allowed`));
502
+ }
503
+ });
504
+ }
287
505
  if (description.kind === 'array' && description.items !== undefined && Array.isArray(value)) {
288
506
  const itemDescription = description.items;
289
507
  value.forEach((entry, index) => {
@@ -291,6 +509,25 @@ function validateInputDescription(description, value, path, issues) {
291
509
  });
292
510
  }
293
511
  }
512
+ function assertDescriptionValue(description, value, path) {
513
+ const issues = [];
514
+ validateInputDescription(description, value, path, issues);
515
+ const [firstIssue] = issues;
516
+ if (firstIssue !== undefined) {
517
+ throw inputError(path, `Action input description at ${path} is invalid: ${firstIssue.message}`);
518
+ }
519
+ }
520
+ function assertDescriptionPayloads(description, path) {
521
+ description.values?.forEach((value, index) => {
522
+ assertDescriptionValue(description, value, `${path}.values[${String(index)}]`);
523
+ });
524
+ if (description.default !== undefined) {
525
+ assertDescriptionValue(description, description.default, `${path}.default`);
526
+ }
527
+ description.examples?.forEach((value, index) => {
528
+ assertDescriptionValue(description, value, `${path}.examples[${String(index)}]`);
529
+ });
530
+ }
294
531
  function errorMessage(error) {
295
532
  return error instanceof Error ? error.message : String(error);
296
533
  }
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":"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"}
@@ -0,0 +1,17 @@
1
+ import type { WorkbookModelDescription } from './describe.js';
2
+ export type WorkbookModelDescriptionIssueCode = 'invalid_type' | 'missing_field' | 'unexpected_field' | 'invalid_field' | 'duplicate_action' | 'action_mismatch';
3
+ export interface WorkbookModelDescriptionIssue {
4
+ readonly code: WorkbookModelDescriptionIssueCode;
5
+ readonly path: string;
6
+ readonly message: string;
7
+ }
8
+ export type WorkbookModelDescriptionCheckResult = {
9
+ readonly status: 'valid';
10
+ readonly description: WorkbookModelDescription;
11
+ readonly issues: readonly [];
12
+ } | {
13
+ readonly status: 'invalid';
14
+ readonly issues: readonly WorkbookModelDescriptionIssue[];
15
+ };
16
+ export declare function checkWorkbookModelDescription(value: unknown): WorkbookModelDescriptionCheckResult;
17
+ export declare function isWorkbookModelDescription(value: unknown): value is WorkbookModelDescription;