@excitedjs/agent-runtime-codex 0.3.4 → 0.3.5-alpha.g1596746f9cad

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-schema-codec.js","sourceRoot":"","sources":["../src/output-schema-codec.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,YAAY,EACZ,KAAK,mBAAmB,EACzB,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EAEL,qBAAqB,EAErB,KAAK,qBAAqB,EAC3B,MAAM,aAAa,CAAC;AAMrB,OAAO,KAAK,EACV,wBAAwB,EAGxB,qBAAqB,EACrB,oBAAoB,EACpB,8BAA8B,EAC9B,wBAAwB,EACxB,2BAA2B,EAC3B,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;GASG;AACH,MAAM,WAAW,gCAAgC;IAC/C;;;;;OAKG;IACH,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,qFAAqF;IACrF,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;KACb,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,YAAY,CAAC;IAClE,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,aAAa,CAAC;IAC3D,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,gCAAgC,EAAE,wBAE9C,CAAC;AAQF,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,wBAAwB,GAAG,SAAS,GACjD,MAAM,GAAG,SAAS,CAIpB;AAED,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,wBAAwB,GAAG,SAAS,GACjD,SAAS,MAAM,EAAE,GAAG,SAAS,CAO/B;AAeD;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,GAAE,gCAAqC,GAC7C,oBAAoB,CAAC,qBAAqB,CAAC,CAqF7C;AAED,0EAA0E;AAC1E,OAAO,EAAE,qBAAqB,EAAE,CAAC;AAEjC,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,SAAS,qBAAqB,EAAE,GACxC,MAAM,EAAE,CAEV;AAED;;;;;GAKG;AACH,MAAM,MAAM,2BAA2B,GACrC,sBAAsB,CAAC,8BAA8B,CAAC,CAAC;AAEzD;;;;;;;;;;;;;;;;;GAiBG;AACH,QAAA,MAAM,gCAAgC,EAAE,2BAA2B,CAAC,qBAAqB,CACP,CAAC;AAEnF,eAAe,gCAAgC,CAAC"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,YAAY,EACZ,KAAK,mBAAmB,EACzB,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EAEL,qBAAqB,EAErB,KAAK,qBAAqB,EAC3B,MAAM,aAAa,CAAC;AAMrB,OAAO,KAAK,EACV,wBAAwB,EAGxB,qBAAqB,EACrB,oBAAoB,EACpB,8BAA8B,EAC9B,wBAAwB,EACxB,2BAA2B,EAC3B,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;GASG;AACH,MAAM,WAAW,gCAAgC;IAC/C;;;;;OAKG;IACH,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,qFAAqF;IACrF,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;KACb,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,YAAY,CAAC;IAClE,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,aAAa,CAAC;IAC3D,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,gCAAgC,EAAE,wBAG9C,CAAC;AAQF,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,wBAAwB,GAAG,SAAS,GACjD,MAAM,GAAG,SAAS,CAIpB;AAED,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,wBAAwB,GAAG,SAAS,GACjD,SAAS,MAAM,EAAE,GAAG,SAAS,CAO/B;AAeD;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,GAAE,gCAAqC,GAC7C,oBAAoB,CAAC,qBAAqB,CAAC,CAqF7C;AAED,0EAA0E;AAC1E,OAAO,EAAE,qBAAqB,EAAE,CAAC;AAEjC,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,SAAS,qBAAqB,EAAE,GACxC,MAAM,EAAE,CAEV;AAED;;;;;GAKG;AACH,MAAM,MAAM,2BAA2B,GACrC,sBAAsB,CAAC,8BAA8B,CAAC,CAAC;AAEzD;;;;;;;;;;;;;;;;;GAiBG;AACH,QAAA,MAAM,gCAAgC,EAAE,2BAA2B,CAAC,qBAAqB,CACP,CAAC;AAEnF,eAAe,gCAAgC,CAAC"}
package/dist/provider.js CHANGED
@@ -8,6 +8,7 @@ import { codexAgentRuntimeDiagnostic } from './diagnostic.js';
8
8
  import { allocateCodexSocketPath } from './internal/socket.js';
9
9
  export const CODEX_AGENT_RUNTIME_CAPABILITIES = {
10
10
  resume: { supported: true },
11
+ structuredOutput: { supported: true, scope: 'per-turn' },
11
12
  };
12
13
  const DEFAULT_CODEX_DESCRIPTOR = {
13
14
  id: 'codex',
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
package/dist/rpc.d.ts CHANGED
@@ -38,7 +38,7 @@ export declare class CodexWsClient {
38
38
  private closeReason;
39
39
  constructor(opts: CodexWsClientOptions);
40
40
  ready(): Promise<void>;
41
- onNotification(handler: NotificationHandler): void;
41
+ onNotification(handler: NotificationHandler): () => void;
42
42
  /**
43
43
  * Install handler for server→client requests (approval, attestation, etc).
44
44
  * The handler's return value becomes the response `result`; a throw becomes
package/dist/rpc.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAKV,kBAAkB,EAClB,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,oBAAoB;IACnC,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iFAAiF;IACjF,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;AACtE,MAAM,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAC5E,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC;AAEnD;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAY;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGpB;IACJ,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6B;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;IACpD,OAAO,CAAC,gBAAgB,CAMtB;IACF,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAsB;gBAE7B,IAAI,EAAE,oBAAoB;IA8BtC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAIlD;;;;;;;OAOG;IACH,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAI5D,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAQpC,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAoBjE;;;OAGG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAQ7C,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,OAAO;IAqCf,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,oBAAoB;YAUd,mBAAmB;IAYjC,OAAO,CAAC,QAAQ;CAcjB"}
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAKV,kBAAkB,EAClB,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,oBAAoB;IACnC,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iFAAiF;IACjF,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;AACtE,MAAM,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAC5E,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC;AAEnD;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAY;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGpB;IACJ,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAChE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;IACpD,OAAO,CAAC,gBAAgB,CAMtB;IACF,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAsB;gBAE7B,IAAI,EAAE,oBAAoB;IA8BtC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,IAAI;IAOxD;;;;;;;OAOG;IACH,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAI5D,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAQpC,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAoBjE;;;OAGG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAQ7C,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,OAAO;IAqCf,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,oBAAoB;YAUd,mBAAmB;IAYjC,OAAO,CAAC,QAAQ;CAcjB"}
package/dist/rpc.js CHANGED
@@ -20,7 +20,7 @@ import WebSocket from 'ws';
20
20
  export class CodexWsClient {
21
21
  ws;
22
22
  pending = new Map();
23
- notifHandlers = [];
23
+ notifHandlers = new Set();
24
24
  closeHandlers = [];
25
25
  serverReqHandler = async () => {
26
26
  throw new Error('codex sent a server-request but no handler is installed. ' +
@@ -58,7 +58,10 @@ export class CodexWsClient {
58
58
  return this.opened;
59
59
  }
60
60
  onNotification(handler) {
61
- this.notifHandlers.push(handler);
61
+ this.notifHandlers.add(handler);
62
+ return () => {
63
+ this.notifHandlers.delete(handler);
64
+ };
62
65
  }
63
66
  /**
64
67
  * Install handler for server→client requests (approval, attestation, etc).
package/dist/rpc.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"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"}
@@ -40,7 +40,7 @@ export declare class CodexProcess {
40
40
  private readonly opts;
41
41
  readonly socketPath: string;
42
42
  readonly cwd: string;
43
- private child;
43
+ private supervisor;
44
44
  private _pid;
45
45
  private reaped;
46
46
  private readonly exitHandlers;
@@ -1 +1 @@
1
- {"version":3,"file":"supervisor.d.ts","sourceRoot":"","sources":["../src/supervisor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAgBH,MAAM,WAAW,mBAAmB;IAClC,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,2BAA2B;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,2BAA2B;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,8FAA8F;IAC9F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,kCAAkC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,6EAA6E;IAC7E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,MAAM,uBAAuB,GAAG,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAEvE,8DAA8D;AAC9D,qBAAa,YAAY;IAQX,OAAO,CAAC,QAAQ,CAAC,IAAI;IAPjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,IAAI,CAAuB;IACnC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiC;gBAEjC,IAAI,EAAE,mBAAmB;IAKtD,IAAI,GAAG,IAAI,MAAM,GAAG,IAAI,CAEvB;IAED,MAAM,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI;IAI9C,oEAAoE;IAC9D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA8F5B,qDAAqD;IAC/C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CA8B5B"}
1
+ {"version":3,"file":"supervisor.d.ts","sourceRoot":"","sources":["../src/supervisor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAWH,MAAM,WAAW,mBAAmB;IAClC,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,2BAA2B;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,2BAA2B;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,8FAA8F;IAC9F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,kCAAkC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,6EAA6E;IAC7E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,MAAM,uBAAuB,GAAG,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAEvE,8DAA8D;AAC9D,qBAAa,YAAY;IAQX,OAAO,CAAC,QAAQ,CAAC,IAAI;IAPjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,IAAI,CAAuB;IACnC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiC;gBAEjC,IAAI,EAAE,mBAAmB;IAKtD,IAAI,GAAG,IAAI,MAAM,GAAG,IAAI,CAEvB;IAED,MAAM,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI;IAI9C,oEAAoE;IAC9D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkF5B,qDAAqD;IAC/C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAgB5B"}
@@ -12,16 +12,15 @@
12
12
  * binary as a child; both land in the same process group. Reap must
13
13
  * SIGKILL the whole group, not just the leader, or the rust process leaks.
14
14
  */
15
- import { spawn as spawnChild, } from 'node:child_process';
16
15
  import { mkdir, open, rm, stat } from 'node:fs/promises';
17
16
  import { dirname } from 'node:path';
18
- import { ensureOwnerOnlyDir, isProcessAlive, killProcessGroup, removeEmptyLogFile, } from '@excitedjs/dreamux-utils';
17
+ import { ensureOwnerOnlyDir, isProcessAlive, removeEmptyLogFile, SupervisedChild, } from '@excitedjs/dreamux-utils';
19
18
  /** A handle to one running codex app-server child process. */
20
19
  export class CodexProcess {
21
20
  opts;
22
21
  socketPath;
23
22
  cwd;
24
- child = null;
23
+ supervisor = null;
25
24
  _pid = null;
26
25
  reaped = false;
27
26
  exitHandlers = [];
@@ -38,7 +37,7 @@ export class CodexProcess {
38
37
  }
39
38
  /** Spawn the daemon and resolve once its listen socket is bound. */
40
39
  async start() {
41
- if (this.child !== null) {
40
+ if (this.supervisor !== null) {
42
41
  throw new Error('CodexProcess.start: already started');
43
42
  }
44
43
  const binPath = this.opts.binPath ?? (process.env['CODEX_HOST_CODEX_BIN'] || 'codex');
@@ -69,58 +68,44 @@ export class CodexProcess {
69
68
  // inherited fds, matching the previous openSync/closeSync timing.
70
69
  const stdoutHandle = await open(this.opts.stdoutLogPath, 'a', 0o600);
71
70
  const stderrHandle = await open(this.opts.stderrLogPath, 'a', 0o600);
72
- const spawnOpts = {
73
- cwd: this.opts.cwd,
74
- env: this.opts.env ?? process.env,
75
- detached: true, // its own process group, so we can group-kill on reap
76
- stdio: ['ignore', stdoutHandle.fd, stderrHandle.fd],
77
- };
78
- let child;
79
- try {
80
- child = await new Promise((resolve, reject) => {
81
- let settled = false;
82
- const c = spawnChild(binPath, args, spawnOpts);
83
- c.once('error', (e) => {
84
- if (settled)
85
- return;
86
- settled = true;
87
- reject(e instanceof Error ? e : new Error(String(e)));
88
- });
89
- c.once('spawn', () => {
90
- if (settled)
91
- return;
92
- settled = true;
93
- resolve(c);
94
- });
95
- });
96
- }
97
- finally {
98
- await stdoutHandle.close();
99
- await stderrHandle.close();
100
- }
101
- if (child.pid === undefined) {
102
- throw new Error('codex daemon spawned without a pid');
103
- }
104
- this.child = child;
105
- this._pid = child.pid;
106
- // Future post-spawn `error` emissions must not crash the supervisor.
107
- child.on('error', () => {
71
+ const supervisor = new SupervisedChild({
72
+ kind: 'spawn',
73
+ command: binPath,
74
+ args,
75
+ options: {
76
+ cwd: this.opts.cwd,
77
+ env: this.opts.env ?? process.env,
78
+ stdio: ['ignore', stdoutHandle.fd, stderrHandle.fd],
79
+ },
80
+ });
81
+ supervisor.onError(() => {
108
82
  /* daemon-side error, can no longer affect this process */
109
83
  });
110
- child.once('exit', (code, signal) => {
84
+ supervisor.onExit((exit) => {
111
85
  if (this.reaped)
112
86
  return;
113
87
  for (const handler of this.exitHandlers) {
114
88
  try {
115
- handler({ code, signal });
89
+ handler(exit);
116
90
  }
117
91
  catch {
118
92
  /* exit observers must not poison process event dispatch */
119
93
  }
120
94
  }
121
95
  });
96
+ let child;
122
97
  try {
123
- await waitForSocket(this.opts.socketPath, child.pid, this.opts.readyTimeoutMs ?? 10000);
98
+ child = await supervisor.start();
99
+ }
100
+ finally {
101
+ await stdoutHandle.close();
102
+ await stderrHandle.close();
103
+ }
104
+ const pid = child.pid;
105
+ this.supervisor = supervisor;
106
+ this._pid = pid;
107
+ try {
108
+ await waitForSocket(this.opts.socketPath, pid, this.opts.readyTimeoutMs ?? 10000);
124
109
  }
125
110
  catch (e) {
126
111
  await this.reap();
@@ -132,22 +117,7 @@ export class CodexProcess {
132
117
  if (this.reaped)
133
118
  return;
134
119
  this.reaped = true;
135
- const pid = this._pid;
136
- if (pid !== null) {
137
- if (isProcessAlive(pid)) {
138
- killProcessGroup(pid, 'SIGTERM');
139
- const deadline = Date.now() + 1000;
140
- while (Date.now() < deadline) {
141
- if (!isProcessAlive(pid))
142
- break;
143
- await new Promise((r) => setTimeout(r, 25));
144
- }
145
- }
146
- // Always SIGKILL the group, even if the leader is already dead —
147
- // a reparented child (rust binary outliving its node wrapper) is
148
- // the exact failure this guards against.
149
- killProcessGroup(pid, 'SIGKILL');
150
- }
120
+ await this.supervisor?.stop();
151
121
  try {
152
122
  await rm(this.opts.socketPath, { force: true });
153
123
  }
@@ -159,7 +129,7 @@ export class CodexProcess {
159
129
  // flows over the socket, so they are usually empty (issue #182 logs stage).
160
130
  await removeEmptyLogFile(this.opts.stdoutLogPath);
161
131
  await removeEmptyLogFile(this.opts.stderrLogPath);
162
- this.child = null;
132
+ this.supervisor = null;
163
133
  }
164
134
  }
165
135
  async function waitForSocket(path, pid, timeoutMs) {
@@ -1 +1 @@
1
- {"version":3,"file":"supervisor.js","sourceRoot":"","sources":["../src/supervisor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"supervisor.js","sourceRoot":"","sources":["../src/supervisor.ts"],"names":[],"mappings":"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"}
@@ -49,7 +49,7 @@ export declare class TurnManager {
49
49
  * `stop()` each still-pending turn is settled as `stopped` so a teammate turn
50
50
  * interrupted by teardown is not lost.
51
51
  */
52
- private readonly pendingTurnIds;
52
+ private readonly pendingTurns;
53
53
  private idlePromise;
54
54
  private idleResolve;
55
55
  private readonly log;
@@ -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,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,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAiDhE,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;IAsCjB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,wBAAwB;CAOjC"}
1
+ {"version":3,"file":"turn-manager.d.ts","sourceRoot":"","sources":["../src/turn-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAIL,KAAK,aAAa,EAEnB,MAAM,aAAa,CAAC;AAKrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAK9C,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAclC,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;IAsBV,OAAO,CAAC,QAAQ,CAAC,IAAI;IArBjC,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,YAAY,CAGzB;IACJ,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,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAwDhE,eAAe,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAmE7E,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA0B3B,OAAO,CAAC,mBAAmB;IAsC3B,OAAO,CAAC,sBAAsB;IAmB9B,OAAO,CAAC,sBAAsB;IAqB9B,OAAO,CAAC,gBAAgB;IAOxB;;;;;;;;OAQG;IACH,OAAO,CAAC,SAAS;IAsDjB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,wBAAwB;CAOjC"}
@@ -7,8 +7,9 @@
7
7
  * - one accepted inbound message becomes one Codex `turn/start` submission;
8
8
  * - Codex text output alone does not send anything to Feishu.
9
9
  */
10
- import { subscribeTurnCollection, submitTurnStart, } from './events.js';
11
- import { DEFAULT_MESSAGE_ID_DEDUPE_WINDOW } from '@excitedjs/dreamux-utils';
10
+ import { extractAssistantText, subscribeTurnCollection, submitTurnStart, } from './events.js';
11
+ import { compileCodexOutputSchema, } from './output-schema-codec.js';
12
+ import { DEFAULT_MESSAGE_ID_DEDUPE_WINDOW, unsupportedFeatureError, } from '@excitedjs/dreamux-utils';
12
13
  export class TurnManager {
13
14
  opts;
14
15
  seenMessageIds = new Set();
@@ -23,7 +24,7 @@ export class TurnManager {
23
24
  * `stop()` each still-pending turn is settled as `stopped` so a teammate turn
24
25
  * interrupted by teardown is not lost.
25
26
  */
26
- pendingTurnIds = new Set();
27
+ pendingTurns = new Map();
27
28
  idlePromise = null;
28
29
  idleResolve = null;
29
30
  log;
@@ -40,7 +41,7 @@ export class TurnManager {
40
41
  this.messageIdDedupeWindow = Math.max(0, opts.messageIdDedupeWindow ?? DEFAULT_MESSAGE_ID_DEDUPE_WINDOW);
41
42
  }
42
43
  isBusy() {
43
- return this.activeTurnSlot !== null || this.pendingTurnIds.size > 0;
44
+ return this.activeTurnSlot !== null || this.pendingTurns.size > 0;
44
45
  }
45
46
  waitIdle() {
46
47
  if (!this.isBusy())
@@ -70,7 +71,15 @@ export class TurnManager {
70
71
  this.log('error', error.message);
71
72
  return { status: 'failed', error };
72
73
  }
73
- const activeTurn = this.claimActiveTurnSlot(threadId);
74
+ let activeTurn;
75
+ try {
76
+ activeTurn = this.claimActiveTurnSlot(threadId, null);
77
+ }
78
+ catch (err) {
79
+ const error = asError(err);
80
+ this.log('error', error.message, error);
81
+ return { status: 'failed', error };
82
+ }
74
83
  activeTurn.slot.pendingSubmissions += 1;
75
84
  let res;
76
85
  try {
@@ -108,11 +117,30 @@ export class TurnManager {
108
117
  this.log('error', error.message);
109
118
  return { status: 'failed', error };
110
119
  }
111
- const activeTurn = this.claimActiveTurnSlot(threadId);
120
+ let codec = null;
121
+ if (input.outputSchema !== undefined) {
122
+ try {
123
+ codec = compileCodexOutputSchema(input.outputSchema);
124
+ }
125
+ catch (err) {
126
+ const error = asError(err);
127
+ this.log('error', error.message, error);
128
+ return { status: 'failed', error };
129
+ }
130
+ }
131
+ let activeTurn;
132
+ try {
133
+ activeTurn = this.claimActiveTurnSlot(threadId, codec);
134
+ }
135
+ catch (err) {
136
+ const error = asError(err);
137
+ this.log('error', error.message, error);
138
+ return { status: 'failed', error };
139
+ }
112
140
  activeTurn.slot.pendingSubmissions += 1;
113
141
  let res;
114
142
  try {
115
- res = await submitTurnStart(this.opts.client, threadId, input.text, this.opts.turnCwd ?? null);
143
+ res = await submitTurnStart(this.opts.client, threadId, input.text, this.opts.turnCwd ?? null, activeTurn.slot.codec?.wireSchema);
116
144
  }
117
145
  catch (err) {
118
146
  const error = err instanceof Error ? err : new Error(String(err));
@@ -136,27 +164,33 @@ export class TurnManager {
136
164
  this.stopped = true;
137
165
  const activeSlot = this.activeTurnSlot;
138
166
  this.activeTurnSlot = null;
167
+ if (activeSlot !== null) {
168
+ activeSlot.collector.dispose();
169
+ activeSlot.codec = null;
170
+ }
139
171
  if (activeSlot !== null && activeSlot.turnId === null) {
140
172
  activeSlot.rejectTurnId(new Error('codex turn stopped before acceptance'));
141
173
  }
142
174
  // Any turn still in flight at teardown will never reach `turn/completed`
143
175
  // (the WS is closing). Settle each as `stopped` so an interrupted teammate
144
176
  // turn is delivered with a status rather than vanishing.
145
- for (const turnId of this.pendingTurnIds) {
177
+ for (const turnId of this.pendingTurns.keys()) {
146
178
  this.opts.onTurnSettled?.({
147
179
  turnId,
148
180
  status: 'stopped',
149
181
  result: { text: null },
150
182
  });
151
183
  }
152
- this.pendingTurnIds.clear();
184
+ this.pendingTurns.clear();
153
185
  this.activeTurnId = null;
154
186
  this.resolveIdleWaitersIfIdle();
155
187
  }
156
- claimActiveTurnSlot(threadId) {
188
+ claimActiveTurnSlot(threadId, codec) {
157
189
  const active = this.activeTurnSlot;
158
- if (active !== null)
190
+ if (active !== null) {
191
+ assertCompatibleCodec(active.codec, codec);
159
192
  return { slot: active, primary: false };
193
+ }
160
194
  let resolveTurnId;
161
195
  let rejectTurnId;
162
196
  const turnIdPromise = new Promise((resolve, reject) => {
@@ -169,6 +203,7 @@ export class TurnManager {
169
203
  turnIdPromise.catch(() => undefined);
170
204
  const slot = {
171
205
  collector: subscribeTurnCollection(this.opts.client, threadId),
206
+ codec,
172
207
  turnId: null,
173
208
  candidateTurnId: null,
174
209
  primaryFailed: false,
@@ -208,6 +243,8 @@ export class TurnManager {
208
243
  if (slot.primaryFailed && slot.pendingSubmissions === 0) {
209
244
  if (this.activeTurnSlot === slot)
210
245
  this.activeTurnSlot = null;
246
+ slot.collector.dispose();
247
+ slot.codec = null;
211
248
  slot.rejectTurnId(error);
212
249
  this.resolveIdleWaitersIfIdle();
213
250
  }
@@ -229,26 +266,43 @@ export class TurnManager {
229
266
  * is delivered with a status instead of hanging until teardown.
230
267
  */
231
268
  trackTurn(turnId, collector, slot) {
232
- if (this.pendingTurnIds.has(turnId))
269
+ if (this.pendingTurns.has(turnId))
233
270
  return;
234
- this.pendingTurnIds.add(turnId);
271
+ this.pendingTurns.set(turnId, { codec: slot.codec });
235
272
  this.activeTurnId = turnId;
236
273
  void collector.awaitTurn(turnId).then((turn) => {
237
274
  // Only forward completion if this turn was still pending. If `stop()`
238
275
  // already settled it as `stopped`, the delete returns false and we drop
239
276
  // the late completion so a turn is never settled twice.
240
- if (this.pendingTurnIds.delete(turnId)) {
277
+ const pending = this.pendingTurns.get(turnId);
278
+ if (pending !== undefined && this.pendingTurns.delete(turnId)) {
241
279
  if (this.activeTurnSlot === slot)
242
280
  this.activeTurnSlot = null;
243
281
  if (this.activeTurnId === turnId)
244
282
  this.activeTurnId = null;
245
- this.opts.onTurnCompleted?.(turn);
283
+ let completedTurn;
284
+ try {
285
+ completedTurn = pending.codec === null
286
+ ? turn
287
+ : restoreCollectedTurn(turn, pending.codec);
288
+ }
289
+ catch (err) {
290
+ this.opts.onTurnSettled?.({
291
+ turnId,
292
+ status: 'failed',
293
+ result: { text: null },
294
+ error: asError(err),
295
+ });
296
+ this.resolveIdleWaitersIfIdle();
297
+ return;
298
+ }
299
+ this.opts.onTurnCompleted?.(completedTurn);
246
300
  this.resolveIdleWaitersIfIdle();
247
301
  }
248
302
  }, (err) => {
249
303
  // Same mutual-exclusion guard as the completed path: only settle as
250
304
  // `failed` if `stop()` did not already settle it as `stopped`.
251
- if (this.pendingTurnIds.delete(turnId)) {
305
+ if (this.pendingTurns.delete(turnId)) {
252
306
  if (this.activeTurnSlot === slot)
253
307
  this.activeTurnSlot = null;
254
308
  if (this.activeTurnId === turnId)
@@ -298,4 +352,40 @@ export class TurnManager {
298
352
  resolve?.();
299
353
  }
300
354
  }
355
+ function assertCompatibleCodec(active, candidate) {
356
+ if (active === null && candidate === null)
357
+ return;
358
+ if (active !== null && candidate !== null) {
359
+ if (active.fingerprint === candidate.fingerprint)
360
+ return;
361
+ throw unsupportedFeatureError('outputSchema', 'codex active turn has an incompatible outputSchema');
362
+ }
363
+ throw unsupportedFeatureError('outputSchema', active === null
364
+ ? 'codex cannot fold structured output into an active unstructured turn'
365
+ : 'codex cannot fold unstructured input into an active structured turn');
366
+ }
367
+ function restoreCollectedTurn(turn, codec) {
368
+ const text = extractAssistantText(turn);
369
+ if (text === null) {
370
+ throw new Error(`codex outputSchema restoration for turn ${turn.turnId}: ` +
371
+ 'completed turn has no assistant JSON text');
372
+ }
373
+ const restoredText = codec.restore(text);
374
+ let replaced = false;
375
+ const items = [...turn.items].reverse().map((item) => {
376
+ if (replaced || item.type !== 'agentMessage' || item.text !== text) {
377
+ return item;
378
+ }
379
+ replaced = true;
380
+ return { ...item, text: restoredText };
381
+ }).reverse();
382
+ if (!replaced) {
383
+ throw new Error(`codex outputSchema restoration for turn ${turn.turnId}: ` +
384
+ 'assistant JSON text was not found');
385
+ }
386
+ return { ...turn, items };
387
+ }
388
+ function asError(error) {
389
+ return error instanceof Error ? error : new Error(String(error));
390
+ }
301
391
  //# sourceMappingURL=turn-manager.js.map