mcp-codex-worker 0.1.13 → 0.1.14
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.d.ts +9 -0
- package/dist/src/app.js +368 -2
- package/dist/src/app.js.map +1 -1
- package/dist/src/execution/codex-adapter.d.ts +2 -1
- package/dist/src/execution/codex-adapter.js +73 -2
- package/dist/src/execution/codex-adapter.js.map +1 -1
- package/dist/src/index.js +13 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/tool-definitions.js +10 -4
- package/dist/src/mcp/tool-definitions.js.map +1 -1
- package/package.json +1 -1
- package/src/app.ts +435 -2
- package/src/execution/codex-adapter.ts +95 -5
- package/src/index.ts +15 -0
- package/src/mcp/tool-definitions.ts +10 -4
package/dist/src/app.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type ToolDefinition } from './mcp/tool-definitions.js';
|
|
2
|
+
import { TaskManager } from './task/task-manager.js';
|
|
2
3
|
export interface ResourceDefinition {
|
|
3
4
|
uri: string;
|
|
4
5
|
name: string;
|
|
@@ -7,7 +8,10 @@ export interface ResourceDefinition {
|
|
|
7
8
|
}
|
|
8
9
|
export declare class CodexWorkerApp {
|
|
9
10
|
private readonly runtime;
|
|
11
|
+
private taskManager;
|
|
12
|
+
private registry;
|
|
10
13
|
initialize(): Promise<void>;
|
|
14
|
+
getTaskManager(): TaskManager;
|
|
11
15
|
shutdown(): Promise<void>;
|
|
12
16
|
listTools(): Promise<ToolDefinition[]>;
|
|
13
17
|
listResources(): ResourceDefinition[];
|
|
@@ -25,5 +29,10 @@ export declare class CodexWorkerApp {
|
|
|
25
29
|
private handleTurnInterrupt;
|
|
26
30
|
private handleRequestRespond;
|
|
27
31
|
private handleWait;
|
|
32
|
+
private handleSpawnTask;
|
|
33
|
+
private handleWaitTask;
|
|
34
|
+
private handleRespondTask;
|
|
35
|
+
private handleMessageTask;
|
|
36
|
+
private handleCancelTask;
|
|
28
37
|
private buildServerRequestPayload;
|
|
29
38
|
}
|
package/dist/src/app.js
CHANGED
|
@@ -1,11 +1,32 @@
|
|
|
1
1
|
import { createToolDefinitions, } from './mcp/tool-definitions.js';
|
|
2
2
|
import { buildRequestBanner, buildThreadBanner } from './mcp/tool-banners.js';
|
|
3
3
|
import { renderRequestListMarkdown, renderThreadListMarkdown, renderThreadMarkdown, } from './mcp/task-markdown.js';
|
|
4
|
-
import { OPERATION_POLL_INTERVAL_MS, REQUEST_TIMEOUT_MS } from './config/defaults.js';
|
|
4
|
+
import { OPERATION_BRIDGE_TIMEOUT_MS, OPERATION_POLL_INTERVAL_MS, REQUEST_TIMEOUT_MS } from './config/defaults.js';
|
|
5
5
|
import { CodexRuntime } from './services/codex-runtime.js';
|
|
6
|
+
import { TaskManager } from './task/task-manager.js';
|
|
7
|
+
import { TaskStatus, isTerminalStatus } from './task/task-state.js';
|
|
8
|
+
import { ProviderRegistry } from './execution/provider-registry.js';
|
|
9
|
+
import { CodexAdapter } from './execution/codex-adapter.js';
|
|
10
|
+
import { mapToWireState } from './task/wire-state-mapper.js';
|
|
11
|
+
import { computePollFrequency } from './mcp/sep1686-handlers.js';
|
|
12
|
+
import { renderScoreboard, renderTaskDetail, renderSummaryLog, renderVerboseLog, } from './mcp/resource-renderers.js';
|
|
13
|
+
import { validateResponseAgainstCapabilities } from './execution/provider-capabilities.js';
|
|
6
14
|
export class CodexWorkerApp {
|
|
7
15
|
runtime = new CodexRuntime();
|
|
8
|
-
|
|
16
|
+
taskManager;
|
|
17
|
+
registry;
|
|
18
|
+
async initialize() {
|
|
19
|
+
// Create TaskManager (in-memory only for now)
|
|
20
|
+
this.taskManager = new TaskManager({ persistenceRoot: undefined });
|
|
21
|
+
// Create ProviderRegistry and register the Codex adapter
|
|
22
|
+
this.registry = new ProviderRegistry();
|
|
23
|
+
const codexAdapter = new CodexAdapter({});
|
|
24
|
+
this.registry.register(codexAdapter);
|
|
25
|
+
this.registry.setDefault('codex');
|
|
26
|
+
}
|
|
27
|
+
getTaskManager() {
|
|
28
|
+
return this.taskManager;
|
|
29
|
+
}
|
|
9
30
|
async shutdown() {
|
|
10
31
|
await this.runtime.shutdown();
|
|
11
32
|
}
|
|
@@ -49,6 +70,44 @@ export class CodexWorkerApp {
|
|
|
49
70
|
mimeType: 'application/json',
|
|
50
71
|
},
|
|
51
72
|
];
|
|
73
|
+
// Task tracking resources
|
|
74
|
+
base.push({
|
|
75
|
+
uri: 'task:///all',
|
|
76
|
+
name: 'Task Scoreboard',
|
|
77
|
+
description: 'Compact overview of all tracked tasks with status badges',
|
|
78
|
+
mimeType: 'text/plain',
|
|
79
|
+
}, {
|
|
80
|
+
uri: 'task:///{id}',
|
|
81
|
+
name: 'Task Detail',
|
|
82
|
+
description: 'Full detail view for a specific task (template: replace {id})',
|
|
83
|
+
mimeType: 'text/markdown',
|
|
84
|
+
}, {
|
|
85
|
+
uri: 'task:///{id}/log',
|
|
86
|
+
name: 'Task Summary Log',
|
|
87
|
+
description: 'Last 20 output lines for a task (template: replace {id})',
|
|
88
|
+
mimeType: 'text/plain',
|
|
89
|
+
}, {
|
|
90
|
+
uri: 'task:///{id}/log.verbose',
|
|
91
|
+
name: 'Task Verbose Log',
|
|
92
|
+
description: 'Full output log for a task (template: replace {id})',
|
|
93
|
+
mimeType: 'text/plain',
|
|
94
|
+
});
|
|
95
|
+
// Dynamic task detail resources for known tasks
|
|
96
|
+
if (this.taskManager) {
|
|
97
|
+
for (const task of this.taskManager.getAllTasks()) {
|
|
98
|
+
base.push({
|
|
99
|
+
uri: `task:///${task.id}`,
|
|
100
|
+
name: `Task ${task.id}`,
|
|
101
|
+
description: `Task detail: ${task.prompt.slice(0, 50)}`,
|
|
102
|
+
mimeType: 'text/markdown',
|
|
103
|
+
}, {
|
|
104
|
+
uri: `task:///${task.id}/log`,
|
|
105
|
+
name: `Task ${task.id} log`,
|
|
106
|
+
description: 'Summary log for this task',
|
|
107
|
+
mimeType: 'text/plain',
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}
|
|
52
111
|
for (const threadId of this.runtime.listKnownThreadIds()) {
|
|
53
112
|
base.push({
|
|
54
113
|
uri: `codex://thread/${threadId}`,
|
|
@@ -65,6 +124,45 @@ export class CodexWorkerApp {
|
|
|
65
124
|
return base;
|
|
66
125
|
}
|
|
67
126
|
async readResource(uri) {
|
|
127
|
+
// ---- Task tracking resources ----
|
|
128
|
+
if (uri === 'task:///all') {
|
|
129
|
+
return {
|
|
130
|
+
mimeType: 'text/plain',
|
|
131
|
+
text: renderScoreboard(this.taskManager.getAllTasks()),
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
const taskVerboseLogMatch = /^task:\/\/\/([^/]+)\/log\.verbose$/.exec(uri);
|
|
135
|
+
if (taskVerboseLogMatch) {
|
|
136
|
+
const taskId = decodeURIComponent(taskVerboseLogMatch[1]);
|
|
137
|
+
const task = this.taskManager.getTask(taskId);
|
|
138
|
+
if (!task) {
|
|
139
|
+
return { mimeType: 'text/plain', text: `Task not found: ${taskId}` };
|
|
140
|
+
}
|
|
141
|
+
return { mimeType: 'text/plain', text: renderVerboseLog(task) };
|
|
142
|
+
}
|
|
143
|
+
const taskSummaryLogMatch = /^task:\/\/\/([^/]+)\/log$/.exec(uri);
|
|
144
|
+
if (taskSummaryLogMatch) {
|
|
145
|
+
const taskId = decodeURIComponent(taskSummaryLogMatch[1]);
|
|
146
|
+
const task = this.taskManager.getTask(taskId);
|
|
147
|
+
if (!task) {
|
|
148
|
+
return { mimeType: 'text/plain', text: `Task not found: ${taskId}` };
|
|
149
|
+
}
|
|
150
|
+
return { mimeType: 'text/plain', text: renderSummaryLog(task) };
|
|
151
|
+
}
|
|
152
|
+
const taskDetailMatch = /^task:\/\/\/([^/]+)$/.exec(uri);
|
|
153
|
+
if (taskDetailMatch) {
|
|
154
|
+
const taskId = decodeURIComponent(taskDetailMatch[1]);
|
|
155
|
+
// Skip the template placeholder
|
|
156
|
+
if (taskId === '{id}') {
|
|
157
|
+
return { mimeType: 'text/markdown', text: 'Provide a real task ID in place of {id}.' };
|
|
158
|
+
}
|
|
159
|
+
const task = this.taskManager.getTask(taskId);
|
|
160
|
+
if (!task) {
|
|
161
|
+
return { mimeType: 'text/markdown', text: `Task not found: ${taskId}` };
|
|
162
|
+
}
|
|
163
|
+
return { mimeType: 'text/markdown', text: renderTaskDetail(task) };
|
|
164
|
+
}
|
|
165
|
+
// ---- Legacy codex:// resources ----
|
|
68
166
|
if (uri === 'codex://threads') {
|
|
69
167
|
const response = await this.runtime.request('thread/list', { limit: 50 });
|
|
70
168
|
for (const row of response.data ?? []) {
|
|
@@ -157,6 +255,16 @@ export class CodexWorkerApp {
|
|
|
157
255
|
return this.handleRequestRespond(validated);
|
|
158
256
|
case 'codex-wait':
|
|
159
257
|
return this.handleWait(validated);
|
|
258
|
+
case 'spawn-task':
|
|
259
|
+
return this.handleSpawnTask(validated);
|
|
260
|
+
case 'wait-task':
|
|
261
|
+
return this.handleWaitTask(validated);
|
|
262
|
+
case 'respond-task':
|
|
263
|
+
return this.handleRespondTask(validated);
|
|
264
|
+
case 'message-task':
|
|
265
|
+
return this.handleMessageTask(validated);
|
|
266
|
+
case 'cancel-task':
|
|
267
|
+
return this.handleCancelTask(validated);
|
|
160
268
|
default:
|
|
161
269
|
throw new Error(`Unhandled tool: ${name}`);
|
|
162
270
|
}
|
|
@@ -385,6 +493,264 @@ export class CodexWorkerApp {
|
|
|
385
493
|
}
|
|
386
494
|
return renderRequestListMarkdown(this.runtime.getPendingServerRequests(false));
|
|
387
495
|
}
|
|
496
|
+
// ---------------------------------------------------------------------------
|
|
497
|
+
// New unified task tool handlers
|
|
498
|
+
// ---------------------------------------------------------------------------
|
|
499
|
+
async handleSpawnTask(input) {
|
|
500
|
+
const provider = input.provider ?? 'codex';
|
|
501
|
+
const taskType = input.task_type ?? 'coder';
|
|
502
|
+
// 1. Create the task
|
|
503
|
+
const createInput = {
|
|
504
|
+
prompt: input.prompt,
|
|
505
|
+
cwd: input.cwd ?? process.cwd(),
|
|
506
|
+
provider,
|
|
507
|
+
taskType,
|
|
508
|
+
};
|
|
509
|
+
if (input.model !== undefined)
|
|
510
|
+
createInput.model = input.model;
|
|
511
|
+
if (input.timeout_ms !== undefined)
|
|
512
|
+
createInput.timeoutMs = input.timeout_ms;
|
|
513
|
+
if (input.labels !== undefined)
|
|
514
|
+
createInput.labels = input.labels;
|
|
515
|
+
if (input.depends_on !== undefined)
|
|
516
|
+
createInput.dependsOn = input.depends_on;
|
|
517
|
+
const task = this.taskManager.createTask(createInput);
|
|
518
|
+
// 2. Get handle
|
|
519
|
+
const handle = this.taskManager.getHandle(task.id);
|
|
520
|
+
if (!handle) {
|
|
521
|
+
throw new Error(`Failed to get handle for task ${task.id}`);
|
|
522
|
+
}
|
|
523
|
+
// 3. Get adapter
|
|
524
|
+
const adapter = this.registry.getAdapter(provider) ?? this.registry.selectForTaskType(taskType);
|
|
525
|
+
if (!adapter) {
|
|
526
|
+
throw new Error(`No provider adapter available for ${provider}/${taskType}`);
|
|
527
|
+
}
|
|
528
|
+
// 4. Build spawn options
|
|
529
|
+
const spawnOptions = {
|
|
530
|
+
taskId: task.id,
|
|
531
|
+
prompt: input.prompt,
|
|
532
|
+
cwd: input.cwd ?? process.cwd(),
|
|
533
|
+
timeout: input.timeout_ms ?? 0,
|
|
534
|
+
};
|
|
535
|
+
if (input.model !== undefined)
|
|
536
|
+
spawnOptions.model = input.model;
|
|
537
|
+
// 5. Dispatch asynchronously (don't block MCP response)
|
|
538
|
+
setImmediate(() => {
|
|
539
|
+
adapter.spawn(spawnOptions, handle).catch((err) => {
|
|
540
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
541
|
+
if (handle.isAlive()) {
|
|
542
|
+
handle.markFailed(`Spawn error: ${message}`);
|
|
543
|
+
}
|
|
544
|
+
});
|
|
545
|
+
});
|
|
546
|
+
// 6. Bridge window — poll for up to OPERATION_BRIDGE_TIMEOUT_MS to see if
|
|
547
|
+
// a question arrived immediately (fast first response)
|
|
548
|
+
const bridgeEnd = Date.now() + OPERATION_BRIDGE_TIMEOUT_MS;
|
|
549
|
+
let latestTask = task;
|
|
550
|
+
while (Date.now() < bridgeEnd) {
|
|
551
|
+
await new Promise((resolve) => setTimeout(resolve, OPERATION_POLL_INTERVAL_MS));
|
|
552
|
+
latestTask = this.taskManager.getTask(task.id);
|
|
553
|
+
if (!latestTask)
|
|
554
|
+
break;
|
|
555
|
+
if (isTerminalStatus(latestTask.status) || latestTask.status === TaskStatus.WAITING_ANSWER) {
|
|
556
|
+
break;
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
const current = latestTask ?? task;
|
|
560
|
+
const wireStatus = mapToWireState(current.status);
|
|
561
|
+
const pollFreq = computePollFrequency(current);
|
|
562
|
+
const result = {
|
|
563
|
+
task_id: task.id,
|
|
564
|
+
status: wireStatus,
|
|
565
|
+
poll_frequency: pollFreq,
|
|
566
|
+
resources: {
|
|
567
|
+
scoreboard: 'task:///all',
|
|
568
|
+
detail: `task:///${task.id}`,
|
|
569
|
+
log: `task:///${task.id}/log`,
|
|
570
|
+
},
|
|
571
|
+
};
|
|
572
|
+
if (current.sessionId) {
|
|
573
|
+
result['provider_session_id'] = current.sessionId;
|
|
574
|
+
}
|
|
575
|
+
if (current.status === TaskStatus.WAITING_ANSWER && current.pendingQuestions.length > 0) {
|
|
576
|
+
result['pending_question'] = current.pendingQuestions[0];
|
|
577
|
+
}
|
|
578
|
+
return JSON.stringify(result, null, 2);
|
|
579
|
+
}
|
|
580
|
+
async handleWaitTask(input) {
|
|
581
|
+
const timeoutMs = input.timeout_ms ?? 30_000;
|
|
582
|
+
const pollIntervalMs = input.poll_interval_ms ?? 1_000;
|
|
583
|
+
const taskId = input.task_id;
|
|
584
|
+
const task = this.taskManager.getTask(taskId);
|
|
585
|
+
if (!task) {
|
|
586
|
+
throw new Error(`Task not found: ${taskId}`);
|
|
587
|
+
}
|
|
588
|
+
// Poll until terminal, input_required, or timeout
|
|
589
|
+
const deadline = Date.now() + timeoutMs;
|
|
590
|
+
let current = task;
|
|
591
|
+
while (Date.now() < deadline) {
|
|
592
|
+
if (isTerminalStatus(current.status) || current.status === TaskStatus.WAITING_ANSWER) {
|
|
593
|
+
break;
|
|
594
|
+
}
|
|
595
|
+
await new Promise((resolve) => setTimeout(resolve, pollIntervalMs));
|
|
596
|
+
const refreshed = this.taskManager.getTask(taskId);
|
|
597
|
+
if (!refreshed)
|
|
598
|
+
break;
|
|
599
|
+
current = refreshed;
|
|
600
|
+
}
|
|
601
|
+
const wireStatus = mapToWireState(current.status);
|
|
602
|
+
const result = {
|
|
603
|
+
task_id: taskId,
|
|
604
|
+
status: wireStatus,
|
|
605
|
+
};
|
|
606
|
+
if (current.sessionId) {
|
|
607
|
+
result['provider_session_id'] = current.sessionId;
|
|
608
|
+
}
|
|
609
|
+
if (current.status === TaskStatus.WAITING_ANSWER && current.pendingQuestions.length > 0) {
|
|
610
|
+
result['pending_question'] = current.pendingQuestions[0];
|
|
611
|
+
}
|
|
612
|
+
// Include last 10 lines of output
|
|
613
|
+
if (current.output.length > 0) {
|
|
614
|
+
result['output'] = current.output.slice(-10);
|
|
615
|
+
}
|
|
616
|
+
if (current.error) {
|
|
617
|
+
result['error'] = current.error;
|
|
618
|
+
}
|
|
619
|
+
return JSON.stringify(result, null, 2);
|
|
620
|
+
}
|
|
621
|
+
async handleRespondTask(input) {
|
|
622
|
+
const taskId = input.task_id;
|
|
623
|
+
const task = this.taskManager.getTask(taskId);
|
|
624
|
+
if (!task) {
|
|
625
|
+
throw new Error(`Task not found: ${taskId}`);
|
|
626
|
+
}
|
|
627
|
+
const handle = this.taskManager.getHandle(taskId);
|
|
628
|
+
if (!handle) {
|
|
629
|
+
throw new Error(`No handle for task ${taskId}`);
|
|
630
|
+
}
|
|
631
|
+
// Validate response type against adapter capabilities
|
|
632
|
+
const adapter = this.registry.getAdapter(task.provider);
|
|
633
|
+
if (adapter) {
|
|
634
|
+
const validation = validateResponseAgainstCapabilities(adapter.getCapabilities(), input.type);
|
|
635
|
+
if (!validation.ok) {
|
|
636
|
+
throw new Error(validation.reason ?? 'Unsupported response type');
|
|
637
|
+
}
|
|
638
|
+
}
|
|
639
|
+
// Dequeue the pending question
|
|
640
|
+
const question = handle.dequeuePendingQuestion();
|
|
641
|
+
if (!question) {
|
|
642
|
+
throw new Error(`No pending question for task ${taskId}`);
|
|
643
|
+
}
|
|
644
|
+
// Build payload based on response type and forward to provider
|
|
645
|
+
let payload;
|
|
646
|
+
switch (input.type) {
|
|
647
|
+
case 'user_input':
|
|
648
|
+
payload = { answers: input.answers };
|
|
649
|
+
break;
|
|
650
|
+
case 'command_approval':
|
|
651
|
+
payload = { decision: input.decision === 'accept' ? 'accept' : 'decline' };
|
|
652
|
+
break;
|
|
653
|
+
case 'file_approval':
|
|
654
|
+
payload = { decision: input.decision === 'accept' ? 'accept' : 'decline' };
|
|
655
|
+
break;
|
|
656
|
+
case 'elicitation':
|
|
657
|
+
payload = {
|
|
658
|
+
action: input.action,
|
|
659
|
+
content: input.content ?? null,
|
|
660
|
+
_meta: null,
|
|
661
|
+
};
|
|
662
|
+
break;
|
|
663
|
+
case 'dynamic_tool':
|
|
664
|
+
payload = {
|
|
665
|
+
contentItems: [],
|
|
666
|
+
success: !input.error,
|
|
667
|
+
...(input.result !== undefined ? { result: input.result } : {}),
|
|
668
|
+
...(input.error !== undefined ? { error: input.error } : {}),
|
|
669
|
+
};
|
|
670
|
+
break;
|
|
671
|
+
}
|
|
672
|
+
// Forward the response to the runtime using the question's requestId
|
|
673
|
+
await this.runtime.respondToServerRequest(question.requestId, payload);
|
|
674
|
+
// If queue is now empty and task was WAITING_ANSWER, resume tracking
|
|
675
|
+
// The adapter's executeSession will continue automatically
|
|
676
|
+
const currentTask = this.taskManager.getTask(taskId);
|
|
677
|
+
const wireStatus = mapToWireState(currentTask?.status ?? task.status);
|
|
678
|
+
return JSON.stringify({
|
|
679
|
+
task_id: taskId,
|
|
680
|
+
status: wireStatus,
|
|
681
|
+
remaining_questions: currentTask?.pendingQuestions.length ?? 0,
|
|
682
|
+
}, null, 2);
|
|
683
|
+
}
|
|
684
|
+
async handleMessageTask(input) {
|
|
685
|
+
const taskId = input.task_id;
|
|
686
|
+
const task = this.taskManager.getTask(taskId);
|
|
687
|
+
if (!task) {
|
|
688
|
+
throw new Error(`Task not found: ${taskId}`);
|
|
689
|
+
}
|
|
690
|
+
if (!task.sessionId) {
|
|
691
|
+
throw new Error(`Task ${taskId} has no active session (sessionId missing)`);
|
|
692
|
+
}
|
|
693
|
+
if (isTerminalStatus(task.status)) {
|
|
694
|
+
throw new Error(`Task ${taskId} is in terminal status: ${task.status}`);
|
|
695
|
+
}
|
|
696
|
+
// Start a new turn on the existing thread
|
|
697
|
+
const built = await this.runtime.buildTurnStartParams({
|
|
698
|
+
threadId: task.sessionId,
|
|
699
|
+
userInput: input.message,
|
|
700
|
+
model: input.model,
|
|
701
|
+
});
|
|
702
|
+
await this.runtime.ensureThreadLoaded(task.sessionId, input.model);
|
|
703
|
+
const bridged = await this.runtime.requestWithBridge('turn/start', built.params, {
|
|
704
|
+
threadId: task.sessionId,
|
|
705
|
+
});
|
|
706
|
+
// Update task status back to running
|
|
707
|
+
this.taskManager.updateTask(taskId, { status: TaskStatus.RUNNING });
|
|
708
|
+
return JSON.stringify({
|
|
709
|
+
task_id: taskId,
|
|
710
|
+
provider_session_id: task.sessionId,
|
|
711
|
+
status: 'working',
|
|
712
|
+
operation_id: bridged.operationId,
|
|
713
|
+
}, null, 2);
|
|
714
|
+
}
|
|
715
|
+
async handleCancelTask(input) {
|
|
716
|
+
const taskIds = Array.isArray(input.task_id) ? input.task_id : [input.task_id];
|
|
717
|
+
const cancelled = [];
|
|
718
|
+
const alreadyTerminal = [];
|
|
719
|
+
const notFound = [];
|
|
720
|
+
for (const taskId of taskIds) {
|
|
721
|
+
const task = this.taskManager.getTask(taskId);
|
|
722
|
+
if (!task) {
|
|
723
|
+
notFound.push(taskId);
|
|
724
|
+
continue;
|
|
725
|
+
}
|
|
726
|
+
if (isTerminalStatus(task.status)) {
|
|
727
|
+
alreadyTerminal.push(taskId);
|
|
728
|
+
continue;
|
|
729
|
+
}
|
|
730
|
+
const handle = this.taskManager.getHandle(taskId);
|
|
731
|
+
if (handle) {
|
|
732
|
+
handle.markCancelled('Cancelled by user');
|
|
733
|
+
}
|
|
734
|
+
// Try to interrupt the provider session
|
|
735
|
+
if (task.sessionId) {
|
|
736
|
+
try {
|
|
737
|
+
await this.runtime.request('turn/interrupt', {
|
|
738
|
+
threadId: task.sessionId,
|
|
739
|
+
turnId: task.operationId ?? '',
|
|
740
|
+
});
|
|
741
|
+
}
|
|
742
|
+
catch {
|
|
743
|
+
// Best-effort interrupt — task is already marked cancelled
|
|
744
|
+
}
|
|
745
|
+
}
|
|
746
|
+
cancelled.push(taskId);
|
|
747
|
+
}
|
|
748
|
+
return JSON.stringify({
|
|
749
|
+
cancelled,
|
|
750
|
+
already_terminal: alreadyTerminal,
|
|
751
|
+
...(notFound.length > 0 ? { not_found: notFound } : {}),
|
|
752
|
+
}, null, 2);
|
|
753
|
+
}
|
|
388
754
|
buildServerRequestPayload(method, input) {
|
|
389
755
|
if (input.payload) {
|
|
390
756
|
return input.payload;
|
package/dist/src/app.js.map
CHANGED
|
@@ -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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"}
|
|
@@ -16,6 +16,7 @@ export declare class CodexAdapter extends BaseProviderAdapter {
|
|
|
16
16
|
checkAvailability(): AvailabilityResult;
|
|
17
17
|
getCapabilities(): ProviderCapabilities;
|
|
18
18
|
getStats(): Record<string, unknown>;
|
|
19
|
-
protected executeSession(
|
|
19
|
+
protected executeSession(handle: TaskHandle, prompt: string, _signal: AbortSignal, options: ProviderSpawnOptions): Promise<void>;
|
|
20
20
|
shutdown(): Promise<void>;
|
|
21
|
+
private getRuntime;
|
|
21
22
|
}
|
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
// ---------------------------------------------------------------------------
|
|
5
5
|
import { CODEX_CAPABILITIES } from './provider-capabilities.js';
|
|
6
6
|
import { BaseProviderAdapter, } from './base-adapter.js';
|
|
7
|
+
import { CodexRuntime } from '../services/codex-runtime.js';
|
|
8
|
+
import { attachPauseFlow } from './codex-pause-flow.js';
|
|
9
|
+
import { REQUEST_TIMEOUT_MS } from '../config/defaults.js';
|
|
7
10
|
// ---------------------------------------------------------------------------
|
|
8
11
|
// Adapter
|
|
9
12
|
// ---------------------------------------------------------------------------
|
|
@@ -25,11 +28,79 @@ export class CodexAdapter extends BaseProviderAdapter {
|
|
|
25
28
|
getStats() {
|
|
26
29
|
return {};
|
|
27
30
|
}
|
|
28
|
-
|
|
29
|
-
|
|
31
|
+
// -------------------------------------------------------------------------
|
|
32
|
+
// Core session lifecycle
|
|
33
|
+
// -------------------------------------------------------------------------
|
|
34
|
+
async executeSession(handle, prompt, _signal, options) {
|
|
35
|
+
const runtime = this.getRuntime();
|
|
36
|
+
let detachPauseFlow;
|
|
37
|
+
try {
|
|
38
|
+
// 1. Create a new thread
|
|
39
|
+
const { params: threadParams } = await runtime.buildThreadStartParams({
|
|
40
|
+
model: options.model,
|
|
41
|
+
cwd: options.cwd,
|
|
42
|
+
});
|
|
43
|
+
const threadResult = await runtime.request('thread/start', threadParams);
|
|
44
|
+
const threadId = threadResult?.thread?.id;
|
|
45
|
+
if (!threadId) {
|
|
46
|
+
throw new Error('thread/start did not return a thread ID');
|
|
47
|
+
}
|
|
48
|
+
// 2. Mark running with the thread ID as session identifier
|
|
49
|
+
handle.markRunning(threadId);
|
|
50
|
+
// 3. Attach pause-flow: translate server-requests → PendingQuestions
|
|
51
|
+
// getCurrentClient() is private on CodexRuntime; access via cast.
|
|
52
|
+
// Safe after a successful request() call guarantees the client exists.
|
|
53
|
+
const client = runtime
|
|
54
|
+
.getCurrentClient();
|
|
55
|
+
detachPauseFlow = attachPauseFlow(client, handle, threadId);
|
|
56
|
+
// 4. Build turn params and start the turn via bridged request
|
|
57
|
+
const { params: turnParams } = await runtime.buildTurnStartParams({
|
|
58
|
+
threadId,
|
|
59
|
+
userInput: prompt,
|
|
60
|
+
model: options.model,
|
|
61
|
+
});
|
|
62
|
+
const bridgeResult = await runtime.requestWithBridge('turn/start', turnParams, { threadId });
|
|
63
|
+
// 5. Handle bridge result
|
|
64
|
+
if (bridgeResult.status === 'pending_request') {
|
|
65
|
+
// Pause flow already queued the question on the handle and
|
|
66
|
+
// markInputRequired was called. Nothing more to do here —
|
|
67
|
+
// the wait-task / answer-task handlers drive the rest.
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
if (bridgeResult.status === 'completed') {
|
|
71
|
+
handle.markCompleted();
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
// status === 'running' — the bridge timed out before completion;
|
|
75
|
+
// poll until the operation settles.
|
|
76
|
+
const timeoutMs = options.timeout > 0 ? options.timeout : REQUEST_TIMEOUT_MS;
|
|
77
|
+
const op = await runtime.waitForOperation(bridgeResult.operationId, timeoutMs, 500);
|
|
78
|
+
if (op.status === 'completed') {
|
|
79
|
+
handle.markCompleted();
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
handle.markFailed(op.error ?? 'Turn failed');
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
finally {
|
|
86
|
+
detachPauseFlow?.();
|
|
87
|
+
}
|
|
30
88
|
}
|
|
31
89
|
async shutdown() {
|
|
32
90
|
await this.runtime?.shutdown();
|
|
33
91
|
}
|
|
92
|
+
// -------------------------------------------------------------------------
|
|
93
|
+
// Internal
|
|
94
|
+
// -------------------------------------------------------------------------
|
|
95
|
+
getRuntime() {
|
|
96
|
+
if (!this.runtime) {
|
|
97
|
+
this.runtime = new CodexRuntime({
|
|
98
|
+
command: this.options.command,
|
|
99
|
+
args: this.options.args,
|
|
100
|
+
env: this.options.env,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
return this.runtime;
|
|
104
|
+
}
|
|
34
105
|
}
|
|
35
106
|
//# sourceMappingURL=codex-adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-adapter.js","sourceRoot":"","sources":["../../../src/execution/codex-adapter.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,4EAA4E;AAC5E,uBAAuB;AACvB,8EAA8E;AAK9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EACL,mBAAmB,GAGpB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"codex-adapter.js","sourceRoot":"","sources":["../../../src/execution/codex-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -47,6 +47,19 @@ server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
|
|
|
47
47
|
});
|
|
48
48
|
async function main() {
|
|
49
49
|
await app.initialize();
|
|
50
|
+
// Wire state-change notifications: when any task status changes,
|
|
51
|
+
// notify MCP clients that the scoreboard and task detail resources are updated.
|
|
52
|
+
const taskManager = app.getTaskManager();
|
|
53
|
+
taskManager.onStatusChange((task) => {
|
|
54
|
+
server.notification({
|
|
55
|
+
method: 'notifications/resources/updated',
|
|
56
|
+
params: { uri: 'task:///all' },
|
|
57
|
+
}).catch(() => { });
|
|
58
|
+
server.notification({
|
|
59
|
+
method: 'notifications/resources/updated',
|
|
60
|
+
params: { uri: `task:///${task.id}` },
|
|
61
|
+
}).catch(() => { });
|
|
62
|
+
});
|
|
50
63
|
const transport = new StdioServerTransport();
|
|
51
64
|
await server.connect(transport);
|
|
52
65
|
process.stdin.resume();
|