@claudexor/schema 5.1.0 → 6.0.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 (121) 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/harness-interaction.d.ts +12 -0
  36. package/dist/harness-interaction.d.ts.map +1 -1
  37. package/dist/harness-interaction.js +11 -0
  38. package/dist/harness-interaction.js.map +1 -1
  39. package/dist/harness-maintenance.d.ts +3561 -717
  40. package/dist/harness-maintenance.d.ts.map +1 -1
  41. package/dist/harness-maintenance.js +107 -111
  42. package/dist/harness-maintenance.js.map +1 -1
  43. package/dist/harness-program.d.ts +2164 -0
  44. package/dist/harness-program.d.ts.map +1 -0
  45. package/dist/harness-program.js +110 -0
  46. package/dist/harness-program.js.map +1 -0
  47. package/dist/harness.d.ts +67 -0
  48. package/dist/harness.d.ts.map +1 -1
  49. package/dist/harness.js +9 -0
  50. package/dist/harness.js.map +1 -1
  51. package/dist/index.d.ts +2 -0
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +2 -0
  54. package/dist/index.js.map +1 -1
  55. package/dist/mcp-run-result.d.ts +90 -0
  56. package/dist/mcp-run-result.d.ts.map +1 -1
  57. package/dist/mcp-run-wait.d.ts +5 -0
  58. package/dist/mcp-run-wait.d.ts.map +1 -1
  59. package/dist/mcp-run-wait.js +3 -2
  60. package/dist/mcp-run-wait.js.map +1 -1
  61. package/dist/model-operation.d.ts +107 -0
  62. package/dist/model-operation.d.ts.map +1 -1
  63. package/dist/model-operation.js +3 -0
  64. package/dist/model-operation.js.map +1 -1
  65. package/dist/quota.d.ts +3 -2
  66. package/dist/quota.d.ts.map +1 -1
  67. package/dist/quota.js +3 -2
  68. package/dist/quota.js.map +1 -1
  69. package/dist/rate-limit.js +1 -1
  70. package/dist/rate-limit.js.map +1 -1
  71. package/dist/readiness.d.ts +26 -0
  72. package/dist/readiness.d.ts.map +1 -1
  73. package/dist/run-observation.d.ts +70 -0
  74. package/dist/run-observation.d.ts.map +1 -1
  75. package/dist/run-observation.js +31 -12
  76. package/dist/run-observation.js.map +1 -1
  77. package/dist/telemetry.d.ts +56 -0
  78. package/dist/telemetry.d.ts.map +1 -1
  79. package/dist/telemetry.js +2 -0
  80. package/dist/telemetry.js.map +1 -1
  81. package/dist/thread-history.d.ts +108 -0
  82. package/dist/thread-history.d.ts.map +1 -1
  83. package/generated/AttemptExecutionEvidence.schema.json +35 -0
  84. package/generated/ConformanceReport.schema.json +26 -0
  85. package/generated/ControlCredentialProfilesQueryResponse.schema.json +26 -0
  86. package/generated/ControlCredentialProfilesResourcesResponse.schema.json +26 -0
  87. package/generated/ControlCredentialProfilesSnapshotResponse.schema.json +26 -0
  88. package/generated/ControlHarnessAccountCatalog.schema.json +27 -0
  89. package/generated/ControlHarnessAccountModelsResponse.schema.json +27 -0
  90. package/generated/ControlHarnessListResponse.schema.json +26 -0
  91. package/generated/ControlHarnessMaintenanceCreateRequest.schema.json +2 -28
  92. package/generated/ControlHarnessMaintenanceInventory.schema.json +547 -184
  93. package/generated/ControlHarnessMaintenanceOperation.schema.json +211 -63
  94. package/generated/ControlHarnessModelsQueryResponse.schema.json +30 -0
  95. package/generated/ControlHarnessModelsResponse.schema.json +27 -0
  96. package/generated/ControlModelAccountCatalogResponse.schema.json +27 -0
  97. package/generated/ControlModelCatalogQueryResponse.schema.json +27 -0
  98. package/generated/ControlModelCatalogResponse.schema.json +27 -0
  99. package/generated/ControlPendingInteraction.schema.json +10 -1
  100. package/generated/ControlRunDetail.schema.json +66 -1
  101. package/generated/ControlRunListResponse.schema.json +21 -0
  102. package/generated/ControlRunMessageResponse.schema.json +1 -1
  103. package/generated/ControlRunSummary.schema.json +21 -0
  104. package/generated/ControlThreadDetail.schema.json +5 -0
  105. package/generated/HarnessEvent.schema.json +42 -1
  106. package/generated/HarnessManifest.schema.json +26 -0
  107. package/generated/HarnessProgram.schema.json +278 -0
  108. package/generated/HarnessProgramIdentity.schema.json +25 -0
  109. package/generated/HarnessStatusDto.schema.json +26 -0
  110. package/generated/McpAccountsToolResult.schema.json +26 -0
  111. package/generated/McpRunHandleResult.schema.json +51 -0
  112. package/generated/McpRunToolResult.schema.json +51 -0
  113. package/generated/McpRunWaitResult.schema.json +11 -2
  114. package/generated/NativeProgramEvidence.schema.json +38 -0
  115. package/generated/RunFailure.schema.json +16 -0
  116. package/generated/RunTelemetry.schema.json +35 -0
  117. package/generated/RunWaitManyInput.schema.json +4 -0
  118. package/generated/RunWaitManyResult.schema.json +30 -0
  119. package/generated/SelectedHarnessProgram.schema.json +56 -0
  120. package/generated/ThreadHistoryPage.schema.json +24 -0
  121. package/package.json +2 -2
@@ -1,5 +1,4 @@
1
1
  import { z } from "zod/v3";
2
- /** One exact vendor registry version (no range, tag or `v` prefix). */
3
2
  export declare const HarnessVendorVersion: z.ZodString;
4
3
  export declare const HarnessMaintenanceTarget: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
5
4
  kind: z.ZodLiteral<"latest">;
@@ -16,77 +15,337 @@ export declare const HarnessMaintenanceTarget: z.ZodDiscriminatedUnion<"kind", [
16
15
  }, {
17
16
  kind: "version";
18
17
  version: string;
18
+ }>]>;
19
+ export type HarnessMaintenanceTarget = z.infer<typeof HarnessMaintenanceTarget>;
20
+ export declare const HarnessNewestObservation: z.ZodDiscriminatedUnion<"status", [z.ZodObject<{
21
+ status: z.ZodLiteral<"not_read">;
22
+ source: z.ZodNullable<z.ZodString>;
23
+ }, "strict", z.ZodTypeAny, {
24
+ status: "not_read";
25
+ source: string | null;
26
+ }, {
27
+ status: "not_read";
28
+ source: string | null;
19
29
  }>, z.ZodObject<{
20
- kind: z.ZodLiteral<"previous">;
30
+ status: z.ZodLiteral<"available">;
31
+ source: z.ZodString;
32
+ version: z.ZodString;
33
+ observedAt: z.ZodString;
21
34
  }, "strict", z.ZodTypeAny, {
22
- kind: "previous";
35
+ status: "available";
36
+ source: string;
37
+ version: string;
38
+ observedAt: string;
23
39
  }, {
24
- kind: "previous";
40
+ status: "available";
41
+ source: string;
42
+ version: string;
43
+ observedAt: string;
25
44
  }>, z.ZodObject<{
26
- kind: z.ZodLiteral<"baseline">;
45
+ status: z.ZodLiteral<"unavailable">;
46
+ source: z.ZodNullable<z.ZodString>;
47
+ observedAt: z.ZodString;
48
+ problem: z.ZodObject<{
49
+ code: z.ZodString;
50
+ message: z.ZodString;
51
+ retryable: z.ZodBoolean;
52
+ fieldErrors: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
53
+ requiredActions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
54
+ evidenceRefs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
55
+ context: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
56
+ }, "strict", z.ZodTypeAny, {
57
+ code: string;
58
+ message: string;
59
+ retryable: boolean;
60
+ fieldErrors: Record<string, string[]>;
61
+ requiredActions: string[];
62
+ evidenceRefs: string[];
63
+ context: Record<string, unknown>;
64
+ }, {
65
+ code: string;
66
+ message: string;
67
+ retryable: boolean;
68
+ fieldErrors?: Record<string, string[]> | undefined;
69
+ requiredActions?: string[] | undefined;
70
+ evidenceRefs?: string[] | undefined;
71
+ context?: Record<string, unknown> | undefined;
72
+ }>;
27
73
  }, "strict", z.ZodTypeAny, {
28
- kind: "baseline";
74
+ status: "unavailable";
75
+ source: string | null;
76
+ observedAt: string;
77
+ problem: {
78
+ code: string;
79
+ message: string;
80
+ retryable: boolean;
81
+ fieldErrors: Record<string, string[]>;
82
+ requiredActions: string[];
83
+ evidenceRefs: string[];
84
+ context: Record<string, unknown>;
85
+ };
29
86
  }, {
30
- kind: "baseline";
87
+ status: "unavailable";
88
+ source: string | null;
89
+ observedAt: string;
90
+ problem: {
91
+ code: string;
92
+ message: string;
93
+ retryable: boolean;
94
+ fieldErrors?: Record<string, string[]> | undefined;
95
+ requiredActions?: string[] | undefined;
96
+ evidenceRefs?: string[] | undefined;
97
+ context?: Record<string, unknown> | undefined;
98
+ };
31
99
  }>]>;
32
- export type HarnessMaintenanceTarget = z.infer<typeof HarnessMaintenanceTarget>;
33
- export declare const HarnessMaintenanceEntry: z.ZodObject<{
34
- harness: z.ZodString;
35
- mechanism: z.ZodEnum<["managed_npm", "vendor_updater", "vendor_script"]>;
36
- maintainable: z.ZodBoolean;
37
- canCheckLatest: z.ZodBoolean;
38
- targets: z.ZodArray<z.ZodEnum<["latest", "version", "previous", "baseline"]>, "many">;
39
- remedy: z.ZodNullable<z.ZodString>;
40
- selection: z.ZodObject<{
41
- kind: z.ZodEnum<["managed", "override", "path", "missing"]>;
42
- binary: z.ZodNullable<z.ZodString>;
43
- version: z.ZodNullable<z.ZodString>;
44
- overrideEnv: z.ZodNullable<z.ZodString>;
100
+ export type HarnessNewestObservation = z.infer<typeof HarnessNewestObservation>;
101
+ export declare const HarnessMaintenanceCommand: z.ZodObject<{
102
+ binary: z.ZodString;
103
+ args: z.ZodArray<z.ZodString, "many">;
104
+ env: z.ZodRecord<z.ZodString, z.ZodString>;
105
+ script: z.ZodNullable<z.ZodObject<{
106
+ url: z.ZodString;
107
+ size: z.ZodNumber;
108
+ sha256: z.ZodString;
45
109
  }, "strict", z.ZodTypeAny, {
46
- kind: "managed" | "missing" | "override" | "path";
47
- binary: string | null;
48
- version: string | null;
49
- overrideEnv: string | null;
110
+ url: string;
111
+ size: number;
112
+ sha256: string;
50
113
  }, {
51
- kind: "managed" | "missing" | "override" | "path";
52
- binary: string | null;
53
- version: string | null;
54
- overrideEnv: string | null;
114
+ url: string;
115
+ size: number;
116
+ sha256: string;
117
+ }>>;
118
+ }, "strict", z.ZodTypeAny, {
119
+ binary: string;
120
+ args: string[];
121
+ env: Record<string, string>;
122
+ script: {
123
+ url: string;
124
+ size: number;
125
+ sha256: string;
126
+ } | null;
127
+ }, {
128
+ binary: string;
129
+ args: string[];
130
+ env: Record<string, string>;
131
+ script: {
132
+ url: string;
133
+ size: number;
134
+ sha256: string;
135
+ } | null;
136
+ }>;
137
+ export type HarnessMaintenanceCommand = z.infer<typeof HarnessMaintenanceCommand>;
138
+ /** Kept in the existing command record, including partial effects on cancellation. */
139
+ export declare const HarnessMaintenanceEvidence: z.ZodObject<{
140
+ phase: z.ZodEnum<["accepted", "preparing", "installing", "settled"]>;
141
+ target: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
142
+ kind: z.ZodLiteral<"latest">;
143
+ version: z.ZodNull;
144
+ }, "strict", z.ZodTypeAny, {
145
+ kind: "latest";
146
+ version: null;
147
+ }, {
148
+ kind: "latest";
149
+ version: null;
150
+ }>, z.ZodObject<{
151
+ kind: z.ZodLiteral<"version">;
152
+ version: z.ZodString;
153
+ }, "strict", z.ZodTypeAny, {
154
+ kind: "version";
155
+ version: string;
156
+ }, {
157
+ kind: "version";
158
+ version: string;
159
+ }>]>;
160
+ requester: z.ZodObject<{
161
+ source: z.ZodString;
162
+ requestId: z.ZodNullable<z.ZodString>;
163
+ }, "strict", z.ZodTypeAny, {
164
+ source: string;
165
+ requestId: string | null;
166
+ }, {
167
+ source: string;
168
+ requestId: string | null;
55
169
  }>;
56
- installed: z.ZodObject<{
170
+ installationHome: z.ZodNullable<z.ZodString>;
171
+ commands: z.ZodArray<z.ZodObject<{
172
+ binary: z.ZodString;
173
+ args: z.ZodArray<z.ZodString, "many">;
174
+ env: z.ZodRecord<z.ZodString, z.ZodString>;
175
+ script: z.ZodNullable<z.ZodObject<{
176
+ url: z.ZodString;
177
+ size: z.ZodNumber;
178
+ sha256: z.ZodString;
179
+ }, "strict", z.ZodTypeAny, {
180
+ url: string;
181
+ size: number;
182
+ sha256: string;
183
+ }, {
184
+ url: string;
185
+ size: number;
186
+ sha256: string;
187
+ }>>;
188
+ }, "strict", z.ZodTypeAny, {
189
+ binary: string;
190
+ args: string[];
191
+ env: Record<string, string>;
192
+ script: {
193
+ url: string;
194
+ size: number;
195
+ sha256: string;
196
+ } | null;
197
+ }, {
198
+ binary: string;
199
+ args: string[];
200
+ env: Record<string, string>;
201
+ script: {
202
+ url: string;
203
+ size: number;
204
+ sha256: string;
205
+ } | null;
206
+ }>, "many">;
207
+ profileCleanup: z.ZodOptional<z.ZodObject<{
208
+ plannedPaths: z.ZodArray<z.ZodString, "many">;
209
+ removedPaths: z.ZodArray<z.ZodString, "many">;
210
+ }, "strict", z.ZodTypeAny, {
211
+ plannedPaths: string[];
212
+ removedPaths: string[];
213
+ }, {
214
+ plannedPaths: string[];
215
+ removedPaths: string[];
216
+ }>>;
217
+ before: z.ZodNullable<z.ZodObject<{
218
+ path: z.ZodNullable<z.ZodString>;
219
+ realPath: z.ZodNullable<z.ZodString>;
57
220
  version: z.ZodNullable<z.ZodString>;
58
- binary: z.ZodNullable<z.ZodString>;
59
- proved: z.ZodBoolean;
221
+ versionOutput: z.ZodNullable<z.ZodString>;
222
+ overrideEnv: z.ZodNullable<z.ZodString>;
223
+ overrideValue: z.ZodNullable<z.ZodString>;
60
224
  }, "strict", z.ZodTypeAny, {
225
+ path: string | null;
226
+ realPath: string | null;
61
227
  version: string | null;
62
- binary: string | null;
63
- proved: boolean;
228
+ versionOutput: string | null;
229
+ overrideEnv: string | null;
230
+ overrideValue: string | null;
64
231
  }, {
232
+ path: string | null;
233
+ realPath: string | null;
65
234
  version: string | null;
66
- binary: string | null;
67
- proved: boolean;
68
- }>;
69
- releaseTested: z.ZodObject<{
235
+ versionOutput: string | null;
236
+ overrideEnv: string | null;
237
+ overrideValue: string | null;
238
+ }>>;
239
+ after: z.ZodNullable<z.ZodObject<{
240
+ path: z.ZodNullable<z.ZodString>;
241
+ realPath: z.ZodNullable<z.ZodString>;
70
242
  version: z.ZodNullable<z.ZodString>;
71
- verification: z.ZodNullable<z.ZodEnum<["release_verified", "deterministic_only"]>>;
243
+ versionOutput: z.ZodNullable<z.ZodString>;
244
+ overrideEnv: z.ZodNullable<z.ZodString>;
245
+ overrideValue: z.ZodNullable<z.ZodString>;
72
246
  }, "strict", z.ZodTypeAny, {
247
+ path: string | null;
248
+ realPath: string | null;
73
249
  version: string | null;
74
- verification: "deterministic_only" | "release_verified" | null;
250
+ versionOutput: string | null;
251
+ overrideEnv: string | null;
252
+ overrideValue: string | null;
75
253
  }, {
254
+ path: string | null;
255
+ realPath: string | null;
76
256
  version: string | null;
77
- verification: "deterministic_only" | "release_verified" | null;
78
- }>;
79
- available: z.ZodNullable<z.ZodObject<{
80
- version: z.ZodString;
81
- observedAt: z.ZodString;
257
+ versionOutput: string | null;
258
+ overrideEnv: string | null;
259
+ overrideValue: string | null;
260
+ }>>;
261
+ elsewhere: z.ZodNullable<z.ZodObject<{
262
+ before: z.ZodObject<{
263
+ path: z.ZodNullable<z.ZodString>;
264
+ realPath: z.ZodNullable<z.ZodString>;
265
+ version: z.ZodNullable<z.ZodString>;
266
+ versionOutput: z.ZodNullable<z.ZodString>;
267
+ overrideEnv: z.ZodNullable<z.ZodString>;
268
+ overrideValue: z.ZodNullable<z.ZodString>;
269
+ }, "strict", z.ZodTypeAny, {
270
+ path: string | null;
271
+ realPath: string | null;
272
+ version: string | null;
273
+ versionOutput: string | null;
274
+ overrideEnv: string | null;
275
+ overrideValue: string | null;
276
+ }, {
277
+ path: string | null;
278
+ realPath: string | null;
279
+ version: string | null;
280
+ versionOutput: string | null;
281
+ overrideEnv: string | null;
282
+ overrideValue: string | null;
283
+ }>;
284
+ after: z.ZodObject<{
285
+ path: z.ZodNullable<z.ZodString>;
286
+ realPath: z.ZodNullable<z.ZodString>;
287
+ version: z.ZodNullable<z.ZodString>;
288
+ versionOutput: z.ZodNullable<z.ZodString>;
289
+ overrideEnv: z.ZodNullable<z.ZodString>;
290
+ overrideValue: z.ZodNullable<z.ZodString>;
291
+ }, "strict", z.ZodTypeAny, {
292
+ path: string | null;
293
+ realPath: string | null;
294
+ version: string | null;
295
+ versionOutput: string | null;
296
+ overrideEnv: string | null;
297
+ overrideValue: string | null;
298
+ }, {
299
+ path: string | null;
300
+ realPath: string | null;
301
+ version: string | null;
302
+ versionOutput: string | null;
303
+ overrideEnv: string | null;
304
+ overrideValue: string | null;
305
+ }>;
82
306
  }, "strict", z.ZodTypeAny, {
83
- version: string;
84
- observedAt: string;
307
+ before: {
308
+ path: string | null;
309
+ realPath: string | null;
310
+ version: string | null;
311
+ versionOutput: string | null;
312
+ overrideEnv: string | null;
313
+ overrideValue: string | null;
314
+ };
315
+ after: {
316
+ path: string | null;
317
+ realPath: string | null;
318
+ version: string | null;
319
+ versionOutput: string | null;
320
+ overrideEnv: string | null;
321
+ overrideValue: string | null;
322
+ };
85
323
  }, {
86
- version: string;
87
- observedAt: string;
324
+ before: {
325
+ path: string | null;
326
+ realPath: string | null;
327
+ version: string | null;
328
+ versionOutput: string | null;
329
+ overrideEnv: string | null;
330
+ overrideValue: string | null;
331
+ };
332
+ after: {
333
+ path: string | null;
334
+ realPath: string | null;
335
+ version: string | null;
336
+ versionOutput: string | null;
337
+ overrideEnv: string | null;
338
+ overrideValue: string | null;
339
+ };
88
340
  }>>;
89
- availableProblem: z.ZodNullable<z.ZodObject<{
341
+ activeRunsAtStart: z.ZodNullable<z.ZodNumber>;
342
+ exitCode: z.ZodNullable<z.ZodNumber>;
343
+ outcome: z.ZodEnum<["changed", "not_changed", "changed_elsewhere", "unknown"]>;
344
+ mutation: z.ZodEnum<["none", "applied", "unknown"]>;
345
+ termination: z.ZodEnum<["not_applicable", "confirmed", "unconfirmed"]>;
346
+ limitations: z.ZodArray<z.ZodString, "many">;
347
+ progress: z.ZodArray<z.ZodString, "many">;
348
+ problem: z.ZodNullable<z.ZodObject<{
90
349
  code: z.ZodString;
91
350
  message: z.ZodString;
92
351
  retryable: z.ZodBoolean;
@@ -111,63 +370,76 @@ export declare const HarnessMaintenanceEntry: z.ZodObject<{
111
370
  evidenceRefs?: string[] | undefined;
112
371
  context?: Record<string, unknown> | undefined;
113
372
  }>>;
114
- previous: z.ZodNullable<z.ZodObject<{
115
- version: z.ZodString;
116
- operationId: z.ZodString;
117
- }, "strict", z.ZodTypeAny, {
118
- version: string;
119
- operationId: string;
120
- }, {
121
- version: string;
122
- operationId: string;
123
- }>>;
124
- operation: z.ZodNullable<z.ZodObject<{
125
- id: z.ZodString;
126
- state: z.ZodString;
127
- phase: z.ZodString;
128
- targetVersion: z.ZodNullable<z.ZodString>;
129
- finishedAt: z.ZodNullable<z.ZodString>;
130
- }, "strict", z.ZodTypeAny, {
131
- id: string;
132
- state: string;
133
- phase: string;
134
- targetVersion: string | null;
135
- finishedAt: string | null;
136
- }, {
137
- id: string;
138
- state: string;
139
- phase: string;
140
- targetVersion: string | null;
141
- finishedAt: string | null;
142
- }>>;
143
- observedAt: z.ZodString;
144
373
  }, "strict", z.ZodTypeAny, {
145
- harness: string;
146
- mechanism: "managed_npm" | "vendor_script" | "vendor_updater";
147
- maintainable: boolean;
148
- canCheckLatest: boolean;
149
- targets: ("baseline" | "latest" | "previous" | "version")[];
150
- remedy: string | null;
151
- selection: {
152
- kind: "managed" | "missing" | "override" | "path";
153
- binary: string | null;
154
- version: string | null;
155
- overrideEnv: string | null;
374
+ phase: "accepted" | "installing" | "preparing" | "settled";
375
+ target: {
376
+ kind: "latest";
377
+ version: null;
378
+ } | {
379
+ kind: "version";
380
+ version: string;
156
381
  };
157
- installed: {
158
- version: string | null;
159
- binary: string | null;
160
- proved: boolean;
382
+ requester: {
383
+ source: string;
384
+ requestId: string | null;
161
385
  };
162
- releaseTested: {
386
+ installationHome: string | null;
387
+ commands: {
388
+ binary: string;
389
+ args: string[];
390
+ env: Record<string, string>;
391
+ script: {
392
+ url: string;
393
+ size: number;
394
+ sha256: string;
395
+ } | null;
396
+ }[];
397
+ profileCleanup?: {
398
+ plannedPaths: string[];
399
+ removedPaths: string[];
400
+ } | undefined;
401
+ before: {
402
+ path: string | null;
403
+ realPath: string | null;
163
404
  version: string | null;
164
- verification: "deterministic_only" | "release_verified" | null;
165
- };
166
- available: {
167
- version: string;
168
- observedAt: string;
405
+ versionOutput: string | null;
406
+ overrideEnv: string | null;
407
+ overrideValue: string | null;
408
+ } | null;
409
+ after: {
410
+ path: string | null;
411
+ realPath: string | null;
412
+ version: string | null;
413
+ versionOutput: string | null;
414
+ overrideEnv: string | null;
415
+ overrideValue: string | null;
416
+ } | null;
417
+ elsewhere: {
418
+ before: {
419
+ path: string | null;
420
+ realPath: string | null;
421
+ version: string | null;
422
+ versionOutput: string | null;
423
+ overrideEnv: string | null;
424
+ overrideValue: string | null;
425
+ };
426
+ after: {
427
+ path: string | null;
428
+ realPath: string | null;
429
+ version: string | null;
430
+ versionOutput: string | null;
431
+ overrideEnv: string | null;
432
+ overrideValue: string | null;
433
+ };
169
434
  } | null;
170
- availableProblem: {
435
+ activeRunsAtStart: number | null;
436
+ exitCode: number | null;
437
+ outcome: "changed" | "changed_elsewhere" | "not_changed" | "unknown";
438
+ mutation: "applied" | "none" | "unknown";
439
+ termination: "confirmed" | "not_applicable" | "unconfirmed";
440
+ limitations: string[];
441
+ progress: string[];
442
+ problem: {
171
443
  code: string;
172
444
  message: string;
173
445
  retryable: boolean;
@@ -176,45 +448,76 @@ export declare const HarnessMaintenanceEntry: z.ZodObject<{
176
448
  evidenceRefs: string[];
177
449
  context: Record<string, unknown>;
178
450
  } | null;
179
- previous: {
180
- version: string;
181
- operationId: string;
182
- } | null;
183
- operation: {
184
- id: string;
185
- state: string;
186
- phase: string;
187
- targetVersion: string | null;
188
- finishedAt: string | null;
189
- } | null;
190
- observedAt: string;
191
451
  }, {
192
- harness: string;
193
- mechanism: "managed_npm" | "vendor_script" | "vendor_updater";
194
- maintainable: boolean;
195
- canCheckLatest: boolean;
196
- targets: ("baseline" | "latest" | "previous" | "version")[];
197
- remedy: string | null;
198
- selection: {
199
- kind: "managed" | "missing" | "override" | "path";
200
- binary: string | null;
201
- version: string | null;
202
- overrideEnv: string | null;
452
+ phase: "accepted" | "installing" | "preparing" | "settled";
453
+ target: {
454
+ kind: "latest";
455
+ version: null;
456
+ } | {
457
+ kind: "version";
458
+ version: string;
203
459
  };
204
- installed: {
205
- version: string | null;
206
- binary: string | null;
207
- proved: boolean;
460
+ requester: {
461
+ source: string;
462
+ requestId: string | null;
208
463
  };
209
- releaseTested: {
464
+ installationHome: string | null;
465
+ commands: {
466
+ binary: string;
467
+ args: string[];
468
+ env: Record<string, string>;
469
+ script: {
470
+ url: string;
471
+ size: number;
472
+ sha256: string;
473
+ } | null;
474
+ }[];
475
+ profileCleanup?: {
476
+ plannedPaths: string[];
477
+ removedPaths: string[];
478
+ } | undefined;
479
+ before: {
480
+ path: string | null;
481
+ realPath: string | null;
210
482
  version: string | null;
211
- verification: "deterministic_only" | "release_verified" | null;
212
- };
213
- available: {
214
- version: string;
215
- observedAt: string;
483
+ versionOutput: string | null;
484
+ overrideEnv: string | null;
485
+ overrideValue: string | null;
486
+ } | null;
487
+ after: {
488
+ path: string | null;
489
+ realPath: string | null;
490
+ version: string | null;
491
+ versionOutput: string | null;
492
+ overrideEnv: string | null;
493
+ overrideValue: string | null;
494
+ } | null;
495
+ elsewhere: {
496
+ before: {
497
+ path: string | null;
498
+ realPath: string | null;
499
+ version: string | null;
500
+ versionOutput: string | null;
501
+ overrideEnv: string | null;
502
+ overrideValue: string | null;
503
+ };
504
+ after: {
505
+ path: string | null;
506
+ realPath: string | null;
507
+ version: string | null;
508
+ versionOutput: string | null;
509
+ overrideEnv: string | null;
510
+ overrideValue: string | null;
511
+ };
216
512
  } | null;
217
- availableProblem: {
513
+ activeRunsAtStart: number | null;
514
+ exitCode: number | null;
515
+ outcome: "changed" | "changed_elsewhere" | "not_changed" | "unknown";
516
+ mutation: "applied" | "none" | "unknown";
517
+ termination: "confirmed" | "not_applicable" | "unconfirmed";
518
+ limitations: string[];
519
+ progress: string[];
520
+ problem: {
218
521
  code: string;
219
522
  message: string;
220
523
  retryable: boolean;
@@ -223,79 +526,472 @@ export declare const HarnessMaintenanceEntry: z.ZodObject<{
223
526
  evidenceRefs?: string[] | undefined;
224
527
  context?: Record<string, unknown> | undefined;
225
528
  } | null;
226
- previous: {
227
- version: string;
228
- operationId: string;
229
- } | null;
230
- operation: {
231
- id: string;
232
- state: string;
233
- phase: string;
234
- targetVersion: string | null;
235
- finishedAt: string | null;
236
- } | null;
237
- observedAt: string;
238
529
  }>;
239
- export type HarnessMaintenanceEntry = z.infer<typeof HarnessMaintenanceEntry>;
240
- export declare const ControlHarnessMaintenanceInventory: z.ZodObject<{
241
- observedAt: z.ZodString;
242
- harnesses: z.ZodArray<z.ZodObject<{
243
- harness: z.ZodString;
244
- mechanism: z.ZodEnum<["managed_npm", "vendor_updater", "vendor_script"]>;
245
- maintainable: z.ZodBoolean;
246
- canCheckLatest: z.ZodBoolean;
247
- targets: z.ZodArray<z.ZodEnum<["latest", "version", "previous", "baseline"]>, "many">;
248
- remedy: z.ZodNullable<z.ZodString>;
249
- selection: z.ZodObject<{
250
- kind: z.ZodEnum<["managed", "override", "path", "missing"]>;
251
- binary: z.ZodNullable<z.ZodString>;
530
+ export type HarnessMaintenanceEvidence = z.infer<typeof HarnessMaintenanceEvidence>;
531
+ export declare const ControlHarnessMaintenanceOperation: z.ZodObject<{
532
+ phase: z.ZodEnum<["accepted", "preparing", "installing", "settled"]>;
533
+ target: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
534
+ kind: z.ZodLiteral<"latest">;
535
+ version: z.ZodNull;
536
+ }, "strict", z.ZodTypeAny, {
537
+ kind: "latest";
538
+ version: null;
539
+ }, {
540
+ kind: "latest";
541
+ version: null;
542
+ }>, z.ZodObject<{
543
+ kind: z.ZodLiteral<"version">;
544
+ version: z.ZodString;
545
+ }, "strict", z.ZodTypeAny, {
546
+ kind: "version";
547
+ version: string;
548
+ }, {
549
+ kind: "version";
550
+ version: string;
551
+ }>]>;
552
+ requester: z.ZodObject<{
553
+ source: z.ZodString;
554
+ requestId: z.ZodNullable<z.ZodString>;
555
+ }, "strict", z.ZodTypeAny, {
556
+ source: string;
557
+ requestId: string | null;
558
+ }, {
559
+ source: string;
560
+ requestId: string | null;
561
+ }>;
562
+ installationHome: z.ZodNullable<z.ZodString>;
563
+ commands: z.ZodArray<z.ZodObject<{
564
+ binary: z.ZodString;
565
+ args: z.ZodArray<z.ZodString, "many">;
566
+ env: z.ZodRecord<z.ZodString, z.ZodString>;
567
+ script: z.ZodNullable<z.ZodObject<{
568
+ url: z.ZodString;
569
+ size: z.ZodNumber;
570
+ sha256: z.ZodString;
571
+ }, "strict", z.ZodTypeAny, {
572
+ url: string;
573
+ size: number;
574
+ sha256: string;
575
+ }, {
576
+ url: string;
577
+ size: number;
578
+ sha256: string;
579
+ }>>;
580
+ }, "strict", z.ZodTypeAny, {
581
+ binary: string;
582
+ args: string[];
583
+ env: Record<string, string>;
584
+ script: {
585
+ url: string;
586
+ size: number;
587
+ sha256: string;
588
+ } | null;
589
+ }, {
590
+ binary: string;
591
+ args: string[];
592
+ env: Record<string, string>;
593
+ script: {
594
+ url: string;
595
+ size: number;
596
+ sha256: string;
597
+ } | null;
598
+ }>, "many">;
599
+ profileCleanup: z.ZodOptional<z.ZodObject<{
600
+ plannedPaths: z.ZodArray<z.ZodString, "many">;
601
+ removedPaths: z.ZodArray<z.ZodString, "many">;
602
+ }, "strict", z.ZodTypeAny, {
603
+ plannedPaths: string[];
604
+ removedPaths: string[];
605
+ }, {
606
+ plannedPaths: string[];
607
+ removedPaths: string[];
608
+ }>>;
609
+ before: z.ZodNullable<z.ZodObject<{
610
+ path: z.ZodNullable<z.ZodString>;
611
+ realPath: z.ZodNullable<z.ZodString>;
612
+ version: z.ZodNullable<z.ZodString>;
613
+ versionOutput: z.ZodNullable<z.ZodString>;
614
+ overrideEnv: z.ZodNullable<z.ZodString>;
615
+ overrideValue: z.ZodNullable<z.ZodString>;
616
+ }, "strict", z.ZodTypeAny, {
617
+ path: string | null;
618
+ realPath: string | null;
619
+ version: string | null;
620
+ versionOutput: string | null;
621
+ overrideEnv: string | null;
622
+ overrideValue: string | null;
623
+ }, {
624
+ path: string | null;
625
+ realPath: string | null;
626
+ version: string | null;
627
+ versionOutput: string | null;
628
+ overrideEnv: string | null;
629
+ overrideValue: string | null;
630
+ }>>;
631
+ after: z.ZodNullable<z.ZodObject<{
632
+ path: z.ZodNullable<z.ZodString>;
633
+ realPath: z.ZodNullable<z.ZodString>;
634
+ version: z.ZodNullable<z.ZodString>;
635
+ versionOutput: z.ZodNullable<z.ZodString>;
636
+ overrideEnv: z.ZodNullable<z.ZodString>;
637
+ overrideValue: z.ZodNullable<z.ZodString>;
638
+ }, "strict", z.ZodTypeAny, {
639
+ path: string | null;
640
+ realPath: string | null;
641
+ version: string | null;
642
+ versionOutput: string | null;
643
+ overrideEnv: string | null;
644
+ overrideValue: string | null;
645
+ }, {
646
+ path: string | null;
647
+ realPath: string | null;
648
+ version: string | null;
649
+ versionOutput: string | null;
650
+ overrideEnv: string | null;
651
+ overrideValue: string | null;
652
+ }>>;
653
+ elsewhere: z.ZodNullable<z.ZodObject<{
654
+ before: z.ZodObject<{
655
+ path: z.ZodNullable<z.ZodString>;
656
+ realPath: z.ZodNullable<z.ZodString>;
252
657
  version: z.ZodNullable<z.ZodString>;
658
+ versionOutput: z.ZodNullable<z.ZodString>;
253
659
  overrideEnv: z.ZodNullable<z.ZodString>;
660
+ overrideValue: z.ZodNullable<z.ZodString>;
254
661
  }, "strict", z.ZodTypeAny, {
255
- kind: "managed" | "missing" | "override" | "path";
256
- binary: string | null;
662
+ path: string | null;
663
+ realPath: string | null;
257
664
  version: string | null;
665
+ versionOutput: string | null;
258
666
  overrideEnv: string | null;
667
+ overrideValue: string | null;
259
668
  }, {
260
- kind: "managed" | "missing" | "override" | "path";
261
- binary: string | null;
669
+ path: string | null;
670
+ realPath: string | null;
262
671
  version: string | null;
672
+ versionOutput: string | null;
263
673
  overrideEnv: string | null;
674
+ overrideValue: string | null;
264
675
  }>;
265
- installed: z.ZodObject<{
676
+ after: z.ZodObject<{
677
+ path: z.ZodNullable<z.ZodString>;
678
+ realPath: z.ZodNullable<z.ZodString>;
266
679
  version: z.ZodNullable<z.ZodString>;
267
- binary: z.ZodNullable<z.ZodString>;
268
- proved: z.ZodBoolean;
680
+ versionOutput: z.ZodNullable<z.ZodString>;
681
+ overrideEnv: z.ZodNullable<z.ZodString>;
682
+ overrideValue: z.ZodNullable<z.ZodString>;
269
683
  }, "strict", z.ZodTypeAny, {
684
+ path: string | null;
685
+ realPath: string | null;
270
686
  version: string | null;
271
- binary: string | null;
272
- proved: boolean;
687
+ versionOutput: string | null;
688
+ overrideEnv: string | null;
689
+ overrideValue: string | null;
273
690
  }, {
691
+ path: string | null;
692
+ realPath: string | null;
274
693
  version: string | null;
275
- binary: string | null;
276
- proved: boolean;
694
+ versionOutput: string | null;
695
+ overrideEnv: string | null;
696
+ overrideValue: string | null;
277
697
  }>;
278
- releaseTested: z.ZodObject<{
279
- version: z.ZodNullable<z.ZodString>;
280
- verification: z.ZodNullable<z.ZodEnum<["release_verified", "deterministic_only"]>>;
281
- }, "strict", z.ZodTypeAny, {
698
+ }, "strict", z.ZodTypeAny, {
699
+ before: {
700
+ path: string | null;
701
+ realPath: string | null;
282
702
  version: string | null;
283
- verification: "deterministic_only" | "release_verified" | null;
284
- }, {
703
+ versionOutput: string | null;
704
+ overrideEnv: string | null;
705
+ overrideValue: string | null;
706
+ };
707
+ after: {
708
+ path: string | null;
709
+ realPath: string | null;
285
710
  version: string | null;
286
- verification: "deterministic_only" | "release_verified" | null;
287
- }>;
288
- available: z.ZodNullable<z.ZodObject<{
289
- version: z.ZodString;
290
- observedAt: z.ZodString;
291
- }, "strict", z.ZodTypeAny, {
292
- version: string;
293
- observedAt: string;
294
- }, {
295
- version: string;
296
- observedAt: string;
297
- }>>;
298
- availableProblem: z.ZodNullable<z.ZodObject<{
711
+ versionOutput: string | null;
712
+ overrideEnv: string | null;
713
+ overrideValue: string | null;
714
+ };
715
+ }, {
716
+ before: {
717
+ path: string | null;
718
+ realPath: string | null;
719
+ version: string | null;
720
+ versionOutput: string | null;
721
+ overrideEnv: string | null;
722
+ overrideValue: string | null;
723
+ };
724
+ after: {
725
+ path: string | null;
726
+ realPath: string | null;
727
+ version: string | null;
728
+ versionOutput: string | null;
729
+ overrideEnv: string | null;
730
+ overrideValue: string | null;
731
+ };
732
+ }>>;
733
+ activeRunsAtStart: z.ZodNullable<z.ZodNumber>;
734
+ exitCode: z.ZodNullable<z.ZodNumber>;
735
+ outcome: z.ZodEnum<["changed", "not_changed", "changed_elsewhere", "unknown"]>;
736
+ mutation: z.ZodEnum<["none", "applied", "unknown"]>;
737
+ termination: z.ZodEnum<["not_applicable", "confirmed", "unconfirmed"]>;
738
+ limitations: z.ZodArray<z.ZodString, "many">;
739
+ progress: z.ZodArray<z.ZodString, "many">;
740
+ problem: z.ZodNullable<z.ZodObject<{
741
+ code: z.ZodString;
742
+ message: z.ZodString;
743
+ retryable: z.ZodBoolean;
744
+ fieldErrors: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
745
+ requiredActions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
746
+ evidenceRefs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
747
+ context: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
748
+ }, "strict", z.ZodTypeAny, {
749
+ code: string;
750
+ message: string;
751
+ retryable: boolean;
752
+ fieldErrors: Record<string, string[]>;
753
+ requiredActions: string[];
754
+ evidenceRefs: string[];
755
+ context: Record<string, unknown>;
756
+ }, {
757
+ code: string;
758
+ message: string;
759
+ retryable: boolean;
760
+ fieldErrors?: Record<string, string[]> | undefined;
761
+ requiredActions?: string[] | undefined;
762
+ evidenceRefs?: string[] | undefined;
763
+ context?: Record<string, unknown> | undefined;
764
+ }>>;
765
+ } & {
766
+ id: z.ZodString;
767
+ harness: z.ZodString;
768
+ state: z.ZodEnum<["queued", "running", "succeeded", "failed", "cancelled", "interrupted"]>;
769
+ createdAt: z.ZodString;
770
+ startedAt: z.ZodNullable<z.ZodString>;
771
+ finishedAt: z.ZodNullable<z.ZodString>;
772
+ }, "strict", z.ZodTypeAny, {
773
+ phase: "accepted" | "installing" | "preparing" | "settled";
774
+ target: {
775
+ kind: "latest";
776
+ version: null;
777
+ } | {
778
+ kind: "version";
779
+ version: string;
780
+ };
781
+ requester: {
782
+ source: string;
783
+ requestId: string | null;
784
+ };
785
+ installationHome: string | null;
786
+ commands: {
787
+ binary: string;
788
+ args: string[];
789
+ env: Record<string, string>;
790
+ script: {
791
+ url: string;
792
+ size: number;
793
+ sha256: string;
794
+ } | null;
795
+ }[];
796
+ profileCleanup?: {
797
+ plannedPaths: string[];
798
+ removedPaths: string[];
799
+ } | undefined;
800
+ before: {
801
+ path: string | null;
802
+ realPath: string | null;
803
+ version: string | null;
804
+ versionOutput: string | null;
805
+ overrideEnv: string | null;
806
+ overrideValue: string | null;
807
+ } | null;
808
+ after: {
809
+ path: string | null;
810
+ realPath: string | null;
811
+ version: string | null;
812
+ versionOutput: string | null;
813
+ overrideEnv: string | null;
814
+ overrideValue: string | null;
815
+ } | null;
816
+ elsewhere: {
817
+ before: {
818
+ path: string | null;
819
+ realPath: string | null;
820
+ version: string | null;
821
+ versionOutput: string | null;
822
+ overrideEnv: string | null;
823
+ overrideValue: string | null;
824
+ };
825
+ after: {
826
+ path: string | null;
827
+ realPath: string | null;
828
+ version: string | null;
829
+ versionOutput: string | null;
830
+ overrideEnv: string | null;
831
+ overrideValue: string | null;
832
+ };
833
+ } | null;
834
+ activeRunsAtStart: number | null;
835
+ exitCode: number | null;
836
+ outcome: "changed" | "changed_elsewhere" | "not_changed" | "unknown";
837
+ mutation: "applied" | "none" | "unknown";
838
+ termination: "confirmed" | "not_applicable" | "unconfirmed";
839
+ limitations: string[];
840
+ progress: string[];
841
+ problem: {
842
+ code: string;
843
+ message: string;
844
+ retryable: boolean;
845
+ fieldErrors: Record<string, string[]>;
846
+ requiredActions: string[];
847
+ evidenceRefs: string[];
848
+ context: Record<string, unknown>;
849
+ } | null;
850
+ id: string;
851
+ harness: string;
852
+ state: "cancelled" | "failed" | "interrupted" | "queued" | "running" | "succeeded";
853
+ createdAt: string;
854
+ startedAt: string | null;
855
+ finishedAt: string | null;
856
+ }, {
857
+ phase: "accepted" | "installing" | "preparing" | "settled";
858
+ target: {
859
+ kind: "latest";
860
+ version: null;
861
+ } | {
862
+ kind: "version";
863
+ version: string;
864
+ };
865
+ requester: {
866
+ source: string;
867
+ requestId: string | null;
868
+ };
869
+ installationHome: string | null;
870
+ commands: {
871
+ binary: string;
872
+ args: string[];
873
+ env: Record<string, string>;
874
+ script: {
875
+ url: string;
876
+ size: number;
877
+ sha256: string;
878
+ } | null;
879
+ }[];
880
+ profileCleanup?: {
881
+ plannedPaths: string[];
882
+ removedPaths: string[];
883
+ } | undefined;
884
+ before: {
885
+ path: string | null;
886
+ realPath: string | null;
887
+ version: string | null;
888
+ versionOutput: string | null;
889
+ overrideEnv: string | null;
890
+ overrideValue: string | null;
891
+ } | null;
892
+ after: {
893
+ path: string | null;
894
+ realPath: string | null;
895
+ version: string | null;
896
+ versionOutput: string | null;
897
+ overrideEnv: string | null;
898
+ overrideValue: string | null;
899
+ } | null;
900
+ elsewhere: {
901
+ before: {
902
+ path: string | null;
903
+ realPath: string | null;
904
+ version: string | null;
905
+ versionOutput: string | null;
906
+ overrideEnv: string | null;
907
+ overrideValue: string | null;
908
+ };
909
+ after: {
910
+ path: string | null;
911
+ realPath: string | null;
912
+ version: string | null;
913
+ versionOutput: string | null;
914
+ overrideEnv: string | null;
915
+ overrideValue: string | null;
916
+ };
917
+ } | null;
918
+ activeRunsAtStart: number | null;
919
+ exitCode: number | null;
920
+ outcome: "changed" | "changed_elsewhere" | "not_changed" | "unknown";
921
+ mutation: "applied" | "none" | "unknown";
922
+ termination: "confirmed" | "not_applicable" | "unconfirmed";
923
+ limitations: string[];
924
+ progress: string[];
925
+ problem: {
926
+ code: string;
927
+ message: string;
928
+ retryable: boolean;
929
+ fieldErrors?: Record<string, string[]> | undefined;
930
+ requiredActions?: string[] | undefined;
931
+ evidenceRefs?: string[] | undefined;
932
+ context?: Record<string, unknown> | undefined;
933
+ } | null;
934
+ id: string;
935
+ harness: string;
936
+ state: "cancelled" | "failed" | "interrupted" | "queued" | "running" | "succeeded";
937
+ createdAt: string;
938
+ startedAt: string | null;
939
+ finishedAt: string | null;
940
+ }>;
941
+ export type ControlHarnessMaintenanceOperation = z.infer<typeof ControlHarnessMaintenanceOperation>;
942
+ export declare const HarnessMaintenanceEntry: z.ZodObject<{
943
+ harness: z.ZodString;
944
+ selection: z.ZodObject<{
945
+ path: z.ZodNullable<z.ZodString>;
946
+ realPath: z.ZodNullable<z.ZodString>;
947
+ version: z.ZodNullable<z.ZodString>;
948
+ versionOutput: z.ZodNullable<z.ZodString>;
949
+ overrideEnv: z.ZodNullable<z.ZodString>;
950
+ overrideValue: z.ZodNullable<z.ZodString>;
951
+ }, "strict", z.ZodTypeAny, {
952
+ path: string | null;
953
+ realPath: string | null;
954
+ version: string | null;
955
+ versionOutput: string | null;
956
+ overrideEnv: string | null;
957
+ overrideValue: string | null;
958
+ }, {
959
+ path: string | null;
960
+ realPath: string | null;
961
+ version: string | null;
962
+ versionOutput: string | null;
963
+ overrideEnv: string | null;
964
+ overrideValue: string | null;
965
+ }>;
966
+ newest: z.ZodDiscriminatedUnion<"status", [z.ZodObject<{
967
+ status: z.ZodLiteral<"not_read">;
968
+ source: z.ZodNullable<z.ZodString>;
969
+ }, "strict", z.ZodTypeAny, {
970
+ status: "not_read";
971
+ source: string | null;
972
+ }, {
973
+ status: "not_read";
974
+ source: string | null;
975
+ }>, z.ZodObject<{
976
+ status: z.ZodLiteral<"available">;
977
+ source: z.ZodString;
978
+ version: z.ZodString;
979
+ observedAt: z.ZodString;
980
+ }, "strict", z.ZodTypeAny, {
981
+ status: "available";
982
+ source: string;
983
+ version: string;
984
+ observedAt: string;
985
+ }, {
986
+ status: "available";
987
+ source: string;
988
+ version: string;
989
+ observedAt: string;
990
+ }>, z.ZodObject<{
991
+ status: z.ZodLiteral<"unavailable">;
992
+ source: z.ZodNullable<z.ZodString>;
993
+ observedAt: z.ZodString;
994
+ problem: z.ZodObject<{
299
995
  code: z.ZodString;
300
996
  message: z.ZodString;
301
997
  retryable: z.ZodBoolean;
@@ -319,64 +1015,12 @@ export declare const ControlHarnessMaintenanceInventory: z.ZodObject<{
319
1015
  requiredActions?: string[] | undefined;
320
1016
  evidenceRefs?: string[] | undefined;
321
1017
  context?: Record<string, unknown> | undefined;
322
- }>>;
323
- previous: z.ZodNullable<z.ZodObject<{
324
- version: z.ZodString;
325
- operationId: z.ZodString;
326
- }, "strict", z.ZodTypeAny, {
327
- version: string;
328
- operationId: string;
329
- }, {
330
- version: string;
331
- operationId: string;
332
- }>>;
333
- operation: z.ZodNullable<z.ZodObject<{
334
- id: z.ZodString;
335
- state: z.ZodString;
336
- phase: z.ZodString;
337
- targetVersion: z.ZodNullable<z.ZodString>;
338
- finishedAt: z.ZodNullable<z.ZodString>;
339
- }, "strict", z.ZodTypeAny, {
340
- id: string;
341
- state: string;
342
- phase: string;
343
- targetVersion: string | null;
344
- finishedAt: string | null;
345
- }, {
346
- id: string;
347
- state: string;
348
- phase: string;
349
- targetVersion: string | null;
350
- finishedAt: string | null;
351
- }>>;
352
- observedAt: z.ZodString;
1018
+ }>;
353
1019
  }, "strict", z.ZodTypeAny, {
354
- harness: string;
355
- mechanism: "managed_npm" | "vendor_script" | "vendor_updater";
356
- maintainable: boolean;
357
- canCheckLatest: boolean;
358
- targets: ("baseline" | "latest" | "previous" | "version")[];
359
- remedy: string | null;
360
- selection: {
361
- kind: "managed" | "missing" | "override" | "path";
362
- binary: string | null;
363
- version: string | null;
364
- overrideEnv: string | null;
365
- };
366
- installed: {
367
- version: string | null;
368
- binary: string | null;
369
- proved: boolean;
370
- };
371
- releaseTested: {
372
- version: string | null;
373
- verification: "deterministic_only" | "release_verified" | null;
374
- };
375
- available: {
376
- version: string;
377
- observedAt: string;
378
- } | null;
379
- availableProblem: {
1020
+ status: "unavailable";
1021
+ source: string | null;
1022
+ observedAt: string;
1023
+ problem: {
380
1024
  code: string;
381
1025
  message: string;
382
1026
  retryable: boolean;
@@ -384,46 +1028,577 @@ export declare const ControlHarnessMaintenanceInventory: z.ZodObject<{
384
1028
  requiredActions: string[];
385
1029
  evidenceRefs: string[];
386
1030
  context: Record<string, unknown>;
387
- } | null;
388
- previous: {
389
- version: string;
390
- operationId: string;
391
- } | null;
392
- operation: {
393
- id: string;
394
- state: string;
395
- phase: string;
396
- targetVersion: string | null;
397
- finishedAt: string | null;
398
- } | null;
1031
+ };
1032
+ }, {
1033
+ status: "unavailable";
1034
+ source: string | null;
399
1035
  observedAt: string;
1036
+ problem: {
1037
+ code: string;
1038
+ message: string;
1039
+ retryable: boolean;
1040
+ fieldErrors?: Record<string, string[]> | undefined;
1041
+ requiredActions?: string[] | undefined;
1042
+ evidenceRefs?: string[] | undefined;
1043
+ context?: Record<string, unknown> | undefined;
1044
+ };
1045
+ }>]>;
1046
+ updateAvailable: z.ZodEnum<["yes", "no", "cannot_tell"]>;
1047
+ releaseNotesUrl: z.ZodNullable<z.ZodString>;
1048
+ actions: z.ZodObject<{
1049
+ install: z.ZodObject<{
1050
+ available: z.ZodBoolean;
1051
+ reason: z.ZodNullable<z.ZodString>;
1052
+ /** Display only. {version} is user input; {installedProgram} is resolved after installation. */
1053
+ commands: z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
1054
+ kind: z.ZodLiteral<"exec">;
1055
+ command: z.ZodString;
1056
+ args: z.ZodArray<z.ZodString, "many">;
1057
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1058
+ }, "strict", z.ZodTypeAny, {
1059
+ kind: "exec";
1060
+ command: string;
1061
+ args: string[];
1062
+ env?: Record<string, string> | undefined;
1063
+ }, {
1064
+ kind: "exec";
1065
+ command: string;
1066
+ args: string[];
1067
+ env?: Record<string, string> | undefined;
1068
+ }>, z.ZodObject<{
1069
+ kind: z.ZodLiteral<"script">;
1070
+ url: z.ZodString;
1071
+ interpreter: z.ZodString;
1072
+ interpreterArgs: z.ZodArray<z.ZodString, "many">;
1073
+ args: z.ZodArray<z.ZodString, "many">;
1074
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1075
+ }, "strict", z.ZodTypeAny, {
1076
+ kind: "script";
1077
+ url: string;
1078
+ interpreter: string;
1079
+ interpreterArgs: string[];
1080
+ args: string[];
1081
+ env?: Record<string, string> | undefined;
1082
+ }, {
1083
+ kind: "script";
1084
+ url: string;
1085
+ interpreter: string;
1086
+ interpreterArgs: string[];
1087
+ args: string[];
1088
+ env?: Record<string, string> | undefined;
1089
+ }>]>, "many">;
1090
+ }, "strict", z.ZodTypeAny, {
1091
+ available: boolean;
1092
+ reason: string | null;
1093
+ commands: ({
1094
+ kind: "exec";
1095
+ command: string;
1096
+ args: string[];
1097
+ env?: Record<string, string> | undefined;
1098
+ } | {
1099
+ kind: "script";
1100
+ url: string;
1101
+ interpreter: string;
1102
+ interpreterArgs: string[];
1103
+ args: string[];
1104
+ env?: Record<string, string> | undefined;
1105
+ })[];
1106
+ }, {
1107
+ available: boolean;
1108
+ reason: string | null;
1109
+ commands: ({
1110
+ kind: "exec";
1111
+ command: string;
1112
+ args: string[];
1113
+ env?: Record<string, string> | undefined;
1114
+ } | {
1115
+ kind: "script";
1116
+ url: string;
1117
+ interpreter: string;
1118
+ interpreterArgs: string[];
1119
+ args: string[];
1120
+ env?: Record<string, string> | undefined;
1121
+ })[];
1122
+ }>;
1123
+ update: z.ZodObject<{
1124
+ available: z.ZodBoolean;
1125
+ reason: z.ZodNullable<z.ZodString>;
1126
+ /** Display only. {version} is user input; {installedProgram} is resolved after installation. */
1127
+ commands: z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
1128
+ kind: z.ZodLiteral<"exec">;
1129
+ command: z.ZodString;
1130
+ args: z.ZodArray<z.ZodString, "many">;
1131
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1132
+ }, "strict", z.ZodTypeAny, {
1133
+ kind: "exec";
1134
+ command: string;
1135
+ args: string[];
1136
+ env?: Record<string, string> | undefined;
1137
+ }, {
1138
+ kind: "exec";
1139
+ command: string;
1140
+ args: string[];
1141
+ env?: Record<string, string> | undefined;
1142
+ }>, z.ZodObject<{
1143
+ kind: z.ZodLiteral<"script">;
1144
+ url: z.ZodString;
1145
+ interpreter: z.ZodString;
1146
+ interpreterArgs: z.ZodArray<z.ZodString, "many">;
1147
+ args: z.ZodArray<z.ZodString, "many">;
1148
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1149
+ }, "strict", z.ZodTypeAny, {
1150
+ kind: "script";
1151
+ url: string;
1152
+ interpreter: string;
1153
+ interpreterArgs: string[];
1154
+ args: string[];
1155
+ env?: Record<string, string> | undefined;
1156
+ }, {
1157
+ kind: "script";
1158
+ url: string;
1159
+ interpreter: string;
1160
+ interpreterArgs: string[];
1161
+ args: string[];
1162
+ env?: Record<string, string> | undefined;
1163
+ }>]>, "many">;
1164
+ }, "strict", z.ZodTypeAny, {
1165
+ available: boolean;
1166
+ reason: string | null;
1167
+ commands: ({
1168
+ kind: "exec";
1169
+ command: string;
1170
+ args: string[];
1171
+ env?: Record<string, string> | undefined;
1172
+ } | {
1173
+ kind: "script";
1174
+ url: string;
1175
+ interpreter: string;
1176
+ interpreterArgs: string[];
1177
+ args: string[];
1178
+ env?: Record<string, string> | undefined;
1179
+ })[];
1180
+ }, {
1181
+ available: boolean;
1182
+ reason: string | null;
1183
+ commands: ({
1184
+ kind: "exec";
1185
+ command: string;
1186
+ args: string[];
1187
+ env?: Record<string, string> | undefined;
1188
+ } | {
1189
+ kind: "script";
1190
+ url: string;
1191
+ interpreter: string;
1192
+ interpreterArgs: string[];
1193
+ args: string[];
1194
+ env?: Record<string, string> | undefined;
1195
+ })[];
1196
+ }>;
1197
+ exactVersion: z.ZodObject<{
1198
+ available: z.ZodBoolean;
1199
+ reason: z.ZodNullable<z.ZodString>;
1200
+ /** Display only. {version} is user input; {installedProgram} is resolved after installation. */
1201
+ commands: z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
1202
+ kind: z.ZodLiteral<"exec">;
1203
+ command: z.ZodString;
1204
+ args: z.ZodArray<z.ZodString, "many">;
1205
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1206
+ }, "strict", z.ZodTypeAny, {
1207
+ kind: "exec";
1208
+ command: string;
1209
+ args: string[];
1210
+ env?: Record<string, string> | undefined;
1211
+ }, {
1212
+ kind: "exec";
1213
+ command: string;
1214
+ args: string[];
1215
+ env?: Record<string, string> | undefined;
1216
+ }>, z.ZodObject<{
1217
+ kind: z.ZodLiteral<"script">;
1218
+ url: z.ZodString;
1219
+ interpreter: z.ZodString;
1220
+ interpreterArgs: z.ZodArray<z.ZodString, "many">;
1221
+ args: z.ZodArray<z.ZodString, "many">;
1222
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1223
+ }, "strict", z.ZodTypeAny, {
1224
+ kind: "script";
1225
+ url: string;
1226
+ interpreter: string;
1227
+ interpreterArgs: string[];
1228
+ args: string[];
1229
+ env?: Record<string, string> | undefined;
1230
+ }, {
1231
+ kind: "script";
1232
+ url: string;
1233
+ interpreter: string;
1234
+ interpreterArgs: string[];
1235
+ args: string[];
1236
+ env?: Record<string, string> | undefined;
1237
+ }>]>, "many">;
1238
+ }, "strict", z.ZodTypeAny, {
1239
+ available: boolean;
1240
+ reason: string | null;
1241
+ commands: ({
1242
+ kind: "exec";
1243
+ command: string;
1244
+ args: string[];
1245
+ env?: Record<string, string> | undefined;
1246
+ } | {
1247
+ kind: "script";
1248
+ url: string;
1249
+ interpreter: string;
1250
+ interpreterArgs: string[];
1251
+ args: string[];
1252
+ env?: Record<string, string> | undefined;
1253
+ })[];
1254
+ }, {
1255
+ available: boolean;
1256
+ reason: string | null;
1257
+ commands: ({
1258
+ kind: "exec";
1259
+ command: string;
1260
+ args: string[];
1261
+ env?: Record<string, string> | undefined;
1262
+ } | {
1263
+ kind: "script";
1264
+ url: string;
1265
+ interpreter: string;
1266
+ interpreterArgs: string[];
1267
+ args: string[];
1268
+ env?: Record<string, string> | undefined;
1269
+ })[];
1270
+ }>;
1271
+ }, "strict", z.ZodTypeAny, {
1272
+ install: {
1273
+ available: boolean;
1274
+ reason: string | null;
1275
+ commands: ({
1276
+ kind: "exec";
1277
+ command: string;
1278
+ args: string[];
1279
+ env?: Record<string, string> | undefined;
1280
+ } | {
1281
+ kind: "script";
1282
+ url: string;
1283
+ interpreter: string;
1284
+ interpreterArgs: string[];
1285
+ args: string[];
1286
+ env?: Record<string, string> | undefined;
1287
+ })[];
1288
+ };
1289
+ update: {
1290
+ available: boolean;
1291
+ reason: string | null;
1292
+ commands: ({
1293
+ kind: "exec";
1294
+ command: string;
1295
+ args: string[];
1296
+ env?: Record<string, string> | undefined;
1297
+ } | {
1298
+ kind: "script";
1299
+ url: string;
1300
+ interpreter: string;
1301
+ interpreterArgs: string[];
1302
+ args: string[];
1303
+ env?: Record<string, string> | undefined;
1304
+ })[];
1305
+ };
1306
+ exactVersion: {
1307
+ available: boolean;
1308
+ reason: string | null;
1309
+ commands: ({
1310
+ kind: "exec";
1311
+ command: string;
1312
+ args: string[];
1313
+ env?: Record<string, string> | undefined;
1314
+ } | {
1315
+ kind: "script";
1316
+ url: string;
1317
+ interpreter: string;
1318
+ interpreterArgs: string[];
1319
+ args: string[];
1320
+ env?: Record<string, string> | undefined;
1321
+ })[];
1322
+ };
400
1323
  }, {
401
- harness: string;
402
- mechanism: "managed_npm" | "vendor_script" | "vendor_updater";
403
- maintainable: boolean;
404
- canCheckLatest: boolean;
405
- targets: ("baseline" | "latest" | "previous" | "version")[];
406
- remedy: string | null;
407
- selection: {
408
- kind: "managed" | "missing" | "override" | "path";
409
- binary: string | null;
410
- version: string | null;
411
- overrideEnv: string | null;
1324
+ install: {
1325
+ available: boolean;
1326
+ reason: string | null;
1327
+ commands: ({
1328
+ kind: "exec";
1329
+ command: string;
1330
+ args: string[];
1331
+ env?: Record<string, string> | undefined;
1332
+ } | {
1333
+ kind: "script";
1334
+ url: string;
1335
+ interpreter: string;
1336
+ interpreterArgs: string[];
1337
+ args: string[];
1338
+ env?: Record<string, string> | undefined;
1339
+ })[];
412
1340
  };
413
- installed: {
414
- version: string | null;
415
- binary: string | null;
416
- proved: boolean;
1341
+ update: {
1342
+ available: boolean;
1343
+ reason: string | null;
1344
+ commands: ({
1345
+ kind: "exec";
1346
+ command: string;
1347
+ args: string[];
1348
+ env?: Record<string, string> | undefined;
1349
+ } | {
1350
+ kind: "script";
1351
+ url: string;
1352
+ interpreter: string;
1353
+ interpreterArgs: string[];
1354
+ args: string[];
1355
+ env?: Record<string, string> | undefined;
1356
+ })[];
417
1357
  };
418
- releaseTested: {
419
- version: string | null;
420
- verification: "deterministic_only" | "release_verified" | null;
1358
+ exactVersion: {
1359
+ available: boolean;
1360
+ reason: string | null;
1361
+ commands: ({
1362
+ kind: "exec";
1363
+ command: string;
1364
+ args: string[];
1365
+ env?: Record<string, string> | undefined;
1366
+ } | {
1367
+ kind: "script";
1368
+ url: string;
1369
+ interpreter: string;
1370
+ interpreterArgs: string[];
1371
+ args: string[];
1372
+ env?: Record<string, string> | undefined;
1373
+ })[];
421
1374
  };
422
- available: {
1375
+ }>;
1376
+ operation: z.ZodNullable<z.ZodObject<{
1377
+ phase: z.ZodEnum<["accepted", "preparing", "installing", "settled"]>;
1378
+ target: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
1379
+ kind: z.ZodLiteral<"latest">;
1380
+ version: z.ZodNull;
1381
+ }, "strict", z.ZodTypeAny, {
1382
+ kind: "latest";
1383
+ version: null;
1384
+ }, {
1385
+ kind: "latest";
1386
+ version: null;
1387
+ }>, z.ZodObject<{
1388
+ kind: z.ZodLiteral<"version">;
1389
+ version: z.ZodString;
1390
+ }, "strict", z.ZodTypeAny, {
1391
+ kind: "version";
423
1392
  version: string;
424
- observedAt: string;
425
- } | null;
426
- availableProblem: {
1393
+ }, {
1394
+ kind: "version";
1395
+ version: string;
1396
+ }>]>;
1397
+ requester: z.ZodObject<{
1398
+ source: z.ZodString;
1399
+ requestId: z.ZodNullable<z.ZodString>;
1400
+ }, "strict", z.ZodTypeAny, {
1401
+ source: string;
1402
+ requestId: string | null;
1403
+ }, {
1404
+ source: string;
1405
+ requestId: string | null;
1406
+ }>;
1407
+ installationHome: z.ZodNullable<z.ZodString>;
1408
+ commands: z.ZodArray<z.ZodObject<{
1409
+ binary: z.ZodString;
1410
+ args: z.ZodArray<z.ZodString, "many">;
1411
+ env: z.ZodRecord<z.ZodString, z.ZodString>;
1412
+ script: z.ZodNullable<z.ZodObject<{
1413
+ url: z.ZodString;
1414
+ size: z.ZodNumber;
1415
+ sha256: z.ZodString;
1416
+ }, "strict", z.ZodTypeAny, {
1417
+ url: string;
1418
+ size: number;
1419
+ sha256: string;
1420
+ }, {
1421
+ url: string;
1422
+ size: number;
1423
+ sha256: string;
1424
+ }>>;
1425
+ }, "strict", z.ZodTypeAny, {
1426
+ binary: string;
1427
+ args: string[];
1428
+ env: Record<string, string>;
1429
+ script: {
1430
+ url: string;
1431
+ size: number;
1432
+ sha256: string;
1433
+ } | null;
1434
+ }, {
1435
+ binary: string;
1436
+ args: string[];
1437
+ env: Record<string, string>;
1438
+ script: {
1439
+ url: string;
1440
+ size: number;
1441
+ sha256: string;
1442
+ } | null;
1443
+ }>, "many">;
1444
+ profileCleanup: z.ZodOptional<z.ZodObject<{
1445
+ plannedPaths: z.ZodArray<z.ZodString, "many">;
1446
+ removedPaths: z.ZodArray<z.ZodString, "many">;
1447
+ }, "strict", z.ZodTypeAny, {
1448
+ plannedPaths: string[];
1449
+ removedPaths: string[];
1450
+ }, {
1451
+ plannedPaths: string[];
1452
+ removedPaths: string[];
1453
+ }>>;
1454
+ before: z.ZodNullable<z.ZodObject<{
1455
+ path: z.ZodNullable<z.ZodString>;
1456
+ realPath: z.ZodNullable<z.ZodString>;
1457
+ version: z.ZodNullable<z.ZodString>;
1458
+ versionOutput: z.ZodNullable<z.ZodString>;
1459
+ overrideEnv: z.ZodNullable<z.ZodString>;
1460
+ overrideValue: z.ZodNullable<z.ZodString>;
1461
+ }, "strict", z.ZodTypeAny, {
1462
+ path: string | null;
1463
+ realPath: string | null;
1464
+ version: string | null;
1465
+ versionOutput: string | null;
1466
+ overrideEnv: string | null;
1467
+ overrideValue: string | null;
1468
+ }, {
1469
+ path: string | null;
1470
+ realPath: string | null;
1471
+ version: string | null;
1472
+ versionOutput: string | null;
1473
+ overrideEnv: string | null;
1474
+ overrideValue: string | null;
1475
+ }>>;
1476
+ after: z.ZodNullable<z.ZodObject<{
1477
+ path: z.ZodNullable<z.ZodString>;
1478
+ realPath: z.ZodNullable<z.ZodString>;
1479
+ version: z.ZodNullable<z.ZodString>;
1480
+ versionOutput: z.ZodNullable<z.ZodString>;
1481
+ overrideEnv: z.ZodNullable<z.ZodString>;
1482
+ overrideValue: z.ZodNullable<z.ZodString>;
1483
+ }, "strict", z.ZodTypeAny, {
1484
+ path: string | null;
1485
+ realPath: string | null;
1486
+ version: string | null;
1487
+ versionOutput: string | null;
1488
+ overrideEnv: string | null;
1489
+ overrideValue: string | null;
1490
+ }, {
1491
+ path: string | null;
1492
+ realPath: string | null;
1493
+ version: string | null;
1494
+ versionOutput: string | null;
1495
+ overrideEnv: string | null;
1496
+ overrideValue: string | null;
1497
+ }>>;
1498
+ elsewhere: z.ZodNullable<z.ZodObject<{
1499
+ before: z.ZodObject<{
1500
+ path: z.ZodNullable<z.ZodString>;
1501
+ realPath: z.ZodNullable<z.ZodString>;
1502
+ version: z.ZodNullable<z.ZodString>;
1503
+ versionOutput: z.ZodNullable<z.ZodString>;
1504
+ overrideEnv: z.ZodNullable<z.ZodString>;
1505
+ overrideValue: z.ZodNullable<z.ZodString>;
1506
+ }, "strict", z.ZodTypeAny, {
1507
+ path: string | null;
1508
+ realPath: string | null;
1509
+ version: string | null;
1510
+ versionOutput: string | null;
1511
+ overrideEnv: string | null;
1512
+ overrideValue: string | null;
1513
+ }, {
1514
+ path: string | null;
1515
+ realPath: string | null;
1516
+ version: string | null;
1517
+ versionOutput: string | null;
1518
+ overrideEnv: string | null;
1519
+ overrideValue: string | null;
1520
+ }>;
1521
+ after: z.ZodObject<{
1522
+ path: z.ZodNullable<z.ZodString>;
1523
+ realPath: z.ZodNullable<z.ZodString>;
1524
+ version: z.ZodNullable<z.ZodString>;
1525
+ versionOutput: z.ZodNullable<z.ZodString>;
1526
+ overrideEnv: z.ZodNullable<z.ZodString>;
1527
+ overrideValue: z.ZodNullable<z.ZodString>;
1528
+ }, "strict", z.ZodTypeAny, {
1529
+ path: string | null;
1530
+ realPath: string | null;
1531
+ version: string | null;
1532
+ versionOutput: string | null;
1533
+ overrideEnv: string | null;
1534
+ overrideValue: string | null;
1535
+ }, {
1536
+ path: string | null;
1537
+ realPath: string | null;
1538
+ version: string | null;
1539
+ versionOutput: string | null;
1540
+ overrideEnv: string | null;
1541
+ overrideValue: string | null;
1542
+ }>;
1543
+ }, "strict", z.ZodTypeAny, {
1544
+ before: {
1545
+ path: string | null;
1546
+ realPath: string | null;
1547
+ version: string | null;
1548
+ versionOutput: string | null;
1549
+ overrideEnv: string | null;
1550
+ overrideValue: string | null;
1551
+ };
1552
+ after: {
1553
+ path: string | null;
1554
+ realPath: string | null;
1555
+ version: string | null;
1556
+ versionOutput: string | null;
1557
+ overrideEnv: string | null;
1558
+ overrideValue: string | null;
1559
+ };
1560
+ }, {
1561
+ before: {
1562
+ path: string | null;
1563
+ realPath: string | null;
1564
+ version: string | null;
1565
+ versionOutput: string | null;
1566
+ overrideEnv: string | null;
1567
+ overrideValue: string | null;
1568
+ };
1569
+ after: {
1570
+ path: string | null;
1571
+ realPath: string | null;
1572
+ version: string | null;
1573
+ versionOutput: string | null;
1574
+ overrideEnv: string | null;
1575
+ overrideValue: string | null;
1576
+ };
1577
+ }>>;
1578
+ activeRunsAtStart: z.ZodNullable<z.ZodNumber>;
1579
+ exitCode: z.ZodNullable<z.ZodNumber>;
1580
+ outcome: z.ZodEnum<["changed", "not_changed", "changed_elsewhere", "unknown"]>;
1581
+ mutation: z.ZodEnum<["none", "applied", "unknown"]>;
1582
+ termination: z.ZodEnum<["not_applicable", "confirmed", "unconfirmed"]>;
1583
+ limitations: z.ZodArray<z.ZodString, "many">;
1584
+ progress: z.ZodArray<z.ZodString, "many">;
1585
+ problem: z.ZodNullable<z.ZodObject<{
1586
+ code: z.ZodString;
1587
+ message: z.ZodString;
1588
+ retryable: z.ZodBoolean;
1589
+ fieldErrors: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
1590
+ requiredActions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1591
+ evidenceRefs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1592
+ context: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1593
+ }, "strict", z.ZodTypeAny, {
1594
+ code: string;
1595
+ message: string;
1596
+ retryable: boolean;
1597
+ fieldErrors: Record<string, string[]>;
1598
+ requiredActions: string[];
1599
+ evidenceRefs: string[];
1600
+ context: Record<string, unknown>;
1601
+ }, {
427
1602
  code: string;
428
1603
  message: string;
429
1604
  retryable: boolean;
@@ -431,49 +1606,84 @@ export declare const ControlHarnessMaintenanceInventory: z.ZodObject<{
431
1606
  requiredActions?: string[] | undefined;
432
1607
  evidenceRefs?: string[] | undefined;
433
1608
  context?: Record<string, unknown> | undefined;
434
- } | null;
435
- previous: {
1609
+ }>>;
1610
+ } & {
1611
+ id: z.ZodString;
1612
+ harness: z.ZodString;
1613
+ state: z.ZodEnum<["queued", "running", "succeeded", "failed", "cancelled", "interrupted"]>;
1614
+ createdAt: z.ZodString;
1615
+ startedAt: z.ZodNullable<z.ZodString>;
1616
+ finishedAt: z.ZodNullable<z.ZodString>;
1617
+ }, "strict", z.ZodTypeAny, {
1618
+ phase: "accepted" | "installing" | "preparing" | "settled";
1619
+ target: {
1620
+ kind: "latest";
1621
+ version: null;
1622
+ } | {
1623
+ kind: "version";
436
1624
  version: string;
437
- operationId: string;
438
- } | null;
439
- operation: {
440
- id: string;
441
- state: string;
442
- phase: string;
443
- targetVersion: string | null;
444
- finishedAt: string | null;
445
- } | null;
446
- observedAt: string;
447
- }>, "many">;
448
- }, "strict", z.ZodTypeAny, {
449
- observedAt: string;
450
- harnesses: {
451
- harness: string;
452
- mechanism: "managed_npm" | "vendor_script" | "vendor_updater";
453
- maintainable: boolean;
454
- canCheckLatest: boolean;
455
- targets: ("baseline" | "latest" | "previous" | "version")[];
456
- remedy: string | null;
457
- selection: {
458
- kind: "managed" | "missing" | "override" | "path";
459
- binary: string | null;
460
- version: string | null;
461
- overrideEnv: string | null;
462
1625
  };
463
- installed: {
464
- version: string | null;
465
- binary: string | null;
466
- proved: boolean;
1626
+ requester: {
1627
+ source: string;
1628
+ requestId: string | null;
467
1629
  };
468
- releaseTested: {
1630
+ installationHome: string | null;
1631
+ commands: {
1632
+ binary: string;
1633
+ args: string[];
1634
+ env: Record<string, string>;
1635
+ script: {
1636
+ url: string;
1637
+ size: number;
1638
+ sha256: string;
1639
+ } | null;
1640
+ }[];
1641
+ profileCleanup?: {
1642
+ plannedPaths: string[];
1643
+ removedPaths: string[];
1644
+ } | undefined;
1645
+ before: {
1646
+ path: string | null;
1647
+ realPath: string | null;
469
1648
  version: string | null;
470
- verification: "deterministic_only" | "release_verified" | null;
471
- };
472
- available: {
473
- version: string;
474
- observedAt: string;
1649
+ versionOutput: string | null;
1650
+ overrideEnv: string | null;
1651
+ overrideValue: string | null;
1652
+ } | null;
1653
+ after: {
1654
+ path: string | null;
1655
+ realPath: string | null;
1656
+ version: string | null;
1657
+ versionOutput: string | null;
1658
+ overrideEnv: string | null;
1659
+ overrideValue: string | null;
1660
+ } | null;
1661
+ elsewhere: {
1662
+ before: {
1663
+ path: string | null;
1664
+ realPath: string | null;
1665
+ version: string | null;
1666
+ versionOutput: string | null;
1667
+ overrideEnv: string | null;
1668
+ overrideValue: string | null;
1669
+ };
1670
+ after: {
1671
+ path: string | null;
1672
+ realPath: string | null;
1673
+ version: string | null;
1674
+ versionOutput: string | null;
1675
+ overrideEnv: string | null;
1676
+ overrideValue: string | null;
1677
+ };
475
1678
  } | null;
476
- availableProblem: {
1679
+ activeRunsAtStart: number | null;
1680
+ exitCode: number | null;
1681
+ outcome: "changed" | "changed_elsewhere" | "not_changed" | "unknown";
1682
+ mutation: "applied" | "none" | "unknown";
1683
+ termination: "confirmed" | "not_applicable" | "unconfirmed";
1684
+ limitations: string[];
1685
+ progress: string[];
1686
+ problem: {
477
1687
  code: string;
478
1688
  message: string;
479
1689
  retryable: boolean;
@@ -482,48 +1692,82 @@ export declare const ControlHarnessMaintenanceInventory: z.ZodObject<{
482
1692
  evidenceRefs: string[];
483
1693
  context: Record<string, unknown>;
484
1694
  } | null;
485
- previous: {
486
- version: string;
487
- operationId: string;
488
- } | null;
489
- operation: {
490
- id: string;
491
- state: string;
492
- phase: string;
493
- targetVersion: string | null;
494
- finishedAt: string | null;
495
- } | null;
496
- observedAt: string;
497
- }[];
498
- }, {
499
- observedAt: string;
500
- harnesses: {
1695
+ id: string;
501
1696
  harness: string;
502
- mechanism: "managed_npm" | "vendor_script" | "vendor_updater";
503
- maintainable: boolean;
504
- canCheckLatest: boolean;
505
- targets: ("baseline" | "latest" | "previous" | "version")[];
506
- remedy: string | null;
507
- selection: {
508
- kind: "managed" | "missing" | "override" | "path";
509
- binary: string | null;
510
- version: string | null;
511
- overrideEnv: string | null;
1697
+ state: "cancelled" | "failed" | "interrupted" | "queued" | "running" | "succeeded";
1698
+ createdAt: string;
1699
+ startedAt: string | null;
1700
+ finishedAt: string | null;
1701
+ }, {
1702
+ phase: "accepted" | "installing" | "preparing" | "settled";
1703
+ target: {
1704
+ kind: "latest";
1705
+ version: null;
1706
+ } | {
1707
+ kind: "version";
1708
+ version: string;
512
1709
  };
513
- installed: {
514
- version: string | null;
515
- binary: string | null;
516
- proved: boolean;
1710
+ requester: {
1711
+ source: string;
1712
+ requestId: string | null;
517
1713
  };
518
- releaseTested: {
1714
+ installationHome: string | null;
1715
+ commands: {
1716
+ binary: string;
1717
+ args: string[];
1718
+ env: Record<string, string>;
1719
+ script: {
1720
+ url: string;
1721
+ size: number;
1722
+ sha256: string;
1723
+ } | null;
1724
+ }[];
1725
+ profileCleanup?: {
1726
+ plannedPaths: string[];
1727
+ removedPaths: string[];
1728
+ } | undefined;
1729
+ before: {
1730
+ path: string | null;
1731
+ realPath: string | null;
519
1732
  version: string | null;
520
- verification: "deterministic_only" | "release_verified" | null;
521
- };
522
- available: {
523
- version: string;
524
- observedAt: string;
1733
+ versionOutput: string | null;
1734
+ overrideEnv: string | null;
1735
+ overrideValue: string | null;
1736
+ } | null;
1737
+ after: {
1738
+ path: string | null;
1739
+ realPath: string | null;
1740
+ version: string | null;
1741
+ versionOutput: string | null;
1742
+ overrideEnv: string | null;
1743
+ overrideValue: string | null;
525
1744
  } | null;
526
- availableProblem: {
1745
+ elsewhere: {
1746
+ before: {
1747
+ path: string | null;
1748
+ realPath: string | null;
1749
+ version: string | null;
1750
+ versionOutput: string | null;
1751
+ overrideEnv: string | null;
1752
+ overrideValue: string | null;
1753
+ };
1754
+ after: {
1755
+ path: string | null;
1756
+ realPath: string | null;
1757
+ version: string | null;
1758
+ versionOutput: string | null;
1759
+ overrideEnv: string | null;
1760
+ overrideValue: string | null;
1761
+ };
1762
+ } | null;
1763
+ activeRunsAtStart: number | null;
1764
+ exitCode: number | null;
1765
+ outcome: "changed" | "changed_elsewhere" | "not_changed" | "unknown";
1766
+ mutation: "applied" | "none" | "unknown";
1767
+ termination: "confirmed" | "not_applicable" | "unconfirmed";
1768
+ limitations: string[];
1769
+ progress: string[];
1770
+ problem: {
527
1771
  code: string;
528
1772
  message: string;
529
1773
  retryable: boolean;
@@ -532,407 +1776,2007 @@ export declare const ControlHarnessMaintenanceInventory: z.ZodObject<{
532
1776
  evidenceRefs?: string[] | undefined;
533
1777
  context?: Record<string, unknown> | undefined;
534
1778
  } | null;
535
- previous: {
536
- version: string;
537
- operationId: string;
538
- } | null;
539
- operation: {
540
- id: string;
541
- state: string;
542
- phase: string;
543
- targetVersion: string | null;
544
- finishedAt: string | null;
545
- } | null;
546
- observedAt: string;
547
- }[];
548
- }>;
549
- export type ControlHarnessMaintenanceInventory = z.infer<typeof ControlHarnessMaintenanceInventory>;
550
- export declare const ControlHarnessMaintenanceCreateRequest: z.ZodObject<{
551
- harness: z.ZodString;
552
- target: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
553
- kind: z.ZodLiteral<"latest">;
554
- }, "strict", z.ZodTypeAny, {
555
- kind: "latest";
556
- }, {
557
- kind: "latest";
558
- }>, z.ZodObject<{
559
- kind: z.ZodLiteral<"version">;
560
- version: z.ZodString;
561
- }, "strict", z.ZodTypeAny, {
562
- kind: "version";
563
- version: string;
564
- }, {
565
- kind: "version";
566
- version: string;
567
- }>, z.ZodObject<{
568
- kind: z.ZodLiteral<"previous">;
569
- }, "strict", z.ZodTypeAny, {
570
- kind: "previous";
571
- }, {
572
- kind: "previous";
573
- }>, z.ZodObject<{
574
- kind: z.ZodLiteral<"baseline">;
575
- }, "strict", z.ZodTypeAny, {
576
- kind: "baseline";
577
- }, {
578
- kind: "baseline";
579
- }>]>;
1779
+ id: string;
1780
+ harness: string;
1781
+ state: "cancelled" | "failed" | "interrupted" | "queued" | "running" | "succeeded";
1782
+ createdAt: string;
1783
+ startedAt: string | null;
1784
+ finishedAt: string | null;
1785
+ }>>;
1786
+ observedAt: z.ZodString;
580
1787
  }, "strict", z.ZodTypeAny, {
581
1788
  harness: string;
582
- target: {
583
- kind: "latest";
1789
+ selection: {
1790
+ path: string | null;
1791
+ realPath: string | null;
1792
+ version: string | null;
1793
+ versionOutput: string | null;
1794
+ overrideEnv: string | null;
1795
+ overrideValue: string | null;
1796
+ };
1797
+ newest: {
1798
+ status: "not_read";
1799
+ source: string | null;
584
1800
  } | {
585
- kind: "version";
1801
+ status: "available";
1802
+ source: string;
586
1803
  version: string;
1804
+ observedAt: string;
587
1805
  } | {
588
- kind: "previous";
589
- } | {
590
- kind: "baseline";
1806
+ status: "unavailable";
1807
+ source: string | null;
1808
+ observedAt: string;
1809
+ problem: {
1810
+ code: string;
1811
+ message: string;
1812
+ retryable: boolean;
1813
+ fieldErrors: Record<string, string[]>;
1814
+ requiredActions: string[];
1815
+ evidenceRefs: string[];
1816
+ context: Record<string, unknown>;
1817
+ };
1818
+ };
1819
+ updateAvailable: "cannot_tell" | "no" | "yes";
1820
+ releaseNotesUrl: string | null;
1821
+ actions: {
1822
+ install: {
1823
+ available: boolean;
1824
+ reason: string | null;
1825
+ commands: ({
1826
+ kind: "exec";
1827
+ command: string;
1828
+ args: string[];
1829
+ env?: Record<string, string> | undefined;
1830
+ } | {
1831
+ kind: "script";
1832
+ url: string;
1833
+ interpreter: string;
1834
+ interpreterArgs: string[];
1835
+ args: string[];
1836
+ env?: Record<string, string> | undefined;
1837
+ })[];
1838
+ };
1839
+ update: {
1840
+ available: boolean;
1841
+ reason: string | null;
1842
+ commands: ({
1843
+ kind: "exec";
1844
+ command: string;
1845
+ args: string[];
1846
+ env?: Record<string, string> | undefined;
1847
+ } | {
1848
+ kind: "script";
1849
+ url: string;
1850
+ interpreter: string;
1851
+ interpreterArgs: string[];
1852
+ args: string[];
1853
+ env?: Record<string, string> | undefined;
1854
+ })[];
1855
+ };
1856
+ exactVersion: {
1857
+ available: boolean;
1858
+ reason: string | null;
1859
+ commands: ({
1860
+ kind: "exec";
1861
+ command: string;
1862
+ args: string[];
1863
+ env?: Record<string, string> | undefined;
1864
+ } | {
1865
+ kind: "script";
1866
+ url: string;
1867
+ interpreter: string;
1868
+ interpreterArgs: string[];
1869
+ args: string[];
1870
+ env?: Record<string, string> | undefined;
1871
+ })[];
1872
+ };
591
1873
  };
1874
+ operation: {
1875
+ phase: "accepted" | "installing" | "preparing" | "settled";
1876
+ target: {
1877
+ kind: "latest";
1878
+ version: null;
1879
+ } | {
1880
+ kind: "version";
1881
+ version: string;
1882
+ };
1883
+ requester: {
1884
+ source: string;
1885
+ requestId: string | null;
1886
+ };
1887
+ installationHome: string | null;
1888
+ commands: {
1889
+ binary: string;
1890
+ args: string[];
1891
+ env: Record<string, string>;
1892
+ script: {
1893
+ url: string;
1894
+ size: number;
1895
+ sha256: string;
1896
+ } | null;
1897
+ }[];
1898
+ profileCleanup?: {
1899
+ plannedPaths: string[];
1900
+ removedPaths: string[];
1901
+ } | undefined;
1902
+ before: {
1903
+ path: string | null;
1904
+ realPath: string | null;
1905
+ version: string | null;
1906
+ versionOutput: string | null;
1907
+ overrideEnv: string | null;
1908
+ overrideValue: string | null;
1909
+ } | null;
1910
+ after: {
1911
+ path: string | null;
1912
+ realPath: string | null;
1913
+ version: string | null;
1914
+ versionOutput: string | null;
1915
+ overrideEnv: string | null;
1916
+ overrideValue: string | null;
1917
+ } | null;
1918
+ elsewhere: {
1919
+ before: {
1920
+ path: string | null;
1921
+ realPath: string | null;
1922
+ version: string | null;
1923
+ versionOutput: string | null;
1924
+ overrideEnv: string | null;
1925
+ overrideValue: string | null;
1926
+ };
1927
+ after: {
1928
+ path: string | null;
1929
+ realPath: string | null;
1930
+ version: string | null;
1931
+ versionOutput: string | null;
1932
+ overrideEnv: string | null;
1933
+ overrideValue: string | null;
1934
+ };
1935
+ } | null;
1936
+ activeRunsAtStart: number | null;
1937
+ exitCode: number | null;
1938
+ outcome: "changed" | "changed_elsewhere" | "not_changed" | "unknown";
1939
+ mutation: "applied" | "none" | "unknown";
1940
+ termination: "confirmed" | "not_applicable" | "unconfirmed";
1941
+ limitations: string[];
1942
+ progress: string[];
1943
+ problem: {
1944
+ code: string;
1945
+ message: string;
1946
+ retryable: boolean;
1947
+ fieldErrors: Record<string, string[]>;
1948
+ requiredActions: string[];
1949
+ evidenceRefs: string[];
1950
+ context: Record<string, unknown>;
1951
+ } | null;
1952
+ id: string;
1953
+ harness: string;
1954
+ state: "cancelled" | "failed" | "interrupted" | "queued" | "running" | "succeeded";
1955
+ createdAt: string;
1956
+ startedAt: string | null;
1957
+ finishedAt: string | null;
1958
+ } | null;
1959
+ observedAt: string;
592
1960
  }, {
593
1961
  harness: string;
594
- target: {
595
- kind: "latest";
1962
+ selection: {
1963
+ path: string | null;
1964
+ realPath: string | null;
1965
+ version: string | null;
1966
+ versionOutput: string | null;
1967
+ overrideEnv: string | null;
1968
+ overrideValue: string | null;
1969
+ };
1970
+ newest: {
1971
+ status: "not_read";
1972
+ source: string | null;
596
1973
  } | {
597
- kind: "version";
1974
+ status: "available";
1975
+ source: string;
598
1976
  version: string;
1977
+ observedAt: string;
599
1978
  } | {
600
- kind: "previous";
601
- } | {
602
- kind: "baseline";
1979
+ status: "unavailable";
1980
+ source: string | null;
1981
+ observedAt: string;
1982
+ problem: {
1983
+ code: string;
1984
+ message: string;
1985
+ retryable: boolean;
1986
+ fieldErrors?: Record<string, string[]> | undefined;
1987
+ requiredActions?: string[] | undefined;
1988
+ evidenceRefs?: string[] | undefined;
1989
+ context?: Record<string, unknown> | undefined;
1990
+ };
1991
+ };
1992
+ updateAvailable: "cannot_tell" | "no" | "yes";
1993
+ releaseNotesUrl: string | null;
1994
+ actions: {
1995
+ install: {
1996
+ available: boolean;
1997
+ reason: string | null;
1998
+ commands: ({
1999
+ kind: "exec";
2000
+ command: string;
2001
+ args: string[];
2002
+ env?: Record<string, string> | undefined;
2003
+ } | {
2004
+ kind: "script";
2005
+ url: string;
2006
+ interpreter: string;
2007
+ interpreterArgs: string[];
2008
+ args: string[];
2009
+ env?: Record<string, string> | undefined;
2010
+ })[];
2011
+ };
2012
+ update: {
2013
+ available: boolean;
2014
+ reason: string | null;
2015
+ commands: ({
2016
+ kind: "exec";
2017
+ command: string;
2018
+ args: string[];
2019
+ env?: Record<string, string> | undefined;
2020
+ } | {
2021
+ kind: "script";
2022
+ url: string;
2023
+ interpreter: string;
2024
+ interpreterArgs: string[];
2025
+ args: string[];
2026
+ env?: Record<string, string> | undefined;
2027
+ })[];
2028
+ };
2029
+ exactVersion: {
2030
+ available: boolean;
2031
+ reason: string | null;
2032
+ commands: ({
2033
+ kind: "exec";
2034
+ command: string;
2035
+ args: string[];
2036
+ env?: Record<string, string> | undefined;
2037
+ } | {
2038
+ kind: "script";
2039
+ url: string;
2040
+ interpreter: string;
2041
+ interpreterArgs: string[];
2042
+ args: string[];
2043
+ env?: Record<string, string> | undefined;
2044
+ })[];
2045
+ };
603
2046
  };
2047
+ operation: {
2048
+ phase: "accepted" | "installing" | "preparing" | "settled";
2049
+ target: {
2050
+ kind: "latest";
2051
+ version: null;
2052
+ } | {
2053
+ kind: "version";
2054
+ version: string;
2055
+ };
2056
+ requester: {
2057
+ source: string;
2058
+ requestId: string | null;
2059
+ };
2060
+ installationHome: string | null;
2061
+ commands: {
2062
+ binary: string;
2063
+ args: string[];
2064
+ env: Record<string, string>;
2065
+ script: {
2066
+ url: string;
2067
+ size: number;
2068
+ sha256: string;
2069
+ } | null;
2070
+ }[];
2071
+ profileCleanup?: {
2072
+ plannedPaths: string[];
2073
+ removedPaths: string[];
2074
+ } | undefined;
2075
+ before: {
2076
+ path: string | null;
2077
+ realPath: string | null;
2078
+ version: string | null;
2079
+ versionOutput: string | null;
2080
+ overrideEnv: string | null;
2081
+ overrideValue: string | null;
2082
+ } | null;
2083
+ after: {
2084
+ path: string | null;
2085
+ realPath: string | null;
2086
+ version: string | null;
2087
+ versionOutput: string | null;
2088
+ overrideEnv: string | null;
2089
+ overrideValue: string | null;
2090
+ } | null;
2091
+ elsewhere: {
2092
+ before: {
2093
+ path: string | null;
2094
+ realPath: string | null;
2095
+ version: string | null;
2096
+ versionOutput: string | null;
2097
+ overrideEnv: string | null;
2098
+ overrideValue: string | null;
2099
+ };
2100
+ after: {
2101
+ path: string | null;
2102
+ realPath: string | null;
2103
+ version: string | null;
2104
+ versionOutput: string | null;
2105
+ overrideEnv: string | null;
2106
+ overrideValue: string | null;
2107
+ };
2108
+ } | null;
2109
+ activeRunsAtStart: number | null;
2110
+ exitCode: number | null;
2111
+ outcome: "changed" | "changed_elsewhere" | "not_changed" | "unknown";
2112
+ mutation: "applied" | "none" | "unknown";
2113
+ termination: "confirmed" | "not_applicable" | "unconfirmed";
2114
+ limitations: string[];
2115
+ progress: string[];
2116
+ problem: {
2117
+ code: string;
2118
+ message: string;
2119
+ retryable: boolean;
2120
+ fieldErrors?: Record<string, string[]> | undefined;
2121
+ requiredActions?: string[] | undefined;
2122
+ evidenceRefs?: string[] | undefined;
2123
+ context?: Record<string, unknown> | undefined;
2124
+ } | null;
2125
+ id: string;
2126
+ harness: string;
2127
+ state: "cancelled" | "failed" | "interrupted" | "queued" | "running" | "succeeded";
2128
+ createdAt: string;
2129
+ startedAt: string | null;
2130
+ finishedAt: string | null;
2131
+ } | null;
2132
+ observedAt: string;
604
2133
  }>;
605
- export type ControlHarnessMaintenanceCreateRequest = z.infer<typeof ControlHarnessMaintenanceCreateRequest>;
606
- /** Durable command params; `target.version` is bound at acceptance for
607
- * previous/baseline/version and stays null for latest until execution. */
608
- export declare const HarnessMaintenanceParams: z.ZodObject<{
609
- kind: z.ZodLiteral<"harness_maintenance">;
610
- harness: z.ZodString;
611
- target: z.ZodObject<{
612
- kind: z.ZodEnum<["latest", "version", "previous", "baseline"]>;
613
- version: z.ZodNullable<z.ZodString>;
2134
+ export type HarnessMaintenanceEntry = z.infer<typeof HarnessMaintenanceEntry>;
2135
+ export declare const ControlHarnessMaintenanceInventory: z.ZodObject<{
2136
+ observedAt: z.ZodString;
2137
+ harnesses: z.ZodArray<z.ZodObject<{
2138
+ harness: z.ZodString;
2139
+ selection: z.ZodObject<{
2140
+ path: z.ZodNullable<z.ZodString>;
2141
+ realPath: z.ZodNullable<z.ZodString>;
2142
+ version: z.ZodNullable<z.ZodString>;
2143
+ versionOutput: z.ZodNullable<z.ZodString>;
2144
+ overrideEnv: z.ZodNullable<z.ZodString>;
2145
+ overrideValue: z.ZodNullable<z.ZodString>;
2146
+ }, "strict", z.ZodTypeAny, {
2147
+ path: string | null;
2148
+ realPath: string | null;
2149
+ version: string | null;
2150
+ versionOutput: string | null;
2151
+ overrideEnv: string | null;
2152
+ overrideValue: string | null;
2153
+ }, {
2154
+ path: string | null;
2155
+ realPath: string | null;
2156
+ version: string | null;
2157
+ versionOutput: string | null;
2158
+ overrideEnv: string | null;
2159
+ overrideValue: string | null;
2160
+ }>;
2161
+ newest: z.ZodDiscriminatedUnion<"status", [z.ZodObject<{
2162
+ status: z.ZodLiteral<"not_read">;
2163
+ source: z.ZodNullable<z.ZodString>;
2164
+ }, "strict", z.ZodTypeAny, {
2165
+ status: "not_read";
2166
+ source: string | null;
2167
+ }, {
2168
+ status: "not_read";
2169
+ source: string | null;
2170
+ }>, z.ZodObject<{
2171
+ status: z.ZodLiteral<"available">;
2172
+ source: z.ZodString;
2173
+ version: z.ZodString;
2174
+ observedAt: z.ZodString;
2175
+ }, "strict", z.ZodTypeAny, {
2176
+ status: "available";
2177
+ source: string;
2178
+ version: string;
2179
+ observedAt: string;
2180
+ }, {
2181
+ status: "available";
2182
+ source: string;
2183
+ version: string;
2184
+ observedAt: string;
2185
+ }>, z.ZodObject<{
2186
+ status: z.ZodLiteral<"unavailable">;
2187
+ source: z.ZodNullable<z.ZodString>;
2188
+ observedAt: z.ZodString;
2189
+ problem: z.ZodObject<{
2190
+ code: z.ZodString;
2191
+ message: z.ZodString;
2192
+ retryable: z.ZodBoolean;
2193
+ fieldErrors: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
2194
+ requiredActions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
2195
+ evidenceRefs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
2196
+ context: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2197
+ }, "strict", z.ZodTypeAny, {
2198
+ code: string;
2199
+ message: string;
2200
+ retryable: boolean;
2201
+ fieldErrors: Record<string, string[]>;
2202
+ requiredActions: string[];
2203
+ evidenceRefs: string[];
2204
+ context: Record<string, unknown>;
2205
+ }, {
2206
+ code: string;
2207
+ message: string;
2208
+ retryable: boolean;
2209
+ fieldErrors?: Record<string, string[]> | undefined;
2210
+ requiredActions?: string[] | undefined;
2211
+ evidenceRefs?: string[] | undefined;
2212
+ context?: Record<string, unknown> | undefined;
2213
+ }>;
2214
+ }, "strict", z.ZodTypeAny, {
2215
+ status: "unavailable";
2216
+ source: string | null;
2217
+ observedAt: string;
2218
+ problem: {
2219
+ code: string;
2220
+ message: string;
2221
+ retryable: boolean;
2222
+ fieldErrors: Record<string, string[]>;
2223
+ requiredActions: string[];
2224
+ evidenceRefs: string[];
2225
+ context: Record<string, unknown>;
2226
+ };
2227
+ }, {
2228
+ status: "unavailable";
2229
+ source: string | null;
2230
+ observedAt: string;
2231
+ problem: {
2232
+ code: string;
2233
+ message: string;
2234
+ retryable: boolean;
2235
+ fieldErrors?: Record<string, string[]> | undefined;
2236
+ requiredActions?: string[] | undefined;
2237
+ evidenceRefs?: string[] | undefined;
2238
+ context?: Record<string, unknown> | undefined;
2239
+ };
2240
+ }>]>;
2241
+ updateAvailable: z.ZodEnum<["yes", "no", "cannot_tell"]>;
2242
+ releaseNotesUrl: z.ZodNullable<z.ZodString>;
2243
+ actions: z.ZodObject<{
2244
+ install: z.ZodObject<{
2245
+ available: z.ZodBoolean;
2246
+ reason: z.ZodNullable<z.ZodString>;
2247
+ /** Display only. {version} is user input; {installedProgram} is resolved after installation. */
2248
+ commands: z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
2249
+ kind: z.ZodLiteral<"exec">;
2250
+ command: z.ZodString;
2251
+ args: z.ZodArray<z.ZodString, "many">;
2252
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2253
+ }, "strict", z.ZodTypeAny, {
2254
+ kind: "exec";
2255
+ command: string;
2256
+ args: string[];
2257
+ env?: Record<string, string> | undefined;
2258
+ }, {
2259
+ kind: "exec";
2260
+ command: string;
2261
+ args: string[];
2262
+ env?: Record<string, string> | undefined;
2263
+ }>, z.ZodObject<{
2264
+ kind: z.ZodLiteral<"script">;
2265
+ url: z.ZodString;
2266
+ interpreter: z.ZodString;
2267
+ interpreterArgs: z.ZodArray<z.ZodString, "many">;
2268
+ args: z.ZodArray<z.ZodString, "many">;
2269
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2270
+ }, "strict", z.ZodTypeAny, {
2271
+ kind: "script";
2272
+ url: string;
2273
+ interpreter: string;
2274
+ interpreterArgs: string[];
2275
+ args: string[];
2276
+ env?: Record<string, string> | undefined;
2277
+ }, {
2278
+ kind: "script";
2279
+ url: string;
2280
+ interpreter: string;
2281
+ interpreterArgs: string[];
2282
+ args: string[];
2283
+ env?: Record<string, string> | undefined;
2284
+ }>]>, "many">;
2285
+ }, "strict", z.ZodTypeAny, {
2286
+ available: boolean;
2287
+ reason: string | null;
2288
+ commands: ({
2289
+ kind: "exec";
2290
+ command: string;
2291
+ args: string[];
2292
+ env?: Record<string, string> | undefined;
2293
+ } | {
2294
+ kind: "script";
2295
+ url: string;
2296
+ interpreter: string;
2297
+ interpreterArgs: string[];
2298
+ args: string[];
2299
+ env?: Record<string, string> | undefined;
2300
+ })[];
2301
+ }, {
2302
+ available: boolean;
2303
+ reason: string | null;
2304
+ commands: ({
2305
+ kind: "exec";
2306
+ command: string;
2307
+ args: string[];
2308
+ env?: Record<string, string> | undefined;
2309
+ } | {
2310
+ kind: "script";
2311
+ url: string;
2312
+ interpreter: string;
2313
+ interpreterArgs: string[];
2314
+ args: string[];
2315
+ env?: Record<string, string> | undefined;
2316
+ })[];
2317
+ }>;
2318
+ update: z.ZodObject<{
2319
+ available: z.ZodBoolean;
2320
+ reason: z.ZodNullable<z.ZodString>;
2321
+ /** Display only. {version} is user input; {installedProgram} is resolved after installation. */
2322
+ commands: z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
2323
+ kind: z.ZodLiteral<"exec">;
2324
+ command: z.ZodString;
2325
+ args: z.ZodArray<z.ZodString, "many">;
2326
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2327
+ }, "strict", z.ZodTypeAny, {
2328
+ kind: "exec";
2329
+ command: string;
2330
+ args: string[];
2331
+ env?: Record<string, string> | undefined;
2332
+ }, {
2333
+ kind: "exec";
2334
+ command: string;
2335
+ args: string[];
2336
+ env?: Record<string, string> | undefined;
2337
+ }>, z.ZodObject<{
2338
+ kind: z.ZodLiteral<"script">;
2339
+ url: z.ZodString;
2340
+ interpreter: z.ZodString;
2341
+ interpreterArgs: z.ZodArray<z.ZodString, "many">;
2342
+ args: z.ZodArray<z.ZodString, "many">;
2343
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2344
+ }, "strict", z.ZodTypeAny, {
2345
+ kind: "script";
2346
+ url: string;
2347
+ interpreter: string;
2348
+ interpreterArgs: string[];
2349
+ args: string[];
2350
+ env?: Record<string, string> | undefined;
2351
+ }, {
2352
+ kind: "script";
2353
+ url: string;
2354
+ interpreter: string;
2355
+ interpreterArgs: string[];
2356
+ args: string[];
2357
+ env?: Record<string, string> | undefined;
2358
+ }>]>, "many">;
2359
+ }, "strict", z.ZodTypeAny, {
2360
+ available: boolean;
2361
+ reason: string | null;
2362
+ commands: ({
2363
+ kind: "exec";
2364
+ command: string;
2365
+ args: string[];
2366
+ env?: Record<string, string> | undefined;
2367
+ } | {
2368
+ kind: "script";
2369
+ url: string;
2370
+ interpreter: string;
2371
+ interpreterArgs: string[];
2372
+ args: string[];
2373
+ env?: Record<string, string> | undefined;
2374
+ })[];
2375
+ }, {
2376
+ available: boolean;
2377
+ reason: string | null;
2378
+ commands: ({
2379
+ kind: "exec";
2380
+ command: string;
2381
+ args: string[];
2382
+ env?: Record<string, string> | undefined;
2383
+ } | {
2384
+ kind: "script";
2385
+ url: string;
2386
+ interpreter: string;
2387
+ interpreterArgs: string[];
2388
+ args: string[];
2389
+ env?: Record<string, string> | undefined;
2390
+ })[];
2391
+ }>;
2392
+ exactVersion: z.ZodObject<{
2393
+ available: z.ZodBoolean;
2394
+ reason: z.ZodNullable<z.ZodString>;
2395
+ /** Display only. {version} is user input; {installedProgram} is resolved after installation. */
2396
+ commands: z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
2397
+ kind: z.ZodLiteral<"exec">;
2398
+ command: z.ZodString;
2399
+ args: z.ZodArray<z.ZodString, "many">;
2400
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2401
+ }, "strict", z.ZodTypeAny, {
2402
+ kind: "exec";
2403
+ command: string;
2404
+ args: string[];
2405
+ env?: Record<string, string> | undefined;
2406
+ }, {
2407
+ kind: "exec";
2408
+ command: string;
2409
+ args: string[];
2410
+ env?: Record<string, string> | undefined;
2411
+ }>, z.ZodObject<{
2412
+ kind: z.ZodLiteral<"script">;
2413
+ url: z.ZodString;
2414
+ interpreter: z.ZodString;
2415
+ interpreterArgs: z.ZodArray<z.ZodString, "many">;
2416
+ args: z.ZodArray<z.ZodString, "many">;
2417
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2418
+ }, "strict", z.ZodTypeAny, {
2419
+ kind: "script";
2420
+ url: string;
2421
+ interpreter: string;
2422
+ interpreterArgs: string[];
2423
+ args: string[];
2424
+ env?: Record<string, string> | undefined;
2425
+ }, {
2426
+ kind: "script";
2427
+ url: string;
2428
+ interpreter: string;
2429
+ interpreterArgs: string[];
2430
+ args: string[];
2431
+ env?: Record<string, string> | undefined;
2432
+ }>]>, "many">;
2433
+ }, "strict", z.ZodTypeAny, {
2434
+ available: boolean;
2435
+ reason: string | null;
2436
+ commands: ({
2437
+ kind: "exec";
2438
+ command: string;
2439
+ args: string[];
2440
+ env?: Record<string, string> | undefined;
2441
+ } | {
2442
+ kind: "script";
2443
+ url: string;
2444
+ interpreter: string;
2445
+ interpreterArgs: string[];
2446
+ args: string[];
2447
+ env?: Record<string, string> | undefined;
2448
+ })[];
2449
+ }, {
2450
+ available: boolean;
2451
+ reason: string | null;
2452
+ commands: ({
2453
+ kind: "exec";
2454
+ command: string;
2455
+ args: string[];
2456
+ env?: Record<string, string> | undefined;
2457
+ } | {
2458
+ kind: "script";
2459
+ url: string;
2460
+ interpreter: string;
2461
+ interpreterArgs: string[];
2462
+ args: string[];
2463
+ env?: Record<string, string> | undefined;
2464
+ })[];
2465
+ }>;
2466
+ }, "strict", z.ZodTypeAny, {
2467
+ install: {
2468
+ available: boolean;
2469
+ reason: string | null;
2470
+ commands: ({
2471
+ kind: "exec";
2472
+ command: string;
2473
+ args: string[];
2474
+ env?: Record<string, string> | undefined;
2475
+ } | {
2476
+ kind: "script";
2477
+ url: string;
2478
+ interpreter: string;
2479
+ interpreterArgs: string[];
2480
+ args: string[];
2481
+ env?: Record<string, string> | undefined;
2482
+ })[];
2483
+ };
2484
+ update: {
2485
+ available: boolean;
2486
+ reason: string | null;
2487
+ commands: ({
2488
+ kind: "exec";
2489
+ command: string;
2490
+ args: string[];
2491
+ env?: Record<string, string> | undefined;
2492
+ } | {
2493
+ kind: "script";
2494
+ url: string;
2495
+ interpreter: string;
2496
+ interpreterArgs: string[];
2497
+ args: string[];
2498
+ env?: Record<string, string> | undefined;
2499
+ })[];
2500
+ };
2501
+ exactVersion: {
2502
+ available: boolean;
2503
+ reason: string | null;
2504
+ commands: ({
2505
+ kind: "exec";
2506
+ command: string;
2507
+ args: string[];
2508
+ env?: Record<string, string> | undefined;
2509
+ } | {
2510
+ kind: "script";
2511
+ url: string;
2512
+ interpreter: string;
2513
+ interpreterArgs: string[];
2514
+ args: string[];
2515
+ env?: Record<string, string> | undefined;
2516
+ })[];
2517
+ };
2518
+ }, {
2519
+ install: {
2520
+ available: boolean;
2521
+ reason: string | null;
2522
+ commands: ({
2523
+ kind: "exec";
2524
+ command: string;
2525
+ args: string[];
2526
+ env?: Record<string, string> | undefined;
2527
+ } | {
2528
+ kind: "script";
2529
+ url: string;
2530
+ interpreter: string;
2531
+ interpreterArgs: string[];
2532
+ args: string[];
2533
+ env?: Record<string, string> | undefined;
2534
+ })[];
2535
+ };
2536
+ update: {
2537
+ available: boolean;
2538
+ reason: string | null;
2539
+ commands: ({
2540
+ kind: "exec";
2541
+ command: string;
2542
+ args: string[];
2543
+ env?: Record<string, string> | undefined;
2544
+ } | {
2545
+ kind: "script";
2546
+ url: string;
2547
+ interpreter: string;
2548
+ interpreterArgs: string[];
2549
+ args: string[];
2550
+ env?: Record<string, string> | undefined;
2551
+ })[];
2552
+ };
2553
+ exactVersion: {
2554
+ available: boolean;
2555
+ reason: string | null;
2556
+ commands: ({
2557
+ kind: "exec";
2558
+ command: string;
2559
+ args: string[];
2560
+ env?: Record<string, string> | undefined;
2561
+ } | {
2562
+ kind: "script";
2563
+ url: string;
2564
+ interpreter: string;
2565
+ interpreterArgs: string[];
2566
+ args: string[];
2567
+ env?: Record<string, string> | undefined;
2568
+ })[];
2569
+ };
2570
+ }>;
2571
+ operation: z.ZodNullable<z.ZodObject<{
2572
+ phase: z.ZodEnum<["accepted", "preparing", "installing", "settled"]>;
2573
+ target: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
2574
+ kind: z.ZodLiteral<"latest">;
2575
+ version: z.ZodNull;
2576
+ }, "strict", z.ZodTypeAny, {
2577
+ kind: "latest";
2578
+ version: null;
2579
+ }, {
2580
+ kind: "latest";
2581
+ version: null;
2582
+ }>, z.ZodObject<{
2583
+ kind: z.ZodLiteral<"version">;
2584
+ version: z.ZodString;
2585
+ }, "strict", z.ZodTypeAny, {
2586
+ kind: "version";
2587
+ version: string;
2588
+ }, {
2589
+ kind: "version";
2590
+ version: string;
2591
+ }>]>;
2592
+ requester: z.ZodObject<{
2593
+ source: z.ZodString;
2594
+ requestId: z.ZodNullable<z.ZodString>;
2595
+ }, "strict", z.ZodTypeAny, {
2596
+ source: string;
2597
+ requestId: string | null;
2598
+ }, {
2599
+ source: string;
2600
+ requestId: string | null;
2601
+ }>;
2602
+ installationHome: z.ZodNullable<z.ZodString>;
2603
+ commands: z.ZodArray<z.ZodObject<{
2604
+ binary: z.ZodString;
2605
+ args: z.ZodArray<z.ZodString, "many">;
2606
+ env: z.ZodRecord<z.ZodString, z.ZodString>;
2607
+ script: z.ZodNullable<z.ZodObject<{
2608
+ url: z.ZodString;
2609
+ size: z.ZodNumber;
2610
+ sha256: z.ZodString;
2611
+ }, "strict", z.ZodTypeAny, {
2612
+ url: string;
2613
+ size: number;
2614
+ sha256: string;
2615
+ }, {
2616
+ url: string;
2617
+ size: number;
2618
+ sha256: string;
2619
+ }>>;
2620
+ }, "strict", z.ZodTypeAny, {
2621
+ binary: string;
2622
+ args: string[];
2623
+ env: Record<string, string>;
2624
+ script: {
2625
+ url: string;
2626
+ size: number;
2627
+ sha256: string;
2628
+ } | null;
2629
+ }, {
2630
+ binary: string;
2631
+ args: string[];
2632
+ env: Record<string, string>;
2633
+ script: {
2634
+ url: string;
2635
+ size: number;
2636
+ sha256: string;
2637
+ } | null;
2638
+ }>, "many">;
2639
+ profileCleanup: z.ZodOptional<z.ZodObject<{
2640
+ plannedPaths: z.ZodArray<z.ZodString, "many">;
2641
+ removedPaths: z.ZodArray<z.ZodString, "many">;
2642
+ }, "strict", z.ZodTypeAny, {
2643
+ plannedPaths: string[];
2644
+ removedPaths: string[];
2645
+ }, {
2646
+ plannedPaths: string[];
2647
+ removedPaths: string[];
2648
+ }>>;
2649
+ before: z.ZodNullable<z.ZodObject<{
2650
+ path: z.ZodNullable<z.ZodString>;
2651
+ realPath: z.ZodNullable<z.ZodString>;
2652
+ version: z.ZodNullable<z.ZodString>;
2653
+ versionOutput: z.ZodNullable<z.ZodString>;
2654
+ overrideEnv: z.ZodNullable<z.ZodString>;
2655
+ overrideValue: z.ZodNullable<z.ZodString>;
2656
+ }, "strict", z.ZodTypeAny, {
2657
+ path: string | null;
2658
+ realPath: string | null;
2659
+ version: string | null;
2660
+ versionOutput: string | null;
2661
+ overrideEnv: string | null;
2662
+ overrideValue: string | null;
2663
+ }, {
2664
+ path: string | null;
2665
+ realPath: string | null;
2666
+ version: string | null;
2667
+ versionOutput: string | null;
2668
+ overrideEnv: string | null;
2669
+ overrideValue: string | null;
2670
+ }>>;
2671
+ after: z.ZodNullable<z.ZodObject<{
2672
+ path: z.ZodNullable<z.ZodString>;
2673
+ realPath: z.ZodNullable<z.ZodString>;
2674
+ version: z.ZodNullable<z.ZodString>;
2675
+ versionOutput: z.ZodNullable<z.ZodString>;
2676
+ overrideEnv: z.ZodNullable<z.ZodString>;
2677
+ overrideValue: z.ZodNullable<z.ZodString>;
2678
+ }, "strict", z.ZodTypeAny, {
2679
+ path: string | null;
2680
+ realPath: string | null;
2681
+ version: string | null;
2682
+ versionOutput: string | null;
2683
+ overrideEnv: string | null;
2684
+ overrideValue: string | null;
2685
+ }, {
2686
+ path: string | null;
2687
+ realPath: string | null;
2688
+ version: string | null;
2689
+ versionOutput: string | null;
2690
+ overrideEnv: string | null;
2691
+ overrideValue: string | null;
2692
+ }>>;
2693
+ elsewhere: z.ZodNullable<z.ZodObject<{
2694
+ before: z.ZodObject<{
2695
+ path: z.ZodNullable<z.ZodString>;
2696
+ realPath: z.ZodNullable<z.ZodString>;
2697
+ version: z.ZodNullable<z.ZodString>;
2698
+ versionOutput: z.ZodNullable<z.ZodString>;
2699
+ overrideEnv: z.ZodNullable<z.ZodString>;
2700
+ overrideValue: z.ZodNullable<z.ZodString>;
2701
+ }, "strict", z.ZodTypeAny, {
2702
+ path: string | null;
2703
+ realPath: string | null;
2704
+ version: string | null;
2705
+ versionOutput: string | null;
2706
+ overrideEnv: string | null;
2707
+ overrideValue: string | null;
2708
+ }, {
2709
+ path: string | null;
2710
+ realPath: string | null;
2711
+ version: string | null;
2712
+ versionOutput: string | null;
2713
+ overrideEnv: string | null;
2714
+ overrideValue: string | null;
2715
+ }>;
2716
+ after: z.ZodObject<{
2717
+ path: z.ZodNullable<z.ZodString>;
2718
+ realPath: z.ZodNullable<z.ZodString>;
2719
+ version: z.ZodNullable<z.ZodString>;
2720
+ versionOutput: z.ZodNullable<z.ZodString>;
2721
+ overrideEnv: z.ZodNullable<z.ZodString>;
2722
+ overrideValue: z.ZodNullable<z.ZodString>;
2723
+ }, "strict", z.ZodTypeAny, {
2724
+ path: string | null;
2725
+ realPath: string | null;
2726
+ version: string | null;
2727
+ versionOutput: string | null;
2728
+ overrideEnv: string | null;
2729
+ overrideValue: string | null;
2730
+ }, {
2731
+ path: string | null;
2732
+ realPath: string | null;
2733
+ version: string | null;
2734
+ versionOutput: string | null;
2735
+ overrideEnv: string | null;
2736
+ overrideValue: string | null;
2737
+ }>;
2738
+ }, "strict", z.ZodTypeAny, {
2739
+ before: {
2740
+ path: string | null;
2741
+ realPath: string | null;
2742
+ version: string | null;
2743
+ versionOutput: string | null;
2744
+ overrideEnv: string | null;
2745
+ overrideValue: string | null;
2746
+ };
2747
+ after: {
2748
+ path: string | null;
2749
+ realPath: string | null;
2750
+ version: string | null;
2751
+ versionOutput: string | null;
2752
+ overrideEnv: string | null;
2753
+ overrideValue: string | null;
2754
+ };
2755
+ }, {
2756
+ before: {
2757
+ path: string | null;
2758
+ realPath: string | null;
2759
+ version: string | null;
2760
+ versionOutput: string | null;
2761
+ overrideEnv: string | null;
2762
+ overrideValue: string | null;
2763
+ };
2764
+ after: {
2765
+ path: string | null;
2766
+ realPath: string | null;
2767
+ version: string | null;
2768
+ versionOutput: string | null;
2769
+ overrideEnv: string | null;
2770
+ overrideValue: string | null;
2771
+ };
2772
+ }>>;
2773
+ activeRunsAtStart: z.ZodNullable<z.ZodNumber>;
2774
+ exitCode: z.ZodNullable<z.ZodNumber>;
2775
+ outcome: z.ZodEnum<["changed", "not_changed", "changed_elsewhere", "unknown"]>;
2776
+ mutation: z.ZodEnum<["none", "applied", "unknown"]>;
2777
+ termination: z.ZodEnum<["not_applicable", "confirmed", "unconfirmed"]>;
2778
+ limitations: z.ZodArray<z.ZodString, "many">;
2779
+ progress: z.ZodArray<z.ZodString, "many">;
2780
+ problem: z.ZodNullable<z.ZodObject<{
2781
+ code: z.ZodString;
2782
+ message: z.ZodString;
2783
+ retryable: z.ZodBoolean;
2784
+ fieldErrors: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
2785
+ requiredActions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
2786
+ evidenceRefs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
2787
+ context: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2788
+ }, "strict", z.ZodTypeAny, {
2789
+ code: string;
2790
+ message: string;
2791
+ retryable: boolean;
2792
+ fieldErrors: Record<string, string[]>;
2793
+ requiredActions: string[];
2794
+ evidenceRefs: string[];
2795
+ context: Record<string, unknown>;
2796
+ }, {
2797
+ code: string;
2798
+ message: string;
2799
+ retryable: boolean;
2800
+ fieldErrors?: Record<string, string[]> | undefined;
2801
+ requiredActions?: string[] | undefined;
2802
+ evidenceRefs?: string[] | undefined;
2803
+ context?: Record<string, unknown> | undefined;
2804
+ }>>;
2805
+ } & {
2806
+ id: z.ZodString;
2807
+ harness: z.ZodString;
2808
+ state: z.ZodEnum<["queued", "running", "succeeded", "failed", "cancelled", "interrupted"]>;
2809
+ createdAt: z.ZodString;
2810
+ startedAt: z.ZodNullable<z.ZodString>;
2811
+ finishedAt: z.ZodNullable<z.ZodString>;
2812
+ }, "strict", z.ZodTypeAny, {
2813
+ phase: "accepted" | "installing" | "preparing" | "settled";
2814
+ target: {
2815
+ kind: "latest";
2816
+ version: null;
2817
+ } | {
2818
+ kind: "version";
2819
+ version: string;
2820
+ };
2821
+ requester: {
2822
+ source: string;
2823
+ requestId: string | null;
2824
+ };
2825
+ installationHome: string | null;
2826
+ commands: {
2827
+ binary: string;
2828
+ args: string[];
2829
+ env: Record<string, string>;
2830
+ script: {
2831
+ url: string;
2832
+ size: number;
2833
+ sha256: string;
2834
+ } | null;
2835
+ }[];
2836
+ profileCleanup?: {
2837
+ plannedPaths: string[];
2838
+ removedPaths: string[];
2839
+ } | undefined;
2840
+ before: {
2841
+ path: string | null;
2842
+ realPath: string | null;
2843
+ version: string | null;
2844
+ versionOutput: string | null;
2845
+ overrideEnv: string | null;
2846
+ overrideValue: string | null;
2847
+ } | null;
2848
+ after: {
2849
+ path: string | null;
2850
+ realPath: string | null;
2851
+ version: string | null;
2852
+ versionOutput: string | null;
2853
+ overrideEnv: string | null;
2854
+ overrideValue: string | null;
2855
+ } | null;
2856
+ elsewhere: {
2857
+ before: {
2858
+ path: string | null;
2859
+ realPath: string | null;
2860
+ version: string | null;
2861
+ versionOutput: string | null;
2862
+ overrideEnv: string | null;
2863
+ overrideValue: string | null;
2864
+ };
2865
+ after: {
2866
+ path: string | null;
2867
+ realPath: string | null;
2868
+ version: string | null;
2869
+ versionOutput: string | null;
2870
+ overrideEnv: string | null;
2871
+ overrideValue: string | null;
2872
+ };
2873
+ } | null;
2874
+ activeRunsAtStart: number | null;
2875
+ exitCode: number | null;
2876
+ outcome: "changed" | "changed_elsewhere" | "not_changed" | "unknown";
2877
+ mutation: "applied" | "none" | "unknown";
2878
+ termination: "confirmed" | "not_applicable" | "unconfirmed";
2879
+ limitations: string[];
2880
+ progress: string[];
2881
+ problem: {
2882
+ code: string;
2883
+ message: string;
2884
+ retryable: boolean;
2885
+ fieldErrors: Record<string, string[]>;
2886
+ requiredActions: string[];
2887
+ evidenceRefs: string[];
2888
+ context: Record<string, unknown>;
2889
+ } | null;
2890
+ id: string;
2891
+ harness: string;
2892
+ state: "cancelled" | "failed" | "interrupted" | "queued" | "running" | "succeeded";
2893
+ createdAt: string;
2894
+ startedAt: string | null;
2895
+ finishedAt: string | null;
2896
+ }, {
2897
+ phase: "accepted" | "installing" | "preparing" | "settled";
2898
+ target: {
2899
+ kind: "latest";
2900
+ version: null;
2901
+ } | {
2902
+ kind: "version";
2903
+ version: string;
2904
+ };
2905
+ requester: {
2906
+ source: string;
2907
+ requestId: string | null;
2908
+ };
2909
+ installationHome: string | null;
2910
+ commands: {
2911
+ binary: string;
2912
+ args: string[];
2913
+ env: Record<string, string>;
2914
+ script: {
2915
+ url: string;
2916
+ size: number;
2917
+ sha256: string;
2918
+ } | null;
2919
+ }[];
2920
+ profileCleanup?: {
2921
+ plannedPaths: string[];
2922
+ removedPaths: string[];
2923
+ } | undefined;
2924
+ before: {
2925
+ path: string | null;
2926
+ realPath: string | null;
2927
+ version: string | null;
2928
+ versionOutput: string | null;
2929
+ overrideEnv: string | null;
2930
+ overrideValue: string | null;
2931
+ } | null;
2932
+ after: {
2933
+ path: string | null;
2934
+ realPath: string | null;
2935
+ version: string | null;
2936
+ versionOutput: string | null;
2937
+ overrideEnv: string | null;
2938
+ overrideValue: string | null;
2939
+ } | null;
2940
+ elsewhere: {
2941
+ before: {
2942
+ path: string | null;
2943
+ realPath: string | null;
2944
+ version: string | null;
2945
+ versionOutput: string | null;
2946
+ overrideEnv: string | null;
2947
+ overrideValue: string | null;
2948
+ };
2949
+ after: {
2950
+ path: string | null;
2951
+ realPath: string | null;
2952
+ version: string | null;
2953
+ versionOutput: string | null;
2954
+ overrideEnv: string | null;
2955
+ overrideValue: string | null;
2956
+ };
2957
+ } | null;
2958
+ activeRunsAtStart: number | null;
2959
+ exitCode: number | null;
2960
+ outcome: "changed" | "changed_elsewhere" | "not_changed" | "unknown";
2961
+ mutation: "applied" | "none" | "unknown";
2962
+ termination: "confirmed" | "not_applicable" | "unconfirmed";
2963
+ limitations: string[];
2964
+ progress: string[];
2965
+ problem: {
2966
+ code: string;
2967
+ message: string;
2968
+ retryable: boolean;
2969
+ fieldErrors?: Record<string, string[]> | undefined;
2970
+ requiredActions?: string[] | undefined;
2971
+ evidenceRefs?: string[] | undefined;
2972
+ context?: Record<string, unknown> | undefined;
2973
+ } | null;
2974
+ id: string;
2975
+ harness: string;
2976
+ state: "cancelled" | "failed" | "interrupted" | "queued" | "running" | "succeeded";
2977
+ createdAt: string;
2978
+ startedAt: string | null;
2979
+ finishedAt: string | null;
2980
+ }>>;
2981
+ observedAt: z.ZodString;
614
2982
  }, "strict", z.ZodTypeAny, {
615
- kind: "baseline" | "latest" | "previous" | "version";
616
- version: string | null;
2983
+ harness: string;
2984
+ selection: {
2985
+ path: string | null;
2986
+ realPath: string | null;
2987
+ version: string | null;
2988
+ versionOutput: string | null;
2989
+ overrideEnv: string | null;
2990
+ overrideValue: string | null;
2991
+ };
2992
+ newest: {
2993
+ status: "not_read";
2994
+ source: string | null;
2995
+ } | {
2996
+ status: "available";
2997
+ source: string;
2998
+ version: string;
2999
+ observedAt: string;
3000
+ } | {
3001
+ status: "unavailable";
3002
+ source: string | null;
3003
+ observedAt: string;
3004
+ problem: {
3005
+ code: string;
3006
+ message: string;
3007
+ retryable: boolean;
3008
+ fieldErrors: Record<string, string[]>;
3009
+ requiredActions: string[];
3010
+ evidenceRefs: string[];
3011
+ context: Record<string, unknown>;
3012
+ };
3013
+ };
3014
+ updateAvailable: "cannot_tell" | "no" | "yes";
3015
+ releaseNotesUrl: string | null;
3016
+ actions: {
3017
+ install: {
3018
+ available: boolean;
3019
+ reason: string | null;
3020
+ commands: ({
3021
+ kind: "exec";
3022
+ command: string;
3023
+ args: string[];
3024
+ env?: Record<string, string> | undefined;
3025
+ } | {
3026
+ kind: "script";
3027
+ url: string;
3028
+ interpreter: string;
3029
+ interpreterArgs: string[];
3030
+ args: string[];
3031
+ env?: Record<string, string> | undefined;
3032
+ })[];
3033
+ };
3034
+ update: {
3035
+ available: boolean;
3036
+ reason: string | null;
3037
+ commands: ({
3038
+ kind: "exec";
3039
+ command: string;
3040
+ args: string[];
3041
+ env?: Record<string, string> | undefined;
3042
+ } | {
3043
+ kind: "script";
3044
+ url: string;
3045
+ interpreter: string;
3046
+ interpreterArgs: string[];
3047
+ args: string[];
3048
+ env?: Record<string, string> | undefined;
3049
+ })[];
3050
+ };
3051
+ exactVersion: {
3052
+ available: boolean;
3053
+ reason: string | null;
3054
+ commands: ({
3055
+ kind: "exec";
3056
+ command: string;
3057
+ args: string[];
3058
+ env?: Record<string, string> | undefined;
3059
+ } | {
3060
+ kind: "script";
3061
+ url: string;
3062
+ interpreter: string;
3063
+ interpreterArgs: string[];
3064
+ args: string[];
3065
+ env?: Record<string, string> | undefined;
3066
+ })[];
3067
+ };
3068
+ };
3069
+ operation: {
3070
+ phase: "accepted" | "installing" | "preparing" | "settled";
3071
+ target: {
3072
+ kind: "latest";
3073
+ version: null;
3074
+ } | {
3075
+ kind: "version";
3076
+ version: string;
3077
+ };
3078
+ requester: {
3079
+ source: string;
3080
+ requestId: string | null;
3081
+ };
3082
+ installationHome: string | null;
3083
+ commands: {
3084
+ binary: string;
3085
+ args: string[];
3086
+ env: Record<string, string>;
3087
+ script: {
3088
+ url: string;
3089
+ size: number;
3090
+ sha256: string;
3091
+ } | null;
3092
+ }[];
3093
+ profileCleanup?: {
3094
+ plannedPaths: string[];
3095
+ removedPaths: string[];
3096
+ } | undefined;
3097
+ before: {
3098
+ path: string | null;
3099
+ realPath: string | null;
3100
+ version: string | null;
3101
+ versionOutput: string | null;
3102
+ overrideEnv: string | null;
3103
+ overrideValue: string | null;
3104
+ } | null;
3105
+ after: {
3106
+ path: string | null;
3107
+ realPath: string | null;
3108
+ version: string | null;
3109
+ versionOutput: string | null;
3110
+ overrideEnv: string | null;
3111
+ overrideValue: string | null;
3112
+ } | null;
3113
+ elsewhere: {
3114
+ before: {
3115
+ path: string | null;
3116
+ realPath: string | null;
3117
+ version: string | null;
3118
+ versionOutput: string | null;
3119
+ overrideEnv: string | null;
3120
+ overrideValue: string | null;
3121
+ };
3122
+ after: {
3123
+ path: string | null;
3124
+ realPath: string | null;
3125
+ version: string | null;
3126
+ versionOutput: string | null;
3127
+ overrideEnv: string | null;
3128
+ overrideValue: string | null;
3129
+ };
3130
+ } | null;
3131
+ activeRunsAtStart: number | null;
3132
+ exitCode: number | null;
3133
+ outcome: "changed" | "changed_elsewhere" | "not_changed" | "unknown";
3134
+ mutation: "applied" | "none" | "unknown";
3135
+ termination: "confirmed" | "not_applicable" | "unconfirmed";
3136
+ limitations: string[];
3137
+ progress: string[];
3138
+ problem: {
3139
+ code: string;
3140
+ message: string;
3141
+ retryable: boolean;
3142
+ fieldErrors: Record<string, string[]>;
3143
+ requiredActions: string[];
3144
+ evidenceRefs: string[];
3145
+ context: Record<string, unknown>;
3146
+ } | null;
3147
+ id: string;
3148
+ harness: string;
3149
+ state: "cancelled" | "failed" | "interrupted" | "queued" | "running" | "succeeded";
3150
+ createdAt: string;
3151
+ startedAt: string | null;
3152
+ finishedAt: string | null;
3153
+ } | null;
3154
+ observedAt: string;
617
3155
  }, {
618
- kind: "baseline" | "latest" | "previous" | "version";
619
- version: string | null;
620
- }>;
3156
+ harness: string;
3157
+ selection: {
3158
+ path: string | null;
3159
+ realPath: string | null;
3160
+ version: string | null;
3161
+ versionOutput: string | null;
3162
+ overrideEnv: string | null;
3163
+ overrideValue: string | null;
3164
+ };
3165
+ newest: {
3166
+ status: "not_read";
3167
+ source: string | null;
3168
+ } | {
3169
+ status: "available";
3170
+ source: string;
3171
+ version: string;
3172
+ observedAt: string;
3173
+ } | {
3174
+ status: "unavailable";
3175
+ source: string | null;
3176
+ observedAt: string;
3177
+ problem: {
3178
+ code: string;
3179
+ message: string;
3180
+ retryable: boolean;
3181
+ fieldErrors?: Record<string, string[]> | undefined;
3182
+ requiredActions?: string[] | undefined;
3183
+ evidenceRefs?: string[] | undefined;
3184
+ context?: Record<string, unknown> | undefined;
3185
+ };
3186
+ };
3187
+ updateAvailable: "cannot_tell" | "no" | "yes";
3188
+ releaseNotesUrl: string | null;
3189
+ actions: {
3190
+ install: {
3191
+ available: boolean;
3192
+ reason: string | null;
3193
+ commands: ({
3194
+ kind: "exec";
3195
+ command: string;
3196
+ args: string[];
3197
+ env?: Record<string, string> | undefined;
3198
+ } | {
3199
+ kind: "script";
3200
+ url: string;
3201
+ interpreter: string;
3202
+ interpreterArgs: string[];
3203
+ args: string[];
3204
+ env?: Record<string, string> | undefined;
3205
+ })[];
3206
+ };
3207
+ update: {
3208
+ available: boolean;
3209
+ reason: string | null;
3210
+ commands: ({
3211
+ kind: "exec";
3212
+ command: string;
3213
+ args: string[];
3214
+ env?: Record<string, string> | undefined;
3215
+ } | {
3216
+ kind: "script";
3217
+ url: string;
3218
+ interpreter: string;
3219
+ interpreterArgs: string[];
3220
+ args: string[];
3221
+ env?: Record<string, string> | undefined;
3222
+ })[];
3223
+ };
3224
+ exactVersion: {
3225
+ available: boolean;
3226
+ reason: string | null;
3227
+ commands: ({
3228
+ kind: "exec";
3229
+ command: string;
3230
+ args: string[];
3231
+ env?: Record<string, string> | undefined;
3232
+ } | {
3233
+ kind: "script";
3234
+ url: string;
3235
+ interpreter: string;
3236
+ interpreterArgs: string[];
3237
+ args: string[];
3238
+ env?: Record<string, string> | undefined;
3239
+ })[];
3240
+ };
3241
+ };
3242
+ operation: {
3243
+ phase: "accepted" | "installing" | "preparing" | "settled";
3244
+ target: {
3245
+ kind: "latest";
3246
+ version: null;
3247
+ } | {
3248
+ kind: "version";
3249
+ version: string;
3250
+ };
3251
+ requester: {
3252
+ source: string;
3253
+ requestId: string | null;
3254
+ };
3255
+ installationHome: string | null;
3256
+ commands: {
3257
+ binary: string;
3258
+ args: string[];
3259
+ env: Record<string, string>;
3260
+ script: {
3261
+ url: string;
3262
+ size: number;
3263
+ sha256: string;
3264
+ } | null;
3265
+ }[];
3266
+ profileCleanup?: {
3267
+ plannedPaths: string[];
3268
+ removedPaths: string[];
3269
+ } | undefined;
3270
+ before: {
3271
+ path: string | null;
3272
+ realPath: string | null;
3273
+ version: string | null;
3274
+ versionOutput: string | null;
3275
+ overrideEnv: string | null;
3276
+ overrideValue: string | null;
3277
+ } | null;
3278
+ after: {
3279
+ path: string | null;
3280
+ realPath: string | null;
3281
+ version: string | null;
3282
+ versionOutput: string | null;
3283
+ overrideEnv: string | null;
3284
+ overrideValue: string | null;
3285
+ } | null;
3286
+ elsewhere: {
3287
+ before: {
3288
+ path: string | null;
3289
+ realPath: string | null;
3290
+ version: string | null;
3291
+ versionOutput: string | null;
3292
+ overrideEnv: string | null;
3293
+ overrideValue: string | null;
3294
+ };
3295
+ after: {
3296
+ path: string | null;
3297
+ realPath: string | null;
3298
+ version: string | null;
3299
+ versionOutput: string | null;
3300
+ overrideEnv: string | null;
3301
+ overrideValue: string | null;
3302
+ };
3303
+ } | null;
3304
+ activeRunsAtStart: number | null;
3305
+ exitCode: number | null;
3306
+ outcome: "changed" | "changed_elsewhere" | "not_changed" | "unknown";
3307
+ mutation: "applied" | "none" | "unknown";
3308
+ termination: "confirmed" | "not_applicable" | "unconfirmed";
3309
+ limitations: string[];
3310
+ progress: string[];
3311
+ problem: {
3312
+ code: string;
3313
+ message: string;
3314
+ retryable: boolean;
3315
+ fieldErrors?: Record<string, string[]> | undefined;
3316
+ requiredActions?: string[] | undefined;
3317
+ evidenceRefs?: string[] | undefined;
3318
+ context?: Record<string, unknown> | undefined;
3319
+ } | null;
3320
+ id: string;
3321
+ harness: string;
3322
+ state: "cancelled" | "failed" | "interrupted" | "queued" | "running" | "succeeded";
3323
+ createdAt: string;
3324
+ startedAt: string | null;
3325
+ finishedAt: string | null;
3326
+ } | null;
3327
+ observedAt: string;
3328
+ }>, "many">;
621
3329
  }, "strict", z.ZodTypeAny, {
622
- kind: "harness_maintenance";
623
- harness: string;
624
- target: {
625
- kind: "baseline" | "latest" | "previous" | "version";
626
- version: string | null;
627
- };
3330
+ observedAt: string;
3331
+ harnesses: {
3332
+ harness: string;
3333
+ selection: {
3334
+ path: string | null;
3335
+ realPath: string | null;
3336
+ version: string | null;
3337
+ versionOutput: string | null;
3338
+ overrideEnv: string | null;
3339
+ overrideValue: string | null;
3340
+ };
3341
+ newest: {
3342
+ status: "not_read";
3343
+ source: string | null;
3344
+ } | {
3345
+ status: "available";
3346
+ source: string;
3347
+ version: string;
3348
+ observedAt: string;
3349
+ } | {
3350
+ status: "unavailable";
3351
+ source: string | null;
3352
+ observedAt: string;
3353
+ problem: {
3354
+ code: string;
3355
+ message: string;
3356
+ retryable: boolean;
3357
+ fieldErrors: Record<string, string[]>;
3358
+ requiredActions: string[];
3359
+ evidenceRefs: string[];
3360
+ context: Record<string, unknown>;
3361
+ };
3362
+ };
3363
+ updateAvailable: "cannot_tell" | "no" | "yes";
3364
+ releaseNotesUrl: string | null;
3365
+ actions: {
3366
+ install: {
3367
+ available: boolean;
3368
+ reason: string | null;
3369
+ commands: ({
3370
+ kind: "exec";
3371
+ command: string;
3372
+ args: string[];
3373
+ env?: Record<string, string> | undefined;
3374
+ } | {
3375
+ kind: "script";
3376
+ url: string;
3377
+ interpreter: string;
3378
+ interpreterArgs: string[];
3379
+ args: string[];
3380
+ env?: Record<string, string> | undefined;
3381
+ })[];
3382
+ };
3383
+ update: {
3384
+ available: boolean;
3385
+ reason: string | null;
3386
+ commands: ({
3387
+ kind: "exec";
3388
+ command: string;
3389
+ args: string[];
3390
+ env?: Record<string, string> | undefined;
3391
+ } | {
3392
+ kind: "script";
3393
+ url: string;
3394
+ interpreter: string;
3395
+ interpreterArgs: string[];
3396
+ args: string[];
3397
+ env?: Record<string, string> | undefined;
3398
+ })[];
3399
+ };
3400
+ exactVersion: {
3401
+ available: boolean;
3402
+ reason: string | null;
3403
+ commands: ({
3404
+ kind: "exec";
3405
+ command: string;
3406
+ args: string[];
3407
+ env?: Record<string, string> | undefined;
3408
+ } | {
3409
+ kind: "script";
3410
+ url: string;
3411
+ interpreter: string;
3412
+ interpreterArgs: string[];
3413
+ args: string[];
3414
+ env?: Record<string, string> | undefined;
3415
+ })[];
3416
+ };
3417
+ };
3418
+ operation: {
3419
+ phase: "accepted" | "installing" | "preparing" | "settled";
3420
+ target: {
3421
+ kind: "latest";
3422
+ version: null;
3423
+ } | {
3424
+ kind: "version";
3425
+ version: string;
3426
+ };
3427
+ requester: {
3428
+ source: string;
3429
+ requestId: string | null;
3430
+ };
3431
+ installationHome: string | null;
3432
+ commands: {
3433
+ binary: string;
3434
+ args: string[];
3435
+ env: Record<string, string>;
3436
+ script: {
3437
+ url: string;
3438
+ size: number;
3439
+ sha256: string;
3440
+ } | null;
3441
+ }[];
3442
+ profileCleanup?: {
3443
+ plannedPaths: string[];
3444
+ removedPaths: string[];
3445
+ } | undefined;
3446
+ before: {
3447
+ path: string | null;
3448
+ realPath: string | null;
3449
+ version: string | null;
3450
+ versionOutput: string | null;
3451
+ overrideEnv: string | null;
3452
+ overrideValue: string | null;
3453
+ } | null;
3454
+ after: {
3455
+ path: string | null;
3456
+ realPath: string | null;
3457
+ version: string | null;
3458
+ versionOutput: string | null;
3459
+ overrideEnv: string | null;
3460
+ overrideValue: string | null;
3461
+ } | null;
3462
+ elsewhere: {
3463
+ before: {
3464
+ path: string | null;
3465
+ realPath: string | null;
3466
+ version: string | null;
3467
+ versionOutput: string | null;
3468
+ overrideEnv: string | null;
3469
+ overrideValue: string | null;
3470
+ };
3471
+ after: {
3472
+ path: string | null;
3473
+ realPath: string | null;
3474
+ version: string | null;
3475
+ versionOutput: string | null;
3476
+ overrideEnv: string | null;
3477
+ overrideValue: string | null;
3478
+ };
3479
+ } | null;
3480
+ activeRunsAtStart: number | null;
3481
+ exitCode: number | null;
3482
+ outcome: "changed" | "changed_elsewhere" | "not_changed" | "unknown";
3483
+ mutation: "applied" | "none" | "unknown";
3484
+ termination: "confirmed" | "not_applicable" | "unconfirmed";
3485
+ limitations: string[];
3486
+ progress: string[];
3487
+ problem: {
3488
+ code: string;
3489
+ message: string;
3490
+ retryable: boolean;
3491
+ fieldErrors: Record<string, string[]>;
3492
+ requiredActions: string[];
3493
+ evidenceRefs: string[];
3494
+ context: Record<string, unknown>;
3495
+ } | null;
3496
+ id: string;
3497
+ harness: string;
3498
+ state: "cancelled" | "failed" | "interrupted" | "queued" | "running" | "succeeded";
3499
+ createdAt: string;
3500
+ startedAt: string | null;
3501
+ finishedAt: string | null;
3502
+ } | null;
3503
+ observedAt: string;
3504
+ }[];
628
3505
  }, {
629
- kind: "harness_maintenance";
630
- harness: string;
631
- target: {
632
- kind: "baseline" | "latest" | "previous" | "version";
633
- version: string | null;
634
- };
3506
+ observedAt: string;
3507
+ harnesses: {
3508
+ harness: string;
3509
+ selection: {
3510
+ path: string | null;
3511
+ realPath: string | null;
3512
+ version: string | null;
3513
+ versionOutput: string | null;
3514
+ overrideEnv: string | null;
3515
+ overrideValue: string | null;
3516
+ };
3517
+ newest: {
3518
+ status: "not_read";
3519
+ source: string | null;
3520
+ } | {
3521
+ status: "available";
3522
+ source: string;
3523
+ version: string;
3524
+ observedAt: string;
3525
+ } | {
3526
+ status: "unavailable";
3527
+ source: string | null;
3528
+ observedAt: string;
3529
+ problem: {
3530
+ code: string;
3531
+ message: string;
3532
+ retryable: boolean;
3533
+ fieldErrors?: Record<string, string[]> | undefined;
3534
+ requiredActions?: string[] | undefined;
3535
+ evidenceRefs?: string[] | undefined;
3536
+ context?: Record<string, unknown> | undefined;
3537
+ };
3538
+ };
3539
+ updateAvailable: "cannot_tell" | "no" | "yes";
3540
+ releaseNotesUrl: string | null;
3541
+ actions: {
3542
+ install: {
3543
+ available: boolean;
3544
+ reason: string | null;
3545
+ commands: ({
3546
+ kind: "exec";
3547
+ command: string;
3548
+ args: string[];
3549
+ env?: Record<string, string> | undefined;
3550
+ } | {
3551
+ kind: "script";
3552
+ url: string;
3553
+ interpreter: string;
3554
+ interpreterArgs: string[];
3555
+ args: string[];
3556
+ env?: Record<string, string> | undefined;
3557
+ })[];
3558
+ };
3559
+ update: {
3560
+ available: boolean;
3561
+ reason: string | null;
3562
+ commands: ({
3563
+ kind: "exec";
3564
+ command: string;
3565
+ args: string[];
3566
+ env?: Record<string, string> | undefined;
3567
+ } | {
3568
+ kind: "script";
3569
+ url: string;
3570
+ interpreter: string;
3571
+ interpreterArgs: string[];
3572
+ args: string[];
3573
+ env?: Record<string, string> | undefined;
3574
+ })[];
3575
+ };
3576
+ exactVersion: {
3577
+ available: boolean;
3578
+ reason: string | null;
3579
+ commands: ({
3580
+ kind: "exec";
3581
+ command: string;
3582
+ args: string[];
3583
+ env?: Record<string, string> | undefined;
3584
+ } | {
3585
+ kind: "script";
3586
+ url: string;
3587
+ interpreter: string;
3588
+ interpreterArgs: string[];
3589
+ args: string[];
3590
+ env?: Record<string, string> | undefined;
3591
+ })[];
3592
+ };
3593
+ };
3594
+ operation: {
3595
+ phase: "accepted" | "installing" | "preparing" | "settled";
3596
+ target: {
3597
+ kind: "latest";
3598
+ version: null;
3599
+ } | {
3600
+ kind: "version";
3601
+ version: string;
3602
+ };
3603
+ requester: {
3604
+ source: string;
3605
+ requestId: string | null;
3606
+ };
3607
+ installationHome: string | null;
3608
+ commands: {
3609
+ binary: string;
3610
+ args: string[];
3611
+ env: Record<string, string>;
3612
+ script: {
3613
+ url: string;
3614
+ size: number;
3615
+ sha256: string;
3616
+ } | null;
3617
+ }[];
3618
+ profileCleanup?: {
3619
+ plannedPaths: string[];
3620
+ removedPaths: string[];
3621
+ } | undefined;
3622
+ before: {
3623
+ path: string | null;
3624
+ realPath: string | null;
3625
+ version: string | null;
3626
+ versionOutput: string | null;
3627
+ overrideEnv: string | null;
3628
+ overrideValue: string | null;
3629
+ } | null;
3630
+ after: {
3631
+ path: string | null;
3632
+ realPath: string | null;
3633
+ version: string | null;
3634
+ versionOutput: string | null;
3635
+ overrideEnv: string | null;
3636
+ overrideValue: string | null;
3637
+ } | null;
3638
+ elsewhere: {
3639
+ before: {
3640
+ path: string | null;
3641
+ realPath: string | null;
3642
+ version: string | null;
3643
+ versionOutput: string | null;
3644
+ overrideEnv: string | null;
3645
+ overrideValue: string | null;
3646
+ };
3647
+ after: {
3648
+ path: string | null;
3649
+ realPath: string | null;
3650
+ version: string | null;
3651
+ versionOutput: string | null;
3652
+ overrideEnv: string | null;
3653
+ overrideValue: string | null;
3654
+ };
3655
+ } | null;
3656
+ activeRunsAtStart: number | null;
3657
+ exitCode: number | null;
3658
+ outcome: "changed" | "changed_elsewhere" | "not_changed" | "unknown";
3659
+ mutation: "applied" | "none" | "unknown";
3660
+ termination: "confirmed" | "not_applicable" | "unconfirmed";
3661
+ limitations: string[];
3662
+ progress: string[];
3663
+ problem: {
3664
+ code: string;
3665
+ message: string;
3666
+ retryable: boolean;
3667
+ fieldErrors?: Record<string, string[]> | undefined;
3668
+ requiredActions?: string[] | undefined;
3669
+ evidenceRefs?: string[] | undefined;
3670
+ context?: Record<string, unknown> | undefined;
3671
+ } | null;
3672
+ id: string;
3673
+ harness: string;
3674
+ state: "cancelled" | "failed" | "interrupted" | "queued" | "running" | "succeeded";
3675
+ createdAt: string;
3676
+ startedAt: string | null;
3677
+ finishedAt: string | null;
3678
+ } | null;
3679
+ observedAt: string;
3680
+ }[];
635
3681
  }>;
636
- export type HarnessMaintenanceParams = z.infer<typeof HarnessMaintenanceParams>;
637
- export declare function isHarnessMaintenanceOperation(params: unknown): boolean;
638
- /** Evidence kept in the generic command record (JobRecord.result). */
639
- export declare const HarnessMaintenanceEvidence: z.ZodObject<{
640
- phase: z.ZodEnum<["accepted", "preparing", "installing", "settled"]>;
641
- mechanism: z.ZodNullable<z.ZodEnum<["managed_npm", "vendor_updater", "vendor_script"]>>;
642
- target: z.ZodObject<{
643
- kind: z.ZodEnum<["latest", "version", "previous", "baseline"]>;
644
- version: z.ZodNullable<z.ZodString>;
645
- }, "strict", z.ZodTypeAny, {
646
- kind: "baseline" | "latest" | "previous" | "version";
647
- version: string | null;
648
- }, {
649
- kind: "baseline" | "latest" | "previous" | "version";
650
- version: string | null;
651
- }>;
652
- before: z.ZodNullable<z.ZodObject<{
653
- version: z.ZodNullable<z.ZodString>;
654
- binary: z.ZodNullable<z.ZodString>;
655
- selection: z.ZodEnum<["managed", "override", "path", "missing"]>;
656
- proved: z.ZodBoolean;
657
- }, "strict", z.ZodTypeAny, {
658
- version: string | null;
659
- binary: string | null;
660
- selection: "managed" | "missing" | "override" | "path";
661
- proved: boolean;
662
- }, {
663
- version: string | null;
664
- binary: string | null;
665
- selection: "managed" | "missing" | "override" | "path";
666
- proved: boolean;
667
- }>>;
668
- after: z.ZodNullable<z.ZodObject<{
669
- version: z.ZodNullable<z.ZodString>;
670
- binary: z.ZodNullable<z.ZodString>;
671
- selected: z.ZodBoolean;
672
- proved: z.ZodBoolean;
3682
+ export type ControlHarnessMaintenanceInventory = z.infer<typeof ControlHarnessMaintenanceInventory>;
3683
+ export declare const ControlHarnessMaintenanceCreateRequest: z.ZodObject<{
3684
+ harness: z.ZodString;
3685
+ target: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
3686
+ kind: z.ZodLiteral<"latest">;
673
3687
  }, "strict", z.ZodTypeAny, {
674
- version: string | null;
675
- binary: string | null;
676
- selected: boolean;
677
- proved: boolean;
3688
+ kind: "latest";
678
3689
  }, {
679
- version: string | null;
680
- binary: string | null;
681
- selected: boolean;
682
- proved: boolean;
683
- }>>;
684
- mutation: z.ZodEnum<["none", "applied", "unknown"]>;
685
- termination: z.ZodEnum<["not_applicable", "confirmed", "unconfirmed"]>;
686
- limitations: z.ZodArray<z.ZodString, "many">;
687
- progress: z.ZodArray<z.ZodString, "many">;
688
- problem: z.ZodNullable<z.ZodObject<{
689
- code: z.ZodString;
690
- message: z.ZodString;
691
- retryable: z.ZodBoolean;
692
- fieldErrors: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
693
- requiredActions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
694
- evidenceRefs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
695
- context: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
3690
+ kind: "latest";
3691
+ }>, z.ZodObject<{
3692
+ kind: z.ZodLiteral<"version">;
3693
+ version: z.ZodString;
696
3694
  }, "strict", z.ZodTypeAny, {
697
- code: string;
698
- message: string;
699
- retryable: boolean;
700
- fieldErrors: Record<string, string[]>;
701
- requiredActions: string[];
702
- evidenceRefs: string[];
703
- context: Record<string, unknown>;
3695
+ kind: "version";
3696
+ version: string;
704
3697
  }, {
705
- code: string;
706
- message: string;
707
- retryable: boolean;
708
- fieldErrors?: Record<string, string[]> | undefined;
709
- requiredActions?: string[] | undefined;
710
- evidenceRefs?: string[] | undefined;
711
- context?: Record<string, unknown> | undefined;
712
- }>>;
3698
+ kind: "version";
3699
+ version: string;
3700
+ }>]>;
713
3701
  }, "strict", z.ZodTypeAny, {
714
- phase: "accepted" | "installing" | "preparing" | "settled";
715
- mechanism: "managed_npm" | "vendor_script" | "vendor_updater" | null;
3702
+ harness: string;
716
3703
  target: {
717
- kind: "baseline" | "latest" | "previous" | "version";
718
- version: string | null;
3704
+ kind: "latest";
3705
+ } | {
3706
+ kind: "version";
3707
+ version: string;
719
3708
  };
720
- before: {
721
- version: string | null;
722
- binary: string | null;
723
- selection: "managed" | "missing" | "override" | "path";
724
- proved: boolean;
725
- } | null;
726
- after: {
727
- version: string | null;
728
- binary: string | null;
729
- selected: boolean;
730
- proved: boolean;
731
- } | null;
732
- mutation: "applied" | "none" | "unknown";
733
- termination: "confirmed" | "not_applicable" | "unconfirmed";
734
- limitations: string[];
735
- progress: string[];
736
- problem: {
737
- code: string;
738
- message: string;
739
- retryable: boolean;
740
- fieldErrors: Record<string, string[]>;
741
- requiredActions: string[];
742
- evidenceRefs: string[];
743
- context: Record<string, unknown>;
744
- } | null;
745
3709
  }, {
746
- phase: "accepted" | "installing" | "preparing" | "settled";
747
- mechanism: "managed_npm" | "vendor_script" | "vendor_updater" | null;
3710
+ harness: string;
748
3711
  target: {
749
- kind: "baseline" | "latest" | "previous" | "version";
750
- version: string | null;
3712
+ kind: "latest";
3713
+ } | {
3714
+ kind: "version";
3715
+ version: string;
751
3716
  };
752
- before: {
753
- version: string | null;
754
- binary: string | null;
755
- selection: "managed" | "missing" | "override" | "path";
756
- proved: boolean;
757
- } | null;
758
- after: {
759
- version: string | null;
760
- binary: string | null;
761
- selected: boolean;
762
- proved: boolean;
763
- } | null;
764
- mutation: "applied" | "none" | "unknown";
765
- termination: "confirmed" | "not_applicable" | "unconfirmed";
766
- limitations: string[];
767
- progress: string[];
768
- problem: {
769
- code: string;
770
- message: string;
771
- retryable: boolean;
772
- fieldErrors?: Record<string, string[]> | undefined;
773
- requiredActions?: string[] | undefined;
774
- evidenceRefs?: string[] | undefined;
775
- context?: Record<string, unknown> | undefined;
776
- } | null;
777
3717
  }>;
778
- export type HarnessMaintenanceEvidence = z.infer<typeof HarnessMaintenanceEvidence>;
779
- export declare const ControlHarnessMaintenanceOperation: z.ZodObject<{
780
- phase: z.ZodEnum<["accepted", "preparing", "installing", "settled"]>;
781
- mechanism: z.ZodNullable<z.ZodEnum<["managed_npm", "vendor_updater", "vendor_script"]>>;
782
- target: z.ZodObject<{
783
- kind: z.ZodEnum<["latest", "version", "previous", "baseline"]>;
784
- version: z.ZodNullable<z.ZodString>;
785
- }, "strict", z.ZodTypeAny, {
786
- kind: "baseline" | "latest" | "previous" | "version";
787
- version: string | null;
788
- }, {
789
- kind: "baseline" | "latest" | "previous" | "version";
790
- version: string | null;
791
- }>;
792
- before: z.ZodNullable<z.ZodObject<{
793
- version: z.ZodNullable<z.ZodString>;
794
- binary: z.ZodNullable<z.ZodString>;
795
- selection: z.ZodEnum<["managed", "override", "path", "missing"]>;
796
- proved: z.ZodBoolean;
3718
+ export type ControlHarnessMaintenanceCreateRequest = z.infer<typeof ControlHarnessMaintenanceCreateRequest>;
3719
+ export declare const HarnessMaintenanceParams: z.ZodObject<{
3720
+ kind: z.ZodLiteral<"harness_maintenance">;
3721
+ harness: z.ZodString;
3722
+ target: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
3723
+ kind: z.ZodLiteral<"latest">;
3724
+ version: z.ZodNull;
797
3725
  }, "strict", z.ZodTypeAny, {
798
- version: string | null;
799
- binary: string | null;
800
- selection: "managed" | "missing" | "override" | "path";
801
- proved: boolean;
3726
+ kind: "latest";
3727
+ version: null;
802
3728
  }, {
803
- version: string | null;
804
- binary: string | null;
805
- selection: "managed" | "missing" | "override" | "path";
806
- proved: boolean;
807
- }>>;
808
- after: z.ZodNullable<z.ZodObject<{
809
- version: z.ZodNullable<z.ZodString>;
810
- binary: z.ZodNullable<z.ZodString>;
811
- selected: z.ZodBoolean;
812
- proved: z.ZodBoolean;
3729
+ kind: "latest";
3730
+ version: null;
3731
+ }>, z.ZodObject<{
3732
+ kind: z.ZodLiteral<"version">;
3733
+ version: z.ZodString;
813
3734
  }, "strict", z.ZodTypeAny, {
814
- version: string | null;
815
- binary: string | null;
816
- selected: boolean;
817
- proved: boolean;
3735
+ kind: "version";
3736
+ version: string;
818
3737
  }, {
819
- version: string | null;
820
- binary: string | null;
821
- selected: boolean;
822
- proved: boolean;
823
- }>>;
824
- mutation: z.ZodEnum<["none", "applied", "unknown"]>;
825
- termination: z.ZodEnum<["not_applicable", "confirmed", "unconfirmed"]>;
826
- limitations: z.ZodArray<z.ZodString, "many">;
827
- progress: z.ZodArray<z.ZodString, "many">;
828
- problem: z.ZodNullable<z.ZodObject<{
829
- code: z.ZodString;
830
- message: z.ZodString;
831
- retryable: z.ZodBoolean;
832
- fieldErrors: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
833
- requiredActions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
834
- evidenceRefs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
835
- context: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
3738
+ kind: "version";
3739
+ version: string;
3740
+ }>]>;
3741
+ requester: z.ZodObject<{
3742
+ source: z.ZodString;
3743
+ requestId: z.ZodNullable<z.ZodString>;
836
3744
  }, "strict", z.ZodTypeAny, {
837
- code: string;
838
- message: string;
839
- retryable: boolean;
840
- fieldErrors: Record<string, string[]>;
841
- requiredActions: string[];
842
- evidenceRefs: string[];
843
- context: Record<string, unknown>;
3745
+ source: string;
3746
+ requestId: string | null;
844
3747
  }, {
845
- code: string;
846
- message: string;
847
- retryable: boolean;
848
- fieldErrors?: Record<string, string[]> | undefined;
849
- requiredActions?: string[] | undefined;
850
- evidenceRefs?: string[] | undefined;
851
- context?: Record<string, unknown> | undefined;
852
- }>>;
853
- } & {
854
- id: z.ZodString;
855
- harness: z.ZodString;
856
- state: z.ZodEnum<["queued", "running", "succeeded", "failed", "cancelled", "interrupted"]>;
857
- createdAt: z.ZodString;
858
- startedAt: z.ZodNullable<z.ZodString>;
859
- finishedAt: z.ZodNullable<z.ZodString>;
3748
+ source: string;
3749
+ requestId: string | null;
3750
+ }>;
860
3751
  }, "strict", z.ZodTypeAny, {
861
- phase: "accepted" | "installing" | "preparing" | "settled";
862
- mechanism: "managed_npm" | "vendor_script" | "vendor_updater" | null;
3752
+ kind: "harness_maintenance";
3753
+ harness: string;
863
3754
  target: {
864
- kind: "baseline" | "latest" | "previous" | "version";
865
- version: string | null;
3755
+ kind: "latest";
3756
+ version: null;
3757
+ } | {
3758
+ kind: "version";
3759
+ version: string;
3760
+ };
3761
+ requester: {
3762
+ source: string;
3763
+ requestId: string | null;
866
3764
  };
867
- before: {
868
- version: string | null;
869
- binary: string | null;
870
- selection: "managed" | "missing" | "override" | "path";
871
- proved: boolean;
872
- } | null;
873
- after: {
874
- version: string | null;
875
- binary: string | null;
876
- selected: boolean;
877
- proved: boolean;
878
- } | null;
879
- mutation: "applied" | "none" | "unknown";
880
- termination: "confirmed" | "not_applicable" | "unconfirmed";
881
- limitations: string[];
882
- progress: string[];
883
- problem: {
884
- code: string;
885
- message: string;
886
- retryable: boolean;
887
- fieldErrors: Record<string, string[]>;
888
- requiredActions: string[];
889
- evidenceRefs: string[];
890
- context: Record<string, unknown>;
891
- } | null;
892
- id: string;
893
- harness: string;
894
- state: "cancelled" | "failed" | "interrupted" | "queued" | "running" | "succeeded";
895
- createdAt: string;
896
- startedAt: string | null;
897
- finishedAt: string | null;
898
3765
  }, {
899
- phase: "accepted" | "installing" | "preparing" | "settled";
900
- mechanism: "managed_npm" | "vendor_script" | "vendor_updater" | null;
3766
+ kind: "harness_maintenance";
3767
+ harness: string;
901
3768
  target: {
902
- kind: "baseline" | "latest" | "previous" | "version";
903
- version: string | null;
3769
+ kind: "latest";
3770
+ version: null;
3771
+ } | {
3772
+ kind: "version";
3773
+ version: string;
3774
+ };
3775
+ requester: {
3776
+ source: string;
3777
+ requestId: string | null;
904
3778
  };
905
- before: {
906
- version: string | null;
907
- binary: string | null;
908
- selection: "managed" | "missing" | "override" | "path";
909
- proved: boolean;
910
- } | null;
911
- after: {
912
- version: string | null;
913
- binary: string | null;
914
- selected: boolean;
915
- proved: boolean;
916
- } | null;
917
- mutation: "applied" | "none" | "unknown";
918
- termination: "confirmed" | "not_applicable" | "unconfirmed";
919
- limitations: string[];
920
- progress: string[];
921
- problem: {
922
- code: string;
923
- message: string;
924
- retryable: boolean;
925
- fieldErrors?: Record<string, string[]> | undefined;
926
- requiredActions?: string[] | undefined;
927
- evidenceRefs?: string[] | undefined;
928
- context?: Record<string, unknown> | undefined;
929
- } | null;
930
- id: string;
931
- harness: string;
932
- state: "cancelled" | "failed" | "interrupted" | "queued" | "running" | "succeeded";
933
- createdAt: string;
934
- startedAt: string | null;
935
- finishedAt: string | null;
936
3779
  }>;
937
- export type ControlHarnessMaintenanceOperation = z.infer<typeof ControlHarnessMaintenanceOperation>;
3780
+ export type HarnessMaintenanceParams = z.infer<typeof HarnessMaintenanceParams>;
3781
+ export declare function isHarnessMaintenanceOperation(params: unknown): boolean;
938
3782
  //# sourceMappingURL=harness-maintenance.d.ts.map