@agentex/agent 0.0.22 → 0.0.23

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 (60) hide show
  1. package/dist/goals/controller.d.ts +106 -0
  2. package/dist/goals/controller.d.ts.map +1 -0
  3. package/dist/goals/controller.js +375 -0
  4. package/dist/goals/controller.js.map +1 -0
  5. package/dist/goals/index.d.ts +6 -0
  6. package/dist/goals/index.d.ts.map +1 -0
  7. package/dist/goals/index.js +4 -0
  8. package/dist/goals/index.js.map +1 -0
  9. package/dist/goals/normalize.d.ts +72 -0
  10. package/dist/goals/normalize.d.ts.map +1 -0
  11. package/dist/goals/normalize.js +138 -0
  12. package/dist/goals/normalize.js.map +1 -0
  13. package/dist/goals/sentinel.d.ts +39 -0
  14. package/dist/goals/sentinel.d.ts.map +1 -0
  15. package/dist/goals/sentinel.js +77 -0
  16. package/dist/goals/sentinel.js.map +1 -0
  17. package/dist/index.d.ts +3 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +2 -0
  20. package/dist/index.js.map +1 -1
  21. package/dist/providers/acp/session.d.ts.map +1 -1
  22. package/dist/providers/acp/session.js +25 -0
  23. package/dist/providers/acp/session.js.map +1 -1
  24. package/dist/providers/claude/index.d.ts.map +1 -1
  25. package/dist/providers/claude/index.js +2 -1
  26. package/dist/providers/claude/index.js.map +1 -1
  27. package/dist/providers/claude/parse.d.ts.map +1 -1
  28. package/dist/providers/claude/parse.js +25 -0
  29. package/dist/providers/claude/parse.js.map +1 -1
  30. package/dist/providers/claude/session.d.ts +36 -1
  31. package/dist/providers/claude/session.d.ts.map +1 -1
  32. package/dist/providers/claude/session.js +190 -2
  33. package/dist/providers/claude/session.js.map +1 -1
  34. package/dist/providers/codex/index.d.ts.map +1 -1
  35. package/dist/providers/codex/index.js +2 -1
  36. package/dist/providers/codex/index.js.map +1 -1
  37. package/dist/providers/codex/parse.d.ts.map +1 -1
  38. package/dist/providers/codex/parse.js +74 -3
  39. package/dist/providers/codex/parse.js.map +1 -1
  40. package/dist/providers/codex/session.d.ts +30 -1
  41. package/dist/providers/codex/session.d.ts.map +1 -1
  42. package/dist/providers/codex/session.js +162 -6
  43. package/dist/providers/codex/session.js.map +1 -1
  44. package/dist/providers/opencode/http-session.d.ts.map +1 -1
  45. package/dist/providers/opencode/http-session.js +25 -0
  46. package/dist/providers/opencode/http-session.js.map +1 -1
  47. package/dist/providers/opencode/index.d.ts.map +1 -1
  48. package/dist/providers/opencode/index.js +2 -0
  49. package/dist/providers/opencode/index.js.map +1 -1
  50. package/dist/providers/pi/index.d.ts.map +1 -1
  51. package/dist/providers/pi/index.js +2 -0
  52. package/dist/providers/pi/index.js.map +1 -1
  53. package/dist/providers/pi/session.d.ts +8 -1
  54. package/dist/providers/pi/session.d.ts.map +1 -1
  55. package/dist/providers/pi/session.js +28 -2
  56. package/dist/providers/pi/session.js.map +1 -1
  57. package/dist/types.d.ts +192 -0
  58. package/dist/types.d.ts.map +1 -1
  59. package/dist/types.js.map +1 -1
  60. package/package.json +1 -1
@@ -1,3 +1,4 @@
1
+ import { normalizeCodexGoalRecord } from "../../goals/normalize.js";
1
2
  const PROVIDER_TYPE = "codex";
2
3
  function parseJson(line) {
3
4
  try {
@@ -47,6 +48,34 @@ function baseFields(event, sessionId, messageId, turnId) {
47
48
  raw: event,
48
49
  };
49
50
  }
51
+ /**
52
+ * Build a normalized `goal_status` event from a Codex goal record. Returns null
53
+ * when the record is unusable. Shared by the v2 notification path and the
54
+ * NDJSON `event_msg`/`thread_goal_updated` path.
55
+ */
56
+ function buildCodexGoalEvent(goal, base, source = "model") {
57
+ const fields = normalizeCodexGoalRecord(goal, source);
58
+ if (!fields)
59
+ return null;
60
+ const ev = {
61
+ type: "goal_status",
62
+ objective: fields.objective,
63
+ status: fields.status,
64
+ met: fields.met,
65
+ enforced: fields.enforced,
66
+ source: fields.source,
67
+ ...base,
68
+ };
69
+ if (fields.blockedReason !== undefined)
70
+ ev.blockedReason = fields.blockedReason;
71
+ if (fields.tokensUsed !== undefined)
72
+ ev.tokensUsed = fields.tokensUsed;
73
+ if (fields.timeUsedSeconds !== undefined)
74
+ ev.timeUsedSeconds = fields.timeUsedSeconds;
75
+ if (fields.tokenBudget !== undefined)
76
+ ev.tokenBudget = fields.tokenBudget;
77
+ return ev;
78
+ }
50
79
  // ---------------------------------------------------------------------------
51
80
  // Run-level parser used by executeCodexProvider to summarize a full stdout.
52
81
  // Operates on NDJSON only (executor uses `codex exec --json`).
@@ -202,13 +231,19 @@ function parseV2Notification(event) {
202
231
  return null;
203
232
  }
204
233
  if (method === "turn/completed") {
234
+ // codex 0.130 reports turn failures via `turn/completed` with
235
+ // `turn.status: "failed"` (+ `turn.error.message`), NOT only `turn/failed`.
236
+ // Surface that as an errored result instead of a clean completion.
237
+ const status = asNullableString(turn["status"]);
238
+ const failed = status === "failed" || status === "cancelled";
239
+ const turnError = parseObject(turn["error"]);
205
240
  return {
206
241
  type: "result",
207
- text: "",
242
+ text: failed ? asString(turnError["message"], "") : "",
208
243
  costUsd: null,
209
- isError: false,
244
+ isError: failed,
210
245
  stopReason: null,
211
- terminalReason: asNullableString(turn["status"]),
246
+ terminalReason: status,
212
247
  numTurns: null,
213
248
  durationMs: asNullableNumber(turn["durationMs"]),
214
249
  ...makeBase(null),
@@ -334,6 +369,24 @@ function parseV2Notification(event) {
334
369
  ...makeBase(null),
335
370
  };
336
371
  }
372
+ // ---- Goal lifecycle (experimental; wire shape unofficial — read loosely) ----
373
+ if (method === "thread/goal/updated" || method === "thread/goal/set") {
374
+ const ev = buildCodexGoalEvent(parseObject(params["goal"]), makeBase(null));
375
+ if (ev)
376
+ return ev;
377
+ }
378
+ if (method === "thread/goal/cleared") {
379
+ const goal = parseObject(params["goal"]);
380
+ return {
381
+ type: "goal_status",
382
+ objective: asString(goal["objective"], ""),
383
+ status: "cleared",
384
+ met: false,
385
+ enforced: false,
386
+ source: "host",
387
+ ...makeBase(null),
388
+ };
389
+ }
337
390
  // ---- Pure telemetry / status ----
338
391
  if (method === "thread/tokenUsage/updated" ||
339
392
  method === "thread/status/changed" ||
@@ -493,6 +546,24 @@ function parseNdjsonEvent(event, sessionId) {
493
546
  ...baseFields(event, sessionId, null, null),
494
547
  };
495
548
  }
549
+ // ---- Goal lifecycle (experimental; wire shape unofficial — read loosely) ----
550
+ // Observed on this machine as an `event_msg` wrapper; also tolerate the bare
551
+ // `thread_goal_updated` / `thread.goal.updated` spellings.
552
+ if (type === "event_msg") {
553
+ const payload = parseObject(event["payload"]);
554
+ if (asString(payload["type"], "") === "thread_goal_updated") {
555
+ const tid = asNullableString(payload["threadId"]) ?? sessionId;
556
+ const ev = buildCodexGoalEvent(parseObject(payload["goal"]), baseFields(event, tid, null, null));
557
+ if (ev)
558
+ return ev;
559
+ }
560
+ }
561
+ if (type === "thread_goal_updated" || type === "thread.goal.updated") {
562
+ const tid = asNullableString(event["threadId"]) ?? asNullableString(event["thread_id"]) ?? sessionId;
563
+ const ev = buildCodexGoalEvent(parseObject(event["goal"]), baseFields(event, tid, null, null));
564
+ if (ev)
565
+ return ev;
566
+ }
496
567
  // Forward-compat: surface unknown event types.
497
568
  return {
498
569
  type: "unknown",
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/providers/codex/parse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/providers/codex/parse.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,14 @@
1
1
  import type { ChildProcess } from "node:child_process";
2
- import type { AgentSession, CancelResult, StopTaskResult, SendHandle, SendOptions, SessionContext, SessionState } from "../../types.js";
2
+ import type { AgentSession, CancelResult, ClearGoalResult, GoalCapability, GoalOptions, GoalState, StopTaskResult, SendHandle, SendOptions, SessionContext, SessionState, SetGoalResult } from "../../types.js";
3
3
  export declare function createCodexSession(ctx: SessionContext): Promise<AgentSession>;
4
4
  /** @internal Exported for unit testing — not part of the public API. */
5
+ /**
6
+ * Codex carries goals as durable thread state mutated by model tools
7
+ * (create_goal/update_goal/get_goal). Advisory — the model self-reports; no
8
+ * turn-end gate. Goal mode is experimental and feature-gated upstream, so the
9
+ * native arm is best-effort and falls back to emulation (see spec §7.2).
10
+ */
11
+ export declare const codexGoalCapability: GoalCapability;
5
12
  export declare class CodexSessionImpl implements AgentSession {
6
13
  private readonly proc;
7
14
  private readonly ctx;
@@ -38,12 +45,23 @@ export declare class CodexSessionImpl implements AgentSession {
38
45
  * RPCs stay synchronous and are not gated on this chain.
39
46
  */
40
47
  private _eventChain;
48
+ /** Session-scoped goal engine (best-effort native thread goal + emulation). */
49
+ private readonly _goals;
41
50
  constructor(proc: ChildProcess, ctx: SessionContext, cwd: string, model: string | null, instructions: string | null);
42
51
  /** Reject every pending send() Promise and outgoing JSON-RPC call. */
43
52
  private rejectAllPending;
44
53
  get sessionId(): string | null;
45
54
  get state(): SessionState;
46
55
  private rpcRequest;
56
+ /**
57
+ * Bounded RPC for experimental, best-effort methods (the `thread/goal/*`
58
+ * family). An app-server build that doesn't recognize the method may never
59
+ * reply; without this, `setGoal`/`clearGoal`/resume hydration would hang
60
+ * forever. On timeout we reject (callers treat that as "unsupported" and fall
61
+ * back to emulation / skip). A late reply still resolves the pending entry
62
+ * harmlessly; a never-reply is cleaned up by rejectAllPending on close.
63
+ */
64
+ private goalRpc;
47
65
  private rpcResponse;
48
66
  handshake(): Promise<void>;
49
67
  send(message: string, options?: SendOptions): Promise<SendHandle>;
@@ -62,6 +80,17 @@ export declare class CodexSessionImpl implements AgentSession {
62
80
  private settleEarly;
63
81
  cancel(_uuid: string): Promise<CancelResult>;
64
82
  stopTask(_taskId: string): Promise<StopTaskResult>;
83
+ setGoal(objective: string, options?: GoalOptions): Promise<SetGoalResult>;
84
+ clearGoal(options?: {
85
+ reason?: "cleared" | "blocked";
86
+ }): Promise<ClearGoalResult>;
87
+ getGoal(): GoalState | null;
88
+ /**
89
+ * Best-effort: read the durable thread goal (`thread/goal/get`) and hydrate the
90
+ * controller so a resumed session reports it. Silently skips when goals are
91
+ * disabled, the table is absent, or there's no active goal.
92
+ */
93
+ private hydrateGoalFromThread;
65
94
  interrupt(): Promise<void>;
66
95
  drain(): Promise<void>;
67
96
  close(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/providers/codex/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/providers/codex/session.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { spawn } from "node:child_process";
2
2
  import { randomUUID } from "node:crypto";
3
+ import { GoalController, normalizeCodexGoalRecord, isTerminalGoalStatus } from "../../goals/index.js";
3
4
  import { findBinary } from "../../utils/binary.js";
4
5
  import { buildEnv, ensurePathInEnv } from "../../utils/env.js";
5
6
  import { injectWorkspaceSkills } from "../../utils/skills.js";
@@ -216,6 +217,19 @@ export async function createCodexSession(ctx) {
216
217
  // Implementation
217
218
  // ---------------------------------------------------------------------------
218
219
  /** @internal Exported for unit testing — not part of the public API. */
220
+ /**
221
+ * Codex carries goals as durable thread state mutated by model tools
222
+ * (create_goal/update_goal/get_goal). Advisory — the model self-reports; no
223
+ * turn-end gate. Goal mode is experimental and feature-gated upstream, so the
224
+ * native arm is best-effort and falls back to emulation (see spec §7.2).
225
+ */
226
+ export const codexGoalCapability = {
227
+ mechanism: "model-tools",
228
+ enforced: false,
229
+ statuses: ["active", "paused", "met", "blocked", "cleared"],
230
+ clears: "manual",
231
+ telemetry: true,
232
+ };
219
233
  export class CodexSessionImpl {
220
234
  proc;
221
235
  ctx;
@@ -260,6 +274,8 @@ export class CodexSessionImpl {
260
274
  * RPCs stay synchronous and are not gated on this chain.
261
275
  */
262
276
  _eventChain = Promise.resolve();
277
+ /** Session-scoped goal engine (best-effort native thread goal + emulation). */
278
+ _goals;
263
279
  constructor(proc, ctx, cwd, model, instructions) {
264
280
  this.proc = proc;
265
281
  this.ctx = ctx;
@@ -267,6 +283,42 @@ export class CodexSessionImpl {
267
283
  this.model = model;
268
284
  this.instructions = instructions;
269
285
  this._resumeThreadId = readCodexResumeId(ctx.sessionParams);
286
+ this._goals = new GoalController({
287
+ providerType: "codex",
288
+ capability: codexGoalCapability,
289
+ getSessionId: () => this._threadId,
290
+ send: (m) => this.send(m),
291
+ dispatch: (event) => this.dispatchEvent(event),
292
+ // Best-effort native arm. Goal mode is experimental + feature-gated
293
+ // (`features.goals=true`); on builds without it the RPC errors and the
294
+ // controller falls back to emulation. The method name is unconfirmed
295
+ // (see spec §11) — we try the community spelling.
296
+ armNative: async (objective) => {
297
+ if (!this._threadId)
298
+ return false;
299
+ try {
300
+ // Verified against codex 0.130.0 app-server: method + flat
301
+ // `{threadId, objective}` params, gated on the `experimentalApi`
302
+ // capability (declared in handshake) AND a build where the
303
+ // `thread_goals` table exists (goals enabled in config.toml). When the
304
+ // table is absent the RPC errors and the controller falls back to
305
+ // emulation.
306
+ await this.goalRpc("thread/goal/set", {
307
+ threadId: this._threadId,
308
+ objective,
309
+ });
310
+ return true;
311
+ }
312
+ catch {
313
+ return false;
314
+ }
315
+ },
316
+ clearNative: async () => {
317
+ if (!this._threadId)
318
+ return;
319
+ await this.goalRpc("thread/goal/clear", { threadId: this._threadId }).catch(() => { });
320
+ },
321
+ });
270
322
  proc.stdout.setEncoding("utf-8");
271
323
  proc.stdout.on("data", (chunk) => this.handleStdout(chunk));
272
324
  proc.stderr.setEncoding("utf-8");
@@ -321,6 +373,24 @@ export class CodexSessionImpl {
321
373
  this._pendingRpc.set(id, { resolve, reject });
322
374
  });
323
375
  }
376
+ /**
377
+ * Bounded RPC for experimental, best-effort methods (the `thread/goal/*`
378
+ * family). An app-server build that doesn't recognize the method may never
379
+ * reply; without this, `setGoal`/`clearGoal`/resume hydration would hang
380
+ * forever. On timeout we reject (callers treat that as "unsupported" and fall
381
+ * back to emulation / skip). A late reply still resolves the pending entry
382
+ * harmlessly; a never-reply is cleaned up by rejectAllPending on close.
383
+ */
384
+ goalRpc(method, params, timeoutMs = 5000) {
385
+ return Promise.race([
386
+ this.rpcRequest(method, params),
387
+ new Promise((_, reject) => {
388
+ const t = setTimeout(() => reject(new Error(`codex ${method} timed out`)), timeoutMs);
389
+ if (typeof t.unref === "function")
390
+ t.unref();
391
+ }),
392
+ ]);
393
+ }
324
394
  rpcResponse(id, result) {
325
395
  this.proc.stdin.write(JSON.stringify({ jsonrpc: "2.0", id, result }) + "\n");
326
396
  }
@@ -328,10 +398,15 @@ export class CodexSessionImpl {
328
398
  // Handshake
329
399
  // -------------------------------------------------------------------------
330
400
  async handshake() {
331
- // 1. initialize
401
+ // 1. initialize. Declare `experimentalApi` so the app-server exposes its
402
+ // experimental method surface — notably `thread/goal/{set,get,clear}`, which
403
+ // the server rejects with "requires experimentalApi capability" otherwise
404
+ // (verified against codex 0.130.0 app-server). This is the same capability
405
+ // the official VS Code client declares; it gates access to experimental RPC
406
+ // methods, not turn semantics.
332
407
  await this.rpcRequest("initialize", {
333
408
  clientInfo: { name: "agentex", version: "1.0.0" },
334
- capabilities: {},
409
+ capabilities: { experimentalApi: true },
335
410
  });
336
411
  // 2. Resume an existing thread when the caller supplied sessionParams,
337
412
  // otherwise start a fresh one. `thread/resume` continues the SAME thread
@@ -348,6 +423,10 @@ export class CodexSessionImpl {
348
423
  // thread/resume may echo the thread back or return {}; fall back to the
349
424
  // id we resumed with so `sessionId` is always populated.
350
425
  this._threadId = str(thread, "id") || str(thread, "sessionId") || this._resumeThreadId;
426
+ // Rehydrate a durable Codex goal so getGoal() reflects it immediately
427
+ // (goals live in SQLite, not the transcript, so a resumed thread would
428
+ // otherwise report null until the next goal notification).
429
+ await this.hydrateGoalFromThread();
351
430
  return;
352
431
  }
353
432
  catch (err) {
@@ -515,9 +594,55 @@ export class CodexSessionImpl {
515
594
  // Codex has no per-task stop control; capabilities.stopTask is false.
516
595
  return { stopped: false };
517
596
  }
597
+ setGoal(objective, options) {
598
+ return this._goals.setGoal(objective, options);
599
+ }
600
+ clearGoal(options) {
601
+ return this._goals.clearGoal(options);
602
+ }
603
+ getGoal() {
604
+ return this._goals.getGoal();
605
+ }
606
+ /**
607
+ * Best-effort: read the durable thread goal (`thread/goal/get`) and hydrate the
608
+ * controller so a resumed session reports it. Silently skips when goals are
609
+ * disabled, the table is absent, or there's no active goal.
610
+ */
611
+ async hydrateGoalFromThread() {
612
+ if (!this._threadId)
613
+ return;
614
+ try {
615
+ const res = await this.goalRpc("thread/goal/get", { threadId: this._threadId });
616
+ const goal = asObj(res, "goal");
617
+ if (Object.keys(goal).length === 0)
618
+ return;
619
+ const fields = normalizeCodexGoalRecord(goal, "model");
620
+ if (!fields || isTerminalGoalStatus(fields.status))
621
+ return;
622
+ const state = {
623
+ objective: fields.objective,
624
+ status: fields.status,
625
+ met: fields.met,
626
+ enforced: fields.enforced,
627
+ source: fields.source,
628
+ updatedAt: new Date().toISOString(),
629
+ };
630
+ if (fields.tokensUsed !== undefined)
631
+ state.tokensUsed = fields.tokensUsed;
632
+ if (fields.timeUsedSeconds !== undefined)
633
+ state.timeUsedSeconds = fields.timeUsedSeconds;
634
+ if (fields.tokenBudget !== undefined)
635
+ state.tokenBudget = fields.tokenBudget;
636
+ this._goals.hydrate(state);
637
+ }
638
+ catch {
639
+ /* goals off / unsupported / no goal — leave getGoal() null */
640
+ }
641
+ }
518
642
  async interrupt() {
519
643
  if (this._state === "idle" || this._state === "closed")
520
644
  return;
645
+ this._goals.notifyInterrupted(); // don't let an emulated goal auto-continue
521
646
  try {
522
647
  await this.rpcRequest("turn/cancel", {});
523
648
  }
@@ -749,6 +874,17 @@ export class CodexSessionImpl {
749
874
  this.resolveTurn();
750
875
  return;
751
876
  }
877
+ if (method === "error") {
878
+ // A request/turn error notification (e.g. a 4xx from the model API).
879
+ // Capture the message so the trailing `turn/completed` (status "failed")
880
+ // surfaces it. Don't resolve here: `willRetry: true` means the turn
881
+ // continues, and either way `turn/completed` is the turn terminus.
882
+ const msg = str(asObj(params, "error"), "message") || str(params, "message");
883
+ if (msg)
884
+ this._turnErrorMessage = msg;
885
+ this.emitStreamEvent(rawLine);
886
+ return;
887
+ }
752
888
  // Forward unrecognized notifications
753
889
  this.emitStreamEvent(rawLine);
754
890
  }
@@ -795,7 +931,10 @@ export class CodexSessionImpl {
795
931
  const item = typeof params["item"] === "object" && params["item"] !== null
796
932
  ? params["item"]
797
933
  : params;
798
- if (str(item, "type") !== "agent_message")
934
+ // v2 app-server items are `agentMessage` (camelCase); legacy NDJSON is
935
+ // `agent_message`. Accept both or v2 turns return a null TurnResult.summary.
936
+ const itemType = str(item, "type");
937
+ if (itemType !== "agent_message" && itemType !== "agentMessage")
799
938
  return;
800
939
  // Direct text (Codex 0.30+)
801
940
  const directText = str(item, "text");
@@ -830,6 +969,17 @@ export class CodexSessionImpl {
830
969
  const model = str(params, "model");
831
970
  if (model)
832
971
  this._turnModel = model;
972
+ // codex 0.130 signals turn failure via `turn/completed` with
973
+ // `turn.status: "failed"` (carrying `turn.error.message`), not always via a
974
+ // separate `turn/failed`. Detect it so the TurnResult + result event report
975
+ // the error instead of a false "completed".
976
+ const turn = asObj(params, "turn");
977
+ const turnStatus = str(turn, "status");
978
+ if (turnStatus === "failed" || turnStatus === "cancelled") {
979
+ this._turnIsError = true;
980
+ const msg = str(asObj(turn, "error"), "message");
981
+ this._turnErrorMessage = msg || this._turnErrorMessage || `Turn ${turnStatus}`;
982
+ }
833
983
  // Dispatch the synthesized result event BEFORE resolving the turn, so it
834
984
  // is queued onto _eventChain and resolveTurn → deliverTurnResult drains
835
985
  // it before the awaiting send() returns. We synthesize here (rather than
@@ -839,11 +989,11 @@ export class CodexSessionImpl {
839
989
  // payload to carry on the result event.
840
990
  this.dispatchEvent({
841
991
  type: "result",
842
- text: this._turnSummary ?? "",
992
+ text: this._turnIsError ? (this._turnErrorMessage ?? this._turnSummary ?? "") : (this._turnSummary ?? ""),
843
993
  costUsd: null,
844
994
  isError: this._turnIsError,
845
995
  stopReason: null,
846
- terminalReason: null,
996
+ terminalReason: turnStatus || null,
847
997
  numTurns: null,
848
998
  durationMs: null,
849
999
  timestamp: new Date().toISOString(),
@@ -927,9 +1077,13 @@ export class CodexSessionImpl {
927
1077
  p.cleanup?.();
928
1078
  p.resolve(result);
929
1079
  }
1080
+ // Advance any emulated goal loop now that the turn has fully settled.
1081
+ void this._goals.onTurnSettled(result);
930
1082
  }
931
1083
  emitStreamEvent(rawLine) {
932
- if (!this.ctx.onEvent)
1084
+ // Parse when there's an onEvent subscriber OR an active goal to observe, so
1085
+ // native goal_status transitions update getGoal() even with no handler.
1086
+ if (!this.ctx.onEvent && !this._goals.isTracking())
933
1087
  return;
934
1088
  // Pass current threadId so NDJSON-shaped events (via codex/event wrapper)
935
1089
  // carry sessionId. v2 notifications parse threadId from params directly
@@ -945,6 +1099,8 @@ export class CodexSessionImpl {
945
1099
  * throwing handler does not break delivery of subsequent events.
946
1100
  */
947
1101
  dispatchEvent(event) {
1102
+ // Track native goal_status transitions (keeps getGoal() accurate).
1103
+ this._goals.observe(event);
948
1104
  const cb = this.ctx.onEvent;
949
1105
  if (!cb)
950
1106
  return;