@mclawnet/codex-adapter 0.1.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-adapter.js","sourceRoot":"","sources":["../src/codex-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import { type SandboxLevel } from "@mclawnet/shared";
2
+ export interface McpServerConfig {
3
+ command: string;
4
+ args?: string[];
5
+ env?: Record<string, string>;
6
+ }
7
+ export interface CodexSpawnArgsOptions {
8
+ sessionId: string;
9
+ resumeId?: string;
10
+ systemPrompt?: string;
11
+ mcpServer?: McpServerConfig;
12
+ /**
13
+ * Per-role sandbox level. Maps to codex's `sandbox_mode` config key:
14
+ * - "read-only" → `read-only`
15
+ * - "workspace-write" → `workspace-write` (default)
16
+ * - "full-access" → `danger-full-access` (codex's internal name; we
17
+ * expose the friendlier label upstream)
18
+ * Undefined falls back to "workspace-write" so existing callers see no
19
+ * behavior change.
20
+ */
21
+ sandbox?: SandboxLevel;
22
+ /**
23
+ * (N3) Sticky model code from SessionManager. Mapped to codex's
24
+ * `-c model="..."`. Codex passes this directly to OpenAI's API.
25
+ * Omitted = codex CLI uses its own default.
26
+ */
27
+ model?: string;
28
+ /**
29
+ * (N3) Sticky mode code from SessionManager. For codex this is alias for
30
+ * sandbox (catalog uses same axis). Resolution: options.mode wins over
31
+ * options.sandbox only if it's a valid codex sandbox value; otherwise
32
+ * options.sandbox path is used.
33
+ */
34
+ mode?: string;
35
+ }
36
+ export interface CodexSpawnArgsResult {
37
+ args: string[];
38
+ briefingFile?: string;
39
+ /** (N3) Which precedence layer supplied the final sandbox_mode. */
40
+ modeSource?: "options.mode" | "options.sandbox" | "default";
41
+ }
42
+ export declare function buildCodexSpawnArgs(options: CodexSpawnArgsOptions): CodexSpawnArgsResult;
43
+ export declare function cleanupBriefingFile(filePath: string): void;
44
+ //# sourceMappingURL=codex-spawn-args.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-spawn-args.d.ts","sourceRoot":"","sources":["../src/codex-spawn-args.ts"],"names":[],"mappings":"AAWA,OAAO,EAAmC,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEtF,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mEAAmE;IACnE,UAAU,CAAC,EAAE,cAAc,GAAG,iBAAiB,GAAG,SAAS,CAAC;CAC7D;AAWD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,GAAG,oBAAoB,CA6FxF;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAM1D"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * codex-spawn-args — construct CLI args for `codex app-server` with
3
+ * per-spawn MCP server + briefing injection.
4
+ *
5
+ * Extracted from CodexAdapter.spawn() so it can be unit-tested without
6
+ * spawning a real child process.
7
+ */
8
+ import { writeFileSync, unlinkSync } from "node:fs";
9
+ import { join } from "node:path";
10
+ import { tmpdir } from "node:os";
11
+ import { randomUUID } from "node:crypto";
12
+ import { DEFAULT_SANDBOX, SANDBOX_LEVELS } from "@mclawnet/shared";
13
+ function escapeToml(value) {
14
+ return value.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
15
+ }
16
+ // N3: module-level Set reusing shared SANDBOX_LEVELS so adding a new
17
+ // sandbox level there auto-propagates here. Allocated once per process,
18
+ // not per buildCodexSpawnArgs call.
19
+ const VALID_CODEX_SANDBOX = new Set(SANDBOX_LEVELS);
20
+ export function buildCodexSpawnArgs(options) {
21
+ const args = ["app-server"];
22
+ let briefingFile;
23
+ // NOTE: `--resume <id>` is NOT a valid `codex app-server` flag. It only
24
+ // exists on `codex` interactive / `codex exec`. Passing it to app-server
25
+ // makes the CLI exit with "error: unexpected argument '--resume' found",
26
+ // and the calling spawn() doesn't notice the immediate exit, so all
27
+ // JSON-RPC traffic hangs. Resume is implemented at the protocol layer
28
+ // by sending `thread/resume { threadId }` from CodexAdapter.handshake()
29
+ // when CodexProcess.resumeId is set. `options.resumeId` is kept on the
30
+ // CodexProcess for the handshake to read; we do NOT add it to args.
31
+ void options.resumeId;
32
+ // Non-interactive runtime policy: swarm roles run unattended, so MCP tool
33
+ // calls must not be gated on a user-facing approval prompt. Without
34
+ // `approval_policy="never"`, codex defaults to `on-request` and rejects
35
+ // every MCP tool call with "user rejected MCP tool call" because there's
36
+ // no elicitation handler wired on the client side. `workspace-write`
37
+ // matches the role's workDir as the writable root (analogous to claude-
38
+ // adapter's `--permission-mode bypassPermissions` + workspace boundary).
39
+ args.push("-c", 'approval_policy="never"');
40
+ // Map ClawNet's abstract sandbox level to codex's mode name. We expose
41
+ // "full-access" to users for readability; codex's internal mode is
42
+ // named "danger-full-access". Default (undefined) → DEFAULT_SANDBOX
43
+ // from @mclawnet/shared so existing swarms keep current behavior.
44
+ // N3: Resolve sandbox from options.mode > options.sandbox > DEFAULT_SANDBOX.
45
+ let sandboxLevel;
46
+ let modeSource;
47
+ if (options.mode && VALID_CODEX_SANDBOX.has(options.mode)) {
48
+ sandboxLevel = options.mode;
49
+ modeSource = "options.mode";
50
+ }
51
+ else if (options.sandbox) {
52
+ sandboxLevel = options.sandbox;
53
+ modeSource = "options.sandbox";
54
+ }
55
+ else {
56
+ sandboxLevel = DEFAULT_SANDBOX;
57
+ modeSource = "default";
58
+ }
59
+ const codexSandboxMode = sandboxLevel === "read-only"
60
+ ? "read-only"
61
+ : sandboxLevel === "full-access"
62
+ ? "danger-full-access"
63
+ : "workspace-write";
64
+ args.push("-c", `sandbox_mode="${codexSandboxMode}"`);
65
+ // N3: model
66
+ if (options.model) {
67
+ args.push("-c", `model="${escapeToml(options.model)}"`);
68
+ }
69
+ // Layer 1: MCP server injection via -c flags
70
+ if (options.mcpServer) {
71
+ const { command, args: serverArgs, env } = options.mcpServer;
72
+ args.push("-c", `mcp_servers.clawnet-mcp.command="${escapeToml(command)}"`);
73
+ if (serverArgs && serverArgs.length > 0) {
74
+ const argsToml = "[" + serverArgs.map((a) => `"${escapeToml(a)}"`).join(", ") + "]";
75
+ args.push("-c", `mcp_servers.clawnet-mcp.args=${argsToml}`);
76
+ }
77
+ if (env) {
78
+ for (const [key, value] of Object.entries(env)) {
79
+ args.push("-c", `mcp_servers.clawnet-mcp.env.${key}="${escapeToml(value)}"`);
80
+ }
81
+ }
82
+ // CRITICAL: per-server tool approval mode. Without this codex still
83
+ // elicits each MCP tool call (even with global approval_policy="never"
84
+ // which only covers shell exec). The elicitation has no client-side
85
+ // handler, so every MCP tool call returns "user rejected MCP tool call"
86
+ // in 0s. "approve" silently approves all tool calls — required for
87
+ // unattended swarm-role execution. (Valid values are "prompt" and
88
+ // "approve"; "auto" is NOT accepted by codex 0.134.)
89
+ args.push("-c", 'mcp_servers.clawnet-mcp.default_tools_approval_mode="approve"');
90
+ }
91
+ // Layer 2: Briefing injection via temp file + model_instructions_file
92
+ if (options.systemPrompt) {
93
+ // Sanitize sessionId for use in a filename: swarm role sessionIds look like
94
+ // "<swarmId>::<instanceId>" (e.g. "abc123::dev-0"). Windows forbids `:`
95
+ // (and `\\/*?"<>|`, control chars 0x00-0x1F, plus trailing `.`/space) in
96
+ // filenames, so writeFileSync blows up with ENOENT and the entire codex
97
+ // role fails to spawn. Replace all illegal chars with `_` — the file is
98
+ // throwaway, only the .md suffix matters.
99
+ const safeId = options.sessionId
100
+ // eslint-disable-next-line no-control-regex
101
+ .replace(/[\\/:*?"<>|\x00-\x1F]/g, "_")
102
+ .replace(/[. ]+$/g, "_");
103
+ briefingFile = join(tmpdir(), `clawnet-briefing-${safeId}-${randomUUID().slice(0, 8)}.md`);
104
+ writeFileSync(briefingFile, options.systemPrompt, { encoding: "utf-8", mode: 0o600 });
105
+ args.push("-c", `model_instructions_file="${escapeToml(briefingFile)}"`);
106
+ }
107
+ return { args, briefingFile, modeSource };
108
+ }
109
+ export function cleanupBriefingFile(filePath) {
110
+ try {
111
+ unlinkSync(filePath);
112
+ }
113
+ catch {
114
+ // ignore — file may already be gone
115
+ }
116
+ }
117
+ //# sourceMappingURL=codex-spawn-args.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-spawn-args.js","sourceRoot":"","sources":["../src/codex-spawn-args.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export interface DetectResult {
2
+ installed: boolean;
3
+ binaryPath?: string;
4
+ version?: string;
5
+ reason?: string;
6
+ }
7
+ /**
8
+ * Detect a codex CLI install on this machine. Must never throw — all
9
+ * errors (missing binary, EACCES, timeout, hung --version) are absorbed
10
+ * and surfaced via `reason` with `installed: false`.
11
+ *
12
+ * NOTE: Keep the entire body inside the single try block. Any code path
13
+ * added outside the try would break the no-throw contract that
14
+ * collectAgentManifest() relies on.
15
+ */
16
+ export declare function detectCodexInstall(): Promise<DetectResult>;
17
+ //# sourceMappingURL=detect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../src/detect.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,YAAY,CAAC,CAgBhE"}
package/dist/detect.js ADDED
@@ -0,0 +1,32 @@
1
+ import { execFile } from "node:child_process";
2
+ import { promisify } from "node:util";
3
+ import { platform } from "node:os";
4
+ const exec = promisify(execFile);
5
+ /**
6
+ * Detect a codex CLI install on this machine. Must never throw — all
7
+ * errors (missing binary, EACCES, timeout, hung --version) are absorbed
8
+ * and surfaced via `reason` with `installed: false`.
9
+ *
10
+ * NOTE: Keep the entire body inside the single try block. Any code path
11
+ * added outside the try would break the no-throw contract that
12
+ * collectAgentManifest() relies on.
13
+ */
14
+ export async function detectCodexInstall() {
15
+ try {
16
+ const isWin = platform() === "win32";
17
+ const lookup = isWin ? "where" : "which";
18
+ const { stdout: lookupOut } = await exec(lookup, ["codex"], { timeout: 5000 });
19
+ // `where` / `which` may return multiple shims (homebrew + nvm-global, etc.) — take first line.
20
+ const binaryPath = lookupOut.trim().split(/\r?\n/)[0]?.trim();
21
+ if (!binaryPath) {
22
+ return { installed: false, reason: `codex CLI not detected: empty ${lookup} output` };
23
+ }
24
+ const { stdout: verOut } = await exec(binaryPath, ["--version"], { timeout: 5000 });
25
+ return { installed: true, binaryPath, version: verOut.trim() };
26
+ }
27
+ catch (err) {
28
+ const message = err instanceof Error ? err.message : String(err);
29
+ return { installed: false, reason: `codex CLI not detected: ${message}` };
30
+ }
31
+ }
32
+ //# sourceMappingURL=detect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detect.js","sourceRoot":"","sources":["../src/detect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAcjC;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,QAAQ,EAAE,KAAK,OAAO,CAAC;QACrC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QACzC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/E,+FAA+F;QAC/F,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAC9D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,iCAAiC,MAAM,SAAS,EAAE,CAAC;QACxF,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;IACjE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,2BAA2B,OAAO,EAAE,EAAE,CAAC;IAC5E,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { CodexAdapter, CodexProcess } from "./codex-adapter.js";
2
+ export { JsonRpcClient } from "./json-rpc-client.js";
3
+ export { decisionToWire, parseApprovalRequest } from "./permission-mapper.js";
4
+ export { mapCodexFrame } from "./output-mapper.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,5 @@
1
+ export { CodexAdapter, CodexProcess } from "./codex-adapter.js";
2
+ export { JsonRpcClient } from "./json-rpc-client.js";
3
+ export { decisionToWire, parseApprovalRequest } from "./permission-mapper.js";
4
+ export { mapCodexFrame } from "./output-mapper.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,37 @@
1
+ import type { Writable, Readable } from "node:stream";
2
+ export interface JsonRpcClientOptions {
3
+ stdin: Writable;
4
+ stdout: Readable;
5
+ onRequest?: (method: string, params: unknown) => Promise<unknown> | unknown;
6
+ onNotification?: (method: string, params: unknown) => void;
7
+ onMalformedLine?: (line: string, err: Error) => void;
8
+ }
9
+ /**
10
+ * Minimal JSON-RPC 2.0 client over NDJSON stdio.
11
+ *
12
+ * Half of the duplex: client-initiated `request()` returns a Promise tied to
13
+ * the response by id. Server-initiated requests (codex approval callbacks)
14
+ * are dispatched to `onRequest` and the resolved value is written back as a
15
+ * `result` envelope.
16
+ */
17
+ export declare class JsonRpcClient {
18
+ private stdin;
19
+ private buffer;
20
+ private nextId;
21
+ private pending;
22
+ private onRequest?;
23
+ private onNotification?;
24
+ private onMalformedLine?;
25
+ constructor(opts: JsonRpcClientOptions);
26
+ /**
27
+ * Reject every in-flight request with the given error. Called when stdin
28
+ * dies so callers get a clean rejection instead of hanging until the
29
+ * handshake death-poll catches up.
30
+ */
31
+ private failAllPending;
32
+ request(method: string, params: unknown): Promise<unknown>;
33
+ notify(method: string, params: unknown): void;
34
+ private feed;
35
+ private dispatch;
36
+ }
37
+ //# sourceMappingURL=json-rpc-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-rpc-client.d.ts","sourceRoot":"","sources":["../src/json-rpc-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,QAAQ,CAAC;IAChB,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAC5E,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3D,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;CACtD;AAOD;;;;;;;GAOG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,SAAS,CAAC,CAAoC;IACtD,OAAO,CAAC,cAAc,CAAC,CAAyC;IAChE,OAAO,CAAC,eAAe,CAAC,CAA0C;gBAEtD,IAAI,EAAE,oBAAoB;IAatC;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAkB1D,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAQ7C,OAAO,CAAC,IAAI;IAWZ,OAAO,CAAC,QAAQ;CA8CjB"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Minimal JSON-RPC 2.0 client over NDJSON stdio.
3
+ *
4
+ * Half of the duplex: client-initiated `request()` returns a Promise tied to
5
+ * the response by id. Server-initiated requests (codex approval callbacks)
6
+ * are dispatched to `onRequest` and the resolved value is written back as a
7
+ * `result` envelope.
8
+ */
9
+ export class JsonRpcClient {
10
+ stdin;
11
+ buffer = "";
12
+ nextId = 1;
13
+ pending = new Map();
14
+ onRequest;
15
+ onNotification;
16
+ onMalformedLine;
17
+ constructor(opts) {
18
+ this.stdin = opts.stdin;
19
+ this.onRequest = opts.onRequest;
20
+ this.onNotification = opts.onNotification;
21
+ this.onMalformedLine = opts.onMalformedLine;
22
+ opts.stdout.on("data", (chunk) => this.feed(chunk.toString("utf-8")));
23
+ // Without this listener, an EPIPE on stdin (codex dies mid-handshake,
24
+ // user closes the pipe, OS sends SIGPIPE) bubbles as an unhandled
25
+ // 'error' event and crashes the host process. We surface it as a
26
+ // structured rejection on every in-flight request instead.
27
+ this.stdin.on("error", (err) => this.failAllPending(err));
28
+ }
29
+ /**
30
+ * Reject every in-flight request with the given error. Called when stdin
31
+ * dies so callers get a clean rejection instead of hanging until the
32
+ * handshake death-poll catches up.
33
+ */
34
+ failAllPending(err) {
35
+ for (const [, p] of this.pending) {
36
+ try {
37
+ p.reject(err);
38
+ }
39
+ catch { /* ignore listener throw */ }
40
+ }
41
+ this.pending.clear();
42
+ }
43
+ request(method, params) {
44
+ const id = this.nextId++;
45
+ const frame = { jsonrpc: "2.0", id, method, params };
46
+ return new Promise((resolve, reject) => {
47
+ this.pending.set(id, { resolve, reject });
48
+ // Pass an error callback so a write failure (EPIPE on dead child)
49
+ // rejects this specific request instead of triggering an unhandled
50
+ // 'error' on the stream. The stdin 'error' handler above is the
51
+ // backstop for failures that arrive out-of-band of any write.
52
+ this.stdin.write(JSON.stringify(frame) + "\n", (err) => {
53
+ if (err) {
54
+ this.pending.delete(id);
55
+ reject(err);
56
+ }
57
+ });
58
+ });
59
+ }
60
+ notify(method, params) {
61
+ // Same swallow-rather-than-crash policy for notifications. There's no
62
+ // pending promise to reject; the caller fired-and-forgot.
63
+ this.stdin.write(JSON.stringify({ jsonrpc: "2.0", method, params }) + "\n", () => {
64
+ /* errors absorbed by the 'error' handler in the constructor */
65
+ });
66
+ }
67
+ feed(s) {
68
+ this.buffer += s;
69
+ let nl;
70
+ while ((nl = this.buffer.indexOf("\n")) >= 0) {
71
+ const line = this.buffer.slice(0, nl).trim();
72
+ this.buffer = this.buffer.slice(nl + 1);
73
+ if (!line)
74
+ continue;
75
+ this.dispatch(line);
76
+ }
77
+ }
78
+ dispatch(line) {
79
+ let msg;
80
+ try {
81
+ msg = JSON.parse(line);
82
+ }
83
+ catch (err) {
84
+ this.onMalformedLine?.(line, err);
85
+ return;
86
+ }
87
+ if (typeof msg.id === "number" && (msg.result !== undefined || msg.error !== undefined)) {
88
+ const pending = this.pending.get(msg.id);
89
+ if (!pending)
90
+ return;
91
+ this.pending.delete(msg.id);
92
+ if (msg.error)
93
+ pending.reject(new Error(msg.error.message));
94
+ else
95
+ pending.resolve(msg.result);
96
+ return;
97
+ }
98
+ if (msg.method && typeof msg.id === "number") {
99
+ // server-initiated request
100
+ const id = msg.id;
101
+ const method = msg.method;
102
+ const params = msg.params;
103
+ void Promise.resolve(this.onRequest?.(method, params))
104
+ .then((result) => {
105
+ this.stdin.write(JSON.stringify({ jsonrpc: "2.0", id, result }) + "\n");
106
+ })
107
+ .catch((err) => {
108
+ this.stdin.write(JSON.stringify({
109
+ jsonrpc: "2.0",
110
+ id,
111
+ error: { code: -32000, message: err.message },
112
+ }) + "\n");
113
+ });
114
+ return;
115
+ }
116
+ if (msg.method) {
117
+ this.onNotification?.(msg.method, msg.params);
118
+ }
119
+ }
120
+ }
121
+ //# sourceMappingURL=json-rpc-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-rpc-client.js","sourceRoot":"","sources":["../src/json-rpc-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { BackendOutput } from "@mclawnet/backend-types";
2
+ /**
3
+ * Map a single codex JSON-RPC notification frame to a backend-neutral
4
+ * BackendOutput envelope. Unknown methods degrade to `{ kind: "raw" }` so
5
+ * the agent main loop can still see them (e.g. for debug logging) without
6
+ * the adapter pretending to understand every codex frame.
7
+ *
8
+ * Covers both v2 (`item/agentMessage/delta`, `item/started`, `item/completed`)
9
+ * and legacy (`thread/message`, `thread/toolUse`) frame names.
10
+ */
11
+ export declare function mapCodexFrame(frame: {
12
+ method: string;
13
+ params?: unknown;
14
+ }): BackendOutput;
15
+ //# sourceMappingURL=output-mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-mapper.d.ts","sourceRoot":"","sources":["../src/output-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GAAG,aAAa,CA0HhB"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Map a single codex JSON-RPC notification frame to a backend-neutral
3
+ * BackendOutput envelope. Unknown methods degrade to `{ kind: "raw" }` so
4
+ * the agent main loop can still see them (e.g. for debug logging) without
5
+ * the adapter pretending to understand every codex frame.
6
+ *
7
+ * Covers both v2 (`item/agentMessage/delta`, `item/started`, `item/completed`)
8
+ * and legacy (`thread/message`, `thread/toolUse`) frame names.
9
+ */
10
+ export function mapCodexFrame(frame) {
11
+ const params = (frame.params ?? {});
12
+ switch (frame.method) {
13
+ // ── v2 frames (real codex app-server v2 protocol) ─────────────────
14
+ case "item/agentMessage/delta": {
15
+ const delta = params.delta;
16
+ if (typeof delta === "string") {
17
+ return { kind: "assistant_text", text: delta };
18
+ }
19
+ break;
20
+ }
21
+ case "item/completed": {
22
+ const item = params.item;
23
+ // NOTE: `item.type === "agentMessage"` is intentionally NOT handled
24
+ // here. It's intercepted earlier in `CodexAdapter.handleNotification`,
25
+ // which needs per-itemId delta state to avoid double-emitting (deltas
26
+ // already streamed the same text). Re-adding a branch here would
27
+ // bypass that dedupe and reintroduce the "Hello worldHello world" bug.
28
+ if (item?.type === "commandExecution") {
29
+ // CommandExecutionStatus = "inProgress" | "completed" | "failed" | "declined"
30
+ const failed = item.status === "failed" || item.status === "declined";
31
+ const badExit = typeof item.exitCode === "number" && item.exitCode !== 0;
32
+ return {
33
+ kind: "tool_result",
34
+ callId: String(item.id ?? ""),
35
+ output: item.aggregatedOutput ?? null,
36
+ isError: failed || badExit,
37
+ };
38
+ }
39
+ if (item?.type === "fileChange") {
40
+ // PatchApplyStatus shares the CommandExecutionStatus enum shape.
41
+ const failed = item.status === "failed" || item.status === "declined";
42
+ return {
43
+ kind: "tool_result",
44
+ callId: String(item.id ?? ""),
45
+ output: { changes: item.changes },
46
+ isError: failed,
47
+ };
48
+ }
49
+ if (item?.type === "mcpToolCall") {
50
+ // McpToolCallStatus = "inProgress" | "completed" | "failed"
51
+ const failed = item.status === "failed" || item.error != null;
52
+ return {
53
+ kind: "tool_result",
54
+ callId: String(item.id ?? ""),
55
+ output: failed ? item.error : item.result,
56
+ isError: failed,
57
+ };
58
+ }
59
+ break;
60
+ }
61
+ case "item/started": {
62
+ const item = params.item;
63
+ if (item?.type === "commandExecution") {
64
+ return {
65
+ kind: "tool_use",
66
+ callId: String(item.id ?? ""),
67
+ toolName: "shell",
68
+ input: { command: item.command },
69
+ };
70
+ }
71
+ if (item?.type === "mcpToolCall") {
72
+ return {
73
+ kind: "tool_use",
74
+ callId: String(item.id ?? ""),
75
+ toolName: String(item.name ?? "mcp"),
76
+ input: item.input,
77
+ };
78
+ }
79
+ break;
80
+ }
81
+ // ── legacy frame names (kept for back-compat with older codex / tests) ──
82
+ case "thread/message": {
83
+ const role = params.role;
84
+ const content = params.content;
85
+ if (role === "assistant" && content) {
86
+ const text = content
87
+ .filter((c) => c.type === "text" && typeof c.text === "string")
88
+ .map((c) => c.text)
89
+ .join("");
90
+ return { kind: "assistant_text", text };
91
+ }
92
+ break;
93
+ }
94
+ case "thread/toolUse":
95
+ return {
96
+ kind: "tool_use",
97
+ callId: String(params.callId ?? ""),
98
+ toolName: String(params.name ?? ""),
99
+ input: params.input,
100
+ };
101
+ case "thread/toolResult":
102
+ return {
103
+ kind: "tool_result",
104
+ callId: String(params.callId ?? ""),
105
+ output: params.output,
106
+ isError: Boolean(params.isError),
107
+ };
108
+ }
109
+ return { kind: "raw", backend: "codex", payload: frame };
110
+ }
111
+ //# sourceMappingURL=output-mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-mapper.js","sourceRoot":"","sources":["../src/output-mapper.ts"],"names":[],"mappings":"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"}