@a5c-ai/agent-mux-adapters 0.2.0 → 0.4.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.
Files changed (115) hide show
  1. package/dist/amp-adapter.d.ts +31 -0
  2. package/dist/amp-adapter.d.ts.map +1 -0
  3. package/dist/amp-adapter.js +336 -0
  4. package/dist/amp-adapter.js.map +1 -0
  5. package/dist/auth-config.d.ts +36 -5
  6. package/dist/auth-config.d.ts.map +1 -1
  7. package/dist/auth-config.js +127 -12
  8. package/dist/auth-config.js.map +1 -1
  9. package/dist/base-adapter-helpers.d.ts +8 -0
  10. package/dist/base-adapter-helpers.d.ts.map +1 -0
  11. package/dist/base-adapter-helpers.js +68 -0
  12. package/dist/base-adapter-helpers.js.map +1 -0
  13. package/dist/base-adapter.d.ts +14 -9
  14. package/dist/base-adapter.d.ts.map +1 -1
  15. package/dist/base-adapter.js +23 -66
  16. package/dist/base-adapter.js.map +1 -1
  17. package/dist/claude-adapter.d.ts.map +1 -1
  18. package/dist/claude-adapter.js +5 -2
  19. package/dist/claude-adapter.js.map +1 -1
  20. package/dist/claude-agent-sdk-adapter.d.ts +53 -0
  21. package/dist/claude-agent-sdk-adapter.d.ts.map +1 -0
  22. package/dist/claude-agent-sdk-adapter.js +607 -0
  23. package/dist/claude-agent-sdk-adapter.js.map +1 -0
  24. package/dist/codex-adapter.d.ts.map +1 -1
  25. package/dist/codex-adapter.js +100 -12
  26. package/dist/codex-adapter.js.map +1 -1
  27. package/dist/codex-sdk-adapter.d.ts +32 -0
  28. package/dist/codex-sdk-adapter.d.ts.map +1 -0
  29. package/dist/codex-sdk-adapter.js +384 -0
  30. package/dist/codex-sdk-adapter.js.map +1 -0
  31. package/dist/codex-sdk-mocks.d.ts +51 -0
  32. package/dist/codex-sdk-mocks.d.ts.map +1 -0
  33. package/dist/codex-sdk-mocks.js +97 -0
  34. package/dist/codex-sdk-mocks.js.map +1 -0
  35. package/dist/codex-websocket-adapter.d.ts +41 -0
  36. package/dist/codex-websocket-adapter.d.ts.map +1 -0
  37. package/dist/codex-websocket-adapter.js +289 -0
  38. package/dist/codex-websocket-adapter.js.map +1 -0
  39. package/dist/codex-websocket-connection.d.ts +58 -0
  40. package/dist/codex-websocket-connection.d.ts.map +1 -0
  41. package/dist/codex-websocket-connection.js +244 -0
  42. package/dist/codex-websocket-connection.js.map +1 -0
  43. package/dist/copilot-adapter.d.ts.map +1 -1
  44. package/dist/copilot-adapter.js +7 -3
  45. package/dist/copilot-adapter.js.map +1 -1
  46. package/dist/cursor-adapter.d.ts.map +1 -1
  47. package/dist/cursor-adapter.js +11 -4
  48. package/dist/cursor-adapter.js.map +1 -1
  49. package/dist/droid-adapter.d.ts +30 -0
  50. package/dist/droid-adapter.d.ts.map +1 -0
  51. package/dist/droid-adapter.js +377 -0
  52. package/dist/droid-adapter.js.map +1 -0
  53. package/dist/gemini-adapter.d.ts.map +1 -1
  54. package/dist/gemini-adapter.js +6 -3
  55. package/dist/gemini-adapter.js.map +1 -1
  56. package/dist/hermes-adapter.d.ts.map +1 -1
  57. package/dist/hermes-adapter.js +6 -2
  58. package/dist/hermes-adapter.js.map +1 -1
  59. package/dist/index.d.ts +10 -0
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +20 -1
  62. package/dist/index.js.map +1 -1
  63. package/dist/mocks/index.d.ts +60 -0
  64. package/dist/mocks/index.d.ts.map +1 -0
  65. package/dist/mocks/index.js +203 -0
  66. package/dist/mocks/index.js.map +1 -0
  67. package/dist/mocks/mock-types.d.ts +260 -0
  68. package/dist/mocks/mock-types.d.ts.map +1 -0
  69. package/dist/mocks/mock-types.js +12 -0
  70. package/dist/mocks/mock-types.js.map +1 -0
  71. package/dist/mocks/programmatic-mocks.d.ts +50 -0
  72. package/dist/mocks/programmatic-mocks.d.ts.map +1 -0
  73. package/dist/mocks/programmatic-mocks.js +330 -0
  74. package/dist/mocks/programmatic-mocks.js.map +1 -0
  75. package/dist/mocks/remote-mocks.d.ts +52 -0
  76. package/dist/mocks/remote-mocks.d.ts.map +1 -0
  77. package/dist/mocks/remote-mocks.js +436 -0
  78. package/dist/mocks/remote-mocks.js.map +1 -0
  79. package/dist/omp-adapter.d.ts.map +1 -1
  80. package/dist/omp-adapter.js +6 -3
  81. package/dist/omp-adapter.js.map +1 -1
  82. package/dist/openclaw-adapter.d.ts.map +1 -1
  83. package/dist/openclaw-adapter.js +6 -3
  84. package/dist/openclaw-adapter.js.map +1 -1
  85. package/dist/opencode-adapter.d.ts +2 -2
  86. package/dist/opencode-adapter.d.ts.map +1 -1
  87. package/dist/opencode-adapter.js +173 -61
  88. package/dist/opencode-adapter.js.map +1 -1
  89. package/dist/opencode-http-adapter.d.ts +41 -0
  90. package/dist/opencode-http-adapter.d.ts.map +1 -0
  91. package/dist/opencode-http-adapter.js +370 -0
  92. package/dist/opencode-http-adapter.js.map +1 -0
  93. package/dist/opencode-http-connection.d.ts +33 -0
  94. package/dist/opencode-http-connection.d.ts.map +1 -0
  95. package/dist/opencode-http-connection.js +198 -0
  96. package/dist/opencode-http-connection.js.map +1 -0
  97. package/dist/pi-adapter.d.ts.map +1 -1
  98. package/dist/pi-adapter.js +5 -2
  99. package/dist/pi-adapter.js.map +1 -1
  100. package/dist/pi-sdk-adapter.d.ts +46 -0
  101. package/dist/pi-sdk-adapter.d.ts.map +1 -0
  102. package/dist/pi-sdk-adapter.js +549 -0
  103. package/dist/pi-sdk-adapter.js.map +1 -0
  104. package/dist/programmatic-adapter-base.d.ts +88 -0
  105. package/dist/programmatic-adapter-base.d.ts.map +1 -0
  106. package/dist/programmatic-adapter-base.js +169 -0
  107. package/dist/programmatic-adapter-base.js.map +1 -0
  108. package/dist/qwen-adapter.d.ts.map +1 -1
  109. package/dist/qwen-adapter.js +5 -2
  110. package/dist/qwen-adapter.js.map +1 -1
  111. package/dist/remote-adapter-base.d.ts +85 -0
  112. package/dist/remote-adapter-base.d.ts.map +1 -0
  113. package/dist/remote-adapter-base.js +102 -0
  114. package/dist/remote-adapter-base.js.map +1 -0
  115. package/package.json +2 -2
@@ -115,20 +115,39 @@ export class CodexAdapter extends BaseAgentAdapter {
115
115
  };
116
116
  buildSpawnArgs(options) {
117
117
  const args = [];
118
+ // Codex requires the 'exec' subcommand for proper JSON output
119
+ const sessionId = this.resolveSessionId(options);
120
+ const isResume = sessionId && !options.forkSessionId;
121
+ if (isResume) {
122
+ // Resume existing session
123
+ args.push('exec', 'resume', '--last', '--json');
124
+ }
125
+ else {
126
+ // New session
127
+ args.push('exec', '--json');
128
+ }
118
129
  if (options.model) {
119
130
  args.push('--model', options.model);
120
131
  }
121
132
  if (options.approvalMode === 'yolo') {
122
133
  args.push('--full-auto');
123
134
  }
124
- const prompt = Array.isArray(options.prompt) ? options.prompt.join('\n') : options.prompt;
125
- args.push('--quiet', prompt);
135
+ let stdin;
136
+ // For new sessions, add the prompt
137
+ if (!isResume) {
138
+ const transport = this.buildPromptTransport(options);
139
+ stdin = transport.stdin;
140
+ if (stdin === undefined) {
141
+ args.push(transport.prompt);
142
+ }
143
+ }
126
144
  return {
127
145
  command: this.cliCommand,
128
146
  args,
129
147
  env: this.buildEnvFromOptions(options),
130
148
  cwd: options.cwd ?? process.cwd(),
131
149
  usePty: false,
150
+ stdin,
132
151
  timeout: options.timeout,
133
152
  inactivityTimeout: options.inactivityTimeout,
134
153
  };
@@ -141,6 +160,84 @@ export class CodexAdapter extends BaseAgentAdapter {
141
160
  const ts = Date.now();
142
161
  const base = { runId: context.runId, agent: this.agent, timestamp: ts };
143
162
  const type = obj['type'];
163
+ // Proper Codex event types from 'codex exec --json'
164
+ if (type === 'thread.started') {
165
+ return { ...base, type: 'session_start', sessionId: context.sessionId || '', resumed: false };
166
+ }
167
+ if (type === 'turn.started') {
168
+ return { ...base, type: 'thinking_delta', delta: '', accumulated: '' };
169
+ }
170
+ if (type === 'turn.completed') {
171
+ const events = [];
172
+ const text = (obj['content'] ?? obj['text'] ?? '');
173
+ if (text) {
174
+ events.push({ ...base, type: 'message_stop', text });
175
+ }
176
+ // Parse usage/cost from turn.completed
177
+ const usage = obj['usage'];
178
+ if (usage) {
179
+ const cost = this.assembleCostRecord(usage);
180
+ if (cost) {
181
+ events.push({ ...base, type: 'cost', cost });
182
+ }
183
+ }
184
+ return events.length > 0 ? events : null;
185
+ }
186
+ if (type === 'turn.failed') {
187
+ const message = (obj['message'] ?? obj['error'] ?? 'Turn failed');
188
+ return {
189
+ ...base,
190
+ type: 'error',
191
+ code: 'INTERNAL',
192
+ message,
193
+ recoverable: false,
194
+ };
195
+ }
196
+ if (type === 'item.started') {
197
+ const kind = obj['kind'];
198
+ const name = (obj['name'] ?? '');
199
+ const id = (obj['id'] ?? '');
200
+ if (kind === 'command_execution' || kind === 'function_call') {
201
+ return {
202
+ ...base,
203
+ type: 'tool_call_start',
204
+ toolCallId: id,
205
+ toolName: name,
206
+ inputAccumulated: JSON.stringify(obj['arguments'] ?? obj['input'] ?? {}),
207
+ };
208
+ }
209
+ if (kind === 'message') {
210
+ const content = (obj['content'] ?? obj['text'] ?? '');
211
+ if (content) {
212
+ return { ...base, type: 'text_delta', delta: content, accumulated: content };
213
+ }
214
+ }
215
+ }
216
+ if (type === 'item.completed') {
217
+ const kind = obj['kind'];
218
+ const id = (obj['id'] ?? '');
219
+ const name = (obj['name'] ?? '');
220
+ if (kind === 'command_execution' || kind === 'function_call') {
221
+ return {
222
+ ...base,
223
+ type: 'tool_result',
224
+ toolCallId: id,
225
+ toolName: name,
226
+ output: obj['output'] ?? obj['result'] ?? '',
227
+ durationMs: (obj['duration_ms'] ?? 0),
228
+ };
229
+ }
230
+ }
231
+ if (type === 'error') {
232
+ return {
233
+ ...base,
234
+ type: 'error',
235
+ code: 'INTERNAL',
236
+ message: (obj['message'] ?? 'Unknown Codex error'),
237
+ recoverable: false,
238
+ };
239
+ }
240
+ // Legacy fallback for old event types (backwards compatibility)
144
241
  if (type === 'message' || type === 'text') {
145
242
  const content = (obj['content'] ?? obj['text'] ?? '');
146
243
  if (content) {
@@ -166,15 +263,6 @@ export class CodexAdapter extends BaseAgentAdapter {
166
263
  durationMs: 0,
167
264
  };
168
265
  }
169
- if (type === 'error') {
170
- return {
171
- ...base,
172
- type: 'error',
173
- code: 'INTERNAL',
174
- message: (obj['message'] ?? 'Unknown error'),
175
- recoverable: false,
176
- };
177
- }
178
266
  return null;
179
267
  }
180
268
  async detectAuth() {
@@ -192,7 +280,7 @@ export class CodexAdapter extends BaseAgentAdapter {
192
280
  path.join(codexHome, 'credentials.json'),
193
281
  ]);
194
282
  if (found) {
195
- return { status: 'authenticated', method: 'config_file', identity: found.identity };
283
+ return { status: 'authenticated', method: found.method, identity: found.identity };
196
284
  }
197
285
  return { status: 'unauthenticated' };
198
286
  }
@@ -1 +1 @@
1
- {"version":3,"file":"codex-adapter.js","sourceRoot":"","sources":["../src/codex-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-adapter.js","sourceRoot":"","sources":["../src/codex-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * CodexSdkAdapter — Direct OpenAI SDK integration for Codex.
3
+ *
4
+ * Uses the OpenAI SDK directly instead of the Codex CLI for better performance
5
+ * and more granular control over API interactions.
6
+ */
7
+ import type { AgentCapabilities, ModelCapabilities, AgentConfigSchema, AuthState, AuthSetupGuidance, Session, RunOptions, AgentEvent, AgentConfig } from '@a5c-ai/agent-mux-core';
8
+ import { BaseProgrammaticAdapter } from './programmatic-adapter-base.js';
9
+ export declare class CodexSdkAdapter extends BaseProgrammaticAdapter {
10
+ readonly agent: "codex-sdk";
11
+ readonly displayName = "Codex (SDK)";
12
+ readonly minVersion = "0.1.0";
13
+ readonly hostEnvSignals: readonly ["OPENAI_API_KEY"];
14
+ readonly capabilities: AgentCapabilities;
15
+ readonly models: ModelCapabilities[];
16
+ readonly defaultModelId = "o4-mini";
17
+ readonly configSchema: AgentConfigSchema;
18
+ execute(options: RunOptions): AsyncIterableIterator<AgentEvent>;
19
+ detectAuth(): Promise<AuthState>;
20
+ getAuthGuidance(): AuthSetupGuidance;
21
+ sessionDir(_cwd?: string): string;
22
+ parseSessionFile(filePath: string): Promise<Session>;
23
+ listSessionFiles(_cwd?: string): Promise<string[]>;
24
+ readConfig(_cwd?: string): Promise<AgentConfig>;
25
+ writeConfig(config: Partial<AgentConfig>, _cwd?: string): Promise<void>;
26
+ /**
27
+ * Create OpenAI client (mock implementation).
28
+ * In real implementation, this would return an actual OpenAI client instance.
29
+ */
30
+ private extractCostFromUsage;
31
+ }
32
+ //# sourceMappingURL=codex-sdk-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-sdk-adapter.d.ts","sourceRoot":"","sources":["../src/codex-sdk-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,OAAO,EACP,UAAU,EACV,UAAU,EACV,WAAW,EAEZ,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAgBzE,qBAAa,eAAgB,SAAQ,uBAAuB;IAC1D,QAAQ,CAAC,KAAK,EAAG,WAAW,CAAU;IACtC,QAAQ,CAAC,WAAW,iBAAiB;IACrC,QAAQ,CAAC,UAAU,WAAW;IAC9B,QAAQ,CAAC,cAAc,8BAA+B;IAEtD,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CA0CtC;IAEF,QAAQ,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAsDlC;IAEF,QAAQ,CAAC,cAAc,aAAa;IAEpC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAOtC;IAEK,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,qBAAqB,CAAC,UAAU,CAAC;IAuMhE,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC;IAuBtC,eAAe,IAAI,iBAAiB;IAwBpC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM;IAI3B,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKpD,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIlD,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAO/C,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW7E;;;OAGG;IACH,OAAO,CAAC,oBAAoB;CAwB7B"}
@@ -0,0 +1,384 @@
1
+ /**
2
+ * CodexSdkAdapter — Direct OpenAI SDK integration for Codex.
3
+ *
4
+ * Uses the OpenAI SDK directly instead of the Codex CLI for better performance
5
+ * and more granular control over API interactions.
6
+ */
7
+ import * as os from 'node:os';
8
+ import * as path from 'node:path';
9
+ import { BaseProgrammaticAdapter } from './programmatic-adapter-base.js';
10
+ import { listJsonlFiles, parseJsonlSessionFile, readJsonFile, writeJsonFileAtomic, } from './session-fs.js';
11
+ import { readAuthConfigIdentity } from './auth-config.js';
12
+ import { createOpenAIClient, createChatCompletion, executeMockFunction, } from './codex-sdk-mocks.js';
13
+ export class CodexSdkAdapter extends BaseProgrammaticAdapter {
14
+ agent = 'codex-sdk';
15
+ displayName = 'Codex (SDK)';
16
+ minVersion = '0.1.0';
17
+ hostEnvSignals = ['OPENAI_API_KEY'];
18
+ capabilities = {
19
+ agent: 'codex-sdk',
20
+ canResume: true,
21
+ canFork: false,
22
+ supportsMultiTurn: true,
23
+ sessionPersistence: 'file',
24
+ supportsTextStreaming: true,
25
+ supportsToolCallStreaming: true,
26
+ supportsThinkingStreaming: false,
27
+ supportsNativeTools: true,
28
+ supportsMCP: false,
29
+ supportsParallelToolCalls: true,
30
+ requiresToolApproval: true,
31
+ approvalModes: ['yolo', 'prompt', 'deny'],
32
+ supportsThinking: false,
33
+ thinkingEffortLevels: [],
34
+ supportsThinkingBudgetTokens: false,
35
+ supportsJsonMode: true,
36
+ supportsStructuredOutput: true,
37
+ supportsSkills: false,
38
+ supportsAgentsMd: false,
39
+ skillsFormat: null,
40
+ supportsSubagentDispatch: false,
41
+ supportsParallelExecution: false,
42
+ supportsInteractiveMode: true,
43
+ supportsStdinInjection: true,
44
+ supportsImageInput: false,
45
+ supportsImageOutput: false,
46
+ supportsFileAttachments: false,
47
+ supportsPlugins: false,
48
+ pluginFormats: [],
49
+ pluginRegistries: [],
50
+ supportedPlatforms: ['darwin', 'linux', 'win32'],
51
+ requiresGitRepo: false,
52
+ requiresPty: false,
53
+ authMethods: [
54
+ { type: 'api_key', name: 'API Key', description: 'OPENAI_API_KEY environment variable' },
55
+ ],
56
+ authFiles: ['.codex/config.json'],
57
+ installMethods: [
58
+ { platform: 'all', type: 'npm', command: 'npm install -g openai' },
59
+ ],
60
+ };
61
+ models = [
62
+ {
63
+ agent: 'codex-sdk',
64
+ modelId: 'o4-mini',
65
+ displayName: 'o4-mini',
66
+ deprecated: false,
67
+ contextWindow: 200000,
68
+ maxOutputTokens: 100000,
69
+ supportsThinking: true,
70
+ thinkingEffortLevels: ['low', 'medium', 'high'],
71
+ supportsToolCalling: true,
72
+ supportsParallelToolCalls: true,
73
+ supportsToolCallStreaming: true,
74
+ supportsJsonMode: true,
75
+ supportsStructuredOutput: true,
76
+ supportsTextStreaming: true,
77
+ supportsThinkingStreaming: false,
78
+ supportsImageInput: false,
79
+ supportsImageOutput: false,
80
+ supportsFileInput: false,
81
+ inputPricePerMillion: 0.15, // Example pricing
82
+ outputPricePerMillion: 0.6,
83
+ cachedInputPricePerMillion: 0.075,
84
+ cliArgKey: 'model', // Not used in SDK adapter
85
+ cliArgValue: 'o4-mini',
86
+ lastUpdated: '2026-04-01',
87
+ source: 'bundled',
88
+ },
89
+ {
90
+ agent: 'codex-sdk',
91
+ modelId: 'codex-mini-latest',
92
+ displayName: 'Codex Mini',
93
+ deprecated: false,
94
+ contextWindow: 200000,
95
+ maxOutputTokens: 100000,
96
+ supportsThinking: false,
97
+ supportsToolCalling: true,
98
+ supportsParallelToolCalls: true,
99
+ supportsToolCallStreaming: true,
100
+ supportsJsonMode: true,
101
+ supportsStructuredOutput: true,
102
+ supportsTextStreaming: true,
103
+ supportsThinkingStreaming: false,
104
+ supportsImageInput: false,
105
+ supportsImageOutput: false,
106
+ supportsFileInput: false,
107
+ inputPricePerMillion: 0.1, // Example pricing
108
+ outputPricePerMillion: 0.4,
109
+ cachedInputPricePerMillion: 0.05,
110
+ cliArgKey: 'model', // Not used in SDK adapter
111
+ cliArgValue: 'codex-mini-latest',
112
+ lastUpdated: '2026-04-01',
113
+ source: 'bundled',
114
+ },
115
+ ];
116
+ defaultModelId = 'o4-mini';
117
+ configSchema = {
118
+ agent: 'codex-sdk',
119
+ version: 1,
120
+ fields: [],
121
+ configFilePaths: [path.join(os.homedir(), '.codex', 'config.json')],
122
+ configFormat: 'json',
123
+ supportsProjectConfig: false,
124
+ };
125
+ async *execute(options) {
126
+ this.validateRunOptions(options);
127
+ const runId = this.generateRunId();
128
+ const modelId = this.resolveModel(options);
129
+ const prompt = this.normalizePrompt(options.prompt);
130
+ // Check authentication
131
+ const authState = await this.detectAuth();
132
+ if (authState.status !== 'authenticated') {
133
+ yield this.createErrorEvent(runId, 'AUTH_MISSING', 'OpenAI API key not found', false);
134
+ return;
135
+ }
136
+ try {
137
+ // Emit session start
138
+ yield {
139
+ ...this.createBaseEvent('session_start', runId),
140
+ type: 'session_start',
141
+ sessionId: options.sessionId || runId,
142
+ resumed: false,
143
+ };
144
+ // Create OpenAI client (in real implementation, this would use the actual OpenAI SDK)
145
+ const client = createOpenAIClient();
146
+ // Build messages array
147
+ const messages = [
148
+ {
149
+ role: 'user',
150
+ content: prompt,
151
+ },
152
+ ];
153
+ // Add system prompt if provided
154
+ if (options.systemPrompt) {
155
+ messages.unshift({
156
+ role: 'system',
157
+ content: options.systemPrompt,
158
+ });
159
+ }
160
+ // Define available tools/functions
161
+ const functions = [
162
+ {
163
+ name: 'execute_code',
164
+ description: 'Execute code in a sandboxed environment',
165
+ parameters: {
166
+ type: 'object',
167
+ properties: {
168
+ language: {
169
+ type: 'string',
170
+ enum: ['bash', 'python', 'javascript', 'typescript'],
171
+ description: 'Programming language to execute',
172
+ },
173
+ code: {
174
+ type: 'string',
175
+ description: 'Code to execute',
176
+ },
177
+ },
178
+ required: ['language', 'code'],
179
+ },
180
+ },
181
+ {
182
+ name: 'read_file',
183
+ description: 'Read the contents of a file',
184
+ parameters: {
185
+ type: 'object',
186
+ properties: {
187
+ path: {
188
+ type: 'string',
189
+ description: 'Path to the file to read',
190
+ },
191
+ },
192
+ required: ['path'],
193
+ },
194
+ },
195
+ {
196
+ name: 'write_file',
197
+ description: 'Write content to a file',
198
+ parameters: {
199
+ type: 'object',
200
+ properties: {
201
+ path: {
202
+ type: 'string',
203
+ description: 'Path to the file to write',
204
+ },
205
+ content: {
206
+ type: 'string',
207
+ description: 'Content to write to the file',
208
+ },
209
+ },
210
+ required: ['path', 'content'],
211
+ },
212
+ },
213
+ ];
214
+ // Make streaming API call
215
+ const stream = await createChatCompletion({
216
+ model: modelId,
217
+ messages,
218
+ functions,
219
+ stream: true,
220
+ temperature: 0.1,
221
+ });
222
+ let textAccumulated = '';
223
+ let currentFunctionCall = null;
224
+ let toolCallId = null;
225
+ for await (const chunk of stream) {
226
+ if (chunk.choices && chunk.choices[0]) {
227
+ const choice = chunk.choices[0];
228
+ const delta = choice.delta;
229
+ // Handle text content
230
+ if (delta.content) {
231
+ textAccumulated += delta.content;
232
+ yield this.createTextDeltaEvent(runId, delta.content, textAccumulated);
233
+ }
234
+ // Handle function calls
235
+ if (delta.function_call) {
236
+ if (delta.function_call.name && !currentFunctionCall) {
237
+ // Start of function call
238
+ currentFunctionCall = { name: delta.function_call.name, arguments: '' };
239
+ toolCallId = `call_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
240
+ yield this.createToolCallStartEvent(runId, toolCallId, delta.function_call.name, '');
241
+ }
242
+ if (delta.function_call.arguments && currentFunctionCall) {
243
+ // Accumulate function arguments
244
+ currentFunctionCall.arguments = (currentFunctionCall.arguments || '') + delta.function_call.arguments;
245
+ // Emit tool input delta
246
+ yield {
247
+ ...this.createBaseEvent('tool_input_delta', runId),
248
+ type: 'tool_input_delta',
249
+ toolCallId: toolCallId,
250
+ delta: delta.function_call.arguments,
251
+ inputAccumulated: currentFunctionCall.arguments,
252
+ };
253
+ }
254
+ }
255
+ // Handle completion
256
+ if (choice.finish_reason === 'function_call' && currentFunctionCall && toolCallId) {
257
+ // Function call is ready
258
+ yield {
259
+ ...this.createBaseEvent('tool_call_ready', runId),
260
+ type: 'tool_call_ready',
261
+ toolCallId,
262
+ toolName: currentFunctionCall.name,
263
+ input: currentFunctionCall.arguments || '',
264
+ };
265
+ // Execute the function (mock execution)
266
+ const functionResult = await executeMockFunction(currentFunctionCall.name, currentFunctionCall.arguments || '{}');
267
+ yield this.createToolResultEvent(runId, toolCallId, currentFunctionCall.name, functionResult, 100 // mock duration
268
+ );
269
+ currentFunctionCall = null;
270
+ toolCallId = null;
271
+ }
272
+ }
273
+ // Handle usage/cost information
274
+ if (chunk.usage) {
275
+ const cost = this.extractCostFromUsage(chunk.usage);
276
+ if (cost) {
277
+ yield this.createCostEvent(runId, cost);
278
+ }
279
+ }
280
+ }
281
+ // Emit message stop
282
+ yield this.createMessageStopEvent(runId, textAccumulated);
283
+ }
284
+ catch (error) {
285
+ const message = error instanceof Error ? error.message : String(error);
286
+ yield this.createErrorEvent(runId, 'INTERNAL', `SDK error: ${message}`, false);
287
+ }
288
+ }
289
+ async detectAuth() {
290
+ const apiKey = process.env['OPENAI_API_KEY'];
291
+ if (apiKey) {
292
+ return {
293
+ status: 'authenticated',
294
+ method: 'api_key',
295
+ identity: `openai:...${apiKey.slice(-4)}`,
296
+ };
297
+ }
298
+ // Check config files
299
+ const codexHome = process.env['CODEX_HOME'] ?? path.join(os.homedir(), '.codex');
300
+ const found = await readAuthConfigIdentity([
301
+ path.join(codexHome, 'auth.json'),
302
+ path.join(codexHome, 'credentials.json'),
303
+ ]);
304
+ if (found) {
305
+ return { status: 'authenticated', method: found.method, identity: found.identity };
306
+ }
307
+ return { status: 'unauthenticated' };
308
+ }
309
+ getAuthGuidance() {
310
+ return {
311
+ agent: 'codex-sdk',
312
+ providerName: 'OpenAI',
313
+ steps: [
314
+ {
315
+ step: 1,
316
+ description: 'Get an API key from https://platform.openai.com/api-keys',
317
+ url: 'https://platform.openai.com/api-keys'
318
+ },
319
+ {
320
+ step: 2,
321
+ description: 'Set the OPENAI_API_KEY environment variable',
322
+ command: 'export OPENAI_API_KEY=sk-...'
323
+ },
324
+ ],
325
+ envVars: [
326
+ { name: 'OPENAI_API_KEY', description: 'OpenAI API key', required: true, exampleFormat: 'sk-...' },
327
+ ],
328
+ documentationUrls: ['https://platform.openai.com/docs'],
329
+ verifyCommand: 'node -e "console.log(process.env.OPENAI_API_KEY ? \'OK\' : \'Missing\')"',
330
+ };
331
+ }
332
+ sessionDir(_cwd) {
333
+ return path.join(os.homedir(), '.codex', 'sessions');
334
+ }
335
+ async parseSessionFile(filePath) {
336
+ const parsed = await parseJsonlSessionFile(filePath, 'codex-sdk');
337
+ return { ...parsed, agent: 'codex-sdk' };
338
+ }
339
+ async listSessionFiles(_cwd) {
340
+ return listJsonlFiles(this.sessionDir());
341
+ }
342
+ async readConfig(_cwd) {
343
+ const filePath = this.configSchema.configFilePaths?.[0];
344
+ if (!filePath)
345
+ return { agent: 'codex-sdk', source: 'global' };
346
+ const data = (await readJsonFile(filePath)) ?? {};
347
+ return { agent: 'codex-sdk', source: 'global', filePaths: [filePath], ...data };
348
+ }
349
+ async writeConfig(config, _cwd) {
350
+ const filePath = this.configSchema.configFilePaths?.[0];
351
+ if (!filePath)
352
+ return;
353
+ const existing = (await readJsonFile(filePath)) ?? {};
354
+ const { agent: _a, source: _s, filePaths: _fp, ...rest } = config;
355
+ void _a;
356
+ void _s;
357
+ void _fp;
358
+ await writeJsonFileAtomic(filePath, { ...existing, ...rest });
359
+ }
360
+ // ── Private implementation methods ─────────────────────────────────
361
+ /**
362
+ * Create OpenAI client (mock implementation).
363
+ * In real implementation, this would return an actual OpenAI client instance.
364
+ */
365
+ extractCostFromUsage(usage) {
366
+ const model = this.models.find(m => m.modelId === this.defaultModelId);
367
+ if (!model) {
368
+ return {
369
+ totalUsd: 0,
370
+ inputTokens: usage.prompt_tokens,
371
+ outputTokens: usage.completion_tokens,
372
+ };
373
+ }
374
+ const inputCost = (usage.prompt_tokens / 1_000_000) * model.inputPricePerMillion;
375
+ const outputCost = (usage.completion_tokens / 1_000_000) * model.outputPricePerMillion;
376
+ const totalCost = inputCost + outputCost;
377
+ return {
378
+ totalUsd: totalCost,
379
+ inputTokens: usage.prompt_tokens,
380
+ outputTokens: usage.completion_tokens,
381
+ };
382
+ }
383
+ }
384
+ //# sourceMappingURL=codex-sdk-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-sdk-adapter.js","sourceRoot":"","sources":["../src/codex-sdk-adapter.ts"],"names":[],"mappings":"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"}