@essentialai/cogent-bridge 3.20.1 → 3.20.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/dist/bin/cogent-codex.d.ts +2 -1
- package/dist/bin/cogent-codex.d.ts.map +1 -1
- package/dist/bin/cogent-codex.js +104 -36
- package/dist/bin/cogent-codex.js.map +1 -1
- package/dist/config.d.ts +3 -3
- package/dist/config.js +2 -2
- package/dist/config.js.map +1 -1
- package/dist/services/codex-app-server.d.ts +23 -0
- package/dist/services/codex-app-server.d.ts.map +1 -1
- package/dist/services/codex-app-server.js +59 -1
- package/dist/services/codex-app-server.js.map +1 -1
- package/dist/services/exec-remote.d.ts.map +1 -1
- package/dist/services/exec-remote.js +15 -9
- package/dist/services/exec-remote.js.map +1 -1
- package/package.json +4 -2
- package/scripts/postinstall-global.mjs +93 -0
- package/server.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.20.2 — 2026-08-17
|
|
4
|
+
|
|
5
|
+
### Fixed — Codex real-time wake now works with zero config (auto-detect the app-server rail)
|
|
6
|
+
- **The `app-server` wake rail is now selected automatically** — `COGENT_CODEX_WAKE` defaults to
|
|
7
|
+
`auto` (was `exec-resume`). When the bridge detects it is running **under a codex app-server
|
|
8
|
+
daemon** (by walking its own process ancestry), it wakes the peer through the daemon; otherwise it
|
|
9
|
+
uses the classic `exec-resume` path. No env var, no flag, no config file edit.
|
|
10
|
+
- **Why this was needed:** in `codex --remote` mode the app-server **daemon** (not the codex TUI)
|
|
11
|
+
spawns the plugin's MCP server, so `COGENT_CODEX_WAKE=app-server` set on the TUI never reached the
|
|
12
|
+
bridge that makes the wake decision — real-time messages silently queued to the next turn. The
|
|
13
|
+
bridge now discovers the rail from where it actually runs. Explicit `app-server`/`exec-resume`
|
|
14
|
+
still override `auto`.
|
|
15
|
+
|
|
16
|
+
### Added — All-in-one global installer (`npm install -g @essentialai/cogent-bridge`)
|
|
17
|
+
- A guarded `postinstall` provisions **everything** on a global install: codex's managed build (the
|
|
18
|
+
app-server daemon needs it) and the `cogent@cogent` codex plugin. The user's only run step is the
|
|
19
|
+
one memorable command **`cogent-codex`**.
|
|
20
|
+
- Runs **only** on `npm install -g` (guarded by `npm_config_global`); never on a dependency/npx/CI
|
|
21
|
+
install, and never on Windows. Fully best-effort — a setup hiccup can **never** fail `npm install`
|
|
22
|
+
(the `cogent-codex` wrapper is the run-time safety net).
|
|
23
|
+
|
|
3
24
|
## 3.20.1 — 2026-08-14
|
|
4
25
|
|
|
5
26
|
### Added — Guard against the codex `[mcp_servers.cogent]` name collision
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cogent-codex.d.ts","sourceRoot":"","sources":["../../src/bin/cogent-codex.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"cogent-codex.d.ts","sourceRoot":"","sources":["../../src/bin/cogent-codex.ts"],"names":[],"mappings":";AAmEA,iFAAiF;AACjF,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAE3D"}
|
package/dist/bin/cogent-codex.js
CHANGED
|
@@ -1,30 +1,38 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* cogent-codex — launch codex
|
|
4
|
-
* wake it in real time (the `COGENT_CODEX_WAKE=app-server` rail).
|
|
3
|
+
* cogent-codex — launch codex with Cogent real-time peer wake, ZERO setup.
|
|
5
4
|
*
|
|
6
|
-
* WHY: codex >=0.145 has a single-writer thread-store. A codex started the
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
5
|
+
* WHY: codex >=0.145 has a single-writer thread-store. A codex started the normal
|
|
6
|
+
* way holds an exclusive writer on its thread, so the bridge's real-time wake
|
|
7
|
+
* (`codex exec resume`) fails `-32600 active writer`. Launched through this wrapper,
|
|
8
|
+
* codex instead attaches to a shared app-server DAEMON (`--remote`); the daemon is
|
|
9
|
+
* the single writer, and the bridge injects the peer's message as a turn through
|
|
10
|
+
* that same daemon — no conflict.
|
|
12
11
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
12
|
+
* The ONLY user step is running `cogent-codex` instead of `codex`. This wrapper
|
|
13
|
+
* self-bootstraps everything else, no exports / config / paths / system commands:
|
|
14
|
+
* 1. ensures codex's managed build (the daemon needs it) — installing it on first
|
|
15
|
+
* run with a single Y/n confirmation if it is missing;
|
|
16
|
+
* 2. ensures the app-server daemon (idempotent);
|
|
17
|
+
* 3. execs `codex --remote unix://<sock>` with all your args passed through.
|
|
18
|
+
* The bridge then AUTO-DETECTS the app-server rail from its process ancestry (in
|
|
19
|
+
* `--remote` mode the daemon, not the codex TUI, spawns the plugin MCP) — so
|
|
20
|
+
* real-time wake needs NO env flag or config. If any of the above can't happen
|
|
21
|
+
* (managed build declined/unavailable, non-interactive shell), it launches plain
|
|
22
|
+
* codex on the default turn-boundary rail — never an error, never a manual step.
|
|
16
23
|
*
|
|
17
|
-
* The daemon lifecycle is the SAME code the bridge uses at wake time
|
|
18
|
-
*
|
|
24
|
+
* The daemon lifecycle is the SAME code the bridge uses at wake time (ensureDaemon
|
|
25
|
+
* in services/codex-app-server.ts) — one source of truth.
|
|
19
26
|
*
|
|
20
|
-
* NOTE (platforms):
|
|
21
|
-
*
|
|
22
|
-
* yet wired here.
|
|
27
|
+
* NOTE (platforms): attaches over the daemon's unix socket (`unix://…`), covering
|
|
28
|
+
* macOS + Linux. Windows (loopback `ws://…`) is not yet wired here.
|
|
23
29
|
*/
|
|
24
|
-
import { spawn } from "node:child_process";
|
|
30
|
+
import { spawn, spawnSync } from "node:child_process";
|
|
25
31
|
import { readFile } from "node:fs/promises";
|
|
32
|
+
import { createInterface } from "node:readline";
|
|
33
|
+
import { pathToFileURL } from "node:url";
|
|
26
34
|
import { loadConfig, getConfig } from "../config.js";
|
|
27
|
-
import { ensureDaemon } from "../services/codex-app-server.js";
|
|
35
|
+
import { ensureDaemon, resetDaemonCache } from "../services/codex-app-server.js";
|
|
28
36
|
import { detectCodexCogentServerCollision, codexConfigPath, } from "../services/codex-preflight.js";
|
|
29
37
|
function log(msg) {
|
|
30
38
|
process.stderr.write(`[cogent-codex] ${msg}\n`);
|
|
@@ -33,7 +41,7 @@ function log(msg) {
|
|
|
33
41
|
* Loud launch-time guard: a standalone [mcp_servers.cogent] in ~/.codex/config.toml
|
|
34
42
|
* collides by name with the cogent@cogent plugin's own `cogent` MCP server, which
|
|
35
43
|
* breaks codex MCP startup ("connection closed: initialize response"). Warn before
|
|
36
|
-
* we hand off to codex so the user sees it
|
|
44
|
+
* we hand off to codex so the user sees it. Never throws.
|
|
37
45
|
*/
|
|
38
46
|
async function warnOnServerCollision() {
|
|
39
47
|
const cfgPath = codexConfigPath();
|
|
@@ -49,12 +57,45 @@ async function warnOnServerCollision() {
|
|
|
49
57
|
log("⚠️ NAME COLLISION: a standalone [mcp_servers.cogent] exists in");
|
|
50
58
|
log(` ${cfgPath}`);
|
|
51
59
|
log(" It shares the name `cogent` with the cogent@cogent plugin's MCP");
|
|
52
|
-
log(" server — Codex can fail MCP startup
|
|
53
|
-
log("
|
|
54
|
-
log(" provides the cogent tools. (Use the plugin OR `codex mcp add cogent`,");
|
|
55
|
-
log(" never both.) Launching anyway…");
|
|
60
|
+
log(" server — Codex can fail MCP startup. Remove that [mcp_servers.cogent]");
|
|
61
|
+
log(" block; the plugin already provides the cogent tools. Launching anyway…");
|
|
56
62
|
log("──────────────────────────────────────────────────────────────");
|
|
57
63
|
}
|
|
64
|
+
/** Whether an ensureDaemon() error is the "managed codex build missing" case. */
|
|
65
|
+
export function isManagedCodexMissing(err) {
|
|
66
|
+
return /MANAGED_CODEX_REQUIRED/.test(err?.message ?? String(err));
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* One-time Y/n confirmation (default Yes). Returns false with no prompt when stdin
|
|
70
|
+
* is not a TTY — a non-interactive shell can't answer, so the caller falls back to
|
|
71
|
+
* turn-boundary rather than hang or assume consent.
|
|
72
|
+
*/
|
|
73
|
+
async function confirmYes(question) {
|
|
74
|
+
if (!process.stdin.isTTY)
|
|
75
|
+
return false;
|
|
76
|
+
const rl = createInterface({ input: process.stdin, output: process.stderr });
|
|
77
|
+
try {
|
|
78
|
+
const answer = await new Promise((resolve) => rl.question(question, resolve));
|
|
79
|
+
const a = answer.trim().toLowerCase();
|
|
80
|
+
return a === "" || a === "y" || a === "yes";
|
|
81
|
+
}
|
|
82
|
+
finally {
|
|
83
|
+
rl.close();
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/** Install codex's managed build via the official installer. Returns success. */
|
|
87
|
+
function installManagedCodex() {
|
|
88
|
+
log("setting up real-time wake — installing codex's managed build (one-time)…");
|
|
89
|
+
const res = spawnSync("sh", ["-c", "curl -fsSL https://chatgpt.com/codex/install.sh | sh"], {
|
|
90
|
+
stdio: "inherit",
|
|
91
|
+
});
|
|
92
|
+
if (res.status === 0) {
|
|
93
|
+
log("managed codex installed.");
|
|
94
|
+
return true;
|
|
95
|
+
}
|
|
96
|
+
log(`managed-codex install did not complete (exit ${res.status ?? "?"}).`);
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
58
99
|
/** Spawn codex with the given args, inherit the terminal, propagate its exit code. */
|
|
59
100
|
function handOff(codexBin, args) {
|
|
60
101
|
const child = spawn(codexBin, args, { stdio: "inherit" });
|
|
@@ -69,26 +110,53 @@ function handOff(codexBin, args) {
|
|
|
69
110
|
process.exit(127);
|
|
70
111
|
});
|
|
71
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* Resolve the app-server socket, self-bootstrapping the managed codex build if it's
|
|
115
|
+
* missing (one Y/n). Returns the socket, or null to launch plain codex (turn-boundary).
|
|
116
|
+
*/
|
|
117
|
+
async function resolveDaemonSock() {
|
|
118
|
+
try {
|
|
119
|
+
return await ensureDaemon();
|
|
120
|
+
}
|
|
121
|
+
catch (err) {
|
|
122
|
+
if (isManagedCodexMissing(err)) {
|
|
123
|
+
const ok = await confirmYes("[cogent-codex] Real-time peer wake needs codex's managed build (one-time install). Install it now? [Y/n] ");
|
|
124
|
+
if (ok && installManagedCodex()) {
|
|
125
|
+
resetDaemonCache();
|
|
126
|
+
try {
|
|
127
|
+
return await ensureDaemon();
|
|
128
|
+
}
|
|
129
|
+
catch (retryErr) {
|
|
130
|
+
log(`daemon still unavailable after install (${retryErr?.message ?? retryErr}).`);
|
|
131
|
+
return null;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
log("skipped — launching on the default rail; peers reach you at your next turn.");
|
|
135
|
+
return null;
|
|
136
|
+
}
|
|
137
|
+
log(`app-server daemon unavailable (${err?.message ?? err}); launching plain codex.`);
|
|
138
|
+
return null;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
72
141
|
async function main() {
|
|
73
142
|
loadConfig(process.env);
|
|
74
143
|
const codexBin = getConfig().COGENT_CODEX_PATH;
|
|
75
144
|
const passthrough = process.argv.slice(2);
|
|
76
145
|
await warnOnServerCollision();
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
146
|
+
const sock = await resolveDaemonSock();
|
|
147
|
+
if (sock) {
|
|
148
|
+
log("real-time peer wake ON.");
|
|
149
|
+
handOff(codexBin, ["--remote", `unix://${sock}`, ...passthrough]);
|
|
80
150
|
}
|
|
81
|
-
|
|
82
|
-
log(`could not start the codex app-server daemon: ${err.message}`);
|
|
83
|
-
log(`launching plain '${codexBin}' — real-time peer wake will NOT work until the daemon is available.`);
|
|
151
|
+
else {
|
|
84
152
|
handOff(codexBin, passthrough);
|
|
85
|
-
return;
|
|
86
153
|
}
|
|
87
|
-
log(`app-server daemon ready at ${sock}; attaching codex --remote.`);
|
|
88
|
-
handOff(codexBin, ["--remote", `unix://${sock}`, ...passthrough]);
|
|
89
154
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
});
|
|
155
|
+
// Run only when invoked as a CLI — importing this module (tests) must NOT launch codex.
|
|
156
|
+
if (process.argv[1] && import.meta.url === pathToFileURL(process.argv[1]).href) {
|
|
157
|
+
main().catch((err) => {
|
|
158
|
+
log(`fatal: ${err?.message ?? err}`);
|
|
159
|
+
process.exit(1);
|
|
160
|
+
});
|
|
161
|
+
}
|
|
94
162
|
//# sourceMappingURL=cogent-codex.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cogent-codex.js","sourceRoot":"","sources":["../../src/bin/cogent-codex.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"cogent-codex.js","sourceRoot":"","sources":["../../src/bin/cogent-codex.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -20,7 +20,7 @@ export declare const configSchema: z.ZodObject<{
|
|
|
20
20
|
COGENT_PLATFORM: z.ZodDefault<z.ZodEnum<["cc", "codex", "slack", "gchat", "web"]>>;
|
|
21
21
|
COGENT_CODEX_PATH: z.ZodDefault<z.ZodString>;
|
|
22
22
|
COGENT_CODEX_SANDBOX: z.ZodDefault<z.ZodEnum<["full-auto", "read-only", "workspace-write", "danger-full-access", "bypass"]>>;
|
|
23
|
-
COGENT_CODEX_WAKE: z.ZodDefault<z.ZodEnum<["exec-resume", "app-server"]>>;
|
|
23
|
+
COGENT_CODEX_WAKE: z.ZodDefault<z.ZodEnum<["auto", "exec-resume", "app-server"]>>;
|
|
24
24
|
COGENT_CODEX_SANDBOX_FALLBACK: z.ZodEffects<z.ZodOptional<z.ZodString>, boolean, string | undefined>;
|
|
25
25
|
COGENT_RESOLVER_AMBIGUOUS_MARGIN_MS: z.ZodDefault<z.ZodNumber>;
|
|
26
26
|
COGENT_BROADCAST_AUTORELAY: z.ZodEffects<z.ZodOptional<z.ZodString>, boolean, string | undefined>;
|
|
@@ -45,7 +45,7 @@ export declare const configSchema: z.ZodObject<{
|
|
|
45
45
|
COGENT_PLATFORM: "cc" | "codex" | "slack" | "gchat" | "web";
|
|
46
46
|
COGENT_CODEX_PATH: string;
|
|
47
47
|
COGENT_CODEX_SANDBOX: "full-auto" | "read-only" | "workspace-write" | "danger-full-access" | "bypass";
|
|
48
|
-
COGENT_CODEX_WAKE: "exec-resume" | "app-server";
|
|
48
|
+
COGENT_CODEX_WAKE: "auto" | "exec-resume" | "app-server";
|
|
49
49
|
COGENT_CODEX_SANDBOX_FALLBACK: boolean;
|
|
50
50
|
COGENT_RESOLVER_AMBIGUOUS_MARGIN_MS: number;
|
|
51
51
|
COGENT_BROADCAST_AUTORELAY: boolean;
|
|
@@ -78,7 +78,7 @@ export declare const configSchema: z.ZodObject<{
|
|
|
78
78
|
COGENT_PLATFORM?: "cc" | "codex" | "slack" | "gchat" | "web" | undefined;
|
|
79
79
|
COGENT_CODEX_PATH?: string | undefined;
|
|
80
80
|
COGENT_CODEX_SANDBOX?: "full-auto" | "read-only" | "workspace-write" | "danger-full-access" | "bypass" | undefined;
|
|
81
|
-
COGENT_CODEX_WAKE?: "exec-resume" | "app-server" | undefined;
|
|
81
|
+
COGENT_CODEX_WAKE?: "auto" | "exec-resume" | "app-server" | undefined;
|
|
82
82
|
COGENT_CODEX_SANDBOX_FALLBACK?: string | undefined;
|
|
83
83
|
COGENT_RESOLVER_AMBIGUOUS_MARGIN_MS?: number | undefined;
|
|
84
84
|
COGENT_BROADCAST_AUTORELAY?: string | undefined;
|
package/dist/config.js
CHANGED
|
@@ -62,8 +62,8 @@ export const configSchema = z.object({
|
|
|
62
62
|
// launches via the daemon (see bin/cogent-codex) and sets this to `app-server`.
|
|
63
63
|
// Only affects COGENT_PLATFORM=codex; claude/gemini/mail rails never read it.
|
|
64
64
|
COGENT_CODEX_WAKE: z
|
|
65
|
-
.enum(["exec-resume", "app-server"])
|
|
66
|
-
.default("
|
|
65
|
+
.enum(["auto", "exec-resume", "app-server"])
|
|
66
|
+
.default("auto"),
|
|
67
67
|
// Auto-recovery for a blocked Codex sandbox. On a host where the OS sandbox
|
|
68
68
|
// can't initialize (unprivileged user namespaces blocked — Ubuntu 24.04's
|
|
69
69
|
// apparmor_restrict_unprivileged_userns, containers, hardened kernels),
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,29 @@ export type WsFactory = (url: string, opts: Record<string, unknown>) => WsLike;
|
|
|
28
28
|
export declare function appServerSocketPath(codexHome?: string): string;
|
|
29
29
|
/** The `ws+unix://<sock>:/rpc` URL the daemon speaks JSON-RPC over. */
|
|
30
30
|
export declare function rpcUrl(sock: string): string;
|
|
31
|
+
/**
|
|
32
|
+
* When codex runs `--remote` (attached to the daemon, e.g. launched via
|
|
33
|
+
* cogent-codex), codex's app-server DAEMON — not the codex TUI — is the process
|
|
34
|
+
* that spawns the plugin's MCP server. So the wake decision cannot rely on an env
|
|
35
|
+
* flag reaching the bridge (the daemon doesn't carry it). Instead we detect the
|
|
36
|
+
* situation structurally: the bridge is a descendant of `codex … app-server`
|
|
37
|
+
* exactly when codex is `--remote`. Then the app-server rail is the RIGHT one and
|
|
38
|
+
* we use it automatically — no `COGENT_CODEX_WAKE` needed anywhere.
|
|
39
|
+
*
|
|
40
|
+
* Pure + unit-testable: walk an ancestry via the injected `getProc`, return true
|
|
41
|
+
* if any ancestor's command line is the codex app-server. `codex-cli` (Homebrew/npm)
|
|
42
|
+
* and other names never match; only `codex … app-server`.
|
|
43
|
+
*/
|
|
44
|
+
export declare function ancestryHasAppServer(startPid: number, getProc: (pid: number) => {
|
|
45
|
+
cmd: string;
|
|
46
|
+
ppid: number;
|
|
47
|
+
} | null, maxDepth?: number): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Memoized: is THIS bridge process running under a `codex … app-server` daemon
|
|
50
|
+
* (i.e. codex is `--remote`)? Cached for the process lifetime — ancestry is fixed.
|
|
51
|
+
*/
|
|
52
|
+
export declare function runningUnderAppServerDaemon(): boolean;
|
|
53
|
+
export declare function resetAppServerAncestryCache(): void;
|
|
31
54
|
export interface EnsureDaemonDeps {
|
|
32
55
|
/** Run a command; injectable for tests. Returns collected stdout/stderr/code. */
|
|
33
56
|
run?: (cmd: string, args: string[], env: NodeJS.ProcessEnv) => Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-app-server.d.ts","sourceRoot":"","sources":["../../src/services/codex-app-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codex-app-server.d.ts","sourceRoot":"","sources":["../../src/services/codex-app-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import fs from "node:fs/promises";
|
|
3
|
-
import { spawn } from "node:child_process";
|
|
3
|
+
import { spawn, spawnSync } from "node:child_process";
|
|
4
4
|
import WebSocket from "ws";
|
|
5
5
|
import { getConfig } from "../config.js";
|
|
6
6
|
import { codexHomeDir } from "./agent-config.js";
|
|
@@ -13,6 +13,64 @@ export function appServerSocketPath(codexHome = codexHomeDir()) {
|
|
|
13
13
|
export function rpcUrl(sock) {
|
|
14
14
|
return `ws+unix://${sock}:/rpc`;
|
|
15
15
|
}
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
// Am I running under the app-server daemon? (rail auto-detection)
|
|
18
|
+
// ---------------------------------------------------------------------------
|
|
19
|
+
/**
|
|
20
|
+
* When codex runs `--remote` (attached to the daemon, e.g. launched via
|
|
21
|
+
* cogent-codex), codex's app-server DAEMON — not the codex TUI — is the process
|
|
22
|
+
* that spawns the plugin's MCP server. So the wake decision cannot rely on an env
|
|
23
|
+
* flag reaching the bridge (the daemon doesn't carry it). Instead we detect the
|
|
24
|
+
* situation structurally: the bridge is a descendant of `codex … app-server`
|
|
25
|
+
* exactly when codex is `--remote`. Then the app-server rail is the RIGHT one and
|
|
26
|
+
* we use it automatically — no `COGENT_CODEX_WAKE` needed anywhere.
|
|
27
|
+
*
|
|
28
|
+
* Pure + unit-testable: walk an ancestry via the injected `getProc`, return true
|
|
29
|
+
* if any ancestor's command line is the codex app-server. `codex-cli` (Homebrew/npm)
|
|
30
|
+
* and other names never match; only `codex … app-server`.
|
|
31
|
+
*/
|
|
32
|
+
export function ancestryHasAppServer(startPid, getProc, maxDepth = 8) {
|
|
33
|
+
let pid = startPid;
|
|
34
|
+
for (let i = 0; i < maxDepth && pid > 1; i++) {
|
|
35
|
+
const p = getProc(pid);
|
|
36
|
+
if (!p)
|
|
37
|
+
return false;
|
|
38
|
+
if (/(?:^|\/)codex\S*\s+app-server(?:\s|$)/.test(p.cmd))
|
|
39
|
+
return true;
|
|
40
|
+
pid = p.ppid;
|
|
41
|
+
}
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
/** `ps`-backed process lookup (cross-platform: macOS + Linux). null if unknown. */
|
|
45
|
+
function psProc(pid) {
|
|
46
|
+
try {
|
|
47
|
+
const out = spawnSync("ps", ["-o", "ppid=,args=", "-p", String(pid)], {
|
|
48
|
+
encoding: "utf8",
|
|
49
|
+
timeout: 3000,
|
|
50
|
+
}).stdout?.trim();
|
|
51
|
+
const m = out?.match(/^(\d+)\s+(.*)$/s);
|
|
52
|
+
if (!m)
|
|
53
|
+
return null;
|
|
54
|
+
return { ppid: parseInt(m[1], 10), cmd: m[2] };
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
let _underDaemon;
|
|
61
|
+
/**
|
|
62
|
+
* Memoized: is THIS bridge process running under a `codex … app-server` daemon
|
|
63
|
+
* (i.e. codex is `--remote`)? Cached for the process lifetime — ancestry is fixed.
|
|
64
|
+
*/
|
|
65
|
+
export function runningUnderAppServerDaemon() {
|
|
66
|
+
if (_underDaemon === undefined) {
|
|
67
|
+
_underDaemon = ancestryHasAppServer(process.ppid, psProc);
|
|
68
|
+
}
|
|
69
|
+
return _underDaemon;
|
|
70
|
+
}
|
|
71
|
+
export function resetAppServerAncestryCache() {
|
|
72
|
+
_underDaemon = undefined;
|
|
73
|
+
}
|
|
16
74
|
/**
|
|
17
75
|
* Whether the app-server daemon has been ensured in THIS bridge process. The
|
|
18
76
|
* daemon is a long-lived background process, so we start/confirm it once and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-app-server.js","sourceRoot":"","sources":["../../src/services/codex-app-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codex-app-server.js","sourceRoot":"","sources":["../../src/services/codex-app-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec-remote.d.ts","sourceRoot":"","sources":["../../src/services/exec-remote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAM5C,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"exec-remote.d.ts","sourceRoot":"","sources":["../../src/services/exec-remote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAM5C,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAsClE;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GACjC,OAAO,CAAC,aAAa,CAAC,CAQxB;AAED,iEAAiE;AACjE,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQxB;AAED,gFAAgF;AAChF,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,CAQnD;AAED,iEAAiE;AACjE,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,OAAO,CAAC,CAQlB"}
|
|
@@ -1,18 +1,24 @@
|
|
|
1
1
|
import { getConfig } from "../config.js";
|
|
2
2
|
import { execClaude, detectCurrentSession, validateSession, listCandidates } from "./cc-cli.js";
|
|
3
3
|
import { execCodex, detectCurrentCodexSession, validateCodexSession, listCodexCandidates } from "./codex-cli.js";
|
|
4
|
-
import { ensureDaemon, execCodexViaAppServer } from "./codex-app-server.js";
|
|
4
|
+
import { ensureDaemon, execCodexViaAppServer, runningUnderAppServerDaemon } from "./codex-app-server.js";
|
|
5
5
|
/**
|
|
6
|
-
* Codex wake dispatch, honoring COGENT_CODEX_WAKE
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
6
|
+
* Codex wake dispatch, honoring COGENT_CODEX_WAKE:
|
|
7
|
+
* - `auto` (DEFAULT): use the app-server rail IFF this bridge is running under a
|
|
8
|
+
* `codex … app-server` daemon (i.e. codex is `--remote`, e.g. launched via
|
|
9
|
+
* cogent-codex). That's the ONLY reliable signal — in `--remote` mode the daemon,
|
|
10
|
+
* not the codex TUI, spawns the plugin's MCP, so an env flag never reaches the
|
|
11
|
+
* bridge. Detected structurally via process ancestry → zero config, works no
|
|
12
|
+
* matter how codex was started.
|
|
13
|
+
* - `app-server`: force the rail (explicit).
|
|
14
|
+
* - `exec-resume`: never use it (explicit opt-out; original behavior byte-for-byte).
|
|
15
|
+
* In every case it GRACEFULLY FALLS BACK to `exec-resume` when the daemon can't be
|
|
16
|
+
* reached — a plain codex still degrades to the honest "queued" message.
|
|
13
17
|
*/
|
|
14
18
|
async function execCodexWake(sessionId, message, cwd, timeoutMs, idempotencyKey) {
|
|
15
|
-
|
|
19
|
+
const wake = getConfig().COGENT_CODEX_WAKE;
|
|
20
|
+
const useAppServer = wake === "app-server" || (wake === "auto" && runningUnderAppServerDaemon());
|
|
21
|
+
if (useAppServer) {
|
|
16
22
|
try {
|
|
17
23
|
const sock = await ensureDaemon();
|
|
18
24
|
const result = await execCodexViaAppServer(sessionId, message, cwd, timeoutMs, { socketPath: sock, idempotencyKey });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec-remote.js","sourceRoot":"","sources":["../../src/services/exec-remote.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAChG,OAAO,EAAE,SAAS,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACjH,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"exec-remote.js","sourceRoot":"","sources":["../../src/services/exec-remote.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAChG,OAAO,EAAE,SAAS,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACjH,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAIzG;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,aAAa,CAC1B,SAAiB,EACjB,OAAe,EACf,GAAW,EACX,SAAkB,EAClB,cAAuB;IAEvB,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC,iBAAiB,CAAC;IAC3C,MAAM,YAAY,GAChB,IAAI,KAAK,YAAY,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,2BAA2B,EAAE,CAAC,CAAC;IAC9E,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,YAAY,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;YACrH,IAAI,CAAC,MAAM,CAAC,oBAAoB;gBAAE,OAAO,MAAM,CAAC;YAChD,gEAAgE;QAClE,CAAC;QAAC,MAAM,CAAC;YACP,yEAAyE;QAC3E,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CACxB,QAAkB,EAClB,SAAiB,EACjB,OAAe,EACf,GAAW,EACX,SAAkB,EAClB,IAAkC;IAElC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,OAAO;YACV,OAAO,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QACjF,KAAK,IAAI,CAAC;QACV;YACE,OAAO,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,uBAAuB,CACrC,QAAkB,EAClB,GAAW;IAEX,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,OAAO;YACV,OAAO,yBAAyB,CAAC,GAAG,CAAC,CAAC;QACxC,KAAK,IAAI,CAAC;QACV;YACE,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,iBAAiB,CAC/B,QAAkB,EAClB,GAAW;IAEX,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,OAAO;YACV,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAClC,KAAK,IAAI,CAAC;QACV;YACE,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,kBAAkB,CAChC,QAAkB,EAClB,SAAiB,EACjB,GAAW;IAEX,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,OAAO;YACV,OAAO,oBAAoB,CAAC,SAAS,CAAC,CAAC;QACzC,KAAK,IAAI,CAAC;QACV;YACE,OAAO,eAAe,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@essentialai/cogent-bridge",
|
|
3
|
-
"version": "3.20.
|
|
3
|
+
"version": "3.20.2",
|
|
4
4
|
"description": "MCP server for inter-Claude-Code session communication bridge",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"workspaces": [
|
|
@@ -20,7 +20,8 @@
|
|
|
20
20
|
"README.md",
|
|
21
21
|
"LICENSE",
|
|
22
22
|
"CHANGELOG.md",
|
|
23
|
-
"server.json"
|
|
23
|
+
"server.json",
|
|
24
|
+
"scripts/postinstall-global.mjs"
|
|
24
25
|
],
|
|
25
26
|
"scripts": {
|
|
26
27
|
"start": "node dist/index.js",
|
|
@@ -32,6 +33,7 @@
|
|
|
32
33
|
"test:watch": "node node_modules/vitest/vitest.mjs",
|
|
33
34
|
"test:unit": "node node_modules/vitest/vitest.mjs run --exclude 'src/e2e/**'",
|
|
34
35
|
"test:coverage": "node node_modules/vitest/vitest.mjs run --coverage",
|
|
36
|
+
"postinstall": "node scripts/postinstall-global.mjs",
|
|
35
37
|
"prepublishOnly": "npm run build && npm run test:unit"
|
|
36
38
|
},
|
|
37
39
|
"keywords": [
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* All-in-one installer for `npm install -g @essentialai/cogent-bridge`.
|
|
4
|
+
*
|
|
5
|
+
* Goal (operator spec): the INSTALLER installs EVERYTHING, so the user's only step
|
|
6
|
+
* is running `cogent-codex`. This runs on a GLOBAL install and provisions:
|
|
7
|
+
* 1. codex's managed build (the app-server daemon needs it — additive, lives
|
|
8
|
+
* at ~/.codex/packages/standalone, coexists with any
|
|
9
|
+
* existing Homebrew/npm codex);
|
|
10
|
+
* 2. the `cogent@cogent` codex plugin (the cogent tools inside codex);
|
|
11
|
+
* (the `cogent-codex` command itself is the package's own bin → already on PATH after
|
|
12
|
+
* the global install; the daemon starts at run time.)
|
|
13
|
+
*
|
|
14
|
+
* HARD RULES:
|
|
15
|
+
* - Runs ONLY on a global install (`npm install -g`) and never on a dependency/npx
|
|
16
|
+
* install — guarded by npm_config_global. Skips CI and Windows (unix-socket rail).
|
|
17
|
+
* - NEVER throws / never non-zero: a setup hiccup must not fail `npm install`. Every
|
|
18
|
+
* step is best-effort with a clear log line; the run-time `cogent-codex` wrapper is
|
|
19
|
+
* the safety net for anything that didn't complete here.
|
|
20
|
+
*/
|
|
21
|
+
import { spawnSync } from "node:child_process";
|
|
22
|
+
import { existsSync } from "node:fs";
|
|
23
|
+
import os from "node:os";
|
|
24
|
+
import path from "node:path";
|
|
25
|
+
|
|
26
|
+
const log = (m) => process.stdout.write(`[cogent-install] ${m}\n`);
|
|
27
|
+
|
|
28
|
+
function shouldRun() {
|
|
29
|
+
if (process.env.COGENT_SKIP_SETUP === "1") return false;
|
|
30
|
+
if (process.env.COGENT_FORCE_SETUP === "1") return true; // for testing
|
|
31
|
+
if (process.env.CI) return false;
|
|
32
|
+
if (process.platform === "win32") return false; // app-server rail is unix-socket only
|
|
33
|
+
// npm sets npm_config_global="true" during `npm install -g`. Only then.
|
|
34
|
+
return String(process.env.npm_config_global).toLowerCase() === "true";
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/** Run a command, inheriting the terminal; return true on exit 0. Never throws. */
|
|
38
|
+
function run(cmd, args, opts = {}) {
|
|
39
|
+
try {
|
|
40
|
+
const res = spawnSync(cmd, args, { stdio: "inherit", timeout: 300000, ...opts });
|
|
41
|
+
return res.status === 0;
|
|
42
|
+
} catch {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/** True if the command exists (via `command -v`, best-effort). */
|
|
48
|
+
function has(cmd) {
|
|
49
|
+
try {
|
|
50
|
+
return spawnSync("sh", ["-c", `command -v ${cmd}`], { stdio: "ignore" }).status === 0;
|
|
51
|
+
} catch {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function managedCodexPresent() {
|
|
57
|
+
return existsSync(path.join(os.homedir(), ".codex", "packages", "standalone", "current", "codex"));
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function main() {
|
|
61
|
+
if (!shouldRun()) return; // dependency/npx/CI/Windows → silently do nothing
|
|
62
|
+
|
|
63
|
+
log("setting up Cogent for Codex — installing all components (one-time)…");
|
|
64
|
+
|
|
65
|
+
// 1) codex's managed build (needed for real-time wake's app-server daemon).
|
|
66
|
+
if (managedCodexPresent()) {
|
|
67
|
+
log("✓ codex managed build already present");
|
|
68
|
+
} else {
|
|
69
|
+
log("installing codex's managed build…");
|
|
70
|
+
const ok = run("sh", ["-c", "curl -fsSL https://chatgpt.com/codex/install.sh | sh"]);
|
|
71
|
+
log(ok && managedCodexPresent() ? "✓ codex managed build installed" : "… managed build not completed (cogent-codex will offer it on first run)");
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// 2) the cogent@cogent codex plugin (the cogent tools inside codex). Idempotent.
|
|
75
|
+
if (has("codex")) {
|
|
76
|
+
log("installing the cogent@cogent codex plugin…");
|
|
77
|
+
run("codex", ["plugin", "marketplace", "add", "https://github.com/eaisdevelopment/cogent.git"]);
|
|
78
|
+
const ok = run("codex", ["plugin", "add", "cogent@cogent"]);
|
|
79
|
+
log(ok ? "✓ cogent@cogent plugin installed" : "… plugin add not completed (re-run `codex plugin add cogent@cogent` if needed)");
|
|
80
|
+
} else {
|
|
81
|
+
log("… `codex` not on PATH yet — open a new terminal, then run `cogent-codex` (it finishes setup).");
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
log("done. Start codex with: cogent-codex");
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
try {
|
|
88
|
+
main();
|
|
89
|
+
} catch (e) {
|
|
90
|
+
// Absolutely never fail the npm install.
|
|
91
|
+
log(`setup skipped (${e?.message ?? e}); run \`cogent-codex\` to finish.`);
|
|
92
|
+
}
|
|
93
|
+
process.exit(0);
|
package/server.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"name": "io.github.eaisdevelopment/cogent",
|
|
4
4
|
"title": "Cogent Bridge from Essential AI Solutions (essentialai.uk)",
|
|
5
5
|
"description": "MCP bridge for inter-session communication between Claude Code instances",
|
|
6
|
-
"version": "3.20.
|
|
6
|
+
"version": "3.20.2",
|
|
7
7
|
"repository": {
|
|
8
8
|
"url": "https://github.com/eaisdevelopment/cogent",
|
|
9
9
|
"source": "github"
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
{
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"identifier": "@essentialai/cogent-bridge",
|
|
15
|
-
"version": "3.20.
|
|
15
|
+
"version": "3.20.2",
|
|
16
16
|
"runtimeHint": "npx",
|
|
17
17
|
"transport": {
|
|
18
18
|
"type": "stdio"
|