@excitedjs/agent-runtime-codex 0.7.0-beta.264 → 0.7.0-beta.271

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 (113) hide show
  1. package/README.md +26 -17
  2. package/dist/activity/cursor.d.ts +0 -1
  3. package/dist/activity/cursor.d.ts.map +1 -1
  4. package/dist/activity/cursor.js +4 -8
  5. package/dist/activity/cursor.js.map +1 -1
  6. package/dist/activity/opened-file.d.ts.map +1 -1
  7. package/dist/activity/opened-file.js +13 -10
  8. package/dist/activity/opened-file.js.map +1 -1
  9. package/dist/activity/path.d.ts +9 -4
  10. package/dist/activity/path.d.ts.map +1 -1
  11. package/dist/activity/path.js +56 -50
  12. package/dist/activity/path.js.map +1 -1
  13. package/dist/activity/reader.d.ts +1 -4
  14. package/dist/activity/reader.d.ts.map +1 -1
  15. package/dist/activity/reader.js +31 -57
  16. package/dist/activity/reader.js.map +1 -1
  17. package/dist/args.d.ts +10 -38
  18. package/dist/args.d.ts.map +1 -1
  19. package/dist/args.js +11 -74
  20. package/dist/args.js.map +1 -1
  21. package/dist/codex-home.d.ts +10 -15
  22. package/dist/codex-home.d.ts.map +1 -1
  23. package/dist/codex-home.js +55 -40
  24. package/dist/codex-home.js.map +1 -1
  25. package/dist/config.d.ts +3 -32
  26. package/dist/config.d.ts.map +1 -1
  27. package/dist/config.js +14 -56
  28. package/dist/config.js.map +1 -1
  29. package/dist/diagnostic.d.ts +9 -3
  30. package/dist/diagnostic.d.ts.map +1 -1
  31. package/dist/diagnostic.js +14 -10
  32. package/dist/diagnostic.js.map +1 -1
  33. package/dist/events.d.ts +18 -47
  34. package/dist/events.d.ts.map +1 -1
  35. package/dist/events.js +27 -200
  36. package/dist/events.js.map +1 -1
  37. package/dist/handshake.d.ts +1 -1
  38. package/dist/handshake.d.ts.map +1 -1
  39. package/dist/handshake.js.map +1 -1
  40. package/dist/index.d.ts +10 -18
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +9 -24
  43. package/dist/index.js.map +1 -1
  44. package/dist/output-schema-codec.d.ts +0 -1
  45. package/dist/output-schema-codec.d.ts.map +1 -1
  46. package/dist/output-schema-codec.js +7 -23
  47. package/dist/output-schema-codec.js.map +1 -1
  48. package/dist/paths.d.ts +11 -6
  49. package/dist/paths.d.ts.map +1 -1
  50. package/dist/paths.js +29 -18
  51. package/dist/paths.js.map +1 -1
  52. package/dist/plugin.d.ts +14 -0
  53. package/dist/plugin.d.ts.map +1 -0
  54. package/dist/plugin.js +11 -0
  55. package/dist/plugin.js.map +1 -0
  56. package/dist/provider.d.ts +8 -34
  57. package/dist/provider.d.ts.map +1 -1
  58. package/dist/provider.js +16 -57
  59. package/dist/provider.js.map +1 -1
  60. package/dist/reasoning-effort.d.ts +9 -2
  61. package/dist/reasoning-effort.d.ts.map +1 -1
  62. package/dist/reasoning-effort.js +29 -9
  63. package/dist/reasoning-effort.js.map +1 -1
  64. package/dist/rpc.d.ts.map +1 -1
  65. package/dist/rpc.js.map +1 -1
  66. package/dist/runtime-deps.d.ts +8 -18
  67. package/dist/runtime-deps.d.ts.map +1 -1
  68. package/dist/runtime.d.ts.map +1 -1
  69. package/dist/runtime.js +86 -48
  70. package/dist/runtime.js.map +1 -1
  71. package/dist/skill-roots.d.ts +2 -2
  72. package/dist/skill-roots.d.ts.map +1 -1
  73. package/dist/skill-roots.js +3 -5
  74. package/dist/skill-roots.js.map +1 -1
  75. package/dist/supervisor.d.ts +2 -2
  76. package/dist/supervisor.d.ts.map +1 -1
  77. package/dist/supervisor.js +1 -1
  78. package/dist/supervisor.js.map +1 -1
  79. package/dist/system-prompt.d.ts +9 -0
  80. package/dist/system-prompt.d.ts.map +1 -0
  81. package/dist/{runtime-support.js → system-prompt.js} +2 -15
  82. package/dist/system-prompt.js.map +1 -0
  83. package/dist/tool-display.d.ts.map +1 -1
  84. package/dist/tool-display.js +70 -19
  85. package/dist/tool-display.js.map +1 -1
  86. package/dist/turn-manager.d.ts +9 -9
  87. package/dist/turn-manager.d.ts.map +1 -1
  88. package/dist/turn-manager.js +79 -47
  89. package/dist/turn-manager.js.map +1 -1
  90. package/dist/types.d.ts +0 -2
  91. package/dist/types.d.ts.map +1 -1
  92. package/dist/version.d.ts.map +1 -1
  93. package/dist/version.js.map +1 -1
  94. package/package.json +5 -4
  95. package/dist/activity/budget.d.ts +0 -8
  96. package/dist/activity/budget.d.ts.map +0 -1
  97. package/dist/activity/budget.js +0 -9
  98. package/dist/activity/budget.js.map +0 -1
  99. package/dist/activity/error.d.ts +0 -16
  100. package/dist/activity/error.d.ts.map +0 -1
  101. package/dist/activity/error.js +0 -22
  102. package/dist/activity/error.js.map +0 -1
  103. package/dist/approval.d.ts +0 -31
  104. package/dist/approval.d.ts.map +0 -1
  105. package/dist/approval.js +0 -43
  106. package/dist/approval.js.map +0 -1
  107. package/dist/provider-ref.d.ts +0 -8
  108. package/dist/provider-ref.d.ts.map +0 -1
  109. package/dist/provider-ref.js +0 -8
  110. package/dist/provider-ref.js.map +0 -1
  111. package/dist/runtime-support.d.ts +0 -20
  112. package/dist/runtime-support.d.ts.map +0 -1
  113. package/dist/runtime-support.js.map +0 -1
@@ -12,22 +12,37 @@
12
12
  * for summary and invocation and shows as its name.
13
13
  */
14
14
  import { parse as parsePath } from 'node:path';
15
- const UNKNOWN = { action: null, summary: null, invocation: null, items: [] };
15
+ const UNKNOWN = {
16
+ action: null,
17
+ summary: null,
18
+ invocation: null,
19
+ items: [],
20
+ };
16
21
  export function toolDisplay(item) {
17
22
  switch (item.type) {
18
- case 'commandExecution': return commandDisplay(item);
19
- case 'fileChange': return fileChangeDisplay(item);
20
- case 'webSearch': return webSearchDisplay(item);
21
- default: return UNKNOWN;
23
+ case 'commandExecution':
24
+ return commandDisplay(item);
25
+ case 'fileChange':
26
+ return fileChangeDisplay(item);
27
+ case 'webSearch':
28
+ return webSearchDisplay(item);
29
+ default:
30
+ return UNKNOWN;
22
31
  }
23
32
  }
24
33
  function commandDisplay(item) {
25
34
  const command = shellScriptForDisplay(stringField(item, 'command'));
26
35
  const actions = commandActions(item['commandActions']);
27
36
  const first = actions[0];
28
- const uniform = first !== undefined && actions.every((entry) => entry.action === first.action);
37
+ const uniform = first !== undefined &&
38
+ actions.every((entry) => entry.action === first.action);
29
39
  if (!uniform || first.action === 'run') {
30
- return { action: 'run', summary: firstLine(command), invocation: command, items: [] };
40
+ return {
41
+ action: 'run',
42
+ summary: firstLine(command),
43
+ invocation: command,
44
+ items: [],
45
+ };
31
46
  }
32
47
  const details = unique(actions.map((entry) => entry.detail));
33
48
  return {
@@ -44,7 +59,8 @@ function shellScriptForDisplay(command) {
44
59
  if (words === null || words.length === 0)
45
60
  return command;
46
61
  // Codex only decodes Windows drive-path text when its shlex spelling round-trips exactly.
47
- if (command.includes(':\\') && words.map(quoteShellWord).join(' ') !== command)
62
+ if (command.includes(':\\') &&
63
+ words.map(quoteShellWord).join(' ') !== command)
48
64
  return command;
49
65
  let shell = words[0];
50
66
  while (!['bash', 'zsh', 'sh', 'pwsh', 'powershell'].includes(shell)) {
@@ -54,7 +70,9 @@ function shellScriptForDisplay(command) {
54
70
  shell = stem;
55
71
  }
56
72
  if (['bash', 'zsh', 'sh'].includes(shell)) {
57
- return words.length === 3 && (words[1] === '-lc' || words[1] === '-c') ? words[2] : command;
73
+ return words.length === 3 && (words[1] === '-lc' || words[1] === '-c')
74
+ ? words[2]
75
+ : command;
58
76
  }
59
77
  for (let i = 1; i + 1 < words.length; i++) {
60
78
  const flag = words[i].toLowerCase();
@@ -147,7 +165,11 @@ function quoteShellWord(word) {
147
165
  double = nextDouble;
148
166
  }
149
167
  const chunk = word.slice(start, end);
150
- result += unquoted ? chunk : single ? `'${chunk}'` : `"${chunk.replace(/[$`"\\]/g, '\\$&')}"`;
168
+ result += unquoted
169
+ ? chunk
170
+ : single
171
+ ? `'${chunk}'`
172
+ : `"${chunk.replace(/[$`"\\]/g, '\\$&')}"`;
151
173
  start = end;
152
174
  }
153
175
  return result;
@@ -163,18 +185,28 @@ function commandActions(value) {
163
185
  switch (record['type']) {
164
186
  case 'read': {
165
187
  const name = stringField(record, 'name');
166
- actions.push({ action: 'read', detail: name, file: stringField(record, 'path') ?? name });
188
+ actions.push({
189
+ action: 'read',
190
+ detail: name,
191
+ file: stringField(record, 'path') ?? name,
192
+ });
167
193
  break;
168
194
  }
169
195
  case 'listFiles':
170
- actions.push({ action: 'list_files', detail: stringField(record, 'path'), file: null });
196
+ actions.push({
197
+ action: 'list_files',
198
+ detail: stringField(record, 'path'),
199
+ file: null,
200
+ });
171
201
  break;
172
202
  case 'search': {
173
203
  const query = stringField(record, 'query');
174
204
  const path = stringField(record, 'path');
175
205
  actions.push({
176
206
  action: 'search',
177
- detail: query !== null && path !== null ? `${query} in ${path}` : query ?? path,
207
+ detail: query !== null && path !== null
208
+ ? `${query} in ${path}`
209
+ : (query ?? path),
178
210
  file: null,
179
211
  });
180
212
  break;
@@ -192,7 +224,9 @@ function commandActions(value) {
192
224
  */
193
225
  function fileChangeDisplay(item) {
194
226
  const changes = Array.isArray(item['changes'])
195
- ? item['changes'].map(recordValue).filter((c) => c !== null)
227
+ ? item['changes']
228
+ .map(recordValue)
229
+ .filter((c) => c !== null)
196
230
  : [];
197
231
  const paths = unique(changes.map((c) => stringField(c, 'path')));
198
232
  const diffs = changes.flatMap((change) => {
@@ -217,8 +251,13 @@ function webSearchDisplay(item) {
217
251
  const queries = Array.isArray(action['queries'])
218
252
  ? action['queries'].filter((q) => typeof q === 'string' && q !== '')
219
253
  : [];
220
- detail = stringField(action, 'query') ??
221
- (queries.length === 0 ? null : queries.length === 1 ? queries[0] : `${queries[0]} …`);
254
+ detail =
255
+ stringField(action, 'query') ??
256
+ (queries.length === 0
257
+ ? null
258
+ : queries.length === 1
259
+ ? queries[0]
260
+ : `${queries[0]} …`);
222
261
  break;
223
262
  }
224
263
  case 'openPage':
@@ -227,16 +266,28 @@ function webSearchDisplay(item) {
227
266
  case 'findInPage': {
228
267
  const pattern = stringField(action, 'pattern');
229
268
  const url = stringField(action, 'url');
230
- detail = pattern !== null && url !== null ? `'${pattern}' in ${url}` : pattern === null ? url : `'${pattern}'`;
269
+ detail =
270
+ pattern !== null && url !== null
271
+ ? `'${pattern}' in ${url}`
272
+ : pattern === null
273
+ ? url
274
+ : `'${pattern}'`;
231
275
  break;
232
276
  }
233
277
  default:
234
278
  break;
235
279
  }
236
- return { action: 'search', summary: detail ?? query, invocation: null, items: [] };
280
+ return {
281
+ action: 'search',
282
+ summary: detail ?? query,
283
+ invocation: null,
284
+ items: [],
285
+ };
237
286
  }
238
287
  function unique(values) {
239
- return [...new Set(values.filter((value) => value !== null))];
288
+ return [
289
+ ...new Set(values.filter((value) => value !== null)),
290
+ ];
240
291
  }
241
292
  function stringField(record, key) {
242
293
  const value = record[key];
@@ -1 +1 @@
1
- {"version":3,"file":"tool-display.js","sourceRoot":"","sources":["../src/tool-display.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-display.js","sourceRoot":"","sources":["../src/tool-display.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,10 @@
1
- import { type CollectedTurn } from './events.js';
2
1
  import type { CodexOutputSchemaCodec } from './output-schema-codec.js';
3
2
  import type { CodexReasoningEffort } from './reasoning-effort.js';
4
3
  import type { CodexWsClient } from './rpc.js';
5
- import type { AgentRuntimeActivitySink, AgentRuntimeInterruptOutcome, AgentRuntimeSubmissionInput, RuntimeAdmission } from '@excitedjs/dreamux-types';
4
+ import type { AgentRuntimeActivitySink, AgentRuntimeInterruptOutcome, AgentRuntimeSubmissionInput, DreamuxLogger, RuntimeAdmission } from '@excitedjs/dreamux-types';
6
5
  export interface TurnManagerOptions {
7
- dispatcherId: string;
8
- getThreadId(): string | null;
6
+ threadId: string;
9
7
  client: CodexWsClient;
10
- turnCwd?: string | null;
11
8
  /**
12
9
  * The session-bound output schema codec, compiled once when the runtime was
13
10
  * created. It is fixed for the life of the session: no submission can change
@@ -16,8 +13,7 @@ export interface TurnManagerOptions {
16
13
  codec: CodexOutputSchemaCodec | null;
17
14
  reasoning: CodexReasoningEffort;
18
15
  activitySink: AgentRuntimeActivitySink;
19
- log?: (level: 'info' | 'warn' | 'error', msg: string, err?: unknown) => void;
20
- onTurnCompleted?: (turn: CollectedTurn) => void;
16
+ logger: DreamuxLogger;
21
17
  }
22
18
  export declare class TurnManager {
23
19
  private readonly opts;
@@ -29,11 +25,9 @@ export declare class TurnManager {
29
25
  private readonly terminalOrder;
30
26
  private protocolFailure;
31
27
  private collector;
32
- private collectorThreadId;
33
28
  private tokenUsage;
34
29
  private decisionTail;
35
30
  private stopped;
36
- private readonly log;
37
31
  constructor(opts: TurnManagerOptions);
38
32
  /**
39
33
  * Admit one already-rendered submission. The manager holds no source ledger:
@@ -44,6 +38,12 @@ export declare class TurnManager {
44
38
  stop(): Promise<void>;
45
39
  private submit;
46
40
  private enqueueDecision;
41
+ /**
42
+ * Construct the collector once. One TurnManager instance is bound to one
43
+ * resident runtime session, whose native thread id is fixed before the
44
+ * manager is built (`CodexRuntime` resolves the thread and only then
45
+ * constructs its `TurnManager`), so `threadId` never changes across calls.
46
+ */
47
47
  private ensureCollector;
48
48
  private bindSubmission;
49
49
  private observeTerminal;
@@ -1 +1 @@
1
- {"version":3,"file":"turn-manager.d.ts","sourceRoot":"","sources":["../src/turn-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,aAAa,EAEnB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,OAAO,KAAK,EACV,wBAAwB,EACxB,4BAA4B,EAC5B,2BAA2B,EAG3B,gBAAgB,EAIjB,MAAM,0BAA0B,CAAC;AAelC,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,IAAI,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;;;OAIG;IACH,KAAK,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACrC,SAAS,EAAE,oBAAoB,CAAC;IAChC,YAAY,EAAE,wBAAwB,CAAC;IACvC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7E,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;CACjD;AAED,qBAAa,WAAW;IAeV,OAAO,CAAC,QAAQ,CAAC,IAAI;IAdjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAwC;IAC1E,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAqB;IAC9D,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuC;IACnE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAqB;IAC5D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,iBAAiB,CAAuB;IAChD,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,YAAY,CAAoC;IACxD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAyC;gBAEhC,IAAI,EAAE,kBAAkB;IAQrD;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAM1E,SAAS,IAAI,OAAO,CAAC,4BAA4B,CAAC;IAa5C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAsBb,MAAM;IAkDpB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,cAAc;IAoBtB,OAAO,CAAC,eAAe;IA0CvB,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,QAAQ;IAmChB,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,oBAAoB;IAO5B,+EAA+E;IAC/E,OAAO,CAAC,wBAAwB;IAShC;;;;;;;;OAQG;IACH,OAAO,CAAC,WAAW;IASnB,wEAAwE;IACxE,OAAO,CAAC,YAAY;IAIpB;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,cAAc;CAQvB"}
1
+ {"version":3,"file":"turn-manager.d.ts","sourceRoot":"","sources":["../src/turn-manager.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EACV,oBAAoB,EAErB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,OAAO,KAAK,EACV,wBAAwB,EACxB,4BAA4B,EAC5B,2BAA2B,EAC3B,aAAa,EAGb,gBAAgB,EAIjB,MAAM,0BAA0B,CAAC;AAelC,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,aAAa,CAAC;IACtB;;;;OAIG;IACH,KAAK,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACrC,SAAS,EAAE,oBAAoB,CAAC;IAChC,YAAY,EAAE,wBAAwB,CAAC;IACvC,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,qBAAa,WAAW;IAYV,OAAO,CAAC,QAAQ,CAAC,IAAI;IAXjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAwC;IAC1E,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAqB;IAC9D,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuC;IACnE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAqB;IAC5D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,YAAY,CAAoC;IACxD,OAAO,CAAC,OAAO,CAAS;gBACK,IAAI,EAAE,kBAAkB;IAErD;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAM1E,SAAS,IAAI,OAAO,CAAC,4BAA4B,CAAC;IAgB5C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAuBb,MAAM;IAwDpB,OAAO,CAAC,eAAe;IASvB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,eAAe;IAgDvB,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,QAAQ;IA0ChB,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,oBAAoB;IAW5B,+EAA+E;IAC/E,OAAO,CAAC,wBAAwB;IAShC;;;;;;;;OAQG;IACH,OAAO,CAAC,WAAW;IAenB,wEAAwE;IACxE,OAAO,CAAC,YAAY;IAIpB;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,cAAc;CAYvB"}
@@ -10,20 +10,11 @@ export class TurnManager {
10
10
  terminalOrder = [];
11
11
  protocolFailure = null;
12
12
  collector = null;
13
- collectorThreadId = null;
14
13
  tokenUsage = null;
15
14
  decisionTail = Promise.resolve();
16
15
  stopped = false;
17
- log;
18
16
  constructor(opts) {
19
17
  this.opts = opts;
20
- this.log = opts.log ?? ((level, message, error) => {
21
- const prefix = `[turn-manager ${opts.dispatcherId}] ${level}`;
22
- if (error === undefined)
23
- console.error(prefix, message);
24
- else
25
- console.error(prefix, message, error);
26
- });
27
18
  }
28
19
  /**
29
20
  * Admit one already-rendered submission. The manager holds no source ledger:
@@ -36,9 +27,11 @@ export class TurnManager {
36
27
  return this.enqueueDecision(async () => {
37
28
  if (this.stopped)
38
29
  return { status: 'idle' };
39
- const active = [...this.nativeTurns].reverse().find(([, record]) => record.terminal === null && record.completion === null);
40
- const threadId = this.opts.getThreadId();
41
- if (active === undefined || threadId === null)
30
+ const active = [...this.nativeTurns]
31
+ .reverse()
32
+ .find(([, record]) => record.terminal === null && record.completion === null);
33
+ const threadId = this.opts.threadId;
34
+ if (active === undefined)
42
35
  return { status: 'idle' };
43
36
  await interruptTurn(this.opts.client, threadId, active[0]);
44
37
  return { status: 'interrupted' };
@@ -74,12 +67,10 @@ export class TurnManager {
74
67
  return { status: 'stopped' };
75
68
  if (this.protocolFailure !== null)
76
69
  return { status: 'failed', error: this.protocolFailure };
77
- const threadId = this.opts.getThreadId();
78
- if (threadId === null)
79
- return { status: 'failed', error: new Error('input submitted without thread_id') };
80
- let effort;
70
+ const threadId = this.opts.threadId;
71
+ let asked;
81
72
  try {
82
- effort = await this.opts.reasoning.effortFor(text);
73
+ asked = await this.opts.reasoning.effortFor(text);
83
74
  }
84
75
  catch (error) {
85
76
  return { status: 'failed', error: asError(error) };
@@ -89,23 +80,24 @@ export class TurnManager {
89
80
  if (this.protocolFailure !== null)
90
81
  return { status: 'failed', error: this.protocolFailure };
91
82
  const deferred = createRuntimeSubmission();
92
- this.ensureCollector(threadId);
83
+ this.ensureCollector();
93
84
  const admissionId = this.nextNativeAdmission++;
94
85
  this.inFlightNativeAdmissions.add(admissionId);
95
86
  let response;
96
87
  try {
97
- response = await submitTurnStart(this.opts.client, threadId, text, this.opts.turnCwd ?? null, this.opts.codec?.wireSchema, effort);
88
+ response = await submitTurnStart(this.opts.client, threadId, asked.hint === undefined ? [text] : [text, asked.hint], this.opts.codec?.wireSchema, asked.effort);
98
89
  }
99
90
  catch (error) {
100
91
  const normalized = asError(error);
101
- this.log('error', `turn/start submission failed for ${description}: ${normalized.message}`, normalized);
92
+ this.opts.logger.error({ description, err: normalized }, 'turn/start submission failed');
102
93
  this.inFlightNativeAdmissions.delete(admissionId);
103
94
  this.releaseCompletedRecords(admissionId);
104
95
  this.releaseOrphanTurnsIfIdle();
105
96
  return { status: 'ambiguous', error: normalized };
106
97
  }
107
98
  const observed = this.nativeTurns.get(response.turn.id);
108
- if (this.stopped && (observed === undefined || observed.terminal === null)) {
99
+ if (this.stopped &&
100
+ (observed === undefined || observed.terminal === null)) {
109
101
  deferred.settle({ kind: 'stopped' });
110
102
  }
111
103
  else {
@@ -121,20 +113,23 @@ export class TurnManager {
121
113
  this.decisionTail = task.then(() => undefined, () => undefined);
122
114
  return task;
123
115
  }
124
- ensureCollector(threadId) {
125
- if (this.collector !== null && this.collectorThreadId === threadId)
116
+ /**
117
+ * Construct the collector once. One TurnManager instance is bound to one
118
+ * resident runtime session, whose native thread id is fixed before the
119
+ * manager is built (`CodexRuntime` resolves the thread and only then
120
+ * constructs its `TurnManager`), so `threadId` never changes across calls.
121
+ */
122
+ ensureCollector() {
123
+ if (this.collector !== null)
126
124
  return;
127
- this.collector?.dispose();
128
- this.collectorThreadId = threadId;
129
- this.tokenUsage = null;
130
- this.collector = subscribeTurnCollection(this.opts.client, threadId, {
131
- retainAfterTerminal: true,
132
- onTokenUsage: (usage) => { this.tokenUsage = usage ?? null; },
125
+ this.collector = subscribeTurnCollection(this.opts.client, this.opts.threadId, {
126
+ onTokenUsage: (usage) => {
127
+ this.tokenUsage = usage ?? null;
128
+ },
133
129
  onItemStarted: (turnId, item) => this.observeItem(turnId, item, 'started', Date.now()),
134
130
  onItemCompleted: (turnId, item, occurredAt) => this.observeItem(turnId, item, 'completed', occurredAt),
135
131
  onTerminal: (turnId, terminal) => this.observeTerminal(turnId, terminal),
136
132
  onUnscopedFailure: (error) => this.failProtocol(error),
137
- onProtocolViolation: (error) => this.failProtocol(error),
138
133
  });
139
134
  }
140
135
  bindSubmission(turnId, deferred) {
@@ -187,7 +182,10 @@ export class TurnManager {
187
182
  : 'completed', terminal instanceof Error ? terminal.message : null);
188
183
  this.unboundObservedTurnIds.delete(turnId);
189
184
  const record = this.nativeTurns.get(turnId) ?? {
190
- representative: null, members: [], completion: null, terminal: null,
185
+ representative: null,
186
+ members: [],
187
+ completion: null,
188
+ terminal: null,
191
189
  releaseAfterAdmissions: null,
192
190
  };
193
191
  if (record.terminal !== null || record.completion !== null)
@@ -248,7 +246,6 @@ export class TurnManager {
248
246
  this.releaseRecordIfReady(turnId, record);
249
247
  return;
250
248
  }
251
- this.opts.onTurnCompleted?.(completedTurn);
252
249
  completion = Object.freeze({
253
250
  status: 'completed',
254
251
  resultText: extractAssistantText(completedTurn),
@@ -264,7 +261,7 @@ export class TurnManager {
264
261
  failProtocol(error) {
265
262
  const first = this.protocolFailure === null;
266
263
  this.protocolFailure ??= error;
267
- this.log('error', error.message, error);
264
+ this.opts.logger.error({ err: error }, 'codex turn protocol failed');
268
265
  // Whatever codex had running dies with the connection, including a turn
269
266
  // this manager only ever saw items for, which has no record for the loop
270
267
  // below to reach. The first failure reports that end; later ones repeat
@@ -293,7 +290,8 @@ export class TurnManager {
293
290
  }
294
291
  }
295
292
  releaseRecordIfReady(turnId, record) {
296
- if (record.completion === null || (record.releaseAfterAdmissions?.size ?? 0) > 0)
293
+ if (record.completion === null ||
294
+ (record.releaseAfterAdmissions?.size ?? 0) > 0)
297
295
  return;
298
296
  this.nativeTurns.delete(turnId);
299
297
  this.unboundObservedTurnIds.delete(turnId);
@@ -352,23 +350,42 @@ export class TurnManager {
352
350
  * open, Feishu ignores it" (rule 8). This layer pushes; the Channel decides.
353
351
  */
354
352
  endNativeTurn(status, reason) {
355
- this.emitActivity({ kind: 'turn.ended', occurredAt: Date.now(), status, reason });
353
+ this.emitActivity({
354
+ kind: 'turn.ended',
355
+ occurredAt: Date.now(),
356
+ status,
357
+ reason,
358
+ });
356
359
  }
357
360
  trackAdmission(admission) {
358
361
  this.pendingAdmissions.add(admission);
359
- void admission.finally(() => {
362
+ void admission
363
+ .finally(() => {
360
364
  this.pendingAdmissions.delete(admission);
361
365
  this.drainTerminalOrder();
362
- }).catch(() => undefined);
366
+ })
367
+ .catch(() => undefined);
363
368
  return admission;
364
369
  }
365
370
  }
366
371
  function createRuntimeSubmission() {
367
372
  let resolve;
368
373
  let settled = false;
369
- const submission = Object.freeze({ settled: new Promise((value) => { resolve = value; }) });
370
- return { submission, settle(settlement) { if (settled)
371
- return false; settled = true; resolve(settlement); return true; } };
374
+ const submission = Object.freeze({
375
+ settled: new Promise((value) => {
376
+ resolve = value;
377
+ }),
378
+ });
379
+ return {
380
+ submission,
381
+ settle(settlement) {
382
+ if (settled)
383
+ return false;
384
+ settled = true;
385
+ resolve(settlement);
386
+ return true;
387
+ },
388
+ };
372
389
  }
373
390
  /**
374
391
  * Codex reports an interrupt only as `turn.status: "interrupted"` on
@@ -390,7 +407,9 @@ function itemActivity(item, phase, occurredAt) {
390
407
  if (itemId === null)
391
408
  return null;
392
409
  if (item.type === 'agentMessage') {
393
- if (phase !== 'completed' || typeof item.text !== 'string' || item.text === '')
410
+ if (phase !== 'completed' ||
411
+ typeof item.text !== 'string' ||
412
+ item.text === '')
394
413
  return null;
395
414
  return {
396
415
  kind: 'assistant.message',
@@ -412,7 +431,9 @@ function itemActivity(item, phase, occurredAt) {
412
431
  if (toolName === null)
413
432
  return null;
414
433
  const failed = phase === 'completed' &&
415
- (item['status'] === 'failed' || item['error'] != null || item['success'] === false);
434
+ (item['status'] === 'failed' ||
435
+ item['error'] != null ||
436
+ item['success'] === false);
416
437
  const error = failed ? renderProviderError(item['error']) : null;
417
438
  return {
418
439
  kind: 'tool.call',
@@ -447,7 +468,11 @@ function argumentsFor(item) {
447
468
  ...(action === null ? {} : { action }),
448
469
  });
449
470
  }
450
- return toJsonValue(item['arguments'] ?? item['input'] ?? item['command'] ?? item['changes'] ?? null);
471
+ return toJsonValue(item['arguments'] ??
472
+ item['input'] ??
473
+ item['command'] ??
474
+ item['changes'] ??
475
+ null);
451
476
  }
452
477
  function resultFor(item) {
453
478
  const result = item['result'] ?? item['output'] ?? item['aggregatedOutput'];
@@ -480,7 +505,9 @@ function renderProviderError(value) {
480
505
  const normalized = normalizeInputTextItems(value);
481
506
  if (normalized === null)
482
507
  return null;
483
- return typeof normalized === 'string' ? normalized : JSON.stringify(normalized);
508
+ return typeof normalized === 'string'
509
+ ? normalized
510
+ : JSON.stringify(normalized);
484
511
  }
485
512
  function toolNameFor(item) {
486
513
  if (item.type === 'commandExecution')
@@ -516,12 +543,15 @@ function restoreCollectedTurn(turn, codec) {
516
543
  throw new Error('codex outputSchema restoration failed: completed turn has no assistant JSON text');
517
544
  const restoredText = codec.restore(text);
518
545
  let replaced = false;
519
- const items = [...turn.items].reverse().map((item) => {
546
+ const items = [...turn.items]
547
+ .reverse()
548
+ .map((item) => {
520
549
  if (replaced || item.type !== 'agentMessage' || item.text !== text)
521
550
  return item;
522
551
  replaced = true;
523
552
  return { ...item, text: restoredText };
524
- }).reverse();
553
+ })
554
+ .reverse();
525
555
  if (!replaced)
526
556
  throw new Error('codex outputSchema restoration failed: assistant JSON text was not found');
527
557
  return { ...turn, items };
@@ -543,7 +573,9 @@ function tokenUsageActivity(turnId, usage) {
543
573
  // `n/a`, which the display layer renders from `context: null`; emitting the
544
574
  // used count here would make it indistinguishable from runtimes whose window
545
575
  // is structurally always absent.
546
- const hasContext = isTokenCount(contextUsed) && isTokenCount(contextWindow) && contextWindow > 0;
576
+ const hasContext = isTokenCount(contextUsed) &&
577
+ isTokenCount(contextWindow) &&
578
+ contextWindow > 0;
547
579
  return {
548
580
  kind: 'token.usage',
549
581
  occurredAt: Date.now(),
@@ -1 +1 @@
1
- {"version":3,"file":"turn-manager.js","sourceRoot":"","sources":["../src/turn-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turn-manager.js","sourceRoot":"","sources":["../src/turn-manager.ts"],"names":[],"mappings":"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"}