@botiverse/oar 0.54.0 → 0.54.2
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/contracts/session.d.ts +4 -3
- package/dist/contracts/session.d.ts.map +1 -1
- package/dist/runtimes/grok/session.d.ts +7 -3
- package/dist/runtimes/grok/session.d.ts.map +1 -1
- package/dist/runtimes/grok/session.js +9 -3
- package/dist/runtimes/grok/session.js.map +1 -1
- package/dist/runtimes/grok/spontaneous-usage.d.ts +14 -0
- package/dist/runtimes/grok/spontaneous-usage.d.ts.map +1 -0
- package/dist/runtimes/grok/spontaneous-usage.js +31 -0
- package/dist/runtimes/grok/spontaneous-usage.js.map +1 -0
- package/dist/runtimes/pi/facade-runtime.d.ts +2 -1
- package/dist/runtimes/pi/facade-runtime.d.ts.map +1 -1
- package/dist/runtimes/pi/facade-runtime.js +4 -3
- package/dist/runtimes/pi/facade-runtime.js.map +1 -1
- package/dist/runtimes/pi/http.d.ts.map +1 -1
- package/dist/runtimes/pi/http.js +8 -4
- package/dist/runtimes/pi/http.js.map +1 -1
- package/dist/runtimes/pi/list-models.js +2 -2
- package/dist/runtimes/pi/list-models.js.map +1 -1
- package/dist/runtimes/pi/open.js +2 -2
- package/dist/runtimes/pi/open.js.map +1 -1
- package/dist/runtimes/pi/static-modules.d.ts +6 -0
- package/dist/runtimes/pi/static-modules.d.ts.map +1 -0
- package/dist/runtimes/pi/static-modules.js +58 -0
- package/dist/runtimes/pi/static-modules.js.map +1 -0
- package/dist/shared/acp/client-app.d.ts +1 -1
- package/dist/shared/acp/client-app.d.ts.map +1 -1
- package/dist/shared/acp/client-app.js +6 -2
- package/dist/shared/acp/client-app.js.map +1 -1
- package/dist/shared/acp/opening.d.ts +11 -0
- package/dist/shared/acp/opening.d.ts.map +1 -0
- package/dist/shared/acp/opening.js +46 -0
- package/dist/shared/acp/opening.js.map +1 -0
- package/dist/shared/acp/process.d.ts +3 -0
- package/dist/shared/acp/process.d.ts.map +1 -1
- package/dist/shared/acp/process.js +3 -1
- package/dist/shared/acp/process.js.map +1 -1
- package/dist/shared/acp/profile.d.ts +9 -5
- package/dist/shared/acp/profile.d.ts.map +1 -1
- package/dist/shared/acp/records.d.ts +4 -3
- package/dist/shared/acp/records.d.ts.map +1 -1
- package/dist/shared/acp/records.js +6 -2
- package/dist/shared/acp/records.js.map +1 -1
- package/dist/shared/acp/session.d.ts.map +1 -1
- package/dist/shared/acp/session.js +8 -4
- package/dist/shared/acp/session.js.map +1 -1
- package/dist/shared/acp/token-usage.d.ts +10 -0
- package/dist/shared/acp/token-usage.d.ts.map +1 -0
- package/dist/shared/acp/token-usage.js +28 -0
- package/dist/shared/acp/token-usage.js.map +1 -0
- package/dist/shared/acp/turns.d.ts +2 -1
- package/dist/shared/acp/turns.d.ts.map +1 -1
- package/dist/shared/acp/turns.js +4 -7
- package/dist/shared/acp/turns.js.map +1 -1
- package/package.json +1 -1
|
@@ -197,8 +197,9 @@ export interface Session extends AdapterSession {
|
|
|
197
197
|
* when sub-agents reported or part of the total is no agent's:
|
|
198
198
|
* deduplicated, `byAgent` plus `unattributed` sum to `total`. A derived
|
|
199
199
|
* child session (own `sessionId`, in `graph()`) reports independent usage
|
|
200
|
-
* in its own records, added once by `withChildren`. Grok
|
|
201
|
-
*
|
|
200
|
+
* in its own records, added once by `withChildren`. Grok child ledgers stay
|
|
201
|
+
* native-only because they can overlap the root; late background children
|
|
202
|
+
* can be missing from its total. Independent automatic root turns are counted.
|
|
202
203
|
*/
|
|
203
204
|
usage(): QueryResult<SessionUsage>;
|
|
204
205
|
/** Latest context fullness the runtime reported for this session's root agent; null before any. */
|
|
@@ -236,7 +237,7 @@ export interface SessionUsage {
|
|
|
236
237
|
}[];
|
|
237
238
|
/** What `total` includes that no `byAgent` entry accounts for (claude's subagents, sidechains and compaction, which its stream does not attribute per agent): `total` less every entry, never split by estimate. Absent when the agents account for all of it. */
|
|
238
239
|
readonly unattributed?: TokenTotals;
|
|
239
|
-
/** `total` plus each derived session's independently reported token total, nested children too, each counted once. Grok's
|
|
240
|
+
/** `total` plus each derived session's independently reported token total, nested children too, each counted once. Grok's child ledgers stay native-only to avoid possible overlap; this does not establish that the root counted every child. Absent when no child session reported independent usage, and while `total` is null. */
|
|
240
241
|
readonly withChildren?: TokenTotals;
|
|
241
242
|
}
|
|
242
243
|
export type SteerOrQueueResult = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/contracts/session.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/contracts/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,10 +11,14 @@ export declare function grokContextUsage(response: JsonRecord): ContextUsage | n
|
|
|
11
11
|
* summed over its model calls (grok 1.0.25, live 2026-09-11: three one-word
|
|
12
12
|
* turns billed ~16.8k input each, not a growing total; a steered turn's
|
|
13
13
|
* closing answer summed its two calls). `inputTokens` includes the cached
|
|
14
|
-
* reads (`cachedReadTokens` ≤ it) and
|
|
15
|
-
*
|
|
14
|
+
* reads (`cachedReadTokens` ≤ it) and may include a child's model calls
|
|
15
|
+
* when it finishes during the parent prompt (live-grok-c/subagent seq 159 = the four
|
|
16
16
|
* `response_completed` frames 48+78+119+155, two of them the child's). The
|
|
17
|
-
* turn machinery
|
|
17
|
+
* turn machinery shares its accumulator with independent root wake ledgers
|
|
18
|
+
* (spontaneous-usage.ts). Late background child usage can still be absent;
|
|
19
|
+
* will_wake does not identify ledger inclusion
|
|
20
|
+
* (experiments/grok-background-usage-2026-10-10.md).
|
|
21
|
+
* The same ledger's `cachedReadTokens`
|
|
18
22
|
* is the cache-read part of that input and `cacheCreationTokens` the
|
|
19
23
|
* cache-write part (live 1.0.25 basic answer: 1280 and 0); each is read only
|
|
20
24
|
* when the ledger carries it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/runtimes/grok/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAExE,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE5F,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAsB,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/runtimes/grok/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAExE,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE5F,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAsB,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAa3E,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAQhF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,UAAU,CAiBtE;AAYD,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,UAAU,GAAG,YAAY,GAAG,IAAI,CAc1E;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI,CAUzE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,4BAA4B,EAAE,SAAS,MAAM,EAkBzD,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,qBAGvC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,iBAmC5B,CAAC;AAEF,eAAO,MAAM,WAAW,mDAA6B,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { acpSession } from "../../shared/acp/session.js";
|
|
|
4
4
|
import { asNumber, asRecord } from "../../shared/json.js";
|
|
5
5
|
import { cacheParts } from "../../shared/token-totals.js";
|
|
6
6
|
import { grokFailureOutcome } from "./failure.js";
|
|
7
|
+
import { grokSpontaneousTokens } from "./spontaneous-usage.js";
|
|
7
8
|
import { redactGrokNotification } from "../../shared/credential-redaction.js";
|
|
8
9
|
function authMethodIds(initialized) {
|
|
9
10
|
return (Array.isArray(initialized.authMethods) ? initialized.authMethods : [])
|
|
@@ -68,10 +69,14 @@ export function grokContextUsage(response) {
|
|
|
68
69
|
* summed over its model calls (grok 1.0.25, live 2026-09-11: three one-word
|
|
69
70
|
* turns billed ~16.8k input each, not a growing total; a steered turn's
|
|
70
71
|
* closing answer summed its two calls). `inputTokens` includes the cached
|
|
71
|
-
* reads (`cachedReadTokens` ≤ it) and
|
|
72
|
-
*
|
|
72
|
+
* reads (`cachedReadTokens` ≤ it) and may include a child's model calls
|
|
73
|
+
* when it finishes during the parent prompt (live-grok-c/subagent seq 159 = the four
|
|
73
74
|
* `response_completed` frames 48+78+119+155, two of them the child's). The
|
|
74
|
-
* turn machinery
|
|
75
|
+
* turn machinery shares its accumulator with independent root wake ledgers
|
|
76
|
+
* (spontaneous-usage.ts). Late background child usage can still be absent;
|
|
77
|
+
* will_wake does not identify ledger inclusion
|
|
78
|
+
* (experiments/grok-background-usage-2026-10-10.md).
|
|
79
|
+
* The same ledger's `cachedReadTokens`
|
|
75
80
|
* is the cache-read part of that input and `cacheCreationTokens` the
|
|
76
81
|
* cache-write part (live 1.0.25 basic answer: 1280 and 0); each is read only
|
|
77
82
|
* when the ledger carries it.
|
|
@@ -168,6 +173,7 @@ export const grokAcpProfile = {
|
|
|
168
173
|
steerSupersedesPrompt: true,
|
|
169
174
|
promptContextUsage: grokContextUsage,
|
|
170
175
|
promptTokenUsage: grokPromptTokens,
|
|
176
|
+
spontaneousTokenUsage: grokSpontaneousTokens,
|
|
171
177
|
};
|
|
172
178
|
export const grokSession = acpSession(grokAcpProfile);
|
|
173
179
|
//# sourceMappingURL=session.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/runtimes/grok/session.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/runtimes/grok/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { TokenTotals } from "../../contracts/session.js";
|
|
2
|
+
import { type JsonRecord } from "../../shared/json.js";
|
|
3
|
+
/**
|
|
4
|
+
* Grok injects these prompts directly into its session actor, outside ACP
|
|
5
|
+
* session/prompt (spawn.rs::inject_subagent_completed_prompt). Their terminal
|
|
6
|
+
* ledger is independent of RPC prompt ledgers. Never apply this to ordinary
|
|
7
|
+
* turn_completed or child frames; the ACP recorder enforces root attribution.
|
|
8
|
+
*/
|
|
9
|
+
export declare function grokSpontaneousTokens(method: string, params: JsonRecord): {
|
|
10
|
+
readonly key: string;
|
|
11
|
+
readonly tokens: TokenTotals;
|
|
12
|
+
readonly replayed?: boolean;
|
|
13
|
+
} | null;
|
|
14
|
+
//# sourceMappingURL=spontaneous-usage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spontaneous-usage.d.ts","sourceRoot":"","sources":["../../../src/runtimes/grok/spontaneous-usage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAsB,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAG3E;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAepK"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { asNumber, asRecord } from "../../shared/json.js";
|
|
2
|
+
import { cacheParts } from "../../shared/token-totals.js";
|
|
3
|
+
/**
|
|
4
|
+
* Grok injects these prompts directly into its session actor, outside ACP
|
|
5
|
+
* session/prompt (spawn.rs::inject_subagent_completed_prompt). Their terminal
|
|
6
|
+
* ledger is independent of RPC prompt ledgers. Never apply this to ordinary
|
|
7
|
+
* turn_completed or child frames; the ACP recorder enforces root attribution.
|
|
8
|
+
*/
|
|
9
|
+
export function grokSpontaneousTokens(method, params) {
|
|
10
|
+
if (method !== "_x.ai/session_notification") {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
const update = asRecord(params.update);
|
|
14
|
+
if (update?.sessionUpdate !== "turn_completed" || typeof update.prompt_id !== "string"
|
|
15
|
+
|| !update.prompt_id.startsWith("subagent-completed-") || update.prompt_id === "subagent-completed-") {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
// eventId is stable across duplicate delivery. A later wake of the same
|
|
19
|
+
// resumed child can reuse the prompt id, but has a different native eventId.
|
|
20
|
+
// oxlint-disable-next-line eslint/no-underscore-dangle -- Native ACP extension envelope.
|
|
21
|
+
const meta = asRecord(params._meta);
|
|
22
|
+
const key = meta?.eventId;
|
|
23
|
+
const usage = asRecord(update.usage);
|
|
24
|
+
const input = asNumber(usage?.inputTokens);
|
|
25
|
+
const output = asNumber(usage?.outputTokens);
|
|
26
|
+
if (typeof key !== "string" || key === "" || usage === null || input === null || output === null) {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
return { key, tokens: { input, output, ...cacheParts(usage, { read: "cachedReadTokens", write: "cacheCreationTokens" }) }, ...(meta?.isReplay === true ? { replayed: true } : {}) };
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=spontaneous-usage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spontaneous-usage.js","sourceRoot":"","sources":["../../../src/runtimes/grok/spontaneous-usage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAmB,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAc,EAAE,MAAkB;IACtE,IAAI,MAAM,KAAK,4BAA4B,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,MAAM,EAAE,aAAa,KAAK,gBAAgB,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ;WACjF,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,qBAAqB,CAAC,IAAI,MAAM,CAAC,SAAS,KAAK,qBAAqB,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IACxH,wEAAwE;IACxE,6EAA6E;IAC7E,yFAAyF;IACzF,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,IAAI,EAAE,OAAO,CAAC;IAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAC7C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAClH,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACtL,CAAC"}
|
|
@@ -13,7 +13,8 @@ type ModelRuntimeOptions = NonNullable<Parameters<typeof ModelRuntime.create>[0]
|
|
|
13
13
|
* Left to pi, `auth.json` and `models.json` would come from pi's own dir even
|
|
14
14
|
* with `OAR_PI_AGENT_DIR` set, so a login would not reach the next session.
|
|
15
15
|
* Network calls (OAuth, catalog refresh) need the proxy plane first, from
|
|
16
|
-
* that dir's settings (see http.ts)
|
|
16
|
+
* that dir's settings (see http.ts), and pi-ai its provider modules
|
|
17
|
+
* (static-modules.ts).
|
|
17
18
|
*/
|
|
18
19
|
export declare function piFacadeRuntime(paths: PiModelRuntimePaths, options: Omit<ModelRuntimeOptions, "authPath" | "modelsPath">): Promise<ModelRuntime>;
|
|
19
20
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facade-runtime.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/facade-runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,YAAY,EAAmB,MAAM,iCAAiC,CAAC;AAI7F,+GAA+G;AAC/G,MAAM,WAAW,mBAAmB;IAClC,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,iHAAiH;IACjH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED,KAAK,mBAAmB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAElF
|
|
1
|
+
{"version":3,"file":"facade-runtime.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/facade-runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,YAAY,EAAmB,MAAM,iCAAiC,CAAC;AAI7F,+GAA+G;AAC/G,MAAM,WAAW,mBAAmB;IAClC,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,iHAAiH;IACjH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED,KAAK,mBAAmB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAElF;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,UAAU,GAAG,YAAY,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAStJ"}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { join } from "node:path";
|
|
2
2
|
import { getAgentDir, ModelRuntime, SettingsManager } from "@earendil-works/pi-coding-agent";
|
|
3
|
-
import { configurePiHttp } from "./http.js";
|
|
4
3
|
import { piAgentDir } from "./resolve.js";
|
|
4
|
+
import { preparePi } from "./static-modules.js";
|
|
5
5
|
/**
|
|
6
6
|
* A `ModelRuntime` for a facade, reading the same agent dir as a session:
|
|
7
7
|
* `OAR_PI_AGENT_DIR`, else pi's own (`PI_CODING_AGENT_DIR` or `~/.pi/agent`).
|
|
8
8
|
* Left to pi, `auth.json` and `models.json` would come from pi's own dir even
|
|
9
9
|
* with `OAR_PI_AGENT_DIR` set, so a login would not reach the next session.
|
|
10
10
|
* Network calls (OAuth, catalog refresh) need the proxy plane first, from
|
|
11
|
-
* that dir's settings (see http.ts)
|
|
11
|
+
* that dir's settings (see http.ts), and pi-ai its provider modules
|
|
12
|
+
* (static-modules.ts).
|
|
12
13
|
*/
|
|
13
14
|
export async function piFacadeRuntime(paths, options) {
|
|
14
15
|
const agentDir = piAgentDir(getAgentDir);
|
|
15
|
-
await
|
|
16
|
+
await preparePi(SettingsManager.create(process.cwd(), agentDir));
|
|
16
17
|
return ModelRuntime.create({
|
|
17
18
|
...options,
|
|
18
19
|
authPath: paths.authPath ?? join(agentDir, "auth.json"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facade-runtime.js","sourceRoot":"","sources":["../../../src/runtimes/pi/facade-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAC7F,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"facade-runtime.js","sourceRoot":"","sources":["../../../src/runtimes/pi/facade-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAYhD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAA0B,EAAE,OAA6D;IAC7H,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjE,OAAO,YAAY,CAAC,MAAM,CAAC;QACzB,GAAG,OAAO;QACV,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC;QACvD,4EAA4E;QAC5E,UAAU,EAAE,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU;KAC9F,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/http.ts"],"names":[],"mappings":"AA+BA,+EAA+E;AAC/E,MAAM,WAAW,cAAc;IAC7B,iBAAiB,IAAI;QAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,oBAAoB,IAAI,MAAM,CAAC;CAChC;AAED,iFAAiF;AACjF,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,GAAG,YAAY,GAAG,aAAa,GAAG,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AAExH,mGAAmG;AACnG,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5C;AAOD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,GAAG,GAAE,UAAwB,GAAG,UAAU,CAO/F;
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/http.ts"],"names":[],"mappings":"AA+BA,+EAA+E;AAC/E,MAAM,WAAW,cAAc;IAC7B,iBAAiB,IAAI;QAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,oBAAoB,IAAI,MAAM,CAAC;CAChC;AAED,iFAAiF;AACjF,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,GAAG,YAAY,GAAG,aAAa,GAAG,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AAExH,mGAAmG;AACnG,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5C;AAOD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,GAAG,GAAE,UAAwB,GAAG,UAAU,CAO/F;AAkBD,wEAAwE;AACxE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAG7D;AA6BD;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAoCjF"}
|
package/dist/runtimes/pi/http.js
CHANGED
|
@@ -70,10 +70,14 @@ export async function configurePiHttp(settings) {
|
|
|
70
70
|
if (installed !== null && installed.plan === key && current === installed.dispatcher) {
|
|
71
71
|
return true;
|
|
72
72
|
}
|
|
73
|
-
// Node's default dispatcher
|
|
74
|
-
// class object from the npm undici this module loads, so
|
|
75
|
-
// judged by name
|
|
76
|
-
|
|
73
|
+
// Stock is either Node's default dispatcher, its BUNDLED undici's Agent
|
|
74
|
+
// (a different class object from the npm undici this module loads, so
|
|
75
|
+
// judged by name), or the Agent npm undici creates itself when no global
|
|
76
|
+
// dispatcher exists yet. A bundler may rename that class (esbuild made it
|
|
77
|
+
// `Agent4` once the pi-ai modules joined a single-file host, #328), so it
|
|
78
|
+
// is judged by class. Anything else that is not ours belongs to the host.
|
|
79
|
+
const stock = current.constructor.name === "Agent" || current instanceof undici.Agent;
|
|
80
|
+
const foreign = !stock && current !== installed?.dispatcher;
|
|
77
81
|
if (foreign) {
|
|
78
82
|
warnOnce(new Error("the host already set a global dispatcher"));
|
|
79
83
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/runtimes/pi/http.ts"],"names":[],"mappings":"AA+CA,SAAS,YAAY,CAAC,QAAoC;IACxD,MAAM,KAAK,GAAG,QAAQ,EAAE,iBAAiB,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;IAC9D,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;AACvE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,QAAyB,EAAE,MAAkB,OAAO,CAAC,GAAG;IACjF,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACxC,OAAO;QACL,SAAS,EAAE,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,IAAI,QAAQ;QACvD,UAAU,EAAE,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,IAAI,QAAQ;QAC1D,aAAa,EAAE,QAAQ,EAAE,oBAAoB,EAAE;KAChD,CAAC;AACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/runtimes/pi/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { preparePi } from "./static-modules.js";
|
|
2
2
|
import { piAgentDir } from "./resolve.js";
|
|
3
3
|
import { projectPiModels } from "./model-projection.js";
|
|
4
4
|
export { projectPiModels } from "./model-projection.js";
|
|
@@ -48,7 +48,7 @@ export const piListModels = createPiListModels(async (signal) => {
|
|
|
48
48
|
// plane first, from the same settings manager the services get (see
|
|
49
49
|
// http.ts).
|
|
50
50
|
const settingsManager = SettingsManager.create(process.cwd(), agentDir);
|
|
51
|
-
await
|
|
51
|
+
await preparePi(settingsManager);
|
|
52
52
|
const services = await createAgentSessionServices({
|
|
53
53
|
cwd: process.cwd(),
|
|
54
54
|
agentDir,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-models.js","sourceRoot":"","sources":["../../../src/runtimes/pi/list-models.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"list-models.js","sourceRoot":"","sources":["../../../src/runtimes/pi/list-models.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,eAAe,EAA0E,MAAM,uBAAuB,CAAC;AAEhI,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,kBAAkB,CAChC,aAA4E,EAC5E,gBAA2D;IAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE;QAC1C,IAAI,YAAY,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,kDAAkD,EAAE,CAAC;QAC7F,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;YAChE,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACpE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,SAAS,EAAE,MAAM,gBAAgB,EAAE,EAAE,CAAC,EAAE,CAAC;QACxF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,2CAA2C,MAAM,EAAE,EAAE,CAAC;QAC9F,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;IAC3E,MAAM,EAAE,0BAA0B,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;IACrH,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACzC,sEAAsE;IACtE,oEAAoE;IACpE,YAAY;IACZ,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;IACxE,MAAM,SAAS,CAAC,eAAe,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC;QAChD,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,QAAQ;QACR,eAAe;QACf,kBAAkB,EAAE,MAAM;QAC1B,qBAAqB,EAAE;YACrB,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,IAAI;YACvB,QAAQ,EAAE,IAAI;YACd,cAAc,EAAE,IAAI;SACrB;KACF,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,YAAY,CAAC;AAC/B,CAAC,EAAE,KAAK,IAAI,EAAE;IACZ,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,EAAE,0BAA0B,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAC7E,OAAO,0BAA0B,CAAC;AACpC,CAAC,CAAC,CAAC"}
|
package/dist/runtimes/pi/open.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { refuseSessionOptions } from "../../shared/session-options.js";
|
|
2
2
|
import { sessionEnvironment } from "../../shared/environment.js";
|
|
3
3
|
import { piCredentialExtension, rememberPiKey } from "./credentials.js";
|
|
4
|
-
import {
|
|
4
|
+
import { preparePi } from "./static-modules.js";
|
|
5
5
|
import { disposePiAgentSession } from "./lifecycle.js";
|
|
6
6
|
import { piMcpExtensions, validatePiMcpEnvironment } from "./mcp.js";
|
|
7
7
|
import { piAgentDir, piFindSessionFile, piResolveModel, piSessionDir } from "./resolve.js";
|
|
@@ -100,7 +100,7 @@ export async function openPiAgentSession(options, rememberKey) {
|
|
|
100
100
|
// settings manager the services get, so no second one is built (see
|
|
101
101
|
// http.ts).
|
|
102
102
|
const settingsManager = sdk.SettingsManager.create(options.cwd, agentDir);
|
|
103
|
-
await
|
|
103
|
+
await preparePi(settingsManager);
|
|
104
104
|
// SessionOptions.mcpServers: pi's MCP extension plus one registering the
|
|
105
105
|
// session's servers (mcp.ts); it refuses a name pi cannot take before
|
|
106
106
|
// anything loads.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open.js","sourceRoot":"","sources":["../../../src/runtimes/pi/open.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAGjE,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"open.js","sourceRoot":"","sources":["../../../src/runtimes/pi/open.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type PiHttpSettings } from "./http.js";
|
|
2
|
+
/** Hand pi-ai its sign-in flows and Bedrock module, once per process; never throws. */
|
|
3
|
+
export declare function providePiModules(): Promise<void>;
|
|
4
|
+
/** pi's process-wide setup before it first reaches a provider: the proxy plane (http.ts) and pi-ai's provider modules. */
|
|
5
|
+
export declare function preparePi(settings: PiHttpSettings): Promise<void>;
|
|
6
|
+
//# sourceMappingURL=static-modules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static-modules.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/static-modules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAsDjE,uFAAuF;AACvF,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAGtD;AAED,0HAA0H;AAC1H,wBAAsB,SAAS,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvE"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { configurePiHttp } from "./http.js";
|
|
2
|
+
/*
|
|
3
|
+
* pi's provider modules for a bundled host (#328). pi-ai loads its sign-in
|
|
4
|
+
* flows (`auth/oauth/load.js`) and Bedrock (`bedrock-converse-stream.lazy.js`)
|
|
5
|
+
* through a computed path, so that a browser bundler does not follow them
|
|
6
|
+
* into Node-only code. A host bundled into one file (a Node single
|
|
7
|
+
* executable) has no such files beside it, and every pi sign-in, OAuth turn
|
|
8
|
+
* and Bedrock call failed with "Cannot find module". pi's own standalone
|
|
9
|
+
* binary hands pi-ai the modules instead
|
|
10
|
+
* (`pi-coding-agent/dist/bun/runtime-setup.js`); OAR makes the same two
|
|
11
|
+
* calls. OAR runs pi in-process on Node only, so the browser reason does not
|
|
12
|
+
* apply. The imports are literal, so a bundler follows them, and dynamic, so
|
|
13
|
+
* a host that never uses pi does not load them (Bedrock's AWS SDK alone takes
|
|
14
|
+
* about 60 to 140 ms).
|
|
15
|
+
*
|
|
16
|
+
* Each is best effort: a host may leave Bedrock out of its bundle. A failed
|
|
17
|
+
* one warns once and is tried again on the next call, and pi keeps its own
|
|
18
|
+
* loading for it, as before.
|
|
19
|
+
*/
|
|
20
|
+
let provided = null;
|
|
21
|
+
let warned = false;
|
|
22
|
+
async function registerSignInFlows() {
|
|
23
|
+
const { registerBunOAuthFlows } = await import("@earendil-works/pi-ai/bun-oauth");
|
|
24
|
+
registerBunOAuthFlows();
|
|
25
|
+
}
|
|
26
|
+
async function registerBedrock() {
|
|
27
|
+
const [{ bedrockProviderModule }, { setBedrockProviderModule }] = await Promise.all([
|
|
28
|
+
import("@earendil-works/pi-ai/bedrock-provider"),
|
|
29
|
+
import("@earendil-works/pi-ai/compat"),
|
|
30
|
+
]);
|
|
31
|
+
setBedrockProviderModule(bedrockProviderModule);
|
|
32
|
+
}
|
|
33
|
+
function warnOnce(reason) {
|
|
34
|
+
if (warned) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
warned = true;
|
|
38
|
+
const detail = reason instanceof Error ? reason.message : String(reason);
|
|
39
|
+
process.emitWarning(`pi provider modules not all handed to pi-ai (${detail}): pi loads those itself, which a single-file host cannot`, { code: "OAR_PI_MODULES" });
|
|
40
|
+
}
|
|
41
|
+
async function provide() {
|
|
42
|
+
const results = await Promise.allSettled([registerSignInFlows(), registerBedrock()]);
|
|
43
|
+
const failure = results.find((result) => result.status === "rejected");
|
|
44
|
+
if (failure !== undefined) {
|
|
45
|
+
warnOnce(failure.reason);
|
|
46
|
+
provided = null;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/** Hand pi-ai its sign-in flows and Bedrock module, once per process; never throws. */
|
|
50
|
+
export async function providePiModules() {
|
|
51
|
+
provided ??= provide();
|
|
52
|
+
await provided;
|
|
53
|
+
}
|
|
54
|
+
/** pi's process-wide setup before it first reaches a provider: the proxy plane (http.ts) and pi-ai's provider modules. */
|
|
55
|
+
export async function preparePi(settings) {
|
|
56
|
+
await Promise.all([configurePiHttp(settings), providePiModules()]);
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=static-modules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static-modules.js","sourceRoot":"","sources":["../../../src/runtimes/pi/static-modules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAuB,MAAM,WAAW,CAAC;AAEjE;;;;;;;;;;;;;;;;;GAiBG;AACH,IAAI,QAAQ,GAAyB,IAAI,CAAC;AAC1C,IAAI,MAAM,GAAG,KAAK,CAAC;AAEnB,KAAK,UAAU,mBAAmB;IAChC,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;IAClF,qBAAqB,EAAE,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,eAAe;IAC5B,MAAM,CAAC,EAAE,qBAAqB,EAAE,EAAE,EAAE,wBAAwB,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAClF,MAAM,CAAC,wCAAwC,CAAC;QAChD,MAAM,CAAC,8BAA8B,CAAC;KACvC,CAAC,CAAC;IACH,wBAAwB,CAAC,qBAAqB,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,QAAQ,CAAC,MAAe;IAC/B,IAAI,MAAM,EAAE,CAAC;QACX,OAAO;IACT,CAAC;IACD,MAAM,GAAG,IAAI,CAAC;IACd,MAAM,MAAM,GAAG,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzE,OAAO,CAAC,WAAW,CAAC,gDAAgD,MAAM,2DAA2D,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;AACrK,CAAC;AAED,KAAK,UAAU,OAAO;IACpB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,mBAAmB,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;IACrF,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;IACvE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzB,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;AACH,CAAC;AAED,uFAAuF;AACvF,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,QAAQ,KAAK,OAAO,EAAE,CAAC;IACvB,MAAM,QAAQ,CAAC;AACjB,CAAC;AAED,0HAA0H;AAC1H,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAwB;IACtD,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;AACrE,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ClientApp, type RequestPermissionRequest, type RequestPermissionResponse, type SessionNotification } from "@agentclientprotocol/sdk";
|
|
2
|
-
import {
|
|
2
|
+
import type { JsonRecord } from "../json.js";
|
|
3
3
|
import type { AcpTerminalHost } from "./terminal.js";
|
|
4
4
|
/**
|
|
5
5
|
* What the session records about the runtime→app traffic the SDK routes to
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-app.d.ts","sourceRoot":"","sources":["../../../src/shared/acp/client-app.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,SAAS,EAKd,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EAGzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,
|
|
1
|
+
{"version":3,"file":"client-app.d.ts","sourceRoot":"","sources":["../../../src/shared/acp/client-app.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,SAAS,EAKd,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EAGzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,CAAC,YAAY,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC7D,qCAAqC;IACrC,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1E,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxD,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACjE,QAAQ,CAAC,sBAAsB,EAAE,SAAS,MAAM,EAAE,CAAC;CACpD;AAED,2FAA2F;AAC3F,wBAAgB,eAAe,CAAC,OAAO,EAAE,wBAAwB,GAAG,yBAAyB,CAM5F;AAmBD,gFAAgF;AAChF,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,cAAc,GACpB,SAAS,CAkCX"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/* oxlint-disable typescript/promise-function-async -- SDK handlers deliberately return terminal promises directly. */
|
|
2
2
|
import { client as createClient, methods, } from "@agentclientprotocol/sdk";
|
|
3
|
-
import { asRecord } from "../json.js";
|
|
4
3
|
/** OAR's YOLO answer to a permission request: the broadest allow on offer, else cancel. */
|
|
5
4
|
export function allowPermission(request) {
|
|
6
5
|
const selected = request.options.find((option) => option.kind === "allow_always")
|
|
@@ -17,7 +16,12 @@ function requestIdOf(context) {
|
|
|
17
16
|
}
|
|
18
17
|
return String(context.requestId);
|
|
19
18
|
}
|
|
20
|
-
|
|
19
|
+
// Keep the decoded object's identity so its wire arrival phase survives the
|
|
20
|
+
// SDK's asynchronous handler chain. Redaction still runs before recording.
|
|
21
|
+
function isParamsRecord(params) {
|
|
22
|
+
return params !== null && typeof params === "object" && !Array.isArray(params);
|
|
23
|
+
}
|
|
24
|
+
const passthrough = (params) => isParamsRecord(params) ? params : {};
|
|
21
25
|
/** Compose OAR's typed ACP client handlers directly on the official SDK app. */
|
|
22
26
|
export function createAcpClientApp(terminal, hooks) {
|
|
23
27
|
// Every client request is a toApp request record; the reply (or thrown
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-app.js","sourceRoot":"","sources":["../../../src/shared/acp/client-app.ts"],"names":[],"mappings":"AAAA,sHAAsH;AACtH,OAAO,EACL,MAAM,IAAI,YAAY,EACtB,OAAO,GAWR,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"client-app.js","sourceRoot":"","sources":["../../../src/shared/acp/client-app.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type AnyMessage, type Stream } from "@agentclientprotocol/sdk";
|
|
2
|
+
export interface AcpOpening {
|
|
3
|
+
outgoing(message: AnyMessage): void;
|
|
4
|
+
incoming(message: AnyMessage): void;
|
|
5
|
+
afterOpen(params: object): boolean;
|
|
6
|
+
}
|
|
7
|
+
/** Preserve the wire's opening boundary across the SDK's asynchronous notification routing. */
|
|
8
|
+
export declare function createAcpOpening(): AcpOpening;
|
|
9
|
+
/** Observe decoded messages without changing them or delaying dispatch. */
|
|
10
|
+
export declare function observeAcpOpening(stream: Stream, opening: AcpOpening): Stream;
|
|
11
|
+
//# sourceMappingURL=opening.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opening.d.ts","sourceRoot":"","sources":["../../../src/shared/acp/opening.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,KAAK,UAAU,EAAkB,KAAK,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEjG,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IACpC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;CACpC;AAED,+FAA+F;AAC/F,wBAAgB,gBAAgB,IAAI,UAAU,CAoB7C;AAED,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,MAAM,CAe7E"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/* oxlint-disable typescript/promise-function-async -- Stream callbacks forward the original writer promises. */
|
|
2
|
+
import { methods } from "@agentclientprotocol/sdk";
|
|
3
|
+
/** Preserve the wire's opening boundary across the SDK's asynchronous notification routing. */
|
|
4
|
+
export function createAcpOpening() {
|
|
5
|
+
const requests = new Set();
|
|
6
|
+
const live = new WeakSet();
|
|
7
|
+
let opened = false;
|
|
8
|
+
return {
|
|
9
|
+
outgoing(message) {
|
|
10
|
+
if ("id" in message && "method" in message
|
|
11
|
+
&& (message.method === methods.agent.session.new || message.method === methods.agent.session.resume || message.method === methods.agent.session.load)) {
|
|
12
|
+
requests.add(message.id);
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
incoming(message) {
|
|
16
|
+
if ("id" in message && !("method" in message) && requests.delete(message.id) && "result" in message) {
|
|
17
|
+
opened = true;
|
|
18
|
+
}
|
|
19
|
+
if (!("id" in message) && "method" in message && opened) {
|
|
20
|
+
const { params } = message;
|
|
21
|
+
if (params !== null && typeof params === "object") {
|
|
22
|
+
live.add(params);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
afterOpen(params) { return live.has(params); },
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/** Observe decoded messages without changing them or delaying dispatch. */
|
|
30
|
+
export function observeAcpOpening(stream, opening) {
|
|
31
|
+
const writer = stream.writable.getWriter();
|
|
32
|
+
return {
|
|
33
|
+
readable: stream.readable.pipeThrough(new TransformStream({
|
|
34
|
+
transform(message, controller) {
|
|
35
|
+
opening.incoming(message);
|
|
36
|
+
controller.enqueue(message);
|
|
37
|
+
},
|
|
38
|
+
})),
|
|
39
|
+
writable: new WritableStream({
|
|
40
|
+
write(message) { opening.outgoing(message); return writer.write(message); },
|
|
41
|
+
close() { return writer.close(); },
|
|
42
|
+
abort(reason) { return writer.abort(reason); },
|
|
43
|
+
}),
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=opening.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opening.js","sourceRoot":"","sources":["../../../src/shared/acp/opening.ts"],"names":[],"mappings":"AAAA,gHAAgH;AAChH,OAAO,EAAE,OAAO,EAAgD,MAAM,0BAA0B,CAAC;AAQjG,+FAA+F;AAC/F,MAAM,UAAU,gBAAgB;IAC9B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAa,CAAC;IACtC,MAAM,IAAI,GAAG,IAAI,OAAO,EAAU,CAAC;IACnC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,OAAO;QACL,QAAQ,CAAC,OAAmB;YAC1B,IAAI,IAAI,IAAI,OAAO,IAAI,QAAQ,IAAI,OAAO;mBACrC,CAAC,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxJ,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,QAAQ,CAAC,OAAmB;YAC1B,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;gBAAC,MAAM,GAAG,IAAI,CAAC;YAAC,CAAC;YACvH,IAAI,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,QAAQ,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;gBACxD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;gBAC3B,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QACD,SAAS,CAAC,MAAc,IAAa,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;KAChE,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,OAAmB;IACnE,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;IAC3C,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,eAAe,CAAyB;YAChF,SAAS,CAAC,OAAO,EAAE,UAAU;gBAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC1B,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;SACF,CAAC,CAAC;QACH,QAAQ,EAAE,IAAI,cAAc,CAAa;YACvC,KAAK,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC3E,KAAK,KAAK,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAClC,KAAK,CAAC,MAAe,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACxD,CAAC;KACH,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type ClientApp, type ClientConnection, type SendRequestOptions } from "@agentclientprotocol/sdk";
|
|
2
2
|
import type { SessionResources } from "../../contracts/session.js";
|
|
3
|
+
import { type AcpOpening } from "./opening.js";
|
|
3
4
|
export { client as createAcpClient, methods } from "@agentclientprotocol/sdk";
|
|
4
5
|
export type { ClientApp, SessionNotification } from "@agentclientprotocol/sdk";
|
|
5
6
|
export interface AcpProcessOptions {
|
|
@@ -7,6 +8,8 @@ export interface AcpProcessOptions {
|
|
|
7
8
|
readonly env?: NodeJS.ProcessEnv;
|
|
8
9
|
/** Session MCP credentials must not appear in protocol error messages, data or causes. */
|
|
9
10
|
readonly redact?: (text: string) => string;
|
|
11
|
+
/** Track notification arrival relative to the native session-open answer. */
|
|
12
|
+
readonly opening?: AcpOpening;
|
|
10
13
|
}
|
|
11
14
|
/** A child process connected directly to an official SDK client app. */
|
|
12
15
|
export interface AcpProcess {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../../src/shared/acp/process.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAC;AAKlC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../../src/shared/acp/process.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAC;AAKlC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAElE,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAC9E,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAqB/E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,0FAA0F;IAC1F,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,6EAA6E;IAC7E,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;CAC/B;AAED,wEAAwE;AACxE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,IAAI,IAAI,IAAI,CAAC;IACb,+EAA+E;IAC/E,QAAQ,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;CAC5D;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAC5C,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,kBAAkB,KAAK,OAAO,CAAC,QAAQ,CAAC,GACxD,OAAO,CAAC,QAAQ,CAAC,CAuCnB;AAED,8EAA8E;AAC9E,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,EAAE,SAAS,EACd,OAAO,GAAE,iBAAsB,GAC9B,UAAU,CAoCZ"}
|
|
@@ -3,6 +3,7 @@ import { Readable, Writable } from "node:stream";
|
|
|
3
3
|
import { spawnLineProcess } from "../executable/index.js";
|
|
4
4
|
import { AcpError, acpProcessExitedError, acpRequestTimeoutError } from "./errors.js";
|
|
5
5
|
import { nativeErrorCause } from "../native-error.js";
|
|
6
|
+
import { observeAcpOpening } from "./opening.js";
|
|
6
7
|
export { client as createAcpClient, methods } from "@agentclientprotocol/sdk";
|
|
7
8
|
function deadline(method, timeoutMs, controller) {
|
|
8
9
|
const { promise, reject } = Promise.withResolvers();
|
|
@@ -71,7 +72,8 @@ export function startAcpProcess(command, args, app, options = {}) {
|
|
|
71
72
|
const output = Writable.toWeb(child.stdin);
|
|
72
73
|
// oxlint-disable-next-line typescript/consistent-type-assertions, typescript/no-unsafe-type-assertion -- Native WHATWG stream expected by the SDK.
|
|
73
74
|
const input = Readable.toWeb(child.stdout);
|
|
74
|
-
const
|
|
75
|
+
const stream = ndJsonStream(output, input);
|
|
76
|
+
const connection = app.connect(options.opening === undefined ? stream : observeAcpOpening(stream, options.opening));
|
|
75
77
|
let ended = false;
|
|
76
78
|
let exitCode = null;
|
|
77
79
|
child.onExit((code) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../../src/shared/acp/process.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,YAAY,GAIb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../../src/shared/acp/process.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,13 +60,17 @@ export interface AcpSessionProfile {
|
|
|
60
60
|
readonly steerSupersedesPrompt?: boolean;
|
|
61
61
|
readonly promptContextUsage?: (response: JsonRecord) => ContextUsage | null;
|
|
62
62
|
/**
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
* the running session sum and stamps the cumulative figure on the answer's
|
|
67
|
-
* usage event, so `Session.usage()` is directly summable per its contract.
|
|
63
|
+
* Tokens billed by ONE prompt (grok `_meta.usage`, live 2026-09-11), summed
|
|
64
|
+
* over that prompt's model calls, not the session. The shared accumulator
|
|
65
|
+
* combines them with independent vendor ledgers and emits cumulative usage.
|
|
68
66
|
*/
|
|
69
67
|
readonly promptTokenUsage?: (response: JsonRecord) => TokenTotals | null;
|
|
68
|
+
/** Independent root ledger, never overlapping promptTokenUsage. The native key deduplicates delivery; replayed reports only remember that identity. Child notifications are excluded by the recorder. */
|
|
69
|
+
readonly spontaneousTokenUsage?: (method: string, params: JsonRecord) => {
|
|
70
|
+
readonly key: string;
|
|
71
|
+
readonly tokens: TokenTotals;
|
|
72
|
+
readonly replayed?: boolean;
|
|
73
|
+
} | null;
|
|
70
74
|
readonly promptOutcome?: (response: JsonRecord) => TurnOutcome | null;
|
|
71
75
|
/** Classify a prompt the agent answered with an error, from the error and the turn's frames; null leaves it to the generic rules (failure.ts). */
|
|
72
76
|
readonly failureOutcome?: AcpFailureReader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../src/shared/acp/profile.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../src/shared/acp/profile.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import type { SessionKernel } from "../session-kernel.js";
|
|
|
3
3
|
import { type SessionNotification } from "./process.js";
|
|
4
4
|
import type { UsageUpdateGate } from "./usage-wait.js";
|
|
5
5
|
import type { AcpSessionProfile } from "./profile.js";
|
|
6
|
+
import type { AcpTokenUsage } from "./token-usage.js";
|
|
6
7
|
/**
|
|
7
8
|
* How ACP wire traffic lands in the record stream. Every frame is recorded
|
|
8
9
|
* verbatim; this module only decides the envelope (which session id) and the
|
|
@@ -20,8 +21,8 @@ export interface AcpRecorder {
|
|
|
20
21
|
*/
|
|
21
22
|
bind(kernel: SessionKernel): void;
|
|
22
23
|
update(notification: SessionNotification): void;
|
|
23
|
-
/** A vendor extension notification, verbatim; a parent/child session pair
|
|
24
|
-
extension(method: string, params: JsonRecord): void;
|
|
24
|
+
/** A vendor extension notification, verbatim; a parent/child session pair links the graph. afterOpen is captured on the wire, before SDK routing or recorder buffering. */
|
|
25
|
+
extension(method: string, params: JsonRecord, afterOpen?: boolean): void;
|
|
25
26
|
/** A handshake answer (initialize, session/new|resume|load, session/set_model, session/set_config_option): the runtime's word, with its model and effort reports as events. */
|
|
26
27
|
step(method: string, response: JsonRecord): void;
|
|
27
28
|
/** A runtime→app request, verbatim, under the runtime's own request id. */
|
|
@@ -43,5 +44,5 @@ export declare function acpLineageOf(params: JsonRecord): {
|
|
|
43
44
|
readonly parent: string;
|
|
44
45
|
readonly child: string;
|
|
45
46
|
} | null;
|
|
46
|
-
export declare function createAcpRecorder(usageGate: UsageUpdateGate, attributeUpdate?: AcpSessionProfile["attributeUpdate"]): AcpRecorder;
|
|
47
|
+
export declare function createAcpRecorder(usageGate: UsageUpdateGate, attributeUpdate?: AcpSessionProfile["attributeUpdate"], tokenUsage?: AcpTokenUsage): AcpRecorder;
|
|
47
48
|
//# sourceMappingURL=records.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"records.d.ts","sourceRoot":"","sources":["../../../src/shared/acp/records.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAW,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,IAAI,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IAClC,MAAM,CAAC,YAAY,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAChD,
|
|
1
|
+
{"version":3,"file":"records.d.ts","sourceRoot":"","sources":["../../../src/shared/acp/records.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAW,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,IAAI,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IAClC,MAAM,CAAC,YAAY,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAChD,2KAA2K;IAC3K,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzE,+KAA+K;IAC/K,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,IAAI,CAAC;IACjD,2EAA2E;IAC3E,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7D,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CAC5C;AAYD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAgB3G;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,eAAe,EAAE,eAAe,CAAC,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,EAAE,aAAa,GAAG,WAAW,CAiF7J"}
|
|
@@ -38,7 +38,7 @@ export function acpLineageOf(params) {
|
|
|
38
38
|
}
|
|
39
39
|
return null;
|
|
40
40
|
}
|
|
41
|
-
export function createAcpRecorder(usageGate, attributeUpdate) {
|
|
41
|
+
export function createAcpRecorder(usageGate, attributeUpdate, tokenUsage) {
|
|
42
42
|
const projections = new Map();
|
|
43
43
|
const projectionFor = (sessionId) => {
|
|
44
44
|
let state = projections.get(sessionId);
|
|
@@ -82,7 +82,7 @@ export function createAcpRecorder(usageGate, attributeUpdate) {
|
|
|
82
82
|
}
|
|
83
83
|
});
|
|
84
84
|
},
|
|
85
|
-
extension(method, params) {
|
|
85
|
+
extension(method, params, afterOpen = false) {
|
|
86
86
|
write((kernel) => {
|
|
87
87
|
// The envelope says whose frame this is: a child session pushes its
|
|
88
88
|
// own `response_completed` / `turn_completed` on grok's vendor method
|
|
@@ -94,6 +94,10 @@ export function createAcpRecorder(usageGate, attributeUpdate) {
|
|
|
94
94
|
const foreign = sessionId !== null && sessionId !== kernel.sessionId;
|
|
95
95
|
const lineage = acpLineageOf(params);
|
|
96
96
|
const events = lineage === null ? [] : [kernel.link({ ...lineage, via: "tool_call" })];
|
|
97
|
+
const usage = sessionId === kernel.sessionId ? tokenUsage?.extension(method, params, afterOpen) : null;
|
|
98
|
+
if (usage !== null && usage !== undefined) {
|
|
99
|
+
events.push(usage);
|
|
100
|
+
}
|
|
97
101
|
kernel.frame({ type: method, native: params, events }, foreign ? { sessionId } : undefined);
|
|
98
102
|
});
|
|
99
103
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"records.js","sourceRoot":"","sources":["../../../src/shared/acp/records.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAmB,MAAM,YAAY,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,OAAO,EAA4B,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAA2B,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"records.js","sourceRoot":"","sources":["../../../src/shared/acp/records.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/shared/acp/session.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAQV,YAAY,EACb,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/shared/acp/session.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAQV,YAAY,EACb,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,cAAc,CAAC;AAStB,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AActD,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,YAAY,CAyInE"}
|
|
@@ -8,6 +8,8 @@ import { startAcpProcess } from "./process.js";
|
|
|
8
8
|
import { createAcpRecorder } from "./records.js";
|
|
9
9
|
import { createAcpTerminalHost } from "./terminal.js";
|
|
10
10
|
import { acpTakesImages, createAcpTurns } from "./turns.js";
|
|
11
|
+
import { createAcpTokenUsage } from "./token-usage.js";
|
|
12
|
+
import { createAcpOpening } from "./opening.js";
|
|
11
13
|
/*
|
|
12
14
|
* ACP mapping onto the record stream (shared by grok and kimi; profiles carry the vendor bits):
|
|
13
15
|
* - every `session/update` is ONE event record, native verbatim, for WHATEVER
|
|
@@ -37,13 +39,15 @@ export function acpSession(profile) {
|
|
|
37
39
|
// The recorder queues everything until the handshake reveals the session
|
|
38
40
|
// id and the kernel can be bound (records.ts).
|
|
39
41
|
const usageGate = createUsageUpdateGate();
|
|
40
|
-
const
|
|
42
|
+
const tokenUsage = createAcpTokenUsage(profile);
|
|
43
|
+
const opening = createAcpOpening();
|
|
44
|
+
const recorder = createAcpRecorder(usageGate, profile.attributeUpdate, tokenUsage);
|
|
41
45
|
const client = createAcpClientApp(terminalHost, {
|
|
42
46
|
update: (notification) => {
|
|
43
47
|
recorder.update(notification);
|
|
44
48
|
},
|
|
45
49
|
extension: (method, params) => {
|
|
46
|
-
recorder.extension(method, profile.redactExtensionNotification?.(method, params) ?? params);
|
|
50
|
+
recorder.extension(method, profile.redactExtensionNotification?.(method, params) ?? params, opening.afterOpen(params));
|
|
47
51
|
},
|
|
48
52
|
requested: (id, method, params) => {
|
|
49
53
|
recorder.requested(id, method, params);
|
|
@@ -53,7 +57,7 @@ export function acpSession(profile) {
|
|
|
53
57
|
},
|
|
54
58
|
extensionNotifications: profile.extensionNotifications ?? [],
|
|
55
59
|
});
|
|
56
|
-
const runtime = startAcpProcess(installation.command, args, client, { cwd: options.cwd, env: environment, redact: credentials.redact });
|
|
60
|
+
const runtime = startAcpProcess(installation.command, args, client, { cwd: options.cwd, env: environment, redact: credentials.redact, opening });
|
|
57
61
|
const opened = await openAcpSession(runtime, profile, options, (step) => {
|
|
58
62
|
recorder.step(step.method, step.response);
|
|
59
63
|
}).catch(async (error) => {
|
|
@@ -66,7 +70,7 @@ export function acpSession(profile) {
|
|
|
66
70
|
recorder.bind(kernel);
|
|
67
71
|
let disposeRequest = null;
|
|
68
72
|
const capabilities = { ...profile.capabilities, images: profile.capabilities.images ?? acpTakesImages(opened.initialized) };
|
|
69
|
-
const turns = createAcpTurns({ kernel, runtime, profile, usageGate, capabilities });
|
|
73
|
+
const turns = createAcpTurns({ kernel, runtime, profile, usageGate, capabilities, promptUsage: (result) => tokenUsage.prompt(result) });
|
|
70
74
|
// oxlint-disable-next-line promise/prefer-await-to-then, promise/always-return -- Exit observation outlives session creation.
|
|
71
75
|
void runtime.exited.then((code) => {
|
|
72
76
|
void terminalHost.dispose();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/shared/acp/session.ts"],"names":[],"mappings":"AAAA,+IAA+I;AAC/I,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAavD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EACL,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,cAAc,GAEf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/shared/acp/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { RuntimeEventBody } from "../../contracts/session.js";
|
|
2
|
+
import type { JsonRecord } from "../json.js";
|
|
3
|
+
import type { AcpSessionProfile } from "./profile.js";
|
|
4
|
+
/** One root accumulator shared by prompt replies and proven independent vendor reports. */
|
|
5
|
+
export interface AcpTokenUsage {
|
|
6
|
+
prompt(response: JsonRecord): RuntimeEventBody | null;
|
|
7
|
+
extension(method: string, params: JsonRecord, opened: boolean): RuntimeEventBody | null;
|
|
8
|
+
}
|
|
9
|
+
export declare function createAcpTokenUsage(profile: AcpSessionProfile): AcpTokenUsage;
|
|
10
|
+
//# sourceMappingURL=token-usage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-usage.d.ts","sourceRoot":"","sources":["../../../src/shared/acp/token-usage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAe,MAAM,4BAA4B,CAAC;AAChF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,2FAA2F;AAC3F,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,QAAQ,EAAE,UAAU,GAAG,gBAAgB,GAAG,IAAI,CAAC;IACtD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,gBAAgB,GAAG,IAAI,CAAC;CACzF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,GAAG,aAAa,CAqB7E"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { acpPromptUsage } from "./projection.js";
|
|
2
|
+
export function createAcpTokenUsage(profile) {
|
|
3
|
+
let billed = { input: 0, output: 0 };
|
|
4
|
+
const seen = new Set();
|
|
5
|
+
return {
|
|
6
|
+
prompt(response) {
|
|
7
|
+
const reading = acpPromptUsage(profile.promptContextUsage?.(response) ?? null, profile.promptTokenUsage?.(response) ?? null, billed);
|
|
8
|
+
({ billed } = reading);
|
|
9
|
+
return reading.event;
|
|
10
|
+
},
|
|
11
|
+
extension(method, params, opened) {
|
|
12
|
+
const report = profile.spontaneousTokenUsage?.(method, params);
|
|
13
|
+
if (report === undefined || report === null || seen.has(report.key)) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
seen.add(report.key);
|
|
17
|
+
// Opening can replay old terminal reports. Remember their identity so
|
|
18
|
+
// a later repeated delivery cannot turn history into a fresh charge.
|
|
19
|
+
if (!opened || report.replayed === true) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
const reading = acpPromptUsage(null, report.tokens, billed);
|
|
23
|
+
({ billed } = reading);
|
|
24
|
+
return reading.event;
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=token-usage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-usage.js","sourceRoot":"","sources":["../../../src/shared/acp/token-usage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AASjD,MAAM,UAAU,mBAAmB,CAAC,OAA0B;IAC5D,IAAI,MAAM,GAAgB,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAClD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO;QACL,MAAM,CAAC,QAAQ;YACb,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,MAAM,CAAC,CAAC;YACrI,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC;YACvB,OAAO,OAAO,CAAC,KAAK,CAAC;QACvB,CAAC;QACD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM;YAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC/D,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAC,OAAO,IAAI,CAAC;YAAC,CAAC;YACrF,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACrB,sEAAsE;YACtE,qEAAqE;YACrE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAAC,OAAO,IAAI,CAAC;YAAC,CAAC;YACzD,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC5D,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC;YACvB,OAAO,OAAO,CAAC,KAAK,CAAC;QACvB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { InputImage, InputOptions, RequestRecord, ResponseBody, SessionCapabilities, TurnOutcome } from "../../contracts/session.js";
|
|
1
|
+
import type { InputImage, InputOptions, RuntimeEventBody, RequestRecord, ResponseBody, SessionCapabilities, TurnOutcome } from "../../contracts/session.js";
|
|
2
2
|
import { type JsonRecord } from "../json.js";
|
|
3
3
|
import type { SessionKernel } from "../session-kernel.js";
|
|
4
4
|
import { type AcpSessionProfile, type UsageUpdateGate } from "./profile.js";
|
|
@@ -48,5 +48,6 @@ export declare function createAcpTurns(deps: {
|
|
|
48
48
|
readonly profile: AcpSessionProfile;
|
|
49
49
|
readonly usageGate: UsageUpdateGate;
|
|
50
50
|
readonly capabilities: Pick<SessionCapabilities, "images">;
|
|
51
|
+
readonly promptUsage: (response: JsonRecord) => RuntimeEventBody | null;
|
|
51
52
|
}): AcpTurns;
|
|
52
53
|
//# sourceMappingURL=turns.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turns.d.ts","sourceRoot":"","sources":["../../../src/shared/acp/turns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,YAAY,
|
|
1
|
+
{"version":3,"file":"turns.d.ts","sourceRoot":"","sources":["../../../src/shared/acp/turns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAa,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AACvF,OAAO,EAAW,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAOxD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,UAAU;IACzB,6FAA6F;IAC7F,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IACvC,qFAAqF;IACrF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;CACjC;AAED,yGAAyG;AACzG,wBAAgB,cAAc,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO,CAE/D;AAUD,MAAM,WAAW,QAAQ;IACvB,MAAM,IAAI,UAAU,GAAG,IAAI,CAAC;IAC5B,wHAAwH;IACxH,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,UAAU,EAAE,GAAG,YAAY,CAAC;IAClG,qGAAqG;IACrG,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,SAAS,EAAE,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3H,6EAA6E;IAC7E,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAChD,+FAA+F;IAC/F,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACnH,0FAA0F;IAC1F,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAAC;IACxC,uGAAuG;IACvG,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE;IACnC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;IAC3D,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK,gBAAgB,GAAG,IAAI,CAAC;CACzE,GAAG,QAAQ,CAuKX"}
|
package/dist/shared/acp/turns.js
CHANGED
|
@@ -5,7 +5,7 @@ import { asRecord } from "../json.js";
|
|
|
5
5
|
import { AcpError, acpProcessExitedError } from "./errors.js";
|
|
6
6
|
import { promptAcp } from "./profile.js";
|
|
7
7
|
import { methods } from "./process.js";
|
|
8
|
-
import { acpErrorNative, acpFailureOutcome,
|
|
8
|
+
import { acpErrorNative, acpFailureOutcome, defaultAcpPromptOutcome, } from "./projection.js";
|
|
9
9
|
/** The agent advertised image prompts in `initialize` (`agentCapabilities.promptCapabilities.image`). */
|
|
10
10
|
export function acpTakesImages(initialized) {
|
|
11
11
|
return asRecord(asRecord(initialized.agentCapabilities)?.promptCapabilities)?.image === true;
|
|
@@ -18,13 +18,11 @@ function acpPrompt(input, images) {
|
|
|
18
18
|
];
|
|
19
19
|
}
|
|
20
20
|
export function createAcpTurns(deps) {
|
|
21
|
-
const { kernel, runtime, profile, usageGate, capabilities } = deps;
|
|
21
|
+
const { kernel, runtime, profile, usageGate, capabilities, promptUsage } = deps;
|
|
22
22
|
const rootId = kernel.sessionId;
|
|
23
23
|
const held = [];
|
|
24
24
|
let active = null;
|
|
25
25
|
let nextRequest = 0;
|
|
26
|
-
// Running session total of the per-prompt ledgers (profile.promptTokenUsage).
|
|
27
|
-
let billed = { input: 0, output: 0 };
|
|
28
26
|
const closeTurn = (state) => {
|
|
29
27
|
if (state.fallback !== null) {
|
|
30
28
|
clearTimeout(state.fallback);
|
|
@@ -74,12 +72,11 @@ export function createAcpTurns(deps) {
|
|
|
74
72
|
// precedes the turn end and contextUsage() at turn_ended is this
|
|
75
73
|
// turn's own value.
|
|
76
74
|
await usageGate.settleAfterPrompt(profile, state.abortRequested);
|
|
77
|
-
const usage =
|
|
78
|
-
({ billed } = usage);
|
|
75
|
+
const usage = promptUsage(result);
|
|
79
76
|
finishRequest(state, requestNumber, {
|
|
80
77
|
type: methods.agent.session.prompt,
|
|
81
78
|
native: result,
|
|
82
|
-
context: usage
|
|
79
|
+
context: usage,
|
|
83
80
|
steered: steered !== undefined,
|
|
84
81
|
}, profile.promptOutcome?.(result) ?? defaultAcpPromptOutcome(result));
|
|
85
82
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turns.js","sourceRoot":"","sources":["../../../src/shared/acp/turns.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"turns.js","sourceRoot":"","sources":["../../../src/shared/acp/turns.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAoB,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAmB,MAAM,YAAY,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAgD,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,OAAO,EAAmB,MAAM,cAAc,CAAC;AACxD,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AAyBzB,yGAAyG;AACzG,MAAM,UAAU,cAAc,CAAC,WAAuB;IACpD,OAAO,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,kBAAkB,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;AAC/F,CAAC;AAED,0GAA0G;AAC1G,SAAS,SAAS,CAAC,KAAa,EAAE,MAA8B;IAC9D,OAAO;QACL,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/H,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;KACzD,CAAC;AACJ,CAAC;AAkBD,MAAM,UAAU,cAAc,CAAC,IAO9B;IACC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAChF,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC;IAChC,MAAM,IAAI,GAA8E,EAAE,CAAC;IAC3F,IAAI,MAAM,GAAsB,IAAI,CAAC;IACrC,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,MAAM,SAAS,GAAG,CAAC,KAAiB,EAAQ,EAAE;QAC5C,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC5B,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC7B,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;QACD,cAAc,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC,CAAC;IACF,MAAM,aAAa,GAAG,CACpB,KAAiB,EACjB,aAAqB,EACrB,KAAuK,EACvK,OAA2B,EACrB,EAAE;QACR,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACpC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAAC,CAAC;QACrE,MAAM,MAAM,GAAG,MAAM,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,qBAAqB,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxH,MAAM,MAAM,GAAuB,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC5F,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,QAAQ,GAAG,OAAO,CAAC,qBAAqB,KAAK,IAAI;gBACrD,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBACxD,CAAC,CAAC,OAAO,CAAC;YACZ,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YAAC,CAAC;QAC9G,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,IAAI,MAAM,EAAE,CAAC;YACX,SAAS,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;IACF,MAAM,iBAAiB,GAAG,CAAC,KAAiB,EAAE,MAA6B,EAAE,cAA0B,EAAE,EAAE,OAAkD,EAAQ,EAAE;QACrK,WAAW,IAAI,CAAC,CAAC;QACjB,MAAM,aAAa,GAAG,WAAW,CAAC;QAClC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACjC,KAAK,CAAC,KAAK,IAAmB,EAAE;YAC9B,IAAI,CAAC;gBACH,SAAS,CAAC,GAAG,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;gBACrE,kEAAkE;gBAClE,gEAAgE;gBAChE,iEAAiE;gBACjE,oBAAoB;gBACpB,MAAM,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;gBACjE,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;gBAClC,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE;oBAClC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM;oBAClC,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,OAAO,KAAK,SAAS;iBAC/B,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;YACzE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;oBACjE,iEAAiE;oBACjE,qCAAqC;oBACrC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;oBACpC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACjB,OAAO;gBACT,CAAC;gBACD,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpI,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAkB,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;gBACnI,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE;oBAClC,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,QAAQ;oBAC7C,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC;oBAC7B,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,OAAO,KAAK,SAAS;oBAC9B,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;iBAC/D,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,GAAiB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACzI,MAAM,IAAI,GAAG,CAAC,OAA6B,EAAE,MAA6B,EAAgB,EAAE;QAC1F,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QACD,MAAM,KAAK,GAAe;YACxB,OAAO;YACP,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;YACzC,QAAQ,EAAE,IAAI,GAAG,EAAE;YACnB,OAAO,EAAE,IAAI,GAAG,EAAE;YAClB,cAAc,EAAE,KAAK;YACrB,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,MAAM,GAAG,KAAK,CAAC;QACf,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACjC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC9B,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,OAA6B,EAAE,KAAa,EAAE,MAA8B,EAAgB,EAAE,CAC3G,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7F,SAAS,SAAS;QAChB,wEAAwE;QACxE,yEAAyE;QACzE,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACvE,OAAO;QACT,CAAC;QACD,qFAAqF;QACrF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM;QACpB,KAAK;QACL,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW;YAC5C,MAAM,OAAO,CAAC,OAAO,CAAC;YACtB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,OAAO,IAAI,EAAE,CAAC;YAChB,CAAC;YACD,OAAO,eAAe,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC/D,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC/F,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;YAC9B,CAAC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,KAAK;YACf,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;gBAC1B,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC5B,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC7F,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7G,CAAC;gBACD,mEAAmE;gBACnE,+DAA+D;gBAC/D,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC/B,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;wBACrB,OAAO,CAAC,IAAI,EAAE,CAAC;oBACjB,CAAC;gBACH,CAAC,EAAE,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC,CAAC;gBACrC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACzB,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAC9B,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO;YAC/B,MAAM,OAAO,CAAC,OAAO,CAAC;YACtB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,OAAO,IAAI,EAAE,CAAC;YAChB,CAAC;YACD,OAAO,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;gBACtD,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;gBACzD,cAAc,CAAC,SAAS,CAAC,CAAC;gBAC1B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;YAC9B,CAAC,CAAC,CAAC;QACL,CAAC;QACD,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;QAClD,MAAM;YACJ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,SAAS,CAAC,MAAM,CAAC,CAAC;YACpB,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@botiverse/oar",
|
|
3
|
-
"version": "0.54.
|
|
3
|
+
"version": "0.54.2",
|
|
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",
|