agentrinse 0.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.
- package/LICENSE +21 -0
- package/README.md +153 -0
- package/dist/adapters/artifacts/adapter.d.ts +24 -0
- package/dist/adapters/artifacts/adapter.d.ts.map +1 -0
- package/dist/adapters/artifacts/adapter.js +342 -0
- package/dist/adapters/artifacts/adapter.js.map +1 -0
- package/dist/adapters/docker/adapter.d.ts +15 -0
- package/dist/adapters/docker/adapter.d.ts.map +1 -0
- package/dist/adapters/docker/adapter.js +121 -0
- package/dist/adapters/docker/adapter.js.map +1 -0
- package/dist/adapters/git/adapter.d.ts +15 -0
- package/dist/adapters/git/adapter.d.ts.map +1 -0
- package/dist/adapters/git/adapter.js +156 -0
- package/dist/adapters/git/adapter.js.map +1 -0
- package/dist/adapters/git/porcelain.d.ts +11 -0
- package/dist/adapters/git/porcelain.d.ts.map +1 -0
- package/dist/adapters/git/porcelain.js +54 -0
- package/dist/adapters/git/porcelain.js.map +1 -0
- package/dist/adapters/provider-adapter.d.ts +22 -0
- package/dist/adapters/provider-adapter.d.ts.map +1 -0
- package/dist/adapters/provider-adapter.js +178 -0
- package/dist/adapters/provider-adapter.js.map +1 -0
- package/dist/adapters/provider-specs.d.ts +16 -0
- package/dist/adapters/provider-specs.d.ts.map +1 -0
- package/dist/adapters/provider-specs.js +157 -0
- package/dist/adapters/provider-specs.js.map +1 -0
- package/dist/adapters/registry.d.ts +4 -0
- package/dist/adapters/registry.d.ts.map +1 -0
- package/dist/adapters/registry.js +28 -0
- package/dist/adapters/registry.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +8 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/adapters.d.ts +2 -0
- package/dist/commands/adapters.d.ts.map +1 -0
- package/dist/commands/adapters.js +17 -0
- package/dist/commands/adapters.js.map +1 -0
- package/dist/commands/apply.d.ts +15 -0
- package/dist/commands/apply.d.ts.map +1 -0
- package/dist/commands/apply.js +63 -0
- package/dist/commands/apply.js.map +1 -0
- package/dist/commands/audit.d.ts +13 -0
- package/dist/commands/audit.d.ts.map +1 -0
- package/dist/commands/audit.js +22 -0
- package/dist/commands/audit.js.map +1 -0
- package/dist/commands/plan.d.ts +12 -0
- package/dist/commands/plan.d.ts.map +1 -0
- package/dist/commands/plan.js +19 -0
- package/dist/commands/plan.js.map +1 -0
- package/dist/config/defaults.d.ts +3 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +29 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/load.d.ts +3 -0
- package/dist/config/load.d.ts.map +1 -0
- package/dist/config/load.js +31 -0
- package/dist/config/load.js.map +1 -0
- package/dist/config/schema.d.ts +84 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +108 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/contracts/action.d.ts +109 -0
- package/dist/contracts/action.d.ts.map +1 -0
- package/dist/contracts/action.js +37 -0
- package/dist/contracts/action.js.map +1 -0
- package/dist/contracts/adapter.d.ts +21 -0
- package/dist/contracts/adapter.d.ts.map +1 -0
- package/dist/contracts/adapter.js +2 -0
- package/dist/contracts/adapter.js.map +1 -0
- package/dist/contracts/diagnostic.d.ts +21 -0
- package/dist/contracts/diagnostic.d.ts.map +1 -0
- package/dist/contracts/diagnostic.js +11 -0
- package/dist/contracts/diagnostic.js.map +1 -0
- package/dist/contracts/finding.d.ts +123 -0
- package/dist/contracts/finding.d.ts.map +1 -0
- package/dist/contracts/finding.js +35 -0
- package/dist/contracts/finding.js.map +1 -0
- package/dist/contracts/plan.d.ts +53 -0
- package/dist/contracts/plan.d.ts.map +1 -0
- package/dist/contracts/plan.js +56 -0
- package/dist/contracts/plan.js.map +1 -0
- package/dist/contracts/report.d.ts +177 -0
- package/dist/contracts/report.d.ts.map +1 -0
- package/dist/contracts/report.js +29 -0
- package/dist/contracts/report.js.map +1 -0
- package/dist/contracts/resource.d.ts +72 -0
- package/dist/contracts/resource.d.ts.map +1 -0
- package/dist/contracts/resource.js +33 -0
- package/dist/contracts/resource.js.map +1 -0
- package/dist/contracts/run.d.ts +108 -0
- package/dist/contracts/run.d.ts.map +1 -0
- package/dist/contracts/run.js +35 -0
- package/dist/contracts/run.js.map +1 -0
- package/dist/core/apply.d.ts +29 -0
- package/dist/core/apply.d.ts.map +1 -0
- package/dist/core/apply.js +120 -0
- package/dist/core/apply.js.map +1 -0
- package/dist/core/artifact-executor.d.ts +39 -0
- package/dist/core/artifact-executor.d.ts.map +1 -0
- package/dist/core/artifact-executor.js +200 -0
- package/dist/core/artifact-executor.js.map +1 -0
- package/dist/core/artifact-revalidation.d.ts +22 -0
- package/dist/core/artifact-revalidation.d.ts.map +1 -0
- package/dist/core/artifact-revalidation.js +113 -0
- package/dist/core/artifact-revalidation.js.map +1 -0
- package/dist/core/audit.d.ts +12 -0
- package/dist/core/audit.d.ts.map +1 -0
- package/dist/core/audit.js +41 -0
- package/dist/core/audit.js.map +1 -0
- package/dist/core/digest.d.ts +7 -0
- package/dist/core/digest.d.ts.map +1 -0
- package/dist/core/digest.js +21 -0
- package/dist/core/digest.js.map +1 -0
- package/dist/core/measure.d.ts +16 -0
- package/dist/core/measure.d.ts.map +1 -0
- package/dist/core/measure.js +79 -0
- package/dist/core/measure.js.map +1 -0
- package/dist/core/mount-boundaries.d.ts +21 -0
- package/dist/core/mount-boundaries.d.ts.map +1 -0
- package/dist/core/mount-boundaries.js +72 -0
- package/dist/core/mount-boundaries.js.map +1 -0
- package/dist/core/plan-verification.d.ts +10 -0
- package/dist/core/plan-verification.d.ts.map +1 -0
- package/dist/core/plan-verification.js +42 -0
- package/dist/core/plan-verification.js.map +1 -0
- package/dist/core/plan.d.ts +6 -0
- package/dist/core/plan.d.ts.map +1 -0
- package/dist/core/plan.js +40 -0
- package/dist/core/plan.js.map +1 -0
- package/dist/core/process-ownership.d.ts +27 -0
- package/dist/core/process-ownership.d.ts.map +1 -0
- package/dist/core/process-ownership.js +140 -0
- package/dist/core/process-ownership.js.map +1 -0
- package/dist/core/safety.d.ts +7 -0
- package/dist/core/safety.d.ts.map +1 -0
- package/dist/core/safety.js +50 -0
- package/dist/core/safety.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/main.d.ts +4 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +59 -0
- package/dist/main.js.map +1 -0
- package/dist/output.d.ts +4 -0
- package/dist/output.d.ts.map +1 -0
- package/dist/output.js +35 -0
- package/dist/output.js.map +1 -0
- package/dist/state/json-file.d.ts +4 -0
- package/dist/state/json-file.d.ts.map +1 -0
- package/dist/state/json-file.js +36 -0
- package/dist/state/json-file.js.map +1 -0
- package/dist/state/layout.d.ts +12 -0
- package/dist/state/layout.d.ts.map +1 -0
- package/dist/state/layout.js +20 -0
- package/dist/state/layout.js.map +1 -0
- package/dist/state/lock.d.ts +9 -0
- package/dist/state/lock.d.ts.map +1 -0
- package/dist/state/lock.js +93 -0
- package/dist/state/lock.js.map +1 -0
- package/dist/state/run-journal.d.ts +10 -0
- package/dist/state/run-journal.d.ts.map +1 -0
- package/dist/state/run-journal.js +57 -0
- package/dist/state/run-journal.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +2 -0
- package/dist/version.js.map +1 -0
- package/package.json +73 -0
- package/schemas/audit.schema.json +424 -0
- package/schemas/plan.schema.json +184 -0
- package/schemas/run.schema.json +161 -0
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const adapterStatusSchema: z.ZodEnum<{
|
|
3
|
+
absent: "absent";
|
|
4
|
+
available: "available";
|
|
5
|
+
degraded: "degraded";
|
|
6
|
+
disabled: "disabled";
|
|
7
|
+
unsupported: "unsupported";
|
|
8
|
+
}>;
|
|
9
|
+
export declare const adapterProbeSchema: z.ZodObject<{
|
|
10
|
+
adapter: z.ZodString;
|
|
11
|
+
status: z.ZodEnum<{
|
|
12
|
+
absent: "absent";
|
|
13
|
+
available: "available";
|
|
14
|
+
degraded: "degraded";
|
|
15
|
+
disabled: "disabled";
|
|
16
|
+
unsupported: "unsupported";
|
|
17
|
+
}>;
|
|
18
|
+
version: z.ZodOptional<z.ZodString>;
|
|
19
|
+
root: z.ZodOptional<z.ZodString>;
|
|
20
|
+
detail: z.ZodString;
|
|
21
|
+
diagnostics: z.ZodArray<z.ZodObject<{
|
|
22
|
+
severity: z.ZodEnum<{
|
|
23
|
+
error: "error";
|
|
24
|
+
info: "info";
|
|
25
|
+
warning: "warning";
|
|
26
|
+
}>;
|
|
27
|
+
code: z.ZodString;
|
|
28
|
+
message: z.ZodString;
|
|
29
|
+
adapter: z.ZodOptional<z.ZodString>;
|
|
30
|
+
resourceId: z.ZodOptional<z.ZodString>;
|
|
31
|
+
remediation: z.ZodOptional<z.ZodString>;
|
|
32
|
+
}, z.core.$strip>>;
|
|
33
|
+
}, z.core.$strip>;
|
|
34
|
+
export declare const auditReportSchema: z.ZodObject<{
|
|
35
|
+
schemaVersion: z.ZodLiteral<1>;
|
|
36
|
+
auditId: z.ZodString;
|
|
37
|
+
startedAt: z.ZodString;
|
|
38
|
+
completedAt: z.ZodString;
|
|
39
|
+
home: z.ZodString;
|
|
40
|
+
probes: z.ZodArray<z.ZodObject<{
|
|
41
|
+
adapter: z.ZodString;
|
|
42
|
+
status: z.ZodEnum<{
|
|
43
|
+
absent: "absent";
|
|
44
|
+
available: "available";
|
|
45
|
+
degraded: "degraded";
|
|
46
|
+
disabled: "disabled";
|
|
47
|
+
unsupported: "unsupported";
|
|
48
|
+
}>;
|
|
49
|
+
version: z.ZodOptional<z.ZodString>;
|
|
50
|
+
root: z.ZodOptional<z.ZodString>;
|
|
51
|
+
detail: z.ZodString;
|
|
52
|
+
diagnostics: z.ZodArray<z.ZodObject<{
|
|
53
|
+
severity: z.ZodEnum<{
|
|
54
|
+
error: "error";
|
|
55
|
+
info: "info";
|
|
56
|
+
warning: "warning";
|
|
57
|
+
}>;
|
|
58
|
+
code: z.ZodString;
|
|
59
|
+
message: z.ZodString;
|
|
60
|
+
adapter: z.ZodOptional<z.ZodString>;
|
|
61
|
+
resourceId: z.ZodOptional<z.ZodString>;
|
|
62
|
+
remediation: z.ZodOptional<z.ZodString>;
|
|
63
|
+
}, z.core.$strip>>;
|
|
64
|
+
}, z.core.$strip>>;
|
|
65
|
+
findings: z.ZodArray<z.ZodObject<{
|
|
66
|
+
schemaVersion: z.ZodLiteral<1>;
|
|
67
|
+
findingId: z.ZodString;
|
|
68
|
+
auditId: z.ZodString;
|
|
69
|
+
observedAt: z.ZodString;
|
|
70
|
+
resource: z.ZodObject<{
|
|
71
|
+
id: z.ZodString;
|
|
72
|
+
adapter: z.ZodString;
|
|
73
|
+
kind: z.ZodEnum<{
|
|
74
|
+
"agent-database": "agent-database";
|
|
75
|
+
"agent-home": "agent-home";
|
|
76
|
+
"agent-log-store": "agent-log-store";
|
|
77
|
+
"agent-runtime": "agent-runtime";
|
|
78
|
+
"agent-session-store": "agent-session-store";
|
|
79
|
+
"agent-snapshot-store": "agent-snapshot-store";
|
|
80
|
+
"build-artifact": "build-artifact";
|
|
81
|
+
"docker-build-cache": "docker-build-cache";
|
|
82
|
+
"docker-container": "docker-container";
|
|
83
|
+
"docker-image": "docker-image";
|
|
84
|
+
"docker-network": "docker-network";
|
|
85
|
+
"docker-volume": "docker-volume";
|
|
86
|
+
"git-worktree": "git-worktree";
|
|
87
|
+
}>;
|
|
88
|
+
canonicalKey: z.ZodString;
|
|
89
|
+
displayName: z.ZodString;
|
|
90
|
+
path: z.ZodOptional<z.ZodString>;
|
|
91
|
+
externalId: z.ZodOptional<z.ZodString>;
|
|
92
|
+
}, z.core.$strip>;
|
|
93
|
+
state: z.ZodEnum<{
|
|
94
|
+
blocked: "blocked";
|
|
95
|
+
eligible: "eligible";
|
|
96
|
+
ignored: "ignored";
|
|
97
|
+
protected: "protected";
|
|
98
|
+
unknown: "unknown";
|
|
99
|
+
}>;
|
|
100
|
+
confidence: z.ZodEnum<{
|
|
101
|
+
certain: "certain";
|
|
102
|
+
high: "high";
|
|
103
|
+
low: "low";
|
|
104
|
+
medium: "medium";
|
|
105
|
+
unknown: "unknown";
|
|
106
|
+
}>;
|
|
107
|
+
roots: z.ZodArray<z.ZodObject<{
|
|
108
|
+
code: z.ZodString;
|
|
109
|
+
source: z.ZodString;
|
|
110
|
+
observedAt: z.ZodString;
|
|
111
|
+
detail: z.ZodString;
|
|
112
|
+
evidenceRef: z.ZodOptional<z.ZodString>;
|
|
113
|
+
}, z.core.$strip>>;
|
|
114
|
+
facts: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
115
|
+
candidateActions: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
116
|
+
actionId: z.ZodString;
|
|
117
|
+
type: z.ZodLiteral<"artifacts.remove">;
|
|
118
|
+
adapter: z.ZodLiteral<"artifacts">;
|
|
119
|
+
resourceId: z.ZodString;
|
|
120
|
+
risk: z.ZodLiteral<"safe">;
|
|
121
|
+
description: z.ZodString;
|
|
122
|
+
expectedReclaimBytes: z.ZodNumber;
|
|
123
|
+
target: z.ZodObject<{
|
|
124
|
+
path: z.ZodString;
|
|
125
|
+
projectRoot: z.ZodString;
|
|
126
|
+
name: z.ZodEnum<{
|
|
127
|
+
".cache": ".cache";
|
|
128
|
+
".next": ".next";
|
|
129
|
+
".turbo": ".turbo";
|
|
130
|
+
".venv": ".venv";
|
|
131
|
+
build: "build";
|
|
132
|
+
coverage: "coverage";
|
|
133
|
+
dist: "dist";
|
|
134
|
+
"dist-runtime": "dist-runtime";
|
|
135
|
+
node_modules: "node_modules";
|
|
136
|
+
target: "target";
|
|
137
|
+
}>;
|
|
138
|
+
device: z.ZodNumber;
|
|
139
|
+
inode: z.ZodNumber;
|
|
140
|
+
mtimeMs: z.ZodNumber;
|
|
141
|
+
measuredBytes: z.ZodNumber;
|
|
142
|
+
newestMtimeMs: z.ZodNumber;
|
|
143
|
+
fingerprint: z.ZodString;
|
|
144
|
+
}, z.core.$strip>;
|
|
145
|
+
}, z.core.$strip>], "type">>>;
|
|
146
|
+
measuredBytes: z.ZodOptional<z.ZodNumber>;
|
|
147
|
+
estimatedReclaimBytes: z.ZodOptional<z.ZodNumber>;
|
|
148
|
+
warnings: z.ZodArray<z.ZodObject<{
|
|
149
|
+
severity: z.ZodEnum<{
|
|
150
|
+
error: "error";
|
|
151
|
+
info: "info";
|
|
152
|
+
warning: "warning";
|
|
153
|
+
}>;
|
|
154
|
+
code: z.ZodString;
|
|
155
|
+
message: z.ZodString;
|
|
156
|
+
adapter: z.ZodOptional<z.ZodString>;
|
|
157
|
+
resourceId: z.ZodOptional<z.ZodString>;
|
|
158
|
+
remediation: z.ZodOptional<z.ZodString>;
|
|
159
|
+
}, z.core.$strip>>;
|
|
160
|
+
}, z.core.$strip>>;
|
|
161
|
+
diagnostics: z.ZodArray<z.ZodObject<{
|
|
162
|
+
severity: z.ZodEnum<{
|
|
163
|
+
error: "error";
|
|
164
|
+
info: "info";
|
|
165
|
+
warning: "warning";
|
|
166
|
+
}>;
|
|
167
|
+
code: z.ZodString;
|
|
168
|
+
message: z.ZodString;
|
|
169
|
+
adapter: z.ZodOptional<z.ZodString>;
|
|
170
|
+
resourceId: z.ZodOptional<z.ZodString>;
|
|
171
|
+
remediation: z.ZodOptional<z.ZodString>;
|
|
172
|
+
}, z.core.$strip>>;
|
|
173
|
+
}, z.core.$strip>;
|
|
174
|
+
export type AdapterStatus = z.infer<typeof adapterStatusSchema>;
|
|
175
|
+
export type AdapterProbe = z.infer<typeof adapterProbeSchema>;
|
|
176
|
+
export type AuditReport = z.infer<typeof auditReportSchema>;
|
|
177
|
+
//# sourceMappingURL=report.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/contracts/report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,mBAAmB;;;;;;EAM9B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;iBAO7B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAS5B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { diagnosticSchema } from "./diagnostic.js";
|
|
3
|
+
import { findingSchema } from "./finding.js";
|
|
4
|
+
export const adapterStatusSchema = z.enum([
|
|
5
|
+
"available",
|
|
6
|
+
"absent",
|
|
7
|
+
"degraded",
|
|
8
|
+
"disabled",
|
|
9
|
+
"unsupported",
|
|
10
|
+
]);
|
|
11
|
+
export const adapterProbeSchema = z.object({
|
|
12
|
+
adapter: z.string().min(1),
|
|
13
|
+
status: adapterStatusSchema,
|
|
14
|
+
version: z.string().min(1).optional(),
|
|
15
|
+
root: z.string().min(1).optional(),
|
|
16
|
+
detail: z.string().min(1),
|
|
17
|
+
diagnostics: z.array(diagnosticSchema),
|
|
18
|
+
});
|
|
19
|
+
export const auditReportSchema = z.object({
|
|
20
|
+
schemaVersion: z.literal(1),
|
|
21
|
+
auditId: z.string().min(1),
|
|
22
|
+
startedAt: z.string().datetime(),
|
|
23
|
+
completedAt: z.string().datetime(),
|
|
24
|
+
home: z.string().min(1),
|
|
25
|
+
probes: z.array(adapterProbeSchema),
|
|
26
|
+
findings: z.array(findingSchema),
|
|
27
|
+
diagnostics: z.array(diagnosticSchema),
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=report.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/contracts/report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC;IACxC,WAAW;IACX,QAAQ;IACR,UAAU;IACV,UAAU;IACV,aAAa;CACd,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,MAAM,EAAE,mBAAmB;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAClC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;CACvC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC;IACnC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC;IAChC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;CACvC,CAAC,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const resourceKindSchema: z.ZodEnum<{
|
|
3
|
+
"agent-database": "agent-database";
|
|
4
|
+
"agent-home": "agent-home";
|
|
5
|
+
"agent-log-store": "agent-log-store";
|
|
6
|
+
"agent-runtime": "agent-runtime";
|
|
7
|
+
"agent-session-store": "agent-session-store";
|
|
8
|
+
"agent-snapshot-store": "agent-snapshot-store";
|
|
9
|
+
"build-artifact": "build-artifact";
|
|
10
|
+
"docker-build-cache": "docker-build-cache";
|
|
11
|
+
"docker-container": "docker-container";
|
|
12
|
+
"docker-image": "docker-image";
|
|
13
|
+
"docker-network": "docker-network";
|
|
14
|
+
"docker-volume": "docker-volume";
|
|
15
|
+
"git-worktree": "git-worktree";
|
|
16
|
+
}>;
|
|
17
|
+
export declare const resourceRefSchema: z.ZodObject<{
|
|
18
|
+
id: z.ZodString;
|
|
19
|
+
adapter: z.ZodString;
|
|
20
|
+
kind: z.ZodEnum<{
|
|
21
|
+
"agent-database": "agent-database";
|
|
22
|
+
"agent-home": "agent-home";
|
|
23
|
+
"agent-log-store": "agent-log-store";
|
|
24
|
+
"agent-runtime": "agent-runtime";
|
|
25
|
+
"agent-session-store": "agent-session-store";
|
|
26
|
+
"agent-snapshot-store": "agent-snapshot-store";
|
|
27
|
+
"build-artifact": "build-artifact";
|
|
28
|
+
"docker-build-cache": "docker-build-cache";
|
|
29
|
+
"docker-container": "docker-container";
|
|
30
|
+
"docker-image": "docker-image";
|
|
31
|
+
"docker-network": "docker-network";
|
|
32
|
+
"docker-volume": "docker-volume";
|
|
33
|
+
"git-worktree": "git-worktree";
|
|
34
|
+
}>;
|
|
35
|
+
canonicalKey: z.ZodString;
|
|
36
|
+
displayName: z.ZodString;
|
|
37
|
+
path: z.ZodOptional<z.ZodString>;
|
|
38
|
+
externalId: z.ZodOptional<z.ZodString>;
|
|
39
|
+
}, z.core.$strip>;
|
|
40
|
+
export declare const resourceSnapshotSchema: z.ZodObject<{
|
|
41
|
+
resource: z.ZodObject<{
|
|
42
|
+
id: z.ZodString;
|
|
43
|
+
adapter: z.ZodString;
|
|
44
|
+
kind: z.ZodEnum<{
|
|
45
|
+
"agent-database": "agent-database";
|
|
46
|
+
"agent-home": "agent-home";
|
|
47
|
+
"agent-log-store": "agent-log-store";
|
|
48
|
+
"agent-runtime": "agent-runtime";
|
|
49
|
+
"agent-session-store": "agent-session-store";
|
|
50
|
+
"agent-snapshot-store": "agent-snapshot-store";
|
|
51
|
+
"build-artifact": "build-artifact";
|
|
52
|
+
"docker-build-cache": "docker-build-cache";
|
|
53
|
+
"docker-container": "docker-container";
|
|
54
|
+
"docker-image": "docker-image";
|
|
55
|
+
"docker-network": "docker-network";
|
|
56
|
+
"docker-volume": "docker-volume";
|
|
57
|
+
"git-worktree": "git-worktree";
|
|
58
|
+
}>;
|
|
59
|
+
canonicalKey: z.ZodString;
|
|
60
|
+
displayName: z.ZodString;
|
|
61
|
+
path: z.ZodOptional<z.ZodString>;
|
|
62
|
+
externalId: z.ZodOptional<z.ZodString>;
|
|
63
|
+
}, z.core.$strip>;
|
|
64
|
+
observedAt: z.ZodString;
|
|
65
|
+
exists: z.ZodBoolean;
|
|
66
|
+
measuredBytes: z.ZodOptional<z.ZodNumber>;
|
|
67
|
+
facts: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
68
|
+
}, z.core.$strip>;
|
|
69
|
+
export type ResourceKind = z.infer<typeof resourceKindSchema>;
|
|
70
|
+
export type ResourceRef = z.infer<typeof resourceRefSchema>;
|
|
71
|
+
export type ResourceSnapshot = z.infer<typeof resourceSnapshotSchema>;
|
|
72
|
+
//# sourceMappingURL=resource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/contracts/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;EAc7B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;iBAQ5B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMjC,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export const resourceKindSchema = z.enum([
|
|
3
|
+
"git-worktree",
|
|
4
|
+
"build-artifact",
|
|
5
|
+
"agent-home",
|
|
6
|
+
"agent-session-store",
|
|
7
|
+
"agent-log-store",
|
|
8
|
+
"agent-database",
|
|
9
|
+
"agent-snapshot-store",
|
|
10
|
+
"agent-runtime",
|
|
11
|
+
"docker-container",
|
|
12
|
+
"docker-image",
|
|
13
|
+
"docker-network",
|
|
14
|
+
"docker-volume",
|
|
15
|
+
"docker-build-cache",
|
|
16
|
+
]);
|
|
17
|
+
export const resourceRefSchema = z.object({
|
|
18
|
+
id: z.string().min(1),
|
|
19
|
+
adapter: z.string().min(1),
|
|
20
|
+
kind: resourceKindSchema,
|
|
21
|
+
canonicalKey: z.string().min(1),
|
|
22
|
+
displayName: z.string().min(1),
|
|
23
|
+
path: z.string().min(1).optional(),
|
|
24
|
+
externalId: z.string().min(1).optional(),
|
|
25
|
+
});
|
|
26
|
+
export const resourceSnapshotSchema = z.object({
|
|
27
|
+
resource: resourceRefSchema,
|
|
28
|
+
observedAt: z.string().datetime(),
|
|
29
|
+
exists: z.boolean(),
|
|
30
|
+
measuredBytes: z.number().int().nonnegative().optional(),
|
|
31
|
+
facts: z.record(z.string(), z.unknown()),
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=resource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/contracts/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC;IACvC,cAAc;IACd,gBAAgB;IAChB,YAAY;IACZ,qBAAqB;IACrB,iBAAiB;IACjB,gBAAgB;IAChB,sBAAsB;IACtB,eAAe;IACf,kBAAkB;IAClB,cAAc;IACd,gBAAgB;IAChB,eAAe;IACf,oBAAoB;CACrB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,IAAI,EAAE,kBAAkB;IACxB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAClC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,QAAQ,EAAE,iBAAiB;IAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IACnB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IACxD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;CACzC,CAAC,CAAC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const actionExecutionStatusSchema: z.ZodEnum<{
|
|
3
|
+
applied: "applied";
|
|
4
|
+
applying: "applying";
|
|
5
|
+
failed: "failed";
|
|
6
|
+
"partially-applied": "partially-applied";
|
|
7
|
+
pending: "pending";
|
|
8
|
+
revalidating: "revalidating";
|
|
9
|
+
"rolled-back": "rolled-back";
|
|
10
|
+
"skipped-stale": "skipped-stale";
|
|
11
|
+
}>;
|
|
12
|
+
export declare const actionExecutionSchema: z.ZodObject<{
|
|
13
|
+
actionId: z.ZodString;
|
|
14
|
+
type: z.ZodLiteral<"artifacts.remove">;
|
|
15
|
+
status: z.ZodEnum<{
|
|
16
|
+
applied: "applied";
|
|
17
|
+
applying: "applying";
|
|
18
|
+
failed: "failed";
|
|
19
|
+
"partially-applied": "partially-applied";
|
|
20
|
+
pending: "pending";
|
|
21
|
+
revalidating: "revalidating";
|
|
22
|
+
"rolled-back": "rolled-back";
|
|
23
|
+
"skipped-stale": "skipped-stale";
|
|
24
|
+
}>;
|
|
25
|
+
startedAt: z.ZodOptional<z.ZodString>;
|
|
26
|
+
completedAt: z.ZodOptional<z.ZodString>;
|
|
27
|
+
reclaimedBytes: z.ZodOptional<z.ZodNumber>;
|
|
28
|
+
isolationPath: z.ZodOptional<z.ZodString>;
|
|
29
|
+
diagnostic: z.ZodOptional<z.ZodObject<{
|
|
30
|
+
severity: z.ZodEnum<{
|
|
31
|
+
error: "error";
|
|
32
|
+
info: "info";
|
|
33
|
+
warning: "warning";
|
|
34
|
+
}>;
|
|
35
|
+
code: z.ZodString;
|
|
36
|
+
message: z.ZodString;
|
|
37
|
+
adapter: z.ZodOptional<z.ZodString>;
|
|
38
|
+
resourceId: z.ZodOptional<z.ZodString>;
|
|
39
|
+
remediation: z.ZodOptional<z.ZodString>;
|
|
40
|
+
}, z.core.$strip>>;
|
|
41
|
+
}, z.core.$strip>;
|
|
42
|
+
export declare const runStatusSchema: z.ZodEnum<{
|
|
43
|
+
completed: "completed";
|
|
44
|
+
failed: "failed";
|
|
45
|
+
partial: "partial";
|
|
46
|
+
running: "running";
|
|
47
|
+
}>;
|
|
48
|
+
export declare const cleanupRunSchema: z.ZodObject<{
|
|
49
|
+
schemaVersion: z.ZodLiteral<1>;
|
|
50
|
+
runId: z.ZodString;
|
|
51
|
+
planId: z.ZodString;
|
|
52
|
+
startedAt: z.ZodString;
|
|
53
|
+
completedAt: z.ZodOptional<z.ZodString>;
|
|
54
|
+
status: z.ZodEnum<{
|
|
55
|
+
completed: "completed";
|
|
56
|
+
failed: "failed";
|
|
57
|
+
partial: "partial";
|
|
58
|
+
running: "running";
|
|
59
|
+
}>;
|
|
60
|
+
actions: z.ZodArray<z.ZodObject<{
|
|
61
|
+
actionId: z.ZodString;
|
|
62
|
+
type: z.ZodLiteral<"artifacts.remove">;
|
|
63
|
+
status: z.ZodEnum<{
|
|
64
|
+
applied: "applied";
|
|
65
|
+
applying: "applying";
|
|
66
|
+
failed: "failed";
|
|
67
|
+
"partially-applied": "partially-applied";
|
|
68
|
+
pending: "pending";
|
|
69
|
+
revalidating: "revalidating";
|
|
70
|
+
"rolled-back": "rolled-back";
|
|
71
|
+
"skipped-stale": "skipped-stale";
|
|
72
|
+
}>;
|
|
73
|
+
startedAt: z.ZodOptional<z.ZodString>;
|
|
74
|
+
completedAt: z.ZodOptional<z.ZodString>;
|
|
75
|
+
reclaimedBytes: z.ZodOptional<z.ZodNumber>;
|
|
76
|
+
isolationPath: z.ZodOptional<z.ZodString>;
|
|
77
|
+
diagnostic: z.ZodOptional<z.ZodObject<{
|
|
78
|
+
severity: z.ZodEnum<{
|
|
79
|
+
error: "error";
|
|
80
|
+
info: "info";
|
|
81
|
+
warning: "warning";
|
|
82
|
+
}>;
|
|
83
|
+
code: z.ZodString;
|
|
84
|
+
message: z.ZodString;
|
|
85
|
+
adapter: z.ZodOptional<z.ZodString>;
|
|
86
|
+
resourceId: z.ZodOptional<z.ZodString>;
|
|
87
|
+
remediation: z.ZodOptional<z.ZodString>;
|
|
88
|
+
}, z.core.$strip>>;
|
|
89
|
+
}, z.core.$strip>>;
|
|
90
|
+
reclaimedBytes: z.ZodNumber;
|
|
91
|
+
diagnostics: z.ZodArray<z.ZodObject<{
|
|
92
|
+
severity: z.ZodEnum<{
|
|
93
|
+
error: "error";
|
|
94
|
+
info: "info";
|
|
95
|
+
warning: "warning";
|
|
96
|
+
}>;
|
|
97
|
+
code: z.ZodString;
|
|
98
|
+
message: z.ZodString;
|
|
99
|
+
adapter: z.ZodOptional<z.ZodString>;
|
|
100
|
+
resourceId: z.ZodOptional<z.ZodString>;
|
|
101
|
+
remediation: z.ZodOptional<z.ZodString>;
|
|
102
|
+
}, z.core.$strip>>;
|
|
103
|
+
}, z.core.$strip>;
|
|
104
|
+
export type ActionExecutionStatus = z.infer<typeof actionExecutionStatusSchema>;
|
|
105
|
+
export type ActionExecution = z.infer<typeof actionExecutionSchema>;
|
|
106
|
+
export type RunStatus = z.infer<typeof runStatusSchema>;
|
|
107
|
+
export type CleanupRun = z.infer<typeof cleanupRunSchema>;
|
|
108
|
+
//# sourceMappingURL=run.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/contracts/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,2BAA2B;;;;;;;;;EAStC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAShC,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;EAAwD,CAAC;AAErF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAU3B,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { diagnosticSchema } from "./diagnostic.js";
|
|
3
|
+
export const actionExecutionStatusSchema = z.enum([
|
|
4
|
+
"pending",
|
|
5
|
+
"revalidating",
|
|
6
|
+
"skipped-stale",
|
|
7
|
+
"applying",
|
|
8
|
+
"applied",
|
|
9
|
+
"failed",
|
|
10
|
+
"rolled-back",
|
|
11
|
+
"partially-applied",
|
|
12
|
+
]);
|
|
13
|
+
export const actionExecutionSchema = z.object({
|
|
14
|
+
actionId: z.string().min(1),
|
|
15
|
+
type: z.literal("artifacts.remove"),
|
|
16
|
+
status: actionExecutionStatusSchema,
|
|
17
|
+
startedAt: z.string().datetime().optional(),
|
|
18
|
+
completedAt: z.string().datetime().optional(),
|
|
19
|
+
reclaimedBytes: z.number().int().nonnegative().optional(),
|
|
20
|
+
isolationPath: z.string().min(1).optional(),
|
|
21
|
+
diagnostic: diagnosticSchema.optional(),
|
|
22
|
+
});
|
|
23
|
+
export const runStatusSchema = z.enum(["running", "completed", "partial", "failed"]);
|
|
24
|
+
export const cleanupRunSchema = z.object({
|
|
25
|
+
schemaVersion: z.literal(1),
|
|
26
|
+
runId: z.string().min(1),
|
|
27
|
+
planId: z.string().min(1),
|
|
28
|
+
startedAt: z.string().datetime(),
|
|
29
|
+
completedAt: z.string().datetime().optional(),
|
|
30
|
+
status: runStatusSchema,
|
|
31
|
+
actions: z.array(actionExecutionSchema),
|
|
32
|
+
reclaimedBytes: z.number().int().nonnegative(),
|
|
33
|
+
diagnostics: z.array(diagnosticSchema),
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=run.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/contracts/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,IAAI,CAAC;IAChD,SAAS;IACT,cAAc;IACd,eAAe;IACf,UAAU;IACV,SAAS;IACT,QAAQ;IACR,aAAa;IACb,mBAAmB;CACpB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACnC,MAAM,EAAE,2BAA2B;IACnC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IACzD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC3C,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AAErF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,MAAM,EAAE,eAAe;IACvB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;IACvC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAC9C,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;CACvC,CAAC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type AgentRinseConfig } from "../config/schema.js";
|
|
2
|
+
import type { ArtifactRemoveAction } from "../contracts/action.js";
|
|
3
|
+
import type { CleanupPlan } from "../contracts/plan.js";
|
|
4
|
+
import type { CleanupRun } from "../contracts/run.js";
|
|
5
|
+
import { createRunJournal } from "../state/run-journal.js";
|
|
6
|
+
import { type ArtifactExecutionResult } from "./artifact-executor.js";
|
|
7
|
+
import { type ArtifactRevalidationResult } from "./artifact-revalidation.js";
|
|
8
|
+
export declare class ApplySafetyError extends Error {
|
|
9
|
+
readonly name = "ApplySafetyError";
|
|
10
|
+
}
|
|
11
|
+
export type ApplyResult = {
|
|
12
|
+
plan: CleanupPlan;
|
|
13
|
+
run: CleanupRun;
|
|
14
|
+
journalPath: string;
|
|
15
|
+
};
|
|
16
|
+
export type ApplyDependencies = {
|
|
17
|
+
clock?: () => Date;
|
|
18
|
+
createJournal?: typeof createRunJournal;
|
|
19
|
+
revalidate?: (action: ArtifactRemoveAction, home: string, config: AgentRinseConfig) => Promise<ArtifactRevalidationResult>;
|
|
20
|
+
execute?: (action: ArtifactRemoveAction, isolationId: string) => Promise<ArtifactExecutionResult>;
|
|
21
|
+
};
|
|
22
|
+
export type ApplyCleanupPlanOptions = {
|
|
23
|
+
input: unknown;
|
|
24
|
+
config: AgentRinseConfig;
|
|
25
|
+
stateRoot: string;
|
|
26
|
+
dependencies?: ApplyDependencies;
|
|
27
|
+
};
|
|
28
|
+
export declare function applyCleanupPlan(options: ApplyCleanupPlanOptions): Promise<ApplyResult>;
|
|
29
|
+
//# sourceMappingURL=apply.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../src/core/apply.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACpF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,4BAA4B,CAAC;AAKpC,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,SAAkB,IAAI,sBAAsB;CAC7C;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,WAAW,CAAC;IAClB,GAAG,EAAE,UAAU,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,gBAAgB,CAAC;IACxC,UAAU,CAAC,EAAE,CACX,MAAM,EAAE,oBAAoB,EAC5B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,KACrB,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;CACnG,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,iBAAiB,CAAC;CAClC,CAAC;AAEF,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC,CA6H7F"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { agentRinseConfigSchema } from "../config/schema.js";
|
|
2
|
+
import { acquireApplyLock } from "../state/lock.js";
|
|
3
|
+
import { stateLayout } from "../state/layout.js";
|
|
4
|
+
import { createRunJournal } from "../state/run-journal.js";
|
|
5
|
+
import { ArtifactExecutionError, artifactIsolationPath, executeArtifactRemove, } from "./artifact-executor.js";
|
|
6
|
+
import { revalidateArtifactRemove, } from "./artifact-revalidation.js";
|
|
7
|
+
import { sha256 } from "./digest.js";
|
|
8
|
+
import { verifyCleanupPlan } from "./plan-verification.js";
|
|
9
|
+
import { isPathInside, resolvePhysicalPath } from "./safety.js";
|
|
10
|
+
export class ApplySafetyError extends Error {
|
|
11
|
+
name = "ApplySafetyError";
|
|
12
|
+
}
|
|
13
|
+
export async function applyCleanupPlan(options) {
|
|
14
|
+
const clock = options.dependencies?.clock ?? (() => new Date());
|
|
15
|
+
const config = agentRinseConfigSchema.parse(options.config);
|
|
16
|
+
const plan = verifyCleanupPlan(options.input, config, clock());
|
|
17
|
+
const layout = stateLayout(options.stateRoot);
|
|
18
|
+
const physicalStateRoot = await resolvePhysicalPath(layout.root);
|
|
19
|
+
for (const action of plan.actions) {
|
|
20
|
+
const physicalTarget = await resolvePhysicalPath(action.target.path);
|
|
21
|
+
if (isPathInside(action.target.path, layout.root) ||
|
|
22
|
+
isPathInside(physicalTarget, physicalStateRoot)) {
|
|
23
|
+
throw new ApplySafetyError(`state directory ${layout.root} must not be inside cleanup target ${action.target.path}`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
const lock = await acquireApplyLock(layout.locks, plan.planId);
|
|
27
|
+
try {
|
|
28
|
+
const journal = await (options.dependencies?.createJournal ?? createRunJournal)(layout.runs, plan, clock());
|
|
29
|
+
const runId = journal.snapshot().runId;
|
|
30
|
+
for (const action of plan.actions) {
|
|
31
|
+
const startedAt = clock().toISOString();
|
|
32
|
+
await journal.updateAction(action.actionId, {
|
|
33
|
+
status: "revalidating",
|
|
34
|
+
startedAt,
|
|
35
|
+
});
|
|
36
|
+
const revalidation = options.dependencies?.revalidate === undefined
|
|
37
|
+
? await revalidateArtifactRemove(action, plan.home, config, { now: clock })
|
|
38
|
+
: await options.dependencies.revalidate(action, plan.home, config);
|
|
39
|
+
if (revalidation.status === "stale") {
|
|
40
|
+
await journal.updateAction(action.actionId, {
|
|
41
|
+
status: "skipped-stale",
|
|
42
|
+
completedAt: clock().toISOString(),
|
|
43
|
+
diagnostic: revalidation.diagnostic,
|
|
44
|
+
});
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
const authorizationCheckedAt = clock();
|
|
48
|
+
if (authorizationCheckedAt.getTime() >= Date.parse(plan.expiresAt)) {
|
|
49
|
+
await journal.updateAction(action.actionId, {
|
|
50
|
+
status: "skipped-stale",
|
|
51
|
+
completedAt: authorizationCheckedAt.toISOString(),
|
|
52
|
+
diagnostic: {
|
|
53
|
+
severity: "warning",
|
|
54
|
+
code: "PLAN_EXPIRED_DURING_APPLY",
|
|
55
|
+
message: `cleanup plan authorization expired at ${plan.expiresAt}`,
|
|
56
|
+
adapter: action.adapter,
|
|
57
|
+
resourceId: action.resourceId,
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
const isolationId = `${runId}-${sha256(action.actionId).slice(0, 12)}`;
|
|
63
|
+
const isolationPath = artifactIsolationPath(action, isolationId);
|
|
64
|
+
await journal.updateAction(action.actionId, {
|
|
65
|
+
status: "applying",
|
|
66
|
+
isolationPath,
|
|
67
|
+
});
|
|
68
|
+
let result;
|
|
69
|
+
try {
|
|
70
|
+
result = await (options.dependencies?.execute ??
|
|
71
|
+
((selectedAction, selectedIsolationId) => executeArtifactRemove(selectedAction, {
|
|
72
|
+
id: () => selectedIsolationId,
|
|
73
|
+
maxEntries: config.audit.maxEntries,
|
|
74
|
+
authorization: {
|
|
75
|
+
expiresAtMs: Date.parse(plan.expiresAt),
|
|
76
|
+
now: clock,
|
|
77
|
+
},
|
|
78
|
+
})))(action, isolationId);
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
const executionError = error instanceof ArtifactExecutionError ? error : undefined;
|
|
82
|
+
await journal.updateAction(action.actionId, {
|
|
83
|
+
status: executionError?.outcome ?? "failed",
|
|
84
|
+
completedAt: clock().toISOString(),
|
|
85
|
+
isolationPath: executionError?.isolationPath ?? isolationPath,
|
|
86
|
+
diagnostic: {
|
|
87
|
+
severity: executionError?.outcome === "skipped-stale" ? "warning" : "error",
|
|
88
|
+
code: executionError?.diagnosticCode ??
|
|
89
|
+
(executionError?.outcome === "skipped-stale"
|
|
90
|
+
? "ARTIFACT_IDENTITY_CHANGED"
|
|
91
|
+
: executionError?.outcome === "partially-applied"
|
|
92
|
+
? "ARTIFACT_PARTIALLY_APPLIED"
|
|
93
|
+
: executionError?.outcome === "rolled-back"
|
|
94
|
+
? "ARTIFACT_ROLLED_BACK"
|
|
95
|
+
: "ARTIFACT_APPLY_FAILED"),
|
|
96
|
+
message: error instanceof Error ? error.message : String(error),
|
|
97
|
+
adapter: action.adapter,
|
|
98
|
+
resourceId: action.resourceId,
|
|
99
|
+
},
|
|
100
|
+
});
|
|
101
|
+
if (executionError?.outcome === "skipped-stale") {
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
break;
|
|
105
|
+
}
|
|
106
|
+
await journal.updateAction(action.actionId, {
|
|
107
|
+
status: "applied",
|
|
108
|
+
completedAt: clock().toISOString(),
|
|
109
|
+
reclaimedBytes: result.reclaimedBytes,
|
|
110
|
+
isolationPath: result.isolationPath,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
const run = await journal.complete(clock());
|
|
114
|
+
return { plan, run, journalPath: journal.path };
|
|
115
|
+
}
|
|
116
|
+
finally {
|
|
117
|
+
await lock.release();
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=apply.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/core/apply.ts"],"names":[],"mappings":"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"}
|