@openrig/cli 0.1.6 → 0.1.8
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/daemon/dist/adapters/cmux-transport.d.ts.map +1 -1
- package/daemon/dist/adapters/cmux-transport.js +40 -3
- package/daemon/dist/adapters/cmux-transport.js.map +1 -1
- package/daemon/dist/adapters/cmux.d.ts +4 -2
- package/daemon/dist/adapters/cmux.d.ts.map +1 -1
- package/daemon/dist/adapters/cmux.js +90 -11
- package/daemon/dist/adapters/cmux.js.map +1 -1
- package/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/bootstrap-orchestrator.js +12 -0
- package/daemon/dist/domain/bootstrap-orchestrator.js.map +1 -1
- package/daemon/dist/domain/node-cmux-service.d.ts +19 -0
- package/daemon/dist/domain/node-cmux-service.d.ts.map +1 -0
- package/daemon/dist/domain/node-cmux-service.js +75 -0
- package/daemon/dist/domain/node-cmux-service.js.map +1 -0
- package/daemon/dist/domain/service-orchestrator.d.ts +3 -1
- package/daemon/dist/domain/service-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/service-orchestrator.js +2 -2
- package/daemon/dist/domain/service-orchestrator.js.map +1 -1
- package/daemon/dist/domain/services-readiness.d.ts +9 -5
- package/daemon/dist/domain/services-readiness.d.ts.map +1 -1
- package/daemon/dist/domain/services-readiness.js +9 -5
- package/daemon/dist/domain/services-readiness.js.map +1 -1
- package/daemon/dist/routes/adapters.js +3 -2
- package/daemon/dist/routes/adapters.js.map +1 -1
- package/daemon/dist/routes/env.d.ts.map +1 -1
- package/daemon/dist/routes/env.js +19 -13
- package/daemon/dist/routes/env.js.map +1 -1
- package/daemon/dist/routes/sessions.d.ts.map +1 -1
- package/daemon/dist/routes/sessions.js +14 -0
- package/daemon/dist/routes/sessions.js.map +1 -1
- package/daemon/dist/server.d.ts +1 -0
- package/daemon/dist/server.d.ts.map +1 -1
- package/daemon/dist/server.js +1 -0
- package/daemon/dist/server.js.map +1 -1
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +3 -0
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/specs/agents/shared/skills/core/openrig-user/SKILL.md +53 -2
- package/dist/bin-wrapper.d.ts +1 -0
- package/dist/bin-wrapper.d.ts.map +1 -1
- package/dist/bin-wrapper.js +41 -1
- package/dist/bin-wrapper.js.map +1 -1
- package/dist/commands/bootstrap.js +1 -1
- package/dist/commands/bootstrap.js.map +1 -1
- package/dist/commands/destroy.d.ts +9 -0
- package/dist/commands/destroy.d.ts.map +1 -0
- package/dist/commands/destroy.js +175 -0
- package/dist/commands/destroy.js.map +1 -0
- package/dist/commands/doctor.d.ts +1 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +82 -7
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/env.d.ts.map +1 -1
- package/dist/commands/env.js +8 -1
- package/dist/commands/env.js.map +1 -1
- package/dist/commands/specs.d.ts.map +1 -1
- package/dist/commands/specs.js +11 -4
- package/dist/commands/specs.js.map +1 -1
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +15 -4
- package/dist/commands/up.js.map +1 -1
- package/dist/destroy-helpers.d.ts +63 -0
- package/dist/destroy-helpers.d.ts.map +1 -0
- package/dist/destroy-helpers.js +224 -0
- package/dist/destroy-helpers.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp-server.js +1 -1
- package/dist/mcp-server.js.map +1 -1
- package/package.json +1 -1
- package/ui/dist/assets/{index-Dj2Mm5oc.js → index-CXZYxZbF.js} +14 -14
- package/ui/dist/index.html +1 -1
package/dist/bin-wrapper.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import path from "node:path";
|
|
3
|
-
import { realpathSync } from "node:fs";
|
|
3
|
+
import { existsSync, realpathSync } from "node:fs";
|
|
4
|
+
import { spawnSync } from "node:child_process";
|
|
4
5
|
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
6
|
+
const REEXEC_GUARD_ENV = "OPENRIG_BIN_REEXEC";
|
|
5
7
|
export function resolveBinEntry(invokedPath = process.argv[1], moduleUrl = import.meta.url) {
|
|
6
8
|
const wrapperPath = invokedPath ? realpathSync(invokedPath) : realpathSync(fileURLToPath(moduleUrl));
|
|
7
9
|
const packageRoot = path.resolve(path.dirname(wrapperPath), "..");
|
|
@@ -17,6 +19,43 @@ export function isDirectRun(argv1 = process.argv[1], moduleUrl = import.meta.url
|
|
|
17
19
|
return false;
|
|
18
20
|
}
|
|
19
21
|
}
|
|
22
|
+
export function resolveNodeReexecBinary(currentExecPath = process.execPath, invokedPath = process.argv[1], env = process.env, exists = existsSync, realpath = realpathSync) {
|
|
23
|
+
if (!invokedPath)
|
|
24
|
+
return null;
|
|
25
|
+
if (env[REEXEC_GUARD_ENV] === "1")
|
|
26
|
+
return null;
|
|
27
|
+
try {
|
|
28
|
+
const binDir = realpath(path.dirname(invokedPath));
|
|
29
|
+
const siblingNode = path.join(binDir, process.platform === "win32" ? "node.exe" : "node");
|
|
30
|
+
if (!exists(siblingNode))
|
|
31
|
+
return null;
|
|
32
|
+
const normalizedSiblingNode = realpath(siblingNode);
|
|
33
|
+
const normalizedCurrentExec = realpath(currentExecPath);
|
|
34
|
+
if (normalizedSiblingNode === normalizedCurrentExec)
|
|
35
|
+
return null;
|
|
36
|
+
return normalizedSiblingNode;
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function maybeReexecWithSiblingNode(argv = process.argv) {
|
|
43
|
+
const preferredNode = resolveNodeReexecBinary(process.execPath, argv[1], process.env);
|
|
44
|
+
if (!preferredNode)
|
|
45
|
+
return;
|
|
46
|
+
const scriptPath = argv[1] ? realpathSync(argv[1]) : fileURLToPath(import.meta.url);
|
|
47
|
+
const result = spawnSync(preferredNode, [scriptPath, ...argv.slice(2)], {
|
|
48
|
+
stdio: "inherit",
|
|
49
|
+
env: {
|
|
50
|
+
...process.env,
|
|
51
|
+
[REEXEC_GUARD_ENV]: "1",
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
if (result.error) {
|
|
55
|
+
throw result.error;
|
|
56
|
+
}
|
|
57
|
+
process.exit(result.status ?? 0);
|
|
58
|
+
}
|
|
20
59
|
export async function run(argv = process.argv) {
|
|
21
60
|
const normalizedArgv = [...argv];
|
|
22
61
|
if (normalizedArgv[1]) {
|
|
@@ -27,6 +66,7 @@ export async function run(argv = process.argv) {
|
|
|
27
66
|
await mod.createProgram().parseAsync(normalizedArgv);
|
|
28
67
|
}
|
|
29
68
|
if (isDirectRun()) {
|
|
69
|
+
maybeReexecWithSiblingNode(process.argv);
|
|
30
70
|
await run(process.argv);
|
|
31
71
|
}
|
|
32
72
|
//# sourceMappingURL=bin-wrapper.js.map
|
package/dist/bin-wrapper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin-wrapper.js","sourceRoot":"","sources":["../src/bin-wrapper.ts"],"names":[],"mappings":";AAEA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"bin-wrapper.js","sourceRoot":"","sources":["../src/bin-wrapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { Command } from "commander";
|
|
|
3
3
|
import { DaemonClient } from "../client.js";
|
|
4
4
|
import { getDaemonStatus, getDaemonUrl } from "../daemon-lifecycle.js";
|
|
5
5
|
import { realDeps } from "./daemon.js";
|
|
6
|
-
const LONG_RUNNING_BOOTSTRAP_TIMEOUT_MS =
|
|
6
|
+
const LONG_RUNNING_BOOTSTRAP_TIMEOUT_MS = 120_000;
|
|
7
7
|
function logStageDetailErrors(data) {
|
|
8
8
|
const stages = data["stages"] ?? [];
|
|
9
9
|
for (const stage of stages) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,MAAM,iCAAiC,GAAG,
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { ConfigStore } from "../config-store.js";
|
|
3
|
+
import { type DestroyDeps } from "../destroy-helpers.js";
|
|
4
|
+
export interface DestroyCommandDeps {
|
|
5
|
+
configStore: Pick<ConfigStore, "resolve">;
|
|
6
|
+
destroyDeps: DestroyDeps;
|
|
7
|
+
}
|
|
8
|
+
export declare function destroyCommand(depsOverride?: DestroyCommandDeps): Command;
|
|
9
|
+
//# sourceMappingURL=destroy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"destroy.d.ts","sourceRoot":"","sources":["../../src/commands/destroy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,OAAO,EAOL,KAAK,WAAW,EAIjB,MAAM,uBAAuB,CAAC;AAG/B,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC1C,WAAW,EAAE,WAAW,CAAC;CAC1B;AA8ID,wBAAgB,cAAc,CAAC,YAAY,CAAC,EAAE,kBAAkB,GAAG,OAAO,CA4CzE"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { existsSync, mkdirSync, renameSync, rmSync } from "node:fs";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { ConfigStore } from "../config-store.js";
|
|
5
|
+
import { realDeps } from "./daemon.js";
|
|
6
|
+
import { getDefaultOpenRigPath, getPreferredOpenRigHome, readOpenRigEnv } from "../openrig-compat.js";
|
|
7
|
+
import { DESTROY_CONFIRM_TOKEN, buildDestroyPlan, executeDestroy, findListeningPidWithLsof, killTmuxSessionWithCli, listManagedTmuxSessionsFromDb, } from "../destroy-helpers.js";
|
|
8
|
+
import { stopDaemon } from "../daemon-lifecycle.js";
|
|
9
|
+
function resolveRuntimeConfig(configStore) {
|
|
10
|
+
const warnings = [];
|
|
11
|
+
const stateRoot = getPreferredOpenRigHome();
|
|
12
|
+
const defaultDbPath = getDefaultOpenRigPath("openrig.sqlite");
|
|
13
|
+
const defaultTranscriptsPath = getDefaultOpenRigPath("transcripts");
|
|
14
|
+
const effectiveDefaultDbPath = join(stateRoot, "openrig.sqlite");
|
|
15
|
+
const effectiveDefaultTranscriptsPath = join(stateRoot, "transcripts");
|
|
16
|
+
const overrideUrl = readOpenRigEnv("OPENRIG_URL", "RIGGED_URL")?.trim();
|
|
17
|
+
if (overrideUrl) {
|
|
18
|
+
warnings.push(`Ignoring ${overrideUrl} from OPENRIG_URL/RIGGED_URL because rig destroy only operates on local state.`);
|
|
19
|
+
}
|
|
20
|
+
try {
|
|
21
|
+
const config = configStore.resolve();
|
|
22
|
+
return {
|
|
23
|
+
runtimeConfig: {
|
|
24
|
+
stateRoot,
|
|
25
|
+
dbPath: config.db.path === defaultDbPath ? effectiveDefaultDbPath : config.db.path,
|
|
26
|
+
transcriptsPath: config.transcripts.path === defaultTranscriptsPath ? effectiveDefaultTranscriptsPath : config.transcripts.path,
|
|
27
|
+
daemonHost: config.daemon.host,
|
|
28
|
+
daemonPort: config.daemon.port,
|
|
29
|
+
},
|
|
30
|
+
warnings,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
catch (err) {
|
|
34
|
+
warnings.push(`Failed to read config; using compatibility defaults instead: ${err instanceof Error ? err.message : String(err)}`);
|
|
35
|
+
return {
|
|
36
|
+
runtimeConfig: {
|
|
37
|
+
stateRoot,
|
|
38
|
+
dbPath: effectiveDefaultDbPath,
|
|
39
|
+
transcriptsPath: effectiveDefaultTranscriptsPath,
|
|
40
|
+
daemonHost: "127.0.0.1",
|
|
41
|
+
daemonPort: 7433,
|
|
42
|
+
},
|
|
43
|
+
warnings,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
function realDestroyDeps() {
|
|
48
|
+
const lifecycleDeps = realDeps();
|
|
49
|
+
return {
|
|
50
|
+
stopDaemon: async () => stopDaemon(lifecycleDeps),
|
|
51
|
+
inspectListener: async (host, port) => {
|
|
52
|
+
try {
|
|
53
|
+
const res = await fetch(`http://${host}:${port}/healthz`);
|
|
54
|
+
if (!res.ok) {
|
|
55
|
+
return {
|
|
56
|
+
kind: "other_http",
|
|
57
|
+
healthy: false,
|
|
58
|
+
detail: `HTTP ${res.status}`,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
let body = null;
|
|
62
|
+
try {
|
|
63
|
+
body = await res.json();
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
return {
|
|
67
|
+
kind: "other_http",
|
|
68
|
+
healthy: false,
|
|
69
|
+
detail: "Response body was not valid OpenRig health JSON.",
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
if (body && typeof body === "object" && body.status === "ok") {
|
|
73
|
+
return { kind: "openrig", healthy: true };
|
|
74
|
+
}
|
|
75
|
+
return {
|
|
76
|
+
kind: "other_http",
|
|
77
|
+
healthy: false,
|
|
78
|
+
detail: "Response body did not match the OpenRig health contract.",
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
return { kind: "unreachable" };
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
findListeningPid: findListeningPidWithLsof,
|
|
86
|
+
killProcess: (pid) => {
|
|
87
|
+
process.kill(pid, "SIGTERM");
|
|
88
|
+
},
|
|
89
|
+
exists: existsSync,
|
|
90
|
+
renamePath: (from, to) => renameSync(from, to),
|
|
91
|
+
removePath: (targetPath) => rmSync(targetPath, { recursive: true, force: true }),
|
|
92
|
+
mkdirp: (targetPath) => mkdirSync(targetPath, { recursive: true }),
|
|
93
|
+
listManagedTmuxSessions: listManagedTmuxSessionsFromDb,
|
|
94
|
+
killTmuxSession: killTmuxSessionWithCli,
|
|
95
|
+
sleep: (ms) => new Promise((resolve) => setTimeout(resolve, ms)),
|
|
96
|
+
now: () => new Date(),
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
function printPlan(scope, backup, runtimeConfig, managedTmuxSessions, warnings) {
|
|
100
|
+
console.log("DESTROY PLAN");
|
|
101
|
+
console.log(` scope: ${scope}`);
|
|
102
|
+
console.log(` state root: ${runtimeConfig.stateRoot}`);
|
|
103
|
+
console.log(` daemon: http://${runtimeConfig.daemonHost}:${runtimeConfig.daemonPort}`);
|
|
104
|
+
console.log(` backup: ${backup ? "enabled" : "disabled"}`);
|
|
105
|
+
console.log(` tmux cleanup: ${scope === "all" ? `enabled (${managedTmuxSessions.length} managed session${managedTmuxSessions.length === 1 ? "" : "s"})` : "disabled"}`);
|
|
106
|
+
for (const warning of warnings) {
|
|
107
|
+
console.log(` warning: ${warning}`);
|
|
108
|
+
}
|
|
109
|
+
console.log("");
|
|
110
|
+
}
|
|
111
|
+
function printResult(result) {
|
|
112
|
+
console.log("DESTROY RESULT");
|
|
113
|
+
console.log(` daemon: ${result.daemonStopped ? "stopped" : "still responding"}`);
|
|
114
|
+
console.log(` port: ${result.portCleared ? "cleared" : "still occupied"}`);
|
|
115
|
+
if (result.scope === "all") {
|
|
116
|
+
console.log(` tmux sessions removed: ${result.tmuxKilled}`);
|
|
117
|
+
if (result.tmuxMissing > 0) {
|
|
118
|
+
console.log(` tmux sessions missing/already gone: ${result.tmuxMissing}`);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
if (result.backupPaths.length > 0) {
|
|
122
|
+
for (const backupPath of result.backupPaths) {
|
|
123
|
+
console.log(` backup: ${backupPath}`);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
else if (result.backup) {
|
|
127
|
+
console.log(" backup: nothing to move");
|
|
128
|
+
}
|
|
129
|
+
console.log(result.stateRecreated ? ` fresh state root: ${result.stateRoot}` : " fresh state root: not created (state left untouched)");
|
|
130
|
+
for (const warning of result.warnings) {
|
|
131
|
+
console.log(` warning: ${warning}`);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
export function destroyCommand(depsOverride) {
|
|
135
|
+
const cmd = new Command("destroy").description("Destroy OpenRig local state for recovery");
|
|
136
|
+
cmd
|
|
137
|
+
.option("--state", "Destroy OpenRig state and recreate an empty state root")
|
|
138
|
+
.option("--all", "Destroy OpenRig state and remove managed tmux sessions")
|
|
139
|
+
.option("--backup", "Move state aside instead of deleting it")
|
|
140
|
+
.option("--yes", "Confirm the destructive operation")
|
|
141
|
+
.option("--confirm <token>", `Exact confirmation token: ${DESTROY_CONFIRM_TOKEN}`)
|
|
142
|
+
.action(async (opts) => {
|
|
143
|
+
const selectedScopes = [opts.state ? "state" : null, opts.all ? "all" : null].filter(Boolean);
|
|
144
|
+
if (selectedScopes.length !== 1) {
|
|
145
|
+
console.error("Specify exactly one destroy scope: --state or --all");
|
|
146
|
+
process.exitCode = 1;
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
if (!opts.yes) {
|
|
150
|
+
console.error("Destroy requires --yes");
|
|
151
|
+
process.exitCode = 1;
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
if (opts.confirm !== DESTROY_CONFIRM_TOKEN) {
|
|
155
|
+
console.error(`Destroy requires: --confirm ${DESTROY_CONFIRM_TOKEN}`);
|
|
156
|
+
process.exitCode = 1;
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
const deps = depsOverride ?? {
|
|
160
|
+
configStore: new ConfigStore(),
|
|
161
|
+
destroyDeps: realDestroyDeps(),
|
|
162
|
+
};
|
|
163
|
+
const { runtimeConfig, warnings } = resolveRuntimeConfig(deps.configStore);
|
|
164
|
+
const plan = buildDestroyPlan(selectedScopes[0], Boolean(opts.backup), runtimeConfig, deps.destroyDeps);
|
|
165
|
+
printPlan(plan.scope, plan.backup, runtimeConfig, plan.managedTmuxSessions, [...warnings, ...plan.warnings]);
|
|
166
|
+
plan.warnings = [...warnings, ...plan.warnings];
|
|
167
|
+
const result = await executeDestroy(plan, deps.destroyDeps);
|
|
168
|
+
printResult(result);
|
|
169
|
+
if (!result.portCleared) {
|
|
170
|
+
process.exitCode = 1;
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
return cmd;
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=destroy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"destroy.js","sourceRoot":"","sources":["../../src/commands/destroy.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ export interface DoctorDeps {
|
|
|
13
13
|
exec: (cmd: string) => string;
|
|
14
14
|
checkPort: (port: number) => Promise<boolean>;
|
|
15
15
|
configStore: Pick<ConfigStore, "resolve">;
|
|
16
|
+
platform?: NodeJS.Platform;
|
|
16
17
|
mkdirp?: (path: string) => void;
|
|
17
18
|
checkWritable?: (path: string) => void;
|
|
18
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9B,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC1C,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAgBD,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG;IAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9B,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAgBD,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG;IAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;CAAE,CAqJ5G;AAqBD,wBAAgB,aAAa,CAAC,YAAY,CAAC,EAAE,UAAU,GAAG,OAAO,CAwChE"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -20,6 +20,7 @@ function defaultCheckPort(port) {
|
|
|
20
20
|
}
|
|
21
21
|
export function runDoctorChecks(deps) {
|
|
22
22
|
const checks = [];
|
|
23
|
+
const platform = deps.platform ?? process.platform;
|
|
23
24
|
// 1. Daemon dist
|
|
24
25
|
const daemonPath = resolveDaemonPath(deps.baseDir, deps.exists);
|
|
25
26
|
const daemonEntry = path.join(daemonPath, "dist/index.js");
|
|
@@ -67,6 +68,25 @@ export function runDoctorChecks(deps) {
|
|
|
67
68
|
try {
|
|
68
69
|
const ver = deps.exec("tmux -V").trim();
|
|
69
70
|
checks.push({ name: "tmux", status: "pass", message: ver });
|
|
71
|
+
if (platform === "darwin") {
|
|
72
|
+
const mouseMode = readTmuxMouseMode(deps);
|
|
73
|
+
if (mouseMode === "on") {
|
|
74
|
+
checks.push({
|
|
75
|
+
name: "tmux_mouse",
|
|
76
|
+
status: "pass",
|
|
77
|
+
message: "tmux mouse mode enabled.",
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
else if (mouseMode === "off") {
|
|
81
|
+
checks.push({
|
|
82
|
+
name: "tmux_mouse",
|
|
83
|
+
status: "warn",
|
|
84
|
+
message: "tmux mouse mode appears disabled.",
|
|
85
|
+
reason: "On macOS, scrolling and text selection inside tmux panes is much smoother with mouse mode enabled.",
|
|
86
|
+
fix: "Run `tmux set -g mouse on` for the current tmux server. To keep it enabled, add `set -g mouse on` to `~/.tmux.conf` and reload with `tmux source-file ~/.tmux.conf`.",
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}
|
|
70
90
|
}
|
|
71
91
|
catch {
|
|
72
92
|
checks.push({
|
|
@@ -77,7 +97,42 @@ export function runDoctorChecks(deps) {
|
|
|
77
97
|
fix: "Install tmux: brew install tmux (macOS), apt install tmux (Linux).",
|
|
78
98
|
});
|
|
79
99
|
}
|
|
80
|
-
// 5.
|
|
100
|
+
// 5. cmux (optional but recommended for Open CMUX workflows)
|
|
101
|
+
try {
|
|
102
|
+
deps.exec("cmux capabilities --json");
|
|
103
|
+
checks.push({
|
|
104
|
+
name: "cmux",
|
|
105
|
+
status: "pass",
|
|
106
|
+
message: "cmux control available.",
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
catch (err) {
|
|
110
|
+
try {
|
|
111
|
+
deps.exec("cmux --help");
|
|
112
|
+
const socketMode = platform === "darwin" ? readCmuxSocketControlMode(deps) : null;
|
|
113
|
+
const modeHint = socketMode && socketMode !== "allowAll"
|
|
114
|
+
? ` Likely cause on macOS: cmux socketControlMode is '${socketMode}'. Tell the user to allow OpenRig/cmux socket control, then rerun 'rig doctor'.`
|
|
115
|
+
: "";
|
|
116
|
+
checks.push({
|
|
117
|
+
name: "cmux",
|
|
118
|
+
status: "warn",
|
|
119
|
+
message: "cmux installed, but control unavailable right now.",
|
|
120
|
+
reason: "OpenRig can run without cmux, but Open CMUX actions and cmux-aware node control will be unavailable until cmux control works.",
|
|
121
|
+
fix: `Open the cmux app, verify control access/socket sharing is enabled for OpenRig, then rerun 'rig doctor'. If you are running this for someone else, tell the user that cmux is optional but required for Open CMUX. If you do not need cmux features, you can ignore this warning.${modeHint}`,
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
catch {
|
|
125
|
+
checks.push({
|
|
126
|
+
name: "cmux",
|
|
127
|
+
status: "warn",
|
|
128
|
+
message: "cmux not found.",
|
|
129
|
+
reason: "OpenRig can run without cmux, but Open CMUX actions and surface control will be unavailable.",
|
|
130
|
+
fix: "Install and launch cmux if you want Open CMUX support. If you are running this for someone else, tell the user that cmux is optional and only needed for Open CMUX workflows.",
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
void err;
|
|
134
|
+
}
|
|
135
|
+
// 6. Writable state paths (shared with preflight)
|
|
81
136
|
const config = deps.configStore.resolve();
|
|
82
137
|
const writableCheck = buildWritableHomeCheck(config, path.dirname(config.db.path), {
|
|
83
138
|
mkdirp: deps.mkdirp,
|
|
@@ -90,7 +145,7 @@ export function runDoctorChecks(deps) {
|
|
|
90
145
|
reason: writableCheck.reason,
|
|
91
146
|
fix: writableCheck.fix,
|
|
92
147
|
});
|
|
93
|
-
//
|
|
148
|
+
// 7. Port availability (async) — daemon already running on that port counts as OK
|
|
94
149
|
const portCheck = deps.checkPort(DEFAULT_PORT).then(async (available) => {
|
|
95
150
|
if (available) {
|
|
96
151
|
return { name: "port", status: "pass", message: `Port ${DEFAULT_PORT} available.` };
|
|
@@ -113,6 +168,26 @@ export function runDoctorChecks(deps) {
|
|
|
113
168
|
});
|
|
114
169
|
return { checks, portCheck };
|
|
115
170
|
}
|
|
171
|
+
function readCmuxSocketControlMode(deps) {
|
|
172
|
+
try {
|
|
173
|
+
const mode = deps.exec("defaults read com.cmuxterm.app socketControlMode").trim();
|
|
174
|
+
return mode || null;
|
|
175
|
+
}
|
|
176
|
+
catch {
|
|
177
|
+
return null;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
function readTmuxMouseMode(deps) {
|
|
181
|
+
try {
|
|
182
|
+
const mode = deps.exec("tmux show-options -gqv mouse").trim().toLowerCase();
|
|
183
|
+
if (mode === "on" || mode === "off")
|
|
184
|
+
return mode;
|
|
185
|
+
return null;
|
|
186
|
+
}
|
|
187
|
+
catch {
|
|
188
|
+
return null;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
116
191
|
export function doctorCommand(depsOverride) {
|
|
117
192
|
const cmd = new Command("doctor").description("Verify OpenRig install health");
|
|
118
193
|
cmd
|
|
@@ -130,10 +205,10 @@ export function doctorCommand(depsOverride) {
|
|
|
130
205
|
const { checks, portCheck } = runDoctorChecks(deps);
|
|
131
206
|
const portResult = await portCheck;
|
|
132
207
|
const allChecks = [...checks, portResult];
|
|
133
|
-
const
|
|
208
|
+
const healthy = allChecks.every((c) => c.status !== "fail");
|
|
134
209
|
if (opts.json) {
|
|
135
|
-
console.log(JSON.stringify({ healthy
|
|
136
|
-
if (!
|
|
210
|
+
console.log(JSON.stringify({ healthy, checks: allChecks }, null, 2));
|
|
211
|
+
if (!healthy)
|
|
137
212
|
process.exitCode = 1;
|
|
138
213
|
return;
|
|
139
214
|
}
|
|
@@ -146,8 +221,8 @@ export function doctorCommand(depsOverride) {
|
|
|
146
221
|
console.log(` Fix: ${check.fix}`);
|
|
147
222
|
}
|
|
148
223
|
console.log("");
|
|
149
|
-
console.log(
|
|
150
|
-
if (!
|
|
224
|
+
console.log(healthy ? "System checks look good." : "Some checks failed.");
|
|
225
|
+
if (!healthy)
|
|
151
226
|
process.exitCode = 1;
|
|
152
227
|
});
|
|
153
228
|
return cmd;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACvE,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACvE,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAqBhE,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,MAAM,YAAY,GAAG,IAAI,CAAC;AAE1B,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAgB;IAC9C,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IAEnD,iBAAiB;IACjB,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAChE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAC3D,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,UAAU,EAAE,EAAE,CAAC,CAAC;IACtG,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,wBAAwB;YACjC,MAAM,EAAE,6EAA6E;YACrF,GAAG,EAAE,kGAAkG;SACxG,CAAC,CAAC;IACL,CAAC;IAED,aAAa;IACb,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IAC9E,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC9E,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,oBAAoB;YAC7B,MAAM,EAAE,mEAAmE;YAC3E,GAAG,EAAE,kGAAkG;SACxG,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;IAClB,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9D,IAAI,KAAK,IAAI,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC5F,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,QAAQ,OAAO,CAAC,OAAO,uBAAuB,cAAc,IAAI;YACzE,MAAM,EAAE,4EAA4E;YACpF,GAAG,EAAE,yDAAyD;SAC/D,CAAC,CAAC;IACL,CAAC;IAED,UAAU;IACV,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5D,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,0BAA0B;iBACpC,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,mCAAmC;oBAC5C,MAAM,EAAE,oGAAoG;oBAC5G,GAAG,EAAE,sKAAsK;iBAC5K,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,iBAAiB;YAC1B,MAAM,EAAE,6CAA6C;YACrD,GAAG,EAAE,oEAAoE;SAC1E,CAAC,CAAC;IACL,CAAC;IAED,6DAA6D;IAC7D,IAAI,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,yBAAyB;SACnC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACzB,MAAM,UAAU,GAAG,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAClF,MAAM,QAAQ,GAAG,UAAU,IAAI,UAAU,KAAK,UAAU;gBACtD,CAAC,CAAC,sDAAsD,UAAU,iFAAiF;gBACnJ,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,oDAAoD;gBAC7D,MAAM,EAAE,+HAA+H;gBACvI,GAAG,EAAE,oRAAoR,QAAQ,EAAE;aACpS,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,iBAAiB;gBAC1B,MAAM,EAAE,8FAA8F;gBACtG,GAAG,EAAE,+KAA+K;aACrL,CAAC,CAAC;QACL,CAAC;QACD,KAAK,GAAG,CAAC;IACX,CAAC;IAED,kDAAkD;IAClD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;IAC1C,MAAM,aAAa,GAAG,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;QACjF,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,aAAa,EAAE,IAAI,CAAC,aAAa;KAClC,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,aAAa,CAAC,IAAI;QACxB,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QAC1C,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,IAAI,+BAA+B;QACrH,MAAM,EAAE,aAAa,CAAC,MAAM;QAC5B,GAAG,EAAE,aAAa,CAAC,GAAG;KACvB,CAAC,CAAC;IAEH,kFAAkF;IAClF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAwB,EAAE;QAC5F,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,YAAY,aAAa,EAAE,CAAC;QACtF,CAAC;QACD,qDAAqD;QACrD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,oBAAoB,YAAY,UAAU,CAAC,CAAC;YACpE,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;gBACX,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,YAAY,4BAA4B,EAAE,CAAC;YACrG,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;QAChC,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,QAAQ,YAAY,gCAAgC;YAC7D,MAAM,EAAE,qDAAqD;YAC7D,GAAG,EAAE,+BAA+B,YAAY,gFAAgF;SACjI,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAgB;IACjD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC,IAAI,EAAE,CAAC;QAClF,OAAO,IAAI,IAAI,IAAI,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAgB;IACzC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC5E,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,YAAyB;IACrD,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC;IAE/E,GAAG;SACA,MAAM,CAAC,QAAQ,EAAE,wBAAwB,CAAC;SAC1C,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;QACzC,MAAM,IAAI,GAAe,YAAY,IAAI;YACvC,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO;YAC5B,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;YACvD,SAAS,EAAE,gBAAgB;YAC3B,WAAW,EAAE,IAAI,WAAW,EAAE;YAC9B,MAAM,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YACpE,aAAa,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC;SACxE,CAAC;QAEF,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC;QACnC,MAAM,SAAS,GAAG,CAAC,GAAG,MAAM,EAAE,UAAU,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QAE5D,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACrE,IAAI,CAAC,OAAO;gBAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACnC,OAAO;QACT,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YACxF,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3D,IAAI,KAAK,CAAC,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7D,IAAI,KAAK,CAAC,GAAG;gBAAE,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;QAC1E,IAAI,CAAC,OAAO;YAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEL,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI9C,wBAAgB,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI9C,wBAAgB,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,GAAG,OAAO,CAqI7D"}
|
package/dist/commands/env.js
CHANGED
|
@@ -4,7 +4,14 @@ import { getDaemonStatus, getDaemonUrl } from "../daemon-lifecycle.js";
|
|
|
4
4
|
import { realDeps } from "./daemon.js";
|
|
5
5
|
const LONG_RUNNING_TIMEOUT_MS = 45_000;
|
|
6
6
|
export function envCommand(depsOverride) {
|
|
7
|
-
const cmd = new Command("env")
|
|
7
|
+
const cmd = new Command("env")
|
|
8
|
+
.description("Inspect and control rig environment services for service-backed rigs and managed apps")
|
|
9
|
+
.addHelpText("after", `
|
|
10
|
+
Examples:
|
|
11
|
+
rig env status secrets-manager
|
|
12
|
+
rig env logs secrets-manager vault
|
|
13
|
+
rig env down secrets-manager
|
|
14
|
+
`);
|
|
8
15
|
const getDeps = () => depsOverride ?? { lifecycleDeps: realDeps(), clientFactory: (url) => new DaemonClient(url) };
|
|
9
16
|
async function getClient(deps) {
|
|
10
17
|
const status = await getDaemonStatus(deps.lifecycleDeps);
|
package/dist/commands/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAEvC,MAAM,UAAU,UAAU,CAAC,YAAyB;IAClD,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"specs.d.ts","sourceRoot":"","sources":["../../src/commands/specs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,YAAY,CAAC,CAsBvB;AAED,wBAAgB,YAAY,CAAC,YAAY,CAAC,EAAE,UAAU,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"specs.d.ts","sourceRoot":"","sources":["../../src/commands/specs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,YAAY,CAAC,CAsBvB;AAED,wBAAgB,YAAY,CAAC,YAAY,CAAC,EAAE,UAAU,GAAG,OAAO,CAqQ/D"}
|
package/dist/commands/specs.js
CHANGED
|
@@ -22,10 +22,17 @@ export async function resolveLibrarySpec(client, nameOrId) {
|
|
|
22
22
|
const candidates = byName.map((e) => ` ${e.id} — ${e.sourcePath}`).join("\n");
|
|
23
23
|
throw new Error(`Spec name '${nameOrId}' is ambiguous — ${byName.length} entries match.\nUse the ID instead:\n${candidates}`);
|
|
24
24
|
}
|
|
25
|
-
throw new Error(`Spec '${nameOrId}' not found in library. Run 'rig specs ls' to see available
|
|
25
|
+
throw new Error(`Spec '${nameOrId}' not found in library. Run 'rig specs ls' to see available rigs, agents, and managed apps.`);
|
|
26
26
|
}
|
|
27
27
|
export function specsCommand(depsOverride) {
|
|
28
|
-
const cmd = new Command("specs")
|
|
28
|
+
const cmd = new Command("specs")
|
|
29
|
+
.description("Browse, preview, and manage the spec library, including managed apps")
|
|
30
|
+
.addHelpText("after", `
|
|
31
|
+
Examples:
|
|
32
|
+
rig specs ls
|
|
33
|
+
rig specs preview secrets-manager
|
|
34
|
+
rig specs show vault-specialist
|
|
35
|
+
`);
|
|
29
36
|
const getDeps = () => depsOverride ?? {
|
|
30
37
|
lifecycleDeps: realDeps(),
|
|
31
38
|
clientFactory: (url) => new DaemonClient(url),
|
|
@@ -40,7 +47,7 @@ export function specsCommand(depsOverride) {
|
|
|
40
47
|
}
|
|
41
48
|
// specs ls
|
|
42
49
|
cmd.command("ls")
|
|
43
|
-
.description("List library
|
|
50
|
+
.description("List library rigs, agents, and managed apps")
|
|
44
51
|
.option("--kind <kind>", "Filter by kind (rig or agent)")
|
|
45
52
|
.option("--json", "JSON output")
|
|
46
53
|
.action(async (opts) => {
|
|
@@ -94,7 +101,7 @@ export function specsCommand(depsOverride) {
|
|
|
94
101
|
// specs preview
|
|
95
102
|
cmd.command("preview")
|
|
96
103
|
.argument("<name-or-id>", "Spec name or library ID")
|
|
97
|
-
.description("Show structured spec review")
|
|
104
|
+
.description("Show structured spec review, including managed app details")
|
|
98
105
|
.option("--json", "JSON output")
|
|
99
106
|
.action(async (nameOrId, opts) => {
|
|
100
107
|
try {
|