@grackle-ai/runtime-codex 0.82.2

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.
@@ -0,0 +1,20 @@
1
+ import type { AgentSession } from "@grackle-ai/runtime-sdk";
2
+ import { BaseAgentRuntime } from "@grackle-ai/runtime-sdk";
3
+ export { resolveMcpServers } from "@grackle-ai/runtime-sdk";
4
+ export type { ResolvedMcpConfig } from "@grackle-ai/runtime-sdk";
5
+ /**
6
+ * @internal Extract the `type` discriminator from a ThreadItem.
7
+ *
8
+ * ThreadItem is a union of objects like `{ type: "command_execution", ... }`.
9
+ */
10
+ export declare function itemType(item: Record<string, unknown>): string;
11
+ /** Runtime that delegates to the OpenAI Codex SDK (`@openai/codex-sdk`). */
12
+ export declare class CodexRuntime extends BaseAgentRuntime {
13
+ name: string;
14
+ protected createSession(id: string, prompt: string, model: string, maxTurns: number, resumeSessionId?: string, branch?: string, workingDirectory?: string, systemContext?: string, mcpServers?: Record<string, unknown>, _hooks?: Record<string, unknown>, // Hooks not supported by Codex SDK — accepted for interface compatibility
15
+ mcpBroker?: {
16
+ url: string;
17
+ token: string;
18
+ }, useWorktrees?: boolean): AgentSession;
19
+ }
20
+ //# sourceMappingURL=codex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../src/codex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAoB,gBAAgB,EAAiG,MAAM,yBAAyB,CAAC;AAiD5K,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAE9D;AA6WD,4EAA4E;AAC5E,qBAAa,YAAa,SAAQ,gBAAgB;IACzC,IAAI,EAAE,MAAM,CAAW;IAE9B,SAAS,CAAC,aAAa,CACrB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,eAAe,CAAC,EAAE,MAAM,EACxB,MAAM,CAAC,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,MAAM,EACzB,aAAa,CAAC,EAAE,MAAM,EACtB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,0EAA0E;IAC5G,SAAS,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAC1C,YAAY,CAAC,EAAE,OAAO,GACrB,YAAY;CAGhB"}
package/dist/codex.js ADDED
@@ -0,0 +1,378 @@
1
+ import { BaseAgentSession, BaseAgentRuntime, resolveWorkingDirectory, resolveMcpServers, logger, ensureRuntimeInstalled, importFromRuntime } from "@grackle-ai/runtime-sdk";
2
+ import { SESSION_STATUS } from "@grackle-ai/common";
3
+ // ─── Environment variable names ────────────────────────────
4
+ // All configuration is driven by environment variables so the
5
+ // runtime works identically across Docker, local, SSH, etc.
6
+ /** Path to the Codex CLI binary. Overrides default PATH resolution. */
7
+ const ENV_CODEX_CLI_PATH = "CODEX_CLI_PATH";
8
+ /** Promise for the one-time SDK import, cached to avoid race conditions. */
9
+ let sdkPromise;
10
+ /** Lazily import the Codex SDK to avoid loading it until first use. */
11
+ function getCodexSdk() {
12
+ if (!sdkPromise) {
13
+ sdkPromise = (async () => {
14
+ try {
15
+ await ensureRuntimeInstalled("codex");
16
+ const mod = await importFromRuntime("codex", "@openai/codex-sdk");
17
+ if (typeof mod.Codex !== "function") {
18
+ throw new Error("Codex not found in @openai/codex-sdk");
19
+ }
20
+ return { Codex: mod.Codex };
21
+ }
22
+ catch (err) {
23
+ sdkPromise = undefined;
24
+ logger.warn({ err }, "Failed to import Codex SDK");
25
+ const detail = err instanceof Error ? err.message : String(err);
26
+ throw new Error(`Codex SDK not installed or failed to load: ${detail}\n`
27
+ + "Run: npm install @openai/codex-sdk\n"
28
+ + "The Codex CLI must also be installed and available in PATH (or set CODEX_CLI_PATH).");
29
+ }
30
+ })();
31
+ }
32
+ return sdkPromise;
33
+ }
34
+ // ─── Helpers ───────────────────────────────────────────────
35
+ // Re-export resolveMcpServers and ResolvedMcpConfig for backwards compatibility
36
+ export { resolveMcpServers } from "@grackle-ai/runtime-sdk";
37
+ /**
38
+ * @internal Extract the `type` discriminator from a ThreadItem.
39
+ *
40
+ * ThreadItem is a union of objects like `{ type: "command_execution", ... }`.
41
+ */
42
+ export function itemType(item) {
43
+ return (item.type ?? "unknown");
44
+ }
45
+ // ─── Session ───────────────────────────────────────────────
46
+ /** An in-progress Codex agent session that streams events via the OpenAI Codex SDK. */
47
+ class CodexSession extends BaseAgentSession {
48
+ runtimeName = "codex";
49
+ runtimeDisplayName = "Codex";
50
+ noMessagesError = "Codex returned no messages. Check authentication: set OPENAI_API_KEY or CODEX_API_KEY.";
51
+ turnCount = 0;
52
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
53
+ codexInstance;
54
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
55
+ thread;
56
+ /** The active `runStreamed()` result, kept for abort on kill. */
57
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
58
+ activeStream;
59
+ /** Cached thread options built during setupSdk(), reused for thread creation. */
60
+ threadOptions;
61
+ /** System context is injected via codexOptions.config.developer_instructions, not prepended to the prompt. */
62
+ buildInitialPrompt() {
63
+ return this.prompt;
64
+ }
65
+ // ─── BaseAgentSession hooks ──────────────────────────────
66
+ async setupSdk() {
67
+ const ts = () => new Date().toISOString();
68
+ const { Codex } = await getCodexSdk();
69
+ // ── Resolve working directory ──
70
+ const workingDirectory = await resolveWorkingDirectory({
71
+ branch: this.branch,
72
+ workingDirectory: this.workingDirectory,
73
+ useWorktrees: this.useWorktrees,
74
+ eventQueue: this.eventQueue,
75
+ });
76
+ // ── Create Codex instance ──
77
+ const codexOptions = {};
78
+ const cliPath = process.env[ENV_CODEX_CLI_PATH];
79
+ if (cliPath) {
80
+ codexOptions.codexPathOverride = cliPath;
81
+ }
82
+ // API key: SDK reads OPENAI_API_KEY from env automatically,
83
+ // but also support CODEX_API_KEY as an explicit override.
84
+ const apiKey = process.env.CODEX_API_KEY || process.env.OPENAI_API_KEY;
85
+ if (apiKey) {
86
+ codexOptions.apiKey = apiKey;
87
+ }
88
+ // Custom base URL for the OpenAI API
89
+ const baseUrl = process.env.OPENAI_BASE_URL;
90
+ if (baseUrl) {
91
+ codexOptions.baseUrl = baseUrl;
92
+ }
93
+ // MCP servers — pass via config overrides, filtering disallowed tools.
94
+ // Codex CLI uses snake_case config keys and different field names than
95
+ // the generic format returned by resolveMcpServers(), so we transform here.
96
+ const mcpConfig = resolveMcpServers(this.mcpServers, this.mcpBroker);
97
+ if (mcpConfig.servers) {
98
+ const codexServers = {};
99
+ for (const [name, config] of Object.entries(mcpConfig.servers)) {
100
+ const cfg = config;
101
+ if (cfg.type === "http" && typeof cfg.url === "string") {
102
+ // HTTP MCP: Codex infers transport from `url` presence (no `type` field).
103
+ // Static headers use `http_headers` instead of `headers`.
104
+ const headers = cfg.headers;
105
+ codexServers[name] = {
106
+ url: cfg.url,
107
+ ...(headers ? { http_headers: headers } : {}),
108
+ };
109
+ }
110
+ else if (typeof cfg.command === "string") {
111
+ // Stdio MCP: command/args/env are the same in Codex format
112
+ codexServers[name] = cfg;
113
+ }
114
+ else {
115
+ // Unknown format: pass through as-is
116
+ codexServers[name] = cfg;
117
+ }
118
+ }
119
+ codexOptions.config = { mcp_servers: codexServers };
120
+ }
121
+ // Inject system context via Codex developer_instructions config
122
+ if (this.systemContext) {
123
+ const existingConfig = (codexOptions.config ?? {});
124
+ codexOptions.config = {
125
+ ...existingConfig,
126
+ developer_instructions: this.systemContext,
127
+ };
128
+ }
129
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
130
+ this.codexInstance = new Codex(codexOptions);
131
+ this.eventQueue.push({ type: "system", timestamp: ts(), content: "Codex instance created" });
132
+ // ── Thread options ──
133
+ this.threadOptions = {
134
+ sandboxMode: "workspace-write",
135
+ approvalPolicy: "never",
136
+ skipGitRepoCheck: true,
137
+ };
138
+ if (this.model) {
139
+ this.threadOptions.model = this.model;
140
+ }
141
+ if (workingDirectory) {
142
+ this.threadOptions.workingDirectory = workingDirectory;
143
+ }
144
+ }
145
+ async setupForResume() {
146
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
147
+ this.thread = this.codexInstance.resumeThread(this.resumeSessionId, this.threadOptions);
148
+ this.eventQueue.push({
149
+ type: "system",
150
+ timestamp: new Date().toISOString(),
151
+ content: `Codex thread resumed (id: ${this.resumeSessionId})`,
152
+ });
153
+ }
154
+ async runInitialQuery(prompt) {
155
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
156
+ this.thread = this.codexInstance.startThread(this.threadOptions);
157
+ this.eventQueue.push({
158
+ type: "system",
159
+ timestamp: new Date().toISOString(),
160
+ content: `Codex thread started (model: ${this.model || "default"})`,
161
+ });
162
+ return this.consumeStream(await this.thread.runStreamed(prompt));
163
+ }
164
+ async executeFollowUp(text) {
165
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
166
+ const streamResult = await this.thread.runStreamed(text);
167
+ await this.consumeStream(streamResult);
168
+ }
169
+ canAcceptInput() {
170
+ return !!this.thread;
171
+ }
172
+ abortActive() {
173
+ if (this.activeStream && typeof this.activeStream.abort === "function") {
174
+ this.activeStream.abort();
175
+ }
176
+ }
177
+ releaseResources() {
178
+ this.activeStream = undefined;
179
+ this.thread = undefined;
180
+ this.codexInstance = undefined;
181
+ }
182
+ // ─── Codex-specific internals ────────────────────────────
183
+ /**
184
+ * Consume all events from a runStreamed() result, pushing them to the event queue.
185
+ * Returns the number of meaningful messages processed.
186
+ */
187
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
188
+ async consumeStream(streamResult) {
189
+ const ts = () => new Date().toISOString();
190
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
191
+ this.activeStream = streamResult;
192
+ let messageCount = 0;
193
+ for await (const event of streamResult.events) {
194
+ if (this.killed) {
195
+ break;
196
+ }
197
+ const eventType = event.type;
198
+ switch (eventType) {
199
+ case "thread.started": {
200
+ const threadId = event.thread_id;
201
+ if (threadId) {
202
+ const wasEmpty = !this.runtimeSessionId;
203
+ this.runtimeSessionId = threadId;
204
+ if (wasEmpty) {
205
+ this.eventQueue.push({ type: "runtime_session_id", timestamp: ts(), content: this.runtimeSessionId });
206
+ }
207
+ }
208
+ this.eventQueue.push({
209
+ type: "system",
210
+ timestamp: ts(),
211
+ content: `Codex thread initialized (id: ${this.runtimeSessionId})`,
212
+ });
213
+ break;
214
+ }
215
+ case "item.started": {
216
+ const item = event.item;
217
+ if (!item) {
218
+ break;
219
+ }
220
+ const type = itemType(item);
221
+ if (type === "command_execution") {
222
+ messageCount++;
223
+ this.eventQueue.push({
224
+ type: "tool_use",
225
+ timestamp: ts(),
226
+ content: JSON.stringify({ tool: "command_execution", args: { command: item.command || "" } }),
227
+ raw: event,
228
+ });
229
+ }
230
+ else if (type === "file_change") {
231
+ messageCount++;
232
+ // Codex SDK: file_change has `changes` array with `{path, ...}` entries (no top-level `file`)
233
+ const changes = (item.changes ?? []);
234
+ const filePaths = changes.map((c) => c.path ?? "").join(", ");
235
+ this.eventQueue.push({
236
+ type: "tool_use",
237
+ timestamp: ts(),
238
+ content: JSON.stringify({ tool: "file_change", args: { file: filePaths, changes } }),
239
+ raw: event,
240
+ });
241
+ }
242
+ else if (type === "mcp_tool_call") {
243
+ messageCount++;
244
+ // Codex SDK: uses `server` and `tool` (not `serverName`/`toolName`)
245
+ this.eventQueue.push({
246
+ type: "tool_use",
247
+ timestamp: ts(),
248
+ content: JSON.stringify({ tool: `mcp__${String(item.server || "unknown")}__${String(item.tool || "unknown")}`, args: item.arguments || {} }),
249
+ raw: event,
250
+ });
251
+ }
252
+ break;
253
+ }
254
+ case "item.completed": {
255
+ const item = event.item;
256
+ if (!item) {
257
+ break;
258
+ }
259
+ const type = itemType(item);
260
+ if (type === "command_execution") {
261
+ messageCount++;
262
+ // Codex SDK: `aggregated_output` (not `output`), `exit_code` (not `exitCode`)
263
+ const output = (item.aggregated_output ?? "");
264
+ const exitCode = item.exit_code;
265
+ this.eventQueue.push({
266
+ type: "tool_result",
267
+ timestamp: ts(),
268
+ content: exitCode !== undefined ? `[exit ${exitCode}] ${output}` : output,
269
+ raw: event,
270
+ });
271
+ }
272
+ else if (type === "file_change") {
273
+ messageCount++;
274
+ // Codex SDK: file_change completed has `changes` array and `status` (no `file`/`patch`)
275
+ const changes = (item.changes ?? []);
276
+ const filePaths = changes.map((c) => c.path ?? "").join(", ");
277
+ this.eventQueue.push({
278
+ type: "tool_result",
279
+ timestamp: ts(),
280
+ content: JSON.stringify({ file: filePaths, changes, status: item.status || "completed" }),
281
+ raw: event,
282
+ });
283
+ }
284
+ else if (type === "agent_message") {
285
+ messageCount++;
286
+ // Codex SDK: `text` (not `content`) for the message body
287
+ const content = (item.text ?? "");
288
+ this.eventQueue.push({
289
+ type: "text",
290
+ timestamp: ts(),
291
+ content,
292
+ raw: event,
293
+ });
294
+ }
295
+ else if (type === "mcp_tool_call") {
296
+ messageCount++;
297
+ // Codex SDK: `server`/`tool` (not `serverName`/`toolName`),
298
+ // `result` is `{content, structured_content}`, `error` is `{message}`
299
+ const resultObj = item.result;
300
+ const errorObj = item.error;
301
+ const resultStr = resultObj ? JSON.stringify(resultObj.content ?? resultObj) : "";
302
+ const errorStr = errorObj
303
+ ? (typeof errorObj.message === "string" ? errorObj.message : JSON.stringify(errorObj))
304
+ : "";
305
+ this.eventQueue.push({
306
+ type: "tool_result",
307
+ timestamp: ts(),
308
+ content: errorStr || resultStr || "",
309
+ raw: event,
310
+ });
311
+ }
312
+ else if (type === "reasoning") {
313
+ messageCount++;
314
+ // Codex SDK: only `text` exists (no `summary` field)
315
+ const text = (item.text ?? "");
316
+ this.eventQueue.push({
317
+ type: "text",
318
+ timestamp: ts(),
319
+ content: `[reasoning] ${text}`,
320
+ raw: event,
321
+ });
322
+ }
323
+ break;
324
+ }
325
+ case "turn.completed": {
326
+ // Extract usage from turn.completed event (per-turn, incremental)
327
+ const usage = event.usage;
328
+ if (usage) {
329
+ const inputTokens = (usage.input_tokens ?? 0) + (usage.cached_input_tokens ?? 0);
330
+ const outputTokens = usage.output_tokens ?? 0;
331
+ if (inputTokens > 0 || outputTokens > 0) {
332
+ this.eventQueue.push({
333
+ type: "usage",
334
+ timestamp: ts(),
335
+ content: JSON.stringify({ input_tokens: inputTokens, output_tokens: outputTokens, cost_usd: 0 }),
336
+ });
337
+ }
338
+ }
339
+ this.turnCount++;
340
+ if (this.maxTurns > 0 && this.turnCount >= this.maxTurns) {
341
+ logger.info({ turnCount: this.turnCount, maxTurns: this.maxTurns }, "Codex max turns reached — going idle");
342
+ this.status = SESSION_STATUS.IDLE;
343
+ this.eventQueue.push({ type: "status", timestamp: ts(), content: "waiting_input" });
344
+ if (this.activeStream && typeof this.activeStream.abort === "function") {
345
+ this.activeStream.abort();
346
+ }
347
+ }
348
+ break;
349
+ }
350
+ case "turn.failed": {
351
+ const error = event.error;
352
+ const message = (error?.message ?? "Turn failed");
353
+ this.eventQueue.push({ type: "error", timestamp: ts(), content: message, raw: event });
354
+ break;
355
+ }
356
+ case "error": {
357
+ const message = (event.message ?? "Unknown error");
358
+ this.eventQueue.push({ type: "error", timestamp: ts(), content: message, raw: event });
359
+ break;
360
+ }
361
+ default:
362
+ // Ignore unrecognised events (item.updated, turn.started, etc.)
363
+ break;
364
+ }
365
+ }
366
+ return messageCount;
367
+ }
368
+ }
369
+ // ─── Runtime ───────────────────────────────────────────────
370
+ /** Runtime that delegates to the OpenAI Codex SDK (`@openai/codex-sdk`). */
371
+ export class CodexRuntime extends BaseAgentRuntime {
372
+ name = "codex";
373
+ createSession(id, prompt, model, maxTurns, resumeSessionId, branch, workingDirectory, systemContext, mcpServers, _hooks, // Hooks not supported by Codex SDK — accepted for interface compatibility
374
+ mcpBroker, useWorktrees) {
375
+ return new CodexSession(id, prompt, model, maxTurns, resumeSessionId, branch, workingDirectory, systemContext, mcpServers, undefined, mcpBroker, useWorktrees);
376
+ }
377
+ }
378
+ //# sourceMappingURL=codex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../src/codex.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { CodexRuntime, itemType } from "./codex.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export { CodexRuntime, itemType } from "./codex.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,11 @@
1
+ // This file is read by tools that parse documentation comments conforming to the TSDoc standard.
2
+ // It should be published with your NPM package. It should not be tracked by Git.
3
+ {
4
+ "tsdocVersion": "0.12",
5
+ "toolPackages": [
6
+ {
7
+ "packageName": "@microsoft/api-extractor",
8
+ "packageVersion": "7.57.7"
9
+ }
10
+ ]
11
+ }
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "@grackle-ai/runtime-codex",
3
+ "version": "0.82.2",
4
+ "description": "Grackle OpenAI Codex runtime implementation",
5
+ "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/nick-pape/grackle.git",
9
+ "directory": "packages/runtime-codex"
10
+ },
11
+ "keywords": [
12
+ "grackle",
13
+ "runtime",
14
+ "codex",
15
+ "openai"
16
+ ],
17
+ "homepage": "https://github.com/nick-pape/grackle#readme",
18
+ "bugs": {
19
+ "url": "https://github.com/nick-pape/grackle/issues"
20
+ },
21
+ "engines": {
22
+ "node": ">=22.0.0"
23
+ },
24
+ "type": "module",
25
+ "main": "dist/index.js",
26
+ "types": "dist/index.d.ts",
27
+ "files": [
28
+ "dist/"
29
+ ],
30
+ "dependencies": {
31
+ "@grackle-ai/runtime-sdk": "0.82.2",
32
+ "@grackle-ai/common": "0.82.2"
33
+ },
34
+ "devDependencies": {
35
+ "@rushstack/heft": "1.2.7",
36
+ "@types/node": "^22.0.0",
37
+ "vitest": "^3.1.1",
38
+ "@grackle-ai/heft-rig": "0.0.1"
39
+ },
40
+ "scripts": {
41
+ "build": "heft build --clean",
42
+ "test": "vitest run",
43
+ "clean": "heft clean",
44
+ "_phase:build": "heft run --only build -- --clean",
45
+ "_phase:test": "vitest run"
46
+ }
47
+ }