@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.
Files changed (159) hide show
  1. package/README.md +2 -2
  2. package/dist/contracts/model-catalog.d.ts +1 -1
  3. package/dist/contracts/model-catalog.js +1 -1
  4. package/dist/contracts/provider-auth.d.ts +2 -2
  5. package/dist/contracts/provider-auth.js +2 -2
  6. package/dist/contracts/records.d.ts +205 -0
  7. package/dist/contracts/records.d.ts.map +1 -0
  8. package/dist/contracts/records.js +8 -0
  9. package/dist/contracts/records.js.map +1 -0
  10. package/dist/contracts/session.d.ts +83 -144
  11. package/dist/contracts/session.d.ts.map +1 -1
  12. package/dist/index.d.ts +6 -3
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +3 -1
  15. package/dist/index.js.map +1 -1
  16. package/dist/observe/agent-status.d.ts +32 -18
  17. package/dist/observe/agent-status.d.ts.map +1 -1
  18. package/dist/observe/agent-status.js +66 -14
  19. package/dist/observe/agent-status.js.map +1 -1
  20. package/dist/observe/aggregate-events.d.ts +7 -6
  21. package/dist/observe/aggregate-events.d.ts.map +1 -1
  22. package/dist/observe/aggregate-events.js +38 -28
  23. package/dist/observe/aggregate-events.js.map +1 -1
  24. package/dist/observe/index.d.ts +4 -1
  25. package/dist/observe/index.d.ts.map +1 -1
  26. package/dist/observe/index.js +3 -1
  27. package/dist/observe/index.js.map +1 -1
  28. package/dist/observe/observe-agent.d.ts +4 -4
  29. package/dist/observe/observe-agent.d.ts.map +1 -1
  30. package/dist/observe/observe-agent.js +3 -3
  31. package/dist/observe/observe-agent.js.map +1 -1
  32. package/dist/observe/stall-observer.d.ts +7 -6
  33. package/dist/observe/stall-observer.d.ts.map +1 -1
  34. package/dist/observe/stall-observer.js +6 -5
  35. package/dist/observe/stall-observer.js.map +1 -1
  36. package/dist/observe/tool-activity.d.ts +2 -2
  37. package/dist/observe/tool-activity.d.ts.map +1 -1
  38. package/dist/observe/tool-activity.js +1 -1
  39. package/dist/observe/tool-activity.js.map +1 -1
  40. package/dist/observe/turns.d.ts +37 -0
  41. package/dist/observe/turns.d.ts.map +1 -0
  42. package/dist/observe/turns.js +70 -0
  43. package/dist/observe/turns.js.map +1 -0
  44. package/dist/observe/usage.d.ts +15 -0
  45. package/dist/observe/usage.d.ts.map +1 -0
  46. package/dist/observe/usage.js +79 -0
  47. package/dist/observe/usage.js.map +1 -0
  48. package/dist/runtimes/claude/account-usage.js +1 -1
  49. package/dist/runtimes/claude/context-usage.d.ts +1 -1
  50. package/dist/runtimes/claude/context-usage.js +1 -1
  51. package/dist/runtimes/claude/projection.d.ts +40 -27
  52. package/dist/runtimes/claude/projection.d.ts.map +1 -1
  53. package/dist/runtimes/claude/projection.js +107 -21
  54. package/dist/runtimes/claude/projection.js.map +1 -1
  55. package/dist/runtimes/claude/session.d.ts.map +1 -1
  56. package/dist/runtimes/claude/session.js +119 -87
  57. package/dist/runtimes/claude/session.js.map +1 -1
  58. package/dist/runtimes/codex/app-server-client.d.ts +38 -3
  59. package/dist/runtimes/codex/app-server-client.d.ts.map +1 -1
  60. package/dist/runtimes/codex/app-server-client.js +62 -15
  61. package/dist/runtimes/codex/app-server-client.js.map +1 -1
  62. package/dist/runtimes/codex/projection.d.ts +12 -12
  63. package/dist/runtimes/codex/projection.d.ts.map +1 -1
  64. package/dist/runtimes/codex/projection.js +101 -38
  65. package/dist/runtimes/codex/projection.js.map +1 -1
  66. package/dist/runtimes/codex/rpc-control.d.ts +31 -0
  67. package/dist/runtimes/codex/rpc-control.d.ts.map +1 -0
  68. package/dist/runtimes/codex/rpc-control.js +51 -0
  69. package/dist/runtimes/codex/rpc-control.js.map +1 -0
  70. package/dist/runtimes/codex/session.d.ts.map +1 -1
  71. package/dist/runtimes/codex/session.js +199 -148
  72. package/dist/runtimes/codex/session.js.map +1 -1
  73. package/dist/runtimes/grok/session.d.ts +37 -1
  74. package/dist/runtimes/grok/session.d.ts.map +1 -1
  75. package/dist/runtimes/grok/session.js +74 -0
  76. package/dist/runtimes/grok/session.js.map +1 -1
  77. package/dist/runtimes/kimi/session.d.ts.map +1 -1
  78. package/dist/runtimes/kimi/session.js +5 -0
  79. package/dist/runtimes/kimi/session.js.map +1 -1
  80. package/dist/runtimes/pi/auth.d.ts.map +1 -1
  81. package/dist/runtimes/pi/auth.js +6 -1
  82. package/dist/runtimes/pi/auth.js.map +1 -1
  83. package/dist/runtimes/pi/catalog.d.ts.map +1 -1
  84. package/dist/runtimes/pi/catalog.js +6 -1
  85. package/dist/runtimes/pi/catalog.js.map +1 -1
  86. package/dist/runtimes/pi/http.d.ts +34 -0
  87. package/dist/runtimes/pi/http.d.ts.map +1 -0
  88. package/dist/runtimes/pi/http.js +95 -0
  89. package/dist/runtimes/pi/http.js.map +1 -0
  90. package/dist/runtimes/pi/list-models.d.ts.map +1 -1
  91. package/dist/runtimes/pi/list-models.js +10 -3
  92. package/dist/runtimes/pi/list-models.js.map +1 -1
  93. package/dist/runtimes/pi/open.d.ts +32 -0
  94. package/dist/runtimes/pi/open.d.ts.map +1 -0
  95. package/dist/runtimes/pi/open.js +106 -0
  96. package/dist/runtimes/pi/open.js.map +1 -0
  97. package/dist/runtimes/pi/projection.d.ts +27 -25
  98. package/dist/runtimes/pi/projection.d.ts.map +1 -1
  99. package/dist/runtimes/pi/projection.js +85 -50
  100. package/dist/runtimes/pi/projection.js.map +1 -1
  101. package/dist/runtimes/pi/session.d.ts +1 -22
  102. package/dist/runtimes/pi/session.d.ts.map +1 -1
  103. package/dist/runtimes/pi/session.js +178 -184
  104. package/dist/runtimes/pi/session.js.map +1 -1
  105. package/dist/shared/acp/client-app.d.ts +23 -0
  106. package/dist/shared/acp/client-app.d.ts.map +1 -0
  107. package/dist/shared/acp/client-app.js +55 -0
  108. package/dist/shared/acp/client-app.js.map +1 -0
  109. package/dist/shared/acp/model.d.ts +3 -17
  110. package/dist/shared/acp/model.d.ts.map +1 -1
  111. package/dist/shared/acp/model.js +3 -14
  112. package/dist/shared/acp/model.js.map +1 -1
  113. package/dist/shared/acp/profile.d.ts +32 -7
  114. package/dist/shared/acp/profile.d.ts.map +1 -1
  115. package/dist/shared/acp/profile.js +17 -8
  116. package/dist/shared/acp/profile.js.map +1 -1
  117. package/dist/shared/acp/projection.d.ts +16 -8
  118. package/dist/shared/acp/projection.d.ts.map +1 -1
  119. package/dist/shared/acp/projection.js +51 -32
  120. package/dist/shared/acp/projection.js.map +1 -1
  121. package/dist/shared/acp/records.d.ts +46 -0
  122. package/dist/shared/acp/records.d.ts.map +1 -0
  123. package/dist/shared/acp/records.js +125 -0
  124. package/dist/shared/acp/records.js.map +1 -0
  125. package/dist/shared/acp/session.d.ts.map +1 -1
  126. package/dist/shared/acp/session.js +98 -224
  127. package/dist/shared/acp/session.js.map +1 -1
  128. package/dist/shared/acp/terminal.d.ts +1 -3
  129. package/dist/shared/acp/terminal.d.ts.map +1 -1
  130. package/dist/shared/acp/terminal.js +1 -21
  131. package/dist/shared/acp/terminal.js.map +1 -1
  132. package/dist/shared/acp/turns.d.ts +45 -0
  133. package/dist/shared/acp/turns.d.ts.map +1 -0
  134. package/dist/shared/acp/turns.js +160 -0
  135. package/dist/shared/acp/turns.js.map +1 -0
  136. package/dist/shared/acp/usage-wait.d.ts +6 -6
  137. package/dist/shared/acp/usage-wait.d.ts.map +1 -1
  138. package/dist/shared/acp/usage-wait.js +2 -2
  139. package/dist/shared/acp/usage-wait.js.map +1 -1
  140. package/dist/shared/failure-class.d.ts +1 -1
  141. package/dist/shared/failure-class.js +2 -2
  142. package/dist/shared/failure-class.js.map +1 -1
  143. package/dist/shared/seal-session.d.ts +5 -3
  144. package/dist/shared/seal-session.d.ts.map +1 -1
  145. package/dist/shared/seal-session.js +24 -16
  146. package/dist/shared/seal-session.js.map +1 -1
  147. package/dist/shared/session-kernel.d.ts +68 -18
  148. package/dist/shared/session-kernel.d.ts.map +1 -1
  149. package/dist/shared/session-kernel.js +82 -42
  150. package/dist/shared/session-kernel.js.map +1 -1
  151. package/dist/voyage.d.ts +4 -7
  152. package/dist/voyage.d.ts.map +1 -1
  153. package/dist/voyage.js +14 -19
  154. package/dist/voyage.js.map +1 -1
  155. package/package.json +5 -6
  156. package/dist/runtimes/codex/context-usage.d.ts +0 -10
  157. package/dist/runtimes/codex/context-usage.d.ts.map +0 -1
  158. package/dist/runtimes/codex/context-usage.js +0 -16
  159. package/dist/runtimes/codex/context-usage.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../../src/shared/acp/terminal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../../src/shared/acp/terminal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import type { RequestRecord, ResponseBody, TurnOutcome } from "../../contracts/session.js";
2
+ import type { JsonRecord } from "../json.js";
3
+ import type { SessionKernel } from "../session-kernel.js";
4
+ import { type AcpSessionProfile } from "./profile.js";
5
+ import { type AcpProcess } from "./process.js";
6
+ import type { UsageUpdateGate } from "./usage-wait.js";
7
+ /**
8
+ * The turn machinery: ≤1 active turn, each `session/prompt` RPC of it, the
9
+ * host-held queue, cancel with a kill fallback. The RPC ANSWER is the
10
+ * runtime's own turn end and is recorded as an event with a turn_ended view;
11
+ * a rejected RPC is likewise the runtime's word (a prompt-error event). The
12
+ * process dying is not; that is the `exited` response the session records
13
+ * from its exit observer. One turn may span several prompt RPCs (grok's
14
+ * send-now steer): each answer is its own event; the turn_ended view rides
15
+ * the answer that closes the turn, carrying the LATEST request's outcome.
16
+ */
17
+ export interface ActiveTurn {
18
+ /** The prompt request that opened this turn; null for a spontaneous (queue-drained) turn. */
19
+ readonly request: RequestRecord | null;
20
+ readonly outcomes: Map<number, TurnOutcome>;
21
+ readonly pending: Set<number>;
22
+ abortRequested: boolean;
23
+ latestRequest: number;
24
+ fallback: NodeJS.Timeout | null;
25
+ }
26
+ export interface AcpTurns {
27
+ active(): ActiveTurn | null;
28
+ /** Open a turn with one prompt RPC; rejected when the process is gone. */
29
+ begin(request: RequestRecord | null, input: string): ResponseBody;
30
+ /** Another prompt RPC inside the active turn (the profile's steer params); rejected when the process is gone. */
31
+ steer(state: ActiveTurn, input: string, extraParams: JsonRecord): Promise<ResponseBody>;
32
+ /** session/cancel, then a bounded wait after which the process is killed. */
33
+ abort(state: ActiveTurn): Promise<ResponseBody>;
34
+ /** Hold input for the next turn, drained when the active one closes; rejected when the process is gone. */
35
+ hold(input: string): Promise<ResponseBody>;
36
+ /** The process is gone: close the active turn (its end is the exited response) and drop held input. */
37
+ onExit(): void;
38
+ }
39
+ export declare function createAcpTurns(deps: {
40
+ readonly kernel: SessionKernel;
41
+ readonly runtime: AcpProcess;
42
+ readonly profile: AcpSessionProfile;
43
+ readonly usageGate: UsageUpdateGate;
44
+ }): AcpTurns;
45
+ //# sourceMappingURL=turns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turns.d.ts","sourceRoot":"","sources":["../../../src/shared/acp/turns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EACb,YAAY,EAEZ,WAAW,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAa,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAW,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAMxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD;;;;;;;;;GASG;AACH,MAAM,WAAW,UAAU;IACzB,6FAA6F;IAC7F,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IACvC,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,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,IAAI,UAAU,GAAG,IAAI,CAAC;IAC5B,0EAA0E;IAC1E,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC;IAClE,iHAAiH;IACjH,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACxF,6EAA6E;IAC7E,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAChD,2GAA2G;IAC3G,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3C,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;CACrC,GAAG,QAAQ,CA+JX"}
@@ -0,0 +1,160 @@
1
+ import { AcpError, acpProcessExitedError } from "./errors.js";
2
+ import { promptAcp } from "./profile.js";
3
+ import { methods } from "./process.js";
4
+ import { acpErrorNative, acpFailureOutcome, defaultAcpPromptOutcome, } from "./projection.js";
5
+ export function createAcpTurns(deps) {
6
+ const { kernel, runtime, profile, usageGate } = deps;
7
+ const rootId = kernel.sessionId;
8
+ const held = [];
9
+ let active = null;
10
+ let nextRequest = 0;
11
+ // Running session total of the per-prompt ledgers (profile.promptTokenUsage).
12
+ let billed = { input: 0, output: 0 };
13
+ const closeTurn = (state) => {
14
+ if (state.fallback !== null) {
15
+ clearTimeout(state.fallback);
16
+ state.fallback = null;
17
+ }
18
+ if (active === state) {
19
+ active = null;
20
+ }
21
+ queueMicrotask(drainHeld);
22
+ };
23
+ const finishRequest = (state, requestNumber, frame, outcome) => {
24
+ state.pending.delete(requestNumber);
25
+ state.outcomes.set(requestNumber, outcome);
26
+ const closes = state.pending.size === 0;
27
+ const views = [];
28
+ if (closes) {
29
+ views.push({ kind: "turn_ended", outcome: state.outcomes.get(state.latestRequest) ?? outcome });
30
+ }
31
+ if (frame.context !== null) {
32
+ views.push(frame.context);
33
+ }
34
+ kernel.event({ type: frame.type, native: frame.native, views });
35
+ if (closes) {
36
+ closeTurn(state);
37
+ }
38
+ };
39
+ const startVendorPrompt = (state, input, extraParams = {}) => {
40
+ nextRequest += 1;
41
+ const requestNumber = nextRequest;
42
+ state.latestRequest = requestNumber;
43
+ state.pending.add(requestNumber);
44
+ void (async () => {
45
+ try {
46
+ usageGate.arm();
47
+ const result = await promptAcp(runtime, rootId, input, extraParams);
48
+ // Deliberate ordering: the answer's event waits (bounded) for the
49
+ // usage_update kimi pushes AFTER answering, so the usage record
50
+ // precedes the turn end and contextUsage() at turn_ended is this
51
+ // turn's own value.
52
+ await usageGate.settleAfterPrompt(profile, state.abortRequested);
53
+ const context = profile.promptContextUsage?.(result) ?? null;
54
+ const prompted = profile.promptTokenUsage?.(result) ?? null;
55
+ if (prompted !== null) {
56
+ billed = { input: billed.input + prompted.input, output: billed.output + prompted.output };
57
+ }
58
+ finishRequest(state, requestNumber, {
59
+ type: methods.agent.session.prompt,
60
+ native: result,
61
+ context: context === null && prompted === null ? null : {
62
+ kind: "usage",
63
+ usage: { ...(context === null ? {} : { context }), ...(prompted === null ? {} : { tokens: billed }) },
64
+ },
65
+ }, profile.promptOutcome?.(result) ?? defaultAcpPromptOutcome(result));
66
+ }
67
+ catch (error) {
68
+ if (error instanceof AcpError && error.kind === "process_exited") {
69
+ // Not the runtime's word: the exit observer records the `exited`
70
+ // response, which is the turn's end.
71
+ state.pending.delete(requestNumber);
72
+ closeTurn(state);
73
+ return;
74
+ }
75
+ const outcome = state.abortRequested ? { kind: "aborted" } : acpFailureOutcome(error);
76
+ finishRequest(state, requestNumber, {
77
+ type: `${methods.agent.session.prompt}/error`,
78
+ native: acpErrorNative(error),
79
+ context: null,
80
+ }, outcome);
81
+ }
82
+ })();
83
+ };
84
+ const gone = () => ({ kind: "rejected", reason: acpProcessExitedError(runtime.exitCode).message });
85
+ const begin = (request, input) => {
86
+ if (runtime.closed) {
87
+ return gone();
88
+ }
89
+ const state = {
90
+ request,
91
+ outcomes: new Map(),
92
+ pending: new Set(),
93
+ abortRequested: false,
94
+ latestRequest: 0,
95
+ fallback: null,
96
+ };
97
+ active = state;
98
+ startVendorPrompt(state, input);
99
+ return { kind: "accepted" };
100
+ };
101
+ function drainHeld() {
102
+ // Held input is dropped once the stream says the runtime is unreachable
103
+ // (an `exited` response or a `dispose` request), not by an adapter flag.
104
+ if (kernel.unreachable() !== null || active !== null || runtime.closed) {
105
+ return;
106
+ }
107
+ const input = held.shift();
108
+ if (input !== undefined) {
109
+ begin(null, input);
110
+ }
111
+ }
112
+ return {
113
+ active: () => active,
114
+ begin,
115
+ async steer(state, input, extraParams) {
116
+ await runtime.spawned;
117
+ if (runtime.closed) {
118
+ return gone();
119
+ }
120
+ startVendorPrompt(state, input, extraParams);
121
+ return { kind: "accepted" };
122
+ },
123
+ async abort(state) {
124
+ if (!state.abortRequested) {
125
+ state.abortRequested = true;
126
+ try {
127
+ await runtime.connection.agent.notify(methods.agent.session.cancel, { sessionId: rootId });
128
+ }
129
+ catch (error) {
130
+ return { kind: "rejected", reason: error instanceof Error ? error.message : String(error) };
131
+ }
132
+ // A runtime that never answers the cancelled prompt is killed; the
133
+ // exit then shows up as the `exited` response, the turn's end.
134
+ state.fallback = setTimeout(() => {
135
+ if (active === state) {
136
+ runtime.kill();
137
+ }
138
+ }, profile.abortTimeoutMs ?? 10_000);
139
+ state.fallback.unref();
140
+ }
141
+ return { kind: "accepted" };
142
+ },
143
+ async hold(input) {
144
+ await runtime.spawned;
145
+ if (runtime.closed) {
146
+ return gone();
147
+ }
148
+ held.push(input);
149
+ queueMicrotask(drainHeld);
150
+ return { kind: "accepted" };
151
+ },
152
+ onExit() {
153
+ if (active !== null) {
154
+ closeTurn(active);
155
+ }
156
+ held.splice(0);
157
+ },
158
+ };
159
+ }
160
+ //# sourceMappingURL=turns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turns.js","sourceRoot":"","sources":["../../../src/shared/acp/turns.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import type { ContextUsage } from "../../contracts/session.js";
2
1
  import type { AcpSessionProfile } from "./profile.js";
3
2
  /**
4
3
  * Bridges the gap between an agent's `session/prompt` answer and the
@@ -9,15 +8,16 @@ import type { AcpSessionProfile } from "./profile.js";
9
8
  * `void this.emitUsageUpdate()` (lines 923-945), which awaits
10
9
  * `kosong.listModels()` and `agent.getContext()` before notifying, and returns
11
10
  * without a push when the catalog has no `max_context_size` for the current
12
- * model. Settling the OAR turn on the response alone therefore leaves
13
- * `contextUsage()` at the PREVIOUS turn's value at `turn_ended`, and there is
14
- * no guarantee an update ever comes — hence a bounded wait, not a barrier.
11
+ * model. Recording the answer's turn_ended event on the response alone therefore
12
+ * leaves `contextUsage()` at the PREVIOUS turn's value at `turn_ended`, and
13
+ * there is no guarantee an update ever comes; hence a bounded wait, not a
14
+ * barrier.
15
15
  */
16
16
  export interface UsageUpdateGate {
17
17
  /** Forget any update seen so far; call before sending the prompt. */
18
18
  readonly arm: () => void;
19
- /** Feed every projected update; only a present usage counts as arrival. */
20
- readonly observe: (usage: ContextUsage | undefined) => void;
19
+ /** Feed every recorded root update; only one that carried a usage view (its seq) counts as arrival. */
20
+ readonly observe: (usageSeq: number | undefined) => void;
21
21
  /**
22
22
  * After the prompt response: resolve once a usage_update arrived since
23
23
  * `arm()`, or after the profile's bound. Immediate when the profile does not
@@ -1 +1 @@
1
- {"version":3,"file":"usage-wait.d.ts","sourceRoot":"","sources":["../../../src/shared/acp/usage-wait.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,eAAe;IAC9B,qEAAqE;IACrE,QAAQ,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC;IACzB,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,KAAK,IAAI,CAAC;IAC5D;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,EAAE,CAC1B,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,wBAAwB,GAAG,sBAAsB,CAAC,EACnF,QAAQ,EAAE,OAAO,KACd,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB;AAED,eAAO,MAAM,+BAA+B,MAAM,CAAC;AAEnD,wBAAgB,qBAAqB,IAAI,eAAe,CA8BvD"}
1
+ {"version":3,"file":"usage-wait.d.ts","sourceRoot":"","sources":["../../../src/shared/acp/usage-wait.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,eAAe;IAC9B,qEAAqE;IACrE,QAAQ,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC;IACzB,uGAAuG;IACvG,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACzD;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,EAAE,CAC1B,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,wBAAwB,GAAG,sBAAsB,CAAC,EACnF,QAAQ,EAAE,OAAO,KACd,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB;AAED,eAAO,MAAM,+BAA+B,MAAM,CAAC;AAEnD,wBAAgB,qBAAqB,IAAI,eAAe,CA8BvD"}
@@ -6,8 +6,8 @@ export function createUsageUpdateGate() {
6
6
  arm: () => {
7
7
  seen = false;
8
8
  },
9
- observe: (usage) => {
10
- if (usage === undefined) {
9
+ observe: (usageSeq) => {
10
+ if (usageSeq === undefined) {
11
11
  return;
12
12
  }
13
13
  seen = true;
@@ -1 +1 @@
1
- {"version":3,"file":"usage-wait.js","sourceRoot":"","sources":["../../../src/shared/acp/usage-wait.ts"],"names":[],"mappings":"AAgCA,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,CAAC;AAEnD,MAAM,UAAU,qBAAqB;IACnC,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,OAAO,GAAwB,IAAI,CAAC;IACxC,OAAO;QACL,GAAG,EAAE,GAAS,EAAE;YACd,IAAI,GAAG,KAAK,CAAC;QACf,CAAC;QACD,OAAO,EAAE,CAAC,KAAK,EAAQ,EAAE;YACvB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO;YACT,CAAC;YACD,IAAI,GAAG,IAAI,CAAC;YACZ,OAAO,EAAE,EAAE,CAAC;QACd,CAAC;QACD,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAiB,EAAE;YAC5D,IAAI,OAAO,CAAC,sBAAsB,KAAK,IAAI,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;gBAChE,OAAO;YACT,CAAC;YACD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,aAAa,EAAQ,CAAC;YAC3D,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,oBAAoB,IAAI,+BAA+B,CAAC,CAAC;YACnG,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,GAAG,OAAO,CAAC;YAClB,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC;YAChB,CAAC;oBAAS,CAAC;gBACT,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"usage-wait.js","sourceRoot":"","sources":["../../../src/shared/acp/usage-wait.ts"],"names":[],"mappings":"AAgCA,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,CAAC;AAEnD,MAAM,UAAU,qBAAqB;IACnC,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,OAAO,GAAwB,IAAI,CAAC;IACxC,OAAO;QACL,GAAG,EAAE,GAAS,EAAE;YACd,IAAI,GAAG,KAAK,CAAC;QACf,CAAC;QACD,OAAO,EAAE,CAAC,QAAQ,EAAQ,EAAE;YAC1B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,OAAO;YACT,CAAC;YACD,IAAI,GAAG,IAAI,CAAC;YACZ,OAAO,EAAE,EAAE,CAAC;QACd,CAAC;QACD,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAiB,EAAE;YAC5D,IAAI,OAAO,CAAC,sBAAsB,KAAK,IAAI,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;gBAChE,OAAO;YACT,CAAC;YACD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,aAAa,EAAQ,CAAC;YAC3D,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,oBAAoB,IAAI,+BAA+B,CAAC,CAAC;YACnG,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,GAAG,OAAO,CAAC;YAClB,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC;YAChB,CAAC;oBAAS,CAAC;gBACT,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { FailureClass } from "../contracts/session.js";
2
2
  /**
3
3
  * Best-effort classification of vendor error prose. The patterns are pinned
4
- * by the vendor snapshot tests — when a runtime changes its wording, the
4
+ * by the vendor snapshot tests: when a runtime changes its wording, the
5
5
  * snapshot moves and this table gets a conscious update.
6
6
  */
7
7
  export declare function classifyFailure(reason: string): FailureClass;
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Best-effort classification of vendor error prose. The patterns are pinned
3
- * by the vendor snapshot tests — when a runtime changes its wording, the
3
+ * by the vendor snapshot tests: when a runtime changes its wording, the
4
4
  * snapshot moves and this table gets a conscious update.
5
5
  */
6
6
  export function classifyFailure(reason) {
@@ -10,7 +10,7 @@ export function classifyFailure(reason) {
10
10
  if (/\b429\b|rate.?limit|quota|usage limit/iu.test(reason)) {
11
11
  return "quota";
12
12
  }
13
- if (/\b400\b|invalid_request/iu.test(reason)) {
13
+ if (/\b400\b|invalid_request|issue with the selected model|model .* (?:does not|doesn't|may not) exist|unknown model|invalid model/iu.test(reason)) {
14
14
  return "invalid_request";
15
15
  }
16
16
  if (/\b529\b|\b503\b|overloaded/iu.test(reason)) {
@@ -1 +1 @@
1
- {"version":3,"file":"failure-class.js","sourceRoot":"","sources":["../../src/shared/failure-class.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,IAAI,kFAAkF,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACpG,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,yCAAyC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,IAAI,8BAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACrC,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"failure-class.js","sourceRoot":"","sources":["../../src/shared/failure-class.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,IAAI,kFAAkF,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACpG,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,yCAAyC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,iIAAiI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACnJ,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,IAAI,8BAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACrC,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1,8 +1,10 @@
1
1
  import type { AdapterSession, Session } from "../contracts/session.js";
2
2
  /**
3
- * Derive the API face of a Session from what the adapter built. Method-style
4
- * so consumers discover the policy in autocomplete instead of hunting for a
5
- * free function; one implementation instead of one per adapter.
3
+ * Derive the API face of a Session from what the adapter built: the stream
4
+ * folds (model / usage / contextUsage are projections over `records()`, never
5
+ * adapter-held snapshots) and the steer-or-queue policy. Method-style so
6
+ * consumers discover the surfaces in autocomplete; one implementation instead
7
+ * of one per adapter.
6
8
  */
7
9
  export declare function sealSession(adapterSession: AdapterSession): Session;
8
10
  //# sourceMappingURL=seal-session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"seal-session.d.ts","sourceRoot":"","sources":["../../src/shared/seal-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,OAAO,EAGR,MAAM,yBAAyB,CAAC;AAEjC;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAiBnE"}
1
+ {"version":3,"file":"seal-session.d.ts","sourceRoot":"","sources":["../../src/shared/seal-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,OAAO,EAER,MAAM,yBAAyB,CAAC;AAGjC;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAsBnE"}
@@ -1,24 +1,32 @@
1
+ import { contextUsageOf, modelOf, usageOf } from "../observe/usage.js";
1
2
  /**
2
- * Derive the API face of a Session from what the adapter built. Method-style
3
- * so consumers discover the policy in autocomplete instead of hunting for a
4
- * free function; one implementation instead of one per adapter.
3
+ * Derive the API face of a Session from what the adapter built: the stream
4
+ * folds (model / usage / contextUsage are projections over `records()`, never
5
+ * adapter-held snapshots) and the steer-or-queue policy. Method-style so
6
+ * consumers discover the surfaces in autocomplete; one implementation instead
7
+ * of one per adapter.
5
8
  */
6
9
  export function sealSession(adapterSession) {
7
- const steerOrQueue = async (turn, input) => {
8
- let reason = "runtime cannot steer";
9
- if (turn.steer !== undefined) {
10
- const steered = await turn.steer(input);
11
- if (steered.kind === "accepted") {
12
- return { landed: "steered" };
13
- }
14
- ({ reason } = steered);
10
+ const steerOrQueue = async (input) => {
11
+ const steered = await adapterSession.steer(input);
12
+ if (steered.response.body.kind === "accepted") {
13
+ return { landed: "steered", result: steered };
15
14
  }
16
- if (adapterSession.queue !== undefined) {
17
- await adapterSession.queue.add(input);
18
- return { landed: "queued" };
15
+ const reason = steered.response.body.kind === "rejected" ? steered.response.body.reason : "runtime cannot steer";
16
+ if (adapterSession.capabilities.queue === null) {
17
+ return { landed: "rejected", reason, result: steered };
19
18
  }
20
- return { landed: "rejected", reason };
19
+ const queued = await adapterSession.queue(input);
20
+ return queued.response.body.kind === "accepted"
21
+ ? { landed: "queued", result: queued }
22
+ : { landed: "rejected", reason: queued.response.body.kind === "rejected" ? queued.response.body.reason : reason, result: queued };
23
+ };
24
+ return {
25
+ ...adapterSession,
26
+ model: () => modelOf(adapterSession.records(), adapterSession.id),
27
+ usage: () => usageOf(adapterSession.records(), adapterSession.id),
28
+ contextUsage: () => contextUsageOf(adapterSession.records(), adapterSession.id),
29
+ steerOrQueue,
21
30
  };
22
- return { ...adapterSession, steerOrQueue };
23
31
  }
24
32
  //# sourceMappingURL=seal-session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"seal-session.js","sourceRoot":"","sources":["../../src/shared/seal-session.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,cAA8B;IACxD,MAAM,YAAY,GAAG,KAAK,EAAE,IAAU,EAAE,KAAa,EAA+B,EAAE;QACpF,IAAI,MAAM,GAAG,sBAAsB,CAAC;QACpC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAChC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YAC/B,CAAC;YACD,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,cAAc,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACtC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAC9B,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IACxC,CAAC,CAAC;IACF,OAAO,EAAE,GAAG,cAAc,EAAE,YAAY,EAAE,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"seal-session.js","sourceRoot":"","sources":["../../src/shared/seal-session.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEvE;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,cAA8B;IACxD,MAAM,YAAY,GAAG,KAAK,EAAE,KAAa,EAA+B,EAAE;QACxE,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAChD,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC;QACjH,IAAI,cAAc,CAAC,YAAY,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAC/C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QACzD,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU;YAC7C,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE;YACtC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACtI,CAAC,CAAC;IACF,OAAO;QACL,GAAG,cAAc;QACjB,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,EAAE,CAAC;QACjE,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,EAAE,CAAC;QACjE,YAAY,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,EAAE,CAAC;QAC/E,YAAY;KACb,CAAC;AACJ,CAAC"}
@@ -1,25 +1,75 @@
1
- import type { SessionEventBody, SessionObserver, TurnOutcome, Unsubscribe } from "../contracts/session.js";
1
+ import type { ControlResult, Cursor, EventBody, EventRecord, RequestBody, RequestDirection, RequestRecord, ResponseBody, ResponseRecord, SessionEdge, SessionGraph, SessionObserver, SessionRecord, Unsubscribe } from "../contracts/session.js";
2
+ /** Where a record sits: another session id for derived children, a sub-agent path, a runtime-native span id. */
3
+ export interface RecordAt {
4
+ readonly sessionId?: string;
5
+ readonly agentPath?: readonly string[];
6
+ readonly spanId?: string;
7
+ }
2
8
  /**
3
- * Shared session mechanics every adapter needs: envelope stamping (seq,
4
- * receivedAt), synchronous never-awaited observer fan-out with error
5
- * swallowing, the single-active-turn gate, and settle-exactly-once turn
6
- * handles. Adapters keep only runtime-specific pumping and control.
9
+ * The one record stream of a session, as every adapter builds it: the
10
+ * implementation of the contract in `contracts/records.ts` and
11
+ * `contracts/session.ts` (semantics: `docs/spec/record-stream.md`,
12
+ * `docs/spec/attribution.md`, `docs/spec/session-graph-and-cursor.md`).
13
+ *
14
+ * What is shared here and never re-implemented per adapter:
15
+ * - the envelope: dense monotonic `seq`, `receivedAt`, and attribution
16
+ * (`sessionId` / `agentPath` / `spanId`) from `RecordAt`
17
+ * (attribution.md, "The record envelope");
18
+ * - the retained log behind `records()` and the cursor: `subscribe()` with
19
+ * a cursor replays every retained record after `afterSeq`, then continues
20
+ * live (session-graph-and-cursor.md, "The resumable cursor");
21
+ * - synchronous, never-awaited observer fan-out that swallows observer
22
+ * errors: observers are a side-tap and can never touch the run;
23
+ * - the session graph of true sessions (`node()` / `link()` / `graph()`;
24
+ * session-graph-and-cursor.md, "The session graph");
25
+ * - the control shape: `control()` records a `toRuntime` request, lets the
26
+ * adapter decide, and records the accept/reject response; and the
27
+ * reachability rule: once the stream holds an `exited` response or a
28
+ * `dispose` request, control is rejected here without consulting the
29
+ * adapter (record-stream.md, "Reachability is read off the stream").
30
+ *
31
+ * What is deliberately NOT here: any gate on facts. Nothing in the kernel
32
+ * decides whether a runtime frame may enter the stream; control never
33
+ * prunes facts (record-stream.md, "The rules"). The single-active-turn rule
34
+ * is the adapter's control decision and shows up as a rejected prompt
35
+ * response, never as a dropped event. Adapters keep only runtime-specific
36
+ * pumping (frame → `event()`) and control decisions (busy, not_steerable).
7
37
  */
8
38
  export interface SessionKernel {
9
39
  readonly sessionId: string;
10
- subscribe(observer: SessionObserver): Unsubscribe;
11
- /** Null while another turn is active — the contract's busy invariant. */
12
- begin(): KernelTurn | null;
13
- active(): KernelTurn | null;
14
- }
15
- export interface KernelTurn {
16
- readonly id: string;
17
- readonly outcome: Promise<TurnOutcome>;
18
- settled(): boolean;
19
- /** Stamps the envelope and fans out; ignored after the turn settled. */
20
- emit(body: SessionEventBody): void;
21
- /** Emits turn_ended and resolves the outcome exactly once. */
22
- settle(outcome: TurnOutcome): void;
40
+ /** Append the runtime's frame. Returns the stamped record. */
41
+ event(body: EventBody, at?: RecordAt): EventRecord;
42
+ /** Append a request; `id` defaults to a fresh UUID (runtime-issued ids for `toApp` requests keep their own). */
43
+ request(direction: RequestDirection, body: RequestBody, at?: RecordAt & {
44
+ readonly id?: string;
45
+ }): RequestRecord;
46
+ /** Append a response pointing at `requestId`. */
47
+ respond(requestId: string, body: ResponseBody, at?: RecordAt): ResponseRecord;
48
+ /**
49
+ * A `toRuntime` control action: record the request, decide, record the
50
+ * response. Exceptions from `decide` become a rejected response carrying the
51
+ * message. When the stream already says the runtime is unreachable (see
52
+ * `unreachable()`), the request is rejected without consulting `decide`.
53
+ */
54
+ control(body: RequestBody, decide: (request: RequestRecord) => ResponseBody | Promise<ResponseBody>, at?: RecordAt): Promise<ControlResult>;
55
+ /**
56
+ * Why a control cannot reach the runtime any more, derived from the stream
57
+ * itself: an `exited` response has been recorded (the runtime is gone) or a
58
+ * `dispose` request has (the session is being released). Null while the
59
+ * runtime is reachable. Adapters that record control outside `control()`
60
+ * apply it themselves; adapter-held liveness flags are not needed.
61
+ */
62
+ unreachable(): {
63
+ readonly kind: "rejected";
64
+ readonly reason: string;
65
+ } | null;
66
+ subscribe(observer: SessionObserver, cursor?: Cursor): Unsubscribe;
67
+ records(): readonly SessionRecord[];
68
+ graph(): SessionGraph;
69
+ /** Add a derived session and the edge that explains it; idempotent per (parent, child, via). */
70
+ link(edge: SessionEdge): void;
71
+ /** Add a session node whose lineage is not (yet) known: an id seen on the wire without an explaining edge. Never fabricate the edge. */
72
+ node(id: string): void;
23
73
  }
24
74
  export declare function createSessionKernel(sessionId?: string): SessionKernel;
25
75
  //# sourceMappingURL=session-kernel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-kernel.d.ts","sourceRoot":"","sources":["../../src/shared/session-kernel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,WAAW,EACZ,MAAM,yBAAyB,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,QAAQ,EAAE,eAAe,GAAG,WAAW,CAAC;IAClD,yEAAyE;IACzE,KAAK,IAAI,UAAU,GAAG,IAAI,CAAC;IAC3B,MAAM,IAAI,UAAU,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACvC,OAAO,IAAI,OAAO,CAAC;IACnB,wEAAwE;IACxE,IAAI,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnC,8DAA8D;IAC9D,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;CACpC;AAED,wBAAgB,mBAAmB,CAAC,SAAS,GAAE,MAAqB,GAAG,aAAa,CA+DnF"}
1
+ {"version":3,"file":"session-kernel.d.ts","sourceRoot":"","sources":["../../src/shared/session-kernel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,MAAM,EACN,SAAS,EACT,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,eAAe,EACf,aAAa,EACb,WAAW,EACZ,MAAM,yBAAyB,CAAC;AAEjC,gHAAgH;AAChH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC;IACnD,gHAAgH;IAChH,OAAO,CAAC,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG;QAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,aAAa,CAAC;IACjH,iDAAiD;IACjD,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,cAAc,CAAC;IAC9E;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5I;;;;;;OAMG;IACH,WAAW,IAAI;QAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC7E,SAAS,CAAC,QAAQ,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IACnE,OAAO,IAAI,SAAS,aAAa,EAAE,CAAC;IACpC,KAAK,IAAI,YAAY,CAAC;IACtB,gGAAgG;IAChG,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IAC9B,wIAAwI;IACxI,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAqBD,wBAAgB,mBAAmB,CAAC,SAAS,GAAE,MAAqB,GAAG,aAAa,CAgGnF"}