@botiverse/oar 0.0.10 → 0.1.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 -2
- package/dist/contracts/model-catalog.d.ts +1 -1
- package/dist/contracts/model-catalog.js +1 -1
- package/dist/contracts/provider-auth.d.ts +2 -2
- package/dist/contracts/provider-auth.js +2 -2
- package/dist/contracts/records.d.ts +205 -0
- package/dist/contracts/records.d.ts.map +1 -0
- package/dist/contracts/records.js +8 -0
- package/dist/contracts/records.js.map +1 -0
- package/dist/contracts/session.d.ts +83 -144
- package/dist/contracts/session.d.ts.map +1 -1
- package/dist/index.d.ts +6 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/observe/agent-status.d.ts +32 -18
- package/dist/observe/agent-status.d.ts.map +1 -1
- package/dist/observe/agent-status.js +66 -14
- package/dist/observe/agent-status.js.map +1 -1
- package/dist/observe/aggregate-events.d.ts +7 -6
- package/dist/observe/aggregate-events.d.ts.map +1 -1
- package/dist/observe/aggregate-events.js +38 -28
- package/dist/observe/aggregate-events.js.map +1 -1
- package/dist/observe/index.d.ts +4 -1
- package/dist/observe/index.d.ts.map +1 -1
- package/dist/observe/index.js +3 -1
- package/dist/observe/index.js.map +1 -1
- package/dist/observe/observe-agent.d.ts +4 -4
- package/dist/observe/observe-agent.d.ts.map +1 -1
- package/dist/observe/observe-agent.js +3 -3
- package/dist/observe/observe-agent.js.map +1 -1
- package/dist/observe/stall-observer.d.ts +7 -6
- package/dist/observe/stall-observer.d.ts.map +1 -1
- package/dist/observe/stall-observer.js +6 -5
- package/dist/observe/stall-observer.js.map +1 -1
- package/dist/observe/tool-activity.d.ts +2 -2
- package/dist/observe/tool-activity.d.ts.map +1 -1
- package/dist/observe/tool-activity.js +1 -1
- package/dist/observe/tool-activity.js.map +1 -1
- package/dist/observe/turns.d.ts +37 -0
- package/dist/observe/turns.d.ts.map +1 -0
- package/dist/observe/turns.js +70 -0
- package/dist/observe/turns.js.map +1 -0
- package/dist/observe/usage.d.ts +15 -0
- package/dist/observe/usage.d.ts.map +1 -0
- package/dist/observe/usage.js +79 -0
- package/dist/observe/usage.js.map +1 -0
- package/dist/runtimes/claude/account-usage.js +1 -1
- package/dist/runtimes/claude/context-usage.d.ts +1 -1
- package/dist/runtimes/claude/context-usage.js +1 -1
- package/dist/runtimes/claude/projection.d.ts +40 -27
- package/dist/runtimes/claude/projection.d.ts.map +1 -1
- package/dist/runtimes/claude/projection.js +107 -21
- package/dist/runtimes/claude/projection.js.map +1 -1
- package/dist/runtimes/claude/session.d.ts.map +1 -1
- package/dist/runtimes/claude/session.js +119 -87
- package/dist/runtimes/claude/session.js.map +1 -1
- package/dist/runtimes/codex/app-server-client.d.ts +38 -3
- package/dist/runtimes/codex/app-server-client.d.ts.map +1 -1
- package/dist/runtimes/codex/app-server-client.js +62 -15
- package/dist/runtimes/codex/app-server-client.js.map +1 -1
- package/dist/runtimes/codex/projection.d.ts +12 -12
- package/dist/runtimes/codex/projection.d.ts.map +1 -1
- package/dist/runtimes/codex/projection.js +101 -38
- package/dist/runtimes/codex/projection.js.map +1 -1
- package/dist/runtimes/codex/rpc-control.d.ts +31 -0
- package/dist/runtimes/codex/rpc-control.d.ts.map +1 -0
- package/dist/runtimes/codex/rpc-control.js +51 -0
- package/dist/runtimes/codex/rpc-control.js.map +1 -0
- package/dist/runtimes/codex/session.d.ts.map +1 -1
- package/dist/runtimes/codex/session.js +199 -148
- package/dist/runtimes/codex/session.js.map +1 -1
- package/dist/runtimes/grok/session.d.ts +37 -1
- package/dist/runtimes/grok/session.d.ts.map +1 -1
- package/dist/runtimes/grok/session.js +74 -0
- package/dist/runtimes/grok/session.js.map +1 -1
- package/dist/runtimes/kimi/session.d.ts.map +1 -1
- package/dist/runtimes/kimi/session.js +5 -0
- package/dist/runtimes/kimi/session.js.map +1 -1
- package/dist/runtimes/pi/auth.d.ts.map +1 -1
- package/dist/runtimes/pi/auth.js +6 -1
- package/dist/runtimes/pi/auth.js.map +1 -1
- package/dist/runtimes/pi/catalog.d.ts.map +1 -1
- package/dist/runtimes/pi/catalog.js +6 -1
- package/dist/runtimes/pi/catalog.js.map +1 -1
- package/dist/runtimes/pi/http.d.ts +34 -0
- package/dist/runtimes/pi/http.d.ts.map +1 -0
- package/dist/runtimes/pi/http.js +95 -0
- package/dist/runtimes/pi/http.js.map +1 -0
- package/dist/runtimes/pi/list-models.d.ts.map +1 -1
- package/dist/runtimes/pi/list-models.js +10 -3
- package/dist/runtimes/pi/list-models.js.map +1 -1
- package/dist/runtimes/pi/open.d.ts +32 -0
- package/dist/runtimes/pi/open.d.ts.map +1 -0
- package/dist/runtimes/pi/open.js +106 -0
- package/dist/runtimes/pi/open.js.map +1 -0
- package/dist/runtimes/pi/projection.d.ts +27 -25
- package/dist/runtimes/pi/projection.d.ts.map +1 -1
- package/dist/runtimes/pi/projection.js +85 -50
- package/dist/runtimes/pi/projection.js.map +1 -1
- package/dist/runtimes/pi/session.d.ts +1 -22
- package/dist/runtimes/pi/session.d.ts.map +1 -1
- package/dist/runtimes/pi/session.js +178 -184
- package/dist/runtimes/pi/session.js.map +1 -1
- package/dist/shared/acp/client-app.d.ts +23 -0
- package/dist/shared/acp/client-app.d.ts.map +1 -0
- package/dist/shared/acp/client-app.js +55 -0
- package/dist/shared/acp/client-app.js.map +1 -0
- package/dist/shared/acp/model.d.ts +3 -17
- package/dist/shared/acp/model.d.ts.map +1 -1
- package/dist/shared/acp/model.js +3 -14
- package/dist/shared/acp/model.js.map +1 -1
- package/dist/shared/acp/profile.d.ts +32 -7
- package/dist/shared/acp/profile.d.ts.map +1 -1
- package/dist/shared/acp/profile.js +17 -8
- package/dist/shared/acp/profile.js.map +1 -1
- package/dist/shared/acp/projection.d.ts +16 -8
- package/dist/shared/acp/projection.d.ts.map +1 -1
- package/dist/shared/acp/projection.js +51 -32
- package/dist/shared/acp/projection.js.map +1 -1
- package/dist/shared/acp/records.d.ts +46 -0
- package/dist/shared/acp/records.d.ts.map +1 -0
- package/dist/shared/acp/records.js +125 -0
- package/dist/shared/acp/records.js.map +1 -0
- package/dist/shared/acp/session.d.ts.map +1 -1
- package/dist/shared/acp/session.js +98 -224
- package/dist/shared/acp/session.js.map +1 -1
- package/dist/shared/acp/terminal.d.ts +1 -3
- package/dist/shared/acp/terminal.d.ts.map +1 -1
- package/dist/shared/acp/terminal.js +1 -21
- package/dist/shared/acp/terminal.js.map +1 -1
- package/dist/shared/acp/turns.d.ts +45 -0
- package/dist/shared/acp/turns.d.ts.map +1 -0
- package/dist/shared/acp/turns.js +160 -0
- package/dist/shared/acp/turns.js.map +1 -0
- package/dist/shared/acp/usage-wait.d.ts +6 -6
- package/dist/shared/acp/usage-wait.d.ts.map +1 -1
- package/dist/shared/acp/usage-wait.js +2 -2
- package/dist/shared/acp/usage-wait.js.map +1 -1
- package/dist/shared/failure-class.d.ts +1 -1
- package/dist/shared/failure-class.js +2 -2
- package/dist/shared/failure-class.js.map +1 -1
- package/dist/shared/seal-session.d.ts +5 -3
- package/dist/shared/seal-session.d.ts.map +1 -1
- package/dist/shared/seal-session.js +24 -16
- package/dist/shared/seal-session.js.map +1 -1
- package/dist/shared/session-kernel.d.ts +68 -18
- package/dist/shared/session-kernel.d.ts.map +1 -1
- package/dist/shared/session-kernel.js +82 -42
- package/dist/shared/session-kernel.js.map +1 -1
- package/dist/voyage.d.ts +4 -7
- package/dist/voyage.d.ts.map +1 -1
- package/dist/voyage.js +14 -19
- package/dist/voyage.js.map +1 -1
- package/package.json +5 -6
- package/dist/runtimes/codex/context-usage.d.ts +0 -10
- package/dist/runtimes/codex/context-usage.d.ts.map +0 -1
- package/dist/runtimes/codex/context-usage.js +0 -16
- package/dist/runtimes/codex/context-usage.js.map +0 -1
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { classifyFailure } from "../../shared/failure-class.js";
|
|
2
|
+
import { asNumber, asRecord } from "../../shared/json.js";
|
|
2
3
|
export const initialPiProjection = {
|
|
3
|
-
inTurn: false,
|
|
4
|
-
adopted: false,
|
|
5
4
|
abortRequested: false,
|
|
6
5
|
reasoningHadText: false,
|
|
7
6
|
providerError: undefined,
|
|
7
|
+
tokens: { input: 0, output: 0 },
|
|
8
8
|
};
|
|
9
|
-
/** Control plane → state: a prompt
|
|
10
|
-
export function piPrompted() {
|
|
11
|
-
return { ...initialPiProjection,
|
|
9
|
+
/** Control plane → state: a prompt (or a drained queue input) resets the per-run accumulators; the running token total stays. */
|
|
10
|
+
export function piPrompted(state) {
|
|
11
|
+
return { ...initialPiProjection, tokens: state.tokens };
|
|
12
12
|
}
|
|
13
13
|
export function piAbortRequested(state) {
|
|
14
14
|
return { ...state, abortRequested: true };
|
|
15
15
|
}
|
|
16
|
-
/** The outcome
|
|
17
|
-
export function
|
|
16
|
+
/** The outcome of the run pi's own `agent_settled` closes, read through the control intent and provider errors folded so far. */
|
|
17
|
+
export function piRunOutcome(state) {
|
|
18
18
|
if (state.abortRequested) {
|
|
19
19
|
return { kind: "aborted" };
|
|
20
20
|
}
|
|
@@ -23,26 +23,35 @@ export function piSettledOutcome(state) {
|
|
|
23
23
|
}
|
|
24
24
|
return { kind: "completed" };
|
|
25
25
|
}
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
function jsonDetail(value) {
|
|
27
|
+
if (value === undefined) {
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
try {
|
|
31
|
+
return JSON.stringify(value);
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return undefined;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
28
37
|
function foldMessageUpdate(state, inner) {
|
|
29
38
|
switch (inner.type) {
|
|
30
39
|
case "text_delta":
|
|
31
|
-
return
|
|
40
|
+
return { state, views: [{ kind: "text_delta", text: inner.delta }] };
|
|
32
41
|
case "thinking_delta":
|
|
33
42
|
return inner.delta.length > 0
|
|
34
|
-
?
|
|
35
|
-
:
|
|
43
|
+
? { state: { ...state, reasoningHadText: true }, views: [{ kind: "reasoning", content: { kind: "text", text: inner.delta } }] }
|
|
44
|
+
: { state, views: [] };
|
|
36
45
|
case "error":
|
|
37
|
-
// pi's prompt() RESOLVES even when the provider errored
|
|
46
|
+
// pi's prompt() RESOLVES even when the provider errored; the failure
|
|
38
47
|
// only surfaces here (pinned by the pi vendor 400 test).
|
|
39
|
-
return
|
|
48
|
+
return { state: { ...state, providerError: inner.error.errorMessage ?? inner.reason }, views: [] };
|
|
40
49
|
case "thinking_start":
|
|
41
|
-
return
|
|
50
|
+
return { state: { ...state, reasoningHadText: false }, views: [] };
|
|
42
51
|
case "thinking_end":
|
|
43
|
-
return state.reasoningHadText ?
|
|
44
|
-
//
|
|
45
|
-
//
|
|
52
|
+
return state.reasoningHadText ? { state, views: [] } : { state, views: [{ kind: "reasoning", content: { kind: "empty" } }] };
|
|
53
|
+
// Block boundaries and toolcall framing carry no view (toolcalls arrive
|
|
54
|
+
// via the outer tool_execution_* events); the frame itself is recorded.
|
|
46
55
|
case "start":
|
|
47
56
|
case "done":
|
|
48
57
|
case "text_start":
|
|
@@ -50,48 +59,66 @@ function foldMessageUpdate(state, inner) {
|
|
|
50
59
|
case "toolcall_start":
|
|
51
60
|
case "toolcall_delta":
|
|
52
61
|
case "toolcall_end":
|
|
53
|
-
return
|
|
62
|
+
return { state, views: [] };
|
|
54
63
|
}
|
|
55
|
-
return
|
|
64
|
+
return { state, views: [] };
|
|
56
65
|
}
|
|
57
|
-
/**
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
return state
|
|
63
|
-
? drop(state)
|
|
64
|
-
: { state: { ...piPrompted(), adopted: true }, commands: [{ kind: "begin" }] };
|
|
65
|
-
}
|
|
66
|
-
if (!state.inTurn) {
|
|
67
|
-
return drop(state);
|
|
66
|
+
/** Cumulative per-session tokens after an assistant message's own usage. */
|
|
67
|
+
function accumulate(state, message) {
|
|
68
|
+
const record = asRecord(message);
|
|
69
|
+
const usage = asRecord(record?.usage);
|
|
70
|
+
if (record?.role !== "assistant" || usage === null) {
|
|
71
|
+
return { state, views: [] };
|
|
68
72
|
}
|
|
73
|
+
const tokens = {
|
|
74
|
+
input: state.tokens.input + (asNumber(usage.input) ?? 0) + (asNumber(usage.cacheRead) ?? 0) + (asNumber(usage.cacheWrite) ?? 0),
|
|
75
|
+
output: state.tokens.output + (asNumber(usage.output) ?? 0),
|
|
76
|
+
};
|
|
77
|
+
return { state: { ...state, tokens }, views: [{ kind: "usage", usage: { tokens } }] };
|
|
78
|
+
}
|
|
79
|
+
function step(state, event, extra) {
|
|
69
80
|
switch (event.type) {
|
|
70
|
-
case "
|
|
71
|
-
//
|
|
72
|
-
//
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
81
|
+
case "agent_settled": {
|
|
82
|
+
// pi's run-settled signal (agent-session.js _emitAgentSettled: it
|
|
83
|
+
// flips _isAgentRunActive off) is the turn's end, NOT agent_end, which
|
|
84
|
+
// precedes threshold compaction and auto-retries; between the two pi
|
|
85
|
+
// rejects new prompts ("Cannot submit a prompt while compaction is in
|
|
86
|
+
// progress"). The context read here is therefore post-compaction.
|
|
87
|
+
const views = [{ kind: "turn_ended", outcome: piRunOutcome(state) }];
|
|
88
|
+
if (extra.context !== undefined && extra.context !== null) {
|
|
89
|
+
views.push({ kind: "usage", usage: { context: extra.context } });
|
|
90
|
+
}
|
|
91
|
+
return { state: piPrompted(state), views };
|
|
92
|
+
}
|
|
76
93
|
case "message_update":
|
|
77
94
|
return foldMessageUpdate(state, event.assistantMessageEvent);
|
|
78
|
-
case "
|
|
79
|
-
return
|
|
80
|
-
case "
|
|
81
|
-
|
|
95
|
+
case "message_end":
|
|
96
|
+
return accumulate(state, event.message);
|
|
97
|
+
case "tool_execution_start": {
|
|
98
|
+
const input = jsonDetail(event.args);
|
|
99
|
+
return { state, views: [input === undefined
|
|
100
|
+
? { kind: "tool_call_started", callId: event.toolCallId, tool: event.toolName }
|
|
101
|
+
: { kind: "tool_call_started", callId: event.toolCallId, tool: event.toolName, input }] };
|
|
102
|
+
}
|
|
103
|
+
case "tool_execution_end": {
|
|
104
|
+
const output = jsonDetail(event.result);
|
|
105
|
+
return { state, views: [output === undefined
|
|
106
|
+
? { kind: "tool_call_ended", callId: event.toolCallId }
|
|
107
|
+
: { kind: "tool_call_ended", callId: event.toolCallId, output }] };
|
|
108
|
+
}
|
|
82
109
|
case "turn_end":
|
|
83
110
|
// A provider failure surfaces only as stopReason "error" on the turn's
|
|
84
111
|
// final assistant message (pinned by the pi vendor 400 test).
|
|
85
112
|
return event.message.role === "assistant" && event.message.stopReason === "error"
|
|
86
|
-
?
|
|
87
|
-
:
|
|
88
|
-
//
|
|
89
|
-
//
|
|
90
|
-
//
|
|
91
|
-
case "
|
|
113
|
+
? { state: { ...state, providerError: event.message.errorMessage ?? "provider error" }, views: [] }
|
|
114
|
+
: { state, views: [] };
|
|
115
|
+
// Recorded with no view (an exhaustive switch makes a NEW pi event type a
|
|
116
|
+
// compile error, forcing a conscious viewed-or-plain decision on each
|
|
117
|
+
// future addition).
|
|
118
|
+
case "agent_start":
|
|
119
|
+
case "agent_end":
|
|
92
120
|
case "turn_start":
|
|
93
121
|
case "message_start":
|
|
94
|
-
case "message_end":
|
|
95
122
|
case "tool_execution_update":
|
|
96
123
|
case "bash_execution_update":
|
|
97
124
|
case "compaction_start":
|
|
@@ -105,8 +132,16 @@ export function foldPiEvent(state, event) {
|
|
|
105
132
|
case "summarization_retry_scheduled":
|
|
106
133
|
case "summarization_retry_attempt_start":
|
|
107
134
|
case "summarization_retry_finished":
|
|
108
|
-
return
|
|
135
|
+
return { state, views: [] };
|
|
109
136
|
}
|
|
110
|
-
return
|
|
137
|
+
return { state, views: [] };
|
|
138
|
+
}
|
|
139
|
+
/** Fold one pi SDK event into the next state plus the one event command it produces. */
|
|
140
|
+
export function foldPiEvent(state, event, extra = {}) {
|
|
141
|
+
const next = step(state, event, extra);
|
|
142
|
+
return {
|
|
143
|
+
state: next.state,
|
|
144
|
+
commands: [{ kind: "event", body: { type: event.type, native: event, views: next.views } }],
|
|
145
|
+
};
|
|
111
146
|
}
|
|
112
147
|
//# sourceMappingURL=projection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projection.js","sourceRoot":"","sources":["../../../src/runtimes/pi/projection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"projection.js","sourceRoot":"","sources":["../../../src/runtimes/pi/projection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +1,4 @@
|
|
|
1
|
-
import type { CreateAgentSessionOptions } from "@earendil-works/pi-coding-agent";
|
|
2
1
|
import type { StartSession } from "../../contracts/session.js";
|
|
3
|
-
|
|
4
|
-
* The bash tool that carries SessionOptions.env into the agent's spawned
|
|
5
|
-
* processes: same builtin bash, plus a spawnHook overlaying the env. pi's
|
|
6
|
-
* defineTool keeps the definition assignable to customTools, where it
|
|
7
|
-
* replaces the builtin by name. Exported for direct unit verification.
|
|
8
|
-
*/
|
|
9
|
-
export declare function piEnvBashTool(cwd: string, overlay: Readonly<Record<string, string>>): Promise<NonNullable<CreateAgentSessionOptions["customTools"]>[number]>;
|
|
10
|
-
/** The slice of pi's AgentSession the model read-back depends on; structural for tests. */
|
|
11
|
-
export interface PiModelSource {
|
|
12
|
-
readonly model: {
|
|
13
|
-
readonly provider: string;
|
|
14
|
-
readonly id: string;
|
|
15
|
-
} | undefined;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* pi's `AgentSession.model` (SDK 0.84.2 agent-session.d.ts: "Current model
|
|
19
|
-
* (may be undefined if not yet selected)") is the runtime-owned current
|
|
20
|
-
* model, updated by setModel/model switching; spelled `provider/id` like the
|
|
21
|
-
* list-models projection and pi's own `--model` flag.
|
|
22
|
-
*/
|
|
23
|
-
export declare function piEffectiveModel(session: PiModelSource): string | null;
|
|
2
|
+
export { piEffectiveModel, piEnvBashTool, type PiModelSource } from "./open.js";
|
|
24
3
|
export declare const piSession: StartSession;
|
|
25
4
|
//# sourceMappingURL=session.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACyD,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAatH,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAYhF,eAAO,MAAM,SAAS,EAAE,YAyNvB,CAAC"}
|