mcp-codex-worker 0.1.11 → 0.1.13
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/execution/base-adapter.d.ts +63 -0
- package/dist/src/execution/base-adapter.js +74 -0
- package/dist/src/execution/base-adapter.js.map +1 -0
- package/dist/src/execution/claude-adapter.d.ts +12 -0
- package/dist/src/execution/claude-adapter.js +23 -0
- package/dist/src/execution/claude-adapter.js.map +1 -0
- package/dist/src/execution/codex-adapter.d.ts +21 -0
- package/dist/src/execution/codex-adapter.js +35 -0
- package/dist/src/execution/codex-adapter.js.map +1 -0
- package/dist/src/execution/codex-pause-flow.d.ts +23 -0
- package/dist/src/execution/codex-pause-flow.js +185 -0
- package/dist/src/execution/codex-pause-flow.js.map +1 -0
- package/dist/src/execution/copilot-adapter.d.ts +12 -0
- package/dist/src/execution/copilot-adapter.js +23 -0
- package/dist/src/execution/copilot-adapter.js.map +1 -0
- package/dist/src/execution/provider-capabilities.d.ts +35 -0
- package/dist/src/execution/provider-capabilities.js +58 -0
- package/dist/src/execution/provider-capabilities.js.map +1 -0
- package/dist/src/execution/provider-registry.d.ts +37 -0
- package/dist/src/execution/provider-registry.js +69 -0
- package/dist/src/execution/provider-registry.js.map +1 -0
- package/dist/src/mcp/resource-renderers.d.ts +25 -0
- package/dist/src/mcp/resource-renderers.js +190 -0
- package/dist/src/mcp/resource-renderers.js.map +1 -0
- package/dist/src/mcp/sep1686-handlers.d.ts +56 -0
- package/dist/src/mcp/sep1686-handlers.js +98 -0
- package/dist/src/mcp/sep1686-handlers.js.map +1 -0
- package/dist/src/mcp/tool-definitions.d.ts +157 -0
- package/dist/src/mcp/tool-definitions.js +242 -0
- package/dist/src/mcp/tool-definitions.js.map +1 -1
- package/dist/src/task/fsm-transitions.d.ts +17 -0
- package/dist/src/task/fsm-transitions.js +66 -0
- package/dist/src/task/fsm-transitions.js.map +1 -0
- package/dist/src/task/task-handle-impl.d.ts +10 -0
- package/dist/src/task/task-handle-impl.js +139 -0
- package/dist/src/task/task-handle-impl.js.map +1 -0
- package/dist/src/task/task-handle.d.ts +88 -0
- package/dist/src/task/task-handle.js +2 -0
- package/dist/src/task/task-handle.js.map +1 -0
- package/dist/src/task/task-manager.d.ts +99 -0
- package/dist/src/task/task-manager.js +246 -0
- package/dist/src/task/task-manager.js.map +1 -0
- package/dist/src/task/task-persistence.d.ts +18 -0
- package/dist/src/task/task-persistence.js +61 -0
- package/dist/src/task/task-persistence.js.map +1 -0
- package/dist/src/task/task-state.d.ts +79 -0
- package/dist/src/task/task-state.js +24 -0
- package/dist/src/task/task-state.js.map +1 -0
- package/dist/src/task/task-store.d.ts +46 -0
- package/dist/src/task/task-store.js +104 -0
- package/dist/src/task/task-store.js.map +1 -0
- package/dist/src/task/wire-state-mapper.d.ts +21 -0
- package/dist/src/task/wire-state-mapper.js +63 -0
- package/dist/src/task/wire-state-mapper.js.map +1 -0
- package/package.json +2 -1
- package/src/execution/base-adapter.ts +133 -0
- package/src/execution/claude-adapter.ts +40 -0
- package/src/execution/codex-adapter.ts +67 -0
- package/src/execution/codex-pause-flow.ts +225 -0
- package/src/execution/copilot-adapter.ts +40 -0
- package/src/execution/provider-capabilities.ts +100 -0
- package/src/execution/provider-registry.ts +81 -0
- package/src/mcp/resource-renderers.ts +224 -0
- package/src/mcp/sep1686-handlers.ts +149 -0
- package/src/mcp/tool-definitions.ts +255 -0
- package/src/task/fsm-transitions.ts +72 -0
- package/src/task/task-handle-impl.ts +170 -0
- package/src/task/task-handle.ts +135 -0
- package/src/task/task-manager.ts +328 -0
- package/src/task/task-persistence.ts +95 -0
- package/src/task/task-state.ts +121 -0
- package/src/task/task-store.ts +121 -0
- package/src/task/wire-state-mapper.ts +77 -0
|
@@ -52,6 +52,67 @@ const waitSchema = z.object({
|
|
|
52
52
|
timeout_ms: z.number().int().positive().max(300_000).optional(),
|
|
53
53
|
poll_interval_ms: z.number().int().positive().max(5_000).optional(),
|
|
54
54
|
});
|
|
55
|
+
// ---------------------------------------------------------------------------
|
|
56
|
+
// New unified task tool schemas (provider-agnostic)
|
|
57
|
+
// ---------------------------------------------------------------------------
|
|
58
|
+
const spawnTaskSchema = z.object({
|
|
59
|
+
prompt: z.string().min(1),
|
|
60
|
+
task_type: z.enum(['coder', 'planner', 'tester', 'researcher', 'general']).default('coder'),
|
|
61
|
+
provider: z.enum(['codex', 'copilot', 'claude-cli']).optional(),
|
|
62
|
+
model: z.string().optional(),
|
|
63
|
+
cwd: z.string().optional(),
|
|
64
|
+
timeout_ms: z.number().int().min(1000).max(3_600_000).optional(),
|
|
65
|
+
keep_alive: z.number().optional(),
|
|
66
|
+
labels: z.array(z.string()).optional(),
|
|
67
|
+
depends_on: z.array(z.string()).optional(),
|
|
68
|
+
developer_instructions: z.string().optional(),
|
|
69
|
+
context_files: z.array(z.object({
|
|
70
|
+
path: z.string(),
|
|
71
|
+
description: z.string().optional(),
|
|
72
|
+
})).optional(),
|
|
73
|
+
});
|
|
74
|
+
const waitTaskSchema = z.object({
|
|
75
|
+
task_id: z.string().min(1),
|
|
76
|
+
timeout_ms: z.number().int().positive().max(300_000).default(30_000).optional(),
|
|
77
|
+
poll_interval_ms: z.number().int().min(250).max(30_000).default(1000).optional(),
|
|
78
|
+
});
|
|
79
|
+
const respondTaskSchema = z.discriminatedUnion('type', [
|
|
80
|
+
z.object({
|
|
81
|
+
task_id: z.string().min(1),
|
|
82
|
+
type: z.literal('user_input'),
|
|
83
|
+
answers: z.record(z.string(), z.string()),
|
|
84
|
+
}),
|
|
85
|
+
z.object({
|
|
86
|
+
task_id: z.string().min(1),
|
|
87
|
+
type: z.literal('command_approval'),
|
|
88
|
+
decision: z.enum(['accept', 'reject']),
|
|
89
|
+
}),
|
|
90
|
+
z.object({
|
|
91
|
+
task_id: z.string().min(1),
|
|
92
|
+
type: z.literal('file_approval'),
|
|
93
|
+
decision: z.enum(['accept', 'reject']),
|
|
94
|
+
}),
|
|
95
|
+
z.object({
|
|
96
|
+
task_id: z.string().min(1),
|
|
97
|
+
type: z.literal('elicitation'),
|
|
98
|
+
action: z.enum(['accept', 'decline']),
|
|
99
|
+
content: z.record(z.string(), z.unknown()).optional(),
|
|
100
|
+
}),
|
|
101
|
+
z.object({
|
|
102
|
+
task_id: z.string().min(1),
|
|
103
|
+
type: z.literal('dynamic_tool'),
|
|
104
|
+
result: z.string().optional(),
|
|
105
|
+
error: z.string().optional(),
|
|
106
|
+
}),
|
|
107
|
+
]);
|
|
108
|
+
const messageTaskSchema = z.object({
|
|
109
|
+
task_id: z.string().min(1),
|
|
110
|
+
message: z.string().min(1),
|
|
111
|
+
model: z.string().optional(),
|
|
112
|
+
});
|
|
113
|
+
const cancelTaskSchema = z.object({
|
|
114
|
+
task_id: z.union([z.string().min(1), z.array(z.string().min(1)).min(1)]),
|
|
115
|
+
});
|
|
55
116
|
function objectSchema(properties, required = []) {
|
|
56
117
|
return {
|
|
57
118
|
type: 'object',
|
|
@@ -238,6 +299,187 @@ export function createToolDefinitions(input) {
|
|
|
238
299
|
}),
|
|
239
300
|
validate: (value) => waitSchema.parse(value),
|
|
240
301
|
},
|
|
302
|
+
// -----------------------------------------------------------------
|
|
303
|
+
// New unified task tools (provider-agnostic)
|
|
304
|
+
// -----------------------------------------------------------------
|
|
305
|
+
{
|
|
306
|
+
name: 'spawn-task',
|
|
307
|
+
description: [
|
|
308
|
+
'Create and start a provider-agnostic task.',
|
|
309
|
+
'',
|
|
310
|
+
'Dispatches work to the configured provider (Codex, Copilot, Claude CLI) based on task_type routing.',
|
|
311
|
+
'Returns immediately with a task_id for tracking. Use wait-task to block until completion or input_required.',
|
|
312
|
+
'',
|
|
313
|
+
'PARALLEL EXECUTION: Spawn multiple tasks simultaneously — each runs in an independent agent workspace.',
|
|
314
|
+
'After spawning, check wait-task — the agent may need approval or user input before it can proceed.',
|
|
315
|
+
].join('\n'),
|
|
316
|
+
inputSchema: objectSchema({
|
|
317
|
+
prompt: { type: 'string', minLength: 1, description: 'What the task should do. Be specific — include file paths, function names, and expected behavior.' },
|
|
318
|
+
task_type: {
|
|
319
|
+
type: 'string',
|
|
320
|
+
enum: ['coder', 'planner', 'tester', 'researcher', 'general'],
|
|
321
|
+
default: 'coder',
|
|
322
|
+
description: 'Type of task. Determines provider routing. Default: coder.',
|
|
323
|
+
},
|
|
324
|
+
provider: {
|
|
325
|
+
type: 'string',
|
|
326
|
+
enum: ['codex', 'copilot', 'claude-cli'],
|
|
327
|
+
description: 'Override automatic provider selection. Optional — defaults to the provider registered for the task_type.',
|
|
328
|
+
},
|
|
329
|
+
model: { type: 'string', description: 'Model to use. Omit to use the provider default.' },
|
|
330
|
+
cwd: { type: 'string', description: 'Working directory for the task. Defaults to server process cwd.' },
|
|
331
|
+
timeout_ms: {
|
|
332
|
+
type: 'integer',
|
|
333
|
+
minimum: 1000,
|
|
334
|
+
maximum: 3600000,
|
|
335
|
+
description: 'Max execution time in ms. Default varies by provider.',
|
|
336
|
+
},
|
|
337
|
+
keep_alive: {
|
|
338
|
+
type: 'number',
|
|
339
|
+
description: 'SEP-1686 result retention period in ms. How long the server keeps the result available after completion.',
|
|
340
|
+
},
|
|
341
|
+
labels: {
|
|
342
|
+
type: 'array',
|
|
343
|
+
items: { type: 'string' },
|
|
344
|
+
description: 'Arbitrary labels for filtering and grouping tasks.',
|
|
345
|
+
},
|
|
346
|
+
depends_on: {
|
|
347
|
+
type: 'array',
|
|
348
|
+
items: { type: 'string' },
|
|
349
|
+
description: 'Task IDs that must complete before this task starts.',
|
|
350
|
+
},
|
|
351
|
+
developer_instructions: {
|
|
352
|
+
type: 'string',
|
|
353
|
+
description: 'System-level instructions injected before user messages. Use for constraints, coding style, or scope boundaries.',
|
|
354
|
+
},
|
|
355
|
+
context_files: {
|
|
356
|
+
type: 'array',
|
|
357
|
+
items: {
|
|
358
|
+
type: 'object',
|
|
359
|
+
properties: {
|
|
360
|
+
path: { type: 'string', description: 'File path to include as context.' },
|
|
361
|
+
description: { type: 'string', description: 'Optional description of why this file is relevant.' },
|
|
362
|
+
},
|
|
363
|
+
required: ['path'],
|
|
364
|
+
},
|
|
365
|
+
description: 'Files to include as context for the task.',
|
|
366
|
+
},
|
|
367
|
+
}, ['prompt']),
|
|
368
|
+
validate: (value) => spawnTaskSchema.parse(value),
|
|
369
|
+
},
|
|
370
|
+
{
|
|
371
|
+
name: 'wait-task',
|
|
372
|
+
description: [
|
|
373
|
+
'Block until a task reaches a terminal state or requires input.',
|
|
374
|
+
'',
|
|
375
|
+
'Polls the task store internally at poll_interval_ms. Returns when the task completes, fails, is cancelled, or enters input_required.',
|
|
376
|
+
'If timeout_ms elapses, returns the current status — the caller decides whether to wait again.',
|
|
377
|
+
'Use after spawn-task to synchronously track task progress.',
|
|
378
|
+
].join('\n'),
|
|
379
|
+
inputSchema: objectSchema({
|
|
380
|
+
task_id: { type: 'string', minLength: 1, description: 'ID of the task to wait on.' },
|
|
381
|
+
timeout_ms: {
|
|
382
|
+
type: 'integer',
|
|
383
|
+
minimum: 1,
|
|
384
|
+
maximum: 300000,
|
|
385
|
+
default: 30000,
|
|
386
|
+
description: 'Max wait time in ms. Default 30,000 (30 seconds).',
|
|
387
|
+
},
|
|
388
|
+
poll_interval_ms: {
|
|
389
|
+
type: 'integer',
|
|
390
|
+
minimum: 250,
|
|
391
|
+
maximum: 30000,
|
|
392
|
+
default: 1000,
|
|
393
|
+
description: 'Internal poll interval in ms. Default 1,000.',
|
|
394
|
+
},
|
|
395
|
+
}, ['task_id']),
|
|
396
|
+
validate: (value) => waitTaskSchema.parse(value),
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
name: 'respond-task',
|
|
400
|
+
description: [
|
|
401
|
+
'Respond to a paused task that requires input.',
|
|
402
|
+
'',
|
|
403
|
+
'The response shape is discriminated by the `type` field, matching the PendingQuestion type from wait-task:',
|
|
404
|
+
'- user_input: provide answers as Record<string, string>',
|
|
405
|
+
'- command_approval: accept or reject the command',
|
|
406
|
+
'- file_approval: accept or reject file changes',
|
|
407
|
+
'- elicitation: accept or decline, with optional content',
|
|
408
|
+
'- dynamic_tool: provide result or error string',
|
|
409
|
+
'',
|
|
410
|
+
'After responding, the task resumes execution. Use wait-task again to track further progress.',
|
|
411
|
+
].join('\n'),
|
|
412
|
+
inputSchema: objectSchema({
|
|
413
|
+
task_id: { type: 'string', minLength: 1, description: 'ID of the paused task.' },
|
|
414
|
+
type: {
|
|
415
|
+
type: 'string',
|
|
416
|
+
enum: ['user_input', 'command_approval', 'file_approval', 'elicitation', 'dynamic_tool'],
|
|
417
|
+
description: 'Type of response, must match the pending question type.',
|
|
418
|
+
},
|
|
419
|
+
answers: {
|
|
420
|
+
type: 'object',
|
|
421
|
+
description: 'For user_input: map of question keys to answer strings.',
|
|
422
|
+
},
|
|
423
|
+
decision: {
|
|
424
|
+
type: 'string',
|
|
425
|
+
enum: ['accept', 'reject'],
|
|
426
|
+
description: 'For command_approval or file_approval: accept or reject.',
|
|
427
|
+
},
|
|
428
|
+
action: {
|
|
429
|
+
type: 'string',
|
|
430
|
+
enum: ['accept', 'decline'],
|
|
431
|
+
description: 'For elicitation: accept or decline.',
|
|
432
|
+
},
|
|
433
|
+
content: {
|
|
434
|
+
type: 'object',
|
|
435
|
+
description: 'For elicitation: optional structured content payload.',
|
|
436
|
+
},
|
|
437
|
+
result: {
|
|
438
|
+
type: 'string',
|
|
439
|
+
description: 'For dynamic_tool: the tool result string.',
|
|
440
|
+
},
|
|
441
|
+
error: {
|
|
442
|
+
type: 'string',
|
|
443
|
+
description: 'For dynamic_tool: error string if the tool call failed.',
|
|
444
|
+
},
|
|
445
|
+
}, ['task_id', 'type']),
|
|
446
|
+
validate: (value) => respondTaskSchema.parse(value),
|
|
447
|
+
},
|
|
448
|
+
{
|
|
449
|
+
name: 'message-task',
|
|
450
|
+
description: [
|
|
451
|
+
'Send a follow-up message to an existing task.',
|
|
452
|
+
'',
|
|
453
|
+
'If the task is still running, adds a new turn. If idle, resumes the thread first.',
|
|
454
|
+
'Use to provide additional instructions, ask the agent to refine its work, or continue a completed task.',
|
|
455
|
+
].join('\n'),
|
|
456
|
+
inputSchema: objectSchema({
|
|
457
|
+
task_id: { type: 'string', minLength: 1, description: 'ID of the task to message.' },
|
|
458
|
+
message: { type: 'string', minLength: 1, description: 'Follow-up instruction or question for the agent.' },
|
|
459
|
+
model: { type: 'string', description: 'Override model for this follow-up turn.' },
|
|
460
|
+
}, ['task_id', 'message']),
|
|
461
|
+
validate: (value) => messageTaskSchema.parse(value),
|
|
462
|
+
},
|
|
463
|
+
{
|
|
464
|
+
name: 'cancel-task',
|
|
465
|
+
description: [
|
|
466
|
+
'Cancel one or more running tasks.',
|
|
467
|
+
'',
|
|
468
|
+
'Accepts a single task_id string or an array of task_id strings for batch cancellation.',
|
|
469
|
+
'For running tasks, signals the provider to abort execution.',
|
|
470
|
+
'Tasks already in a terminal state are counted as already_terminal in the response.',
|
|
471
|
+
].join('\n'),
|
|
472
|
+
inputSchema: objectSchema({
|
|
473
|
+
task_id: {
|
|
474
|
+
oneOf: [
|
|
475
|
+
{ type: 'string', minLength: 1, description: 'Single task ID to cancel.' },
|
|
476
|
+
{ type: 'array', items: { type: 'string', minLength: 1 }, minItems: 1, description: 'Array of task IDs to cancel.' },
|
|
477
|
+
],
|
|
478
|
+
description: 'Task ID or array of task IDs to cancel.',
|
|
479
|
+
},
|
|
480
|
+
}, ['task_id']),
|
|
481
|
+
validate: (value) => cancelTaskSchema.parse(value),
|
|
482
|
+
},
|
|
241
483
|
];
|
|
242
484
|
}
|
|
243
485
|
//# sourceMappingURL=tool-definitions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-definitions.js","sourceRoot":"","sources":["../../../src/mcp/tool-definitions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-definitions.js","sourceRoot":"","sources":["../../../src/mcp/tool-definitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { TaskStatus } from './task-state.js';
|
|
2
|
+
/**
|
|
3
|
+
* Legal state transitions for the 10-state task FSM.
|
|
4
|
+
*
|
|
5
|
+
* Terminal states (COMPLETED, FAILED, CANCELLED, TIMED_OUT, UNKNOWN) are
|
|
6
|
+
* absorbing — they have no outgoing transitions.
|
|
7
|
+
*
|
|
8
|
+
* UNKNOWN is reachable from every non-terminal state as a crash-recovery
|
|
9
|
+
* fallback.
|
|
10
|
+
*
|
|
11
|
+
* Spec reference: §4.1
|
|
12
|
+
*/
|
|
13
|
+
export declare const VALID_TRANSITIONS: Record<TaskStatus, ReadonlySet<TaskStatus>>;
|
|
14
|
+
/**
|
|
15
|
+
* Returns whether `from → to` is a legal FSM transition.
|
|
16
|
+
*/
|
|
17
|
+
export declare function isValidTransition(from: TaskStatus, to: TaskStatus): boolean;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { TaskStatus } from './task-state.js';
|
|
2
|
+
/**
|
|
3
|
+
* Legal state transitions for the 10-state task FSM.
|
|
4
|
+
*
|
|
5
|
+
* Terminal states (COMPLETED, FAILED, CANCELLED, TIMED_OUT, UNKNOWN) are
|
|
6
|
+
* absorbing — they have no outgoing transitions.
|
|
7
|
+
*
|
|
8
|
+
* UNKNOWN is reachable from every non-terminal state as a crash-recovery
|
|
9
|
+
* fallback.
|
|
10
|
+
*
|
|
11
|
+
* Spec reference: §4.1
|
|
12
|
+
*/
|
|
13
|
+
export const VALID_TRANSITIONS = {
|
|
14
|
+
[TaskStatus.WAITING]: new Set([
|
|
15
|
+
TaskStatus.PENDING,
|
|
16
|
+
TaskStatus.CANCELLED,
|
|
17
|
+
TaskStatus.FAILED,
|
|
18
|
+
TaskStatus.TIMED_OUT,
|
|
19
|
+
TaskStatus.UNKNOWN,
|
|
20
|
+
]),
|
|
21
|
+
[TaskStatus.PENDING]: new Set([
|
|
22
|
+
TaskStatus.RUNNING,
|
|
23
|
+
TaskStatus.WAITING,
|
|
24
|
+
TaskStatus.COMPLETED,
|
|
25
|
+
TaskStatus.CANCELLED,
|
|
26
|
+
TaskStatus.FAILED,
|
|
27
|
+
TaskStatus.TIMED_OUT,
|
|
28
|
+
TaskStatus.UNKNOWN,
|
|
29
|
+
]),
|
|
30
|
+
[TaskStatus.RUNNING]: new Set([
|
|
31
|
+
TaskStatus.COMPLETED,
|
|
32
|
+
TaskStatus.FAILED,
|
|
33
|
+
TaskStatus.CANCELLED,
|
|
34
|
+
TaskStatus.TIMED_OUT,
|
|
35
|
+
TaskStatus.RATE_LIMITED,
|
|
36
|
+
TaskStatus.WAITING_ANSWER,
|
|
37
|
+
TaskStatus.UNKNOWN,
|
|
38
|
+
]),
|
|
39
|
+
[TaskStatus.RATE_LIMITED]: new Set([
|
|
40
|
+
TaskStatus.RUNNING,
|
|
41
|
+
TaskStatus.FAILED,
|
|
42
|
+
TaskStatus.CANCELLED,
|
|
43
|
+
TaskStatus.TIMED_OUT,
|
|
44
|
+
TaskStatus.UNKNOWN,
|
|
45
|
+
]),
|
|
46
|
+
[TaskStatus.WAITING_ANSWER]: new Set([
|
|
47
|
+
TaskStatus.RUNNING,
|
|
48
|
+
TaskStatus.FAILED,
|
|
49
|
+
TaskStatus.CANCELLED,
|
|
50
|
+
TaskStatus.TIMED_OUT,
|
|
51
|
+
TaskStatus.UNKNOWN,
|
|
52
|
+
]),
|
|
53
|
+
// Terminal states — no outgoing transitions
|
|
54
|
+
[TaskStatus.COMPLETED]: new Set(),
|
|
55
|
+
[TaskStatus.FAILED]: new Set(),
|
|
56
|
+
[TaskStatus.CANCELLED]: new Set(),
|
|
57
|
+
[TaskStatus.TIMED_OUT]: new Set(),
|
|
58
|
+
[TaskStatus.UNKNOWN]: new Set(),
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Returns whether `from → to` is a legal FSM transition.
|
|
62
|
+
*/
|
|
63
|
+
export function isValidTransition(from, to) {
|
|
64
|
+
return VALID_TRANSITIONS[from].has(to);
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=fsm-transitions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fsm-transitions.js","sourceRoot":"","sources":["../../../src/task/fsm-transitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAgD;IAC5E,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC;QAC5B,UAAU,CAAC,OAAO;QAClB,UAAU,CAAC,SAAS;QACpB,UAAU,CAAC,MAAM;QACjB,UAAU,CAAC,SAAS;QACpB,UAAU,CAAC,OAAO;KACnB,CAAC;IAEF,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC;QAC5B,UAAU,CAAC,OAAO;QAClB,UAAU,CAAC,OAAO;QAClB,UAAU,CAAC,SAAS;QACpB,UAAU,CAAC,SAAS;QACpB,UAAU,CAAC,MAAM;QACjB,UAAU,CAAC,SAAS;QACpB,UAAU,CAAC,OAAO;KACnB,CAAC;IAEF,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC;QAC5B,UAAU,CAAC,SAAS;QACpB,UAAU,CAAC,MAAM;QACjB,UAAU,CAAC,SAAS;QACpB,UAAU,CAAC,SAAS;QACpB,UAAU,CAAC,YAAY;QACvB,UAAU,CAAC,cAAc;QACzB,UAAU,CAAC,OAAO;KACnB,CAAC;IAEF,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,IAAI,GAAG,CAAC;QACjC,UAAU,CAAC,OAAO;QAClB,UAAU,CAAC,MAAM;QACjB,UAAU,CAAC,SAAS;QACpB,UAAU,CAAC,SAAS;QACpB,UAAU,CAAC,OAAO;KACnB,CAAC;IAEF,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,IAAI,GAAG,CAAC;QACnC,UAAU,CAAC,OAAO;QAClB,UAAU,CAAC,MAAM;QACjB,UAAU,CAAC,SAAS;QACpB,UAAU,CAAC,SAAS;QACpB,UAAU,CAAC,OAAO;KACnB,CAAC;IAEF,4CAA4C;IAC5C,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,IAAI,GAAG,EAAc;IAC7C,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,EAAc;IAC1C,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,IAAI,GAAG,EAAc;IAC7C,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,IAAI,GAAG,EAAc;IAC7C,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI,GAAG,EAAc;CAC5C,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAgB,EAAE,EAAc;IAChE,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { TaskHandle } from './task-handle.js';
|
|
2
|
+
import type { TaskManager } from './task-manager.js';
|
|
3
|
+
/**
|
|
4
|
+
* Factory function that creates a {@link TaskHandle} backed by a
|
|
5
|
+
* {@link TaskManager}.
|
|
6
|
+
*
|
|
7
|
+
* Every method delegates to the manager — the handle is a thin,
|
|
8
|
+
* task-scoped facade that providers interact with.
|
|
9
|
+
*/
|
|
10
|
+
export declare function createTaskHandle(manager: TaskManager, taskId: string): TaskHandle;
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { TaskStatus, isTerminalStatus } from './task-state.js';
|
|
2
|
+
/**
|
|
3
|
+
* Factory function that creates a {@link TaskHandle} backed by a
|
|
4
|
+
* {@link TaskManager}.
|
|
5
|
+
*
|
|
6
|
+
* Every method delegates to the manager — the handle is a thin,
|
|
7
|
+
* task-scoped facade that providers interact with.
|
|
8
|
+
*/
|
|
9
|
+
export function createTaskHandle(manager, taskId) {
|
|
10
|
+
const handle = {
|
|
11
|
+
taskId,
|
|
12
|
+
// -- State transitions --------------------------------------------------
|
|
13
|
+
markRunning(sessionId) {
|
|
14
|
+
const updates = {
|
|
15
|
+
status: TaskStatus.RUNNING,
|
|
16
|
+
startedAt: new Date().toISOString(),
|
|
17
|
+
};
|
|
18
|
+
if (sessionId !== undefined) {
|
|
19
|
+
updates['sessionId'] = sessionId;
|
|
20
|
+
}
|
|
21
|
+
manager.updateTask(taskId, updates);
|
|
22
|
+
},
|
|
23
|
+
markCompleted(result, metrics) {
|
|
24
|
+
const updates = {
|
|
25
|
+
status: TaskStatus.COMPLETED,
|
|
26
|
+
};
|
|
27
|
+
if (result !== undefined) {
|
|
28
|
+
updates['result'] = result;
|
|
29
|
+
}
|
|
30
|
+
if (metrics !== undefined) {
|
|
31
|
+
// Store metrics as part of the result metadata
|
|
32
|
+
// TaskState.result is typed as `unknown` — safe to assign
|
|
33
|
+
if (result !== undefined) {
|
|
34
|
+
updates['result'] = { ...result, _metrics: metrics };
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
updates['result'] = { _metrics: metrics };
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
manager.updateTask(taskId, updates);
|
|
41
|
+
},
|
|
42
|
+
markFailed(error, exitCode) {
|
|
43
|
+
const updates = {
|
|
44
|
+
status: TaskStatus.FAILED,
|
|
45
|
+
error,
|
|
46
|
+
};
|
|
47
|
+
if (exitCode !== undefined) {
|
|
48
|
+
updates['exitCode'] = exitCode;
|
|
49
|
+
}
|
|
50
|
+
manager.updateTask(taskId, updates);
|
|
51
|
+
},
|
|
52
|
+
markCancelled(reason) {
|
|
53
|
+
manager.updateTask(taskId, {
|
|
54
|
+
status: TaskStatus.CANCELLED,
|
|
55
|
+
error: reason,
|
|
56
|
+
});
|
|
57
|
+
// Fire abort if a controller is registered
|
|
58
|
+
const controller = manager.getAbortController(taskId);
|
|
59
|
+
if (controller) {
|
|
60
|
+
controller.abort(reason);
|
|
61
|
+
manager.fireAbortListeners(taskId);
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
markInputRequired() {
|
|
65
|
+
manager.updateTask(taskId, {
|
|
66
|
+
status: TaskStatus.WAITING_ANSWER,
|
|
67
|
+
});
|
|
68
|
+
},
|
|
69
|
+
markRateLimited(reason, retryAfterMs) {
|
|
70
|
+
const updates = {
|
|
71
|
+
status: TaskStatus.RATE_LIMITED,
|
|
72
|
+
error: reason,
|
|
73
|
+
};
|
|
74
|
+
if (retryAfterMs !== undefined) {
|
|
75
|
+
updates['keepAlive'] = retryAfterMs;
|
|
76
|
+
}
|
|
77
|
+
manager.updateTask(taskId, updates);
|
|
78
|
+
},
|
|
79
|
+
// -- Output -------------------------------------------------------------
|
|
80
|
+
writeOutput(line) {
|
|
81
|
+
manager.appendOutput(taskId, line);
|
|
82
|
+
},
|
|
83
|
+
writeOutputFileOnly(line) {
|
|
84
|
+
manager.appendOutputFileOnly(taskId, line);
|
|
85
|
+
},
|
|
86
|
+
// -- Lifecycle ----------------------------------------------------------
|
|
87
|
+
registerAbort(controller) {
|
|
88
|
+
manager.registerAbort(taskId, controller);
|
|
89
|
+
},
|
|
90
|
+
unregisterAbort() {
|
|
91
|
+
manager.unregisterAbort(taskId);
|
|
92
|
+
},
|
|
93
|
+
isTerminal() {
|
|
94
|
+
const task = manager.getTask(taskId);
|
|
95
|
+
if (!task)
|
|
96
|
+
return true; // Treat missing task as terminal
|
|
97
|
+
return isTerminalStatus(task.status);
|
|
98
|
+
},
|
|
99
|
+
isAlive() {
|
|
100
|
+
return !handle.isTerminal();
|
|
101
|
+
},
|
|
102
|
+
onAborted(cb) {
|
|
103
|
+
return manager.onAborted(taskId, cb);
|
|
104
|
+
},
|
|
105
|
+
// -- Pending question queue ---------------------------------------------
|
|
106
|
+
queuePendingQuestion(q) {
|
|
107
|
+
manager.queuePendingQuestion(taskId, q);
|
|
108
|
+
},
|
|
109
|
+
dequeuePendingQuestion() {
|
|
110
|
+
return manager.dequeuePendingQuestion(taskId);
|
|
111
|
+
},
|
|
112
|
+
getPendingQuestions() {
|
|
113
|
+
return manager.getPendingQuestions(taskId);
|
|
114
|
+
},
|
|
115
|
+
// -- Read-only accessors ------------------------------------------------
|
|
116
|
+
getPrompt() {
|
|
117
|
+
const task = manager.getTask(taskId);
|
|
118
|
+
return task?.prompt ?? '';
|
|
119
|
+
},
|
|
120
|
+
getCwd() {
|
|
121
|
+
const task = manager.getTask(taskId);
|
|
122
|
+
return task?.cwd ?? '';
|
|
123
|
+
},
|
|
124
|
+
getTimeout() {
|
|
125
|
+
const task = manager.getTask(taskId);
|
|
126
|
+
return task?.timeoutMs ?? 0;
|
|
127
|
+
},
|
|
128
|
+
getModel() {
|
|
129
|
+
const task = manager.getTask(taskId);
|
|
130
|
+
return task?.model;
|
|
131
|
+
},
|
|
132
|
+
getTaskType() {
|
|
133
|
+
const task = manager.getTask(taskId);
|
|
134
|
+
return task?.taskType ?? 'general';
|
|
135
|
+
},
|
|
136
|
+
};
|
|
137
|
+
return handle;
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=task-handle-impl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-handle-impl.js","sourceRoot":"","sources":["../../../src/task/task-handle-impl.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import type { PendingQuestion, TaskTypeName } from './task-state.js';
|
|
2
|
+
/**
|
|
3
|
+
* Result payload attached to a completed task.
|
|
4
|
+
* Intentionally minimal — providers can extend via the `metadata` bag.
|
|
5
|
+
*/
|
|
6
|
+
export interface TaskResult {
|
|
7
|
+
/** Short human-readable summary of what the task accomplished. */
|
|
8
|
+
summary?: string;
|
|
9
|
+
/** Structured output from the provider (e.g., file diffs, test results). */
|
|
10
|
+
artifacts?: unknown[];
|
|
11
|
+
/** Arbitrary provider-specific metadata. */
|
|
12
|
+
metadata?: Record<string, unknown>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Metrics captured during a provider session.
|
|
16
|
+
* Used by adapters to report resource consumption.
|
|
17
|
+
*/
|
|
18
|
+
export interface SessionMetrics {
|
|
19
|
+
/** Wall-clock duration in milliseconds. */
|
|
20
|
+
durationMs?: number;
|
|
21
|
+
/** Tokens consumed (prompt + completion). */
|
|
22
|
+
tokensUsed?: number;
|
|
23
|
+
/** Number of tool invocations within the session. */
|
|
24
|
+
toolCalls?: number;
|
|
25
|
+
/** Number of turns / round-trips with the model. */
|
|
26
|
+
turns?: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Provider-blind interface for managing a single task's lifecycle.
|
|
30
|
+
*
|
|
31
|
+
* Providers (Codex, Copilot, Claude) interact exclusively through this
|
|
32
|
+
* interface. It delegates to the TaskManager internally but exposes no
|
|
33
|
+
* orchestration or store details.
|
|
34
|
+
*
|
|
35
|
+
* Spec reference: §3.2
|
|
36
|
+
*/
|
|
37
|
+
export interface TaskHandle {
|
|
38
|
+
/** Unique human-readable task identifier. */
|
|
39
|
+
readonly taskId: string;
|
|
40
|
+
/** Transition to RUNNING. Optionally attach a provider session ID. */
|
|
41
|
+
markRunning(sessionId?: string): void;
|
|
42
|
+
/** Transition to COMPLETED with optional result and metrics. */
|
|
43
|
+
markCompleted(result?: TaskResult, metrics?: SessionMetrics): void;
|
|
44
|
+
/** Transition to FAILED with an error message and optional exit code. */
|
|
45
|
+
markFailed(error: string, exitCode?: number): void;
|
|
46
|
+
/** Transition to CANCELLED with a reason string. */
|
|
47
|
+
markCancelled(reason: string): void;
|
|
48
|
+
/**
|
|
49
|
+
* Transition to WAITING_ANSWER (input required).
|
|
50
|
+
* The pending question queue is managed separately via queue methods.
|
|
51
|
+
*/
|
|
52
|
+
markInputRequired(): void;
|
|
53
|
+
/** Transition to RATE_LIMITED with a reason and optional retry hint. */
|
|
54
|
+
markRateLimited(reason: string, retryAfterMs?: number): void;
|
|
55
|
+
/** Append a line to both summary output and verbose log. */
|
|
56
|
+
writeOutput(line: string): void;
|
|
57
|
+
/** Append a line to verbose log only (not the summary ring buffer). */
|
|
58
|
+
writeOutputFileOnly(line: string): void;
|
|
59
|
+
/** Register an AbortController so cancellation can propagate. */
|
|
60
|
+
registerAbort(controller: AbortController): void;
|
|
61
|
+
/** Clear the registered AbortController. */
|
|
62
|
+
unregisterAbort(): void;
|
|
63
|
+
/** Whether the task has reached a terminal status. */
|
|
64
|
+
isTerminal(): boolean;
|
|
65
|
+
/** Whether the task is still active (not terminal). */
|
|
66
|
+
isAlive(): boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Register a callback invoked when the task is aborted.
|
|
69
|
+
* Returns an unsubscribe function.
|
|
70
|
+
*/
|
|
71
|
+
onAborted(cb: () => void): () => void;
|
|
72
|
+
/** Push a question onto the pending queue. */
|
|
73
|
+
queuePendingQuestion(q: PendingQuestion): void;
|
|
74
|
+
/** Shift the first question off the pending queue. */
|
|
75
|
+
dequeuePendingQuestion(): PendingQuestion | undefined;
|
|
76
|
+
/** Snapshot of the current pending question queue. */
|
|
77
|
+
getPendingQuestions(): readonly PendingQuestion[];
|
|
78
|
+
/** The original prompt submitted with the task. */
|
|
79
|
+
getPrompt(): string;
|
|
80
|
+
/** The working directory for the task. */
|
|
81
|
+
getCwd(): string;
|
|
82
|
+
/** The timeout in milliseconds (0 means no timeout). */
|
|
83
|
+
getTimeout(): number;
|
|
84
|
+
/** The model requested for this task, if any. */
|
|
85
|
+
getModel(): string | undefined;
|
|
86
|
+
/** The task type (coder, planner, tester, etc.). */
|
|
87
|
+
getTaskType(): TaskTypeName;
|
|
88
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-handle.js","sourceRoot":"","sources":["../../../src/task/task-handle.ts"],"names":[],"mappings":""}
|