@excitedjs/agent-runtime-codex 0.2.0-beta.91 → 0.3.0-beta.100
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/diagnostic.js +1 -1
- package/dist/diagnostic.js.map +1 -1
- package/dist/events.d.ts +0 -10
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +0 -12
- package/dist/events.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/provider.d.ts +4 -2
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +26 -16
- package/dist/provider.js.map +1 -1
- package/dist/runtime-support.d.ts +1 -14
- package/dist/runtime-support.d.ts.map +1 -1
- package/dist/runtime-support.js +18 -40
- package/dist/runtime-support.js.map +1 -1
- package/dist/runtime.d.ts +10 -18
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +48 -154
- package/dist/runtime.js.map +1 -1
- package/dist/skill-roots.d.ts.map +1 -1
- package/dist/skill-roots.js +1 -4
- package/dist/skill-roots.js.map +1 -1
- package/dist/turn-manager.d.ts +5 -17
- package/dist/turn-manager.d.ts.map +1 -1
- package/dist/turn-manager.js +29 -49
- package/dist/turn-manager.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/version.d.ts +5 -4
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +5 -4
- package/dist/version.js.map +1 -1
- package/package.json +3 -3
package/dist/runtime.js
CHANGED
|
@@ -3,16 +3,15 @@ import { CodexProcess, } from './supervisor.js';
|
|
|
3
3
|
import { CodexWsClient } from './rpc.js';
|
|
4
4
|
import { performInitializeHandshake } from './handshake.js';
|
|
5
5
|
import { TurnManager, } from './turn-manager.js';
|
|
6
|
-
import {
|
|
6
|
+
import { extractAssistantText, } from './events.js';
|
|
7
7
|
import { renderChannelInput } from '@excitedjs/dreamux-utils';
|
|
8
8
|
import { createFailFastApprovalHandler } from './approval.js';
|
|
9
9
|
import { BUILTIN_CODEX_PROVIDER_REF } from './provider-ref.js';
|
|
10
10
|
import { CODEX_AGENT_RUNTIME_CAPABILITIES } from './provider.js';
|
|
11
|
-
import {
|
|
11
|
+
import { codexProcessEnv, renderCodexSystemPromptAppend, } from './runtime-support.js';
|
|
12
12
|
import { applyCodexSkillExtraRoots } from './skill-roots.js';
|
|
13
13
|
const DEFAULT_RESTART_BACKOFF_BASE_MS = 1000;
|
|
14
14
|
const DEFAULT_RESTART_BACKOFF_MAX_MS = 30_000;
|
|
15
|
-
const COMPLETION_ID_CACHE_LIMIT = 256;
|
|
16
15
|
export class CodexRuntime {
|
|
17
16
|
identity;
|
|
18
17
|
deps;
|
|
@@ -23,12 +22,6 @@ export class CodexRuntime {
|
|
|
23
22
|
threadId = null;
|
|
24
23
|
threadResumed = false;
|
|
25
24
|
status = 'declared';
|
|
26
|
-
teammateDeliverySeq = 0;
|
|
27
|
-
inFlightCompletionDeliveries = new Map();
|
|
28
|
-
acceptedCompletionIds = new Set();
|
|
29
|
-
acceptedCompletionOrder = [];
|
|
30
|
-
injectedCompletionIds = new Set();
|
|
31
|
-
injectedCompletionOrder = [];
|
|
32
25
|
log;
|
|
33
26
|
stopping = false;
|
|
34
27
|
restarting = false;
|
|
@@ -64,10 +57,10 @@ export class CodexRuntime {
|
|
|
64
57
|
getCapabilities() {
|
|
65
58
|
return CODEX_AGENT_RUNTIME_CAPABILITIES;
|
|
66
59
|
}
|
|
67
|
-
|
|
68
|
-
return this.threadId;
|
|
60
|
+
getCheckpoint() {
|
|
61
|
+
return this.threadId === null ? null : { id: this.threadId };
|
|
69
62
|
}
|
|
70
|
-
|
|
63
|
+
wasCheckpointResumed() {
|
|
71
64
|
return this.threadResumed;
|
|
72
65
|
}
|
|
73
66
|
async getLast() {
|
|
@@ -76,38 +69,15 @@ export class CodexRuntime {
|
|
|
76
69
|
async getContext() {
|
|
77
70
|
return null;
|
|
78
71
|
}
|
|
79
|
-
async resume(
|
|
80
|
-
if (input.checkpoint !== undefined && input.checkpoint !== null) {
|
|
81
|
-
if (input.checkpoint.kind !== 'codexThread') {
|
|
82
|
-
throw new Error(`unsupported resume checkpoint for Codex runtime: ${input.checkpoint.kind}`);
|
|
83
|
-
}
|
|
84
|
-
this.threadId = input.checkpoint.id;
|
|
85
|
-
}
|
|
72
|
+
async resume() {
|
|
86
73
|
await this.start();
|
|
87
74
|
}
|
|
88
|
-
async submitRestartNotice(text) {
|
|
89
|
-
if (this.turnManager === null)
|
|
90
|
-
return { status: 'stopped' };
|
|
91
|
-
const result = await this.turnManager.injectNotice(text);
|
|
92
|
-
if (result.status === 'submitted') {
|
|
93
|
-
this.log('info', 'restart notice injected into resumed thread');
|
|
94
|
-
}
|
|
95
|
-
else if (result.status === 'skipped') {
|
|
96
|
-
this.log('info', 'restart notice skipped; a live inbound already arrived');
|
|
97
|
-
}
|
|
98
|
-
return result;
|
|
99
|
-
}
|
|
100
|
-
async submitSystemInput(text) {
|
|
101
|
-
if (this.turnManager === null)
|
|
102
|
-
return { status: 'stopped' };
|
|
103
|
-
return this.turnManager.submitSystemInput(text);
|
|
104
|
-
}
|
|
105
75
|
async start() {
|
|
106
76
|
this.stopping = false;
|
|
107
77
|
this.restarting = false;
|
|
108
78
|
this.clearRestartTimer();
|
|
109
79
|
this.setStatus('starting');
|
|
110
|
-
await this.state.setStatus(
|
|
80
|
+
await this.state.setStatus('starting', {
|
|
111
81
|
last_started_at: Date.now(),
|
|
112
82
|
});
|
|
113
83
|
try {
|
|
@@ -118,7 +88,7 @@ export class CodexRuntime {
|
|
|
118
88
|
const msg = err instanceof Error ? err.message : String(err);
|
|
119
89
|
this.log('error', `start failed: ${msg}`, err);
|
|
120
90
|
this.setStatus('degraded');
|
|
121
|
-
await this.state.setStatus(
|
|
91
|
+
await this.state.setStatus('degraded', {
|
|
122
92
|
last_error: msg,
|
|
123
93
|
});
|
|
124
94
|
await this.cleanupOnFailure();
|
|
@@ -195,21 +165,22 @@ export class CodexRuntime {
|
|
|
195
165
|
if (this.client === null)
|
|
196
166
|
throw new Error('client not initialized');
|
|
197
167
|
this.threadResumed = false;
|
|
168
|
+
const threadInstructions = this.threadInstructionParams();
|
|
198
169
|
const existing = this.threadId ?? this.identity.checkpoint_id ?? null;
|
|
199
170
|
if (existing === null) {
|
|
200
171
|
const params = {
|
|
201
|
-
|
|
172
|
+
...threadInstructions,
|
|
202
173
|
};
|
|
203
174
|
const res = await this.client.request('thread/start', params);
|
|
204
175
|
this.threadId = res.thread.id;
|
|
205
|
-
await this.state.
|
|
176
|
+
await this.state.setCheckpoint({ id: this.threadId });
|
|
206
177
|
this.log('info', `started fresh thread ${this.threadId}`);
|
|
207
178
|
return;
|
|
208
179
|
}
|
|
209
180
|
try {
|
|
210
181
|
const params = {
|
|
211
182
|
threadId: existing,
|
|
212
|
-
|
|
183
|
+
...threadInstructions,
|
|
213
184
|
};
|
|
214
185
|
await this.client.request('thread/resume', params);
|
|
215
186
|
this.threadId = existing;
|
|
@@ -219,112 +190,54 @@ export class CodexRuntime {
|
|
|
219
190
|
catch (err) {
|
|
220
191
|
const msg = err instanceof Error ? err.message : String(err);
|
|
221
192
|
this.log('warn', `thread/resume failed for ${existing}: ${msg}; starting fresh thread`);
|
|
222
|
-
const res = await this.client.request('thread/start', {
|
|
193
|
+
const res = await this.client.request('thread/start', { ...threadInstructions });
|
|
223
194
|
this.threadId = res.thread.id;
|
|
224
|
-
if (this.state.
|
|
225
|
-
await this.state.
|
|
195
|
+
if (this.state.recordLostCheckpoint !== undefined) {
|
|
196
|
+
await this.state.recordLostCheckpoint({ id: existing }, { id: this.threadId }, `thread/resume failed: ${msg}`);
|
|
226
197
|
}
|
|
227
198
|
else {
|
|
228
|
-
await this.state.
|
|
229
|
-
await this.state.setStatus(
|
|
199
|
+
await this.state.setCheckpoint({ id: this.threadId });
|
|
200
|
+
await this.state.setStatus('degraded', {
|
|
230
201
|
last_error: `thread/resume failed: ${msg}`,
|
|
231
202
|
});
|
|
232
203
|
}
|
|
233
204
|
}
|
|
234
205
|
}
|
|
206
|
+
threadInstructionParams() {
|
|
207
|
+
const params = {};
|
|
208
|
+
if (this.deps.systemPromptReplace !== undefined) {
|
|
209
|
+
params.baseInstructions = this.deps.systemPromptReplace;
|
|
210
|
+
return params;
|
|
211
|
+
}
|
|
212
|
+
if (this.deps.systemPromptAppend !== undefined) {
|
|
213
|
+
const rendered = renderCodexSystemPromptAppend(this.deps.systemPromptAppend);
|
|
214
|
+
if (rendered !== '')
|
|
215
|
+
params.developerInstructions = rendered;
|
|
216
|
+
}
|
|
217
|
+
return params;
|
|
218
|
+
}
|
|
235
219
|
async channelInput(input, hooks = {}) {
|
|
236
220
|
if (this.turnManager === null) {
|
|
237
221
|
return { status: 'failed', error: new Error('turn manager not initialized') };
|
|
238
222
|
}
|
|
239
223
|
return this.turnManager.enqueue({ ...input, text: renderChannelInput(input) }, hooks);
|
|
240
224
|
}
|
|
241
|
-
async systemInput(notice) {
|
|
242
|
-
if (notice.reason === 'restart-notice') {
|
|
243
|
-
return this.submitRestartNotice(notice.text);
|
|
244
|
-
}
|
|
245
|
-
return this.submitSystemInput(notice.text);
|
|
246
|
-
}
|
|
247
225
|
waitIdle() {
|
|
248
226
|
return this.turnManager?.waitIdle() ?? Promise.resolve();
|
|
249
227
|
}
|
|
250
|
-
async completionInput(
|
|
251
|
-
if (this.
|
|
252
|
-
return { status: '
|
|
253
|
-
|
|
254
|
-
const inFlight = this.inFlightCompletionDeliveries.get(completion.id);
|
|
255
|
-
if (inFlight !== undefined)
|
|
256
|
-
return inFlight;
|
|
257
|
-
const delivery = this.deliverCompletionInput(completion);
|
|
258
|
-
this.inFlightCompletionDeliveries.set(completion.id, delivery);
|
|
259
|
-
try {
|
|
260
|
-
const outcome = await delivery;
|
|
261
|
-
if (outcome.status === 'accepted') {
|
|
262
|
-
this.rememberAcceptedCompletion(completion.id);
|
|
263
|
-
}
|
|
264
|
-
return outcome;
|
|
265
|
-
}
|
|
266
|
-
finally {
|
|
267
|
-
this.inFlightCompletionDeliveries.delete(completion.id);
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
async deliverCompletionInput(completion) {
|
|
271
|
-
if (this.client === null || this.turnManager === null || this.stopping) {
|
|
272
|
-
return { status: 'unsupported', reason: 'dispatcher runtime stopped' };
|
|
273
|
-
}
|
|
274
|
-
const threadId = this.threadId;
|
|
275
|
-
if (threadId === null) {
|
|
276
|
-
return {
|
|
277
|
-
status: 'failed',
|
|
278
|
-
error: new Error('teammate completion delivery has no thread id'),
|
|
279
|
-
};
|
|
280
|
-
}
|
|
281
|
-
if (!this.injectedCompletionIds.has(completion.id)) {
|
|
282
|
-
try {
|
|
283
|
-
await injectThreadItems(this.client, threadId, [
|
|
284
|
-
await buildCodexCompletionItem(completion, this.paths.completionSpillDir(this.dispatcherId)),
|
|
285
|
-
]);
|
|
286
|
-
}
|
|
287
|
-
catch (err) {
|
|
288
|
-
const cause = err instanceof Error ? err.message : String(err);
|
|
289
|
-
return {
|
|
290
|
-
status: 'failed',
|
|
291
|
-
error: new Error(`teammate completion thread/inject_items failed (requires codex 0.137+): ${cause}`),
|
|
292
|
-
};
|
|
293
|
-
}
|
|
294
|
-
this.rememberInjectedCompletion(completion.id);
|
|
295
|
-
}
|
|
296
|
-
const deliverySeq = ++this.teammateDeliverySeq;
|
|
297
|
-
const delivery = await this.channelInput({
|
|
298
|
-
sourceId: `teammate:${completion.id}#${deliverySeq}`,
|
|
299
|
-
text: CODEX_COMPLETION_TRIGGER_TEXT,
|
|
300
|
-
});
|
|
301
|
-
switch (delivery.status) {
|
|
302
|
-
case 'submitted':
|
|
303
|
-
return { status: 'accepted' };
|
|
304
|
-
case 'stopped':
|
|
305
|
-
return { status: 'unsupported', reason: 'dispatcher runtime stopped' };
|
|
306
|
-
case 'failed':
|
|
307
|
-
return { status: 'failed', error: delivery.error };
|
|
308
|
-
case 'duplicate':
|
|
309
|
-
return {
|
|
310
|
-
status: 'failed',
|
|
311
|
-
error: new Error('teammate completion trigger unexpectedly deduplicated'),
|
|
312
|
-
};
|
|
313
|
-
case 'skipped':
|
|
314
|
-
return {
|
|
315
|
-
status: 'failed',
|
|
316
|
-
error: new Error('teammate completion trigger unexpectedly skipped'),
|
|
317
|
-
};
|
|
318
|
-
}
|
|
228
|
+
async completionInput(input) {
|
|
229
|
+
if (this.turnManager === null)
|
|
230
|
+
return { status: 'stopped' };
|
|
231
|
+
return this.turnManager.submitTextInput(input);
|
|
319
232
|
}
|
|
320
233
|
async stop() {
|
|
321
234
|
this.stopping = true;
|
|
322
235
|
this.clearRestartTimer();
|
|
323
236
|
this.setStatus('stopping');
|
|
324
|
-
await this.state.setStatus(
|
|
237
|
+
await this.state.setStatus('stopping');
|
|
325
238
|
await this.teardownCodexRuntime();
|
|
326
239
|
this.setStatus('stopped');
|
|
327
|
-
await this.state.setStatus(
|
|
240
|
+
await this.state.setStatus('stopped');
|
|
328
241
|
}
|
|
329
242
|
async cleanupOnFailure() {
|
|
330
243
|
this.clearRestartTimer();
|
|
@@ -374,7 +287,7 @@ export class CodexRuntime {
|
|
|
374
287
|
this.log('warn', `${reason}; restarting in ${delay}ms`);
|
|
375
288
|
this.setStatus('degraded');
|
|
376
289
|
void this.state
|
|
377
|
-
.setStatus(
|
|
290
|
+
.setStatus('degraded', { last_error: reason })
|
|
378
291
|
.catch((err) => this.log('warn', 'failed to persist degraded status', err));
|
|
379
292
|
this.restartTimer = setTimeout(() => {
|
|
380
293
|
this.restartTimer = null;
|
|
@@ -387,7 +300,7 @@ export class CodexRuntime {
|
|
|
387
300
|
this.restarting = true;
|
|
388
301
|
let retryReason = null;
|
|
389
302
|
this.setStatus('starting');
|
|
390
|
-
await this.state.setStatus(
|
|
303
|
+
await this.state.setStatus('starting', {
|
|
391
304
|
last_started_at: Date.now(),
|
|
392
305
|
});
|
|
393
306
|
try {
|
|
@@ -407,7 +320,7 @@ export class CodexRuntime {
|
|
|
407
320
|
const msg = err instanceof Error ? err.message : String(err);
|
|
408
321
|
this.log('error', `restart failed: ${msg}`, err);
|
|
409
322
|
this.setStatus('degraded');
|
|
410
|
-
await this.state.setStatus(
|
|
323
|
+
await this.state.setStatus('degraded', {
|
|
411
324
|
last_error: msg,
|
|
412
325
|
});
|
|
413
326
|
await this.teardownCodexRuntime();
|
|
@@ -432,40 +345,21 @@ export class CodexRuntime {
|
|
|
432
345
|
}
|
|
433
346
|
async markReady() {
|
|
434
347
|
this.setStatus('ready');
|
|
435
|
-
await this.state.setStatus(
|
|
348
|
+
await this.state.setStatus('ready', {
|
|
436
349
|
last_ready_at: Date.now(),
|
|
437
350
|
last_error: null,
|
|
438
351
|
});
|
|
439
352
|
}
|
|
440
353
|
recordCollectedTurn(turn) {
|
|
441
|
-
const
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
this.lastResult = { text: last.text };
|
|
445
|
-
}
|
|
446
|
-
this.deps.onTurnSettled?.({ turnId: turn.turnId, status: 'completed' });
|
|
447
|
-
}
|
|
448
|
-
rememberInjectedCompletion(id) {
|
|
449
|
-
if (this.injectedCompletionIds.has(id))
|
|
450
|
-
return;
|
|
451
|
-
this.injectedCompletionIds.add(id);
|
|
452
|
-
this.injectedCompletionOrder.push(id);
|
|
453
|
-
while (this.injectedCompletionOrder.length > COMPLETION_ID_CACHE_LIMIT) {
|
|
454
|
-
const evicted = this.injectedCompletionOrder.shift();
|
|
455
|
-
if (evicted !== undefined)
|
|
456
|
-
this.injectedCompletionIds.delete(evicted);
|
|
457
|
-
}
|
|
458
|
-
}
|
|
459
|
-
rememberAcceptedCompletion(id) {
|
|
460
|
-
if (this.acceptedCompletionIds.has(id))
|
|
461
|
-
return;
|
|
462
|
-
this.acceptedCompletionIds.add(id);
|
|
463
|
-
this.acceptedCompletionOrder.push(id);
|
|
464
|
-
while (this.acceptedCompletionOrder.length > COMPLETION_ID_CACHE_LIMIT) {
|
|
465
|
-
const evicted = this.acceptedCompletionOrder.shift();
|
|
466
|
-
if (evicted !== undefined)
|
|
467
|
-
this.acceptedCompletionIds.delete(evicted);
|
|
354
|
+
const resultText = extractAssistantText(turn);
|
|
355
|
+
if (resultText !== null) {
|
|
356
|
+
this.lastResult = { text: resultText };
|
|
468
357
|
}
|
|
358
|
+
this.deps.onTurnSettled?.({
|
|
359
|
+
turnId: turn.turnId,
|
|
360
|
+
status: 'completed',
|
|
361
|
+
result: { text: resultText },
|
|
362
|
+
});
|
|
469
363
|
}
|
|
470
364
|
setStatus(s) {
|
|
471
365
|
this.status = s;
|
package/dist/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-roots.d.ts","sourceRoot":"","sources":["../src/skill-roots.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"skill-roots.d.ts","sourceRoot":"","sources":["../src/skill-roots.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,wBAAsB,yBAAyB,CAAC,KAAK,EAAE;IACrD,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC5C,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7E,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBhB;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAWjE"}
|
package/dist/skill-roots.js
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import { dirname } from 'node:path';
|
|
2
|
-
const CODEX_SKILL_DIR_LAYOUT = 'skill-dir';
|
|
3
2
|
export async function applyCodexSkillExtraRoots(input) {
|
|
4
3
|
if (input.sources.length === 0)
|
|
5
4
|
return;
|
|
6
5
|
const extraRoots = [
|
|
7
|
-
...new Set(input.sources
|
|
8
|
-
.filter((source) => source.layout === CODEX_SKILL_DIR_LAYOUT)
|
|
9
|
-
.map((source) => dirname(source.path))),
|
|
6
|
+
...new Set(input.sources.map((source) => dirname(source.path))),
|
|
10
7
|
];
|
|
11
8
|
if (extraRoots.length === 0)
|
|
12
9
|
return;
|
package/dist/skill-roots.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-roots.js","sourceRoot":"","sources":["../src/skill-roots.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,MAAM,
|
|
1
|
+
{"version":3,"file":"skill-roots.js","sourceRoot":"","sources":["../src/skill-roots.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,KAI/C;IACC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACvC,MAAM,UAAU,GAAG;QACjB,GAAG,IAAI,GAAG,CACR,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CACpD;KACF,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACpC,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IACtE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,2BAA2B,CAAC,GAAG,CAAC,EAAE,CAAC;YACrC,KAAK,CAAC,GAAG,CACP,MAAM,EACN,iFAAiF,UAAU,CAAC,MAAM,6BAA6B,EAC/H,GAAG,CACJ,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,KAAK,CAAC,GAAG,CACP,MAAM,EACN,WAAW,UAAU,CAAC,MAAM,yBAAyB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7E,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,GAAY;IACtD,MAAM,OAAO,GAAG,CACd,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CACjD,CAAC,WAAW,EAAE,CAAC;IAChB,OAAO,CACL,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACnC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAClC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CACvC,CAAC;AACJ,CAAC"}
|
package/dist/turn-manager.d.ts
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { type CollectedTurn } from './events.js';
|
|
11
11
|
import type { CodexWsClient } from './rpc.js';
|
|
12
|
-
import type { InboundTurnInput, InboundDeliveryResult,
|
|
12
|
+
import type { InboundTurnInput, InboundDeliveryResult, InboundDeliveryHooks, AgentRuntimeTextInput, TurnSettledSignal } from '@excitedjs/dreamux-types';
|
|
13
13
|
export interface TurnManagerOptions {
|
|
14
14
|
dispatcherId: string;
|
|
15
15
|
/** Lazily resolved Codex thread id (set after thread/start | resume). */
|
|
@@ -39,14 +39,9 @@ export declare class TurnManager {
|
|
|
39
39
|
private readonly opts;
|
|
40
40
|
private readonly seenMessageIds;
|
|
41
41
|
private readonly seenMessageIdOrder;
|
|
42
|
+
private readonly seenTextInputIds;
|
|
43
|
+
private readonly seenTextInputIdOrder;
|
|
42
44
|
private stopped;
|
|
43
|
-
/**
|
|
44
|
-
* Set once any real inbound has been accepted and handed to Codex. There is
|
|
45
|
-
* no FIFO queue here — inbound submission folds onto Codex's active turn — so
|
|
46
|
-
* this flag is what lets a best-effort restart-notice injection detect an
|
|
47
|
-
* in-flight inbound and skip rather than wake the thread twice (issue #78).
|
|
48
|
-
*/
|
|
49
|
-
private inboundSubmitted;
|
|
50
45
|
private activeTurnSlot;
|
|
51
46
|
private activeTurnId;
|
|
52
47
|
/**
|
|
@@ -67,15 +62,7 @@ export declare class TurnManager {
|
|
|
67
62
|
* process already saw the message_id.
|
|
68
63
|
*/
|
|
69
64
|
enqueue(input: InboundTurnInput, hooks?: InboundDeliveryHooks): Promise<InboundDeliveryResult>;
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Best-effort one-shot notice injected after a `daemon restart --notify-
|
|
73
|
-
* resumed` resumes this dispatcher's thread. Skips if the manager is stopped,
|
|
74
|
-
* if a real inbound has already woken the thread, or if no thread is bound.
|
|
75
|
-
* A submission failure is reported, never thrown — it must not fail the
|
|
76
|
-
* dispatcher's start or the restart.
|
|
77
|
-
*/
|
|
78
|
-
injectNotice(text: string): Promise<NoticeInjectionResult>;
|
|
65
|
+
submitTextInput(input: AgentRuntimeTextInput): Promise<InboundDeliveryResult>;
|
|
79
66
|
stop(): Promise<void>;
|
|
80
67
|
private claimActiveTurnSlot;
|
|
81
68
|
private recordTurnStartSuccess;
|
|
@@ -93,6 +80,7 @@ export declare class TurnManager {
|
|
|
93
80
|
private trackTurn;
|
|
94
81
|
private notifyAccepted;
|
|
95
82
|
private rememberMessageId;
|
|
83
|
+
private rememberTextInputId;
|
|
96
84
|
private resolveIdleWaitersIfIdle;
|
|
97
85
|
}
|
|
98
86
|
//# sourceMappingURL=turn-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-manager.d.ts","sourceRoot":"","sources":["../src/turn-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAGL,KAAK,aAAa,EAEnB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,
|
|
1
|
+
{"version":3,"file":"turn-manager.d.ts","sourceRoot":"","sources":["../src/turn-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAGL,KAAK,aAAa,EAEnB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAalC,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,WAAW,IAAI,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,aAAa,CAAC;IACtB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,0DAA0D;IAC1D,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kDAAkD;IAClD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7E,4EAA4E;IAC5E,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAChD;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC;CACtD;AAED,qBAAa,WAAW;IAmBV,OAAO,CAAC,QAAQ,CAAC,IAAI;IAlBjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IACpD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAgB;IACnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;IACtD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAgB;IACrD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,YAAY,CAAuB;IAC3C;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IACpD,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAyC;IAC7D,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;gBAElB,IAAI,EAAE,kBAAkB;IAYrD,MAAM,IAAI,OAAO;IAIjB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAYzB;;;OAGG;IACG,OAAO,CACX,KAAK,EAAE,gBAAgB,EACvB,KAAK,GAAE,oBAAyB,GAC/B,OAAO,CAAC,qBAAqB,CAAC;IAmD3B,eAAe,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAiD7E,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB3B,OAAO,CAAC,mBAAmB;IA+B3B,OAAO,CAAC,sBAAsB;IAmB9B,OAAO,CAAC,sBAAsB;IAmB9B,OAAO,CAAC,gBAAgB;IAOxB;;;;;;;;OAQG;IACH,OAAO,CAAC,SAAS;YAsCH,cAAc;IAgB5B,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,wBAAwB;CAOjC"}
|
package/dist/turn-manager.js
CHANGED
|
@@ -13,14 +13,9 @@ export class TurnManager {
|
|
|
13
13
|
opts;
|
|
14
14
|
seenMessageIds = new Set();
|
|
15
15
|
seenMessageIdOrder = [];
|
|
16
|
+
seenTextInputIds = new Set();
|
|
17
|
+
seenTextInputIdOrder = [];
|
|
16
18
|
stopped = false;
|
|
17
|
-
/**
|
|
18
|
-
* Set once any real inbound has been accepted and handed to Codex. There is
|
|
19
|
-
* no FIFO queue here — inbound submission folds onto Codex's active turn — so
|
|
20
|
-
* this flag is what lets a best-effort restart-notice injection detect an
|
|
21
|
-
* in-flight inbound and skip rather than wake the thread twice (issue #78).
|
|
22
|
-
*/
|
|
23
|
-
inboundSubmitted = false;
|
|
24
19
|
activeTurnSlot = null;
|
|
25
20
|
activeTurnId = null;
|
|
26
21
|
/**
|
|
@@ -69,9 +64,6 @@ export class TurnManager {
|
|
|
69
64
|
if (!this.rememberMessageId(input.sourceId)) {
|
|
70
65
|
return { status: 'duplicate' };
|
|
71
66
|
}
|
|
72
|
-
// Mark before any await so a concurrent restart-notice injection observes
|
|
73
|
-
// that a real inbound is in flight and skips itself.
|
|
74
|
-
this.inboundSubmitted = true;
|
|
75
67
|
const threadId = this.opts.getThreadId();
|
|
76
68
|
if (threadId === null) {
|
|
77
69
|
await this.notifyAccepted(input, hooks);
|
|
@@ -104,12 +96,17 @@ export class TurnManager {
|
|
|
104
96
|
return { status: 'failed', error };
|
|
105
97
|
}
|
|
106
98
|
}
|
|
107
|
-
async
|
|
99
|
+
async submitTextInput(input) {
|
|
108
100
|
if (this.stopped)
|
|
109
101
|
return { status: 'stopped' };
|
|
102
|
+
if (input.sourceId !== undefined &&
|
|
103
|
+
input.sourceId !== '' &&
|
|
104
|
+
!this.rememberTextInputId(input.sourceId)) {
|
|
105
|
+
return { status: 'duplicate' };
|
|
106
|
+
}
|
|
110
107
|
const threadId = this.opts.getThreadId();
|
|
111
108
|
if (threadId === null) {
|
|
112
|
-
const error = new Error('
|
|
109
|
+
const error = new Error('text input submitted without thread_id');
|
|
113
110
|
this.log('error', error.message);
|
|
114
111
|
return { status: 'failed', error };
|
|
115
112
|
}
|
|
@@ -117,12 +114,12 @@ export class TurnManager {
|
|
|
117
114
|
activeTurn.slot.pendingSubmissions += 1;
|
|
118
115
|
let res;
|
|
119
116
|
try {
|
|
120
|
-
res = await submitTurnStart(this.opts.client, threadId, text, this.opts.turnCwd ?? null);
|
|
117
|
+
res = await submitTurnStart(this.opts.client, threadId, input.text, this.opts.turnCwd ?? null);
|
|
121
118
|
}
|
|
122
119
|
catch (err) {
|
|
123
120
|
const error = err instanceof Error ? err : new Error(String(err));
|
|
124
121
|
this.recordTurnStartFailure(activeTurn.slot, error, activeTurn.primary);
|
|
125
|
-
this.log('error', `
|
|
122
|
+
this.log('error', `text turn/start submission failed: ${error.message}`, error);
|
|
126
123
|
return { status: 'failed', error };
|
|
127
124
|
}
|
|
128
125
|
const turnId = this.recordTurnStartSuccess(activeTurn.slot, res.turn.id, activeTurn.primary);
|
|
@@ -137,40 +134,6 @@ export class TurnManager {
|
|
|
137
134
|
return { status: 'failed', error };
|
|
138
135
|
}
|
|
139
136
|
}
|
|
140
|
-
/**
|
|
141
|
-
* Best-effort one-shot notice injected after a `daemon restart --notify-
|
|
142
|
-
* resumed` resumes this dispatcher's thread. Skips if the manager is stopped,
|
|
143
|
-
* if a real inbound has already woken the thread, or if no thread is bound.
|
|
144
|
-
* A submission failure is reported, never thrown — it must not fail the
|
|
145
|
-
* dispatcher's start or the restart.
|
|
146
|
-
*/
|
|
147
|
-
async injectNotice(text) {
|
|
148
|
-
if (this.stopped)
|
|
149
|
-
return { status: 'stopped' };
|
|
150
|
-
if (this.inboundSubmitted)
|
|
151
|
-
return { status: 'skipped' };
|
|
152
|
-
const threadId = this.opts.getThreadId();
|
|
153
|
-
if (threadId === null) {
|
|
154
|
-
const error = new Error('restart notice injected without thread_id');
|
|
155
|
-
this.log('error', error.message);
|
|
156
|
-
return { status: 'failed', error };
|
|
157
|
-
}
|
|
158
|
-
// Mark before submitting so a racing real inbound is not double-counted and
|
|
159
|
-
// a second injection cannot fire.
|
|
160
|
-
this.inboundSubmitted = true;
|
|
161
|
-
try {
|
|
162
|
-
const collector = subscribeTurnCollection(this.opts.client, threadId);
|
|
163
|
-
const res = await submitTurnStart(this.opts.client, threadId, text, this.opts.turnCwd ?? null);
|
|
164
|
-
this.trackTurn(res.turn.id, collector);
|
|
165
|
-
this.log('info', `injected restart notice into thread ${threadId}`);
|
|
166
|
-
return { status: 'submitted', turnId: res.turn.id };
|
|
167
|
-
}
|
|
168
|
-
catch (err) {
|
|
169
|
-
const error = err instanceof Error ? err : new Error(String(err));
|
|
170
|
-
this.log('warn', `restart notice injection failed: ${error.message}`, error);
|
|
171
|
-
return { status: 'failed', error };
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
137
|
async stop() {
|
|
175
138
|
this.stopped = true;
|
|
176
139
|
const activeSlot = this.activeTurnSlot;
|
|
@@ -182,7 +145,11 @@ export class TurnManager {
|
|
|
182
145
|
// (the WS is closing). Settle each as `stopped` so an interrupted teammate
|
|
183
146
|
// turn is delivered with a status rather than vanishing.
|
|
184
147
|
for (const turnId of this.pendingTurnIds) {
|
|
185
|
-
this.opts.onTurnSettled?.({
|
|
148
|
+
this.opts.onTurnSettled?.({
|
|
149
|
+
turnId,
|
|
150
|
+
status: 'stopped',
|
|
151
|
+
result: { text: null },
|
|
152
|
+
});
|
|
186
153
|
}
|
|
187
154
|
this.pendingTurnIds.clear();
|
|
188
155
|
this.activeTurnId = null;
|
|
@@ -291,6 +258,7 @@ export class TurnManager {
|
|
|
291
258
|
this.opts.onTurnSettled?.({
|
|
292
259
|
turnId,
|
|
293
260
|
status: 'failed',
|
|
261
|
+
result: { text: null },
|
|
294
262
|
error: err instanceof Error ? err : new Error(String(err)),
|
|
295
263
|
});
|
|
296
264
|
this.resolveIdleWaitersIfIdle();
|
|
@@ -321,6 +289,18 @@ export class TurnManager {
|
|
|
321
289
|
}
|
|
322
290
|
return true;
|
|
323
291
|
}
|
|
292
|
+
rememberTextInputId(id) {
|
|
293
|
+
if (this.seenTextInputIds.has(id))
|
|
294
|
+
return false;
|
|
295
|
+
this.seenTextInputIds.add(id);
|
|
296
|
+
this.seenTextInputIdOrder.push(id);
|
|
297
|
+
while (this.seenTextInputIdOrder.length > this.messageIdDedupeWindow) {
|
|
298
|
+
const evicted = this.seenTextInputIdOrder.shift();
|
|
299
|
+
if (evicted !== undefined)
|
|
300
|
+
this.seenTextInputIds.delete(evicted);
|
|
301
|
+
}
|
|
302
|
+
return true;
|
|
303
|
+
}
|
|
324
304
|
resolveIdleWaitersIfIdle() {
|
|
325
305
|
if (this.isBusy())
|
|
326
306
|
return;
|