@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.
- package/dist/goals/controller.d.ts +106 -0
- package/dist/goals/controller.d.ts.map +1 -0
- package/dist/goals/controller.js +375 -0
- package/dist/goals/controller.js.map +1 -0
- package/dist/goals/index.d.ts +6 -0
- package/dist/goals/index.d.ts.map +1 -0
- package/dist/goals/index.js +4 -0
- package/dist/goals/index.js.map +1 -0
- package/dist/goals/normalize.d.ts +72 -0
- package/dist/goals/normalize.d.ts.map +1 -0
- package/dist/goals/normalize.js +138 -0
- package/dist/goals/normalize.js.map +1 -0
- package/dist/goals/sentinel.d.ts +39 -0
- package/dist/goals/sentinel.d.ts.map +1 -0
- package/dist/goals/sentinel.js +77 -0
- package/dist/goals/sentinel.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/providers/acp/session.d.ts.map +1 -1
- package/dist/providers/acp/session.js +25 -0
- package/dist/providers/acp/session.js.map +1 -1
- package/dist/providers/claude/index.d.ts.map +1 -1
- package/dist/providers/claude/index.js +2 -1
- package/dist/providers/claude/index.js.map +1 -1
- package/dist/providers/claude/parse.d.ts.map +1 -1
- package/dist/providers/claude/parse.js +25 -0
- package/dist/providers/claude/parse.js.map +1 -1
- package/dist/providers/claude/session.d.ts +36 -1
- package/dist/providers/claude/session.d.ts.map +1 -1
- package/dist/providers/claude/session.js +190 -2
- package/dist/providers/claude/session.js.map +1 -1
- package/dist/providers/codex/index.d.ts.map +1 -1
- package/dist/providers/codex/index.js +2 -1
- package/dist/providers/codex/index.js.map +1 -1
- package/dist/providers/codex/parse.d.ts.map +1 -1
- package/dist/providers/codex/parse.js +74 -3
- package/dist/providers/codex/parse.js.map +1 -1
- package/dist/providers/codex/session.d.ts +30 -1
- package/dist/providers/codex/session.d.ts.map +1 -1
- package/dist/providers/codex/session.js +162 -6
- package/dist/providers/codex/session.js.map +1 -1
- package/dist/providers/opencode/http-session.d.ts.map +1 -1
- package/dist/providers/opencode/http-session.js +25 -0
- package/dist/providers/opencode/http-session.js.map +1 -1
- package/dist/providers/opencode/index.d.ts.map +1 -1
- package/dist/providers/opencode/index.js +2 -0
- package/dist/providers/opencode/index.js.map +1 -1
- package/dist/providers/pi/index.d.ts.map +1 -1
- package/dist/providers/pi/index.js +2 -0
- package/dist/providers/pi/index.js.map +1 -1
- package/dist/providers/pi/session.d.ts +8 -1
- package/dist/providers/pi/session.d.ts.map +1 -1
- package/dist/providers/pi/session.js +28 -2
- package/dist/providers/pi/session.js.map +1 -1
- package/dist/types.d.ts +192 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- 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:
|
|
244
|
+
isError: failed,
|
|
210
245
|
stopReason: null,
|
|
211
|
-
terminalReason:
|
|
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":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,UAAU,EACV,WAAW,EACX,cAAc,EACd,YAAY,
|
|
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
|
-
|
|
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
|
-
|
|
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;
|