mcp-codex-subagent 2.0.9 → 2.0.11

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 (111) hide show
  1. package/dist/event/bus.d.ts +53 -0
  2. package/dist/event/bus.d.ts.map +1 -0
  3. package/dist/event/bus.js +94 -0
  4. package/dist/event/bus.js.map +1 -0
  5. package/dist/event/throttle.d.ts +36 -0
  6. package/dist/event/throttle.d.ts.map +1 -0
  7. package/dist/event/throttle.js +66 -0
  8. package/dist/event/throttle.js.map +1 -0
  9. package/dist/index.js +32 -1
  10. package/dist/index.js.map +1 -1
  11. package/dist/process/event-parser.d.ts +37 -0
  12. package/dist/process/event-parser.d.ts.map +1 -0
  13. package/dist/process/event-parser.js +141 -0
  14. package/dist/process/event-parser.js.map +1 -0
  15. package/dist/process/runner.d.ts +48 -0
  16. package/dist/process/runner.d.ts.map +1 -0
  17. package/dist/process/runner.js +227 -0
  18. package/dist/process/runner.js.map +1 -0
  19. package/dist/process/types.d.ts +74 -0
  20. package/dist/process/types.d.ts.map +1 -0
  21. package/dist/process/types.js +5 -0
  22. package/dist/process/types.js.map +1 -0
  23. package/dist/server.d.ts.map +1 -1
  24. package/dist/server.js +128 -36
  25. package/dist/server.js.map +1 -1
  26. package/dist/services/account-rotator.d.ts +28 -0
  27. package/dist/services/account-rotator.d.ts.map +1 -0
  28. package/dist/services/account-rotator.js +216 -0
  29. package/dist/services/account-rotator.js.map +1 -0
  30. package/dist/services/output-file.d.ts.map +1 -1
  31. package/dist/services/output-file.js +80 -36
  32. package/dist/services/output-file.js.map +1 -1
  33. package/dist/services/template-init.d.ts +10 -0
  34. package/dist/services/template-init.d.ts.map +1 -0
  35. package/dist/services/template-init.js +41 -0
  36. package/dist/services/template-init.js.map +1 -0
  37. package/dist/session/file-storage.d.ts +27 -0
  38. package/dist/session/file-storage.d.ts.map +1 -0
  39. package/dist/session/file-storage.js +281 -0
  40. package/dist/session/file-storage.js.map +1 -0
  41. package/dist/session/storage.js +1 -1
  42. package/dist/session/storage.js.map +1 -1
  43. package/dist/task/state-machine.d.ts +27 -0
  44. package/dist/task/state-machine.d.ts.map +1 -0
  45. package/dist/task/state-machine.js +59 -0
  46. package/dist/task/state-machine.js.map +1 -0
  47. package/dist/task/store.d.ts +91 -0
  48. package/dist/task/store.d.ts.map +1 -0
  49. package/dist/task/store.js +317 -0
  50. package/dist/task/store.js.map +1 -0
  51. package/dist/task/types.d.ts +72 -0
  52. package/dist/task/types.d.ts.map +1 -0
  53. package/dist/task/types.js +13 -0
  54. package/dist/task/types.js.map +1 -0
  55. package/dist/templates/index.d.ts +16 -0
  56. package/dist/templates/index.d.ts.map +1 -1
  57. package/dist/templates/index.js +57 -5
  58. package/dist/templates/index.js.map +1 -1
  59. package/dist/tools/definitions.d.ts +5 -1
  60. package/dist/tools/definitions.d.ts.map +1 -1
  61. package/dist/tools/definitions.js +253 -179
  62. package/dist/tools/definitions.js.map +1 -1
  63. package/dist/tools/description-builder.d.ts +18 -0
  64. package/dist/tools/description-builder.d.ts.map +1 -0
  65. package/dist/tools/description-builder.js +88 -0
  66. package/dist/tools/description-builder.js.map +1 -0
  67. package/dist/tools/handlers.d.ts +19 -17
  68. package/dist/tools/handlers.d.ts.map +1 -1
  69. package/dist/tools/handlers.js +287 -341
  70. package/dist/tools/handlers.js.map +1 -1
  71. package/dist/types.d.ts +5 -12
  72. package/dist/types.d.ts.map +1 -1
  73. package/dist/types.js +7 -10
  74. package/dist/types.js.map +1 -1
  75. package/dist/utils/ring-buffer.d.ts +41 -0
  76. package/dist/utils/ring-buffer.d.ts.map +1 -0
  77. package/dist/utils/ring-buffer.js +83 -0
  78. package/dist/utils/ring-buffer.js.map +1 -0
  79. package/dist/wave/dag.d.ts +32 -0
  80. package/dist/wave/dag.d.ts.map +1 -0
  81. package/dist/wave/dag.js +186 -0
  82. package/dist/wave/dag.js.map +1 -0
  83. package/dist/wave/git.d.ts +57 -0
  84. package/dist/wave/git.d.ts.map +1 -0
  85. package/dist/wave/git.js +227 -0
  86. package/dist/wave/git.js.map +1 -0
  87. package/dist/wave/orchestrator.d.ts +15 -0
  88. package/dist/wave/orchestrator.d.ts.map +1 -0
  89. package/dist/wave/orchestrator.js +565 -0
  90. package/dist/wave/orchestrator.js.map +1 -0
  91. package/dist/wave/progress.d.ts +51 -0
  92. package/dist/wave/progress.d.ts.map +1 -0
  93. package/dist/wave/progress.js +176 -0
  94. package/dist/wave/progress.js.map +1 -0
  95. package/dist/wave/registry.d.ts +66 -0
  96. package/dist/wave/registry.d.ts.map +1 -0
  97. package/dist/wave/registry.js +340 -0
  98. package/dist/wave/registry.js.map +1 -0
  99. package/dist/wave/semaphore.d.ts +42 -0
  100. package/dist/wave/semaphore.d.ts.map +1 -0
  101. package/dist/wave/semaphore.js +119 -0
  102. package/dist/wave/semaphore.js.map +1 -0
  103. package/dist/wave/types.d.ts +197 -0
  104. package/dist/wave/types.d.ts.map +1 -0
  105. package/dist/wave/types.js +147 -0
  106. package/dist/wave/types.js.map +1 -0
  107. package/package.json +1 -1
  108. package/dist/services/task-manager.d.ts +0 -69
  109. package/dist/services/task-manager.d.ts.map +0 -1
  110. package/dist/services/task-manager.js +0 -173
  111. package/dist/services/task-manager.js.map +0 -1
@@ -1,173 +0,0 @@
1
- /**
2
- * In-memory task state manager for async codex execution.
3
- * Tracks background codex processes and their output.
4
- */
5
- import { generateTaskId, normalizeTaskId } from '../utils/task-id-generator.js';
6
- import { createOutputFile, appendToOutputFile, finalizeOutputFile, } from './output-file.js';
7
- // --- Constants ---
8
- const MAX_TASKS = 100;
9
- const MAX_OUTPUT_LINES = 2000;
10
- // --- Task Manager ---
11
- // In-memory task store
12
- const tasks = new Map();
13
- // Background process references (not serialized)
14
- const processes = new Map();
15
- /**
16
- * Generate a collision-free task ID.
17
- */
18
- function generateUniqueTaskId() {
19
- let id = generateTaskId();
20
- let attempts = 0;
21
- while (tasks.has(normalizeTaskId(id)) && attempts < 20) {
22
- id = generateTaskId();
23
- attempts++;
24
- }
25
- // Fallback to timestamp-based ID if collisions persist
26
- if (tasks.has(normalizeTaskId(id))) {
27
- id = `task-${Date.now()}-${Math.floor(Math.random() * 1000)}`;
28
- }
29
- return id;
30
- }
31
- /**
32
- * Evict oldest completed/failed tasks if at capacity.
33
- */
34
- function evictIfNeeded() {
35
- if (tasks.size < MAX_TASKS)
36
- return;
37
- // Find terminal tasks sorted by startTime (oldest first)
38
- const terminal = [...tasks.values()]
39
- .filter((t) => t.status === 'completed' || t.status === 'failed')
40
- .sort((a, b) => a.startTime.localeCompare(b.startTime));
41
- for (const task of terminal) {
42
- if (tasks.size < MAX_TASKS)
43
- break;
44
- tasks.delete(normalizeTaskId(task.id));
45
- processes.delete(normalizeTaskId(task.id));
46
- }
47
- }
48
- /**
49
- * Create a new task and return it.
50
- */
51
- export async function createTask(opts) {
52
- evictIfNeeded();
53
- const id = generateUniqueTaskId();
54
- const outputFilePath = await createOutputFile(opts.cwd, id);
55
- const task = {
56
- id,
57
- status: 'running',
58
- prompt: opts.prompt.length > 200
59
- ? opts.prompt.slice(0, 200) + '...'
60
- : opts.prompt,
61
- role: opts.role,
62
- specialization: opts.specialization,
63
- model: opts.model,
64
- cwd: opts.cwd,
65
- startTime: new Date().toISOString(),
66
- outputFilePath: outputFilePath ?? undefined,
67
- outputLines: 0,
68
- output: [],
69
- };
70
- tasks.set(normalizeTaskId(id), task);
71
- return task;
72
- }
73
- /**
74
- * Get a task by ID.
75
- */
76
- export function getTask(id) {
77
- return tasks.get(normalizeTaskId(id));
78
- }
79
- /**
80
- * Get all tasks.
81
- */
82
- export function getAllTasks() {
83
- return [...tasks.values()];
84
- }
85
- /**
86
- * Update a task with partial data.
87
- */
88
- export function updateTask(id, partial) {
89
- const key = normalizeTaskId(id);
90
- const task = tasks.get(key);
91
- if (!task)
92
- return undefined;
93
- Object.assign(task, partial);
94
- return task;
95
- }
96
- /**
97
- * Append an output line to a task and stream to output file.
98
- */
99
- export async function appendOutput(id, line) {
100
- const key = normalizeTaskId(id);
101
- const task = tasks.get(key);
102
- if (!task)
103
- return;
104
- task.output.push(line);
105
- task.outputLines++;
106
- // Trim oldest lines if over limit
107
- if (task.output.length > MAX_OUTPUT_LINES) {
108
- task.output = task.output.slice(task.output.length - MAX_OUTPUT_LINES);
109
- }
110
- // Stream to output file
111
- if (task.outputFilePath) {
112
- await appendToOutputFile(task.cwd, task.id, line);
113
- }
114
- }
115
- /**
116
- * Mark task as completed with optional metadata.
117
- */
118
- export async function completeTask(id, metadata) {
119
- const key = normalizeTaskId(id);
120
- const task = tasks.get(key);
121
- if (!task)
122
- return;
123
- task.status = 'completed';
124
- task.endTime = new Date().toISOString();
125
- if (metadata)
126
- task.metadata = { ...task.metadata, ...metadata };
127
- await finalizeOutputFile(task.cwd, task.id, 'completed');
128
- processes.delete(key);
129
- }
130
- /**
131
- * Mark task as failed with error.
132
- */
133
- export async function failTask(id, error) {
134
- const key = normalizeTaskId(id);
135
- const task = tasks.get(key);
136
- if (!task)
137
- return;
138
- task.status = 'failed';
139
- task.endTime = new Date().toISOString();
140
- task.error = error;
141
- await finalizeOutputFile(task.cwd, task.id, 'failed', error);
142
- processes.delete(key);
143
- }
144
- /**
145
- * Store a background process reference for a task.
146
- */
147
- export function setProcess(id, proc) {
148
- processes.set(normalizeTaskId(id), proc);
149
- }
150
- /**
151
- * Get the background process for a task.
152
- */
153
- export function getProcess(id) {
154
- return processes.get(normalizeTaskId(id));
155
- }
156
- /**
157
- * Get task counts by status.
158
- */
159
- export function getTaskCounts() {
160
- const counts = {
161
- pending: 0,
162
- running: 0,
163
- completed: 0,
164
- failed: 0,
165
- total: 0,
166
- };
167
- for (const task of tasks.values()) {
168
- counts[task.status]++;
169
- counts.total++;
170
- }
171
- return counts;
172
- }
173
- //# sourceMappingURL=task-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"task-manager.js","sourceRoot":"","sources":["../../src/services/task-manager.ts"],"names":[],"mappings":"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"}