@claudexor/schema 5.1.0 → 6.1.1

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 (130) hide show
  1. package/dist/account-routing-evidence.d.ts +68 -0
  2. package/dist/account-routing-evidence.d.ts.map +1 -1
  3. package/dist/attempt-execution.d.ts +23 -0
  4. package/dist/attempt-execution.d.ts.map +1 -1
  5. package/dist/attempt-execution.js +2 -0
  6. package/dist/attempt-execution.js.map +1 -1
  7. package/dist/control-harness-list.d.ts +34 -0
  8. package/dist/control-harness-list.d.ts.map +1 -1
  9. package/dist/control-harness-models.d.ts +122 -0
  10. package/dist/control-harness-models.d.ts.map +1 -1
  11. package/dist/control-harness-models.js +2 -0
  12. package/dist/control-harness-models.js.map +1 -1
  13. package/dist/control-operation-responses.d.ts +21 -0
  14. package/dist/control-operation-responses.d.ts.map +1 -1
  15. package/dist/control-pending-interaction.d.ts +96 -0
  16. package/dist/control-pending-interaction.d.ts.map +1 -0
  17. package/dist/control-pending-interaction.js +42 -0
  18. package/dist/control-pending-interaction.js.map +1 -0
  19. package/dist/control-run-detail.d.ts +92 -0
  20. package/dist/control-run-detail.d.ts.map +1 -1
  21. package/dist/control-run-detail.js +2 -1
  22. package/dist/control-run-detail.js.map +1 -1
  23. package/dist/control-run-failure.d.ts +11 -0
  24. package/dist/control-run-failure.d.ts.map +1 -1
  25. package/dist/control-run-failure.js +6 -0
  26. package/dist/control-run-failure.js.map +1 -1
  27. package/dist/control-run-message.js +1 -1
  28. package/dist/control-run-message.js.map +1 -1
  29. package/dist/control.d.ts +30 -81
  30. package/dist/control.d.ts.map +1 -1
  31. package/dist/control.js +9 -26
  32. package/dist/control.js.map +1 -1
  33. package/dist/credential-profile-snapshot.d.ts +136 -0
  34. package/dist/credential-profile-snapshot.d.ts.map +1 -1
  35. package/dist/events.d.ts.map +1 -1
  36. package/dist/events.js +4 -6
  37. package/dist/events.js.map +1 -1
  38. package/dist/harness-interaction.d.ts +12 -0
  39. package/dist/harness-interaction.d.ts.map +1 -1
  40. package/dist/harness-interaction.js +11 -0
  41. package/dist/harness-interaction.js.map +1 -1
  42. package/dist/harness-maintenance.d.ts +3561 -717
  43. package/dist/harness-maintenance.d.ts.map +1 -1
  44. package/dist/harness-maintenance.js +107 -111
  45. package/dist/harness-maintenance.js.map +1 -1
  46. package/dist/harness-program.d.ts +2164 -0
  47. package/dist/harness-program.d.ts.map +1 -0
  48. package/dist/harness-program.js +110 -0
  49. package/dist/harness-program.js.map +1 -0
  50. package/dist/harness.d.ts +67 -0
  51. package/dist/harness.d.ts.map +1 -1
  52. package/dist/harness.js +9 -0
  53. package/dist/harness.js.map +1 -1
  54. package/dist/index.d.ts +3 -0
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +3 -0
  57. package/dist/index.js.map +1 -1
  58. package/dist/mcp-run-result.d.ts +90 -0
  59. package/dist/mcp-run-result.d.ts.map +1 -1
  60. package/dist/mcp-run-wait.d.ts +5 -0
  61. package/dist/mcp-run-wait.d.ts.map +1 -1
  62. package/dist/mcp-run-wait.js +3 -2
  63. package/dist/mcp-run-wait.js.map +1 -1
  64. package/dist/model-operation.d.ts +1590 -0
  65. package/dist/model-operation.d.ts.map +1 -1
  66. package/dist/model-operation.js +41 -0
  67. package/dist/model-operation.js.map +1 -1
  68. package/dist/quota.d.ts +3 -2
  69. package/dist/quota.d.ts.map +1 -1
  70. package/dist/quota.js +3 -2
  71. package/dist/quota.js.map +1 -1
  72. package/dist/rate-limit.js +1 -1
  73. package/dist/rate-limit.js.map +1 -1
  74. package/dist/readiness.d.ts +26 -0
  75. package/dist/readiness.d.ts.map +1 -1
  76. package/dist/run-observation.d.ts +70 -0
  77. package/dist/run-observation.d.ts.map +1 -1
  78. package/dist/run-observation.js +31 -12
  79. package/dist/run-observation.js.map +1 -1
  80. package/dist/start-lookup.d.ts +268 -0
  81. package/dist/start-lookup.d.ts.map +1 -0
  82. package/dist/start-lookup.js +86 -0
  83. package/dist/start-lookup.js.map +1 -0
  84. package/dist/telemetry.d.ts +56 -0
  85. package/dist/telemetry.d.ts.map +1 -1
  86. package/dist/telemetry.js +2 -0
  87. package/dist/telemetry.js.map +1 -1
  88. package/dist/thread-history.d.ts +108 -0
  89. package/dist/thread-history.d.ts.map +1 -1
  90. package/generated/AttemptExecutionEvidence.schema.json +35 -0
  91. package/generated/ConformanceReport.schema.json +26 -0
  92. package/generated/ControlCredentialProfilesQueryResponse.schema.json +26 -0
  93. package/generated/ControlCredentialProfilesResourcesResponse.schema.json +26 -0
  94. package/generated/ControlCredentialProfilesSnapshotResponse.schema.json +26 -0
  95. package/generated/ControlHarnessAccountCatalog.schema.json +27 -0
  96. package/generated/ControlHarnessAccountModelsResponse.schema.json +27 -0
  97. package/generated/ControlHarnessListResponse.schema.json +26 -0
  98. package/generated/ControlHarnessMaintenanceCreateRequest.schema.json +2 -28
  99. package/generated/ControlHarnessMaintenanceInventory.schema.json +547 -184
  100. package/generated/ControlHarnessMaintenanceOperation.schema.json +211 -63
  101. package/generated/ControlHarnessModelsQueryResponse.schema.json +30 -0
  102. package/generated/ControlHarnessModelsResponse.schema.json +27 -0
  103. package/generated/ControlModelAccountCatalogResponse.schema.json +27 -0
  104. package/generated/ControlModelCatalogQueryResponse.schema.json +27 -0
  105. package/generated/ControlModelCatalogResponse.schema.json +27 -0
  106. package/generated/ControlModelOperationDetail.schema.json +103 -0
  107. package/generated/ControlPendingInteraction.schema.json +10 -1
  108. package/generated/ControlRunDetail.schema.json +66 -1
  109. package/generated/ControlRunListResponse.schema.json +21 -0
  110. package/generated/ControlRunMessageResponse.schema.json +1 -1
  111. package/generated/ControlRunSummary.schema.json +21 -0
  112. package/generated/ControlStartLookupResponse.schema.json +278 -0
  113. package/generated/ControlThreadDetail.schema.json +5 -0
  114. package/generated/HarnessEvent.schema.json +42 -1
  115. package/generated/HarnessManifest.schema.json +26 -0
  116. package/generated/HarnessProgram.schema.json +278 -0
  117. package/generated/HarnessProgramIdentity.schema.json +25 -0
  118. package/generated/HarnessStatusDto.schema.json +26 -0
  119. package/generated/McpAccountsToolResult.schema.json +26 -0
  120. package/generated/McpRunHandleResult.schema.json +51 -0
  121. package/generated/McpRunToolResult.schema.json +51 -0
  122. package/generated/McpRunWaitResult.schema.json +11 -2
  123. package/generated/NativeProgramEvidence.schema.json +38 -0
  124. package/generated/RunFailure.schema.json +16 -0
  125. package/generated/RunTelemetry.schema.json +35 -0
  126. package/generated/RunWaitManyInput.schema.json +4 -0
  127. package/generated/RunWaitManyResult.schema.json +30 -0
  128. package/generated/SelectedHarnessProgram.schema.json +56 -0
  129. package/generated/ThreadHistoryPage.schema.json +24 -0
  130. package/package.json +3 -3
@@ -17,149 +17,88 @@
17
17
  "harness": {
18
18
  "type": "string"
19
19
  },
20
- "mechanism": {
21
- "type": "string",
22
- "enum": [
23
- "managed_npm",
24
- "vendor_updater",
25
- "vendor_script"
26
- ],
27
- "description": "managed_npm installs one exact registry version in place; vendor_updater runs the vendor's own `update` on its canonical launcher (latest only); vendor_script has no engine-run update."
28
- },
29
- "maintainable": {
30
- "type": "boolean",
31
- "description": "Whether the engine can run an operation for it now."
32
- },
33
- "canCheckLatest": {
34
- "type": "boolean",
35
- "description": "Whether checkLatest can observe the newest release for this mechanism (npm registry); false for vendor updaters, whose Update still targets latest."
36
- },
37
- "targets": {
38
- "type": "array",
39
- "items": {
40
- "type": "string",
41
- "enum": [
42
- "latest",
43
- "version",
44
- "previous",
45
- "baseline"
46
- ]
47
- },
48
- "description": "Targets an operation may name; empty when not maintainable."
49
- },
50
- "remedy": {
51
- "type": [
52
- "string",
53
- "null"
54
- ],
55
- "description": "Manual remedy when not maintainable."
56
- },
57
20
  "selection": {
58
21
  "type": "object",
59
22
  "properties": {
60
- "kind": {
61
- "type": "string",
62
- "enum": [
63
- "managed",
64
- "override",
65
- "path",
66
- "missing"
67
- ],
68
- "description": "managed = Claudexor's managed npm copy; override = the explicit CLAUDEXOR_<HARNESS>_BIN program; path = another copy found on the harness PATH; missing = nothing launchable."
69
- },
70
- "binary": {
23
+ "path": {
71
24
  "type": [
72
25
  "string",
73
26
  "null"
74
- ],
75
- "description": "The program the harness resolves and runs."
27
+ ]
76
28
  },
77
- "version": {
29
+ "realPath": {
78
30
  "type": [
79
31
  "string",
80
32
  "null"
81
- ],
82
- "description": "That selected program's own --version answer; never the managed copy's."
33
+ ]
83
34
  },
84
- "overrideEnv": {
35
+ "version": {
85
36
  "type": [
86
37
  "string",
87
38
  "null"
88
39
  ]
89
- }
90
- },
91
- "required": [
92
- "kind",
93
- "binary",
94
- "version",
95
- "overrideEnv"
96
- ],
97
- "additionalProperties": false
98
- },
99
- "installed": {
100
- "type": "object",
101
- "properties": {
102
- "version": {
40
+ },
41
+ "versionOutput": {
103
42
  "type": [
104
43
  "string",
105
44
  "null"
106
- ],
107
- "description": "The managed npm copy's package version."
45
+ ]
108
46
  },
109
- "binary": {
47
+ "overrideEnv": {
110
48
  "type": [
111
49
  "string",
112
50
  "null"
113
51
  ]
114
52
  },
115
- "proved": {
116
- "type": "boolean",
117
- "description": "The managed launcher reported exactly that version."
118
- }
119
- },
120
- "required": [
121
- "version",
122
- "binary",
123
- "proved"
124
- ],
125
- "additionalProperties": false
126
- },
127
- "releaseTested": {
128
- "type": "object",
129
- "properties": {
130
- "version": {
53
+ "overrideValue": {
131
54
  "type": [
132
55
  "string",
133
56
  "null"
134
57
  ]
135
- },
136
- "verification": {
137
- "anyOf": [
138
- {
139
- "type": "string",
140
- "enum": [
141
- "release_verified",
142
- "deterministic_only"
143
- ]
144
- },
145
- {
146
- "type": "null"
147
- }
148
- ]
149
58
  }
150
59
  },
151
60
  "required": [
61
+ "path",
62
+ "realPath",
152
63
  "version",
153
- "verification"
64
+ "versionOutput",
65
+ "overrideEnv",
66
+ "overrideValue"
154
67
  ],
155
- "additionalProperties": false,
156
- "description": "This release's tested pin: a separate fact, never the selected target."
68
+ "additionalProperties": false
157
69
  },
158
- "available": {
70
+ "newest": {
159
71
  "anyOf": [
160
72
  {
161
73
  "type": "object",
162
74
  "properties": {
75
+ "status": {
76
+ "type": "string",
77
+ "const": "not_read"
78
+ },
79
+ "source": {
80
+ "type": [
81
+ "string",
82
+ "null"
83
+ ]
84
+ }
85
+ },
86
+ "required": [
87
+ "status",
88
+ "source"
89
+ ],
90
+ "additionalProperties": false
91
+ },
92
+ {
93
+ "type": "object",
94
+ "properties": {
95
+ "status": {
96
+ "type": "string",
97
+ "const": "available"
98
+ },
99
+ "source": {
100
+ "type": "string"
101
+ },
163
102
  "version": {
164
103
  "type": "string"
165
104
  },
@@ -168,121 +107,533 @@
168
107
  }
169
108
  },
170
109
  "required": [
110
+ "status",
111
+ "source",
171
112
  "version",
172
113
  "observedAt"
173
114
  ],
174
115
  "additionalProperties": false
175
116
  },
176
- {
177
- "type": "null"
178
- }
179
- ],
180
- "description": "Last observed newest release; null = not checked (not 'up to date')."
181
- },
182
- "availableProblem": {
183
- "anyOf": [
184
117
  {
185
118
  "type": "object",
186
119
  "properties": {
187
- "code": {
120
+ "status": {
188
121
  "type": "string",
189
- "minLength": 1
122
+ "const": "unavailable"
190
123
  },
191
- "message": {
192
- "type": "string"
124
+ "source": {
125
+ "type": [
126
+ "string",
127
+ "null"
128
+ ]
193
129
  },
194
- "retryable": {
195
- "type": "boolean"
130
+ "observedAt": {
131
+ "$ref": "#/definitions/ControlHarnessMaintenanceInventory/properties/observedAt"
196
132
  },
197
- "fieldErrors": {
133
+ "problem": {
198
134
  "type": "object",
199
- "additionalProperties": {
200
- "type": "array",
201
- "items": {
135
+ "properties": {
136
+ "code": {
137
+ "type": "string",
138
+ "minLength": 1
139
+ },
140
+ "message": {
202
141
  "type": "string"
142
+ },
143
+ "retryable": {
144
+ "type": "boolean"
145
+ },
146
+ "fieldErrors": {
147
+ "type": "object",
148
+ "additionalProperties": {
149
+ "type": "array",
150
+ "items": {
151
+ "type": "string"
152
+ }
153
+ },
154
+ "default": {}
155
+ },
156
+ "requiredActions": {
157
+ "type": "array",
158
+ "items": {
159
+ "type": "string",
160
+ "minLength": 1
161
+ },
162
+ "default": []
163
+ },
164
+ "evidenceRefs": {
165
+ "type": "array",
166
+ "items": {
167
+ "type": "string",
168
+ "minLength": 1
169
+ },
170
+ "default": []
171
+ },
172
+ "context": {
173
+ "type": "object",
174
+ "additionalProperties": {},
175
+ "default": {},
176
+ "description": "Typed route-specific recovery context; never a duplicate error message."
203
177
  }
204
178
  },
205
- "default": {}
206
- },
207
- "requiredActions": {
208
- "type": "array",
209
- "items": {
210
- "type": "string",
211
- "minLength": 1
212
- },
213
- "default": []
214
- },
215
- "evidenceRefs": {
216
- "type": "array",
217
- "items": {
218
- "type": "string",
219
- "minLength": 1
220
- },
221
- "default": []
222
- },
223
- "context": {
224
- "type": "object",
225
- "additionalProperties": {},
226
- "default": {},
227
- "description": "Typed route-specific recovery context; never a duplicate error message."
179
+ "required": [
180
+ "code",
181
+ "message",
182
+ "retryable"
183
+ ],
184
+ "additionalProperties": false
228
185
  }
229
186
  },
230
187
  "required": [
231
- "code",
232
- "message",
233
- "retryable"
188
+ "status",
189
+ "source",
190
+ "observedAt",
191
+ "problem"
234
192
  ],
235
193
  "additionalProperties": false
194
+ }
195
+ ]
196
+ },
197
+ "updateAvailable": {
198
+ "type": "string",
199
+ "enum": [
200
+ "yes",
201
+ "no",
202
+ "cannot_tell"
203
+ ]
204
+ },
205
+ "releaseNotesUrl": {
206
+ "anyOf": [
207
+ {
208
+ "type": "string",
209
+ "format": "uri"
236
210
  },
237
211
  {
238
212
  "type": "null"
239
213
  }
240
214
  ]
241
215
  },
242
- "previous": {
243
- "anyOf": [
244
- {
216
+ "actions": {
217
+ "type": "object",
218
+ "properties": {
219
+ "install": {
245
220
  "type": "object",
246
221
  "properties": {
247
- "version": {
248
- "type": "string"
222
+ "available": {
223
+ "type": "boolean"
249
224
  },
250
- "operationId": {
251
- "type": "string"
225
+ "reason": {
226
+ "type": [
227
+ "string",
228
+ "null"
229
+ ]
230
+ },
231
+ "commands": {
232
+ "type": "array",
233
+ "items": {
234
+ "anyOf": [
235
+ {
236
+ "type": "object",
237
+ "properties": {
238
+ "kind": {
239
+ "type": "string",
240
+ "const": "exec"
241
+ },
242
+ "command": {
243
+ "type": "string"
244
+ },
245
+ "args": {
246
+ "type": "array",
247
+ "items": {
248
+ "type": "string"
249
+ }
250
+ },
251
+ "env": {
252
+ "type": "object",
253
+ "additionalProperties": {
254
+ "type": "string"
255
+ }
256
+ }
257
+ },
258
+ "required": [
259
+ "kind",
260
+ "command",
261
+ "args"
262
+ ],
263
+ "additionalProperties": false
264
+ },
265
+ {
266
+ "type": "object",
267
+ "properties": {
268
+ "kind": {
269
+ "type": "string",
270
+ "const": "script"
271
+ },
272
+ "url": {
273
+ "type": "string",
274
+ "format": "uri",
275
+ "pattern": "^https:\\/\\/"
276
+ },
277
+ "interpreter": {
278
+ "type": "string"
279
+ },
280
+ "interpreterArgs": {
281
+ "type": "array",
282
+ "items": {
283
+ "type": "string"
284
+ }
285
+ },
286
+ "args": {
287
+ "type": "array",
288
+ "items": {
289
+ "type": "string"
290
+ }
291
+ },
292
+ "env": {
293
+ "type": "object",
294
+ "additionalProperties": {
295
+ "type": "string"
296
+ }
297
+ }
298
+ },
299
+ "required": [
300
+ "kind",
301
+ "url",
302
+ "interpreter",
303
+ "interpreterArgs",
304
+ "args"
305
+ ],
306
+ "additionalProperties": false
307
+ }
308
+ ]
309
+ }
252
310
  }
253
311
  },
254
312
  "required": [
255
- "version",
256
- "operationId"
313
+ "available",
314
+ "reason",
315
+ "commands"
257
316
  ],
258
317
  "additionalProperties": false
259
318
  },
260
- {
261
- "type": "null"
319
+ "update": {
320
+ "$ref": "#/definitions/ControlHarnessMaintenanceInventory/properties/harnesses/items/properties/actions/properties/install"
321
+ },
322
+ "exactVersion": {
323
+ "$ref": "#/definitions/ControlHarnessMaintenanceInventory/properties/harnesses/items/properties/actions/properties/install"
262
324
  }
325
+ },
326
+ "required": [
327
+ "install",
328
+ "update",
329
+ "exactVersion"
263
330
  ],
264
- "description": "Proved earlier version from retained operation evidence; null when unknown."
331
+ "additionalProperties": false
265
332
  },
266
333
  "operation": {
267
334
  "anyOf": [
268
335
  {
269
336
  "type": "object",
270
337
  "properties": {
271
- "id": {
272
- "type": "string"
338
+ "phase": {
339
+ "type": "string",
340
+ "enum": [
341
+ "accepted",
342
+ "preparing",
343
+ "installing",
344
+ "settled"
345
+ ]
273
346
  },
274
- "state": {
275
- "type": "string"
347
+ "target": {
348
+ "anyOf": [
349
+ {
350
+ "type": "object",
351
+ "properties": {
352
+ "kind": {
353
+ "type": "string",
354
+ "const": "latest"
355
+ },
356
+ "version": {
357
+ "type": "null"
358
+ }
359
+ },
360
+ "required": [
361
+ "kind",
362
+ "version"
363
+ ],
364
+ "additionalProperties": false
365
+ },
366
+ {
367
+ "type": "object",
368
+ "properties": {
369
+ "kind": {
370
+ "type": "string",
371
+ "const": "version"
372
+ },
373
+ "version": {
374
+ "type": "string",
375
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$",
376
+ "description": "One exact vendor version, never a range or a release fixture stamp."
377
+ }
378
+ },
379
+ "required": [
380
+ "kind",
381
+ "version"
382
+ ],
383
+ "additionalProperties": false
384
+ }
385
+ ]
276
386
  },
277
- "phase": {
278
- "type": "string"
387
+ "requester": {
388
+ "type": "object",
389
+ "properties": {
390
+ "source": {
391
+ "type": "string"
392
+ },
393
+ "requestId": {
394
+ "type": [
395
+ "string",
396
+ "null"
397
+ ]
398
+ }
399
+ },
400
+ "required": [
401
+ "source",
402
+ "requestId"
403
+ ],
404
+ "additionalProperties": false
279
405
  },
280
- "targetVersion": {
406
+ "installationHome": {
281
407
  "type": [
282
408
  "string",
283
409
  "null"
284
410
  ]
285
411
  },
412
+ "commands": {
413
+ "type": "array",
414
+ "items": {
415
+ "type": "object",
416
+ "properties": {
417
+ "binary": {
418
+ "type": "string"
419
+ },
420
+ "args": {
421
+ "type": "array",
422
+ "items": {
423
+ "type": "string"
424
+ }
425
+ },
426
+ "env": {
427
+ "type": "object",
428
+ "additionalProperties": {
429
+ "type": "string"
430
+ }
431
+ },
432
+ "script": {
433
+ "anyOf": [
434
+ {
435
+ "type": "object",
436
+ "properties": {
437
+ "url": {
438
+ "type": "string"
439
+ },
440
+ "size": {
441
+ "type": "integer",
442
+ "exclusiveMinimum": 0
443
+ },
444
+ "sha256": {
445
+ "type": "string"
446
+ }
447
+ },
448
+ "required": [
449
+ "url",
450
+ "size",
451
+ "sha256"
452
+ ],
453
+ "additionalProperties": false
454
+ },
455
+ {
456
+ "type": "null"
457
+ }
458
+ ]
459
+ }
460
+ },
461
+ "required": [
462
+ "binary",
463
+ "args",
464
+ "env",
465
+ "script"
466
+ ],
467
+ "additionalProperties": false
468
+ }
469
+ },
470
+ "profileCleanup": {
471
+ "type": "object",
472
+ "properties": {
473
+ "plannedPaths": {
474
+ "type": "array",
475
+ "items": {
476
+ "type": "string"
477
+ }
478
+ },
479
+ "removedPaths": {
480
+ "type": "array",
481
+ "items": {
482
+ "type": "string"
483
+ }
484
+ }
485
+ },
486
+ "required": [
487
+ "plannedPaths",
488
+ "removedPaths"
489
+ ],
490
+ "additionalProperties": false
491
+ },
492
+ "before": {
493
+ "anyOf": [
494
+ {
495
+ "$ref": "#/definitions/ControlHarnessMaintenanceInventory/properties/harnesses/items/properties/selection"
496
+ },
497
+ {
498
+ "type": "null"
499
+ }
500
+ ]
501
+ },
502
+ "after": {
503
+ "anyOf": [
504
+ {
505
+ "$ref": "#/definitions/ControlHarnessMaintenanceInventory/properties/harnesses/items/properties/selection"
506
+ },
507
+ {
508
+ "type": "null"
509
+ }
510
+ ]
511
+ },
512
+ "elsewhere": {
513
+ "anyOf": [
514
+ {
515
+ "type": "object",
516
+ "properties": {
517
+ "before": {
518
+ "$ref": "#/definitions/ControlHarnessMaintenanceInventory/properties/harnesses/items/properties/selection"
519
+ },
520
+ "after": {
521
+ "$ref": "#/definitions/ControlHarnessMaintenanceInventory/properties/harnesses/items/properties/selection"
522
+ }
523
+ },
524
+ "required": [
525
+ "before",
526
+ "after"
527
+ ],
528
+ "additionalProperties": false
529
+ },
530
+ {
531
+ "type": "null"
532
+ }
533
+ ]
534
+ },
535
+ "activeRunsAtStart": {
536
+ "anyOf": [
537
+ {
538
+ "type": "integer",
539
+ "minimum": 0
540
+ },
541
+ {
542
+ "type": "null"
543
+ }
544
+ ],
545
+ "description": "A fact, never permission to proceed; null when the CLI has no daemon run census."
546
+ },
547
+ "exitCode": {
548
+ "anyOf": [
549
+ {
550
+ "type": "integer"
551
+ },
552
+ {
553
+ "type": "null"
554
+ }
555
+ ]
556
+ },
557
+ "outcome": {
558
+ "type": "string",
559
+ "enum": [
560
+ "changed",
561
+ "not_changed",
562
+ "changed_elsewhere",
563
+ "unknown"
564
+ ]
565
+ },
566
+ "mutation": {
567
+ "type": "string",
568
+ "enum": [
569
+ "none",
570
+ "applied",
571
+ "unknown"
572
+ ]
573
+ },
574
+ "termination": {
575
+ "type": "string",
576
+ "enum": [
577
+ "not_applicable",
578
+ "confirmed",
579
+ "unconfirmed"
580
+ ]
581
+ },
582
+ "limitations": {
583
+ "type": "array",
584
+ "items": {
585
+ "type": "string"
586
+ }
587
+ },
588
+ "progress": {
589
+ "type": "array",
590
+ "items": {
591
+ "type": "string"
592
+ },
593
+ "maxItems": 40,
594
+ "description": "Bounded, redacted vendor diagnostics, including advice when nothing changed."
595
+ },
596
+ "problem": {
597
+ "anyOf": [
598
+ {
599
+ "$ref": "#/definitions/ControlHarnessMaintenanceInventory/properties/harnesses/items/properties/newest/anyOf/2/properties/problem"
600
+ },
601
+ {
602
+ "type": "null"
603
+ }
604
+ ]
605
+ },
606
+ "id": {
607
+ "type": "string"
608
+ },
609
+ "harness": {
610
+ "type": "string"
611
+ },
612
+ "state": {
613
+ "type": "string",
614
+ "enum": [
615
+ "queued",
616
+ "running",
617
+ "succeeded",
618
+ "failed",
619
+ "cancelled",
620
+ "interrupted"
621
+ ]
622
+ },
623
+ "createdAt": {
624
+ "$ref": "#/definitions/ControlHarnessMaintenanceInventory/properties/observedAt"
625
+ },
626
+ "startedAt": {
627
+ "anyOf": [
628
+ {
629
+ "$ref": "#/definitions/ControlHarnessMaintenanceInventory/properties/observedAt"
630
+ },
631
+ {
632
+ "type": "null"
633
+ }
634
+ ],
635
+ "description": "ISO-8601 timestamp string."
636
+ },
286
637
  "finishedAt": {
287
638
  "anyOf": [
288
639
  {
@@ -296,18 +647,37 @@
296
647
  }
297
648
  },
298
649
  "required": [
650
+ "phase",
651
+ "target",
652
+ "requester",
653
+ "installationHome",
654
+ "commands",
655
+ "before",
656
+ "after",
657
+ "elsewhere",
658
+ "activeRunsAtStart",
659
+ "exitCode",
660
+ "outcome",
661
+ "mutation",
662
+ "termination",
663
+ "limitations",
664
+ "progress",
665
+ "problem",
299
666
  "id",
667
+ "harness",
300
668
  "state",
301
- "phase",
302
- "targetVersion",
669
+ "createdAt",
670
+ "startedAt",
303
671
  "finishedAt"
304
672
  ],
305
- "additionalProperties": false
673
+ "additionalProperties": false,
674
+ "description": "A durable maintenance operation; acceptance is a handle, not completion."
306
675
  },
307
676
  {
308
677
  "type": "null"
309
678
  }
310
- ]
679
+ ],
680
+ "description": "A durable maintenance operation; acceptance is a handle, not completion."
311
681
  },
312
682
  "observedAt": {
313
683
  "$ref": "#/definitions/ControlHarnessMaintenanceInventory/properties/observedAt"
@@ -315,17 +685,11 @@
315
685
  },
316
686
  "required": [
317
687
  "harness",
318
- "mechanism",
319
- "maintainable",
320
- "canCheckLatest",
321
- "targets",
322
- "remedy",
323
688
  "selection",
324
- "installed",
325
- "releaseTested",
326
- "available",
327
- "availableProblem",
328
- "previous",
689
+ "newest",
690
+ "updateAvailable",
691
+ "releaseNotesUrl",
692
+ "actions",
329
693
  "operation",
330
694
  "observedAt"
331
695
  ],
@@ -337,8 +701,7 @@
337
701
  "observedAt",
338
702
  "harnesses"
339
703
  ],
340
- "additionalProperties": false,
341
- "description": "Response for GET /v2/maintenance/harnesses."
704
+ "additionalProperties": false
342
705
  }
343
706
  },
344
707
  "$schema": "http://json-schema.org/draft-07/schema#"