genaicode 2.13.4 → 2.15.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/CHANGELOG.md +34 -0
- package/README.md +108 -0
- package/dist/agents/drivers/claude.d.ts +5 -0
- package/dist/agents/drivers/claude.js +12 -4
- package/dist/agents/drivers/claude.js.map +1 -1
- package/dist/agents/drivers/codex.d.ts +34 -2
- package/dist/agents/drivers/codex.js +83 -8
- package/dist/agents/drivers/codex.js.map +1 -1
- package/dist/agents/drivers/copilot.d.ts +13 -0
- package/dist/agents/drivers/copilot.js +26 -1
- package/dist/agents/drivers/copilot.js.map +1 -1
- package/dist/agents/drivers/mcp-isolation.d.ts +9 -0
- package/dist/agents/drivers/mcp-isolation.js +24 -0
- package/dist/agents/drivers/mcp-isolation.js.map +1 -0
- package/dist/agents/prepare.d.ts +2 -0
- package/dist/agents/prepare.js +2 -1
- package/dist/agents/prepare.js.map +1 -1
- package/dist/agents/session.d.ts +12 -2
- package/dist/agents/session.js +53 -9
- package/dist/agents/session.js.map +1 -1
- package/dist/app-agent/app-agent.d.ts +133 -0
- package/dist/app-agent/app-agent.js +678 -0
- package/dist/app-agent/app-agent.js.map +1 -0
- package/dist/app-agent/git.d.ts +25 -0
- package/dist/app-agent/git.js +286 -0
- package/dist/app-agent/git.js.map +1 -0
- package/dist/app-agent/http.d.ts +41 -0
- package/dist/app-agent/http.js +228 -0
- package/dist/app-agent/http.js.map +1 -0
- package/dist/app-agent/json.d.ts +7 -0
- package/dist/app-agent/json.js +62 -0
- package/dist/app-agent/json.js.map +1 -0
- package/dist/app-agent/mcp.d.ts +15 -0
- package/dist/app-agent/mcp.js +53 -0
- package/dist/app-agent/mcp.js.map +1 -0
- package/dist/app-agent/policy.d.ts +13 -0
- package/dist/app-agent/policy.js +97 -0
- package/dist/app-agent/policy.js.map +1 -0
- package/dist/app-agent/state.d.ts +75 -0
- package/dist/app-agent/state.js +10 -0
- package/dist/app-agent/state.js.map +1 -0
- package/dist/app-agent.d.ts +8 -0
- package/dist/app-agent.js +5 -0
- package/dist/app-agent.js.map +1 -0
- package/dist/react/agent-chat.css +137 -0
- package/dist/react/agent-chat.js +5 -12
- package/dist/react/agent-chat.js.map +1 -1
- package/dist/react/app-agent-chat.d.ts +55 -0
- package/dist/react/app-agent-chat.js +229 -0
- package/dist/react/app-agent-chat.js.map +1 -0
- package/dist/react/follow-scroll.d.ts +18 -0
- package/dist/react/follow-scroll.js +49 -0
- package/dist/react/follow-scroll.js.map +1 -0
- package/dist/react/resize-handle.d.ts +65 -0
- package/dist/react/resize-handle.js +158 -0
- package/dist/react/resize-handle.js.map +1 -0
- package/dist/react.d.ts +7 -0
- package/dist/react.js +4 -0
- package/dist/react.js.map +1 -1
- package/dist/ui/index.js +59 -59
- package/dist/ui/web-client.js +150 -13
- package/dist/vite/overlay.js +14 -4
- package/dist/vite/overlay.js.map +1 -1
- package/package.json +5 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,13 +2,47 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- `genaicode/app-agent`: a coding agent inside your own local app. `createAppAgent` serves the
|
|
8
|
+
app's tools to the agent over MCP, turns write tools into actions the user approves, gives
|
|
9
|
+
the agent the open page with link chips and navigation, and in `dev` mode lets it edit the
|
|
10
|
+
app and propose a commit of exactly the reviewed tree. `createAppAgentHandler` serves it to
|
|
11
|
+
the page over HTTP and server-sent events, for any Node server. Switching agent or mode keeps
|
|
12
|
+
the conversation, `trace` logs prompts, MCP calls, decisions and turns, and
|
|
13
|
+
`POST /approvals/:id` answers the agent CLI's own permission prompts.
|
|
14
|
+
- `genaicode/react`: `AppAgentChat`, the page side of an app agent (chat, link chips, action
|
|
15
|
+
cards with the commit diff, agent and mode pickers), and `useAppAgent` for a page of your own.
|
|
16
|
+
- `codex({ config })`: extra `-c key=value` overrides, e.g. `{ 'features.shell_tool': false }`.
|
|
17
|
+
- `codex({ onlyTaskMcpServers })` and `copilot({ onlyTaskMcpServers })`: switch off the MCP
|
|
18
|
+
servers the CLI loads from its own config, leaving only the task's. The app agent uses it.
|
|
19
|
+
- `copilot({ excludedTools })`: `--excluded-tools`, e.g. `['web_fetch', 'web_search']`.
|
|
20
|
+
- `claude({ settings })`: `--settings` above the user's and the project's, e.g.
|
|
21
|
+
`{ disableAllHooks: true }`; merged with the sandbox settings of `task.permissions`.
|
|
22
|
+
- `AgentSession.send(text, { note: true })` for host notes: never steered, run before queued
|
|
23
|
+
prompts, and kept through a user stop until the next prompt; `SessionState.notes` lists them.
|
|
24
|
+
`send(text, { queue: true })` waits for its own turn instead of steering a running one.
|
|
25
|
+
- `genaicode/react` exports `useFollowScroll`, the hook that keeps a transcript at its newest
|
|
26
|
+
line until the user scrolls up (`<AgentChat>` now uses it, and also re-pins when its box is
|
|
27
|
+
resized), and `installResizeHandle` with `storedSize`: a framework-free panel-edge resize
|
|
28
|
+
handle with pointer drag, arrow keys, Home/End, Escape to undo a drag, Enter or double-click
|
|
29
|
+
to reset, and a kept ARIA range. The gamedev.pl Play workbench uses both.
|
|
30
|
+
|
|
5
31
|
### Fixed
|
|
6
32
|
|
|
33
|
+
- `codex()` reads MCP tool results: a successful call (`error: null`) is no longer reported as
|
|
34
|
+
failed, and its text becomes the tool output. `codex exec` never asks for approval, so it now
|
|
35
|
+
pre-approves the tools of `task.mcpServers` (`default_tools_approval_mode`); before, Codex
|
|
36
|
+
refused every call to them. `allowMcpTools: false` keeps the old behavior.
|
|
37
|
+
- `<AgentChat>` can shrink in a flex container narrower than its widest line.
|
|
7
38
|
- Anthropic structured outputs: the converter drops the schema keywords the API rejects with a
|
|
8
39
|
400 (`minimum`, `maximum`, `exclusiveMinimum`, `exclusiveMaximum`, `multipleOf`, `maxItems`,
|
|
9
40
|
`uniqueItems`) and lowers `minItems` above 1 to 1, the largest value accepted. It walks only
|
|
10
41
|
real subschemas, so a property that happens to be named `maximum` is kept. Callers still
|
|
11
42
|
validate the answer against their own schema.
|
|
43
|
+
- `genaicode/vite` overlay: Escape closes the panel and hands the focus back to the wolf, from the
|
|
44
|
+
wolf or anything in the panel (inside the chat frame the key stays with the UI). The wolf names
|
|
45
|
+
the panel it toggles with `aria-controls`.
|
|
12
46
|
|
|
13
47
|
## 2.13.3 — 2026-10-17
|
|
14
48
|
|
package/README.md
CHANGED
|
@@ -318,10 +318,118 @@ Theme it with CSS custom properties on the component or any ancestor: `--gc-bg`,
|
|
|
318
318
|
the `genaicode ui` look, light or dark by `prefers-color-scheme`, or by `theme="light"` /
|
|
319
319
|
`"dark"`. `genaicode ui` and the Vite panel draw this same component.
|
|
320
320
|
|
|
321
|
+
Two smaller pieces come along for hosts that build their own panels around a transcript:
|
|
322
|
+
|
|
323
|
+
```ts
|
|
324
|
+
import { installResizeHandle, storedSize, useFollowScroll } from 'genaicode/react';
|
|
325
|
+
|
|
326
|
+
// A log that stays at its newest line until the user scrolls up (and again after follow()).
|
|
327
|
+
const { ref, onScroll, follow } = useFollowScroll(lines);
|
|
328
|
+
|
|
329
|
+
// A drag handle on a panel's left edge; the width survives reloads.
|
|
330
|
+
const stored = storedSize('panel-width', [300, 900]);
|
|
331
|
+
let width = stored.get();
|
|
332
|
+
const handle = installResizeHandle(edge, {
|
|
333
|
+
axis: 'x',
|
|
334
|
+
direction: () => -1, // dragging left makes the panel wider
|
|
335
|
+
bounds: () => [300, Math.min(900, innerWidth - 24)],
|
|
336
|
+
read: () => width ?? 390,
|
|
337
|
+
write: (next, commit) => {
|
|
338
|
+
width = next;
|
|
339
|
+
panel.style.setProperty('--width', `${width}px`);
|
|
340
|
+
if (commit) stored.set(width);
|
|
341
|
+
},
|
|
342
|
+
reset: () => {
|
|
343
|
+
width = undefined;
|
|
344
|
+
panel.style.removeProperty('--width');
|
|
345
|
+
stored.clear();
|
|
346
|
+
},
|
|
347
|
+
});
|
|
348
|
+
// The CSS caps the shown width, so the saved one comes back when the window grows again:
|
|
349
|
+
// .panel { width: min(var(--width, 390px), calc(100vw - 24px)); }
|
|
350
|
+
window.addEventListener('resize', handle.sync);
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
The handle keeps its `aria-value*` range current and takes the arrow keys (Shift for bigger
|
|
354
|
+
steps), Home and End, Escape to undo a drag, and Enter or double-click to reset. While a drag
|
|
355
|
+
runs, `document.body` (or `root`) has `data-resizing="true"`, so the page can keep the cursor
|
|
356
|
+
and turn off pointer events on iframes. `read()` must return what `write` or `reset` just set,
|
|
357
|
+
so keep the size in a variable or a ref rather than only in React state.
|
|
358
|
+
|
|
321
359
|
To show the whole `genaicode ui` page in a frame instead, `startEmbeddedWeb` from
|
|
322
360
|
`genaicode/ui` serves it on 127.0.0.1 with your `task` (`mcpServers`, `timeoutMs`...), `env`
|
|
323
361
|
and `transformPrompt`, and returns its tokenized `url` and a `controller` to send prompts.
|
|
324
362
|
|
|
363
|
+
### Inside your own local app
|
|
364
|
+
|
|
365
|
+
`genaicode/app-agent` puts an agent in a local app you run on your machine (an admin
|
|
366
|
+
console, an internal tool, a game editor). The user chats with an agent CLI they already
|
|
367
|
+
have; the agent works the app through tools the app serves over MCP, changes wait for the
|
|
368
|
+
user's approval, and in `dev` mode the agent also edits the app's code and proposes a commit.
|
|
369
|
+
|
|
370
|
+
```ts
|
|
371
|
+
import { createServer } from 'node:http';
|
|
372
|
+
import { createAppAgent, createAppAgentHandler } from 'genaicode/app-agent';
|
|
373
|
+
|
|
374
|
+
const agent = createAppAgent({
|
|
375
|
+
name: 'the shop admin',
|
|
376
|
+
mcpUrl: 'http://127.0.0.1:3000/api/agent/mcp',
|
|
377
|
+
tools: [
|
|
378
|
+
{ name: 'orders', description: 'List open orders.', run: () => JSON.stringify(listOrders()) },
|
|
379
|
+
{
|
|
380
|
+
name: 'refund',
|
|
381
|
+
description: 'Refund an order.',
|
|
382
|
+
write: true, // a card with Approve and Reject; runs only after Approve
|
|
383
|
+
inputSchema: { type: 'object', properties: { id: { type: 'string' } }, required: ['id'] },
|
|
384
|
+
run: ({ id }) => refund(String(id)),
|
|
385
|
+
},
|
|
386
|
+
],
|
|
387
|
+
pages: () => ['/orders', '/customers'], // page context, link chips, "take me there"
|
|
388
|
+
dev: { cwd: process.cwd(), commands: ['npm test'] }, // optional: the agent edits the app
|
|
389
|
+
});
|
|
390
|
+
const handle = createAppAgentHandler(agent, { authorize: (req) => isSignedIn(req) });
|
|
391
|
+
|
|
392
|
+
createServer(async (req, res) => {
|
|
393
|
+
if (await handle(req, res)) return;
|
|
394
|
+
// ...the rest of the app
|
|
395
|
+
}).listen(3000, '127.0.0.1');
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
On the page, `AppAgentChat` from `genaicode/react` is the whole drawer: the chat, the agent's
|
|
399
|
+
page chips under its replies, Approve and Reject cards (with the diff of a proposed commit),
|
|
400
|
+
and the agent and mode pickers. It reports `currentPath` to the agent and calls `onNavigate`
|
|
401
|
+
when a chip is clicked or the agent is asked to go somewhere.
|
|
402
|
+
|
|
403
|
+
```tsx
|
|
404
|
+
import { AppAgentChat } from 'genaicode/react';
|
|
405
|
+
import 'genaicode/react/styles.css';
|
|
406
|
+
|
|
407
|
+
<AppAgentChat currentPath={location.pathname} onNavigate={(path) => router.push(path)} />;
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
<p align="center">
|
|
411
|
+
<img alt="A shop admin with the agent drawer: the agent proposed a refund, waiting for Approve." src="media/screenshots/app-agent.png" width="80%">
|
|
412
|
+
</p>
|
|
413
|
+
|
|
414
|
+
Under it, `/api/agent` serves `GET /events` (a stream of `AppAgentState`: the session, earlier
|
|
415
|
+
turns, pending actions, link chips, navigation requests) and `POST /send`, `/stop`, `/reset`,
|
|
416
|
+
`/config`, `/view`, `/actions/:id` and `/approvals/:id` (the agent CLI's own permission
|
|
417
|
+
prompts); `useAppAgent` wraps them for a page of your own. Switching agent or mode keeps the
|
|
418
|
+
conversation: the next agent gets a short transcript. `trace` receives every prompt, MCP call,
|
|
419
|
+
decision and finished turn, for a log. Default agents are Claude Code, Codex and
|
|
420
|
+
Copilot CLI, locked down per mode: in `use` mode they get only the app's tools (no shell, no
|
|
421
|
+
file edits); in `dev` mode they edit files and run the listed commands, never commit or push (Claude and
|
|
422
|
+
Copilot enforce the command list; Codex has no per-command allowlist, so it runs in its
|
|
423
|
+
`workspace-write` sandbox: writes only inside `cwd`, no network).
|
|
424
|
+
`propose_commit` snapshots the worktree, the user reviews that diff, and Approve commits
|
|
425
|
+
exactly that tree on the reviewed HEAD, or refuses if the files or HEAD changed since, a hook
|
|
426
|
+
changed the files, or a merge or rebase is in progress. The repository's commit hooks run.
|
|
427
|
+
The agent sees no MCP server but the app's: Claude runs with `--strict-mcp-config`, and Codex
|
|
428
|
+
and Copilot get the user's own configured servers switched off. The MCP endpoint takes a per-run
|
|
429
|
+
bearer and refuses browser requests; every other route asks `authorize` and refuses
|
|
430
|
+
cross-site requests. Without `authorize` only a loopback `Host` is accepted (add names with
|
|
431
|
+
`allowedHosts`), so a DNS-rebinding page cannot reach the agent.
|
|
432
|
+
|
|
325
433
|
## Chaining prompts
|
|
326
434
|
|
|
327
435
|
A chain remembers successful user and assistant turns. Each new prompt sees the complete
|
|
@@ -14,6 +14,11 @@ export interface ClaudeAgentOptions {
|
|
|
14
14
|
strictMcpConfig?: boolean;
|
|
15
15
|
/** With `task.mcpServers`: pre-allow every tool of those servers. Default true (headless runs cannot ask). */
|
|
16
16
|
allowMcpTools?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Settings passed as `--settings`, above the user's and the project's, e.g.
|
|
19
|
+
* `{ disableAllHooks: true }`. Merged with the sandbox settings of `task.permissions`.
|
|
20
|
+
*/
|
|
21
|
+
settings?: Record<string, unknown>;
|
|
17
22
|
}
|
|
18
23
|
/**
|
|
19
24
|
* Claude Code in print mode (`claude -p --output-format stream-json`).
|
|
@@ -121,10 +121,18 @@ export function claudeArgs(task, options = {}, mcpConfigPath, approvalArgs) {
|
|
|
121
121
|
const owned = permissions.approval !== undefined || permissions.sandbox !== undefined;
|
|
122
122
|
exclusiveOption('claude', 'permissionMode', options.permissionMode !== undefined, 'approval/sandbox', owned);
|
|
123
123
|
args.push('--output-format', 'stream-json');
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
124
|
+
const modeArgs = owned
|
|
125
|
+
? claudePermissionFlags(permissions).args
|
|
126
|
+
: ['--permission-mode', options.permissionMode ?? 'acceptEdits'];
|
|
127
|
+
if (options.settings) {
|
|
128
|
+
// One `--settings`: a second one would replace the first.
|
|
129
|
+
const at = modeArgs.indexOf('--settings');
|
|
130
|
+
if (at < 0)
|
|
131
|
+
modeArgs.push('--settings', JSON.stringify(options.settings));
|
|
132
|
+
else
|
|
133
|
+
modeArgs[at + 1] = JSON.stringify({ ...options.settings, ...JSON.parse(modeArgs[at + 1]) });
|
|
134
|
+
}
|
|
135
|
+
args.push(...modeArgs);
|
|
128
136
|
if (approvalArgs)
|
|
129
137
|
args.push(...approvalArgs);
|
|
130
138
|
if (task.model)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/agents/drivers/claude.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/agents/drivers/claude.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,18 @@ export interface CodexAgentOptions {
|
|
|
10
10
|
sandbox?: CodexSandbox;
|
|
11
11
|
/** Allow running outside a git repository. Default true. */
|
|
12
12
|
skipGitRepoCheck?: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* With `task.mcpServers`: pre-approve every tool of those servers. Default true: exec never
|
|
15
|
+
* asks, so without it Codex refuses each call as needing approval.
|
|
16
|
+
*/
|
|
17
|
+
allowMcpTools?: boolean;
|
|
18
|
+
/** Extra `-c key=value` config overrides, e.g. `{ 'features.shell_tool': false }`. */
|
|
19
|
+
config?: Readonly<Record<string, string | number | boolean | readonly string[]>>;
|
|
20
|
+
/**
|
|
21
|
+
* Switch off every MCP server Codex would load from its own config, leaving only the task's.
|
|
22
|
+
* Lists them with `codex mcp list --json` first; the run fails if that fails.
|
|
23
|
+
*/
|
|
24
|
+
onlyTaskMcpServers?: boolean;
|
|
13
25
|
}
|
|
14
26
|
/** Codex's sandbox mode for a `permissions.sandbox`. */
|
|
15
27
|
export declare const CODEX_SANDBOX: Readonly<Record<SandboxPolicy, CodexSandbox>>;
|
|
@@ -22,14 +34,34 @@ export declare function codexPermissionFlags(permissions: AgentPermissions): Per
|
|
|
22
34
|
/** OpenAI Codex CLI in exec mode (`codex exec --json`). */
|
|
23
35
|
export declare function codex(options?: CodexAgentOptions): CodingAgent;
|
|
24
36
|
export declare function codexArgs(task: AgentTask, options?: CodexAgentOptions): string[];
|
|
37
|
+
/** The run's arguments: the task's MCP servers, and with `onlyTaskMcpServers` the others switched off. */
|
|
38
|
+
export declare function prepareCodex(task: AgentTask, options?: CodexAgentOptions): Promise<PreparedRun>;
|
|
39
|
+
/**
|
|
40
|
+
* Servers in `codex mcp list --json`, an array of `{ name, transport }`, each with the field
|
|
41
|
+
* that makes its transport valid (`command` or `url`).
|
|
42
|
+
*/
|
|
43
|
+
export declare function codexMcpServers(listing: unknown): Array<{
|
|
44
|
+
name: string;
|
|
45
|
+
transport: {
|
|
46
|
+
command?: string;
|
|
47
|
+
url?: string;
|
|
48
|
+
};
|
|
49
|
+
}>;
|
|
50
|
+
/** Server names in `codex mcp list --json`. */
|
|
51
|
+
export declare function codexMcpNames(listing: unknown): string[];
|
|
25
52
|
/** Prefix `args` with the task's MCP servers as `-c mcp_servers.*` config overrides. */
|
|
26
|
-
export declare function withCodexMcp(task: AgentTask, args: string[]
|
|
53
|
+
export declare function withCodexMcp(task: AgentTask, args: string[], options?: {
|
|
54
|
+
approveTools?: boolean;
|
|
55
|
+
}): PreparedRun;
|
|
27
56
|
/**
|
|
28
57
|
* Config overrides for Codex MCP servers. Secrets never go on the command line: HTTP
|
|
29
58
|
* header values travel in environment variables (`env_http_headers`), and a stdio
|
|
30
59
|
* server's `env` is set on Codex's environment and forwarded by name (`env_vars`).
|
|
60
|
+
* `approveTools` sets each server's `default_tools_approval_mode` to `approve`.
|
|
31
61
|
*/
|
|
32
|
-
export declare function codexMcpOverrides(servers: readonly McpServer[]
|
|
62
|
+
export declare function codexMcpOverrides(servers: readonly McpServer[], options?: {
|
|
63
|
+
approveTools?: boolean;
|
|
64
|
+
}): {
|
|
33
65
|
args: string[];
|
|
34
66
|
env: Record<string, string>;
|
|
35
67
|
};
|
|
@@ -2,6 +2,7 @@ import { cliAgent } from '../cli-agent.js';
|
|
|
2
2
|
import { exclusiveOption, resolvePermissions } from '../permissions.js';
|
|
3
3
|
import { isHttpServer } from '../prepare.js';
|
|
4
4
|
import { isObject, numberField, positionalPrompt, stringField } from './json.js';
|
|
5
|
+
import { configuredMcpServers } from './mcp-isolation.js';
|
|
5
6
|
/** Codex's sandbox mode for a `permissions.sandbox`. */
|
|
6
7
|
export const CODEX_SANDBOX = {
|
|
7
8
|
'workspace-write': 'workspace-write',
|
|
@@ -48,7 +49,7 @@ export function codex(options = {}) {
|
|
|
48
49
|
permissions: { approval: ['auto-approve', 'deny'], sandbox: ['workspace-write', 'read-only', 'unrestricted'] },
|
|
49
50
|
},
|
|
50
51
|
args: (task) => codexArgs(task, options),
|
|
51
|
-
prepare: (task) =>
|
|
52
|
+
prepare: (task) => prepareCodex(task, options),
|
|
52
53
|
createParser: createCodexParser,
|
|
53
54
|
});
|
|
54
55
|
}
|
|
@@ -66,6 +67,8 @@ export function codexArgs(task, options = {}) {
|
|
|
66
67
|
args.push('--model', task.model);
|
|
67
68
|
if (task.effort)
|
|
68
69
|
args.push('-c', `model_reasoning_effort=${JSON.stringify(task.effort)}`);
|
|
70
|
+
for (const [key, value] of Object.entries(options.config ?? {}))
|
|
71
|
+
args.push('-c', `${key}=${JSON.stringify(value)}`);
|
|
69
72
|
if (task.extraArgs)
|
|
70
73
|
args.push(...task.extraArgs);
|
|
71
74
|
// `exec resume <id> <prompt>` takes the prompt after the session id; exec's own flags stay before it.
|
|
@@ -73,24 +76,78 @@ export function codexArgs(task, options = {}) {
|
|
|
73
76
|
args.push('resume', task.resume);
|
|
74
77
|
return [...args, ...positionalPrompt(task.prompt)];
|
|
75
78
|
}
|
|
79
|
+
/** The run's arguments: the task's MCP servers, and with `onlyTaskMcpServers` the others switched off. */
|
|
80
|
+
export async function prepareCodex(task, options = {}) {
|
|
81
|
+
const prepared = withCodexMcp(task, codexArgs(task, options), { approveTools: options.allowMcpTools ?? true });
|
|
82
|
+
if (!options.onlyTaskMcpServers)
|
|
83
|
+
return prepared;
|
|
84
|
+
let listed = [];
|
|
85
|
+
const others = await configuredMcpServers(options.command ?? 'codex', task, (listing) => {
|
|
86
|
+
const servers = codexMcpServers(listing);
|
|
87
|
+
listed = servers.map((server) => server.name);
|
|
88
|
+
return servers;
|
|
89
|
+
});
|
|
90
|
+
// `-c` merges into a table the config already has (a stdio server keeps its `command` next to the
|
|
91
|
+
// task's `url`), and no override removes a key: a task server must not reuse a configured name.
|
|
92
|
+
const clash = task.mcpServers?.find((server) => listed.includes(server.name));
|
|
93
|
+
if (clash) {
|
|
94
|
+
throw new Error(`Codex already has an MCP server named "${clash.name}"; the task's server would merge into it. Give the task's server another name.`);
|
|
95
|
+
}
|
|
96
|
+
const off = others.flatMap(({ name, transport }) => {
|
|
97
|
+
const key = `mcp_servers.${tomlKey(name)}`;
|
|
98
|
+
// A server only a plugin defines has no transport in the config table, and Codex refuses a
|
|
99
|
+
// table without one: repeat the listed one next to `enabled=false`.
|
|
100
|
+
const keep = Object.entries(transport).flatMap(([field, value]) => [
|
|
101
|
+
'-c',
|
|
102
|
+
`${key}.${field}=${JSON.stringify(value)}`,
|
|
103
|
+
]);
|
|
104
|
+
return ['-c', `${key}.enabled=false`, ...keep];
|
|
105
|
+
});
|
|
106
|
+
return { ...prepared, args: [...off, ...prepared.args] };
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Servers in `codex mcp list --json`, an array of `{ name, transport }`, each with the field
|
|
110
|
+
* that makes its transport valid (`command` or `url`).
|
|
111
|
+
*/
|
|
112
|
+
export function codexMcpServers(listing) {
|
|
113
|
+
if (!Array.isArray(listing))
|
|
114
|
+
throw new Error('expected an array');
|
|
115
|
+
return listing.flatMap((server) => {
|
|
116
|
+
if (!isObject(server) || typeof server.name !== 'string')
|
|
117
|
+
return [];
|
|
118
|
+
const listed = isObject(server.transport) ? server.transport : {};
|
|
119
|
+
const transport = typeof listed.command === 'string'
|
|
120
|
+
? { command: listed.command }
|
|
121
|
+
: typeof listed.url === 'string'
|
|
122
|
+
? { url: listed.url }
|
|
123
|
+
: {};
|
|
124
|
+
return [{ name: server.name, transport }];
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
/** Server names in `codex mcp list --json`. */
|
|
128
|
+
export function codexMcpNames(listing) {
|
|
129
|
+
return codexMcpServers(listing).map((server) => server.name);
|
|
130
|
+
}
|
|
131
|
+
const tomlKey = (name) => (/^[A-Za-z0-9_-]+$/.test(name) ? name : JSON.stringify(name));
|
|
76
132
|
/** Prefix `args` with the task's MCP servers as `-c mcp_servers.*` config overrides. */
|
|
77
|
-
export function withCodexMcp(task, args) {
|
|
133
|
+
export function withCodexMcp(task, args, options = {}) {
|
|
78
134
|
if (!task.mcpServers?.length)
|
|
79
135
|
return { args };
|
|
80
|
-
const mcp = codexMcpOverrides(task.mcpServers);
|
|
136
|
+
const mcp = codexMcpOverrides(task.mcpServers, options);
|
|
81
137
|
return { args: [...mcp.args, ...args], env: mcp.env };
|
|
82
138
|
}
|
|
83
139
|
/**
|
|
84
140
|
* Config overrides for Codex MCP servers. Secrets never go on the command line: HTTP
|
|
85
141
|
* header values travel in environment variables (`env_http_headers`), and a stdio
|
|
86
142
|
* server's `env` is set on Codex's environment and forwarded by name (`env_vars`).
|
|
143
|
+
* `approveTools` sets each server's `default_tools_approval_mode` to `approve`.
|
|
87
144
|
*/
|
|
88
|
-
export function codexMcpOverrides(servers) {
|
|
145
|
+
export function codexMcpOverrides(servers, options = {}) {
|
|
89
146
|
const args = [];
|
|
90
147
|
const env = {};
|
|
91
148
|
const set = (key, value) => args.push('-c', `${key}=${value}`);
|
|
92
149
|
servers.forEach((server, index) => {
|
|
93
|
-
const key = `mcp_servers.${server.name}`;
|
|
150
|
+
const key = `mcp_servers.${tomlKey(server.name)}`;
|
|
94
151
|
if (isHttpServer(server)) {
|
|
95
152
|
set(`${key}.url`, JSON.stringify(server.url));
|
|
96
153
|
const headers = Object.entries(server.headers ?? {});
|
|
@@ -118,6 +175,8 @@ export function codexMcpOverrides(servers) {
|
|
|
118
175
|
if (entries.length)
|
|
119
176
|
set(`${key}.env_vars`, JSON.stringify(entries.map(([name]) => name)));
|
|
120
177
|
}
|
|
178
|
+
if (options.approveTools)
|
|
179
|
+
set(`${key}.default_tools_approval_mode`, '"approve"');
|
|
121
180
|
});
|
|
122
181
|
return { args, env };
|
|
123
182
|
}
|
|
@@ -165,13 +224,17 @@ export function createCodexParser() {
|
|
|
165
224
|
});
|
|
166
225
|
}
|
|
167
226
|
else if (itemType === 'mcp_tool_call') {
|
|
168
|
-
|
|
227
|
+
// A successful call carries `error: null` and the tool's answer in `result.content`.
|
|
228
|
+
const failed = item.status === 'failed' || (item.error !== undefined && item.error !== null);
|
|
229
|
+
const output = failed
|
|
230
|
+
? (stringField(item.error, 'message') ?? stringOrNone(item.error))
|
|
231
|
+
: mcpResultText(item.result);
|
|
169
232
|
events.push({
|
|
170
233
|
type: 'tool-end',
|
|
171
234
|
...withId,
|
|
172
235
|
name: mcpName(item),
|
|
173
|
-
isError:
|
|
174
|
-
...(
|
|
236
|
+
isError: failed,
|
|
237
|
+
...(output ? { output } : {}),
|
|
175
238
|
});
|
|
176
239
|
}
|
|
177
240
|
else if (itemType === 'file_change') {
|
|
@@ -221,6 +284,18 @@ export function createCodexParser() {
|
|
|
221
284
|
},
|
|
222
285
|
};
|
|
223
286
|
}
|
|
287
|
+
function stringOrNone(value) {
|
|
288
|
+
return typeof value === 'string' && value ? value : undefined;
|
|
289
|
+
}
|
|
290
|
+
function mcpResultText(result) {
|
|
291
|
+
if (!isObject(result) || !Array.isArray(result.content))
|
|
292
|
+
return undefined;
|
|
293
|
+
const texts = result.content.flatMap((part) => {
|
|
294
|
+
const text = stringField(part, 'text');
|
|
295
|
+
return text ? [text] : [];
|
|
296
|
+
});
|
|
297
|
+
return texts.length ? texts.join('\n') : undefined;
|
|
298
|
+
}
|
|
224
299
|
function mcpName(item) {
|
|
225
300
|
return [stringField(item, 'server'), stringField(item, 'tool')].filter(Boolean).join('/') || 'mcp';
|
|
226
301
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/agents/drivers/codex.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/agents/drivers/codex.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type AgentOutputParser } from '../cli-agent.js';
|
|
2
2
|
import { type PermissionFlags } from '../permissions.js';
|
|
3
|
+
import { type PreparedRun } from '../prepare.js';
|
|
3
4
|
import type { AgentPermissions, AgentTask, CodingAgent, McpServer } from '../types.js';
|
|
4
5
|
export interface CopilotAgentOptions {
|
|
5
6
|
/** Executable name or path. Default `copilot`. */
|
|
@@ -13,13 +14,25 @@ export interface CopilotAgentOptions {
|
|
|
13
14
|
allowTools?: readonly string[];
|
|
14
15
|
/** Permission patterns passed as `--deny-tool`, e.g. `shell` or `shell(rm)`. */
|
|
15
16
|
denyTools?: readonly string[];
|
|
17
|
+
/** Tools removed from the model altogether (`--excluded-tools`), e.g. `web_fetch`, `web_search`. */
|
|
18
|
+
excludedTools?: readonly string[];
|
|
16
19
|
/** Keep the `ask_user` tool. Default false (`--no-ask-user`): a headless run has nobody to ask. */
|
|
17
20
|
askUser?: boolean;
|
|
18
21
|
/** With `task.mcpServers` and `allowAllTools: false`: pre-allow every tool of those servers. Default true. */
|
|
19
22
|
allowMcpTools?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Switch off the built-in MCP servers and every server Copilot would load from its own config
|
|
25
|
+
* (user, workspace, plugins), leaving only the task's. Lists them with `copilot mcp list --json`
|
|
26
|
+
* first; the run fails if that fails.
|
|
27
|
+
*/
|
|
28
|
+
onlyTaskMcpServers?: boolean;
|
|
20
29
|
}
|
|
21
30
|
/** GitHub Copilot CLI in prompt mode (`copilot --prompt=… --output-format json`). */
|
|
22
31
|
export declare function copilot(options?: CopilotAgentOptions): CodingAgent;
|
|
32
|
+
/** The run's arguments: the task's MCP servers, and with `onlyTaskMcpServers` the others switched off. */
|
|
33
|
+
export declare function prepareCopilot(task: AgentTask, options: CopilotAgentOptions): Promise<PreparedRun>;
|
|
34
|
+
/** Server names in `copilot mcp list --json`: `{ mcpServers: { name: … } }`. */
|
|
35
|
+
export declare function copilotMcpNames(listing: unknown): string[];
|
|
23
36
|
/** The `--additional-mcp-config` document for a set of servers. */
|
|
24
37
|
export declare function copilotMcpConfig(servers: readonly McpServer[]): {
|
|
25
38
|
mcpServers: Record<string, unknown>;
|
|
@@ -5,6 +5,7 @@ import { cliAgent } from '../cli-agent.js';
|
|
|
5
5
|
import { exclusiveOption, resolvePermissions } from '../permissions.js';
|
|
6
6
|
import { isHttpServer } from '../prepare.js';
|
|
7
7
|
import { isObject, numberField, stringField } from './json.js';
|
|
8
|
+
import { configuredMcpServers } from './mcp-isolation.js';
|
|
8
9
|
const EDIT_TOOLS = new Set(['edit', 'create', 'str_replace_editor']);
|
|
9
10
|
/** GitHub Copilot CLI in prompt mode (`copilot --prompt=… --output-format json`). */
|
|
10
11
|
export function copilot(options = {}) {
|
|
@@ -23,8 +24,30 @@ export function copilot(options = {}) {
|
|
|
23
24
|
createParser: createCopilotParser,
|
|
24
25
|
});
|
|
25
26
|
}
|
|
27
|
+
/** The run's arguments: the task's MCP servers, and with `onlyTaskMcpServers` the others switched off. */
|
|
28
|
+
export async function prepareCopilot(task, options) {
|
|
29
|
+
const prepared = writeCopilotMcp(task, options);
|
|
30
|
+
if (!options.onlyTaskMcpServers)
|
|
31
|
+
return prepared;
|
|
32
|
+
try {
|
|
33
|
+
const others = await configuredMcpServers(options.command ?? 'copilot', task, copilotMcpNames);
|
|
34
|
+
const off = ['--disable-builtin-mcps', ...others.map((name) => `--disable-mcp-server=${name}`)];
|
|
35
|
+
// Before `--prompt=`, which stays last.
|
|
36
|
+
return { ...prepared, args: [...off, ...prepared.args] };
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
prepared.cleanup?.();
|
|
40
|
+
throw error;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/** Server names in `copilot mcp list --json`: `{ mcpServers: { name: … } }`. */
|
|
44
|
+
export function copilotMcpNames(listing) {
|
|
45
|
+
if (!isObject(listing) || !isObject(listing.mcpServers))
|
|
46
|
+
throw new Error('expected { mcpServers }');
|
|
47
|
+
return Object.keys(listing.mcpServers);
|
|
48
|
+
}
|
|
26
49
|
/** Write the task's MCP servers to a private temp file, so header secrets stay out of argv. */
|
|
27
|
-
function
|
|
50
|
+
function writeCopilotMcp(task, options) {
|
|
28
51
|
if (!task.mcpServers?.length)
|
|
29
52
|
return { args: copilotArgs(task, options) };
|
|
30
53
|
const dir = mkdtempSync(join(tmpdir(), 'genaicode-copilot-mcp-'));
|
|
@@ -94,6 +117,8 @@ export function copilotArgs(task, options = {}, mcpConfigPath) {
|
|
|
94
117
|
args.push(`--allow-tool=${tool}`);
|
|
95
118
|
for (const tool of options.denyTools ?? [])
|
|
96
119
|
args.push(`--deny-tool=${tool}`);
|
|
120
|
+
if (options.excludedTools?.length)
|
|
121
|
+
args.push(`--excluded-tools=${options.excludedTools.join(',')}`);
|
|
97
122
|
if (!options.askUser)
|
|
98
123
|
args.push('--no-ask-user');
|
|
99
124
|
if (mcpConfigPath)
|