@claudexor/schema 2.0.0 → 2.1.2

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 (128) hide show
  1. package/dist/agent-capabilities.d.ts +24 -24
  2. package/dist/attachment.d.ts +13 -13
  3. package/dist/auth.d.ts +21 -0
  4. package/dist/auth.d.ts.map +1 -1
  5. package/dist/auth.js +54 -0
  6. package/dist/auth.js.map +1 -1
  7. package/dist/budget.d.ts +17 -5
  8. package/dist/budget.d.ts.map +1 -1
  9. package/dist/budget.js +15 -0
  10. package/dist/budget.js.map +1 -1
  11. package/dist/config.d.ts +380 -20
  12. package/dist/config.d.ts.map +1 -1
  13. package/dist/config.js +81 -0
  14. package/dist/config.js.map +1 -1
  15. package/dist/control-gc.d.ts +185 -0
  16. package/dist/control-gc.d.ts.map +1 -0
  17. package/dist/control-gc.js +81 -0
  18. package/dist/control-gc.js.map +1 -0
  19. package/dist/control-operation-responses.d.ts +155 -29
  20. package/dist/control-operation-responses.d.ts.map +1 -1
  21. package/dist/control-run-detail.d.ts +140 -32
  22. package/dist/control-run-detail.d.ts.map +1 -1
  23. package/dist/control-spec.d.ts +6 -6
  24. package/dist/control-thread-apply.d.ts +2 -2
  25. package/dist/control.d.ts +427 -586
  26. package/dist/control.d.ts.map +1 -1
  27. package/dist/control.js +155 -54
  28. package/dist/control.js.map +1 -1
  29. package/dist/credential-profile.d.ts +454 -0
  30. package/dist/credential-profile.d.ts.map +1 -0
  31. package/dist/credential-profile.js +140 -0
  32. package/dist/credential-profile.js.map +1 -0
  33. package/dist/events.d.ts +20 -6
  34. package/dist/events.d.ts.map +1 -1
  35. package/dist/events.js +22 -0
  36. package/dist/events.js.map +1 -1
  37. package/dist/gate.d.ts +3 -3
  38. package/dist/harness.d.ts +243 -88
  39. package/dist/harness.d.ts.map +1 -1
  40. package/dist/harness.js +124 -46
  41. package/dist/harness.js.map +1 -1
  42. package/dist/index.d.ts +4 -0
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +4 -0
  45. package/dist/index.js.map +1 -1
  46. package/dist/orchestrate.d.ts +23 -0
  47. package/dist/orchestrate.d.ts.map +1 -1
  48. package/dist/orchestrate.js +56 -0
  49. package/dist/orchestrate.js.map +1 -1
  50. package/dist/project.d.ts +2 -2
  51. package/dist/quota.d.ts +27 -9
  52. package/dist/quota.d.ts.map +1 -1
  53. package/dist/quota.js +14 -2
  54. package/dist/quota.js.map +1 -1
  55. package/dist/readiness.d.ts +596 -0
  56. package/dist/readiness.d.ts.map +1 -0
  57. package/dist/readiness.js +87 -0
  58. package/dist/readiness.js.map +1 -0
  59. package/dist/request-requirements.d.ts +8 -8
  60. package/dist/request-requirements.d.ts.map +1 -1
  61. package/dist/request-requirements.js +4 -1
  62. package/dist/request-requirements.js.map +1 -1
  63. package/dist/route.d.ts +4 -4
  64. package/dist/setup.d.ts +69 -24
  65. package/dist/setup.d.ts.map +1 -1
  66. package/dist/setup.js +25 -0
  67. package/dist/setup.js.map +1 -1
  68. package/dist/spec.d.ts +4 -4
  69. package/dist/task.d.ts +99 -4
  70. package/dist/task.d.ts.map +1 -1
  71. package/dist/task.js +48 -1
  72. package/dist/task.js.map +1 -1
  73. package/dist/telemetry.d.ts +309 -67
  74. package/dist/telemetry.d.ts.map +1 -1
  75. package/dist/telemetry.js +97 -1
  76. package/dist/telemetry.js.map +1 -1
  77. package/dist/thread.d.ts +26 -15
  78. package/dist/thread.d.ts.map +1 -1
  79. package/dist/thread.js +11 -0
  80. package/dist/thread.js.map +1 -1
  81. package/dist/tool-ref.d.ts +45 -0
  82. package/dist/tool-ref.d.ts.map +1 -0
  83. package/dist/tool-ref.js +45 -0
  84. package/dist/tool-ref.js.map +1 -0
  85. package/dist/workspace.d.ts +2 -2
  86. package/generated/BudgetObservation.schema.json +16 -0
  87. package/generated/ControlCredentialProfileCreateRequest.schema.json +32 -0
  88. package/generated/ControlCredentialProfileCreateResponse.schema.json +142 -0
  89. package/generated/ControlCredentialProfileDeleteResponse.schema.json +107 -0
  90. package/generated/ControlCredentialProfilesResponse.schema.json +155 -0
  91. package/generated/ControlGcReceipt.schema.json +170 -0
  92. package/generated/ControlGcRequest.schema.json +18 -0
  93. package/generated/ControlHarnessListResponse.schema.json +95 -2
  94. package/generated/ControlHarnessModelsResponse.schema.json +19 -0
  95. package/generated/ControlHarnessSettingsPatch.schema.json +9 -0
  96. package/generated/ControlQuotaResponse.schema.json +3 -2
  97. package/generated/ControlRunAgainDraft.schema.json +40 -0
  98. package/generated/ControlRunDetail.schema.json +178 -6
  99. package/generated/ControlRunListResponse.schema.json +174 -3
  100. package/generated/ControlRunStartRequest.schema.json +40 -0
  101. package/generated/ControlRunSummary.schema.json +174 -3
  102. package/generated/ControlSettingsSnapshot.schema.json +10 -0
  103. package/generated/ControlSettingsUpdateRequest.schema.json +9 -0
  104. package/generated/ControlSetupJob.schema.json +8 -0
  105. package/generated/ControlSetupJobCreateRequest.schema.json +5 -0
  106. package/generated/ControlSetupJobEvent.schema.json +8 -0
  107. package/generated/ControlSetupJobListResponse.schema.json +8 -0
  108. package/generated/ControlSetupJobSnapshot.schema.json +8 -0
  109. package/generated/ControlThread.schema.json +16 -4
  110. package/generated/ControlThreadCreateRequest.schema.json +6 -2
  111. package/generated/ControlThreadDetail.schema.json +32 -8
  112. package/generated/ControlThreadListResponse.schema.json +16 -4
  113. package/generated/ControlThreadTurnRequest.schema.json +40 -0
  114. package/generated/ControlThreadUpdateRequest.schema.json +11 -0
  115. package/generated/CredentialProfile.schema.json +78 -0
  116. package/generated/CredentialProfileStatus.schema.json +61 -0
  117. package/generated/GlobalConfig.schema.json +136 -0
  118. package/generated/HarnessEvent.schema.json +62 -5
  119. package/generated/HarnessManifest.schema.json +33 -2
  120. package/generated/HarnessModel.schema.json +19 -0
  121. package/generated/HarnessStatusDto.schema.json +95 -2
  122. package/generated/RunEvent.schema.json +3 -0
  123. package/generated/RunTelemetry.schema.json +202 -2
  124. package/generated/Session.schema.json +14 -0
  125. package/generated/TaskContract.schema.json +65 -4
  126. package/generated/Thread.schema.json +17 -5
  127. package/generated/ThreadHeadPing.schema.json +40 -0
  128. package/package.json +3 -2
package/dist/config.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { AccessProfile, AuthPreference, ExternalContextPolicy } from "./primitives.js";
3
3
  import { EffortHint } from "./harness.js";
4
+ import { CredentialProfile } from "./credential-profile.js";
4
5
  import { PaidBudget, PaidFallback, QualityTierSet, RoutingGoal } from "./budget.js";
5
6
  import { TestCommandGrant, TestCommandInvocation } from "./task.js";
6
7
  // All retired v1 portfolio ids are rejected; v2 routing uses the explicit
@@ -199,6 +200,59 @@ export const GlobalConfig = z
199
200
  .strict()
200
201
  .default({})
201
202
  .describe("Global runtime timeouts and retry policy."),
203
+ /**
204
+ * Disk retention for engine-owned runtime artifacts (W3.6). The daemon's
205
+ * retention service deletes ONLY terminal, unreferenced run trees past
206
+ * their age — active/queued/blocked runs, runs referenced by live
207
+ * threads, and undelivered/applyable work products always survive, and
208
+ * the newest N runs per project survive regardless of age.
209
+ */
210
+ retention: z
211
+ .object({
212
+ runs_max_age_days: z
213
+ .number()
214
+ .int()
215
+ .positive()
216
+ .default(30)
217
+ .describe("Delete terminal, unreferenced run trees older than this many days."),
218
+ reviews_max_age_days: z
219
+ .number()
220
+ .int()
221
+ .positive()
222
+ .default(14)
223
+ .describe("Delete standalone diff-review trees older than this many days."),
224
+ keep_last_runs_per_project: z
225
+ .number()
226
+ .int()
227
+ .nonnegative()
228
+ .default(20)
229
+ .describe("The newest N runs per project always survive, regardless of age."),
230
+ })
231
+ .strict()
232
+ .default({})
233
+ .describe("Disk retention policy for engine-owned runtime artifacts."),
234
+ /**
235
+ * Durable NON-SECRET credential-profile registry (INV-135): additional
236
+ * credential identities per harness beyond the engine default. Uniqueness
237
+ * of (harness_id, profile_id) is enforced here; secret material lives in
238
+ * the vendor dir or the secret store, never in config.
239
+ */
240
+ credential_profiles: z
241
+ .array(CredentialProfile)
242
+ .default([])
243
+ .superRefine((profiles, ctx) => {
244
+ const seen = new Set();
245
+ for (const p of profiles) {
246
+ const key = `${p.harness_id}\u0000${p.profile_id}`;
247
+ if (seen.has(key))
248
+ ctx.addIssue({
249
+ code: "custom",
250
+ message: `duplicate credential profile ${p.profile_id} for harness ${p.harness_id}`,
251
+ });
252
+ seen.add(key);
253
+ }
254
+ })
255
+ .describe("Durable non-secret credential-profile registry; secret material lives in the vendor dir or the secret store, never in config."),
202
256
  harnesses: z
203
257
  .record(z.string(), z
204
258
  .object({
@@ -228,6 +282,33 @@ export const GlobalConfig = z
228
282
  .nullable()
229
283
  .default(null)
230
284
  .describe("Default max convergence rounds; null = engine default."),
285
+ /**
286
+ * ONE typed profile-selection policy (INV-135, W5.4): what happens
287
+ * when the selected credential profile hits its vendor limit.
288
+ * Rotation is OPT-IN and rotates only on typed vendor-limit
289
+ * signals or proactive headroom breaches — never on ordinary
290
+ * network errors.
291
+ */
292
+ profile_policy: z
293
+ .object({
294
+ limit_action: z
295
+ .enum(["fail", "ask", "rotate"])
296
+ .default("fail")
297
+ .describe("On a typed vendor limit: fail the attempt, surface a typed ask, or rotate to the next eligible profile."),
298
+ rotation_eligible: z
299
+ .array(z.string())
300
+ .default([])
301
+ .describe("Priority-ordered profile ids eligible for rotation; empty = every enabled profile of this harness in registry order."),
302
+ headroom_threshold: z
303
+ .number()
304
+ .min(0)
305
+ .max(1)
306
+ .default(0.9)
307
+ .describe("Preflight headroom bound: a selected profile whose active window is at/over this ratio triggers the limit action BEFORE spawn."),
308
+ })
309
+ .strict()
310
+ .default({})
311
+ .describe("Typed profile-selection policy for this harness (INV-135)."),
231
312
  tools_allow: z
232
313
  .array(z.string())
233
314
  .default([])
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,185 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Disk-retention (GC) control operation (W3.6). The daemon owns the
4
+ * retention service; this is its schema-first contract: a typed request
5
+ * (dry-run first-class) and a typed receipt that discloses exactly what was
6
+ * deleted and WHY every survivor survived — silent deletion or silent
7
+ * retention are both bugs.
8
+ */
9
+ /** Why a candidate run tree survived this GC pass. */
10
+ export declare const GcKeepReason: z.ZodEnum<["active", "recent", "young", "referenced", "actionable", "unknown_state"]>;
11
+ export type GcKeepReason = z.infer<typeof GcKeepReason>;
12
+ export declare const ControlGcRequest: z.ZodObject<{
13
+ dry_run: z.ZodDefault<z.ZodBoolean>;
14
+ }, "strict", z.ZodTypeAny, {
15
+ dry_run: boolean;
16
+ }, {
17
+ dry_run?: boolean | undefined;
18
+ }>;
19
+ export type ControlGcRequest = z.infer<typeof ControlGcRequest>;
20
+ export declare const GcRunDeletion: z.ZodObject<{
21
+ run_id: z.ZodString;
22
+ project_root: z.ZodString;
23
+ freed_bytes: z.ZodNumber;
24
+ }, "strict", z.ZodTypeAny, {
25
+ run_id: string;
26
+ project_root: string;
27
+ freed_bytes: number;
28
+ }, {
29
+ run_id: string;
30
+ project_root: string;
31
+ freed_bytes: number;
32
+ }>;
33
+ export type GcRunDeletion = z.infer<typeof GcRunDeletion>;
34
+ export declare const GcKeepCounts: z.ZodObject<{
35
+ active: z.ZodDefault<z.ZodNumber>;
36
+ recent: z.ZodDefault<z.ZodNumber>;
37
+ young: z.ZodDefault<z.ZodNumber>;
38
+ referenced: z.ZodDefault<z.ZodNumber>;
39
+ actionable: z.ZodDefault<z.ZodNumber>;
40
+ unknown_state: z.ZodDefault<z.ZodNumber>;
41
+ }, "strict", z.ZodTypeAny, {
42
+ active: number;
43
+ recent: number;
44
+ young: number;
45
+ referenced: number;
46
+ actionable: number;
47
+ unknown_state: number;
48
+ }, {
49
+ active?: number | undefined;
50
+ recent?: number | undefined;
51
+ young?: number | undefined;
52
+ referenced?: number | undefined;
53
+ actionable?: number | undefined;
54
+ unknown_state?: number | undefined;
55
+ }>;
56
+ export type GcKeepCounts = z.infer<typeof GcKeepCounts>;
57
+ export declare const ControlGcReceipt: z.ZodObject<{
58
+ schema_version: z.ZodDefault<z.ZodLiteral<1>>;
59
+ dry_run: z.ZodBoolean;
60
+ started_at: z.ZodString;
61
+ finished_at: z.ZodString;
62
+ policy: z.ZodObject<{
63
+ runs_max_age_days: z.ZodNumber;
64
+ reviews_max_age_days: z.ZodNumber;
65
+ keep_last_runs_per_project: z.ZodNumber;
66
+ }, "strict", z.ZodTypeAny, {
67
+ runs_max_age_days: number;
68
+ reviews_max_age_days: number;
69
+ keep_last_runs_per_project: number;
70
+ }, {
71
+ runs_max_age_days: number;
72
+ reviews_max_age_days: number;
73
+ keep_last_runs_per_project: number;
74
+ }>;
75
+ examined_runs: z.ZodNumber;
76
+ deleted_runs: z.ZodDefault<z.ZodArray<z.ZodObject<{
77
+ run_id: z.ZodString;
78
+ project_root: z.ZodString;
79
+ freed_bytes: z.ZodNumber;
80
+ }, "strict", z.ZodTypeAny, {
81
+ run_id: string;
82
+ project_root: string;
83
+ freed_bytes: number;
84
+ }, {
85
+ run_id: string;
86
+ project_root: string;
87
+ freed_bytes: number;
88
+ }>, "many">>;
89
+ kept: z.ZodObject<{
90
+ active: z.ZodDefault<z.ZodNumber>;
91
+ recent: z.ZodDefault<z.ZodNumber>;
92
+ young: z.ZodDefault<z.ZodNumber>;
93
+ referenced: z.ZodDefault<z.ZodNumber>;
94
+ actionable: z.ZodDefault<z.ZodNumber>;
95
+ unknown_state: z.ZodDefault<z.ZodNumber>;
96
+ }, "strict", z.ZodTypeAny, {
97
+ active: number;
98
+ recent: number;
99
+ young: number;
100
+ referenced: number;
101
+ actionable: number;
102
+ unknown_state: number;
103
+ }, {
104
+ active?: number | undefined;
105
+ recent?: number | undefined;
106
+ young?: number | undefined;
107
+ referenced?: number | undefined;
108
+ actionable?: number | undefined;
109
+ unknown_state?: number | undefined;
110
+ }>;
111
+ deleted_reviews: z.ZodDefault<z.ZodArray<z.ZodObject<{
112
+ path: z.ZodString;
113
+ freed_bytes: z.ZodNumber;
114
+ }, "strict", z.ZodTypeAny, {
115
+ path: string;
116
+ freed_bytes: number;
117
+ }, {
118
+ path: string;
119
+ freed_bytes: number;
120
+ }>, "many">>;
121
+ freed_bytes: z.ZodNumber;
122
+ errors: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
123
+ }, "strict", z.ZodTypeAny, {
124
+ schema_version: 1;
125
+ policy: {
126
+ runs_max_age_days: number;
127
+ reviews_max_age_days: number;
128
+ keep_last_runs_per_project: number;
129
+ };
130
+ dry_run: boolean;
131
+ freed_bytes: number;
132
+ started_at: string;
133
+ finished_at: string;
134
+ examined_runs: number;
135
+ deleted_runs: {
136
+ run_id: string;
137
+ project_root: string;
138
+ freed_bytes: number;
139
+ }[];
140
+ kept: {
141
+ active: number;
142
+ recent: number;
143
+ young: number;
144
+ referenced: number;
145
+ actionable: number;
146
+ unknown_state: number;
147
+ };
148
+ deleted_reviews: {
149
+ path: string;
150
+ freed_bytes: number;
151
+ }[];
152
+ errors: string[];
153
+ }, {
154
+ policy: {
155
+ runs_max_age_days: number;
156
+ reviews_max_age_days: number;
157
+ keep_last_runs_per_project: number;
158
+ };
159
+ dry_run: boolean;
160
+ freed_bytes: number;
161
+ started_at: string;
162
+ finished_at: string;
163
+ examined_runs: number;
164
+ kept: {
165
+ active?: number | undefined;
166
+ recent?: number | undefined;
167
+ young?: number | undefined;
168
+ referenced?: number | undefined;
169
+ actionable?: number | undefined;
170
+ unknown_state?: number | undefined;
171
+ };
172
+ schema_version?: 1 | undefined;
173
+ deleted_runs?: {
174
+ run_id: string;
175
+ project_root: string;
176
+ freed_bytes: number;
177
+ }[] | undefined;
178
+ deleted_reviews?: {
179
+ path: string;
180
+ freed_bytes: number;
181
+ }[] | undefined;
182
+ errors?: string[] | undefined;
183
+ }>;
184
+ export type ControlGcReceipt = z.infer<typeof ControlGcReceipt>;
185
+ //# sourceMappingURL=control-gc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-gc.d.ts","sourceRoot":"","sources":["../src/control-gc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;GAMG;AAEH,sDAAsD;AACtD,eAAO,MAAM,YAAY,uFAItB,CAAC;AACJ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD,eAAO,MAAM,gBAAgB;;;;;;EAQ6C,CAAC;AAC3E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,eAAO,MAAM,aAAa;;;;;;;;;;;;EAMf,CAAC;AACZ,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;EAUsB,CAAC;AAChD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0CsB,CAAC;AACpD,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
@@ -0,0 +1,81 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Disk-retention (GC) control operation (W3.6). The daemon owns the
4
+ * retention service; this is its schema-first contract: a typed request
5
+ * (dry-run first-class) and a typed receipt that discloses exactly what was
6
+ * deleted and WHY every survivor survived — silent deletion or silent
7
+ * retention are both bugs.
8
+ */
9
+ /** Why a candidate run tree survived this GC pass. */
10
+ export const GcKeepReason = z
11
+ .enum(["active", "recent", "young", "referenced", "actionable", "unknown_state"])
12
+ .describe("Why a run tree survived: active (nonterminal daemon record), recent (newest-N per project), young (inside the age window), referenced (a live thread points at it), actionable (undelivered/applyable/blocked work awaiting the operator), unknown_state (no terminal evidence — fail closed).");
13
+ export const ControlGcRequest = z
14
+ .object({
15
+ dry_run: z
16
+ .boolean()
17
+ .default(false)
18
+ .describe("Report what WOULD be deleted without touching disk."),
19
+ })
20
+ .strict()
21
+ .describe("Run one retention pass over engine-owned runtime artifacts.");
22
+ export const GcRunDeletion = z
23
+ .object({
24
+ run_id: z.string().describe("Deleted (or would-be-deleted) run id."),
25
+ project_root: z.string().describe("Canonical project root owning the run tree."),
26
+ freed_bytes: z.number().int().nonnegative().describe("Bytes the tree occupied."),
27
+ })
28
+ .strict();
29
+ export const GcKeepCounts = z
30
+ .object({
31
+ active: z.number().int().nonnegative().default(0),
32
+ recent: z.number().int().nonnegative().default(0),
33
+ young: z.number().int().nonnegative().default(0),
34
+ referenced: z.number().int().nonnegative().default(0),
35
+ actionable: z.number().int().nonnegative().default(0),
36
+ unknown_state: z.number().int().nonnegative().default(0),
37
+ })
38
+ .strict()
39
+ .describe("Survivor counts per keep reason.");
40
+ export const ControlGcReceipt = z
41
+ .object({
42
+ schema_version: z.literal(1).default(1),
43
+ dry_run: z.boolean().describe("Whether disk was left untouched."),
44
+ started_at: z.string().describe("Pass start (ISO 8601)."),
45
+ finished_at: z.string().describe("Pass end (ISO 8601)."),
46
+ policy: z
47
+ .object({
48
+ runs_max_age_days: z.number().int().positive(),
49
+ reviews_max_age_days: z.number().int().positive(),
50
+ keep_last_runs_per_project: z.number().int().nonnegative(),
51
+ })
52
+ .strict()
53
+ .describe("The effective retention policy this pass applied."),
54
+ examined_runs: z.number().int().nonnegative().describe("Run trees examined."),
55
+ deleted_runs: z
56
+ .array(GcRunDeletion)
57
+ .default([])
58
+ .describe("Run trees deleted (or would-be under dry_run), tombstones left behind."),
59
+ kept: GcKeepCounts.describe("Why every surviving candidate survived."),
60
+ deleted_reviews: z
61
+ .array(z
62
+ .object({
63
+ path: z.string().describe("Deleted standalone diff-review tree."),
64
+ freed_bytes: z.number().int().nonnegative(),
65
+ })
66
+ .strict())
67
+ .default([])
68
+ .describe("Standalone diff-review trees deleted (or would-be under dry_run)."),
69
+ freed_bytes: z
70
+ .number()
71
+ .int()
72
+ .nonnegative()
73
+ .describe("Total bytes freed (or reclaimable under dry_run)."),
74
+ errors: z
75
+ .array(z.string())
76
+ .default([])
77
+ .describe("Non-fatal per-tree failures; the pass continues past them."),
78
+ })
79
+ .strict()
80
+ .describe("Typed receipt of one retention pass.");
81
+ //# sourceMappingURL=control-gc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-gc.js","sourceRoot":"","sources":["../src/control-gc.ts"],"names":[],"mappings":"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"}