agentrinse 0.0.0 → 0.2.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/README.md +165 -83
- package/dist/adapters/artifacts/adapter.d.ts +3 -1
- package/dist/adapters/artifacts/adapter.d.ts.map +1 -1
- package/dist/adapters/artifacts/adapter.js +23 -1
- package/dist/adapters/artifacts/adapter.js.map +1 -1
- package/dist/adapters/git/adapter.d.ts +8 -1
- package/dist/adapters/git/adapter.d.ts.map +1 -1
- package/dist/adapters/git/adapter.js +247 -13
- package/dist/adapters/git/adapter.js.map +1 -1
- package/dist/adapters/git/status.d.ts +14 -0
- package/dist/adapters/git/status.d.ts.map +1 -0
- package/dist/adapters/git/status.js +81 -0
- package/dist/adapters/git/status.js.map +1 -0
- package/dist/adapters/provider-adapter.d.ts +3 -0
- package/dist/adapters/provider-adapter.d.ts.map +1 -1
- package/dist/adapters/provider-adapter.js +16 -0
- package/dist/adapters/provider-adapter.js.map +1 -1
- package/dist/adapters/provider-reachability.d.ts +6 -0
- package/dist/adapters/provider-reachability.d.ts.map +1 -0
- package/dist/adapters/provider-reachability.js +207 -0
- package/dist/adapters/provider-reachability.js.map +1 -0
- package/dist/adapters/provider-specs.d.ts +1 -1
- package/dist/adapters/provider-specs.d.ts.map +1 -1
- package/dist/adapters/registry.d.ts +7 -1
- package/dist/adapters/registry.d.ts.map +1 -1
- package/dist/adapters/registry.js +44 -4
- package/dist/adapters/registry.js.map +1 -1
- package/dist/adapters/runtime/adapter.d.ts +24 -0
- package/dist/adapters/runtime/adapter.d.ts.map +1 -0
- package/dist/adapters/runtime/adapter.js +319 -0
- package/dist/adapters/runtime/adapter.js.map +1 -0
- package/dist/cli.js +2 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/adapters.d.ts.map +1 -1
- package/dist/commands/adapters.js +1 -0
- package/dist/commands/adapters.js.map +1 -1
- package/dist/commands/apply.d.ts +6 -0
- package/dist/commands/apply.d.ts.map +1 -1
- package/dist/commands/apply.js +37 -13
- package/dist/commands/apply.js.map +1 -1
- package/dist/commands/audit.d.ts +7 -1
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +103 -12
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/clean.d.ts +61 -0
- package/dist/commands/clean.d.ts.map +1 -0
- package/dist/commands/clean.js +224 -0
- package/dist/commands/clean.js.map +1 -0
- package/dist/commands/completion.d.ts +4 -0
- package/dist/commands/completion.d.ts.map +1 -0
- package/dist/commands/completion.js +95 -0
- package/dist/commands/completion.js.map +1 -0
- package/dist/commands/config.d.ts +17 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +41 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/doctor.d.ts +28 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +582 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/history.d.ts +15 -0
- package/dist/commands/history.d.ts.map +1 -0
- package/dist/commands/history.js +30 -0
- package/dist/commands/history.js.map +1 -0
- package/dist/commands/lock.d.ts +21 -0
- package/dist/commands/lock.d.ts.map +1 -0
- package/dist/commands/lock.js +43 -0
- package/dist/commands/lock.js.map +1 -0
- package/dist/commands/plan.d.ts +2 -0
- package/dist/commands/plan.d.ts.map +1 -1
- package/dist/commands/plan.js +9 -2
- package/dist/commands/plan.js.map +1 -1
- package/dist/commands/show.d.ts +20 -0
- package/dist/commands/show.d.ts.map +1 -0
- package/dist/commands/show.js +54 -0
- package/dist/commands/show.js.map +1 -0
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +2 -0
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/load.d.ts +6 -0
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +25 -0
- package/dist/config/load.js.map +1 -1
- package/dist/config/path.d.ts +5 -0
- package/dist/config/path.d.ts.map +1 -0
- package/dist/config/path.js +13 -0
- package/dist/config/path.js.map +1 -0
- package/dist/config/schema.d.ts +23 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +48 -0
- package/dist/config/schema.js.map +1 -1
- package/dist/contracts/doctor.d.ts +35 -0
- package/dist/contracts/doctor.d.ts.map +1 -0
- package/dist/contracts/doctor.js +15 -0
- package/dist/contracts/doctor.js.map +1 -0
- package/dist/contracts/output.d.ts +50 -0
- package/dist/contracts/output.d.ts.map +1 -0
- package/dist/contracts/output.js +23 -0
- package/dist/contracts/output.js.map +1 -0
- package/dist/contracts/run.d.ts +2 -0
- package/dist/contracts/run.d.ts.map +1 -1
- package/dist/contracts/run.js +1 -1
- package/dist/contracts/run.js.map +1 -1
- package/dist/core/apply.d.ts +1 -0
- package/dist/core/apply.d.ts.map +1 -1
- package/dist/core/apply.js +46 -3
- package/dist/core/apply.js.map +1 -1
- package/dist/core/audit.d.ts +21 -0
- package/dist/core/audit.d.ts.map +1 -1
- package/dist/core/audit.js +31 -1
- package/dist/core/audit.js.map +1 -1
- package/dist/core/duration.d.ts +2 -0
- package/dist/core/duration.d.ts.map +1 -0
- package/dist/core/duration.js +21 -0
- package/dist/core/duration.js.map +1 -0
- package/dist/core/interruption.d.ts +5 -0
- package/dist/core/interruption.d.ts.map +1 -0
- package/dist/core/interruption.js +5 -0
- package/dist/core/interruption.js.map +1 -0
- package/dist/core/process-identity.d.ts +24 -0
- package/dist/core/process-identity.d.ts.map +1 -0
- package/dist/core/process-identity.js +104 -0
- package/dist/core/process-identity.js.map +1 -0
- package/dist/core/reachability.d.ts +29 -0
- package/dist/core/reachability.d.ts.map +1 -0
- package/dist/core/reachability.js +121 -0
- package/dist/core/reachability.js.map +1 -0
- package/dist/core/redaction.d.ts +4 -0
- package/dist/core/redaction.d.ts.map +1 -0
- package/dist/core/redaction.js +91 -0
- package/dist/core/redaction.js.map +1 -0
- package/dist/core/safety.d.ts +8 -0
- package/dist/core/safety.d.ts.map +1 -1
- package/dist/core/safety.js +29 -1
- package/dist/core/safety.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/machine-output.d.ts +21 -0
- package/dist/machine-output.d.ts.map +1 -0
- package/dist/machine-output.js +32 -0
- package/dist/machine-output.js.map +1 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +232 -7
- package/dist/main.js.map +1 -1
- package/dist/state/json-file.d.ts +6 -1
- package/dist/state/json-file.d.ts.map +1 -1
- package/dist/state/json-file.js +34 -3
- package/dist/state/json-file.js.map +1 -1
- package/dist/state/layout.d.ts +2 -0
- package/dist/state/layout.d.ts.map +1 -1
- package/dist/state/layout.js +2 -0
- package/dist/state/layout.js.map +1 -1
- package/dist/state/lock.d.ts +54 -1
- package/dist/state/lock.d.ts.map +1 -1
- package/dist/state/lock.js +237 -33
- package/dist/state/lock.js.map +1 -1
- package/dist/state/records.d.ts +5 -0
- package/dist/state/records.d.ts.map +1 -0
- package/dist/state/records.js +35 -0
- package/dist/state/records.js.map +1 -0
- package/dist/state/run-journal.d.ts +3 -1
- package/dist/state/run-journal.d.ts.map +1 -1
- package/dist/state/run-journal.js +15 -4
- package/dist/state/run-journal.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -2
- package/schemas/command-envelope.schema.json +78 -0
- package/schemas/command-event.schema.json +36 -0
- package/schemas/doctor.schema.json +51 -0
- package/schemas/run.schema.json +1 -1
package/dist/main.js
CHANGED
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
|
+
import { homedir } from "node:os";
|
|
2
3
|
import { executeAuditCommand } from "./commands/audit.js";
|
|
3
4
|
import { renderAdapters } from "./commands/adapters.js";
|
|
4
5
|
import { executeApplyCommand } from "./commands/apply.js";
|
|
6
|
+
import { cleanCommandExitCode, executeCleanCommand } from "./commands/clean.js";
|
|
7
|
+
import { executeConfigInitCommand, executeConfigPathCommand, executeConfigShowCommand, executeConfigValidateCommand, } from "./commands/config.js";
|
|
8
|
+
import { renderCompletion } from "./commands/completion.js";
|
|
9
|
+
import { executeDoctorCommand } from "./commands/doctor.js";
|
|
10
|
+
import { executeHistoryCommand } from "./commands/history.js";
|
|
11
|
+
import { executeLockRecoverCommand, executeLockStatusCommand } from "./commands/lock.js";
|
|
5
12
|
import { executePlanCommand } from "./commands/plan.js";
|
|
13
|
+
import { executeShowPlanCommand, executeShowResourceCommand, executeShowRunCommand, } from "./commands/show.js";
|
|
14
|
+
import { CommandInterruptedError } from "./core/interruption.js";
|
|
6
15
|
import { VERSION } from "./version.js";
|
|
7
16
|
export function buildProgram() {
|
|
8
17
|
const program = new Command()
|
|
@@ -12,13 +21,22 @@ export function buildProgram() {
|
|
|
12
21
|
program
|
|
13
22
|
.command("audit")
|
|
14
23
|
.description("Inventory a home without mutating it.")
|
|
15
|
-
.
|
|
24
|
+
.option("--home <path>", "home directory to audit")
|
|
16
25
|
.option("--config <path>", "explicit JSON config")
|
|
17
26
|
.option("--json", "emit the versioned JSON report", false)
|
|
27
|
+
.option("--ndjson", "stream versioned NDJSON events", false)
|
|
28
|
+
.option("--redact", "redact paths and identifiers in machine output", false)
|
|
18
29
|
.option("--output <path>", "write the JSON report atomically")
|
|
30
|
+
.option("--state-dir <path>", "override the AgentRinse state directory")
|
|
19
31
|
.action(async (options) => {
|
|
20
|
-
const result = await executeAuditCommand(
|
|
21
|
-
|
|
32
|
+
const result = await executeAuditCommand({
|
|
33
|
+
...options,
|
|
34
|
+
home: options.home ?? homedir(),
|
|
35
|
+
...(options.ndjson ? { emit: (output) => process.stdout.write(output) } : {}),
|
|
36
|
+
});
|
|
37
|
+
if (result.output !== "") {
|
|
38
|
+
process.stdout.write(result.output);
|
|
39
|
+
}
|
|
22
40
|
});
|
|
23
41
|
program
|
|
24
42
|
.command("plan")
|
|
@@ -26,10 +44,48 @@ export function buildProgram() {
|
|
|
26
44
|
.requiredOption("--audit <path>", "saved audit JSON")
|
|
27
45
|
.option("--config <path>", "explicit JSON config")
|
|
28
46
|
.option("--output <path>", "write the plan atomically")
|
|
47
|
+
.option("--state-dir <path>", "override the AgentRinse state directory")
|
|
29
48
|
.action(async (options) => {
|
|
30
49
|
const result = await executePlanCommand(options);
|
|
31
50
|
process.stdout.write(result.output);
|
|
32
51
|
});
|
|
52
|
+
program
|
|
53
|
+
.command("clean")
|
|
54
|
+
.description("Audit and plan repository-scoped agent cleanup.")
|
|
55
|
+
.option("--profile <name>", "cleanup profile", "closeout")
|
|
56
|
+
.option("--home <path>", "home directory to audit")
|
|
57
|
+
.option("--config <path>", "explicit JSON config")
|
|
58
|
+
.option("--state-dir <path>", "override the AgentRinse state directory")
|
|
59
|
+
.option("--max-risk <risk>", "safe, recoverable, destructive, or experimental")
|
|
60
|
+
.option("--apply", "apply the fresh plan after confirmation", false)
|
|
61
|
+
.option("--yes", "authorize non-interactive apply", false)
|
|
62
|
+
.option("--json", "emit a compact versioned closeout summary", false)
|
|
63
|
+
.action(async (options) => {
|
|
64
|
+
if (options.profile !== "closeout") {
|
|
65
|
+
throw new Error(`unsupported clean profile: ${options.profile}`);
|
|
66
|
+
}
|
|
67
|
+
const controller = new AbortController();
|
|
68
|
+
const interrupt = () => {
|
|
69
|
+
controller.abort(new CommandInterruptedError("interrupted by SIGINT"));
|
|
70
|
+
};
|
|
71
|
+
process.on("SIGINT", interrupt);
|
|
72
|
+
try {
|
|
73
|
+
const result = await executeCleanCommand({
|
|
74
|
+
...options,
|
|
75
|
+
profile: "closeout",
|
|
76
|
+
home: options.home ?? homedir(),
|
|
77
|
+
signal: controller.signal,
|
|
78
|
+
});
|
|
79
|
+
process.stdout.write(result.output);
|
|
80
|
+
const exitCode = cleanCommandExitCode(result);
|
|
81
|
+
if (exitCode !== undefined) {
|
|
82
|
+
process.exitCode = exitCode;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
finally {
|
|
86
|
+
process.removeListener("SIGINT", interrupt);
|
|
87
|
+
}
|
|
88
|
+
});
|
|
33
89
|
program
|
|
34
90
|
.command("apply")
|
|
35
91
|
.description("Apply an authorized cleanup plan after revalidation.")
|
|
@@ -39,10 +95,26 @@ export function buildProgram() {
|
|
|
39
95
|
.option("--yes", "authorize non-interactive apply", false)
|
|
40
96
|
.option("--json", "emit the versioned run journal", false)
|
|
41
97
|
.action(async (options) => {
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
98
|
+
const controller = new AbortController();
|
|
99
|
+
const interrupt = () => {
|
|
100
|
+
controller.abort(new CommandInterruptedError("interrupted by SIGINT"));
|
|
101
|
+
};
|
|
102
|
+
process.on("SIGINT", interrupt);
|
|
103
|
+
try {
|
|
104
|
+
const result = await executeApplyCommand({
|
|
105
|
+
...options,
|
|
106
|
+
signal: controller.signal,
|
|
107
|
+
});
|
|
108
|
+
process.stdout.write(result.output);
|
|
109
|
+
if (result.run.status === "interrupted") {
|
|
110
|
+
process.exitCode = 130;
|
|
111
|
+
}
|
|
112
|
+
else if (["failed", "partial"].includes(result.run.status)) {
|
|
113
|
+
process.exitCode = 2;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
finally {
|
|
117
|
+
process.removeListener("SIGINT", interrupt);
|
|
46
118
|
}
|
|
47
119
|
});
|
|
48
120
|
program
|
|
@@ -51,6 +123,159 @@ export function buildProgram() {
|
|
|
51
123
|
.action(() => {
|
|
52
124
|
process.stdout.write(renderAdapters());
|
|
53
125
|
});
|
|
126
|
+
program
|
|
127
|
+
.command("doctor")
|
|
128
|
+
.description("Diagnose platform, configuration, state, and optional integrations.")
|
|
129
|
+
.option("--home <path>", "home directory used for diagnostics")
|
|
130
|
+
.option("--config <path>", "explicit JSON config")
|
|
131
|
+
.option("--state-dir <path>", "override the AgentRinse state directory")
|
|
132
|
+
.option("--json", "emit the versioned JSON report", false)
|
|
133
|
+
.action(async (options) => {
|
|
134
|
+
const result = await executeDoctorCommand({
|
|
135
|
+
...options,
|
|
136
|
+
home: options.home ?? homedir(),
|
|
137
|
+
});
|
|
138
|
+
process.stdout.write(result.output);
|
|
139
|
+
if (result.report.status === "error") {
|
|
140
|
+
process.exitCode = 1;
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
program
|
|
144
|
+
.command("completion <shell>")
|
|
145
|
+
.description("Generate shell completion for bash, zsh, or fish.")
|
|
146
|
+
.action((shell) => {
|
|
147
|
+
process.stdout.write(renderCompletion(shell));
|
|
148
|
+
});
|
|
149
|
+
const config = program.command("config").description("Inspect and initialize configuration.");
|
|
150
|
+
config
|
|
151
|
+
.command("path")
|
|
152
|
+
.description("Print the resolved configuration path.")
|
|
153
|
+
.option("--home <path>", "home directory used for default resolution")
|
|
154
|
+
.option("--config <path>", "explicit JSON config")
|
|
155
|
+
.action((options) => {
|
|
156
|
+
process.stdout.write(executeConfigPathCommand({
|
|
157
|
+
home: options.home ?? homedir(),
|
|
158
|
+
config: options.config,
|
|
159
|
+
}).output);
|
|
160
|
+
});
|
|
161
|
+
config
|
|
162
|
+
.command("init")
|
|
163
|
+
.description("Create a default configuration without overwriting.")
|
|
164
|
+
.option("--home <path>", "home directory used for default resolution")
|
|
165
|
+
.option("--config <path>", "explicit JSON config")
|
|
166
|
+
.action(async (options) => {
|
|
167
|
+
const result = await executeConfigInitCommand({
|
|
168
|
+
home: options.home ?? homedir(),
|
|
169
|
+
config: options.config,
|
|
170
|
+
});
|
|
171
|
+
process.stdout.write(result.output);
|
|
172
|
+
});
|
|
173
|
+
config
|
|
174
|
+
.command("show")
|
|
175
|
+
.description("Print the effective configuration.")
|
|
176
|
+
.option("--home <path>", "home directory used for default resolution")
|
|
177
|
+
.option("--config <path>", "explicit JSON config")
|
|
178
|
+
.action(async (options) => {
|
|
179
|
+
const result = await executeConfigShowCommand({
|
|
180
|
+
home: options.home ?? homedir(),
|
|
181
|
+
config: options.config,
|
|
182
|
+
});
|
|
183
|
+
process.stdout.write(result.output);
|
|
184
|
+
});
|
|
185
|
+
config
|
|
186
|
+
.command("validate")
|
|
187
|
+
.description("Validate an existing configuration file.")
|
|
188
|
+
.option("--home <path>", "home directory used for default resolution")
|
|
189
|
+
.option("--config <path>", "explicit JSON config")
|
|
190
|
+
.action(async (options) => {
|
|
191
|
+
const result = await executeConfigValidateCommand({
|
|
192
|
+
home: options.home ?? homedir(),
|
|
193
|
+
config: options.config,
|
|
194
|
+
});
|
|
195
|
+
process.stdout.write(result.output);
|
|
196
|
+
});
|
|
197
|
+
program
|
|
198
|
+
.command("history")
|
|
199
|
+
.description("List persisted cleanup runs.")
|
|
200
|
+
.option("--home <path>", "home directory used for state resolution")
|
|
201
|
+
.option("--state-dir <path>", "override the AgentRinse state directory")
|
|
202
|
+
.option("--since <duration>", "include runs newer than a duration such as 30d")
|
|
203
|
+
.option("--json", "emit JSON", false)
|
|
204
|
+
.action(async (options) => {
|
|
205
|
+
const result = await executeHistoryCommand({
|
|
206
|
+
...options,
|
|
207
|
+
home: options.home ?? homedir(),
|
|
208
|
+
});
|
|
209
|
+
process.stdout.write(result.output);
|
|
210
|
+
});
|
|
211
|
+
const show = program.command("show").description("Inspect persisted AgentRinse records.");
|
|
212
|
+
show
|
|
213
|
+
.command("run <run-id-or-path>")
|
|
214
|
+
.description("Show one cleanup run.")
|
|
215
|
+
.option("--home <path>", "home directory used for state resolution")
|
|
216
|
+
.option("--state-dir <path>", "override the AgentRinse state directory")
|
|
217
|
+
.option("--json", "emit JSON", false)
|
|
218
|
+
.action(async (idOrPath, options) => {
|
|
219
|
+
const result = await executeShowRunCommand(idOrPath, {
|
|
220
|
+
...options,
|
|
221
|
+
home: options.home ?? homedir(),
|
|
222
|
+
});
|
|
223
|
+
process.stdout.write(result.output);
|
|
224
|
+
});
|
|
225
|
+
show
|
|
226
|
+
.command("plan <plan-id-or-path>")
|
|
227
|
+
.description("Show one cleanup plan.")
|
|
228
|
+
.option("--home <path>", "home directory used for state resolution")
|
|
229
|
+
.option("--state-dir <path>", "override the AgentRinse state directory")
|
|
230
|
+
.option("--json", "emit JSON", false)
|
|
231
|
+
.action(async (idOrPath, options) => {
|
|
232
|
+
const result = await executeShowPlanCommand(idOrPath, {
|
|
233
|
+
...options,
|
|
234
|
+
home: options.home ?? homedir(),
|
|
235
|
+
});
|
|
236
|
+
process.stdout.write(result.output);
|
|
237
|
+
});
|
|
238
|
+
show
|
|
239
|
+
.command("resource <resource-id>")
|
|
240
|
+
.description("Show the latest persisted resource finding.")
|
|
241
|
+
.option("--home <path>", "home directory used for state resolution")
|
|
242
|
+
.option("--state-dir <path>", "override the AgentRinse state directory")
|
|
243
|
+
.option("--json", "emit JSON", false)
|
|
244
|
+
.action(async (resourceId, options) => {
|
|
245
|
+
const result = await executeShowResourceCommand(resourceId, {
|
|
246
|
+
...options,
|
|
247
|
+
home: options.home ?? homedir(),
|
|
248
|
+
});
|
|
249
|
+
process.stdout.write(result.output);
|
|
250
|
+
});
|
|
251
|
+
const lock = program.command("lock").description("Inspect and recover the apply lock.");
|
|
252
|
+
lock
|
|
253
|
+
.command("status")
|
|
254
|
+
.description("Inspect the apply lock and its recorded process identity.")
|
|
255
|
+
.option("--home <path>", "home directory used for state resolution")
|
|
256
|
+
.option("--state-dir <path>", "override the AgentRinse state directory")
|
|
257
|
+
.option("--json", "emit JSON", false)
|
|
258
|
+
.action(async (options) => {
|
|
259
|
+
const result = await executeLockStatusCommand({
|
|
260
|
+
...options,
|
|
261
|
+
home: options.home ?? homedir(),
|
|
262
|
+
});
|
|
263
|
+
process.stdout.write(result.output);
|
|
264
|
+
});
|
|
265
|
+
lock
|
|
266
|
+
.command("recover")
|
|
267
|
+
.description("Remove a local lock only after proving its process identity is gone.")
|
|
268
|
+
.option("--home <path>", "home directory used for state resolution")
|
|
269
|
+
.option("--state-dir <path>", "override the AgentRinse state directory")
|
|
270
|
+
.option("--yes", "authorize recovery after inspecting the lock", false)
|
|
271
|
+
.option("--json", "emit JSON", false)
|
|
272
|
+
.action(async (options) => {
|
|
273
|
+
const result = await executeLockRecoverCommand({
|
|
274
|
+
...options,
|
|
275
|
+
home: options.home ?? homedir(),
|
|
276
|
+
});
|
|
277
|
+
process.stdout.write(result.output);
|
|
278
|
+
});
|
|
54
279
|
return program;
|
|
55
280
|
}
|
|
56
281
|
export async function main(argv = process.argv) {
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
export declare function readJsonFile(path: string): Promise<unknown>;
|
|
2
2
|
export declare function syncDirectory(path: string): Promise<void>;
|
|
3
|
-
export
|
|
3
|
+
export type JsonWriteOptions = {
|
|
4
|
+
privateDirectories?: string[];
|
|
5
|
+
};
|
|
6
|
+
export declare function ensurePrivateDirectory(directory: string): Promise<void>;
|
|
7
|
+
export declare function writeJsonAtomic(path: string, value: unknown, options?: JsonWriteOptions): Promise<void>;
|
|
8
|
+
export declare function writeJsonExclusive(path: string, value: unknown): Promise<void>;
|
|
4
9
|
//# sourceMappingURL=json-file.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-file.d.ts","sourceRoot":"","sources":["../../src/state/json-file.ts"],"names":[],"mappings":"AAIA,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAEjE;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO/D;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"json-file.d.ts","sourceRoot":"","sources":["../../src/state/json-file.ts"],"names":[],"mappings":"AAIA,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAEjE;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO/D;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B,CAAC;AAEF,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAW7E;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBpF"}
|
package/dist/state/json-file.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { chmod, mkdir, open, readFile, rename, rm } from "node:fs/promises";
|
|
1
|
+
import { chmod, lstat, mkdir, open, readFile, rename, rm } from "node:fs/promises";
|
|
2
2
|
import { dirname, join } from "node:path";
|
|
3
3
|
import { randomUUID } from "node:crypto";
|
|
4
4
|
export async function readJsonFile(path) {
|
|
@@ -13,10 +13,24 @@ export async function syncDirectory(path) {
|
|
|
13
13
|
await handle.close();
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
|
-
export async function
|
|
17
|
-
const directory = dirname(path);
|
|
16
|
+
export async function ensurePrivateDirectory(directory) {
|
|
18
17
|
await mkdir(directory, { recursive: true, mode: 0o700 });
|
|
18
|
+
const stats = await lstat(directory);
|
|
19
|
+
if (!stats.isDirectory() || stats.isSymbolicLink()) {
|
|
20
|
+
throw new Error(`private state path is not a real directory: ${directory}`);
|
|
21
|
+
}
|
|
22
|
+
const uid = process.getuid?.();
|
|
23
|
+
if (uid !== undefined && stats.uid !== uid) {
|
|
24
|
+
throw new Error(`private state directory is not owned by the current user: ${directory}`);
|
|
25
|
+
}
|
|
19
26
|
await chmod(directory, 0o700);
|
|
27
|
+
}
|
|
28
|
+
export async function writeJsonAtomic(path, value, options = {}) {
|
|
29
|
+
const directory = dirname(path);
|
|
30
|
+
for (const privateDirectory of new Set(options.privateDirectories ?? [])) {
|
|
31
|
+
await ensurePrivateDirectory(privateDirectory);
|
|
32
|
+
}
|
|
33
|
+
await mkdir(directory, { recursive: true, mode: 0o700 });
|
|
20
34
|
const temporary = join(directory, `.${randomUUID()}.tmp`);
|
|
21
35
|
const handle = await open(temporary, "wx", 0o600);
|
|
22
36
|
try {
|
|
@@ -33,4 +47,21 @@ export async function writeJsonAtomic(path, value) {
|
|
|
33
47
|
throw error;
|
|
34
48
|
}
|
|
35
49
|
}
|
|
50
|
+
export async function writeJsonExclusive(path, value) {
|
|
51
|
+
const directory = dirname(path);
|
|
52
|
+
await mkdir(directory, { recursive: true, mode: 0o700 });
|
|
53
|
+
const handle = await open(path, "wx", 0o600);
|
|
54
|
+
try {
|
|
55
|
+
await handle.writeFile(`${JSON.stringify(value, null, 2)}\n`, "utf8");
|
|
56
|
+
await handle.sync();
|
|
57
|
+
await handle.close();
|
|
58
|
+
await chmod(path, 0o600);
|
|
59
|
+
await syncDirectory(directory);
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
await handle.close().catch(() => undefined);
|
|
63
|
+
await rm(path, { force: true }).catch(() => undefined);
|
|
64
|
+
throw error;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
36
67
|
//# sourceMappingURL=json-file.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-file.js","sourceRoot":"","sources":["../../src/state/json-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"json-file.js","sourceRoot":"","sources":["../../src/state/json-file.ts"],"names":[],"mappings":"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"}
|
package/dist/state/layout.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/state/layout.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,GAAE,gBAA8B,GAC1C,MAAM,CAQR;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/state/layout.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,GAAE,gBAA8B,GAC1C,MAAM,CAQR;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAUrD"}
|
package/dist/state/layout.js
CHANGED
|
@@ -12,6 +12,8 @@ export function stateLayout(root) {
|
|
|
12
12
|
const resolved = resolve(root);
|
|
13
13
|
return {
|
|
14
14
|
root: resolved,
|
|
15
|
+
audits: join(resolved, "audits"),
|
|
16
|
+
plans: join(resolved, "plans"),
|
|
15
17
|
locks: join(resolved, "locks"),
|
|
16
18
|
runs: join(resolved, "runs"),
|
|
17
19
|
tombstones: join(resolved, "tombstones"),
|
package/dist/state/layout.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/state/layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/state/layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAe1C,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,QAAiB,EACjB,WAAW,GAAqB,OAAO,CAAC,GAAG;IAE3C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,WAAW,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QAC7C,OAAO,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAChC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC9B,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC9B,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC5B,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC;KACzC,CAAC;AACJ,CAAC"}
|
package/dist/state/lock.d.ts
CHANGED
|
@@ -1,9 +1,62 @@
|
|
|
1
|
+
import { type ProcessIdentityInspection } from "../core/process-identity.js";
|
|
1
2
|
export declare class LockHeldError extends Error {
|
|
2
3
|
readonly name = "LockHeldError";
|
|
3
4
|
}
|
|
5
|
+
export declare class LockRecoveryError extends Error {
|
|
6
|
+
readonly name = "LockRecoveryError";
|
|
7
|
+
}
|
|
4
8
|
export type StateLock = {
|
|
5
9
|
path: string;
|
|
6
10
|
release(): Promise<void>;
|
|
7
11
|
};
|
|
8
|
-
export
|
|
12
|
+
export type ApplyLockOwner = {
|
|
13
|
+
token: string;
|
|
14
|
+
pid: number;
|
|
15
|
+
processStartIdentity?: string;
|
|
16
|
+
hostname: string;
|
|
17
|
+
command: string;
|
|
18
|
+
planId: string;
|
|
19
|
+
runId: string;
|
|
20
|
+
createdAt: string;
|
|
21
|
+
};
|
|
22
|
+
export type ApplyLockStatus = {
|
|
23
|
+
status: "absent";
|
|
24
|
+
path: string;
|
|
25
|
+
} | {
|
|
26
|
+
status: "malformed";
|
|
27
|
+
path: string;
|
|
28
|
+
reason: string;
|
|
29
|
+
} | {
|
|
30
|
+
status: "active";
|
|
31
|
+
path: string;
|
|
32
|
+
owner: ApplyLockOwner;
|
|
33
|
+
} | {
|
|
34
|
+
status: "stale";
|
|
35
|
+
path: string;
|
|
36
|
+
owner: ApplyLockOwner;
|
|
37
|
+
reason: string;
|
|
38
|
+
} | {
|
|
39
|
+
status: "remote";
|
|
40
|
+
path: string;
|
|
41
|
+
owner: ApplyLockOwner;
|
|
42
|
+
reason: string;
|
|
43
|
+
} | {
|
|
44
|
+
status: "unknown";
|
|
45
|
+
path: string;
|
|
46
|
+
owner: ApplyLockOwner;
|
|
47
|
+
reason: string;
|
|
48
|
+
};
|
|
49
|
+
export type AcquireApplyLockOptions = {
|
|
50
|
+
planId: string;
|
|
51
|
+
runId: string;
|
|
52
|
+
command: string;
|
|
53
|
+
};
|
|
54
|
+
export type LockInspectionDependencies = {
|
|
55
|
+
currentHostname?: () => string;
|
|
56
|
+
inspectProcess?: (pid: number) => Promise<ProcessIdentityInspection>;
|
|
57
|
+
beforeRecoveryRemove?: () => Promise<void>;
|
|
58
|
+
};
|
|
59
|
+
export declare function inspectApplyLock(locksDirectory: string, dependencies?: LockInspectionDependencies): Promise<ApplyLockStatus>;
|
|
60
|
+
export declare function recoverStaleApplyLock(locksDirectory: string, dependencies?: LockInspectionDependencies): Promise<ApplyLockOwner>;
|
|
61
|
+
export declare function acquireApplyLock(locksDirectory: string, options: AcquireApplyLockOptions): Promise<StateLock>;
|
|
9
62
|
//# sourceMappingURL=lock.d.ts.map
|
package/dist/state/lock.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../src/state/lock.ts"],"names":[],"mappings":"AAOA,qBAAa,aAAc,SAAQ,KAAK;IACtC,SAAkB,IAAI,mBAAmB;CAC1C;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B,CAAC;
|
|
1
|
+
{"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../src/state/lock.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,6BAA6B,CAAC;AAGrC,qBAAa,aAAc,SAAQ,KAAK;IACtC,SAAkB,IAAI,mBAAmB;CAC1C;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,SAAkB,IAAI,uBAAuB;CAC9C;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,eAAe,GACvB;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,GACzD;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACxE;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACzE;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/E,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,eAAe,CAAC,EAAE,MAAM,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACrE,oBAAoB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C,CAAC;AA0OF,wBAAsB,gBAAgB,CACpC,cAAc,EAAE,MAAM,EACtB,YAAY,GAAE,0BAA+B,GAC5C,OAAO,CAAC,eAAe,CAAC,CAE1B;AAED,wBAAsB,qBAAqB,CACzC,cAAc,EAAE,MAAM,EACtB,YAAY,GAAE,0BAA+B,GAC5C,OAAO,CAAC,cAAc,CAAC,CAmCzB;AAED,wBAAsB,gBAAgB,CACpC,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,SAAS,CAAC,CAoEpB"}
|