@agentex/agent 0.0.40 → 0.0.42
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 +34 -0
- package/README.md +24 -4
- package/dist/providers/antigravity/execute.d.ts.map +1 -1
- package/dist/providers/antigravity/execute.js +9 -3
- package/dist/providers/antigravity/execute.js.map +1 -1
- package/dist/providers/antigravity/runtime.d.ts +4 -2
- package/dist/providers/antigravity/runtime.d.ts.map +1 -1
- package/dist/providers/antigravity/runtime.js +7 -4
- package/dist/providers/antigravity/runtime.js.map +1 -1
- package/dist/providers/antigravity/session.d.ts.map +1 -1
- package/dist/providers/antigravity/session.js +59 -17
- package/dist/providers/antigravity/session.js.map +1 -1
- package/dist/providers/codex/parse.d.ts +7 -0
- package/dist/providers/codex/parse.d.ts.map +1 -1
- package/dist/providers/codex/parse.js +56 -0
- package/dist/providers/codex/parse.js.map +1 -1
- package/dist/providers/codex/permissions.d.ts +40 -0
- package/dist/providers/codex/permissions.d.ts.map +1 -0
- package/dist/providers/codex/permissions.js +50 -0
- package/dist/providers/codex/permissions.js.map +1 -0
- package/dist/providers/codex/session.d.ts +34 -0
- package/dist/providers/codex/session.d.ts.map +1 -1
- package/dist/providers/codex/session.js +213 -20
- package/dist/providers/codex/session.js.map +1 -1
- package/dist/utils/auth.d.ts.map +1 -1
- package/dist/utils/auth.js +12 -10
- package/dist/utils/auth.js.map +1 -1
- package/package.json +1 -1
- package/src/providers/antigravity/execute.ts +10 -3
- package/src/providers/antigravity/runtime.ts +7 -4
- package/src/providers/antigravity/session.ts +59 -18
- package/src/providers/codex/parse.ts +59 -0
- package/src/providers/codex/permissions.ts +61 -0
- package/src/providers/codex/session.ts +238 -19
- package/src/utils/auth.ts +12 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/providers/codex/parse.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/providers/codex/parse.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The approval policy and sandbox a Codex app-server thread runs with.
|
|
3
|
+
*
|
|
4
|
+
* `codex app-server` reads root `-c key=value` overrides but drops the
|
|
5
|
+
* interactive flags (`--sandbox`, `--dangerously-bypass-approvals-and-sandbox`):
|
|
6
|
+
* they belong to the TUI, and the `app-server` subcommand never receives them
|
|
7
|
+
* (codex-rs `cli/src/main.rs`, verified on 0.160). Sessions spawned with those
|
|
8
|
+
* flags ran on Codex's own defaults instead: approvals `on-request` and a
|
|
9
|
+
* `workspace-write` or `read-only` sandbox, whatever the host asked for.
|
|
10
|
+
*
|
|
11
|
+
* So the policy is set twice, through the two channels app-server does read:
|
|
12
|
+
* the `-c` overrides at spawn (every thread the process runs, child agents and
|
|
13
|
+
* resumed threads included) and the `thread/start` / `thread/resume` params
|
|
14
|
+
* (the root thread, explicitly, so a resumed thread created under different
|
|
15
|
+
* settings takes the current ones).
|
|
16
|
+
*
|
|
17
|
+
* It matters beyond the sandbox. Under `never` with full disk access, Codex
|
|
18
|
+
* approves MCP and app tool calls itself (`mcp_permission_prompt_is_auto_approved`
|
|
19
|
+
* in codex-rs `codex-mcp`). Under `on-request` it asks the client first, through
|
|
20
|
+
* `mcpServer/elicitation/request`.
|
|
21
|
+
*/
|
|
22
|
+
import type { ProviderConfig } from "../../types.js";
|
|
23
|
+
export type CodexSandboxMode = "read-only" | "workspace-write" | "danger-full-access";
|
|
24
|
+
export interface CodexThreadPermissions {
|
|
25
|
+
/** Unset leaves Codex's configured default (`on-request` unless the user changed it). */
|
|
26
|
+
approvalPolicy?: "never";
|
|
27
|
+
/** Unset leaves Codex's configured default, which depends on the folder's trust. */
|
|
28
|
+
sandbox?: CodexSandboxMode;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Plan mode wins over `skipPermissions`, as it does for the spawn flags:
|
|
32
|
+
* read-only, with approvals left on so an escalation still reaches the host.
|
|
33
|
+
* Anything else leaves Codex's defaults, which is what no flag ever meant.
|
|
34
|
+
*/
|
|
35
|
+
export declare function codexThreadPermissions(config: Pick<ProviderConfig, "planMode" | "skipPermissions"> | undefined): CodexThreadPermissions;
|
|
36
|
+
/** The same settings as root `-c` overrides, placed before the `app-server` subcommand. */
|
|
37
|
+
export declare function codexPermissionConfigArgs(permissions: CodexThreadPermissions): string[];
|
|
38
|
+
/** The same settings as `thread/start` / `thread/resume` params. */
|
|
39
|
+
export declare function codexPermissionThreadParams(permissions: CodexThreadPermissions): Record<string, unknown>;
|
|
40
|
+
//# sourceMappingURL=permissions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../src/providers/codex/permissions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;AAEtF,MAAM,WAAW,sBAAsB;IACrC,yFAAyF;IACzF,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oFAAoF;IACpF,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,iBAAiB,CAAC,GAAG,SAAS,GACvE,sBAAsB,CAIxB;AAED,2FAA2F;AAC3F,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,sBAAsB,GAAG,MAAM,EAAE,CAKvF;AAED,oEAAoE;AACpE,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKxG"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The approval policy and sandbox a Codex app-server thread runs with.
|
|
3
|
+
*
|
|
4
|
+
* `codex app-server` reads root `-c key=value` overrides but drops the
|
|
5
|
+
* interactive flags (`--sandbox`, `--dangerously-bypass-approvals-and-sandbox`):
|
|
6
|
+
* they belong to the TUI, and the `app-server` subcommand never receives them
|
|
7
|
+
* (codex-rs `cli/src/main.rs`, verified on 0.160). Sessions spawned with those
|
|
8
|
+
* flags ran on Codex's own defaults instead: approvals `on-request` and a
|
|
9
|
+
* `workspace-write` or `read-only` sandbox, whatever the host asked for.
|
|
10
|
+
*
|
|
11
|
+
* So the policy is set twice, through the two channels app-server does read:
|
|
12
|
+
* the `-c` overrides at spawn (every thread the process runs, child agents and
|
|
13
|
+
* resumed threads included) and the `thread/start` / `thread/resume` params
|
|
14
|
+
* (the root thread, explicitly, so a resumed thread created under different
|
|
15
|
+
* settings takes the current ones).
|
|
16
|
+
*
|
|
17
|
+
* It matters beyond the sandbox. Under `never` with full disk access, Codex
|
|
18
|
+
* approves MCP and app tool calls itself (`mcp_permission_prompt_is_auto_approved`
|
|
19
|
+
* in codex-rs `codex-mcp`). Under `on-request` it asks the client first, through
|
|
20
|
+
* `mcpServer/elicitation/request`.
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* Plan mode wins over `skipPermissions`, as it does for the spawn flags:
|
|
24
|
+
* read-only, with approvals left on so an escalation still reaches the host.
|
|
25
|
+
* Anything else leaves Codex's defaults, which is what no flag ever meant.
|
|
26
|
+
*/
|
|
27
|
+
export function codexThreadPermissions(config) {
|
|
28
|
+
if (config?.planMode)
|
|
29
|
+
return { sandbox: "read-only" };
|
|
30
|
+
if (config?.skipPermissions)
|
|
31
|
+
return { approvalPolicy: "never", sandbox: "danger-full-access" };
|
|
32
|
+
return {};
|
|
33
|
+
}
|
|
34
|
+
/** The same settings as root `-c` overrides, placed before the `app-server` subcommand. */
|
|
35
|
+
export function codexPermissionConfigArgs(permissions) {
|
|
36
|
+
const args = [];
|
|
37
|
+
if (permissions.approvalPolicy)
|
|
38
|
+
args.push("-c", `approval_policy="${permissions.approvalPolicy}"`);
|
|
39
|
+
if (permissions.sandbox)
|
|
40
|
+
args.push("-c", `sandbox_mode="${permissions.sandbox}"`);
|
|
41
|
+
return args;
|
|
42
|
+
}
|
|
43
|
+
/** The same settings as `thread/start` / `thread/resume` params. */
|
|
44
|
+
export function codexPermissionThreadParams(permissions) {
|
|
45
|
+
return {
|
|
46
|
+
...(permissions.approvalPolicy ? { approvalPolicy: permissions.approvalPolicy } : {}),
|
|
47
|
+
...(permissions.sandbox ? { sandbox: permissions.sandbox } : {}),
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=permissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../src/providers/codex/permissions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAaH;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAwE;IAExE,IAAI,MAAM,EAAE,QAAQ;QAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IACtD,IAAI,MAAM,EAAE,eAAe;QAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAC/F,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,yBAAyB,CAAC,WAAmC;IAC3E,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,WAAW,CAAC,cAAc;QAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,oBAAoB,WAAW,CAAC,cAAc,GAAG,CAAC,CAAC;IACnG,IAAI,WAAW,CAAC,OAAO;QAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,WAAW,CAAC,OAAO,GAAG,CAAC,CAAC;IAClF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,2BAA2B,CAAC,WAAmC;IAC7E,OAAO;QACL,GAAG,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjE,CAAC;AACJ,CAAC"}
|
|
@@ -51,6 +51,8 @@ export declare class CodexSessionImpl implements AgentSession {
|
|
|
51
51
|
private _turnTerminalObserved;
|
|
52
52
|
/** Stamps `tool_result.toolName` by correlating with prior `tool_call`s. */
|
|
53
53
|
private readonly _trackToolName;
|
|
54
|
+
/** MCP tool calls started and not yet completed, by item id, for pairing approvals. */
|
|
55
|
+
private readonly _mcpCallsInFlight;
|
|
54
56
|
private _turnSummary;
|
|
55
57
|
private _turnUsage;
|
|
56
58
|
private _turnModel;
|
|
@@ -122,6 +124,7 @@ export declare class CodexSessionImpl implements AgentSession {
|
|
|
122
124
|
*/
|
|
123
125
|
private goalRpc;
|
|
124
126
|
private rpcResponse;
|
|
127
|
+
private rpcError;
|
|
125
128
|
handshake(): Promise<void>;
|
|
126
129
|
send(message: string, options?: SendOptions): Promise<SendHandle>;
|
|
127
130
|
/**
|
|
@@ -157,6 +160,37 @@ export declare class CodexSessionImpl implements AgentSession {
|
|
|
157
160
|
private handleLine;
|
|
158
161
|
private handleRpcResponse;
|
|
159
162
|
private handleServerRequest;
|
|
163
|
+
/**
|
|
164
|
+
* Handle `mcpServer/elicitation/request`. Codex sends two kinds.
|
|
165
|
+
*
|
|
166
|
+
* With `_meta.codex_approval_kind: "mcp_tool_call"` it is a tool permission:
|
|
167
|
+
* an MCP tool (a ChatGPT app such as GitHub, or a server in the user's
|
|
168
|
+
* config.toml) that needs a yes before it runs. Codex asks only while the
|
|
169
|
+
* thread's approval policy is on; under `never` with full access it approves
|
|
170
|
+
* these itself. It goes to `onUserInputRequest` like every other approval.
|
|
171
|
+
*
|
|
172
|
+
* Anything else is an MCP elicitation proper, a form or a URL an MCP server
|
|
173
|
+
* asks the user to fill in or open, and goes to `onElicitation`.
|
|
174
|
+
*
|
|
175
|
+
* The reply must carry `action`. Before this was handled, the generic `{}`
|
|
176
|
+
* reply was read as a decline, so every app write failed as "user rejected
|
|
177
|
+
* MCP tool call" with nobody asked.
|
|
178
|
+
*/
|
|
179
|
+
private handleMcpElicitation;
|
|
180
|
+
private handleMcpToolApproval;
|
|
181
|
+
/** An MCP server's form or URL request, for the host's `onElicitation`. Declined without one. */
|
|
182
|
+
private handleElicitation;
|
|
183
|
+
/**
|
|
184
|
+
* Remember the MCP tool calls Codex has started and not finished, on every
|
|
185
|
+
* thread, so an approval request can be paired with the call it gates.
|
|
186
|
+
*/
|
|
187
|
+
private trackMcpToolCall;
|
|
188
|
+
/**
|
|
189
|
+
* The in-flight call an approval is about: on the asking thread and server,
|
|
190
|
+
* the one whose arguments match the approval's `tool_params`, else the most
|
|
191
|
+
* recently started (Codex asks right after it starts a call).
|
|
192
|
+
*/
|
|
193
|
+
private findMcpCallForApproval;
|
|
160
194
|
/**
|
|
161
195
|
* Leave a waiting-for-input/approval state correctly. A slow host handler can
|
|
162
196
|
* resolve after the turn already ended (deliverTurnResult → idle), so restore
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/providers/codex/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,OAAO,KAAK,EAEV,YAAY,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/providers/codex/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,11 +9,12 @@ import { translateEndpoint } from "../../utils/endpoint.js";
|
|
|
9
9
|
import { injectWorkspaceSkills } from "../../utils/skills.js";
|
|
10
10
|
import { resolveInstructions } from "../../utils/instructions.js";
|
|
11
11
|
import { createToolNameTracker } from "../../utils/tool-names.js";
|
|
12
|
-
import { parseCodexStreamLines, codexBackgroundTaskReport } from "./parse.js";
|
|
12
|
+
import { parseCodexStreamLines, codexBackgroundTaskReport, codexMcpToolName } from "./parse.js";
|
|
13
13
|
import { withPlanModePreamble } from "./plan-mode.js";
|
|
14
14
|
import { scanCodexSessionUsage } from "./usage-scanner.js";
|
|
15
15
|
import { codexSessionCodec } from "./codec.js";
|
|
16
16
|
import { parseCollaborationModes, resolveCollaborationModeParam } from "./modes.js";
|
|
17
|
+
import { codexPermissionConfigArgs, codexPermissionThreadParams, codexThreadPermissions, } from "./permissions.js";
|
|
17
18
|
/**
|
|
18
19
|
* Extract a resume thread id from session params (reusing the codec's
|
|
19
20
|
* sessionId / session_id / thread_id alias handling), or null to start fresh.
|
|
@@ -89,6 +90,43 @@ function buildCodexUserInputAnswers(questions, resp) {
|
|
|
89
90
|
}
|
|
90
91
|
return out;
|
|
91
92
|
}
|
|
93
|
+
/**
|
|
94
|
+
* One line for an MCP tool approval from Codex's `tool_params_display`
|
|
95
|
+
* (`[{ name, display_name, value }]`), e.g.
|
|
96
|
+
* `Repository: acme/web · Branch name: fix/login · Base ref: main`.
|
|
97
|
+
*/
|
|
98
|
+
function describeMcpToolParams(display) {
|
|
99
|
+
if (!Array.isArray(display))
|
|
100
|
+
return undefined;
|
|
101
|
+
const parts = [];
|
|
102
|
+
for (const entry of display) {
|
|
103
|
+
if (typeof entry !== "object" || entry === null)
|
|
104
|
+
continue;
|
|
105
|
+
const param = entry;
|
|
106
|
+
const label = str(param, "display_name") || str(param, "name");
|
|
107
|
+
if (!label)
|
|
108
|
+
continue;
|
|
109
|
+
const raw = param["value"];
|
|
110
|
+
const value = typeof raw === "string" ? raw : JSON.stringify(raw);
|
|
111
|
+
if (value === undefined)
|
|
112
|
+
continue;
|
|
113
|
+
parts.push(`${label}: ${value.length > 120 ? `${value.slice(0, 117)}...` : value}`);
|
|
114
|
+
}
|
|
115
|
+
return parts.length > 0 ? parts.join(" · ") : undefined;
|
|
116
|
+
}
|
|
117
|
+
/** The elicitation reply Codex expects: `action`, plus `content` only on an accept. */
|
|
118
|
+
function elicitationReply(resp) {
|
|
119
|
+
return {
|
|
120
|
+
action: resp.action,
|
|
121
|
+
...(resp.action === "accept" && resp.content ? { content: resp.content } : {}),
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
/** JSON with object keys sorted, so two argument objects compare by value. */
|
|
125
|
+
function stableJson(value) {
|
|
126
|
+
return JSON.stringify(value, (_key, v) => v && typeof v === "object" && !Array.isArray(v)
|
|
127
|
+
? Object.fromEntries(Object.entries(v).sort(([a], [b]) => a.localeCompare(b)))
|
|
128
|
+
: v) ?? "";
|
|
129
|
+
}
|
|
92
130
|
const BACKGROUND_TASK_POLL_INTERVAL_MS = 2_000;
|
|
93
131
|
const BACKGROUND_TASK_READ_TIMEOUT_MS = 5_000;
|
|
94
132
|
// ---------------------------------------------------------------------------
|
|
@@ -214,16 +252,13 @@ export async function createCodexSession(ctx) {
|
|
|
214
252
|
// Spawn Codex in interactive JSON-RPC mode via the `app-server` subcommand
|
|
215
253
|
// (codex-cli 0.130.0+; the old top-level `--json` flag was removed).
|
|
216
254
|
//
|
|
217
|
-
//
|
|
218
|
-
//
|
|
255
|
+
// Approval policy and sandbox go in as root `-c` overrides, BEFORE the
|
|
256
|
+
// subcommand: app-server ignores `--sandbox` and
|
|
257
|
+
// `--dangerously-bypass-approvals-and-sandbox` (see ./permissions.ts). The
|
|
258
|
+
// handshake repeats them on the thread itself.
|
|
219
259
|
// extraArgs land after the subcommand — semantics depend on the user's intent.
|
|
220
260
|
const args = [...resolved.prefixArgs];
|
|
221
|
-
|
|
222
|
-
args.push("--sandbox", "read-only");
|
|
223
|
-
}
|
|
224
|
-
else if (config.skipPermissions) {
|
|
225
|
-
args.push("--dangerously-bypass-approvals-and-sandbox");
|
|
226
|
-
}
|
|
261
|
+
args.push(...codexPermissionConfigArgs(codexThreadPermissions(config)));
|
|
227
262
|
// Custom endpoint model_providers overrides are top-level `-c` options, placed
|
|
228
263
|
// with the other top-level flags before the `app-server` subcommand (the
|
|
229
264
|
// position that is always valid for global options).
|
|
@@ -313,6 +348,8 @@ export class CodexSessionImpl {
|
|
|
313
348
|
_turnTerminalObserved = false;
|
|
314
349
|
/** Stamps `tool_result.toolName` by correlating with prior `tool_call`s. */
|
|
315
350
|
_trackToolName = createToolNameTracker();
|
|
351
|
+
/** MCP tool calls started and not yet completed, by item id, for pairing approvals. */
|
|
352
|
+
_mcpCallsInFlight = new Map();
|
|
316
353
|
// Per-turn accumulators. Cleared after each result delivery so a subsequent
|
|
317
354
|
// turn's events don't inherit stale values.
|
|
318
355
|
_turnSummary = null;
|
|
@@ -623,6 +660,9 @@ export class CodexSessionImpl {
|
|
|
623
660
|
rpcResponse(id, result) {
|
|
624
661
|
this.proc.stdin.write(JSON.stringify({ jsonrpc: "2.0", id, result }) + "\n");
|
|
625
662
|
}
|
|
663
|
+
rpcError(id, code, message) {
|
|
664
|
+
this.proc.stdin.write(JSON.stringify({ jsonrpc: "2.0", id, error: { code, message } }) + "\n");
|
|
665
|
+
}
|
|
626
666
|
// -------------------------------------------------------------------------
|
|
627
667
|
// Handshake
|
|
628
668
|
// -------------------------------------------------------------------------
|
|
@@ -641,9 +681,12 @@ export class CodexSessionImpl {
|
|
|
641
681
|
// otherwise start a fresh one. `thread/resume` continues the SAME thread
|
|
642
682
|
// with its full context retained — distinct from `thread/fork`, which is
|
|
643
683
|
// a divergent rewind copy. The thread keeps its original cwd/model, so we
|
|
644
|
-
// pass only the thread id (+ refreshed developer instructions
|
|
684
|
+
// pass only the thread id (+ refreshed developer instructions, and the
|
|
685
|
+
// approval policy and sandbox this session runs with, which may differ
|
|
686
|
+
// from the ones the thread was created under).
|
|
687
|
+
const permissionParams = codexPermissionThreadParams(codexThreadPermissions(this.ctx.config));
|
|
645
688
|
if (this._resumeThreadId) {
|
|
646
|
-
const resumeParams = { threadId: this._resumeThreadId };
|
|
689
|
+
const resumeParams = { threadId: this._resumeThreadId, ...permissionParams };
|
|
647
690
|
if (this.instructions)
|
|
648
691
|
resumeParams["developerInstructions"] = this.instructions;
|
|
649
692
|
try {
|
|
@@ -680,7 +723,7 @@ export class CodexSessionImpl {
|
|
|
680
723
|
}
|
|
681
724
|
}
|
|
682
725
|
// thread/start (fresh)
|
|
683
|
-
const threadParams = { cwd: this.cwd };
|
|
726
|
+
const threadParams = { cwd: this.cwd, ...permissionParams };
|
|
684
727
|
if (this.model)
|
|
685
728
|
threadParams["model"] = this.model;
|
|
686
729
|
if (this.instructions)
|
|
@@ -1067,16 +1110,165 @@ export class CodexSessionImpl {
|
|
|
1067
1110
|
// `tool/requestUserInput` is the legacy method name on older codex builds.
|
|
1068
1111
|
void this.handleUserInputRequest(id, params);
|
|
1069
1112
|
}
|
|
1113
|
+
else if (method === "mcpServer/elicitation/request") {
|
|
1114
|
+
void this.handleMcpElicitation(id, params);
|
|
1115
|
+
}
|
|
1116
|
+
else {
|
|
1117
|
+
// A request this file does not handle. Every server request the protocol
|
|
1118
|
+
// defines declares required response fields, so the `{}` this used to
|
|
1119
|
+
// send was schema-invalid, and Codex read it as a refusal: that is how
|
|
1120
|
+
// MCP tool approvals were silently declined before they were handled
|
|
1121
|
+
// here. "Method not found" is the honest answer and fails visibly.
|
|
1122
|
+
// What's left is opt-in (`attestation/generate`), never sent to a client
|
|
1123
|
+
// that registers no dynamic tools and no external auth (`item/tool/call`,
|
|
1124
|
+
// `account/chatgptAuthTokens/refresh`), or v1-only (`applyPatchApproval`,
|
|
1125
|
+
// `execCommandApproval`).
|
|
1126
|
+
this.rpcError(id, -32601, `agentex does not handle the ${method} request`);
|
|
1127
|
+
}
|
|
1128
|
+
}
|
|
1129
|
+
/**
|
|
1130
|
+
* Handle `mcpServer/elicitation/request`. Codex sends two kinds.
|
|
1131
|
+
*
|
|
1132
|
+
* With `_meta.codex_approval_kind: "mcp_tool_call"` it is a tool permission:
|
|
1133
|
+
* an MCP tool (a ChatGPT app such as GitHub, or a server in the user's
|
|
1134
|
+
* config.toml) that needs a yes before it runs. Codex asks only while the
|
|
1135
|
+
* thread's approval policy is on; under `never` with full access it approves
|
|
1136
|
+
* these itself. It goes to `onUserInputRequest` like every other approval.
|
|
1137
|
+
*
|
|
1138
|
+
* Anything else is an MCP elicitation proper, a form or a URL an MCP server
|
|
1139
|
+
* asks the user to fill in or open, and goes to `onElicitation`.
|
|
1140
|
+
*
|
|
1141
|
+
* The reply must carry `action`. Before this was handled, the generic `{}`
|
|
1142
|
+
* reply was read as a decline, so every app write failed as "user rejected
|
|
1143
|
+
* MCP tool call" with nobody asked.
|
|
1144
|
+
*/
|
|
1145
|
+
async handleMcpElicitation(id, params) {
|
|
1146
|
+
const meta = asObj(params, "_meta");
|
|
1147
|
+
if (str(meta, "codex_approval_kind") === "mcp_tool_call") {
|
|
1148
|
+
await this.handleMcpToolApproval(id, params, meta);
|
|
1149
|
+
}
|
|
1070
1150
|
else {
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
this.
|
|
1151
|
+
await this.handleElicitation(id, params);
|
|
1152
|
+
}
|
|
1153
|
+
}
|
|
1154
|
+
async handleMcpToolApproval(id, params, meta) {
|
|
1155
|
+
const requestThreadId = str(params, "threadId") || null;
|
|
1156
|
+
const foreign = this.isForeignThread(requestThreadId);
|
|
1157
|
+
if (!foreign)
|
|
1158
|
+
this._state = "waiting_for_approval";
|
|
1159
|
+
const restore = () => { if (!foreign)
|
|
1160
|
+
this.restoreStateAfter("waiting_for_approval"); };
|
|
1161
|
+
// No host handler: allowed, like the command and file-change approvals.
|
|
1162
|
+
if (!this.ctx.onUserInputRequest) {
|
|
1163
|
+
this.rpcResponse(id, { action: "accept" });
|
|
1164
|
+
restore();
|
|
1165
|
+
return;
|
|
1166
|
+
}
|
|
1167
|
+
// The request names neither the tool nor the call it gates. The call has
|
|
1168
|
+
// already started (Codex reports `item/started` before it asks), so pair
|
|
1169
|
+
// the two through the in-flight MCP calls.
|
|
1170
|
+
const server = str(params, "serverName");
|
|
1171
|
+
const toolParams = meta["tool_params"];
|
|
1172
|
+
const call = this.findMcpCallForApproval(requestThreadId, server, toolParams);
|
|
1173
|
+
const input = call?.arguments ?? toolParams;
|
|
1174
|
+
try {
|
|
1175
|
+
const resp = await this.ctx.onUserInputRequest({
|
|
1176
|
+
toolName: codexMcpToolName(call?.server ?? server, call?.tool ?? null),
|
|
1177
|
+
input: input && typeof input === "object" && !Array.isArray(input)
|
|
1178
|
+
? input
|
|
1179
|
+
: {},
|
|
1180
|
+
// The call's item id lines the approval up with its tool_call event,
|
|
1181
|
+
// as `itemId` does for command approvals. Without a match, a fresh id:
|
|
1182
|
+
// hosts key pending approvals on this, so it must never repeat.
|
|
1183
|
+
toolUseId: call?.itemId ?? `codex-mcp-approval-${randomUUID()}`,
|
|
1184
|
+
// Codex's own question, e.g. `Allow GitHub to run tool "create_branch"?`.
|
|
1185
|
+
title: str(params, "message") || undefined,
|
|
1186
|
+
displayName: str(meta, "tool_title") || str(meta, "connector_name") || undefined,
|
|
1187
|
+
description: describeMcpToolParams(meta["tool_params_display"]),
|
|
1188
|
+
...(foreign && requestThreadId ? { agentId: requestThreadId } : {}),
|
|
1189
|
+
});
|
|
1190
|
+
// A plain accept runs this one call. Codex also offers "for this
|
|
1191
|
+
// session" and "always" (`_meta.persist`), which agentex's yes/no
|
|
1192
|
+
// permission has no way to express, so the host is asked each time.
|
|
1193
|
+
this.rpcResponse(id, { action: resp.allow ? "accept" : "decline" });
|
|
1194
|
+
}
|
|
1195
|
+
catch {
|
|
1196
|
+
this.rpcResponse(id, { action: "decline" });
|
|
1197
|
+
}
|
|
1198
|
+
restore();
|
|
1199
|
+
}
|
|
1200
|
+
/** An MCP server's form or URL request, for the host's `onElicitation`. Declined without one. */
|
|
1201
|
+
async handleElicitation(id, params) {
|
|
1202
|
+
if (!this.ctx.onElicitation) {
|
|
1203
|
+
this.rpcResponse(id, { action: "decline" });
|
|
1204
|
+
return;
|
|
1205
|
+
}
|
|
1206
|
+
const requestThreadId = str(params, "threadId") || null;
|
|
1207
|
+
const foreign = this.isForeignThread(requestThreadId);
|
|
1208
|
+
if (!foreign)
|
|
1209
|
+
this._state = "waiting_for_input";
|
|
1210
|
+
const restore = () => { if (!foreign)
|
|
1211
|
+
this.restoreStateAfter("waiting_for_input"); };
|
|
1212
|
+
const url = str(params, "url");
|
|
1213
|
+
const elicitationId = str(params, "elicitationId");
|
|
1214
|
+
const schema = params["requestedSchema"];
|
|
1215
|
+
try {
|
|
1216
|
+
const resp = await this.ctx.onElicitation({
|
|
1217
|
+
mcpServerName: str(params, "serverName"),
|
|
1218
|
+
message: str(params, "message"),
|
|
1219
|
+
mode: str(params, "mode") === "url" ? "url" : "form",
|
|
1220
|
+
...(url ? { url } : {}),
|
|
1221
|
+
...(elicitationId ? { elicitationId } : {}),
|
|
1222
|
+
...(schema && typeof schema === "object" && !Array.isArray(schema)
|
|
1223
|
+
? { requestedSchema: schema }
|
|
1224
|
+
: {}),
|
|
1225
|
+
});
|
|
1226
|
+
this.rpcResponse(id, elicitationReply(resp));
|
|
1227
|
+
}
|
|
1228
|
+
catch {
|
|
1229
|
+
this.rpcResponse(id, { action: "cancel" });
|
|
1230
|
+
}
|
|
1231
|
+
restore();
|
|
1232
|
+
}
|
|
1233
|
+
/**
|
|
1234
|
+
* Remember the MCP tool calls Codex has started and not finished, on every
|
|
1235
|
+
* thread, so an approval request can be paired with the call it gates.
|
|
1236
|
+
*/
|
|
1237
|
+
trackMcpToolCall(method, params) {
|
|
1238
|
+
if (method !== "item/started" && method !== "item/completed")
|
|
1239
|
+
return;
|
|
1240
|
+
const item = asObj(params, "item");
|
|
1241
|
+
if (str(item, "type") !== "mcpToolCall")
|
|
1242
|
+
return;
|
|
1243
|
+
const itemId = str(item, "id");
|
|
1244
|
+
if (!itemId)
|
|
1245
|
+
return;
|
|
1246
|
+
if (method === "item/completed") {
|
|
1247
|
+
this._mcpCallsInFlight.delete(itemId);
|
|
1248
|
+
return;
|
|
1249
|
+
}
|
|
1250
|
+
this._mcpCallsInFlight.set(itemId, {
|
|
1251
|
+
itemId,
|
|
1252
|
+
threadId: str(params, "threadId") || null,
|
|
1253
|
+
server: str(item, "server"),
|
|
1254
|
+
tool: str(item, "tool"),
|
|
1255
|
+
arguments: item["arguments"],
|
|
1256
|
+
});
|
|
1257
|
+
}
|
|
1258
|
+
/**
|
|
1259
|
+
* The in-flight call an approval is about: on the asking thread and server,
|
|
1260
|
+
* the one whose arguments match the approval's `tool_params`, else the most
|
|
1261
|
+
* recently started (Codex asks right after it starts a call).
|
|
1262
|
+
*/
|
|
1263
|
+
findMcpCallForApproval(threadId, server, toolParams) {
|
|
1264
|
+
const candidates = [...this._mcpCallsInFlight.values()].filter((call) => call.server === server && (!threadId || !call.threadId || call.threadId === threadId));
|
|
1265
|
+
if (toolParams !== undefined) {
|
|
1266
|
+
const wanted = stableJson(toolParams);
|
|
1267
|
+
const exact = candidates.find((call) => stableJson(call.arguments) === wanted);
|
|
1268
|
+
if (exact)
|
|
1269
|
+
return exact;
|
|
1079
1270
|
}
|
|
1271
|
+
return candidates.at(-1) ?? null;
|
|
1080
1272
|
}
|
|
1081
1273
|
/**
|
|
1082
1274
|
* Leave a waiting-for-input/approval state correctly. A slow host handler can
|
|
@@ -1749,6 +1941,7 @@ export class CodexSessionImpl {
|
|
|
1749
1941
|
handleNotification(method, params, rawLine) {
|
|
1750
1942
|
if (this._state === "closed")
|
|
1751
1943
|
return;
|
|
1944
|
+
this.trackMcpToolCall(method, params);
|
|
1752
1945
|
// codex/event — legacy wrapper
|
|
1753
1946
|
if (method === "codex/event") {
|
|
1754
1947
|
const innerMsg = str(params, "msg");
|