@bilig/workbook 0.67.9 → 0.67.11

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
@@ -147,6 +147,8 @@ without requiring the consumer's private `refs` object shape.
147
147
  Ref collection and ref hydration only inspect enumerable own data properties.
148
148
  Accessors are ignored instead of invoked, so hidden consumer getters cannot run
149
149
  while an agent is planning, verifying, logging, or hydrating workbook intent.
150
+ Array entries follow the same rule, and ref cloning copies only known ref fields
151
+ instead of spreading extra enumerable properties.
150
152
 
151
153
  For full action handoff, use `toPlanData(plan)` before JSON transport. A runtime
152
154
  can call `checkPlanData(data)` to get structured path-based issues before
@@ -157,10 +159,10 @@ proof keep nested JSON paths such as `input.rows[1]` and
157
159
  `checks[0].proof.when`, so an agent can repair the exact payload field before
158
160
  hydration. Plan-data guards only trust own payload fields; inherited
159
161
  prototype fields never satisfy the transport contract. Transported plan arrays
160
- must contain data entries too; holes or accessor-backed entries are rejected
161
- without running getters. The hydrated plan exposes `refs: { refsUsed }` instead
162
- of the consumer's private model-shaped `refs` object, so transported execution
163
- stays generic.
162
+ must contain own enumerable data entries too; holes, non-enumerable entries, or
163
+ accessor-backed entries are rejected without running getters. The hydrated plan
164
+ exposes `refs: { refsUsed }` instead of the consumer's private model-shaped
165
+ `refs` object, so transported execution stays generic.
164
166
 
165
167
  ## Action Input
166
168
 
@@ -226,11 +228,14 @@ const adapter = {
226
228
  refuses to call `apply` if static plan verification fails or if the adapter is
227
229
  missing a required method. Use `checkRuntimeRequirements(data)` when runtime
228
230
  requirements crossed a JSON boundary and an agent needs path-based diagnostics
229
- before trusting the handoff. Use `checkRuntimeAdapter(planOrRequirements,
230
- adapter)` when an agent wants to check `apply`, `read`, and `verifyChecks`
231
- coverage before calling the runtime. Check-only plans do not require `apply`;
232
- when runtime requirements contain only `read` or `verifyCheck`, `runWorkbookPlan`
233
- skips mutation and verifies the declared checks directly.
231
+ before trusting the handoff. Runtime requirement arrays and nested ref arrays
232
+ must be own enumerable data entries; holes, non-enumerable entries, or
233
+ accessor-backed entries are rejected without running getters. Use
234
+ `checkRuntimeAdapter(planOrRequirements, adapter)` when an agent wants to check
235
+ `apply`, `read`, and `verifyChecks` coverage before calling the runtime.
236
+ Check-only plans do not require `apply`; when runtime requirements
237
+ contain only `read` or `verifyCheck`, `runWorkbookPlan` skips mutation and
238
+ verifies the declared checks directly.
234
239
  If an adapter returns both `previewOps` and `appliedOps`, the result reports
235
240
  whether they matched. If the adapter returns neither, the run records an
236
241
  unverified apply fact. Use `runWorkbookPlan(plan, adapter, { requireApplyProof:
@@ -238,9 +243,10 @@ true })` when an agent must fail closed instead of accepting an unproved apply.
238
243
  Runtime apply results, undo refs, apply errors, and check verifier output are
239
244
  validated from own fields only; prototype-inherited fields are ignored before
240
245
  they can become run proof. Adapter-returned ops and verifier proof must be data
241
- properties, including non-enumerable guard fields such as `kind`; accessors are
242
- rejected before any getter can run during validation, cloning, or preview/apply
243
- comparison.
246
+ properties, including non-enumerable guard fields such as `kind`. Runtime
247
+ evidence arrays must contain own enumerable data entries; holes,
248
+ non-enumerable entries, and accessors are rejected before any getter can run
249
+ during validation, cloning, or preview/apply comparison.
244
250
  Readback checks attach proof to passed checks, such as
245
251
  `{ source: "readback", value: 12 }` or
246
252
  `{ source: "readback", formula: "(Table[Quantity])*(Table[Rate])" }`.
@@ -296,8 +302,10 @@ It returns the same boring `{ status, issues }` shape for receipt fields such as
296
302
  `changedRanges`, `proof`, `metadata`, and `errors`. Feature manifests, command
297
303
  requests, and command receipts are validated from own payload fields only;
298
304
  prototype-inherited fields are ignored. Receipt ops are frozen after
299
- normalization, changed ranges must be own-field data, and accessor-backed ops,
300
- undo ops, ranges, or errors are rejected before any getter can run.
305
+ normalization, changed ranges must be own-field data, and manifest or receipt
306
+ arrays must contain own enumerable data entries. Holes, non-enumerable entries,
307
+ and accessor-backed ops, undo ops, ranges, or errors are rejected before any
308
+ getter can run.
301
309
  `workbookCommandReceiptOpsMatch` uses canonical op equality instead of object
302
310
  property order and refuses accessor-backed proof data.
303
311
 
package/dist/describe.js CHANGED
@@ -2,218 +2,358 @@ import { inspectModel, } from './model.js';
2
2
  export function describeModel(model) {
3
3
  return inspectModel(model);
4
4
  }
5
+ function isDataDescriptor(descriptor) {
6
+ return descriptor !== undefined && 'value' in descriptor;
7
+ }
8
+ function ownDataValue(value, key, path) {
9
+ if (typeof value !== 'object' || value === null) {
10
+ throw new Error(`Workbook description ${path} parent must be an object`);
11
+ }
12
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
13
+ if (descriptor === undefined) {
14
+ return undefined;
15
+ }
16
+ if (!isDataDescriptor(descriptor)) {
17
+ throw new Error(`Workbook description ${path} must be a data property`);
18
+ }
19
+ return descriptor.value;
20
+ }
21
+ function requiredOwnDataValue(value, key, path) {
22
+ const data = ownDataValue(value, key, path);
23
+ if (data === undefined) {
24
+ throw new Error(`Workbook description ${path} must be a data property`);
25
+ }
26
+ return data;
27
+ }
28
+ function mapArrayData(value, path, mapper) {
29
+ if (!Array.isArray(value)) {
30
+ throw new Error(`Workbook description ${path} must be an array`);
31
+ }
32
+ const mapped = [];
33
+ for (let index = 0; index < value.length; index += 1) {
34
+ const descriptor = Object.getOwnPropertyDescriptor(value, String(index));
35
+ if (!isDataDescriptor(descriptor) || !descriptor.enumerable) {
36
+ throw new Error(`Workbook description ${path}[${index}] must be a data property`);
37
+ }
38
+ mapped.push(mapper(descriptor.value, index, `${path}[${index}]`));
39
+ }
40
+ return mapped;
41
+ }
42
+ function cloneDescriptionData(value, path, seen = new WeakMap()) {
43
+ if (typeof value !== 'object' || value === null) {
44
+ return value;
45
+ }
46
+ const existing = seen.get(value);
47
+ if (existing !== undefined) {
48
+ return existing;
49
+ }
50
+ if (Array.isArray(value)) {
51
+ const cloned = [];
52
+ seen.set(value, cloned);
53
+ mapArrayData(value, path, (entry, _index, entryPath) => {
54
+ cloned.push(cloneDescriptionData(entry, entryPath, seen));
55
+ return undefined;
56
+ });
57
+ return cloned;
58
+ }
59
+ const cloned = {};
60
+ seen.set(value, cloned);
61
+ Object.entries(Object.getOwnPropertyDescriptors(value)).forEach(([key, descriptor]) => {
62
+ if (!descriptor.enumerable) {
63
+ return;
64
+ }
65
+ if (!isDataDescriptor(descriptor)) {
66
+ throw new Error(`Workbook description ${path}.${key} must be a data property`);
67
+ }
68
+ Object.defineProperty(cloned, key, {
69
+ configurable: true,
70
+ enumerable: true,
71
+ value: cloneDescriptionData(descriptor.value, `${path}.${key}`, seen),
72
+ writable: true,
73
+ });
74
+ });
75
+ return cloned;
76
+ }
77
+ function hasRefKind(ref, kind) {
78
+ return requiredOwnDataValue(ref, 'kind', 'ref.kind') === kind;
79
+ }
5
80
  function describeRangeRef(ref) {
81
+ const range = requiredOwnDataValue(ref, 'range', 'ref.range');
6
82
  return {
7
83
  kind: 'range',
8
- id: ref.id,
9
- label: ref.label,
10
- range: { ...ref.range },
84
+ id: requiredOwnDataValue(ref, 'id', 'ref.id'),
85
+ label: requiredOwnDataValue(ref, 'label', 'ref.label'),
86
+ range: {
87
+ sheetName: requiredOwnDataValue(range, 'sheetName', 'ref.range.sheetName'),
88
+ startAddress: requiredOwnDataValue(range, 'startAddress', 'ref.range.startAddress'),
89
+ endAddress: requiredOwnDataValue(range, 'endAddress', 'ref.range.endAddress'),
90
+ },
11
91
  };
12
92
  }
13
93
  function describeNameRef(ref) {
14
94
  return {
15
95
  kind: 'name',
16
- id: ref.id,
17
- label: ref.label,
18
- name: ref.name,
96
+ id: requiredOwnDataValue(ref, 'id', 'ref.id'),
97
+ label: requiredOwnDataValue(ref, 'label', 'ref.label'),
98
+ name: requiredOwnDataValue(ref, 'name', 'ref.name'),
19
99
  };
20
100
  }
21
101
  function describeTableRef(ref) {
102
+ const name = ownDataValue(ref, 'name', 'ref.name');
103
+ const sheetName = ownDataValue(ref, 'sheetName', 'ref.sheetName');
104
+ const headers = ownDataValue(ref, 'headers', 'ref.headers');
22
105
  return {
23
106
  kind: 'table',
24
- id: ref.id,
25
- label: ref.label,
26
- ...(ref.name !== undefined ? { name: ref.name } : {}),
27
- ...(ref.sheetName !== undefined ? { sheetName: ref.sheetName } : {}),
28
- ...(ref.headers !== undefined ? { headers: [...ref.headers] } : {}),
107
+ id: requiredOwnDataValue(ref, 'id', 'ref.id'),
108
+ label: requiredOwnDataValue(ref, 'label', 'ref.label'),
109
+ ...(name !== undefined ? { name } : {}),
110
+ ...(sheetName !== undefined ? { sheetName } : {}),
111
+ ...(headers !== undefined ? { headers: mapArrayData(headers, 'ref.headers', (header) => header) } : {}),
29
112
  };
30
113
  }
31
114
  function describeColumnRef(ref) {
115
+ const rows = ownDataValue(ref, 'rows', 'ref.rows');
32
116
  return {
33
117
  kind: 'column',
34
- id: ref.id,
35
- label: ref.label,
36
- table: describeTableRef(ref.table),
37
- ...(ref.rows !== undefined ? { rows: describeRowsRef(ref.rows) } : {}),
38
- name: ref.name,
118
+ id: requiredOwnDataValue(ref, 'id', 'ref.id'),
119
+ label: requiredOwnDataValue(ref, 'label', 'ref.label'),
120
+ table: describeTableRef(requiredOwnDataValue(ref, 'table', 'ref.table')),
121
+ ...(rows !== undefined ? { rows: describeRowsRef(rows) } : {}),
122
+ name: requiredOwnDataValue(ref, 'name', 'ref.name'),
39
123
  };
40
124
  }
41
125
  function describeRowsRef(ref) {
126
+ const sheetName = ownDataValue(ref, 'sheetName', 'ref.sheetName');
127
+ const table = ownDataValue(ref, 'table', 'ref.table');
128
+ const where = requiredOwnDataValue(ref, 'where', 'ref.where');
42
129
  return {
43
130
  kind: 'rows',
44
- id: ref.id,
45
- label: ref.label,
46
- ...(ref.sheetName !== undefined ? { sheetName: ref.sheetName } : {}),
47
- ...(ref.table !== undefined ? { table: describeTableRef(ref.table) } : {}),
48
- where: { ...ref.where },
131
+ id: requiredOwnDataValue(ref, 'id', 'ref.id'),
132
+ label: requiredOwnDataValue(ref, 'label', 'ref.label'),
133
+ ...(sheetName !== undefined ? { sheetName } : {}),
134
+ ...(table !== undefined ? { table: describeTableRef(table) } : {}),
135
+ where: {
136
+ column: requiredOwnDataValue(where, 'column', 'ref.where.column'),
137
+ op: requiredOwnDataValue(where, 'op', 'ref.where.op'),
138
+ value: requiredOwnDataValue(where, 'value', 'ref.where.value'),
139
+ },
49
140
  };
50
141
  }
51
142
  export function describeRef(ref) {
52
- switch (ref.kind) {
53
- case 'range':
54
- return describeRangeRef(ref);
55
- case 'name':
56
- return describeNameRef(ref);
57
- case 'table':
58
- return describeTableRef(ref);
59
- case 'column':
60
- return describeColumnRef(ref);
61
- case 'rows':
62
- return describeRowsRef(ref);
143
+ if (hasRefKind(ref, 'range')) {
144
+ return describeRangeRef(ref);
145
+ }
146
+ if (hasRefKind(ref, 'name')) {
147
+ return describeNameRef(ref);
63
148
  }
149
+ if (hasRefKind(ref, 'table')) {
150
+ return describeTableRef(ref);
151
+ }
152
+ if (hasRefKind(ref, 'column')) {
153
+ return describeColumnRef(ref);
154
+ }
155
+ if (hasRefKind(ref, 'rows')) {
156
+ return describeRowsRef(ref);
157
+ }
158
+ throw new Error(`Unsupported workbook ref kind: ${String(requiredOwnDataValue(ref, 'kind', 'ref.kind'))}`);
159
+ }
160
+ function hasCommandKind(command, kind) {
161
+ return requiredOwnDataValue(command, 'kind', 'command.kind') === kind;
162
+ }
163
+ function hasExpectationKind(expectation, kind) {
164
+ return requiredOwnDataValue(expectation, 'kind', 'expectation.kind') === kind;
64
165
  }
65
166
  function describeCommand(command) {
66
- switch (command.kind) {
67
- case 'writeFormula':
68
- return {
69
- kind: 'writeFormula',
70
- target: describeRef(command.target),
71
- formula: command.formula,
72
- inputs: command.inputs.map(describeRef),
73
- labels: command.labels.map(describeFormulaLabel),
74
- };
75
- case 'writeValue':
76
- return {
77
- kind: 'writeValue',
78
- target: describeRef(command.target),
79
- value: command.value,
80
- };
81
- case 'format':
82
- return {
83
- kind: 'format',
84
- target: describeRef(command.target),
85
- ...(command.style !== undefined ? { style: command.style } : {}),
86
- ...(command.numberFormat !== undefined ? { numberFormat: command.numberFormat } : {}),
87
- };
88
- case 'clear':
89
- return {
90
- kind: 'clear',
91
- target: describeRef(command.target),
92
- };
93
- case 'op':
94
- return {
95
- kind: 'op',
96
- op: command.op,
97
- ...(command.target !== undefined ? { target: describeRef(command.target) } : {}),
98
- ...(command.message !== undefined ? { message: command.message } : {}),
99
- };
167
+ if (hasCommandKind(command, 'writeFormula')) {
168
+ const inputs = requiredOwnDataValue(command, 'inputs', 'command.inputs');
169
+ const labels = requiredOwnDataValue(command, 'labels', 'command.labels');
170
+ return {
171
+ kind: 'writeFormula',
172
+ target: describeRef(requiredOwnDataValue(command, 'target', 'command.target')),
173
+ formula: requiredOwnDataValue(command, 'formula', 'command.formula'),
174
+ inputs: mapArrayData(inputs, 'command.inputs', describeRef),
175
+ labels: mapArrayData(labels, 'command.labels', describeFormulaLabel),
176
+ };
177
+ }
178
+ if (hasCommandKind(command, 'writeValue')) {
179
+ return {
180
+ kind: 'writeValue',
181
+ target: describeRef(requiredOwnDataValue(command, 'target', 'command.target')),
182
+ value: requiredOwnDataValue(command, 'value', 'command.value'),
183
+ };
184
+ }
185
+ if (hasCommandKind(command, 'format')) {
186
+ const style = ownDataValue(command, 'style', 'command.style');
187
+ const numberFormat = ownDataValue(command, 'numberFormat', 'command.numberFormat');
188
+ return {
189
+ kind: 'format',
190
+ target: describeRef(requiredOwnDataValue(command, 'target', 'command.target')),
191
+ ...(style !== undefined ? { style: cloneDescriptionData(style, 'command.style') } : {}),
192
+ ...(numberFormat !== undefined ? { numberFormat } : {}),
193
+ };
194
+ }
195
+ if (hasCommandKind(command, 'clear')) {
196
+ return {
197
+ kind: 'clear',
198
+ target: describeRef(requiredOwnDataValue(command, 'target', 'command.target')),
199
+ };
100
200
  }
201
+ if (hasCommandKind(command, 'op')) {
202
+ const target = ownDataValue(command, 'target', 'command.target');
203
+ const message = ownDataValue(command, 'message', 'command.message');
204
+ return {
205
+ kind: 'op',
206
+ op: cloneDescriptionData(requiredOwnDataValue(command, 'op', 'command.op'), 'command.op'),
207
+ ...(target !== undefined ? { target: describeRef(target) } : {}),
208
+ ...(message !== undefined ? { message } : {}),
209
+ };
210
+ }
211
+ throw new Error(`Unsupported workbook command kind: ${String(requiredOwnDataValue(command, 'kind', 'command.kind'))}`);
101
212
  }
102
213
  function describeFormulaLabel(label) {
103
214
  return {
104
- name: label.name,
105
- ref: describeRef(label.ref),
215
+ name: requiredOwnDataValue(label, 'name', 'label.name'),
216
+ ref: describeRef(requiredOwnDataValue(label, 'ref', 'label.ref')),
106
217
  };
107
218
  }
108
219
  function describeChange(change) {
220
+ const target = ownDataValue(change, 'target', 'change.target');
109
221
  return {
110
- kind: change.kind,
111
- ...(change.target !== undefined ? { target: describeRef(change.target) } : {}),
112
- message: change.message,
222
+ kind: requiredOwnDataValue(change, 'kind', 'change.kind'),
223
+ ...(target !== undefined ? { target: describeRef(target) } : {}),
224
+ message: requiredOwnDataValue(change, 'message', 'change.message'),
113
225
  };
114
226
  }
115
227
  function describeCheck(check) {
228
+ const target = ownDataValue(check, 'target', 'check.target');
229
+ const refs = ownDataValue(check, 'refs', 'check.refs');
230
+ const expectation = ownDataValue(check, 'expectation', 'check.expectation');
231
+ const proof = ownDataValue(check, 'proof', 'check.proof');
116
232
  return {
117
- status: check.status,
118
- kind: check.kind,
119
- ...(check.target !== undefined ? { target: describeRef(check.target) } : {}),
120
- ...(check.refs !== undefined ? { refs: check.refs.map(describeRef) } : {}),
121
- message: check.message,
122
- ...(check.expectation !== undefined ? { expectation: describeExpectation(check.expectation) } : {}),
123
- ...(check.proof !== undefined ? { proof: check.proof } : {}),
233
+ status: requiredOwnDataValue(check, 'status', 'check.status'),
234
+ kind: requiredOwnDataValue(check, 'kind', 'check.kind'),
235
+ ...(target !== undefined ? { target: describeRef(target) } : {}),
236
+ ...(refs !== undefined ? { refs: mapArrayData(refs, 'check.refs', describeRef) } : {}),
237
+ message: requiredOwnDataValue(check, 'message', 'check.message'),
238
+ ...(expectation !== undefined ? { expectation: describeExpectation(expectation) } : {}),
239
+ ...(proof !== undefined ? { proof: cloneDescriptionData(proof, 'check.proof') } : {}),
124
240
  };
125
241
  }
126
242
  function describeExpectation(expectation) {
127
- switch (expectation.kind) {
128
- case 'valueEquals':
129
- return {
130
- kind: 'valueEquals',
131
- value: expectation.value,
132
- };
133
- case 'formulaEquals':
134
- return {
135
- kind: 'formulaEquals',
136
- formula: expectation.formula,
137
- inputs: expectation.inputs.map(describeRef),
138
- labels: expectation.labels.map(describeFormulaLabel),
139
- };
243
+ if (hasExpectationKind(expectation, 'valueEquals')) {
244
+ return {
245
+ kind: 'valueEquals',
246
+ value: requiredOwnDataValue(expectation, 'value', 'expectation.value'),
247
+ };
140
248
  }
249
+ if (hasExpectationKind(expectation, 'formulaEquals')) {
250
+ const inputs = requiredOwnDataValue(expectation, 'inputs', 'expectation.inputs');
251
+ const labels = requiredOwnDataValue(expectation, 'labels', 'expectation.labels');
252
+ return {
253
+ kind: 'formulaEquals',
254
+ formula: requiredOwnDataValue(expectation, 'formula', 'expectation.formula'),
255
+ inputs: mapArrayData(inputs, 'expectation.inputs', describeRef),
256
+ labels: mapArrayData(labels, 'expectation.labels', describeFormulaLabel),
257
+ };
258
+ }
259
+ throw new Error(`Unsupported workbook expectation kind: ${String(requiredOwnDataValue(expectation, 'kind', 'expectation.kind'))}`);
141
260
  }
142
261
  export function describePlan(plan) {
262
+ const input = ownDataValue(plan, 'input', 'plan.input');
143
263
  return {
144
- modelName: plan.modelName,
145
- actionName: plan.actionName,
146
- ...(plan.input !== undefined ? { input: plan.input } : {}),
147
- refsUsed: plan.refsUsed.map(describeRef),
148
- commands: plan.commands.map(describeCommand),
149
- ops: [...plan.ops],
150
- changed: plan.changed.map(describeChange),
151
- checks: plan.checks.map(describeCheck),
264
+ modelName: requiredOwnDataValue(plan, 'modelName', 'plan.modelName'),
265
+ actionName: requiredOwnDataValue(plan, 'actionName', 'plan.actionName'),
266
+ ...(input !== undefined ? { input: cloneDescriptionData(input, 'plan.input') } : {}),
267
+ refsUsed: mapArrayData(requiredOwnDataValue(plan, 'refsUsed', 'plan.refsUsed'), 'plan.refsUsed', describeRef),
268
+ commands: mapArrayData(requiredOwnDataValue(plan, 'commands', 'plan.commands'), 'plan.commands', describeCommand),
269
+ ops: mapArrayData(requiredOwnDataValue(plan, 'ops', 'plan.ops'), 'plan.ops', (op, _index, entryPath) => cloneDescriptionData(op, entryPath)),
270
+ changed: mapArrayData(requiredOwnDataValue(plan, 'changed', 'plan.changed'), 'plan.changed', describeChange),
271
+ checks: mapArrayData(requiredOwnDataValue(plan, 'checks', 'plan.checks'), 'plan.checks', describeCheck),
152
272
  };
153
273
  }
154
274
  function describeError(error) {
275
+ const path = ownDataValue(error, 'path', 'error.path');
276
+ const issueCode = ownDataValue(error, 'issueCode', 'error.issueCode');
155
277
  return {
156
- code: error.code,
157
- message: error.message,
158
- ...(error.path !== undefined ? { path: error.path } : {}),
159
- ...(error.issueCode !== undefined ? { issueCode: error.issueCode } : {}),
278
+ code: requiredOwnDataValue(error, 'code', 'error.code'),
279
+ message: requiredOwnDataValue(error, 'message', 'error.message'),
280
+ ...(path !== undefined ? { path } : {}),
281
+ ...(issueCode !== undefined ? { issueCode } : {}),
160
282
  };
161
283
  }
162
284
  function describeUndo(undo) {
285
+ const ops = ownDataValue(undo, 'ops', 'undo.ops');
163
286
  return {
164
- id: undo.id,
165
- ...(undo.ops !== undefined ? { ops: [...undo.ops] } : {}),
287
+ id: requiredOwnDataValue(undo, 'id', 'undo.id'),
288
+ ...(ops !== undefined ? { ops: mapArrayData(ops, 'undo.ops', (op, _index, entryPath) => cloneDescriptionData(op, entryPath)) } : {}),
166
289
  };
167
290
  }
168
291
  function describeApply(apply) {
292
+ const previewOps = ownDataValue(apply, 'previewOps', 'apply.previewOps');
293
+ const appliedOps = ownDataValue(apply, 'appliedOps', 'apply.appliedOps');
294
+ const proof = ownDataValue(apply, 'proof', 'apply.proof');
169
295
  return {
170
- matched: apply.matched,
171
- ...(apply.previewOps !== undefined ? { previewOps: [...apply.previewOps] } : {}),
172
- ...(apply.appliedOps !== undefined ? { appliedOps: [...apply.appliedOps] } : {}),
173
- ...(apply.proof !== undefined ? { proof: apply.proof } : {}),
296
+ matched: requiredOwnDataValue(apply, 'matched', 'apply.matched'),
297
+ ...(previewOps !== undefined
298
+ ? { previewOps: mapArrayData(previewOps, 'apply.previewOps', (op, _index, entryPath) => cloneDescriptionData(op, entryPath)) }
299
+ : {}),
300
+ ...(appliedOps !== undefined
301
+ ? { appliedOps: mapArrayData(appliedOps, 'apply.appliedOps', (op, _index, entryPath) => cloneDescriptionData(op, entryPath)) }
302
+ : {}),
303
+ ...(proof !== undefined ? { proof: cloneDescriptionData(proof, 'apply.proof') } : {}),
174
304
  };
175
305
  }
176
306
  function describeUnverified(entry) {
177
307
  return {
178
- kind: entry.kind,
179
- message: entry.message,
308
+ kind: requiredOwnDataValue(entry, 'kind', 'unverified.kind'),
309
+ message: requiredOwnDataValue(entry, 'message', 'unverified.message'),
180
310
  };
181
311
  }
312
+ function hasPlanResultStatus(result, status) {
313
+ return requiredOwnDataValue(result, 'status', 'result.status') === status;
314
+ }
315
+ function hasRunResultStatus(result, status) {
316
+ return requiredOwnDataValue(result, 'status', 'result.status') === status;
317
+ }
182
318
  export function describePlanResult(result) {
183
- if (result.status === 'planned') {
319
+ if (hasPlanResultStatus(result, 'planned')) {
184
320
  return {
185
321
  status: 'planned',
186
- plan: describePlan(result.plan),
322
+ plan: describePlan(requiredOwnDataValue(result, 'plan', 'result.plan')),
187
323
  };
188
324
  }
325
+ const input = ownDataValue(result, 'input', 'result.input');
189
326
  return {
190
327
  status: 'failed',
191
- modelName: result.modelName,
192
- actionName: result.actionName,
193
- ...(result.input !== undefined ? { input: result.input } : {}),
194
- errors: result.errors.map(describeError),
195
- checks: result.checks.map(describeCheck),
328
+ modelName: requiredOwnDataValue(result, 'modelName', 'result.modelName'),
329
+ actionName: requiredOwnDataValue(result, 'actionName', 'result.actionName'),
330
+ ...(input !== undefined ? { input: cloneDescriptionData(input, 'result.input') } : {}),
331
+ errors: mapArrayData(requiredOwnDataValue(result, 'errors', 'result.errors'), 'result.errors', describeError),
332
+ checks: mapArrayData(requiredOwnDataValue(result, 'checks', 'result.checks'), 'result.checks', describeCheck),
196
333
  };
197
334
  }
198
335
  export function describeRunResult(result) {
199
- if (result.status === 'done') {
336
+ const apply = ownDataValue(result, 'apply', 'result.apply');
337
+ const undo = ownDataValue(result, 'undo', 'result.undo');
338
+ const unverified = ownDataValue(result, 'unverified', 'result.unverified');
339
+ if (hasRunResultStatus(result, 'done')) {
200
340
  return {
201
341
  status: 'done',
202
- ...(result.apply !== undefined ? { apply: describeApply(result.apply) } : {}),
203
- changed: result.changed.map(describeChange),
204
- checks: result.checks.map(describeCheck),
205
- ...(result.undo !== undefined ? { undo: describeUndo(result.undo) } : {}),
206
- ...(result.unverified !== undefined ? { unverified: result.unverified.map(describeUnverified) } : {}),
342
+ ...(apply !== undefined ? { apply: describeApply(apply) } : {}),
343
+ changed: mapArrayData(requiredOwnDataValue(result, 'changed', 'result.changed'), 'result.changed', describeChange),
344
+ checks: mapArrayData(requiredOwnDataValue(result, 'checks', 'result.checks'), 'result.checks', describeCheck),
345
+ ...(undo !== undefined ? { undo: describeUndo(undo) } : {}),
346
+ ...(unverified !== undefined ? { unverified: mapArrayData(unverified, 'result.unverified', describeUnverified) } : {}),
207
347
  };
208
348
  }
209
349
  return {
210
350
  status: 'failed',
211
- errors: result.errors.map(describeError),
212
- ...(result.apply !== undefined ? { apply: describeApply(result.apply) } : {}),
213
- changed: result.changed.map(describeChange),
214
- checks: result.checks.map(describeCheck),
215
- ...(result.undo !== undefined ? { undo: describeUndo(result.undo) } : {}),
216
- ...(result.unverified !== undefined ? { unverified: result.unverified.map(describeUnverified) } : {}),
351
+ errors: mapArrayData(requiredOwnDataValue(result, 'errors', 'result.errors'), 'result.errors', describeError),
352
+ ...(apply !== undefined ? { apply: describeApply(apply) } : {}),
353
+ changed: mapArrayData(requiredOwnDataValue(result, 'changed', 'result.changed'), 'result.changed', describeChange),
354
+ checks: mapArrayData(requiredOwnDataValue(result, 'checks', 'result.checks'), 'result.checks', describeCheck),
355
+ ...(undo !== undefined ? { undo: describeUndo(undo) } : {}),
356
+ ...(unverified !== undefined ? { unverified: mapArrayData(unverified, 'result.unverified', describeUnverified) } : {}),
217
357
  };
218
358
  }
219
359
  //# sourceMappingURL=describe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"describe.js","sourceRoot":"","sources":["../src/describe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"describe.js","sourceRoot":"","sources":["../src/describe.ts"],"names":[],"mappings":"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"}