@botiverse/oar 0.37.0 → 0.39.0
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/README.md +2 -1
- package/dist/agents/index.d.ts +2 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +1 -1
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/report.d.ts +24 -0
- package/dist/agents/report.d.ts.map +1 -1
- package/dist/agents/report.js +49 -1
- package/dist/agents/report.js.map +1 -1
- package/dist/observe/display-text.d.ts +15 -0
- package/dist/observe/display-text.d.ts.map +1 -0
- package/dist/observe/display-text.js +108 -0
- package/dist/observe/display-text.js.map +1 -0
- package/dist/observe/index.d.ts +4 -2
- package/dist/observe/index.d.ts.map +1 -1
- package/dist/observe/index.js +2 -1
- package/dist/observe/index.js.map +1 -1
- package/dist/observe/tasks.d.ts +30 -5
- package/dist/observe/tasks.d.ts.map +1 -1
- package/dist/observe/tasks.js +74 -6
- package/dist/observe/tasks.js.map +1 -1
- package/dist/observe/tool-groups.d.ts +3 -2
- package/dist/observe/tool-groups.d.ts.map +1 -1
- package/dist/observe/tool-groups.js +13 -2
- package/dist/observe/tool-groups.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -62,9 +62,10 @@ The package has these public entry points, plus `@botiverse/oar/community` for c
|
|
|
62
62
|
- `@botiverse/oar`: the runtime registry and adapters, `defineRuntime`, `UnsupportedOptionError`, the `oar-voyage/3` recorder (`openVoyage`), and everything the brands and observe entry points below export. Node-only (adapters import `node:child_process` and runtime SDKs).
|
|
63
63
|
- `@botiverse/oar/brands`: browser-safe runtime names and SVG icons.
|
|
64
64
|
- `@botiverse/oar/observe`: the browser-safe pure derivations over `RawEvent`s and `Event`s (`eventsOf`, `coalesceText`, `observeAgent`, `reduceStatus`, `tasksOf`, `observeStalls`, `classifyTool`, `reduceConversation`, `viewOf`, …) with no Node or adapter imports, so a browser or Electron-renderer bundle can import it directly. The root export re-exports all of them.
|
|
65
|
+
It also supplies `noticeText`, `noticeTone`, `phaseLabel`, `failureText` and `taskStatusLabel`, alongside `toolActionLabel` and `toolGroupSummary`: English display wording for OAR types, usable in JavaScriptCore too. Wording may change in a minor release; hosts must use the typed values for decisions, not parse the text ([display wording](https://github.com/botiverse/oar/blob/main/docs/spec/conversation.md#display-wording)).
|
|
65
66
|
- `@botiverse/oar/kernel`: the runtime-author SPI. `createSessionKernel` is the record stream every built-in adapter is built on (dense `seq`, cursor replay, control recording, the reachability rule) and `sealSession` derives the `Session` API face over an adapter. Pair with `defineRuntime` to ship a custom runtime (a scripted runtime for a host's tests, an in-process agent) without re-implementing the stream contract. `inputImagesRefusal` and `withInputImages` are the image rules every built-in runtime keeps, so a custom runtime refuses the inputs they refuse. `withdrawHeld` is the decision behind `withdraw` for a runtime that holds its own queue.
|
|
66
67
|
- `@botiverse/oar/agents`: subagents. `createSubagents()` starts child sessions on any runtime that takes `SessionOptions.env` (not cursor), returns a report for every turn they end, takes follow-ups, enforces depth and concurrency limits, and reports each child as a task. The host takes reports with `wait` / `next` or receives them through an `onReport` hook; with `formatReport` and `reportOrigin` it can `deliver` one into a parent session so it wakes. See [subagents](https://github.com/botiverse/oar/blob/main/docs/spec/subagents.md). Node-only.
|
|
67
|
-
- `@botiverse/oar/agents/report`:
|
|
68
|
+
- `@botiverse/oar/agents/report`: `formatReport`, `parseReport`, `reportOrigin` and their types, with no Node or adapter imports, for a host forwarding or displaying reports. `parseReport` reads the existing report format into header fields, a structured outcome and the original body, or returns `null`. `@botiverse/oar/agents` loads every built-in runtime, because `createSubagents` defaults to them.
|
|
68
69
|
- `@botiverse/oar/testing`: `scriptedRuntime({ turn })`, a ready-made runtime on the kernel SPI whose model is a script. It yields a real `Session` (same records, folds and control semantics) with no binary, login or provider, for hosts' tests and demos. A script can also start tasks (`turn.task`) that end after the turn, like a background command. Node-only.
|
|
69
70
|
|
|
70
71
|
Brand SVG files are exported at `@botiverse/oar/assets/brands/<runtime-id>.svg`. Any other deep import (`@botiverse/oar/dist/...`, source paths) is internal and may break without notice.
|
package/dist/agents/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export { createSubagents } from "./crew.js";
|
|
7
7
|
export { SUBAGENT_DEPTH_ENV } from "./helpers.js";
|
|
8
|
-
export { formatReport, reportOrigin } from "./report.js";
|
|
8
|
+
export { formatReport, parseReport, reportOrigin } from "./report.js";
|
|
9
|
+
export type { ParsedReport, ReportOutcome } from "./report.js";
|
|
9
10
|
export type { SendMode, SendResult, SpawnOptions, SpawnRefusalCode, SpawnResult, Subagent, SubagentInfo, SubagentReport, Subagents, SubagentsOptions, SubagentState, SubagentTaskEvent, WaitOptions, } from "./types.js";
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACtE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/D,YAAY,EACV,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,WAAW,GACZ,MAAM,YAAY,CAAC"}
|
package/dist/agents/index.js
CHANGED
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export { createSubagents } from "./crew.js";
|
|
7
7
|
export { SUBAGENT_DEPTH_ENV } from "./helpers.js";
|
|
8
|
-
export { formatReport, reportOrigin } from "./report.js";
|
|
8
|
+
export { formatReport, parseReport, reportOrigin } from "./report.js";
|
|
9
9
|
//# sourceMappingURL=index.js.map
|
package/dist/agents/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/agents/report.d.ts
CHANGED
|
@@ -7,7 +7,31 @@
|
|
|
7
7
|
import type { InputOrigin } from "../contracts/session.js";
|
|
8
8
|
import type { SubagentReport } from "./types.js";
|
|
9
9
|
export type { SubagentReport } from "./types.js";
|
|
10
|
+
/** Only the outcome information encoded in a report header; failure classifications are not written there. */
|
|
11
|
+
export type ReportOutcome = {
|
|
12
|
+
readonly kind: "completed" | "aborted";
|
|
13
|
+
} | {
|
|
14
|
+
readonly kind: "failed";
|
|
15
|
+
readonly reason: string;
|
|
16
|
+
};
|
|
17
|
+
/** The fields `formatReport` actually writes, without inventing a timestamp, log path or failure classification. */
|
|
18
|
+
export interface ParsedReport {
|
|
19
|
+
readonly id: string;
|
|
20
|
+
readonly name?: string;
|
|
21
|
+
readonly runtime: string;
|
|
22
|
+
readonly turn: number;
|
|
23
|
+
readonly outcome: ReportOutcome;
|
|
24
|
+
readonly sessionId: string;
|
|
25
|
+
readonly body: string;
|
|
26
|
+
}
|
|
10
27
|
/** The origin to deliver a report with: a notification from that subagent. */
|
|
11
28
|
export declare function reportOrigin(report: SubagentReport): InputOrigin;
|
|
12
29
|
export declare function formatReport(report: SubagentReport): string;
|
|
30
|
+
/**
|
|
31
|
+
* Read `formatReport`'s existing text format, or null for a non-report. Body and failed
|
|
32
|
+
* reason are preserved verbatim. Session ids contain no whitespace or closing bracket.
|
|
33
|
+
* The legacy header has no escaping: `x (y)` is id `x`, name `y`, even if the original id
|
|
34
|
+
* itself contained ` (y)`. An omitted name (including name === id) cannot be recovered.
|
|
35
|
+
*/
|
|
36
|
+
export declare function parseReport(text: string): ParsedReport | null;
|
|
13
37
|
//# sourceMappingURL=report.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/agents/report.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/agents/report.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,yBAAyB,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,8GAA8G;AAC9G,MAAM,MAAM,aAAa,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9H,oHAAoH;AACpH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAWD,8EAA8E;AAC9E,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,WAAW,CAEhE;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAI3D;AAQD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAyB7D"}
|
package/dist/agents/report.js
CHANGED
|
@@ -1,10 +1,58 @@
|
|
|
1
|
+
function formatOutcome(outcome) {
|
|
2
|
+
switch (outcome.kind) {
|
|
3
|
+
case "completed": return "completed";
|
|
4
|
+
case "aborted": return "aborted";
|
|
5
|
+
case "failed": return `failed: ${outcome.reason}`;
|
|
6
|
+
default: {
|
|
7
|
+
const unexpected = outcome;
|
|
8
|
+
throw new Error(`Unknown report outcome: ${String(unexpected)}`);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
}
|
|
1
12
|
/** The origin to deliver a report with: a notification from that subagent. */
|
|
2
13
|
export function reportOrigin(report) {
|
|
3
14
|
return { kind: "notification", source: `subagent:${report.id}` };
|
|
4
15
|
}
|
|
5
16
|
export function formatReport(report) {
|
|
6
|
-
const outcome = report.outcome
|
|
17
|
+
const outcome = formatOutcome(report.outcome);
|
|
7
18
|
const who = report.name === undefined || report.name === report.id ? report.id : `${report.id} (${report.name})`;
|
|
8
19
|
return `[subagent ${who} on ${report.runtime}, turn ${String(report.turn)}: ${outcome}; session ${report.sessionId}]\n${report.text}`;
|
|
9
20
|
}
|
|
21
|
+
const OUTCOMES = {
|
|
22
|
+
completed: (text) => text === "completed" ? { kind: "completed" } : null,
|
|
23
|
+
aborted: (text) => text === "aborted" ? { kind: "aborted" } : null,
|
|
24
|
+
failed: (text) => text.startsWith("failed: ") ? { kind: "failed", reason: text.slice("failed: ".length) } : null,
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Read `formatReport`'s existing text format, or null for a non-report. Body and failed
|
|
28
|
+
* reason are preserved verbatim. Session ids contain no whitespace or closing bracket.
|
|
29
|
+
* The legacy header has no escaping: `x (y)` is id `x`, name `y`, even if the original id
|
|
30
|
+
* itself contained ` (y)`. An omitted name (including name === id) cannot be recovered.
|
|
31
|
+
*/
|
|
32
|
+
export function parseReport(text) {
|
|
33
|
+
// The first complete header ends before the body, even if the body quotes another report.
|
|
34
|
+
const envelope = /^\[subagent ([\s\S]*?; session [^\s\]]+)\]\n([\s\S]*)$/u.exec(text);
|
|
35
|
+
const header = envelope?.[1];
|
|
36
|
+
const body = envelope?.[2];
|
|
37
|
+
if (header === undefined || body === undefined) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
// Split from the right so semicolons, parentheses and '; session' in a reason survive.
|
|
41
|
+
const sessionAt = header.lastIndexOf("; session ");
|
|
42
|
+
const sessionId = header.slice(sessionAt + "; session ".length);
|
|
43
|
+
const fields = /^([\s\S]+?) on ([^\s,]+), turn ([1-9][0-9]*): ([\s\S]*)$/u.exec(header.slice(0, sessionAt));
|
|
44
|
+
const [, who, runtime, turnText, outcomeText] = fields ?? [];
|
|
45
|
+
if (who === undefined || runtime === undefined || turnText === undefined || outcomeText === undefined) {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
const turn = Number(turnText);
|
|
49
|
+
const outcome = Object.values(OUTCOMES).map((parse) => parse(outcomeText)).find((value) => value !== null);
|
|
50
|
+
if (!Number.isSafeInteger(turn) || outcome === undefined) {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
const named = /^([\s\S]+?) \(([\s\S]*)\)$/u.exec(who);
|
|
54
|
+
const id = named?.[1] ?? who;
|
|
55
|
+
const name = named?.[2];
|
|
56
|
+
return { id, ...(name === undefined ? {} : { name }), runtime, turn, outcome, sessionId, body };
|
|
57
|
+
}
|
|
10
58
|
//# sourceMappingURL=report.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/agents/report.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/agents/report.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { FailureClass, RunningPhase, TaskStatus } from "../contracts/session.js";
|
|
2
|
+
import type { ViewNotice } from "./session-view.js";
|
|
3
|
+
/** English display wording may change in a minor release. Use the types, not these strings, for decisions. */
|
|
4
|
+
export type NoticeTone = "quiet" | "warning" | "danger";
|
|
5
|
+
/** A notice's English display text, including native reasons when present. Never parse this wording. */
|
|
6
|
+
export declare function noticeText(notice: ViewNotice): string;
|
|
7
|
+
/** Display emphasis for a notice; a host chooses its colors and presentation. */
|
|
8
|
+
export declare function noticeTone(notice: ViewNotice): NoticeTone;
|
|
9
|
+
/** The running phase in English, for display only. Tool names remain the runtime's own. */
|
|
10
|
+
export declare function phaseLabel(phase: RunningPhase): string;
|
|
11
|
+
/** What the runtime reported, in English. The host supplies any sign-in or recovery guidance. */
|
|
12
|
+
export declare function failureText(failure: FailureClass, runtimeName: string): string;
|
|
13
|
+
/** A task's status in English, for display only. */
|
|
14
|
+
export declare function taskStatusLabel(status: TaskStatus): string;
|
|
15
|
+
//# sourceMappingURL=display-text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display-text.d.ts","sourceRoot":"","sources":["../../src/observe/display-text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,YAAY,EAAE,YAAY,EAAE,UAAU,EAAe,MAAM,yBAAyB,CAAC;AAClH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,8GAA8G;AAC9G,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;AAwCxD,wGAAwG;AACxG,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAsBrD;AAED,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAUzD;AAED,2FAA2F;AAC3F,wBAAgB,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAWtD;AAED,iGAAiG;AACjG,wBAAgB,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAW9E;AAED,oDAAoD;AACpD,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAU1D"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
function unreachable(value) {
|
|
2
|
+
throw new Error(`Unknown display value: ${String(value)}`);
|
|
3
|
+
}
|
|
4
|
+
function outcomeLabel(kind) {
|
|
5
|
+
switch (kind) {
|
|
6
|
+
case "completed": return "completed";
|
|
7
|
+
case "aborted": return "aborted";
|
|
8
|
+
case "failed": return "failed";
|
|
9
|
+
default: return unreachable(kind);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
function outcomeTone(kind) {
|
|
13
|
+
switch (kind) {
|
|
14
|
+
case "completed": return "quiet";
|
|
15
|
+
case "aborted": return "warning";
|
|
16
|
+
case "failed": return "danger";
|
|
17
|
+
default: return unreachable(kind);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
function actionLabel(action) {
|
|
21
|
+
switch (action) {
|
|
22
|
+
case "prompt": return "Prompt";
|
|
23
|
+
case "steer": return "Steer";
|
|
24
|
+
case "queue": return "Queue";
|
|
25
|
+
case "withdraw": return "Withdraw";
|
|
26
|
+
case "abort": return "Abort";
|
|
27
|
+
case "dispose": return "Dispose";
|
|
28
|
+
default: return unreachable(action);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function detail(text, reason) {
|
|
32
|
+
return reason === undefined || reason === "" ? text : `${text}: ${reason}`;
|
|
33
|
+
}
|
|
34
|
+
/** A notice's English display text, including native reasons when present. Never parse this wording. */
|
|
35
|
+
export function noticeText(notice) {
|
|
36
|
+
switch (notice.cause) {
|
|
37
|
+
case "compaction_started":
|
|
38
|
+
return detail("Compacting context", notice.trigger);
|
|
39
|
+
case "compaction_ended": {
|
|
40
|
+
const trigger = notice.trigger === undefined || notice.trigger === "" ? "" : ` (${notice.trigger})`;
|
|
41
|
+
return detail(`Context compaction ${outcomeLabel(notice.outcome)}${trigger}`, notice.reason);
|
|
42
|
+
}
|
|
43
|
+
case "retry": {
|
|
44
|
+
const maximum = notice.maxAttempts === undefined ? "" : ` of ${notice.maxAttempts}`;
|
|
45
|
+
const delay = notice.delayMs === undefined ? "" : `, in ${notice.delayMs / 1000}s`;
|
|
46
|
+
return detail(`Retrying (attempt ${notice.attempt}${maximum}${delay})`, notice.reason);
|
|
47
|
+
}
|
|
48
|
+
case "control_rejected":
|
|
49
|
+
return detail(`${actionLabel(notice.action)} rejected`, notice.reason);
|
|
50
|
+
case "child_turn_ended":
|
|
51
|
+
return detail(`Subagent turn ${outcomeLabel(notice.outcome.kind)}`, notice.outcome.kind === "failed" ? notice.outcome.reason : undefined);
|
|
52
|
+
case "exited":
|
|
53
|
+
return notice.code === null ? "Runtime exited" : `Runtime exited (code ${notice.code})`;
|
|
54
|
+
default:
|
|
55
|
+
return unreachable(notice);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/** Display emphasis for a notice; a host chooses its colors and presentation. */
|
|
59
|
+
export function noticeTone(notice) {
|
|
60
|
+
switch (notice.cause) {
|
|
61
|
+
case "compaction_started": return "quiet";
|
|
62
|
+
case "compaction_ended": return outcomeTone(notice.outcome);
|
|
63
|
+
case "retry": return "warning";
|
|
64
|
+
case "control_rejected": return "warning";
|
|
65
|
+
case "child_turn_ended": return outcomeTone(notice.outcome.kind);
|
|
66
|
+
case "exited": return notice.code === 0 ? "quiet" : (notice.code === null ? "warning" : "danger");
|
|
67
|
+
default: return unreachable(notice);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/** The running phase in English, for display only. Tool names remain the runtime's own. */
|
|
71
|
+
export function phaseLabel(phase) {
|
|
72
|
+
if (typeof phase === "object" && "tool" in phase) {
|
|
73
|
+
return `Running ${phase.tool}`;
|
|
74
|
+
}
|
|
75
|
+
switch (phase) {
|
|
76
|
+
case "waiting_model": return "Waiting for model";
|
|
77
|
+
case "thinking": return "Thinking";
|
|
78
|
+
case "responding": return "Responding";
|
|
79
|
+
case "compacting": return "Compacting context";
|
|
80
|
+
default: return unreachable(phase);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/** What the runtime reported, in English. The host supplies any sign-in or recovery guidance. */
|
|
84
|
+
export function failureText(failure, runtimeName) {
|
|
85
|
+
switch (failure) {
|
|
86
|
+
case "auth": return `${runtimeName} is not signed in.`;
|
|
87
|
+
case "quota": return `${runtimeName} reported that its usage limit was reached.`;
|
|
88
|
+
case "invalid_request": return `${runtimeName} rejected the request as invalid.`;
|
|
89
|
+
case "overloaded": return `${runtimeName} reported that its provider is overloaded.`;
|
|
90
|
+
case "provider": return `${runtimeName} reported a provider error.`;
|
|
91
|
+
case "runtime_exited": return `${runtimeName} exited before the turn finished.`;
|
|
92
|
+
case "unknown": return "The turn failed.";
|
|
93
|
+
default: return unreachable(failure);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/** A task's status in English, for display only. */
|
|
97
|
+
export function taskStatusLabel(status) {
|
|
98
|
+
switch (status) {
|
|
99
|
+
case "pending": return "Pending";
|
|
100
|
+
case "running": return "Running";
|
|
101
|
+
case "paused": return "Paused";
|
|
102
|
+
case "completed": return "Completed";
|
|
103
|
+
case "failed": return "Failed";
|
|
104
|
+
case "stopped": return "Stopped";
|
|
105
|
+
default: return unreachable(status);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=display-text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display-text.js","sourceRoot":"","sources":["../../src/observe/display-text.ts"],"names":[],"mappings":"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"}
|
package/dist/observe/index.d.ts
CHANGED
|
@@ -15,6 +15,8 @@ export { observeAgent, simpleStateOf } from "./observe-agent.js";
|
|
|
15
15
|
export type { AgentObserver, AgentView, ObserveAgentOptions } from "./observe-agent.js";
|
|
16
16
|
export { classifyTool, toolActionLabel } from "./tool-activity.js";
|
|
17
17
|
export { groupToolActivity, toolGroupSummary } from "./tool-groups.js";
|
|
18
|
+
export { failureText, noticeText, noticeTone, phaseLabel, taskStatusLabel } from "./display-text.js";
|
|
19
|
+
export type { NoticeTone } from "./display-text.js";
|
|
18
20
|
export { toolResultText } from "./tool-output.js";
|
|
19
21
|
export { appRequestKind } from "./app-requests.js";
|
|
20
22
|
export { redactRecord } from "./redact-record.js";
|
|
@@ -25,8 +27,8 @@ export type { ReasoningPart, ToolGroup, ToolGroupSegment, ToolPart } from "./too
|
|
|
25
27
|
export { awaitIdle, awaitTurnEnd, promptAndWait, turnEndAfter } from "./turns.js";
|
|
26
28
|
export type { PromptRun, PromptRunOptions } from "./turns.js";
|
|
27
29
|
export { contextUsageOf, effortOf, modelOf, usageOf } from "./usage.js";
|
|
28
|
-
export { applyTaskEvent, initialTasks, reduceTasks, tasksOf } from "./tasks.js";
|
|
29
|
-
export type { TaskEventOrigin, TaskMap, TaskView } from "./tasks.js";
|
|
30
|
+
export { applyTaskEvent, initialTasks, initialTaskState, reduceTasks, reduceTaskState, tasksOf } from "./tasks.js";
|
|
31
|
+
export type { TaskEventOrigin, TaskMap, TaskState, TaskView } from "./tasks.js";
|
|
30
32
|
export { initialConversation, reduceConversation, conversationOf, observeConversation } from "./conversation.js";
|
|
31
33
|
export type { ConversationState, ConversationInput, ConversationUpdate, InputAttempt } from "./conversation.js";
|
|
32
34
|
export { initialSessionView, reduceSessionView, reduceSessionViewEvent, reduceSessionViewInput, viewOf, observeSessionView, } from "./session-view.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/observe/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACrF,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACnF,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACjE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACrE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAClF,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/observe/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACrF,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACnF,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACjE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrG,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACrE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAClF,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACnH,YAAY,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEhF,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACjH,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEhH,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,MAAM,EACN,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,WAAW,EACX,WAAW,EACX,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,UAAU,EACV,cAAc,GACf,MAAM,mBAAmB,CAAC"}
|
package/dist/observe/index.js
CHANGED
|
@@ -11,13 +11,14 @@ export { observeStalls } from "./stall-observer.js";
|
|
|
11
11
|
export { observeAgent, simpleStateOf } from "./observe-agent.js";
|
|
12
12
|
export { classifyTool, toolActionLabel } from "./tool-activity.js";
|
|
13
13
|
export { groupToolActivity, toolGroupSummary } from "./tool-groups.js";
|
|
14
|
+
export { failureText, noticeText, noticeTone, phaseLabel, taskStatusLabel } from "./display-text.js";
|
|
14
15
|
export { toolResultText } from "./tool-output.js";
|
|
15
16
|
export { appRequestKind } from "./app-requests.js";
|
|
16
17
|
export { redactRecord } from "./redact-record.js";
|
|
17
18
|
export { REDACTION_RULES } from "../shared/credential-redaction.js";
|
|
18
19
|
export { awaitIdle, awaitTurnEnd, promptAndWait, turnEndAfter } from "./turns.js";
|
|
19
20
|
export { contextUsageOf, effortOf, modelOf, usageOf } from "./usage.js";
|
|
20
|
-
export { applyTaskEvent, initialTasks, reduceTasks, tasksOf } from "./tasks.js";
|
|
21
|
+
export { applyTaskEvent, initialTasks, initialTaskState, reduceTasks, reduceTaskState, tasksOf } from "./tasks.js";
|
|
21
22
|
export { initialConversation, reduceConversation, conversationOf, observeConversation } from "./conversation.js";
|
|
22
23
|
export { initialSessionView, reduceSessionView, reduceSessionViewEvent, reduceSessionViewInput, viewOf, observeSessionView, } from "./session-view.js";
|
|
23
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/observe/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAErF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEnF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAIpE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAElF,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/observe/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAErF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEnF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAErG,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAIpE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAElF,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGnH,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGjH,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,MAAM,EACN,kBAAkB,GACnB,MAAM,mBAAmB,CAAC"}
|
package/dist/observe/tasks.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import type { QueryResult, RawEvent, TaskEventBody, TaskStatus, TaskType } from "../contracts/session.js";
|
|
1
|
+
import type { AgentStatus, QueryResult, RawEvent, TaskEventBody, TaskStatus, TaskType } from "../contracts/session.js";
|
|
2
2
|
/**
|
|
3
3
|
* One task as its runtime reported it, for a task panel: the shape a host
|
|
4
4
|
* draws for background commands and subagents alike. `sessionId` and
|
|
5
5
|
* `agentPath` say whose task it is (a subagent can start tasks of its own);
|
|
6
|
-
* `startedAt` / `endedAt` are the `receivedAt` of the reports.
|
|
6
|
+
* `startedAt` / `endedAt` are the `receivedAt` of the reports. A root runtime
|
|
7
|
+
* exit also ends unfinished tasks; its `receivedAt` supplies that ending.
|
|
7
8
|
*/
|
|
8
9
|
export interface TaskView {
|
|
9
10
|
readonly taskId: string;
|
|
@@ -37,9 +38,33 @@ export declare function applyTaskEvent(previous: TaskMap, body: TaskEventBody, o
|
|
|
37
38
|
/**
|
|
38
39
|
* Fold one record into the task map. Status follows the latest report: a
|
|
39
40
|
* codex subagent that completed and is then given more work reads as running
|
|
40
|
-
* again. Records without task events return the same map.
|
|
41
|
+
* again. Records without task events return the same map. This event-only
|
|
42
|
+
* reducer does not infer endings at runtime exit; use `reduceTaskState` for that.
|
|
41
43
|
*/
|
|
42
44
|
export declare function reduceTasks(previous: TaskMap, record: RawEvent): TaskMap;
|
|
43
|
-
/**
|
|
44
|
-
export
|
|
45
|
+
/** Checkpointable task fold for one runtime process, including its child sessions. */
|
|
46
|
+
export interface TaskState {
|
|
47
|
+
readonly tasks: TaskMap;
|
|
48
|
+
readonly rootSessionId: string | undefined;
|
|
49
|
+
/** Reuses the status fold's current-turn stop evidence. */
|
|
50
|
+
readonly status: AgentStatus;
|
|
51
|
+
/** A root dispose request also applies when no turn is running. */
|
|
52
|
+
readonly disposed: boolean;
|
|
53
|
+
/** Task ids whose current error was inferred from runtime exit, not reported natively. */
|
|
54
|
+
readonly exitErrors: ReadonlySet<string>;
|
|
55
|
+
}
|
|
56
|
+
/** Start a fresh fold per runtime start/resume. Without an id, the first record selects the root. */
|
|
57
|
+
export declare function initialTaskState(rootSessionId?: string): TaskState;
|
|
58
|
+
/**
|
|
59
|
+
* Fold task reports and root process exit. Pending/running/paused tasks, including
|
|
60
|
+
* child tasks, end as stopped after dispose or an exit-aborted turn, failed otherwise.
|
|
61
|
+
* Native endings remain authoritative, including reports arriving after exit.
|
|
62
|
+
* Persist the whole state (including Maps/Sets), not just its task rows, to resume a fold.
|
|
63
|
+
*/
|
|
64
|
+
export declare function reduceTaskState(previous: TaskState, record: RawEvent): TaskState;
|
|
65
|
+
/**
|
|
66
|
+
* Tasks in one runtime stream, including inferred endings at root process exit,
|
|
67
|
+
* with the seq of the last record read. Pass the root id when the first record is a child's.
|
|
68
|
+
*/
|
|
69
|
+
export declare function tasksOf(records: readonly RawEvent[], rootSessionId?: string): QueryResult<readonly TaskView[]>;
|
|
45
70
|
//# sourceMappingURL=tasks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/observe/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/observe/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAIvH;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,6DAA6D;AAC7D,MAAM,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAEpD,eAAO,MAAM,YAAY,EAAE,OAAmB,CAAC;AAuC/C,iFAAiF;AACjF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,+EAA+E;AAC/E,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAKvG;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO,CAWxE;AAED,sFAAsF;AACtF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,2DAA2D;IAC3D,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,0FAA0F;IAC1F,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC1C;AAED,qGAAqG;AACrG,wBAAgB,gBAAgB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAElE;AAwCD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,GAAG,SAAS,CAWhF;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,SAAS,QAAQ,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,SAAS,QAAQ,EAAE,CAAC,CAQ9G"}
|
package/dist/observe/tasks.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { initialStatus, reduceStatus } from "./agent-status.js";
|
|
1
2
|
export const initialTasks = new Map();
|
|
2
3
|
function placeholder(event) {
|
|
3
4
|
// A report about a task whose start the stream does not hold (a mid-session
|
|
@@ -41,7 +42,8 @@ export function applyTaskEvent(previous, body, origin) {
|
|
|
41
42
|
/**
|
|
42
43
|
* Fold one record into the task map. Status follows the latest report: a
|
|
43
44
|
* codex subagent that completed and is then given more work reads as running
|
|
44
|
-
* again. Records without task events return the same map.
|
|
45
|
+
* again. Records without task events return the same map. This event-only
|
|
46
|
+
* reducer does not infer endings at runtime exit; use `reduceTaskState` for that.
|
|
45
47
|
*/
|
|
46
48
|
export function reduceTasks(previous, record) {
|
|
47
49
|
if (record.kind !== "frame") {
|
|
@@ -55,14 +57,80 @@ export function reduceTasks(previous, record) {
|
|
|
55
57
|
}
|
|
56
58
|
return next;
|
|
57
59
|
}
|
|
58
|
-
/**
|
|
59
|
-
export function
|
|
60
|
-
|
|
60
|
+
/** Start a fresh fold per runtime start/resume. Without an id, the first record selects the root. */
|
|
61
|
+
export function initialTaskState(rootSessionId) {
|
|
62
|
+
return { tasks: initialTasks, rootSessionId, status: initialStatus, disposed: false, exitErrors: new Set() };
|
|
63
|
+
}
|
|
64
|
+
function clearExitError(previous, body) {
|
|
65
|
+
const row = previous.tasks.get(body.taskId);
|
|
66
|
+
if (!previous.exitErrors.has(body.taskId) || row === undefined
|
|
67
|
+
|| (body.kind === "task_updated" && body.status === undefined && body.error === undefined)) {
|
|
68
|
+
return previous;
|
|
69
|
+
}
|
|
70
|
+
const { error: _error, ...reported } = row;
|
|
71
|
+
const tasks = new Map([...previous.tasks, [body.taskId, reported]]);
|
|
72
|
+
const exitErrors = new Set(previous.exitErrors);
|
|
73
|
+
exitErrors.delete(body.taskId);
|
|
74
|
+
return { ...previous, tasks, exitErrors };
|
|
75
|
+
}
|
|
76
|
+
function reduceTaskReports(previous, record) {
|
|
77
|
+
if (record.kind !== "frame") {
|
|
78
|
+
return previous;
|
|
79
|
+
}
|
|
80
|
+
let next = previous;
|
|
81
|
+
for (const body of record.body.events) {
|
|
82
|
+
if (body.kind === "task_started" || body.kind === "task_updated" || body.kind === "task_ended") {
|
|
83
|
+
next = clearExitError(next, body);
|
|
84
|
+
next = { ...next, tasks: applyTaskEvent(next.tasks, body, record) };
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return next;
|
|
88
|
+
}
|
|
89
|
+
function endRuntimeTasks(previous, receivedAt, stopped) {
|
|
90
|
+
const tasks = new Map(previous.tasks);
|
|
91
|
+
const exitErrors = new Set(previous.exitErrors);
|
|
92
|
+
for (const [id, task] of tasks) {
|
|
93
|
+
if (task.status !== "pending" && task.status !== "running" && task.status !== "paused") {
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
const inferError = !stopped && task.error === undefined;
|
|
97
|
+
tasks.set(id, { ...task, status: stopped ? "stopped" : "failed", endedAt: receivedAt,
|
|
98
|
+
...(inferError ? { error: "runtime exited" } : {}) });
|
|
99
|
+
if (inferError) {
|
|
100
|
+
exitErrors.add(id);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return { ...previous, tasks, exitErrors };
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Fold task reports and root process exit. Pending/running/paused tasks, including
|
|
107
|
+
* child tasks, end as stopped after dispose or an exit-aborted turn, failed otherwise.
|
|
108
|
+
* Native endings remain authoritative, including reports arriving after exit.
|
|
109
|
+
* Persist the whole state (including Maps/Sets), not just its task rows, to resume a fold.
|
|
110
|
+
*/
|
|
111
|
+
export function reduceTaskState(previous, record) {
|
|
112
|
+
const rootSessionId = previous.rootSessionId ?? record.sessionId;
|
|
113
|
+
const root = record.sessionId === rootSessionId && record.agentPath.length === 0;
|
|
114
|
+
const status = reduceStatus(previous.status, record, rootSessionId);
|
|
115
|
+
const disposed = previous.disposed || (root && record.kind === "request" && record.direction === "toRuntime" && record.body.kind === "dispose");
|
|
116
|
+
const next = { ...previous, rootSessionId, status, disposed };
|
|
117
|
+
if (root && record.kind === "response" && record.body.kind === "exited") {
|
|
118
|
+
const aborted = previous.status.kind === "running" && status.kind === "idle" && status.lastTurnOutcome?.kind === "aborted";
|
|
119
|
+
return endRuntimeTasks(next, record.receivedAt, disposed || aborted);
|
|
120
|
+
}
|
|
121
|
+
return reduceTaskReports(next, record);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Tasks in one runtime stream, including inferred endings at root process exit,
|
|
125
|
+
* with the seq of the last record read. Pass the root id when the first record is a child's.
|
|
126
|
+
*/
|
|
127
|
+
export function tasksOf(records, rootSessionId) {
|
|
128
|
+
let state = initialTaskState(rootSessionId);
|
|
61
129
|
let seq = -1;
|
|
62
130
|
for (const record of records) {
|
|
63
|
-
|
|
131
|
+
state = reduceTaskState(state, record);
|
|
64
132
|
seq = record.seq;
|
|
65
133
|
}
|
|
66
|
-
return { value: [...tasks.values()], seq };
|
|
134
|
+
return { value: [...state.tasks.values()], seq };
|
|
67
135
|
}
|
|
68
136
|
//# sourceMappingURL=tasks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/observe/tasks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/observe/tasks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AA+BhE,MAAM,CAAC,MAAM,YAAY,GAAY,IAAI,GAAG,EAAE,CAAC;AAI/C,SAAS,WAAW,CAAC,KAAgB;IACnC,4EAA4E;IAC5E,2EAA2E;IAC3E,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAChI,CAAC;AAED,mFAAmF;AACnF,SAAS,QAAQ,CAAC,IAAc;IAC9B,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IACxF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,KAAK,CAAC,QAA8B,EAAE,KAAgB;IAC7D,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC;YACrD,4FAA4F;YAC5F,sFAAsF;YACtF,MAAM,KAAK,GAAG,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAC;YACzE,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;QAC7H,CAAC;QACD,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;YAChI,MAAM,IAAI,GAAG,QAAQ,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC;YACpG,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC;QAC1D,CAAC;QACD,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC;YACpH,OAAO,EAAE,GAAG,CAAC,QAAQ,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;QACjF,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC;AASD,+EAA+E;AAC/E,MAAM,UAAU,cAAc,CAAC,QAAiB,EAAE,IAAmB,EAAE,MAAuB;IAC5F,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAc,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;IAC9H,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3D,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,QAAiB,EAAE,MAAgB;IAC7D,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,IAAI,GAAG,QAAQ,CAAC;IACpB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC/F,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAcD,qGAAqG;AACrG,MAAM,UAAU,gBAAgB,CAAC,aAAsB;IACrD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;AAC/G,CAAC;AAED,SAAS,cAAc,CAAC,QAAmB,EAAE,IAAmB;IAC9D,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,SAAS;WACzD,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,EAAE,CAAC;QAC7F,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,GAAG,GAAG,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,GAAG,CAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtF,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAChD,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,OAAO,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAmB,EAAE,MAAgB;IAC9D,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAAC,OAAO,QAAQ,CAAC;IAAC,CAAC;IACjD,IAAI,IAAI,GAAG,QAAQ,CAAC;IACpB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC/F,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAClC,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;QACtE,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,eAAe,CAAC,QAAmB,EAAE,UAAkB,EAAE,OAAgB;IAChF,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAChD,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QACrG,MAAM,UAAU,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC;QACxD,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU;YAClF,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACxD,IAAI,UAAU,EAAE,CAAC;YAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;IACzC,CAAC;IACD,OAAO,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAC5C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,QAAmB,EAAE,MAAgB;IACnE,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,IAAI,MAAM,CAAC,SAAS,CAAC;IACjE,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,KAAK,aAAa,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC;IACjF,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAChJ,MAAM,IAAI,GAAG,EAAE,GAAG,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC9D,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACxE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,eAAe,EAAE,IAAI,KAAK,SAAS,CAAC;QAC3H,OAAO,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,QAAQ,IAAI,OAAO,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,OAA4B,EAAE,aAAsB;IAC1E,IAAI,KAAK,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC5C,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;IACb,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,KAAK,GAAG,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACvC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;IACnB,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;AACnD,CAAC"}
|
|
@@ -38,7 +38,8 @@ export type ToolGroupSegment = {
|
|
|
38
38
|
export declare function groupToolActivity(runtimeId: string, parts: readonly ViewPart[]): ToolGroupSegment[];
|
|
39
39
|
/**
|
|
40
40
|
* The English line for a group's counts: "Ran 3 commands, read a file". MCP and unclassified
|
|
41
|
-
* tools read alike ("used 2 tools").
|
|
41
|
+
* tools read alike ("used 2 tools"). A group with no calls (only reasoning) reads "Thought",
|
|
42
|
+
* or "Thinking…" while it is running. Display wording may change in a minor release.
|
|
42
43
|
*/
|
|
43
|
-
export declare function toolGroupSummary(counts: ToolGroup["counts"]): string;
|
|
44
|
+
export declare function toolGroupSummary(counts: ToolGroup["counts"], state?: "running" | "done"): string;
|
|
44
45
|
//# sourceMappingURL=tool-groups.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-groups.d.ts","sourceRoot":"","sources":["../../src/observe/tool-groups.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEvE;;;;;;GAMG;AAEH,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAC3D,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC,CAAC;AAErE,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,qDAAqD;IACrD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,GAAG,aAAa,CAAC,EAAE,CAAC;IACtD,qFAAqF;IACrF,QAAQ,CAAC,MAAM,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACtF,sCAAsC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;CAC7B;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC1E,SAAS,CAAC;AAqBd,qGAAqG;AACrG,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAoBnG;AAaD
|
|
1
|
+
{"version":3,"file":"tool-groups.d.ts","sourceRoot":"","sources":["../../src/observe/tool-groups.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEvE;;;;;;GAMG;AAEH,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAC3D,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC,CAAC;AAErE,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,qDAAqD;IACrD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,GAAG,aAAa,CAAC,EAAE,CAAC;IACtD,qFAAqF;IACrF,QAAQ,CAAC,MAAM,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACtF,sCAAsC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;CAC7B;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC1E,SAAS,CAAC;AAqBd,qGAAqG;AACrG,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAoBnG;AAaD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAE,SAAS,GAAG,MAAe,GAAG,MAAM,CAyBxG"}
|
|
@@ -52,9 +52,20 @@ const DONE = {
|
|
|
52
52
|
};
|
|
53
53
|
/**
|
|
54
54
|
* The English line for a group's counts: "Ran 3 commands, read a file". MCP and unclassified
|
|
55
|
-
* tools read alike ("used 2 tools").
|
|
55
|
+
* tools read alike ("used 2 tools"). A group with no calls (only reasoning) reads "Thought",
|
|
56
|
+
* or "Thinking…" while it is running. Display wording may change in a minor release.
|
|
56
57
|
*/
|
|
57
|
-
export function toolGroupSummary(counts) {
|
|
58
|
+
export function toolGroupSummary(counts, state = "done") {
|
|
59
|
+
if (counts.length === 0) {
|
|
60
|
+
switch (state) {
|
|
61
|
+
case "running": return "Thinking…";
|
|
62
|
+
case "done": return "Thought";
|
|
63
|
+
default: {
|
|
64
|
+
const unexpected = state;
|
|
65
|
+
throw new Error(`Unknown group state: ${String(unexpected)}`);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
58
69
|
const tools = counts
|
|
59
70
|
.filter(({ kind }) => kind === "mcp" || kind === "other")
|
|
60
71
|
.reduce((sum, { count }) => sum + count, 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-groups.js","sourceRoot":"","sources":["../../src/observe/tool-groups.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tool-groups.js","sourceRoot":"","sources":["../../src/observe/tool-groups.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@botiverse/oar",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.39.0",
|
|
4
4
|
"description": "A programming interface for all agent harnesses: provider-independent contracts for controlling and observing agent runtimes",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|