@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.
Files changed (35) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +24 -4
  3. package/dist/providers/antigravity/execute.d.ts.map +1 -1
  4. package/dist/providers/antigravity/execute.js +9 -3
  5. package/dist/providers/antigravity/execute.js.map +1 -1
  6. package/dist/providers/antigravity/runtime.d.ts +4 -2
  7. package/dist/providers/antigravity/runtime.d.ts.map +1 -1
  8. package/dist/providers/antigravity/runtime.js +7 -4
  9. package/dist/providers/antigravity/runtime.js.map +1 -1
  10. package/dist/providers/antigravity/session.d.ts.map +1 -1
  11. package/dist/providers/antigravity/session.js +59 -17
  12. package/dist/providers/antigravity/session.js.map +1 -1
  13. package/dist/providers/codex/parse.d.ts +7 -0
  14. package/dist/providers/codex/parse.d.ts.map +1 -1
  15. package/dist/providers/codex/parse.js +56 -0
  16. package/dist/providers/codex/parse.js.map +1 -1
  17. package/dist/providers/codex/permissions.d.ts +40 -0
  18. package/dist/providers/codex/permissions.d.ts.map +1 -0
  19. package/dist/providers/codex/permissions.js +50 -0
  20. package/dist/providers/codex/permissions.js.map +1 -0
  21. package/dist/providers/codex/session.d.ts +34 -0
  22. package/dist/providers/codex/session.d.ts.map +1 -1
  23. package/dist/providers/codex/session.js +213 -20
  24. package/dist/providers/codex/session.js.map +1 -1
  25. package/dist/utils/auth.d.ts.map +1 -1
  26. package/dist/utils/auth.js +12 -10
  27. package/dist/utils/auth.js.map +1 -1
  28. package/package.json +1 -1
  29. package/src/providers/antigravity/execute.ts +10 -3
  30. package/src/providers/antigravity/runtime.ts +7 -4
  31. package/src/providers/antigravity/session.ts +59 -18
  32. package/src/providers/codex/parse.ts +59 -0
  33. package/src/providers/codex/permissions.ts +61 -0
  34. package/src/providers/codex/session.ts +238 -19
  35. 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,EACZ,YAAY,EACZ,eAAe,EACf,WAAW,EACX,SAAS,EACT,cAAc,EACd,UAAU,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACb,YAAY,EACZ,aAAa,EAId,MAAM,gBAAgB,CAAC;AAmRxB,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CA4EnF;AAMD;;;;GAIG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,qBAAa,gBAAiB,YAAW,YAAY;IA2FjD,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,YAAY;IA9F/B,OAAO,CAAC,MAAM,CAAwB;IACtC;;;;OAIG;IACH,OAAO,CAAC,SAAS,CAAuB;IACxC,gFAAgF;IAChF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgB;IAChD,+EAA+E;IAC/E,OAAO,CAAC,iBAAiB,CAAgB;IACzC,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,OAAO,CAAK;IAGpB,OAAO,CAAC,WAAW,CAGd;IAOL,OAAO,CAAC,eAAe,CAAuB;IAE9C;sDACkD;IAClD,OAAO,CAAC,SAAS,CAAkC;IAEnD,mEAAmE;IACnE,OAAO,CAAC,SAAS,CAAS;IAC1B,wEAAwE;IACxE,OAAO,CAAC,aAAa,CAA8B;IAEnD;;;;;OAKG;IACH,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,gBAAgB,CAAgC;IACxD,2EAA2E;IAC3E,OAAO,CAAC,eAAe,CAAK;IAC5B,+EAA+E;IAC/E,OAAO,CAAC,iBAAiB,CAA8B;IACvD,+EAA+E;IAC/E,OAAO,CAAC,qBAAqB,CAAS;IAEtC,4EAA4E;IAC5E,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA2B;IAI1D,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,UAAU,CAA8D;IAChF,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,iBAAiB,CAAuB;IAChD,OAAO,CAAC,cAAc,CAAqB;IAE3C,6FAA6F;IAC7F,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA4C;IAC7E,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA6B;IACtE,wGAAwG;IACxG,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAGlC;IACL,gFAAgF;IAChF,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAGrC;IAEL;;;;;OAKG;IACH,OAAO,CAAC,WAAW,CAAoC;IAEvD,+EAA+E;IAC/E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;gBAGrB,IAAI,EAAE,YAAY,EAClB,GAAG,EAAE,cAAc,EACnB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,YAAY,EAAE,MAAM,GAAG,IAAI;IA6E9C,OAAO,CAAC,8BAA8B;IAQtC,OAAO,CAAC,6BAA6B;IAmBrC;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAU1B,sEAAsE;IACtE,OAAO,CAAC,gBAAgB;IAaxB,IAAI,SAAS,IAAI,MAAM,GAAG,IAAI,CAA2B;IACzD,IAAI,KAAK,IAAI,YAAY,CAAwB;IAEjD,+EAA+E;IAC/E,OAAO,CAAC,eAAe;IA0BvB,qDAAqD;IACrD,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,qBAAqB;IAM7B;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAcvB,iFAAiF;IACjF,OAAO,CAAC,wBAAwB;IAShC;;;;OAIG;IACH,QAAQ,IAAI,aAAa,GAAG,IAAI;IAgBhC,OAAO,CAAC,UAAU;IAWlB,+EAA+E;IAC/E,OAAO,CAAC,iBAAiB;IA4BzB;;;;;;;OAOG;IACH,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,WAAW;IAQb,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAkG1B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IA6FvE;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAwBvB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAwBb,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAO5C,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAKxD,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAIzE,SAAS,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAIjF,OAAO,IAAI,SAAS,GAAG,IAAI;IAI3B;;;;OAIG;YACW,qBAAqB;IAyB7B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAkC1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IActB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAqC5B,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,UAAU;IA0BlB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,mBAAmB;IA0B3B;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;YAKX,cAAc;IAoD5B;;;;;;;;;;OAUG;YACW,yBAAyB;IA6BvC;;;;;OAKG;YACW,sBAAsB;IA2CpC,wEAAwE;IACxE,OAAO,CAAC,oBAAoB;IAK5B;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,6BAA6B;IAOrC,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,mBAAmB;IA8C3B,OAAO,CAAC,2BAA2B;IAenC;;;;OAIG;IACH,4EAA4E;IAC5E,OAAO,CAAC,yBAAyB;IA6FjC,OAAO,CAAC,yBAAyB;IAYjC,OAAO,CAAC,yBAAyB;YAqBnB,kBAAkB;IAyBhC,8EAA8E;IAC9E,OAAO,CAAC,2BAA2B;IAmEnC;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAyD7B;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IA2KjC,OAAO,CAAC,kBAAkB;IAiG1B,OAAO,CAAC,iBAAiB;IAoDzB,OAAO,CAAC,sBAAsB;IAkC9B,OAAO,CAAC,mBAAmB;IA0D3B,OAAO,CAAC,WAAW;YA0DL,iBAAiB;IA+D/B,OAAO,CAAC,eAAe;IAYvB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;CA0BtB"}
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
- // Args order matters: `--sandbox` and `--dangerously-bypass-approvals-and-sandbox`
218
- // are TOP-LEVEL options and must come BEFORE the `app-server` subcommand.
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
- if (config.planMode) {
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
- // Unknown server request. `{}` is a best-effort reply, NOT a guarantee
1072
- // that the turn proceeds: every server request the protocol defines but
1073
- // this file does not handle declares required response fields, so an
1074
- // empty result is schema-invalid for all of them. A JSON-RPC error reply
1075
- // would be the honest answer, but `rpcResponse` has no error path and
1076
- // introducing one changes behavior (an error can abort a turn where this
1077
- // limps along), so that is a deliberate follow-up rather than a fix here.
1078
- this.rpcResponse(id, {});
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");