mcp-codex-worker 0.1.0 → 0.1.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.
package/dist/src/app.js CHANGED
@@ -1,4 +1,6 @@
1
1
  import { createToolDefinitions, } from './mcp/tool-definitions.js';
2
+ import { buildRequestBanner, buildThreadBanner } from './mcp/tool-banners.js';
3
+ import { renderRequestListMarkdown, renderThreadListMarkdown, renderThreadMarkdown, } from './mcp/task-markdown.js';
2
4
  import { OPERATION_POLL_INTERVAL_MS, REQUEST_TIMEOUT_MS } from './config/defaults.js';
3
5
  import { CodexRuntime } from './services/codex-runtime.js';
4
6
  export class CodexWorkerApp {
@@ -10,10 +12,14 @@ export class CodexWorkerApp {
10
12
  async listTools() {
11
13
  try {
12
14
  const modelIds = await this.runtime.listVisibleModelIds();
13
- return createToolDefinitions(modelIds);
15
+ return createToolDefinitions({
16
+ modelIds,
17
+ threadBanner: buildThreadBanner(this.runtime),
18
+ requestBanner: buildRequestBanner(this.runtime),
19
+ });
14
20
  }
15
21
  catch {
16
- return createToolDefinitions([]);
22
+ return createToolDefinitions({ modelIds: [], threadBanner: '', requestBanner: '' });
17
23
  }
18
24
  }
19
25
  listResources() {
@@ -21,8 +27,8 @@ export class CodexWorkerApp {
21
27
  {
22
28
  uri: 'codex://threads',
23
29
  name: 'Codex Threads',
24
- description: 'Latest threads from `thread/list`',
25
- mimeType: 'application/json',
30
+ description: 'All tracked threads with status',
31
+ mimeType: 'text/markdown',
26
32
  },
27
33
  {
28
34
  uri: 'codex://models',
@@ -47,8 +53,8 @@ export class CodexWorkerApp {
47
53
  base.push({
48
54
  uri: `codex://thread/${threadId}`,
49
55
  name: `Thread ${threadId}`,
50
- description: 'Thread from `thread/read`',
51
- mimeType: 'application/json',
56
+ description: 'Thread status and guidance',
57
+ mimeType: 'text/markdown',
52
58
  }, {
53
59
  uri: `codex://thread/${threadId}/events`,
54
60
  name: `Thread ${threadId} events`,
@@ -67,17 +73,14 @@ export class CodexWorkerApp {
67
73
  }
68
74
  }
69
75
  return {
70
- mimeType: 'application/json',
71
- text: JSON.stringify(response, null, 2),
76
+ mimeType: 'text/markdown',
77
+ text: renderThreadListMarkdown(response.data ?? [], this.runtime.getPendingServerRequests(false)),
72
78
  };
73
79
  }
74
80
  if (uri === 'codex://models') {
75
- const response = {
76
- data: await this.runtime.listModels(false),
77
- };
78
81
  return {
79
82
  mimeType: 'application/json',
80
- text: JSON.stringify(response, null, 2),
83
+ text: JSON.stringify({ data: await this.runtime.listModels(false) }, null, 2),
81
84
  };
82
85
  }
83
86
  if (uri === 'codex://account') {
@@ -117,8 +120,8 @@ export class CodexWorkerApp {
117
120
  includeTurns: true,
118
121
  });
119
122
  return {
120
- mimeType: 'application/json',
121
- text: JSON.stringify(response, null, 2),
123
+ mimeType: 'text/markdown',
124
+ text: renderThreadMarkdown(response, this.runtime.getOperationsForThread(threadId), this.runtime.getPendingServerRequests(false)),
122
125
  };
123
126
  }
124
127
  return {
@@ -134,43 +137,25 @@ export class CodexWorkerApp {
134
137
  }
135
138
  const validated = tool.validate(args ?? {});
136
139
  switch (name) {
137
- case 'thread-start':
140
+ case 'codex-thread-start':
138
141
  return this.handleThreadStart(validated);
139
- case 'thread-resume':
142
+ case 'codex-thread-resume':
140
143
  return this.handleThreadResume(validated);
141
- case 'thread-read':
144
+ case 'codex-thread-read':
142
145
  return this.handleThreadRead(validated);
143
- case 'thread-list':
146
+ case 'codex-thread-list':
144
147
  return this.handleThreadList(validated);
145
- case 'turn-start':
148
+ case 'codex-turn-start':
146
149
  return this.handleTurnStart(validated);
147
- case 'turn-steer':
150
+ case 'codex-turn-steer':
148
151
  return this.handleTurnSteer(validated);
149
- case 'turn-interrupt':
152
+ case 'codex-turn-interrupt':
150
153
  return this.handleTurnInterrupt(validated);
151
- case 'model-list':
152
- return JSON.stringify({
153
- data: await this.runtime.listModels(false),
154
- }, null, 2);
155
- case 'account-read':
156
- return JSON.stringify(await this.runtime.request('account/read', {}), null, 2);
157
- case 'account-rate-limits-read':
158
- return JSON.stringify(await this.runtime.request('account/rateLimits/read', {}), null, 2);
159
- case 'skills-list':
160
- return JSON.stringify(await this.runtime.request('skills/list', {}), null, 2);
161
- case 'app-list':
162
- return JSON.stringify(await this.runtime.request('app/list', {}), null, 2);
163
- case 'request-list':
164
- return JSON.stringify({
165
- requests: this.runtime.getPendingServerRequests(Boolean(validated.include_resolved)),
166
- }, null, 2);
167
- case 'request-read':
168
- return JSON.stringify({
169
- request: this.runtime.getPendingServerRequest(validated.request_id) ?? null,
170
- }, null, 2);
171
- case 'request-respond':
154
+ case 'codex-request-list':
155
+ return renderRequestListMarkdown(this.runtime.getPendingServerRequests(Boolean(validated.include_resolved)));
156
+ case 'codex-request-respond':
172
157
  return this.handleRequestRespond(validated);
173
- case 'wait':
158
+ case 'codex-wait':
174
159
  return this.handleWait(validated);
175
160
  default:
176
161
  throw new Error(`Unhandled tool: ${name}`);
@@ -187,11 +172,17 @@ export class CodexWorkerApp {
187
172
  if (threadId) {
188
173
  this.runtime.rememberThreadId(threadId);
189
174
  }
190
- return JSON.stringify({
191
- method: 'thread/start',
192
- remapped_from: built.remappedFrom,
193
- result: response,
194
- }, null, 2);
175
+ const remapNote = built.remappedFrom ? ` (remapped from ${built.remappedFrom})` : '';
176
+ return [
177
+ `**Thread started**`,
178
+ `thread_id: \`${threadId ?? 'unknown'}\``,
179
+ `model: \`${built.params.model}\`${remapNote}`,
180
+ '',
181
+ '**What to do next:**',
182
+ `- Use \`codex-turn-start\` with \`thread_id: "${threadId}"\` to send the agent its task.`,
183
+ '- After starting a turn, use `codex-wait` with `operation_id` to block until it finishes or asks for approval.',
184
+ '- Check `codex-request-list` after starting turns -- agents often need approval for commands or file changes.',
185
+ ].join('\n');
195
186
  }
196
187
  async handleThreadResume(input) {
197
188
  const built = await this.runtime.buildThreadResumeParams({
@@ -200,13 +191,16 @@ export class CodexWorkerApp {
200
191
  cwd: input.cwd,
201
192
  developerInstructions: input.developer_instructions,
202
193
  });
203
- const response = await this.runtime.request('thread/resume', built.params);
194
+ await this.runtime.request('thread/resume', built.params);
204
195
  this.runtime.rememberThreadId(input.thread_id);
205
- return JSON.stringify({
206
- method: 'thread/resume',
207
- remapped_from: built.remappedFrom,
208
- result: response,
209
- }, null, 2);
196
+ return [
197
+ `**Thread resumed**`,
198
+ `thread_id: \`${input.thread_id}\``,
199
+ '',
200
+ '**What to do next:**',
201
+ '- Use `codex-turn-start` to send a new task to this thread.',
202
+ '- The thread\'s previous context is loaded -- the agent remembers prior conversation.',
203
+ ].join('\n');
210
204
  }
211
205
  async handleThreadRead(input) {
212
206
  const response = await this.runtime.request('thread/read', {
@@ -214,7 +208,7 @@ export class CodexWorkerApp {
214
208
  includeTurns: input.include_turns ?? true,
215
209
  });
216
210
  this.runtime.rememberThreadId(input.thread_id);
217
- return JSON.stringify(response, null, 2);
211
+ return renderThreadMarkdown(response, this.runtime.getOperationsForThread(input.thread_id), this.runtime.getPendingServerRequests(false));
218
212
  }
219
213
  async handleThreadList(input) {
220
214
  const response = await this.runtime.request('thread/list', {
@@ -226,7 +220,7 @@ export class CodexWorkerApp {
226
220
  this.runtime.rememberThreadId(row.id);
227
221
  }
228
222
  }
229
- return JSON.stringify(response, null, 2);
223
+ return renderThreadListMarkdown(response.data ?? [], this.runtime.getPendingServerRequests(false));
230
224
  }
231
225
  async handleTurnStart(input) {
232
226
  const built = await this.runtime.buildTurnStartParams({
@@ -238,11 +232,44 @@ export class CodexWorkerApp {
238
232
  const bridged = await this.runtime.requestWithBridge('turn/start', built.params, {
239
233
  threadId: input.thread_id,
240
234
  });
241
- return JSON.stringify({
242
- method: 'turn/start',
243
- remapped_from: built.remappedFrom,
244
- ...bridged,
245
- }, null, 2);
235
+ const remapNote = built.remappedFrom ? ` (remapped from ${built.remappedFrom})` : '';
236
+ const header = [
237
+ `thread_id: \`${input.thread_id}\``,
238
+ `operation_id: \`${bridged.operationId}\`${remapNote}`,
239
+ ];
240
+ if (bridged.status === 'pending_request') {
241
+ const reqCount = bridged.pendingRequestIds?.length ?? 0;
242
+ return [
243
+ `**Turn started -- approval needed**`,
244
+ ...header,
245
+ `pending_requests: ${reqCount}`,
246
+ '',
247
+ '**ACTION REQUIRED:**',
248
+ 'The agent needs approval before it can proceed. Use `codex-request-list` to see what it needs, then `codex-request-respond` to approve or decline.',
249
+ '',
250
+ '**After approving:**',
251
+ `Use \`codex-wait\` with \`operation_id: "${bridged.operationId}"\` to block until the turn completes.`,
252
+ ].join('\n');
253
+ }
254
+ if (bridged.status === 'completed') {
255
+ return [
256
+ `**Turn completed**`,
257
+ ...header,
258
+ '',
259
+ '**What to do next:**',
260
+ `- Use \`codex-thread-read\` with \`thread_id: "${input.thread_id}"\` to inspect the agent's output and file changes.`,
261
+ '- Use `codex-turn-start` to send follow-up instructions.',
262
+ ].join('\n');
263
+ }
264
+ return [
265
+ `**Turn started -- agent working**`,
266
+ ...header,
267
+ '',
268
+ '**What to do next:**',
269
+ `- Use \`codex-wait\` with \`operation_id: "${bridged.operationId}"\` to block until the agent finishes or asks for approval.`,
270
+ '- Check `codex-request-list` for any pending approvals.',
271
+ '- For parallel work, start turns on other threads now.',
272
+ ].join('\n');
246
273
  }
247
274
  async handleTurnSteer(input) {
248
275
  const params = this.runtime.buildTurnSteerParams({
@@ -253,17 +280,27 @@ export class CodexWorkerApp {
253
280
  const bridged = await this.runtime.requestWithBridge('turn/steer', params, {
254
281
  threadId: input.thread_id,
255
282
  });
256
- return JSON.stringify({
257
- method: 'turn/steer',
258
- ...bridged,
259
- }, null, 2);
283
+ return [
284
+ `**Turn steered**`,
285
+ `thread_id: \`${input.thread_id}\``,
286
+ `operation_id: \`${bridged.operationId}\``,
287
+ '',
288
+ 'The agent is adjusting course with your new instructions.',
289
+ `Use \`codex-wait\` with \`operation_id: "${bridged.operationId}"\` to block until it finishes.`,
290
+ ].join('\n');
260
291
  }
261
292
  async handleTurnInterrupt(input) {
262
- const response = await this.runtime.request('turn/interrupt', {
293
+ await this.runtime.request('turn/interrupt', {
263
294
  threadId: input.thread_id,
264
295
  turnId: input.turn_id,
265
296
  });
266
- return JSON.stringify(response, null, 2);
297
+ return [
298
+ `**Turn interrupted**`,
299
+ `thread_id: \`${input.thread_id}\``,
300
+ `turn_id: \`${input.turn_id}\``,
301
+ '',
302
+ 'The turn has been stopped. Use `codex-turn-start` to begin a new turn with corrected instructions.',
303
+ ].join('\n');
267
304
  }
268
305
  async handleRequestRespond(input) {
269
306
  const pending = this.runtime.getPendingServerRequest(input.request_id);
@@ -272,19 +309,53 @@ export class CodexWorkerApp {
272
309
  }
273
310
  const payload = this.buildServerRequestPayload(pending.method, input);
274
311
  await this.runtime.respondToServerRequest(input.request_id, payload);
275
- return JSON.stringify({
276
- request_id: input.request_id,
277
- method: pending.method,
278
- payload,
279
- status: 'responded',
280
- }, null, 2);
312
+ return [
313
+ `**Request responded**`,
314
+ `request_id: \`${String(input.request_id)}\``,
315
+ `method: \`${pending.method}\``,
316
+ '',
317
+ '**What to do next:**',
318
+ '- The agent will continue working. Use `codex-wait` to block until it finishes or needs another approval.',
319
+ '- Check `codex-request-list` for any remaining pending requests.',
320
+ ].join('\n');
281
321
  }
282
322
  async handleWait(input) {
283
323
  const timeoutMs = input.timeout_ms ?? REQUEST_TIMEOUT_MS;
284
324
  const pollIntervalMs = input.poll_interval_ms ?? OPERATION_POLL_INTERVAL_MS;
285
325
  if (input.operation_id) {
286
326
  const operation = await this.runtime.waitForOperation(input.operation_id, timeoutMs, pollIntervalMs);
287
- return JSON.stringify(operation, null, 2);
327
+ const threadId = operation.threadId ?? 'unknown';
328
+ if (operation.status === 'failed') {
329
+ return [
330
+ `**Operation failed**`,
331
+ `operation_id: \`${operation.operationId}\``,
332
+ `error: ${operation.error ?? 'unknown error'}`,
333
+ '',
334
+ '**What to do next:**',
335
+ `- Use \`codex-thread-read\` with \`thread_id: "${threadId}"\` to inspect what happened.`,
336
+ '- Fix the issue and use `codex-turn-start` to retry.',
337
+ ].join('\n');
338
+ }
339
+ if (operation.pendingRequestIds.length > 0) {
340
+ return [
341
+ `**Operation paused -- approval needed**`,
342
+ `operation_id: \`${operation.operationId}\``,
343
+ `pending_requests: ${operation.pendingRequestIds.length}`,
344
+ '',
345
+ '**ACTION REQUIRED:**',
346
+ 'Use `codex-request-list` to see what the agent needs, then `codex-request-respond` to approve.',
347
+ `After approving, call \`codex-wait\` again with \`operation_id: "${operation.operationId}"\`.`,
348
+ ].join('\n');
349
+ }
350
+ return [
351
+ `**Operation completed**`,
352
+ `operation_id: \`${operation.operationId}\``,
353
+ `thread_id: \`${threadId}\``,
354
+ '',
355
+ '**What to do next:**',
356
+ `- Use \`codex-thread-read\` with \`thread_id: "${threadId}"\` to inspect the agent's output.`,
357
+ '- Use `codex-turn-start` to send follow-up instructions.',
358
+ ].join('\n');
288
359
  }
289
360
  if (input.thread_id) {
290
361
  const start = Date.now();
@@ -295,20 +366,21 @@ export class CodexWorkerApp {
295
366
  });
296
367
  const statusType = response.thread?.status?.type;
297
368
  if (statusType !== 'active') {
298
- return JSON.stringify({
299
- thread_id: input.thread_id,
300
- status: statusType ?? 'unknown',
301
- thread: response.thread ?? null,
302
- }, null, 2);
369
+ return [
370
+ `**Thread idle**`,
371
+ `thread_id: \`${input.thread_id}\``,
372
+ `status: \`${statusType ?? 'unknown'}\``,
373
+ '',
374
+ '**What to do next:**',
375
+ `- Use \`codex-thread-read\` with \`thread_id: "${input.thread_id}"\` to review the agent's work.`,
376
+ '- Use `codex-turn-start` to send another task.',
377
+ ].join('\n');
303
378
  }
304
379
  await new Promise((resolve) => setTimeout(resolve, pollIntervalMs));
305
380
  }
306
381
  throw new Error(`Timed out waiting for thread ${input.thread_id}`);
307
382
  }
308
- return JSON.stringify({
309
- requests: this.runtime.getPendingServerRequests(false),
310
- operations: [],
311
- }, null, 2);
383
+ return renderRequestListMarkdown(this.runtime.getPendingServerRequests(false));
312
384
  }
313
385
  buildServerRequestPayload(method, input) {
314
386
  if (input.payload) {
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/app.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { PendingServerRequest, RuntimeOperation } from '../types/codex.js';
2
+ export declare function renderThreadMarkdown(raw: unknown, operations: RuntimeOperation[], pendingRequests: PendingServerRequest[]): string;
3
+ export declare function renderThreadListMarkdown(rawThreads: unknown[], pendingRequests: PendingServerRequest[]): string;
4
+ export declare function renderRequestListMarkdown(requests: PendingServerRequest[]): string;
@@ -0,0 +1,107 @@
1
+ function extractThread(raw) {
2
+ const obj = (raw ?? {});
3
+ const thread = (obj.thread ?? obj);
4
+ return {
5
+ id: typeof thread.id === 'string' ? thread.id : undefined,
6
+ status: thread.status,
7
+ model: typeof thread.model === 'string' ? thread.model : undefined,
8
+ createdAt: typeof thread.createdAt === 'string' ? thread.createdAt : undefined,
9
+ };
10
+ }
11
+ function requestsForThread(requests, threadId) {
12
+ if (!threadId)
13
+ return requests;
14
+ return requests.filter((r) => {
15
+ const params = r.params;
16
+ return params?.threadId === threadId;
17
+ });
18
+ }
19
+ export function renderThreadMarkdown(raw, operations, pendingRequests) {
20
+ const thread = extractThread(raw);
21
+ const threadId = thread.id ?? 'unknown';
22
+ const statusType = thread.status?.type ?? 'unknown';
23
+ const threadRequests = requestsForThread(pendingRequests, thread.id);
24
+ const lines = [
25
+ `# Thread: ${threadId}`,
26
+ '',
27
+ '| Field | Value |',
28
+ '|---|---|',
29
+ `| **Status** | \`${statusType}\` |`,
30
+ ...(thread.model ? [`| **Model** | \`${thread.model}\` |`] : []),
31
+ ...(thread.createdAt ? [`| **Created** | ${thread.createdAt} |`] : []),
32
+ '',
33
+ ];
34
+ if (operations.length > 0) {
35
+ lines.push('## Operations', '');
36
+ for (const op of operations) {
37
+ const time = op.completedAt ?? op.startedAt;
38
+ lines.push(`- \`${op.operationId}\` [${op.status}] ${op.method} -- ${time}`);
39
+ }
40
+ lines.push('');
41
+ }
42
+ if (threadRequests.length > 0) {
43
+ lines.push(`## Pending Requests (${threadRequests.length})`, '');
44
+ for (const req of threadRequests) {
45
+ lines.push(`### ${String(req.id)} (${req.method})`);
46
+ lines.push(`Use \`codex-request-respond\` with \`request_id: "${String(req.id)}"\` and \`decision: "accept"\`.`);
47
+ lines.push('');
48
+ }
49
+ }
50
+ lines.push('## What to do next', '');
51
+ if (threadRequests.length > 0) {
52
+ lines.push(`**ACTION REQUIRED** -- ${threadRequests.length} pending request(s) need your response. Use \`codex-request-list\` to see details, then \`codex-request-respond\` to approve or decline.`);
53
+ }
54
+ else if (statusType === 'active') {
55
+ lines.push(`The agent is still working. Use \`codex-wait\` with \`thread_id: "${threadId}"\` to block until it finishes or needs approval.`);
56
+ }
57
+ else if (statusType === 'idle' || statusType === 'completed') {
58
+ lines.push(`Thread is idle. Use \`codex-turn-start\` to send a new task, or \`codex-thread-read\` with \`include_turns: true\` for full conversation history.`);
59
+ }
60
+ else {
61
+ lines.push(`Use \`codex-thread-resume\` to reload this thread before starting a turn.`);
62
+ }
63
+ return lines.join('\n');
64
+ }
65
+ export function renderThreadListMarkdown(rawThreads, pendingRequests) {
66
+ const threads = rawThreads.map(extractThread);
67
+ const lines = [
68
+ `# Threads (${threads.length} total)`,
69
+ '',
70
+ '| ID | Status |',
71
+ '|---|---|',
72
+ ...threads.map((t) => `| ${t.id ?? 'unknown'} | ${t.status?.type ?? 'unknown'} |`),
73
+ ];
74
+ const pending = pendingRequests.filter((r) => r.status === 'pending');
75
+ if (pending.length > 0) {
76
+ lines.push('', `## Pending Requests (${pending.length})`, '');
77
+ for (const req of pending) {
78
+ const params = req.params;
79
+ const tid = typeof params?.threadId === 'string' ? params.threadId : '?';
80
+ lines.push(`- ${tid} / ${String(req.id)}: ${req.method}`);
81
+ }
82
+ }
83
+ return lines.join('\n');
84
+ }
85
+ export function renderRequestListMarkdown(requests) {
86
+ const pending = requests.filter((r) => r.status === 'pending');
87
+ if (pending.length === 0) {
88
+ return [
89
+ '**No pending requests**',
90
+ '',
91
+ 'All agents are running without needing approval.',
92
+ ].join('\n');
93
+ }
94
+ const lines = [
95
+ `# Pending Requests (${pending.length})`,
96
+ '',
97
+ '| Request ID | Method | Created |',
98
+ '|---|---|---|',
99
+ ...pending.map((r) => `| ${String(r.id)} | ${r.method} | ${r.createdAt} |`),
100
+ '',
101
+ '## How to respond',
102
+ '',
103
+ 'Use `codex-request-respond` with the `request_id` and `decision: "accept"` to approve, or `decision: "decline"` to reject.',
104
+ ];
105
+ return lines.join('\n');
106
+ }
107
+ //# sourceMappingURL=task-markdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-markdown.js","sourceRoot":"","sources":["../../../src/mcp/task-markdown.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { CodexRuntime } from '../services/codex-runtime.js';
2
+ export declare function buildThreadBanner(runtime: CodexRuntime): string;
3
+ export declare function buildRequestBanner(runtime: CodexRuntime): string;
@@ -0,0 +1,44 @@
1
+ export function buildThreadBanner(runtime) {
2
+ const threadIds = runtime.listKnownThreadIds();
3
+ if (threadIds.length === 0) {
4
+ return '';
5
+ }
6
+ const operations = runtime.getAllOperations();
7
+ const requests = runtime.getPendingServerRequests(false);
8
+ const active = operations.filter((op) => op.status === 'running').length;
9
+ const pending = requests.length;
10
+ const lines = [
11
+ '---',
12
+ `AGENT STATUS: ${active} active | ${pending} pending requests`,
13
+ ];
14
+ for (const threadId of threadIds.slice(-3)) {
15
+ const threadOps = operations.filter((op) => op.threadId === threadId);
16
+ const threadReqs = requests.filter((r) => {
17
+ const params = r.params;
18
+ return params?.threadId === threadId;
19
+ });
20
+ const status = threadOps.some((op) => op.status === 'running') ? 'active' : 'idle';
21
+ const reqNote = threadReqs.length > 0 ? ` -- ${threadReqs.length} pending requests` : '';
22
+ lines.push(`- ${threadId} [${status}]${reqNote}`);
23
+ }
24
+ lines.push('Read codex://threads for full details.');
25
+ return lines.join('\n');
26
+ }
27
+ export function buildRequestBanner(runtime) {
28
+ const requests = runtime.getPendingServerRequests(false);
29
+ if (requests.length === 0) {
30
+ return '';
31
+ }
32
+ const lines = [
33
+ '---',
34
+ `ACTION REQUIRED -- ${requests.length} request(s) waiting for your response:`,
35
+ ];
36
+ for (const req of requests.slice(0, 5)) {
37
+ const params = req.params;
38
+ const threadId = typeof params?.threadId === 'string' ? params.threadId : '?';
39
+ lines.push(`- ${String(req.id)} (${threadId}): ${req.method}`);
40
+ }
41
+ lines.push('Use codex-request-respond { "request_id": "<id>", "decision": "accept" }');
42
+ return lines.join('\n');
43
+ }
44
+ //# sourceMappingURL=tool-banners.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-banners.js","sourceRoot":"","sources":["../../../src/mcp/tool-banners.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,iBAAiB,CAAC,OAAqB;IACrD,MAAM,SAAS,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAC/C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IACzE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC;IAEhC,MAAM,KAAK,GAAG;QACZ,KAAK;QACL,iBAAiB,MAAM,aAAa,OAAO,mBAAmB;KAC/D,CAAC;IAEF,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACvC,MAAM,MAAM,GAAG,CAAC,CAAC,MAA6C,CAAC;YAC/D,OAAO,MAAM,EAAE,QAAQ,KAAK,QAAQ,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QACnF,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,UAAU,CAAC,MAAM,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,KAAK,MAAM,IAAI,OAAO,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IACrD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAqB;IACtD,MAAM,QAAQ,GAAG,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACzD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,KAAK;QACL,sBAAsB,QAAQ,CAAC,MAAM,wCAAwC;KAC9E,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,GAAG,CAAC,MAA6C,CAAC;QACjE,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;QAC9E,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,QAAQ,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;IACvF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -91,13 +91,6 @@ declare const requestListSchema: z.ZodObject<{
91
91
  }, {
92
92
  include_resolved?: boolean | undefined;
93
93
  }>;
94
- declare const requestReadSchema: z.ZodObject<{
95
- request_id: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
96
- }, "strip", z.ZodTypeAny, {
97
- request_id: string | number;
98
- }, {
99
- request_id: string | number;
100
- }>;
101
94
  declare const requestRespondSchema: z.ZodObject<{
102
95
  request_id: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
103
96
  payload: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
@@ -165,7 +158,12 @@ export interface ToolDefinition {
165
158
  };
166
159
  validate: (value: unknown) => unknown;
167
160
  }
168
- export declare function createToolDefinitions(modelIds: string[]): ToolDefinition[];
161
+ export interface CreateToolDefinitionsInput {
162
+ modelIds: string[];
163
+ threadBanner: string;
164
+ requestBanner: string;
165
+ }
166
+ export declare function createToolDefinitions(input: CreateToolDefinitionsInput): ToolDefinition[];
169
167
  export type ThreadStartInput = z.infer<typeof threadStartSchema>;
170
168
  export type ThreadResumeInput = z.infer<typeof threadResumeSchema>;
171
169
  export type ThreadReadInput = z.infer<typeof threadReadSchema>;
@@ -174,7 +172,6 @@ export type TurnStartInput = z.infer<typeof turnStartSchema>;
174
172
  export type TurnSteerInput = z.infer<typeof turnSteerSchema>;
175
173
  export type TurnInterruptInput = z.infer<typeof turnInterruptSchema>;
176
174
  export type RequestListInput = z.infer<typeof requestListSchema>;
177
- export type RequestReadInput = z.infer<typeof requestReadSchema>;
178
175
  export type RequestRespondInput = z.infer<typeof requestRespondSchema>;
179
176
  export type WaitInput = z.infer<typeof waitSchema>;
180
177
  export {};