@heyditto/cli 3.11.0 → 3.13.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/README.md +18 -1
- package/dist/agents/claude-mcp.d.ts +24 -2
- package/dist/agents/claude-mcp.js +30 -4
- package/dist/agents/claude-mcp.js.map +1 -1
- package/dist/agents/codex.d.ts +14 -0
- package/dist/agents/codex.js +42 -2
- package/dist/agents/codex.js.map +1 -1
- package/dist/agents/grok.d.ts +19 -5
- package/dist/agents/grok.js +40 -5
- package/dist/agents/grok.js.map +1 -1
- package/dist/agents/launch.d.ts +8 -6
- package/dist/agents/launch.js +48 -52
- package/dist/agents/launch.js.map +1 -1
- package/dist/agents/types.d.ts +3 -1
- package/dist/agents/types.js.map +1 -1
- package/dist/commands.js +4 -4
- package/dist/commands.js.map +1 -1
- package/dist/dittoconfig/profiles.js +14 -10
- package/dist/dittoconfig/profiles.js.map +1 -1
- package/dist/update-lock.json +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -664,7 +664,7 @@ Options shared by both commands:
|
|
|
664
664
|
| `--session <id>` | reuse a Ditto session id so traces land in an existing thread |
|
|
665
665
|
| `--resume [id]` / `-c, --continue` | resume a local session (`heyditto sessions`) / the agent's most recent conversation. Claude also takes a Claude session id or title here, including sessions started in Claude Desktop or plain `claude`, and runs in the directory that session ran in; with no value, a terminal gets a searchable picker. Claude's own `-r` / `--resume` / `-c` after `--` do the same. |
|
|
666
666
|
| `--yolo` / `--yellow` / `--plan` | bypass permissions / auto-accept edits / plan mode (Claude only) |
|
|
667
|
-
| `--mcp` / `--no-mcp` | attach the endpoint's tools to
|
|
667
|
+
| `--mcp` / `--no-mcp` | attach the endpoint's tools to the agent as its own MCP servers, or keep them on the router (default: the endpoint's `<agent>_tool_surface`, e.g. `codex_tool_surface`, else MCP) |
|
|
668
668
|
| `--no-hooks` | leave out the Claude Code hooks the repository's `.ditto` profile declares (`claude_hooks`); Claude only |
|
|
669
669
|
| `-p, --prompt <text>` | headless run: `claude -p` or `codex exec` |
|
|
670
670
|
| `-m, --model <id>` | model to request (default: the agent's own model id passes through and the endpoint routes it) |
|
|
@@ -717,6 +717,23 @@ How the wiring works:
|
|
|
717
717
|
- **Codex** speaks the Responses API only, so the endpoint is injected as a
|
|
718
718
|
`ditto` model provider via `-c` overrides (nothing is written to
|
|
719
719
|
`~/.codex/config.toml`) with the key in `DITTO_INFERENCE_API_KEY`.
|
|
720
|
+
- **Codex** gets the same MCP servers as Claude Code by default, the way cmux
|
|
721
|
+
attaches its computer-use server: one `-c mcp_servers.<name>={…}` override
|
|
722
|
+
per server, read from the same catalog, with `bearer_token_env_var =
|
|
723
|
+
"DITTO_ROUTER_MCP_KEY"` so the key stays out of argv and disk. Each override
|
|
724
|
+
sets `enabled = true`, because Codex merges it into a server of the same
|
|
725
|
+
name in your own config. Approvals map onto Codex's: tools Ditto holds
|
|
726
|
+
itself run as `approve`, and under `client_approvals` the gated ones are
|
|
727
|
+
`prompt` (`--yolo` runs them unasked). Claude's `permissions.deny` rules are
|
|
728
|
+
not applied to Codex. `--no-mcp` or `codex_tool_surface = "router"` keeps
|
|
729
|
+
the tools on the router.
|
|
730
|
+
- **Grok** gets them as `[mcp_servers."<name>"]` tables in its launch
|
|
731
|
+
`GROK_HOME/config.toml` (`bearer_token_env_var = "DITTO_ROUTER_MCP_KEY"`),
|
|
732
|
+
plus `[permission]` rules: `allow` each Ditto server (`MCPTool(ditto__*)`)
|
|
733
|
+
and, under `client_approvals`, `ask` for each gated tool. Grok defers MCP
|
|
734
|
+
schemas behind its own `search_tool` / `use_tool`. The Ditto model entry
|
|
735
|
+
sends `X-Ditto-Tool-Surface: mcp`. `--no-mcp` or `grok_tool_surface =
|
|
736
|
+
"router"` keeps the router surface.
|
|
720
737
|
|
|
721
738
|
### `codex-app`
|
|
722
739
|
|
|
@@ -67,19 +67,41 @@ export interface McpCatalog {
|
|
|
67
67
|
* it mid-task.
|
|
68
68
|
*/
|
|
69
69
|
export declare function mcpUnavailableLines(catalog: Pick<McpCatalog, "unavailable">): string[];
|
|
70
|
-
/**
|
|
70
|
+
/**
|
|
71
|
+
* One attached server in harness-neutral form, for harnesses that take MCP
|
|
72
|
+
* configuration in their own shape (codex-mcp.ts). The key is never here:
|
|
73
|
+
* each harness reads it from MCP_KEY_ENV.
|
|
74
|
+
*/
|
|
75
|
+
export interface McpAttachedServer {
|
|
76
|
+
/** The harness-side server name (claudeServerName). */
|
|
77
|
+
name: string;
|
|
78
|
+
url: string;
|
|
79
|
+
/** Session and deny headers; not Authorization. */
|
|
80
|
+
headers: Record<string, string>;
|
|
81
|
+
/** Tools that run without the agent asking. */
|
|
82
|
+
allowTools: string[];
|
|
83
|
+
/** Tools the agent asks a person about first. */
|
|
84
|
+
askTools: string[];
|
|
85
|
+
}
|
|
86
|
+
/** What a launch needs to attach the catalog. */
|
|
71
87
|
export interface ClaudeMcpAttachment {
|
|
72
88
|
/** The `--mcp-config` JSON. */
|
|
73
89
|
config: string;
|
|
74
90
|
/** permissions.allow / permissions.ask for `--settings`. */
|
|
75
91
|
allow: string[];
|
|
76
92
|
ask: string[];
|
|
93
|
+
/** The same servers and policy, for every other harness. */
|
|
94
|
+
attached: McpAttachedServer[];
|
|
95
|
+
/** Catalog servers left out because their name is unsafe in an agent's config. */
|
|
96
|
+
skipped: string[];
|
|
77
97
|
servers: number;
|
|
78
98
|
tools: number;
|
|
79
99
|
/** Tools Ditto's policy would hold for a person. */
|
|
80
100
|
gated: number;
|
|
81
101
|
clientApprovals: boolean;
|
|
82
102
|
}
|
|
103
|
+
/** The catalog attached to a launch, whichever harness renders it. */
|
|
104
|
+
export type McpAttachment = ClaudeMcpAttachment;
|
|
83
105
|
/** Claude Code server name for a catalog server: the built-ins keep "ditto", the rest are "ditto-<source>". */
|
|
84
106
|
export declare function claudeServerName(server: string): string;
|
|
85
107
|
/** Reads the endpoint's MCP catalog with the session's own key. */
|
|
@@ -94,7 +116,7 @@ export declare function claudeMcpAttachment(catalog: McpCatalog, sessionId: stri
|
|
|
94
116
|
toolDeny?: string[];
|
|
95
117
|
}): ClaudeMcpAttachment;
|
|
96
118
|
/** Who stops a gated call, for the launch banner: only what is actually true. */
|
|
97
|
-
export declare function mcpApprovalNote(mcp: ClaudeMcpAttachment): string;
|
|
119
|
+
export declare function mcpApprovalNote(mcp: ClaudeMcpAttachment, agent?: string): string;
|
|
98
120
|
type Json = Record<string, unknown>;
|
|
99
121
|
/** Objects merge key by key, arrays concatenate without duplicates, anything else: b wins. */
|
|
100
122
|
export declare function mergeSettings(a: Json, b: Json): Json;
|
|
@@ -48,6 +48,13 @@ export function mcpUnavailableLines(catalog) {
|
|
|
48
48
|
return `${name} is disconnected (${why}); its tools are missing — ${fix}`;
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* A server name every agent's config can carry as a bare key: Codex splits
|
|
53
|
+
* `-c` paths on dots, and tool rules join the name with "__". The backend only
|
|
54
|
+
* serves names like this (mcpServerName); anything else is left out, the same
|
|
55
|
+
* way for every harness, rather than spliced into a config path.
|
|
56
|
+
*/
|
|
57
|
+
const SAFE_SERVER_NAME = /^[A-Za-z0-9][A-Za-z0-9_-]{0,62}$/;
|
|
51
58
|
/** Claude Code server name for a catalog server: the built-ins keep "ditto", the rest are "ditto-<source>". */
|
|
52
59
|
export function claudeServerName(server) {
|
|
53
60
|
return server === "ditto" ? "ditto" : `ditto-${server}`;
|
|
@@ -84,23 +91,40 @@ export async function fetchMcpCatalog(baseUrl, apiKey, sessionId, fetchImpl = fe
|
|
|
84
91
|
*/
|
|
85
92
|
export function claudeMcpAttachment(catalog, sessionId, opts = {}) {
|
|
86
93
|
const mcpServers = {};
|
|
94
|
+
const attached = [];
|
|
87
95
|
const allow = [];
|
|
88
96
|
const ask = [];
|
|
97
|
+
const skipped = [];
|
|
89
98
|
let tools = 0;
|
|
90
99
|
let gated = 0;
|
|
91
100
|
for (const server of catalog.servers) {
|
|
92
101
|
if (server.tools.length === 0)
|
|
93
102
|
continue;
|
|
103
|
+
if (!SAFE_SERVER_NAME.test(server.name)) {
|
|
104
|
+
skipped.push(server.name);
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
94
107
|
const name = claudeServerName(server.name);
|
|
108
|
+
const headers = { "X-Ditto-Session-Id": sessionId, ...(opts.toolDeny?.length ? { [TOOL_DENY_HEADER]: opts.toolDeny.join(",") } : {}) };
|
|
95
109
|
mcpServers[name] = {
|
|
96
110
|
type: "http",
|
|
97
111
|
url: server.url,
|
|
98
|
-
headers: { Authorization: `Bearer \${${MCP_KEY_ENV}}`,
|
|
112
|
+
headers: { Authorization: `Bearer \${${MCP_KEY_ENV}}`, ...headers },
|
|
99
113
|
};
|
|
100
114
|
tools += server.tools.length;
|
|
101
115
|
gated += server.tools.filter((t) => t.approval).length;
|
|
116
|
+
// Ditto's gate is the authority without client approvals; an agent prompt
|
|
117
|
+
// on top would ask twice. With them, the agent asks about exactly the
|
|
118
|
+
// calls Ditto would have held, unless bypass said not to ask.
|
|
119
|
+
const asks = (t) => catalog.clientApprovals && t.approval && !opts.yolo;
|
|
120
|
+
attached.push({
|
|
121
|
+
name,
|
|
122
|
+
url: server.url,
|
|
123
|
+
headers,
|
|
124
|
+
allowTools: server.tools.filter((t) => !asks(t)).map((t) => t.name),
|
|
125
|
+
askTools: server.tools.filter(asks).map((t) => t.name),
|
|
126
|
+
});
|
|
102
127
|
if (!catalog.clientApprovals) {
|
|
103
|
-
// Ditto's gate is the authority here; a Claude prompt on top would ask twice.
|
|
104
128
|
allow.push(`mcp__${name}`);
|
|
105
129
|
continue;
|
|
106
130
|
}
|
|
@@ -117,6 +141,8 @@ export function claudeMcpAttachment(catalog, sessionId, opts = {}) {
|
|
|
117
141
|
config: JSON.stringify({ mcpServers }),
|
|
118
142
|
allow,
|
|
119
143
|
ask,
|
|
144
|
+
attached,
|
|
145
|
+
skipped,
|
|
120
146
|
servers: Object.keys(mcpServers).length,
|
|
121
147
|
tools,
|
|
122
148
|
gated,
|
|
@@ -124,12 +150,12 @@ export function claudeMcpAttachment(catalog, sessionId, opts = {}) {
|
|
|
124
150
|
};
|
|
125
151
|
}
|
|
126
152
|
/** Who stops a gated call, for the launch banner: only what is actually true. */
|
|
127
|
-
export function mcpApprovalNote(mcp) {
|
|
153
|
+
export function mcpApprovalNote(mcp, agent = "Claude Code") {
|
|
128
154
|
if (mcp.gated === 0)
|
|
129
155
|
return "no gated tools";
|
|
130
156
|
if (!mcp.clientApprovals)
|
|
131
157
|
return `Ditto holds ${mcp.gated} gated`;
|
|
132
|
-
return mcp.ask.length ?
|
|
158
|
+
return mcp.ask.length ? `${agent} asks before ${mcp.ask.length} gated` : `${mcp.gated} gated run unasked (--yolo)`;
|
|
133
159
|
}
|
|
134
160
|
function isObject(v) {
|
|
135
161
|
return typeof v === "object" && v !== null && !Array.isArray(v);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-mcp.js","sourceRoot":"","sources":["../../src/agents/claude-mcp.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"claude-mcp.js","sourceRoot":"","sources":["../../src/agents/claude-mcp.ts"],"names":[],"mappings":"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"}
|
package/dist/agents/codex.d.ts
CHANGED
|
@@ -1,8 +1,22 @@
|
|
|
1
|
+
import { type McpAttachment } from "./claude-mcp.js";
|
|
1
2
|
import { type HarnessPlan, type PlanInput } from "./types.js";
|
|
2
3
|
/** Quotes a string as a TOML basic string for `codex -c key=value`. */
|
|
3
4
|
export declare function tomlString(value: string): string;
|
|
4
5
|
/** A TOML inline table of string pairs: `{"A"="1","B"="2"}`. */
|
|
5
6
|
export declare function tomlInlineTable(entries: Array<[string, string]>): string;
|
|
7
|
+
/**
|
|
8
|
+
* Native MCP for Codex: each attached server as one `-c mcp_servers.<name>=…`
|
|
9
|
+
* override, the way cmux attaches its computer-use server, so nothing is
|
|
10
|
+
* written to ~/.codex/config.toml. Codex merges an override into a server of
|
|
11
|
+
* the same name in the user's config (a disabled "ditto" entry is common), so
|
|
12
|
+
* every override turns its server on. The key stays out of argv: Codex reads
|
|
13
|
+
* it from MCP_KEY_ENV (bearer_token_env_var).
|
|
14
|
+
*
|
|
15
|
+
* Approvals follow the attachment: tools Ditto holds itself, or that bypass
|
|
16
|
+
* runs unasked, are "approve"; the rest are "prompt", so Codex asks about
|
|
17
|
+
* exactly the calls Ditto would have held.
|
|
18
|
+
*/
|
|
19
|
+
export declare function codexMcpArgs(mcp: McpAttachment): string[];
|
|
6
20
|
/**
|
|
7
21
|
* Builds the `codex` invocation.
|
|
8
22
|
*
|
package/dist/agents/codex.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { MCP_KEY_ENV, TOOL_SURFACE_HEADER, TOOL_SURFACE_MCP } from "./claude-mcp.js";
|
|
1
2
|
import { harnessHeaders } from "./harness-headers.js";
|
|
2
3
|
import { CODEX_KEY_ENV, SESSION_HEADER } from "./types.js";
|
|
3
4
|
/** Quotes a string as a TOML basic string for `codex -c key=value`. */
|
|
@@ -8,6 +9,38 @@ export function tomlString(value) {
|
|
|
8
9
|
export function tomlInlineTable(entries) {
|
|
9
10
|
return `{${entries.map(([k, v]) => `${tomlString(k)}=${tomlString(v)}`).join(",")}}`;
|
|
10
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* Native MCP for Codex: each attached server as one `-c mcp_servers.<name>=…`
|
|
14
|
+
* override, the way cmux attaches its computer-use server, so nothing is
|
|
15
|
+
* written to ~/.codex/config.toml. Codex merges an override into a server of
|
|
16
|
+
* the same name in the user's config (a disabled "ditto" entry is common), so
|
|
17
|
+
* every override turns its server on. The key stays out of argv: Codex reads
|
|
18
|
+
* it from MCP_KEY_ENV (bearer_token_env_var).
|
|
19
|
+
*
|
|
20
|
+
* Approvals follow the attachment: tools Ditto holds itself, or that bypass
|
|
21
|
+
* runs unasked, are "approve"; the rest are "prompt", so Codex asks about
|
|
22
|
+
* exactly the calls Ditto would have held.
|
|
23
|
+
*/
|
|
24
|
+
export function codexMcpArgs(mcp) {
|
|
25
|
+
const args = [];
|
|
26
|
+
// Names are bare keys (claudeMcpAttachment drops any other), so they can
|
|
27
|
+
// sit in the dotted -c path as they are.
|
|
28
|
+
for (const server of mcp.attached) {
|
|
29
|
+
const fields = [
|
|
30
|
+
["enabled", "true"],
|
|
31
|
+
["url", tomlString(server.url)],
|
|
32
|
+
["bearer_token_env_var", tomlString(MCP_KEY_ENV)],
|
|
33
|
+
["http_headers", tomlInlineTable(Object.entries(server.headers))],
|
|
34
|
+
["default_tools_approval_mode", tomlString("approve")],
|
|
35
|
+
];
|
|
36
|
+
if (server.askTools.length) {
|
|
37
|
+
const prompt = `{${tomlString("approval_mode")}=${tomlString("prompt")}}`;
|
|
38
|
+
fields.push(["tools", `{${server.askTools.map((t) => `${tomlString(t)}=${prompt}`).join(",")}}`]);
|
|
39
|
+
}
|
|
40
|
+
args.push("-c", `mcp_servers.${server.name}={${fields.map(([k, v]) => `${k}=${v}`).join(",")}}`);
|
|
41
|
+
}
|
|
42
|
+
return args;
|
|
43
|
+
}
|
|
11
44
|
/**
|
|
12
45
|
* Builds the `codex` invocation.
|
|
13
46
|
*
|
|
@@ -33,7 +66,14 @@ export function planCodex(input) {
|
|
|
33
66
|
else if (resuming) {
|
|
34
67
|
args.push("resume");
|
|
35
68
|
}
|
|
36
|
-
args.push("-c", `model_provider=${tomlString("ditto")}`, "-c", `model_providers.ditto.name=${tomlString(input.localInference ? "CLIProxy" : "Ditto")}`, "-c", `model_providers.ditto.base_url=${tomlString(input.baseUrl)}`, "-c", `model_providers.ditto.env_key=${tomlString(CODEX_KEY_ENV)}`, "-c", `model_providers.ditto.wire_api=${tomlString("responses")}`, "-c", `model_providers.ditto.http_headers=${tomlInlineTable(input.localInference ? [] : [
|
|
69
|
+
args.push("-c", `model_provider=${tomlString("ditto")}`, "-c", `model_providers.ditto.name=${tomlString(input.localInference ? "CLIProxy" : "Ditto")}`, "-c", `model_providers.ditto.base_url=${tomlString(input.baseUrl)}`, "-c", `model_providers.ditto.env_key=${tomlString(CODEX_KEY_ENV)}`, "-c", `model_providers.ditto.wire_api=${tomlString("responses")}`, "-c", `model_providers.ditto.http_headers=${tomlInlineTable(input.localInference ? [] : [
|
|
70
|
+
[SESSION_HEADER, input.sessionId],
|
|
71
|
+
...harnessHeaders("codex", input.harnessVersion),
|
|
72
|
+
// The tools are attached below; the router must not inject them again.
|
|
73
|
+
...(input.mcp ? [[TOOL_SURFACE_HEADER, TOOL_SURFACE_MCP]] : []),
|
|
74
|
+
])}`);
|
|
75
|
+
if (input.mcp)
|
|
76
|
+
args.push(...codexMcpArgs(input.mcp));
|
|
37
77
|
if (input.model)
|
|
38
78
|
args.push("-m", input.model);
|
|
39
79
|
if (input.yolo)
|
|
@@ -62,7 +102,7 @@ export function planCodex(input) {
|
|
|
62
102
|
return {
|
|
63
103
|
command: "codex",
|
|
64
104
|
args,
|
|
65
|
-
envSet: { [CODEX_KEY_ENV]: input.apiKey },
|
|
105
|
+
envSet: { [CODEX_KEY_ENV]: input.apiKey, ...(input.mcp ? { [MCP_KEY_ENV]: input.mcpApiKey ?? input.apiKey } : {}) },
|
|
66
106
|
envUnset: [],
|
|
67
107
|
installHint: "install Codex: npm i -g @openai/codex (or brew install codex)",
|
|
68
108
|
};
|
package/dist/agents/codex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/agents/codex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAoC,cAAc,EAAE,MAAM,YAAY,CAAC;AAE7F,uEAAuE;AACvE,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,eAAe,CAAC,OAAgC;IAC9D,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AACvF,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,SAAS,CAAC,KAAgB;IACxC,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,2EAA2E;IAC3E,0EAA0E;IAC1E,sEAAsE;IACtE,2EAA2E;IAC3E,qBAAqB;IACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;IAC7D,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClB,IAAI,QAAQ;YAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,CAAC,IAAI,CACP,IAAI,EACJ,kBAAkB,UAAU,CAAC,OAAO,CAAC,EAAE,EACvC,IAAI,EACJ,8BAA8B,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EACvF,IAAI,EACJ,kCAAkC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAC7D,IAAI,EACJ,iCAAiC,UAAU,CAAC,aAAa,CAAC,EAAE,EAC5D,IAAI,EACJ,kCAAkC,UAAU,CAAC,WAAW,CAAC,EAAE,EAC3D,IAAI,EACJ,sCAAsC,eAAe,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/agents/codex.ts"],"names":[],"mappings":"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"}
|
package/dist/agents/grok.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type McpAttachment } from "./claude-mcp.js";
|
|
1
2
|
import { type HarnessPlan, type PlanInput } from "./types.js";
|
|
2
3
|
/** Env var the grok provider reads the endpoint key from. */
|
|
3
4
|
export declare const GROK_KEY_ENV = "DITTO_INFERENCE_API_KEY";
|
|
@@ -17,18 +18,31 @@ export declare const GROK_MODEL_ID = "ditto";
|
|
|
17
18
|
export declare function grokHomeDir(configDir: string, sessionId: string): string;
|
|
18
19
|
/**
|
|
19
20
|
* Creates (if missing) the launch GROK_HOME: the Ditto model config, hooks
|
|
20
|
-
* placeholder, and symlinks to the user's skills/plugins. config.toml
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
21
|
+
* placeholder, and symlinks to the user's skills/plugins. config.toml is
|
|
22
|
+
* rewritten whenever `input` is given (the launch), hooks/ditto.json whenever
|
|
23
|
+
* a hook server is — they carry no secrets (keys ride env vars) but do carry
|
|
24
|
+
* launch-scoped settings like the attached MCP servers and the hook socket.
|
|
25
|
+
* A hook refresh passes no input, so it keeps the launch's model and servers.
|
|
26
|
+
* Returns the home path.
|
|
24
27
|
*/
|
|
25
|
-
export declare function ensureGrokHome(configDir: string, sessionId: string, input: PlanInput, hookServer?: {
|
|
28
|
+
export declare function ensureGrokHome(configDir: string, sessionId: string, input: PlanInput | undefined, hookServer?: {
|
|
26
29
|
socketPath: string;
|
|
27
30
|
scriptPath: string;
|
|
28
31
|
nodePath: string;
|
|
29
32
|
}): Promise<string>;
|
|
30
33
|
/** The TOML `[model.ditto]` entry that routes grok at the Ditto gateway. */
|
|
31
34
|
export declare function grokModelConfig(input: PlanInput): string;
|
|
35
|
+
/**
|
|
36
|
+
* Native MCP for grok: each attached server as a `[mcp_servers.<name>]` table
|
|
37
|
+
* in the launch GROK_HOME, with the key read from MCP_KEY_ENV
|
|
38
|
+
* (bearer_token_env_var), and `[permission]` rules that put the endpoint's
|
|
39
|
+
* approval policy into grok's own prompts. Grok names a tool `server__tool`;
|
|
40
|
+
* ask beats allow, so a server-wide allow plus one ask per gated tool asks
|
|
41
|
+
* about exactly the calls Ditto would have held. An unattended launch runs
|
|
42
|
+
* grok with --always-approve, which skips ask rules but never deny rules, so
|
|
43
|
+
* there the gated tools are denied instead: nobody is there to approve them.
|
|
44
|
+
*/
|
|
45
|
+
export declare function grokMcpConfig(mcp: McpAttachment, unattended?: boolean): string;
|
|
32
46
|
/** The `$GROK_HOME/hooks/ditto.json` that reports turn boundaries to the CLI host. */
|
|
33
47
|
export declare function grokHookConfig(server: {
|
|
34
48
|
socketPath: string;
|
package/dist/agents/grok.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { mkdir, symlink, writeFile } from "node:fs/promises";
|
|
2
2
|
import os from "node:os";
|
|
3
3
|
import path from "node:path";
|
|
4
|
+
import { MCP_KEY_ENV, TOOL_SURFACE_HEADER, TOOL_SURFACE_MCP } from "./claude-mcp.js";
|
|
4
5
|
import { SESSION_HEADER } from "./types.js";
|
|
5
6
|
/** Env var the grok provider reads the endpoint key from. */
|
|
6
7
|
export const GROK_KEY_ENV = "DITTO_INFERENCE_API_KEY";
|
|
@@ -37,10 +38,12 @@ const GROK_SHARED_DIRS = [
|
|
|
37
38
|
];
|
|
38
39
|
/**
|
|
39
40
|
* Creates (if missing) the launch GROK_HOME: the Ditto model config, hooks
|
|
40
|
-
* placeholder, and symlinks to the user's skills/plugins. config.toml
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
41
|
+
* placeholder, and symlinks to the user's skills/plugins. config.toml is
|
|
42
|
+
* rewritten whenever `input` is given (the launch), hooks/ditto.json whenever
|
|
43
|
+
* a hook server is — they carry no secrets (keys ride env vars) but do carry
|
|
44
|
+
* launch-scoped settings like the attached MCP servers and the hook socket.
|
|
45
|
+
* A hook refresh passes no input, so it keeps the launch's model and servers.
|
|
46
|
+
* Returns the home path.
|
|
44
47
|
*/
|
|
45
48
|
export async function ensureGrokHome(configDir, sessionId, input, hookServer) {
|
|
46
49
|
const home = grokHomeDir(configDir, sessionId);
|
|
@@ -57,7 +60,8 @@ export async function ensureGrokHome(configDir, sessionId, input, hookServer) {
|
|
|
57
60
|
continue; // missing source or other failure: skip, best effort
|
|
58
61
|
}
|
|
59
62
|
}
|
|
60
|
-
|
|
63
|
+
if (input)
|
|
64
|
+
await writeFile(path.join(home, "config.toml"), `${[grokModelConfig(input), input.mcp ? grokMcpConfig(input.mcp, Boolean(input.unattended || input.prompt !== undefined)) : ""].filter(Boolean).join("\n\n")}\n`);
|
|
61
65
|
if (hookServer)
|
|
62
66
|
await writeFile(path.join(home, "hooks", "ditto.json"), grokHookConfig(hookServer));
|
|
63
67
|
return home;
|
|
@@ -75,11 +79,38 @@ export function grokModelConfig(input) {
|
|
|
75
79
|
`env_key = ${JSON.stringify(GROK_KEY_ENV)}`,
|
|
76
80
|
`context_window = 200000`,
|
|
77
81
|
`env_http_headers = { ${JSON.stringify(SESSION_HEADER)} = ${JSON.stringify(GROK_SESSION_ENV)} }`,
|
|
82
|
+
// The tools are attached as MCP servers; the router must not inject them again.
|
|
83
|
+
...(input.mcp ? [`extra_headers = { ${JSON.stringify(TOOL_SURFACE_HEADER)} = ${JSON.stringify(TOOL_SURFACE_MCP)} }`] : []),
|
|
78
84
|
"",
|
|
79
85
|
"[models]",
|
|
80
86
|
`default = ${JSON.stringify(GROK_MODEL_ID)}`,
|
|
81
87
|
].join("\n");
|
|
82
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Native MCP for grok: each attached server as a `[mcp_servers.<name>]` table
|
|
91
|
+
* in the launch GROK_HOME, with the key read from MCP_KEY_ENV
|
|
92
|
+
* (bearer_token_env_var), and `[permission]` rules that put the endpoint's
|
|
93
|
+
* approval policy into grok's own prompts. Grok names a tool `server__tool`;
|
|
94
|
+
* ask beats allow, so a server-wide allow plus one ask per gated tool asks
|
|
95
|
+
* about exactly the calls Ditto would have held. An unattended launch runs
|
|
96
|
+
* grok with --always-approve, which skips ask rules but never deny rules, so
|
|
97
|
+
* there the gated tools are denied instead: nobody is there to approve them.
|
|
98
|
+
*/
|
|
99
|
+
export function grokMcpConfig(mcp, unattended = false) {
|
|
100
|
+
const lines = [];
|
|
101
|
+
const allow = [];
|
|
102
|
+
const ask = [];
|
|
103
|
+
for (const server of mcp.attached) {
|
|
104
|
+
lines.push(`[mcp_servers.${JSON.stringify(server.name)}]`, `url = ${JSON.stringify(server.url)}`, `bearer_token_env_var = ${JSON.stringify(MCP_KEY_ENV)}`, "enabled = true", `headers = { ${Object.entries(server.headers).map(([k, v]) => `${JSON.stringify(k)} = ${JSON.stringify(v)}`).join(", ")} }`, "");
|
|
105
|
+
allow.push(`MCPTool(${server.name}__*)`);
|
|
106
|
+
for (const tool of server.askTools)
|
|
107
|
+
ask.push(`MCPTool(${server.name}__${tool})`);
|
|
108
|
+
}
|
|
109
|
+
lines.push("[permission]", `allow = ${JSON.stringify(allow)}`);
|
|
110
|
+
if (ask.length)
|
|
111
|
+
lines.push(`${unattended ? "deny" : "ask"} = ${JSON.stringify(ask)}`);
|
|
112
|
+
return lines.join("\n");
|
|
113
|
+
}
|
|
83
114
|
const GROK_HOOK_EVENTS = ["UserPromptSubmit", "Stop", "PreToolUse"];
|
|
84
115
|
/** The `$GROK_HOME/hooks/ditto.json` that reports turn boundaries to the CLI host. */
|
|
85
116
|
export function grokHookConfig(server) {
|
|
@@ -143,7 +174,11 @@ export function planGrok(input, grokHome, grokResume = false) {
|
|
|
143
174
|
GROK_MODELS_BASE_URL: input.baseUrl,
|
|
144
175
|
GROK_XAI_API_BASE_URL: input.baseUrl.replace(/\/v1\/?$/, ""),
|
|
145
176
|
XAI_API_KEY: input.apiKey,
|
|
177
|
+
// The `[model.ditto]` env_key. Unset, grok 1.0.77 sent the gateway no
|
|
178
|
+
// endpoint key and every turn failed with a 401.
|
|
179
|
+
[GROK_KEY_ENV]: input.apiKey,
|
|
146
180
|
[GROK_SESSION_ENV]: input.sessionId,
|
|
181
|
+
...(input.mcp ? { [MCP_KEY_ENV]: input.mcpApiKey ?? input.apiKey } : {}),
|
|
147
182
|
},
|
|
148
183
|
envUnset: [],
|
|
149
184
|
installHint: "install Grok: curl -fsSL https://grok.com/install | sh (or see https://grok.com)",
|
package/dist/agents/grok.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grok.js","sourceRoot":"","sources":["../../src/agents/grok.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAoC,cAAc,EAAE,MAAM,YAAY,CAAC;AAE9E,6DAA6D;AAC7D,MAAM,CAAC,MAAM,YAAY,GAAG,yBAAyB,CAAC;AAEtD,0EAA0E;AAC1E,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAEnD,kEAAkE;AAClE,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC;AAErC;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,SAAiB,EAAE,SAAiB;IAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;AACvD,CAAC;AAED,6EAA6E;AAC7E,MAAM,gBAAgB,GAAG;IACvB,QAAQ;IACR,SAAS;IACT,mBAAmB;IACnB,mBAAmB;IACnB,QAAQ;IACR,UAAU;IACV,aAAa;IACb,SAAS;IACT,UAAU;IACV,QAAQ;IACR,sBAAsB;IACtB,QAAQ;CACA,CAAC;AAEX
|
|
1
|
+
{"version":3,"file":"grok.js","sourceRoot":"","sources":["../../src/agents/grok.ts"],"names":[],"mappings":"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"}
|
package/dist/agents/launch.d.ts
CHANGED
|
@@ -40,9 +40,9 @@ export interface LaunchOptions {
|
|
|
40
40
|
*/
|
|
41
41
|
headless?: boolean;
|
|
42
42
|
/**
|
|
43
|
-
* Claude
|
|
44
|
-
* (`--mcp`) or keep them on the router (`--no-mcp`). Unset follows
|
|
45
|
-
* endpoint's `
|
|
43
|
+
* Claude and Codex: attach the endpoint's tools as the agent's own MCP
|
|
44
|
+
* servers (`--mcp`) or keep them on the router (`--no-mcp`). Unset follows
|
|
45
|
+
* the endpoint's `<harness>_tool_surface` option, else native MCP.
|
|
46
46
|
*/
|
|
47
47
|
mcp?: boolean;
|
|
48
48
|
mcpOnly?: boolean;
|
|
@@ -68,12 +68,14 @@ export interface LaunchOptions {
|
|
|
68
68
|
export declare function t3FallbackEndpoint(options: LaunchOptions, env?: NodeJS.ProcessEnv): LaunchOptions;
|
|
69
69
|
/** Explicit flags (or resumed choices) win over repo/cloud launch defaults. */
|
|
70
70
|
export declare function resolveClaudeLaunchDefaults(options: LaunchOptions, defaults?: Record<string, unknown>): LaunchOptions;
|
|
71
|
+
/** Harnesses that can attach an endpoint's tools as their own MCP servers. */
|
|
72
|
+
export declare const MCP_HARNESSES: readonly Harness[];
|
|
71
73
|
/**
|
|
72
|
-
* `--mcp` / `--no-mcp`, else the endpoint's
|
|
73
|
-
* MCP:
|
|
74
|
+
* `--mcp` / `--no-mcp`, else the endpoint's `<harness>_tool_surface`, else
|
|
75
|
+
* native MCP: the agent gets an endpoint's tools as its own servers unless the
|
|
74
76
|
* endpoint keeps them on the router (`claude_tool_surface = "router"`).
|
|
75
77
|
*/
|
|
76
|
-
export declare function wantsMcp(options: Pick<LaunchOptions, "mcp">, endpoint: Pick<InferenceEndpoint, "providerOptions"
|
|
78
|
+
export declare function wantsMcp(options: Pick<LaunchOptions, "mcp">, endpoint: Pick<InferenceEndpoint, "providerOptions">, harness?: Harness): boolean;
|
|
77
79
|
/** Interactive numbered picker; also accepts a slug or id. Exported for `heyditto endpoints pick`. */
|
|
78
80
|
export declare function pickEndpoint(endpoints: InferenceEndpoint[], defaultSlug?: string): Promise<InferenceEndpoint>;
|
|
79
81
|
/** Refuses to launch against an endpoint the backend marked inactive (e.g. awaiting the user's plan). */
|