@geminilight/mindos 1.0.10 → 1.0.29

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 (174) hide show
  1. package/bin/mindos-shim.cjs +318 -7
  2. package/dist/agent/prompts.d.ts +1 -1
  3. package/dist/agent/prompts.d.ts.map +1 -1
  4. package/dist/agent/prompts.js +14 -0
  5. package/dist/agent/prompts.js.map +1 -1
  6. package/dist/agent-runtime/claude-code-cli.d.ts +34 -0
  7. package/dist/agent-runtime/claude-code-cli.d.ts.map +1 -0
  8. package/dist/agent-runtime/claude-code-cli.js +258 -0
  9. package/dist/agent-runtime/claude-code-cli.js.map +1 -0
  10. package/dist/agent-runtime/claude-code-sdk.d.ts +24 -0
  11. package/dist/agent-runtime/claude-code-sdk.d.ts.map +1 -0
  12. package/dist/agent-runtime/claude-code-sdk.js +415 -0
  13. package/dist/agent-runtime/claude-code-sdk.js.map +1 -0
  14. package/dist/agent-runtime/codex-app-server.d.ts +151 -0
  15. package/dist/agent-runtime/codex-app-server.d.ts.map +1 -0
  16. package/dist/agent-runtime/codex-app-server.js +626 -0
  17. package/dist/agent-runtime/codex-app-server.js.map +1 -0
  18. package/dist/agent-runtime/index.d.ts +5 -0
  19. package/dist/agent-runtime/index.d.ts.map +1 -0
  20. package/dist/agent-runtime/index.js +5 -0
  21. package/dist/agent-runtime/index.js.map +1 -0
  22. package/dist/agent-runtime/run.d.ts +104 -0
  23. package/dist/agent-runtime/run.d.ts.map +1 -0
  24. package/dist/agent-runtime/run.js +494 -0
  25. package/dist/agent-runtime/run.js.map +1 -0
  26. package/dist/agent-runtime.d.ts +2 -0
  27. package/dist/agent-runtime.d.ts.map +1 -0
  28. package/dist/agent-runtime.js +2 -0
  29. package/dist/agent-runtime.js.map +1 -0
  30. package/dist/client.d.ts +8 -0
  31. package/dist/client.d.ts.map +1 -1
  32. package/dist/client.js.map +1 -1
  33. package/dist/foundation/config/schema.d.ts +30 -141
  34. package/dist/foundation/config/schema.d.ts.map +1 -1
  35. package/dist/foundation/config/schema.js +18 -4
  36. package/dist/foundation/config/schema.js.map +1 -1
  37. package/dist/index.d.ts +1 -0
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +1 -0
  40. package/dist/index.js.map +1 -1
  41. package/dist/knowledge/git/index.d.ts.map +1 -1
  42. package/dist/knowledge/git/index.js +43 -2
  43. package/dist/knowledge/git/index.js.map +1 -1
  44. package/dist/protocols/acp/agent-descriptors.d.ts.map +1 -1
  45. package/dist/protocols/acp/agent-descriptors.js +0 -3
  46. package/dist/protocols/acp/agent-descriptors.js.map +1 -1
  47. package/dist/protocols/acp/index.js +39 -28
  48. package/dist/protocols/acp/session.d.ts.map +1 -1
  49. package/dist/protocols/acp/session.js +11 -14
  50. package/dist/protocols/acp/session.js.map +1 -1
  51. package/dist/protocols/acp/subprocess.d.ts +4 -1
  52. package/dist/protocols/acp/subprocess.d.ts.map +1 -1
  53. package/dist/protocols/acp/subprocess.js +36 -9
  54. package/dist/protocols/acp/subprocess.js.map +1 -1
  55. package/dist/protocols/mcp-server/index.cjs +80 -68
  56. package/dist/server/channel-contract.d.ts +13 -0
  57. package/dist/server/channel-contract.d.ts.map +1 -0
  58. package/dist/server/channel-contract.js +115 -0
  59. package/dist/server/channel-contract.js.map +1 -0
  60. package/dist/server/contract.d.ts.map +1 -1
  61. package/dist/server/contract.js +10 -0
  62. package/dist/server/contract.js.map +1 -1
  63. package/dist/server/handlers/agent-runtime-codex.d.ts +26 -0
  64. package/dist/server/handlers/agent-runtime-codex.d.ts.map +1 -0
  65. package/dist/server/handlers/agent-runtime-codex.js +170 -0
  66. package/dist/server/handlers/agent-runtime-codex.js.map +1 -0
  67. package/dist/server/handlers/agent-runtimes.d.ts +126 -0
  68. package/dist/server/handlers/agent-runtimes.d.ts.map +1 -0
  69. package/dist/server/handlers/agent-runtimes.js +690 -0
  70. package/dist/server/handlers/agent-runtimes.js.map +1 -0
  71. package/dist/server/handlers/agents.d.ts +6 -0
  72. package/dist/server/handlers/agents.d.ts.map +1 -1
  73. package/dist/server/handlers/agents.js +41 -6
  74. package/dist/server/handlers/agents.js.map +1 -1
  75. package/dist/server/handlers/ask.d.ts +18 -0
  76. package/dist/server/handlers/ask.d.ts.map +1 -1
  77. package/dist/server/handlers/ask.js +70 -0
  78. package/dist/server/handlers/ask.js.map +1 -1
  79. package/dist/server/handlers/channels-verify.d.ts +1 -1
  80. package/dist/server/handlers/channels-verify.d.ts.map +1 -1
  81. package/dist/server/handlers/channels-verify.js +1 -63
  82. package/dist/server/handlers/channels-verify.js.map +1 -1
  83. package/dist/server/handlers/extract-docx.d.ts +42 -0
  84. package/dist/server/handlers/extract-docx.d.ts.map +1 -0
  85. package/dist/server/handlers/extract-docx.js +101 -0
  86. package/dist/server/handlers/extract-docx.js.map +1 -0
  87. package/dist/server/handlers/extract-pdf.d.ts +32 -0
  88. package/dist/server/handlers/extract-pdf.d.ts.map +1 -0
  89. package/dist/server/handlers/extract-pdf.js +116 -0
  90. package/dist/server/handlers/extract-pdf.js.map +1 -0
  91. package/dist/server/handlers/im-config.d.ts +1 -1
  92. package/dist/server/handlers/im-config.d.ts.map +1 -1
  93. package/dist/server/handlers/im-config.js +69 -59
  94. package/dist/server/handlers/im-config.js.map +1 -1
  95. package/dist/server/handlers/im-feishu-oauth.d.ts +55 -0
  96. package/dist/server/handlers/im-feishu-oauth.d.ts.map +1 -0
  97. package/dist/server/handlers/im-feishu-oauth.js +218 -0
  98. package/dist/server/handlers/im-feishu-oauth.js.map +1 -0
  99. package/dist/server/handlers/im-status.d.ts +15 -0
  100. package/dist/server/handlers/im-status.d.ts.map +1 -1
  101. package/dist/server/handlers/im-status.js +41 -24
  102. package/dist/server/handlers/im-status.js.map +1 -1
  103. package/dist/server/handlers/inbox-source.d.ts +18 -0
  104. package/dist/server/handlers/inbox-source.d.ts.map +1 -0
  105. package/dist/server/handlers/inbox-source.js +108 -0
  106. package/dist/server/handlers/inbox-source.js.map +1 -0
  107. package/dist/server/handlers/inbox.d.ts +2 -0
  108. package/dist/server/handlers/inbox.d.ts.map +1 -1
  109. package/dist/server/handlers/inbox.js +34 -2
  110. package/dist/server/handlers/inbox.js.map +1 -1
  111. package/dist/server/handlers/mcp-agents.d.ts +16 -1
  112. package/dist/server/handlers/mcp-agents.d.ts.map +1 -1
  113. package/dist/server/handlers/mcp-agents.js +174 -44
  114. package/dist/server/handlers/mcp-agents.js.map +1 -1
  115. package/dist/server/handlers/mcp-install.d.ts +5 -0
  116. package/dist/server/handlers/mcp-install.d.ts.map +1 -1
  117. package/dist/server/handlers/mcp-install.js +68 -20
  118. package/dist/server/handlers/mcp-install.js.map +1 -1
  119. package/dist/server/handlers/mcp-restart.js +1 -1
  120. package/dist/server/handlers/mcp-restart.js.map +1 -1
  121. package/dist/server/handlers/settings-list-models.d.ts +1 -1
  122. package/dist/server/handlers/settings-list-models.d.ts.map +1 -1
  123. package/dist/server/handlers/settings-list-models.js +6 -5
  124. package/dist/server/handlers/settings-list-models.js.map +1 -1
  125. package/dist/server/handlers/settings-test-key.d.ts.map +1 -1
  126. package/dist/server/handlers/settings-test-key.js +17 -7
  127. package/dist/server/handlers/settings-test-key.js.map +1 -1
  128. package/dist/server/handlers/settings.d.ts +2 -1
  129. package/dist/server/handlers/settings.d.ts.map +1 -1
  130. package/dist/server/handlers/settings.js +49 -5
  131. package/dist/server/handlers/settings.js.map +1 -1
  132. package/dist/server/handlers/skills.d.ts +1 -0
  133. package/dist/server/handlers/skills.d.ts.map +1 -1
  134. package/dist/server/handlers/skills.js +7 -5
  135. package/dist/server/handlers/skills.js.map +1 -1
  136. package/dist/server/handlers/sync.d.ts +15 -4
  137. package/dist/server/handlers/sync.d.ts.map +1 -1
  138. package/dist/server/handlers/sync.js +552 -81
  139. package/dist/server/handlers/sync.js.map +1 -1
  140. package/dist/server/handlers/uninstall.js +1 -0
  141. package/dist/server/handlers/uninstall.js.map +1 -1
  142. package/dist/server/handlers/update.js +1 -0
  143. package/dist/server/handlers/update.js.map +1 -1
  144. package/dist/server/http.d.ts +20 -0
  145. package/dist/server/http.d.ts.map +1 -1
  146. package/dist/server/http.js +223 -24
  147. package/dist/server/http.js.map +1 -1
  148. package/dist/server/index.d.ts +12 -4
  149. package/dist/server/index.d.ts.map +1 -1
  150. package/dist/server/index.js +9 -1
  151. package/dist/server/index.js.map +1 -1
  152. package/dist/server/mcp-agent-registry.d.ts +184 -0
  153. package/dist/server/mcp-agent-registry.d.ts.map +1 -1
  154. package/dist/server/mcp-agent-registry.js +100 -9
  155. package/dist/server/mcp-agent-registry.js.map +1 -1
  156. package/dist/server/provider-settings.d.ts +38 -0
  157. package/dist/server/provider-settings.d.ts.map +1 -0
  158. package/dist/server/provider-settings.js +286 -0
  159. package/dist/server/provider-settings.js.map +1 -0
  160. package/dist/server/route-ownership.d.ts.map +1 -1
  161. package/dist/server/route-ownership.js +15 -2
  162. package/dist/server/route-ownership.js.map +1 -1
  163. package/dist/session/index.d.ts +94 -15
  164. package/dist/session/index.d.ts.map +1 -1
  165. package/dist/session/index.js +115 -18
  166. package/dist/session/index.js.map +1 -1
  167. package/dist/session/pi-coding-agent-runtime.js +3 -3
  168. package/dist/session/pi-coding-agent-runtime.js.map +1 -1
  169. package/dist/setup/index.d.ts +1 -0
  170. package/dist/setup/index.d.ts.map +1 -1
  171. package/dist/setup/index.js +13 -0
  172. package/dist/setup/index.js.map +1 -1
  173. package/package.json +18 -12
  174. package/src/cli.js +1 -0
@@ -0,0 +1,626 @@
1
+ import { spawn } from 'node:child_process';
2
+ import { createInterface } from 'node:readline';
3
+ const DEFAULT_REQUEST_TIMEOUT_MS = 60_000;
4
+ class AsyncQueue {
5
+ values = [];
6
+ readers = [];
7
+ closed = false;
8
+ push(value) {
9
+ if (this.closed)
10
+ return;
11
+ const reader = this.readers.shift();
12
+ if (reader) {
13
+ reader({ value, done: false });
14
+ return;
15
+ }
16
+ this.values.push(value);
17
+ }
18
+ close() {
19
+ if (this.closed)
20
+ return;
21
+ this.closed = true;
22
+ for (const reader of this.readers.splice(0)) {
23
+ reader({ value: undefined, done: true });
24
+ }
25
+ }
26
+ [Symbol.asyncIterator]() {
27
+ return {
28
+ next: () => {
29
+ const value = this.values.shift();
30
+ if (value !== undefined)
31
+ return Promise.resolve({ value, done: false });
32
+ if (this.closed)
33
+ return Promise.resolve({ value: undefined, done: true });
34
+ return new Promise((resolve) => this.readers.push(resolve));
35
+ },
36
+ };
37
+ }
38
+ }
39
+ export function createCodexAppServerClient(transport, options = {}) {
40
+ const clientInfo = options.clientInfo ?? {
41
+ name: 'codex-mindos',
42
+ title: 'Codex MindOS',
43
+ version: '0.1.0',
44
+ };
45
+ const capabilities = options.capabilities ?? {
46
+ experimentalApi: true,
47
+ };
48
+ const pending = new Map();
49
+ const notifications = new AsyncQueue();
50
+ let nextId = 1;
51
+ let readStarted = false;
52
+ const startReadLoop = (signal) => {
53
+ if (readStarted)
54
+ return;
55
+ readStarted = true;
56
+ void (async () => {
57
+ try {
58
+ for await (const message of transport.read(signal)) {
59
+ if (isCodexResponse(message)) {
60
+ const request = pending.get(message.id);
61
+ if (!request)
62
+ continue;
63
+ pending.delete(message.id);
64
+ request.cleanup();
65
+ if (message.error) {
66
+ request.reject(new Error(formatCodexJsonRpcError(request.method, message.error)));
67
+ }
68
+ else {
69
+ request.resolve(message.result);
70
+ }
71
+ continue;
72
+ }
73
+ if (isCodexServerRequest(message)) {
74
+ void respondToServerRequest(message).catch((error) => {
75
+ const err = error instanceof Error ? error : new Error(String(error));
76
+ notifications.push({
77
+ method: 'error',
78
+ params: { message: `Codex app-server request ${message.method} failed: ${err.message}` },
79
+ });
80
+ });
81
+ continue;
82
+ }
83
+ if (isCodexNotification(message))
84
+ notifications.push(message);
85
+ }
86
+ }
87
+ catch (error) {
88
+ const err = error instanceof Error ? error : new Error(String(error));
89
+ for (const request of pending.values()) {
90
+ request.cleanup();
91
+ request.reject(err);
92
+ }
93
+ pending.clear();
94
+ }
95
+ finally {
96
+ notifications.close();
97
+ }
98
+ })();
99
+ };
100
+ const request = async (method, params = {}, signal) => {
101
+ startReadLoop(signal);
102
+ if (signal?.aborted)
103
+ throw new Error(`Codex app-server ${method} aborted.`);
104
+ const id = nextId++;
105
+ let timer;
106
+ let abortListener;
107
+ const response = new Promise((resolve, reject) => {
108
+ const cleanup = () => {
109
+ if (timer)
110
+ clearTimeout(timer);
111
+ if (abortListener)
112
+ signal?.removeEventListener('abort', abortListener);
113
+ };
114
+ const rejectPending = (error) => {
115
+ const pendingRequest = pending.get(id);
116
+ if (!pendingRequest)
117
+ return;
118
+ pending.delete(id);
119
+ pendingRequest.cleanup();
120
+ pendingRequest.reject(error);
121
+ };
122
+ abortListener = () => rejectPending(new Error(`Codex app-server ${method} aborted.`));
123
+ timer = setTimeout(() => {
124
+ rejectPending(new Error(`Codex app-server ${method} timed out after ${DEFAULT_REQUEST_TIMEOUT_MS}ms.`));
125
+ }, DEFAULT_REQUEST_TIMEOUT_MS);
126
+ signal?.addEventListener('abort', abortListener, { once: true });
127
+ pending.set(id, { method, resolve, reject, cleanup });
128
+ });
129
+ try {
130
+ await transport.send({ method, id, params });
131
+ }
132
+ catch (error) {
133
+ const pendingRequest = pending.get(id);
134
+ if (pendingRequest) {
135
+ pending.delete(id);
136
+ pendingRequest.cleanup();
137
+ pendingRequest.reject(error instanceof Error ? error : new Error(String(error)));
138
+ }
139
+ }
140
+ return response;
141
+ };
142
+ const notify = async (method, params = {}) => {
143
+ await transport.send({ method, params });
144
+ };
145
+ const respondToServerRequest = async (message) => {
146
+ try {
147
+ const result = options.handleServerRequest
148
+ ? await options.handleServerRequest(message)
149
+ : defaultCodexServerRequestResult(message);
150
+ await transport.send({ id: message.id, result });
151
+ }
152
+ catch (error) {
153
+ const err = error instanceof Error ? error : new Error(String(error));
154
+ await transport.send({
155
+ id: message.id,
156
+ error: {
157
+ code: -32000,
158
+ message: err.message || `Codex app-server request ${message.method} failed`,
159
+ },
160
+ });
161
+ }
162
+ };
163
+ return {
164
+ async initialize() {
165
+ await request('initialize', { clientInfo, capabilities });
166
+ await notify('initialized');
167
+ },
168
+ async startThread(input = {}) {
169
+ const params = pruneUndefined({
170
+ model: input.model,
171
+ cwd: input.cwd,
172
+ });
173
+ const result = await request('thread/start', params);
174
+ return { threadId: getThreadId(result, 'thread/start') };
175
+ },
176
+ async resumeThread(input) {
177
+ const result = await request('thread/resume', { threadId: input.threadId });
178
+ return { threadId: getThreadId(result, 'thread/resume') ?? input.threadId };
179
+ },
180
+ async listThreads(input = {}) {
181
+ const result = await request('thread/list', pruneUndefined(input));
182
+ return getThreadListResult(result, 'thread/list');
183
+ },
184
+ async readThread(input) {
185
+ const result = await request('thread/read', {
186
+ threadId: input.threadId,
187
+ ...(typeof input.includeTurns === 'boolean' ? { includeTurns: input.includeTurns } : {}),
188
+ });
189
+ return { thread: getThread(result, 'thread/read') };
190
+ },
191
+ async forkThread(input) {
192
+ const result = await request('thread/fork', pruneUndefined(input));
193
+ const record = asRecord(result);
194
+ return {
195
+ ...(record ?? {}),
196
+ thread: getThread(result, 'thread/fork'),
197
+ };
198
+ },
199
+ async archiveThread(input) {
200
+ await request('thread/archive', { threadId: input.threadId });
201
+ },
202
+ async unarchiveThread(input) {
203
+ const result = await request('thread/unarchive', { threadId: input.threadId });
204
+ return { thread: getThread(result, 'thread/unarchive') };
205
+ },
206
+ async *startTurn(input) {
207
+ const params = {
208
+ threadId: input.threadId,
209
+ input: input.input,
210
+ ...(input.cwd ? { cwd: input.cwd } : {}),
211
+ };
212
+ await request('turn/start', params, input.signal);
213
+ for await (const notification of notifications) {
214
+ yield notification;
215
+ if (isCodexTerminalTurnNotification(notification))
216
+ break;
217
+ }
218
+ },
219
+ async interruptTurn(input) {
220
+ await request('turn/interrupt', {
221
+ threadId: input.threadId,
222
+ ...(input.turnId ? { turnId: input.turnId } : {}),
223
+ });
224
+ },
225
+ close: () => transport.close?.(),
226
+ };
227
+ }
228
+ export function createCodexAppServerStdioTransport(options = {}) {
229
+ const command = options.command ?? 'codex';
230
+ const args = options.args ?? ['app-server'];
231
+ const child = spawn(command, args, {
232
+ stdio: ['pipe', 'pipe', 'pipe'],
233
+ ...(options.cwd ? { cwd: options.cwd } : {}),
234
+ env: { ...process.env, ...(options.env ?? {}) },
235
+ });
236
+ const lines = createInterface({ input: child.stdout });
237
+ let stderr = '';
238
+ let spawnError = null;
239
+ child.stderr.on('data', (chunk) => {
240
+ stderr += String(chunk);
241
+ });
242
+ child.once('error', (error) => {
243
+ spawnError = error;
244
+ });
245
+ const childClose = new Promise((resolve) => {
246
+ child.once('close', (code, signal) => resolve({ code, signal }));
247
+ });
248
+ return {
249
+ send(message) {
250
+ child.stdin.write(`${JSON.stringify(message)}\n`);
251
+ },
252
+ async *read() {
253
+ try {
254
+ for await (const line of lines) {
255
+ if (typeof line !== 'string' || !line.trim())
256
+ continue;
257
+ yield JSON.parse(line);
258
+ }
259
+ const result = await childClose;
260
+ if (spawnError)
261
+ throw spawnError;
262
+ if (result.code && result.code !== 0) {
263
+ throw new Error(stderr.trim() || `Codex app-server exited with code ${result.code}`);
264
+ }
265
+ }
266
+ catch (error) {
267
+ const err = error instanceof Error ? error : new Error(String(error));
268
+ if (err.message)
269
+ throw err;
270
+ throw new Error(stderr.trim() || 'Codex app-server stopped unexpectedly');
271
+ }
272
+ },
273
+ close() {
274
+ lines.close();
275
+ child.kill();
276
+ },
277
+ };
278
+ }
279
+ export function mapCodexAppServerNotificationToSseEvents(notification) {
280
+ const toolEvents = mapCodexRuntimeToolNotification(notification);
281
+ if (toolEvents.length > 0)
282
+ return toolEvents;
283
+ if (notification.method === 'error') {
284
+ return [{ type: 'error', message: getCodexErrorMessage(notification.params, 'Codex app-server error') }];
285
+ }
286
+ if (notification.method === 'item/agentMessage/delta') {
287
+ const delta = getStringParam(notification.params, 'delta') ?? getStringParam(notification.params, 'text');
288
+ return delta ? [{ type: 'text_delta', delta }] : [];
289
+ }
290
+ if (notification.method === 'item/thinking/delta') {
291
+ const delta = getStringParam(notification.params, 'delta') ?? getStringParam(notification.params, 'text');
292
+ return delta ? [{ type: 'thinking_delta', delta }] : [];
293
+ }
294
+ if (notification.method === 'item/reasoning/textDelta'
295
+ || notification.method === 'item/reasoning/summaryTextDelta'
296
+ || notification.method === 'item/reasoning/summaryPartAdded') {
297
+ const delta = getStringParam(notification.params, 'delta')
298
+ ?? getStringParam(notification.params, 'text')
299
+ ?? getStringParam(notification.params, 'summary');
300
+ return delta ? [{ type: 'thinking_delta', delta }] : [];
301
+ }
302
+ if (notification.method === 'turn/completed') {
303
+ const status = getCodexTurnStatus(notification.params);
304
+ if (status && status !== 'completed' && status !== 'success') {
305
+ return [{ type: 'error', message: getCodexErrorMessage(notification.params, `Codex turn ${status}`) }];
306
+ }
307
+ return [{ type: 'done' }];
308
+ }
309
+ if (notification.method === 'turn/failed') {
310
+ return [{ type: 'error', message: getCodexErrorMessage(notification.params, 'Codex turn failed') }];
311
+ }
312
+ return [];
313
+ }
314
+ function mapCodexRuntimeToolNotification(notification) {
315
+ const method = notification.method;
316
+ const lower = method.toLowerCase();
317
+ const params = notification.params ?? {};
318
+ const officialItemEvents = mapCodexOfficialItemNotification(method, params);
319
+ if (officialItemEvents.length > 0)
320
+ return officialItemEvents;
321
+ if (!/(tool|command|exec|approval|permission|patch)/.test(lower))
322
+ return [];
323
+ const toolCallId = getCodexToolCallId(method, params);
324
+ const toolName = getCodexToolName(method, params);
325
+ if (!toolCallId || !toolName)
326
+ return [];
327
+ if (/outputdelta|output_delta/.test(lower)) {
328
+ const delta = getStringParam(params, 'delta')
329
+ ?? getStringParam(params, 'output')
330
+ ?? getStringParam(params, 'text');
331
+ return delta ? [{
332
+ type: 'tool_delta',
333
+ toolCallId,
334
+ toolName,
335
+ delta,
336
+ runtime: 'codex',
337
+ }] : [];
338
+ }
339
+ if (/(end|ended|complete|completed|result|output|failed|error|rejected|denied|approved|allowed)/.test(lower)) {
340
+ return [{
341
+ type: 'tool_end',
342
+ toolCallId,
343
+ toolName,
344
+ output: getCodexToolOutput(params),
345
+ isError: /(failed|error|rejected|denied)/.test(lower) || params.isError === true || params.error !== undefined,
346
+ runtime: 'codex',
347
+ }];
348
+ }
349
+ if (/(start|started|begin|began|added|call|request|requested|created)/.test(lower)) {
350
+ return [{
351
+ type: 'tool_start',
352
+ toolCallId,
353
+ toolName,
354
+ args: getCodexToolInput(params),
355
+ runtime: 'codex',
356
+ }];
357
+ }
358
+ return [];
359
+ }
360
+ function mapCodexOfficialItemNotification(method, params) {
361
+ if (method === 'item/commandExecution/outputDelta') {
362
+ const toolCallId = getCodexToolCallId(method, params);
363
+ const delta = getStringParam(params, 'delta')
364
+ ?? getStringParam(params, 'output')
365
+ ?? getStringParam(params, 'text');
366
+ if (!toolCallId || !delta)
367
+ return [];
368
+ return [{
369
+ type: 'tool_delta',
370
+ toolCallId,
371
+ toolName: getCodexToolName(method, params),
372
+ delta,
373
+ runtime: 'codex',
374
+ }];
375
+ }
376
+ if (method !== 'item/started' && method !== 'item/completed')
377
+ return [];
378
+ const item = getCodexItem(params);
379
+ if (!item || !isCodexRuntimeToolItem(item))
380
+ return [];
381
+ const toolCallId = getCodexToolCallId(method, params);
382
+ const toolName = getCodexToolName(method, params);
383
+ if (!toolCallId || !toolName)
384
+ return [];
385
+ if (method === 'item/started') {
386
+ return [{
387
+ type: 'tool_start',
388
+ toolCallId,
389
+ toolName,
390
+ args: getCodexToolInput(params),
391
+ runtime: 'codex',
392
+ }];
393
+ }
394
+ const status = getStringField(item, 'status') ?? getStringParam(params, 'status');
395
+ return [{
396
+ type: 'tool_end',
397
+ toolCallId,
398
+ toolName,
399
+ output: getCodexToolOutput(params),
400
+ isError: status === 'failed'
401
+ || status === 'error'
402
+ || status === 'declined'
403
+ || params.isError === true
404
+ || params.error !== undefined
405
+ || item.error !== undefined,
406
+ runtime: 'codex',
407
+ }];
408
+ }
409
+ function formatCodexJsonRpcError(method, error) {
410
+ const parts = [
411
+ error.message?.trim() || `Codex app-server ${method} failed`,
412
+ typeof error.code === 'number' ? `method=${method} code=${error.code}` : `method=${method}`,
413
+ error.data !== undefined ? `data=${safeJson(error.data)}` : '',
414
+ ].filter(Boolean);
415
+ return parts.join(' ');
416
+ }
417
+ function safeJson(value) {
418
+ try {
419
+ return JSON.stringify(value);
420
+ }
421
+ catch {
422
+ return String(value);
423
+ }
424
+ }
425
+ function isCodexResponse(message) {
426
+ return typeof message.id === 'number'
427
+ && typeof message.method !== 'string';
428
+ }
429
+ function isCodexNotification(message) {
430
+ return typeof message.method === 'string'
431
+ && typeof message.id !== 'number';
432
+ }
433
+ function isCodexServerRequest(message) {
434
+ return typeof message.id === 'number'
435
+ && typeof message.method === 'string';
436
+ }
437
+ function isCodexTerminalTurnNotification(notification) {
438
+ return (notification.method === 'error'
439
+ || notification.method === 'turn/completed'
440
+ || notification.method === 'turn/failed');
441
+ }
442
+ function asRecord(value) {
443
+ return value && typeof value === 'object' ? value : null;
444
+ }
445
+ function getThreadId(result, method) {
446
+ return getThread(result, method).id;
447
+ }
448
+ function getThread(result, method) {
449
+ const record = asRecord(result);
450
+ const thread = asRecord(record?.thread);
451
+ const id = thread?.id;
452
+ if (typeof id !== 'string' || !id) {
453
+ throw new Error(`Codex app-server ${method} did not return a thread id`);
454
+ }
455
+ return { ...thread, id };
456
+ }
457
+ function getThreadListResult(result, method) {
458
+ const record = asRecord(result);
459
+ if (!record || !Array.isArray(record.data)) {
460
+ throw new Error(`Codex app-server ${method} did not return a thread list`);
461
+ }
462
+ return {
463
+ data: record.data.map((item) => {
464
+ const thread = asRecord(item);
465
+ const id = thread?.id;
466
+ if (typeof id !== 'string' || !id) {
467
+ throw new Error(`Codex app-server ${method} returned a thread without an id`);
468
+ }
469
+ return { ...thread, id };
470
+ }),
471
+ nextCursor: typeof record.nextCursor === 'string' ? record.nextCursor : null,
472
+ backwardsCursor: typeof record.backwardsCursor === 'string' ? record.backwardsCursor : null,
473
+ };
474
+ }
475
+ function pruneUndefined(value) {
476
+ return Object.fromEntries(Object.entries(value).filter(([, entry]) => entry !== undefined));
477
+ }
478
+ function getStringParam(params, key) {
479
+ const value = params?.[key];
480
+ return typeof value === 'string' ? value : undefined;
481
+ }
482
+ function getCodexItem(params) {
483
+ return asRecord(params.item) ?? params;
484
+ }
485
+ function getCodexItemType(item) {
486
+ return getStringField(item, 'type') ?? getStringField(item, 'kind') ?? '';
487
+ }
488
+ function isCodexRuntimeToolItem(item) {
489
+ const type = getCodexItemType(item).toLowerCase();
490
+ return type.includes('command')
491
+ || type.includes('filechange')
492
+ || type.includes('file_change')
493
+ || type.includes('tool')
494
+ || type.includes('dynamic')
495
+ || Boolean(getStringField(item, 'command'))
496
+ || Boolean(getStringField(item, 'toolName'))
497
+ || Boolean(getStringField(item, 'name'));
498
+ }
499
+ function getCodexToolCallId(method, params) {
500
+ const direct = getStringParam(params, 'toolCallId')
501
+ ?? getStringParam(params, 'callId')
502
+ ?? getStringParam(params, 'itemId')
503
+ ?? getStringParam(params, 'requestId')
504
+ ?? getStringParam(params, 'id');
505
+ if (direct)
506
+ return direct;
507
+ const item = asRecord(params.item);
508
+ const nested = getStringField(item, 'id') ?? getStringField(item, 'callId');
509
+ return nested ?? `codex-${method}`;
510
+ }
511
+ function getCodexToolName(method, params) {
512
+ const direct = getStringParam(params, 'toolName')
513
+ ?? getStringParam(params, 'name')
514
+ ?? getStringParam(params, 'tool')
515
+ ?? getStringParam(params, 'commandName');
516
+ if (direct)
517
+ return direct;
518
+ if (getStringParam(params, 'command'))
519
+ return 'Bash';
520
+ if (method.toLowerCase().includes('commandexecution'))
521
+ return 'Bash';
522
+ if (method.toLowerCase().includes('approval') || method.toLowerCase().includes('permission'))
523
+ return 'approval_request';
524
+ const item = getCodexItem(params);
525
+ const itemType = getCodexItemType(item).toLowerCase();
526
+ const itemTool = asRecord(item?.tool) ?? asRecord(item?.mcpTool) ?? asRecord(item?.dynamicTool);
527
+ const itemServer = asRecord(item?.server) ?? asRecord(item?.mcpServer);
528
+ if (getStringField(item, 'command'))
529
+ return 'Bash';
530
+ if (itemType.includes('command'))
531
+ return 'Bash';
532
+ if (itemType.includes('filechange') || itemType.includes('file_change'))
533
+ return 'file_change';
534
+ const nestedToolName = getStringField(itemTool, 'name')
535
+ ?? getStringField(itemTool, 'toolName')
536
+ ?? getStringField(item, 'serverToolName');
537
+ const serverName = getStringField(itemServer, 'name') ?? getStringField(itemServer, 'serverName');
538
+ if (serverName && nestedToolName)
539
+ return `${serverName}.${nestedToolName}`;
540
+ return getStringField(item, 'name')
541
+ ?? getStringField(item, 'toolName')
542
+ ?? nestedToolName
543
+ ?? method.split('/').at(-1)
544
+ ?? method;
545
+ }
546
+ function getCodexToolInput(params) {
547
+ const item = getCodexItem(params);
548
+ const itemTool = asRecord(item?.tool) ?? asRecord(item?.mcpTool) ?? asRecord(item?.dynamicTool);
549
+ return params.input
550
+ ?? params.arguments
551
+ ?? params.args
552
+ ?? params.command
553
+ ?? item?.input
554
+ ?? item?.arguments
555
+ ?? item?.args
556
+ ?? item?.command
557
+ ?? itemTool?.input
558
+ ?? itemTool?.arguments
559
+ ?? itemTool?.args
560
+ ?? params;
561
+ }
562
+ function getCodexToolOutput(params) {
563
+ const direct = getStringParam(params, 'output')
564
+ ?? getStringParam(params, 'result')
565
+ ?? getStringParam(params, 'message')
566
+ ?? getStringParam(params, 'text');
567
+ if (direct)
568
+ return direct;
569
+ const error = asRecord(params.error);
570
+ const errorMessage = getStringField(error, 'message') ?? getStringField(error, 'detail');
571
+ if (errorMessage)
572
+ return errorMessage;
573
+ const item = getCodexItem(params);
574
+ const itemOutput = getStringField(item, 'output') ?? getStringField(item, 'result');
575
+ if (itemOutput)
576
+ return itemOutput;
577
+ const itemTool = asRecord(item?.tool) ?? asRecord(item?.mcpTool) ?? asRecord(item?.dynamicTool);
578
+ const toolOutput = getStringField(itemTool, 'output') ?? getStringField(itemTool, 'result');
579
+ if (toolOutput)
580
+ return toolOutput;
581
+ const itemError = asRecord(item?.error);
582
+ const itemErrorMessage = getStringField(itemError, 'message') ?? getStringField(itemError, 'detail');
583
+ if (itemErrorMessage)
584
+ return itemErrorMessage;
585
+ const status = getStringField(item, 'status') ?? getStringParam(params, 'status');
586
+ if (status)
587
+ return `Codex item ${status}`;
588
+ return safeJson(params);
589
+ }
590
+ function getCodexTurnStatus(params) {
591
+ const direct = getStringParam(params, 'status');
592
+ if (direct)
593
+ return direct;
594
+ const turn = asRecord(params?.turn);
595
+ const nested = turn?.status;
596
+ return typeof nested === 'string' ? nested : undefined;
597
+ }
598
+ function getCodexErrorMessage(params, fallback) {
599
+ const direct = getStringParam(params, 'message') ?? getStringParam(params, 'errorMessage');
600
+ if (direct)
601
+ return direct;
602
+ const error = asRecord(params?.error);
603
+ const errorMessage = getStringField(error, 'message') ?? getStringField(error, 'detail');
604
+ if (errorMessage)
605
+ return errorMessage;
606
+ const turn = asRecord(params?.turn);
607
+ const turnError = asRecord(turn?.error);
608
+ const turnMessage = getStringField(turnError, 'message')
609
+ ?? getStringField(turnError, 'detail')
610
+ ?? getStringField(turn, 'message');
611
+ if (turnMessage)
612
+ return turnMessage;
613
+ const status = getCodexTurnStatus(params);
614
+ return status ? `${fallback}: ${status}` : fallback;
615
+ }
616
+ function getStringField(record, key) {
617
+ const value = record?.[key];
618
+ return typeof value === 'string' && value ? value : undefined;
619
+ }
620
+ function defaultCodexServerRequestResult(request) {
621
+ if (/requestApproval|approval|permission/i.test(request.method)) {
622
+ return { decision: 'cancel' };
623
+ }
624
+ throw new Error(`Unhandled Codex app-server request: ${request.method}`);
625
+ }
626
+ //# sourceMappingURL=codex-app-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-app-server.js","sourceRoot":"","sources":["../../src/agent-runtime/codex-app-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export * from './claude-code-cli.js';
2
+ export * from './claude-code-sdk.js';
3
+ export * from './codex-app-server.js';
4
+ export * from './run.js';
5
+ //# sourceMappingURL=index.d.ts.map