@cabane/companion 0.6.45 → 0.6.46
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/dist/cli.js +7 -1
- package/dist/runtime.js +7 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -9004,6 +9004,7 @@ var CompanionSupervisor = class {
|
|
|
9004
9004
|
// NOT the cached beat signal — someone connecting right after installing Claude
|
|
9005
9005
|
// Code shouldn't be refused by a snapshot up to a heartbeat old.
|
|
9006
9006
|
probeClaudePresence;
|
|
9007
|
+
probeCodexPresence;
|
|
9007
9008
|
exitFn;
|
|
9008
9009
|
reexecFn;
|
|
9009
9010
|
dispatcherFactory;
|
|
@@ -9036,6 +9037,7 @@ var CompanionSupervisor = class {
|
|
|
9036
9037
|
this.hub = opts.hub;
|
|
9037
9038
|
this.claudeCode = opts.claudeCode ?? true;
|
|
9038
9039
|
this.probeClaudePresence = opts.probeClaudePresence ?? claudeOnPath;
|
|
9040
|
+
this.probeCodexPresence = opts.probeCodexPresence ?? codexOnPath;
|
|
9039
9041
|
this.harnessVersions = opts.harnessVersions ?? emptyHarnessVersions();
|
|
9040
9042
|
this.exitFn = opts.exit ?? ((code) => process.exit(code));
|
|
9041
9043
|
this.reexecFn = opts.reexec ?? defaultReexec;
|
|
@@ -9783,7 +9785,8 @@ var CompanionSupervisor = class {
|
|
|
9783
9785
|
// - claude-code (CT1082): set `claudeCode.enabled`, after checking `claude` is
|
|
9784
9786
|
// on PATH. This is the callable the terminal offer ("We found Claude Code.
|
|
9785
9787
|
// Connect it? [Y/n]") and the web pairing flow both wire to.
|
|
9786
|
-
// - codex: set `codex.enabled`
|
|
9788
|
+
// - codex: set `codex.enabled` after checking `codex` is on PATH (the CLI +
|
|
9789
|
+
// `codex login` remain the user's).
|
|
9787
9790
|
// - opencode: set `opencode.serverUrl` — but ONLY after health-probing the URL,
|
|
9788
9791
|
// so we never advertise a serve that isn't there. An unreachable URL is a
|
|
9789
9792
|
// typed failure the UI shows in place, not a silent bad write.
|
|
@@ -9801,6 +9804,9 @@ var CompanionSupervisor = class {
|
|
|
9801
9804
|
}
|
|
9802
9805
|
next = { ...this.config, claudeCode: { enabled: true } };
|
|
9803
9806
|
} else if (input.runtime === "codex") {
|
|
9807
|
+
if (!await this.probeCodexPresence()) {
|
|
9808
|
+
return { ok: false, error: absentLine("codex") };
|
|
9809
|
+
}
|
|
9804
9810
|
next = { ...this.config, codex: { enabled: true } };
|
|
9805
9811
|
} else {
|
|
9806
9812
|
const serverUrl = input.serverUrl.trim();
|
package/dist/runtime.js
CHANGED
|
@@ -8513,6 +8513,7 @@ var CompanionSupervisor = class {
|
|
|
8513
8513
|
// NOT the cached beat signal — someone connecting right after installing Claude
|
|
8514
8514
|
// Code shouldn't be refused by a snapshot up to a heartbeat old.
|
|
8515
8515
|
probeClaudePresence;
|
|
8516
|
+
probeCodexPresence;
|
|
8516
8517
|
exitFn;
|
|
8517
8518
|
reexecFn;
|
|
8518
8519
|
dispatcherFactory;
|
|
@@ -8545,6 +8546,7 @@ var CompanionSupervisor = class {
|
|
|
8545
8546
|
this.hub = opts.hub;
|
|
8546
8547
|
this.claudeCode = opts.claudeCode ?? true;
|
|
8547
8548
|
this.probeClaudePresence = opts.probeClaudePresence ?? claudeOnPath;
|
|
8549
|
+
this.probeCodexPresence = opts.probeCodexPresence ?? codexOnPath;
|
|
8548
8550
|
this.harnessVersions = opts.harnessVersions ?? emptyHarnessVersions();
|
|
8549
8551
|
this.exitFn = opts.exit ?? ((code) => process.exit(code));
|
|
8550
8552
|
this.reexecFn = opts.reexec ?? defaultReexec;
|
|
@@ -9292,7 +9294,8 @@ var CompanionSupervisor = class {
|
|
|
9292
9294
|
// - claude-code (CT1082): set `claudeCode.enabled`, after checking `claude` is
|
|
9293
9295
|
// on PATH. This is the callable the terminal offer ("We found Claude Code.
|
|
9294
9296
|
// Connect it? [Y/n]") and the web pairing flow both wire to.
|
|
9295
|
-
// - codex: set `codex.enabled`
|
|
9297
|
+
// - codex: set `codex.enabled` after checking `codex` is on PATH (the CLI +
|
|
9298
|
+
// `codex login` remain the user's).
|
|
9296
9299
|
// - opencode: set `opencode.serverUrl` — but ONLY after health-probing the URL,
|
|
9297
9300
|
// so we never advertise a serve that isn't there. An unreachable URL is a
|
|
9298
9301
|
// typed failure the UI shows in place, not a silent bad write.
|
|
@@ -9310,6 +9313,9 @@ var CompanionSupervisor = class {
|
|
|
9310
9313
|
}
|
|
9311
9314
|
next = { ...this.config, claudeCode: { enabled: true } };
|
|
9312
9315
|
} else if (input.runtime === "codex") {
|
|
9316
|
+
if (!await this.probeCodexPresence()) {
|
|
9317
|
+
return { ok: false, error: absentLine("codex") };
|
|
9318
|
+
}
|
|
9313
9319
|
next = { ...this.config, codex: { enabled: true } };
|
|
9314
9320
|
} else {
|
|
9315
9321
|
const serverUrl = input.serverUrl.trim();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cabane/companion",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.46",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "The Cabane Companion (headless): connect a coding agent on your machine to your Cabane workspace as a responder — drive work against your own codebase, files, and MCP servers without putting any of it in Cabane.",
|
|
6
6
|
"license": "UNLICENSED",
|