@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.
- package/dist/catalog.d.ts +4 -0
- package/dist/catalog.d.ts.map +1 -0
- package/dist/catalog.js +29 -0
- package/dist/catalog.js.map +1 -0
- package/dist/codex-adapter.d.ts +171 -0
- package/dist/codex-adapter.d.ts.map +1 -0
- package/dist/codex-adapter.js +911 -0
- package/dist/codex-adapter.js.map +1 -0
- package/dist/codex-spawn-args.d.ts +44 -0
- package/dist/codex-spawn-args.d.ts.map +1 -0
- package/dist/codex-spawn-args.js +117 -0
- package/dist/codex-spawn-args.js.map +1 -0
- package/dist/detect.d.ts +17 -0
- package/dist/detect.d.ts.map +1 -0
- package/dist/detect.js +32 -0
- package/dist/detect.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/json-rpc-client.d.ts +37 -0
- package/dist/json-rpc-client.d.ts.map +1 -0
- package/dist/json-rpc-client.js +121 -0
- package/dist/json-rpc-client.js.map +1 -0
- package/dist/output-mapper.d.ts +15 -0
- package/dist/output-mapper.d.ts.map +1 -0
- package/dist/output-mapper.js +111 -0
- package/dist/output-mapper.js.map +1 -0
- package/dist/permission-mapper.d.ts +52 -0
- package/dist/permission-mapper.d.ts.map +1 -0
- package/dist/permission-mapper.js +146 -0
- package/dist/permission-mapper.js.map +1 -0
- package/package.json +32 -0
|
@@ -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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"}
|
package/dist/detect.d.ts
ADDED
|
@@ -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"}
|
package/dist/index.d.ts
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.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":"AAeA;;;;;;;GAOG;AACH,MAAM,OAAO,aAAa;IAChB,KAAK,CAAW;IAChB,MAAM,GAAG,EAAE,CAAC;IACZ,MAAM,GAAG,CAAC,CAAC;IACX,OAAO,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC5C,SAAS,CAAqC;IAC9C,cAAc,CAA0C;IACxD,eAAe,CAA2C;IAElE,YAAY,IAA0B;QACpC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC9E,sEAAsE;QACtE,kEAAkE;QAClE,iEAAiE;QACjE,2DAA2D;QAC3D,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED;;;;OAIG;IACK,cAAc,CAAC,GAAU;QAC/B,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,CAAC;gBAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,OAAO,CAAC,MAAc,EAAE,MAAe;QACrC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACrD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1C,kEAAkE;YAClE,mEAAmE;YACnE,gEAAgE;YAChE,8DAA8D;YAC9D,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;gBACrD,IAAI,GAAG,EAAE,CAAC;oBACR,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACxB,MAAM,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,MAAe;QACpC,sEAAsE;QACtE,0DAA0D;QAC1D,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;YAC/E,+DAA+D;QACjE,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,IAAI,CAAC,CAAS;QACpB,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACjB,IAAI,EAAU,CAAC;QACf,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,IAAY;QAC3B,IAAI,GAMH,CAAC;QACF,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,GAAY,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,EAAE,CAAC;YACxF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACzC,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5B,IAAI,GAAG,CAAC,KAAK;gBAAE,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;;gBACvD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACjC,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC7C,2BAA2B;YAC3B,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YAC1B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YAC1B,KAAK,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;iBACnD,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBACf,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YAC1E,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;gBACpB,IAAI,CAAC,KAAK,CAAC,KAAK,CACd,IAAI,CAAC,SAAS,CAAC;oBACb,OAAO,EAAE,KAAK;oBACd,EAAE;oBACF,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE;iBAC9C,CAAC,GAAG,IAAI,CACV,CAAC;YACJ,CAAC,CAAC,CAAC;YACL,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,IAAI,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;CACF"}
|
|
@@ -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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"}
|