@botiverse/oar 0.0.11 → 0.1.1
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 +214 -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 +93 -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 +94 -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 +110 -23
- 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 +120 -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 +111 -40
- 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 -149
- 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 +86 -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 +179 -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 +59 -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 +4 -3
- 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,19 +1,22 @@
|
|
|
1
1
|
import { classifyFailure } from "../../shared/failure-class.js";
|
|
2
|
-
import { asRecord } from "../../shared/json.js";
|
|
2
|
+
import { asNumber, asRecord } from "../../shared/json.js";
|
|
3
3
|
import { codexItemInput, codexItemOutput } from "./item-detail.js";
|
|
4
4
|
import { codexReasoningContent } from "./reasoning.js";
|
|
5
5
|
/**
|
|
6
|
-
* The codex notification →
|
|
7
|
-
* runtimes/claude/projection.ts for the shape).
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
6
|
+
* The codex notification → record projection as a PURE FOLD (see
|
|
7
|
+
* runtimes/claude/projection.ts for the shape). Every notification becomes
|
|
8
|
+
* exactly one event command: verbatim `native`, views in oar's vocabulary,
|
|
9
|
+
* the runtime's own turn id as `spanId`. Plus, for collaboration items that
|
|
10
|
+
* name other threads, a link command for the session graph. Nothing is gated
|
|
11
|
+
* on turn state and nothing is dropped; the adapter applies the commands and
|
|
12
|
+
* separately owns the transport-only turn id (steer/abort identity), which is
|
|
13
|
+
* not part of the projection. Behavior is pinned by tests/replay against
|
|
14
|
+
* recorded fixtures.
|
|
11
15
|
*/
|
|
12
16
|
const TOOL_ITEM_TYPES = new Set(["commandExecution", "fileChange", "mcpToolCall", "webSearch"]);
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return { ...state, inTurn: true };
|
|
17
|
+
const COLLAB_ITEM_TYPES = new Set(["collabAgentToolCall", "collabToolCall", "subAgentActivity"]);
|
|
18
|
+
export function initialCodexProjection(rootThreadId) {
|
|
19
|
+
return { rootThreadId, lastErrorDetail: null };
|
|
17
20
|
}
|
|
18
21
|
// The runtime's own status is the truth: an interrupt that landed reports
|
|
19
22
|
// "interrupted"; one that lost the race to completion reports "completed".
|
|
@@ -29,7 +32,7 @@ function outcomeFromStatus(status) {
|
|
|
29
32
|
}
|
|
30
33
|
}
|
|
31
34
|
}
|
|
32
|
-
function
|
|
35
|
+
function toolViews(method, item) {
|
|
33
36
|
const itemType = typeof item?.type === "string" ? item.type : "";
|
|
34
37
|
if (!TOOL_ITEM_TYPES.has(itemType)) {
|
|
35
38
|
return [];
|
|
@@ -42,9 +45,17 @@ function toolEvents(method, item) {
|
|
|
42
45
|
: { kind: "tool_call_started", callId: itemId, tool: itemType, input }];
|
|
43
46
|
}
|
|
44
47
|
const output = item === null ? undefined : codexItemOutput(item);
|
|
48
|
+
const status = typeof item?.status === "string" ? item.status : undefined;
|
|
49
|
+
let result = undefined;
|
|
50
|
+
if (status === "completed") {
|
|
51
|
+
result = "ok";
|
|
52
|
+
}
|
|
53
|
+
else if (status === "failed") {
|
|
54
|
+
result = "failed";
|
|
55
|
+
}
|
|
45
56
|
return [output === undefined
|
|
46
|
-
? { kind: "tool_call_ended", callId: itemId }
|
|
47
|
-
: { kind: "tool_call_ended", callId: itemId, output }];
|
|
57
|
+
? { kind: "tool_call_ended", callId: itemId, ...(result === undefined ? {} : { result }) }
|
|
58
|
+
: { kind: "tool_call_ended", callId: itemId, output, ...(result === undefined ? {} : { result }) }];
|
|
48
59
|
}
|
|
49
60
|
function settleOutcome(state, status) {
|
|
50
61
|
const outcome = outcomeFromStatus(status);
|
|
@@ -54,45 +65,105 @@ function settleOutcome(state, status) {
|
|
|
54
65
|
}
|
|
55
66
|
return outcome;
|
|
56
67
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
68
|
+
/**
|
|
69
|
+
* `tokenUsage.total` accumulates over every model call of the thread's life
|
|
70
|
+
* (input 12.6k → 28.4k → 44.2k across three one-word turns, codex 0.154.0),
|
|
71
|
+
* so it is the running spend, not what the context holds. `tokenUsage.last`
|
|
72
|
+
* is the most recent model call, and `modelContextWindow` the window it fit
|
|
73
|
+
* in; those two are the context reading. Codex's own occupancy figure is
|
|
74
|
+
* `last.total_tokens` (`TokenUsage::tokens_in_context_window`, protocol.rs
|
|
75
|
+
* at 4f39251a; the TUI's status card reads it off `last_token_usage`; its
|
|
76
|
+
* percent also subtracts a 12k baseline). oar reads the same field,
|
|
77
|
+
* `last.totalTokens`: the last call's input (cached tokens included) plus its
|
|
78
|
+
* output, which is what the context holds once the reply is in, matching
|
|
79
|
+
* the runtime's own reading rather than undercounting by the last output.
|
|
80
|
+
* When `last` is absent (older builds) the occupancy is unknown: the
|
|
81
|
+
* cumulative input stands in as `tokens` and the window and percent are
|
|
82
|
+
* null: the cumulative total is never read against the window.
|
|
83
|
+
*/
|
|
84
|
+
function usageViews(params) {
|
|
85
|
+
const tokenUsage = asRecord(params.tokenUsage);
|
|
86
|
+
const total = asRecord(tokenUsage?.total);
|
|
87
|
+
if (total === null) {
|
|
88
|
+
return [];
|
|
66
89
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
return
|
|
90
|
+
const input = asNumber(total.inputTokens);
|
|
91
|
+
const output = asNumber(total.outputTokens);
|
|
92
|
+
const tokens = input === null || output === null ? {} : { tokens: { input, output } };
|
|
93
|
+
const last = asRecord(tokenUsage?.last);
|
|
94
|
+
if (last === null) {
|
|
95
|
+
return [{ kind: "usage", usage: { context: { tokens: input, contextWindow: null, percent: null }, ...tokens } }];
|
|
73
96
|
}
|
|
74
|
-
|
|
75
|
-
|
|
97
|
+
const contextTokens = asNumber(last.totalTokens);
|
|
98
|
+
const contextWindow = asNumber(tokenUsage?.modelContextWindow);
|
|
99
|
+
const percent = contextTokens === null || contextWindow === null || contextWindow <= 0
|
|
100
|
+
? null
|
|
101
|
+
: Math.round((contextTokens / contextWindow) * 100);
|
|
102
|
+
return [{ kind: "usage", usage: { context: { tokens: contextTokens, contextWindow, percent }, ...tokens } }];
|
|
103
|
+
}
|
|
104
|
+
/** Edges a collaboration item establishes: the root (sender) thread spawned or addressed the named threads. */
|
|
105
|
+
function collabEdges(state, item) {
|
|
106
|
+
if (item === null || typeof item.type !== "string" || !COLLAB_ITEM_TYPES.has(item.type)) {
|
|
107
|
+
return [];
|
|
76
108
|
}
|
|
109
|
+
const parent = typeof item.senderThreadId === "string" ? item.senderThreadId : state.rootThreadId;
|
|
110
|
+
const receivers = Array.isArray(item.receiverThreadIds) ? item.receiverThreadIds : [];
|
|
111
|
+
const children = [...receivers, item.agentThreadId]
|
|
112
|
+
.filter((id) => typeof id === "string" && id.length > 0 && id !== parent);
|
|
113
|
+
return children.map((child) => ({ parent, child, via: "tool_call" }));
|
|
114
|
+
}
|
|
115
|
+
function spanIdOf(params) {
|
|
116
|
+
if (typeof params.turnId === "string") {
|
|
117
|
+
return params.turnId;
|
|
118
|
+
}
|
|
119
|
+
const turnId = asRecord(params.turn)?.id;
|
|
120
|
+
return typeof turnId === "string" ? turnId : undefined;
|
|
121
|
+
}
|
|
122
|
+
function viewsFor(state, method, params) {
|
|
77
123
|
switch (method) {
|
|
78
124
|
case "item/agentMessage/delta":
|
|
79
|
-
return typeof params.delta === "string"
|
|
80
|
-
? { state, commands: emits([{ kind: "text_delta", text: params.delta }]) }
|
|
81
|
-
: { state, commands: [] };
|
|
125
|
+
return typeof params.delta === "string" ? [{ kind: "text_delta", text: params.delta }] : [];
|
|
82
126
|
case "rawResponseItem/completed": {
|
|
83
127
|
const content = codexReasoningContent(asRecord(params.item));
|
|
84
|
-
return content === null ?
|
|
128
|
+
return content === null ? [] : [{ kind: "reasoning", content }];
|
|
85
129
|
}
|
|
86
130
|
case "item/started":
|
|
87
131
|
case "item/completed":
|
|
88
|
-
return
|
|
132
|
+
return toolViews(method, asRecord(params.item));
|
|
89
133
|
case "turn/completed":
|
|
90
|
-
return {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
};
|
|
134
|
+
return [{ kind: "turn_ended", outcome: settleOutcome(state, asRecord(params.turn)?.status) }];
|
|
135
|
+
case "thread/tokenUsage/updated":
|
|
136
|
+
return usageViews(params);
|
|
94
137
|
default:
|
|
95
|
-
return
|
|
138
|
+
return [];
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/** Fold one codex notification into the next state plus commands. */
|
|
142
|
+
export function foldCodexNotification(state, method, params) {
|
|
143
|
+
const threadId = typeof params.threadId === "string" ? params.threadId : state.rootThreadId;
|
|
144
|
+
const spanId = spanIdOf(params);
|
|
145
|
+
const event = {
|
|
146
|
+
kind: "event",
|
|
147
|
+
body: { type: method, native: params, views: viewsFor(state, method, params) },
|
|
148
|
+
...(spanId === undefined ? {} : { spanId }),
|
|
149
|
+
...(threadId === state.rootThreadId ? {} : { sessionId: threadId }),
|
|
150
|
+
};
|
|
151
|
+
const links = method === "item/started" || method === "item/completed"
|
|
152
|
+
? collabEdges(state, asRecord(params.item)).map((edge) => ({ kind: "link", edge }))
|
|
153
|
+
: [];
|
|
154
|
+
let next = state;
|
|
155
|
+
if (method === "error") {
|
|
156
|
+
const error = asRecord(params.error);
|
|
157
|
+
const message = typeof error?.message === "string" ? error.message : "";
|
|
158
|
+
const details = typeof error?.additionalDetails === "string" ? error.additionalDetails : "";
|
|
159
|
+
const combined = [message, details].filter((part) => part.length > 0).join(": ");
|
|
160
|
+
if (combined.length > 0) {
|
|
161
|
+
next = { ...state, lastErrorDetail: combined };
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
else if (method === "turn/completed" && threadId === state.rootThreadId) {
|
|
165
|
+
next = { ...state, lastErrorDetail: null };
|
|
96
166
|
}
|
|
167
|
+
return { state: next, commands: [event, ...links] };
|
|
97
168
|
}
|
|
98
169
|
//# sourceMappingURL=projection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projection.js","sourceRoot":"","sources":["../../../src/runtimes/codex/projection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"projection.js","sourceRoot":"","sources":["../../../src/runtimes/codex/projection.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAmB,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;;;;;;;;;GAUG;AAEH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;AAChG,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,qBAAqB,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC,CAAC;AAsBjG,MAAM,UAAU,sBAAsB,CAAC,YAAoB;IACzD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;AACjD,CAAC;AAED,0EAA0E;AAC1E,2EAA2E;AAC3E,SAAS,iBAAiB,CAAC,MAAe;IACxC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,aAAa;YAChB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7B,KAAK,WAAW;YACd,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAC/B,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,MAAM,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;QACtE,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,MAAc,EAAE,IAAuB;IACxD,MAAM,QAAQ,GAAG,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,IAAI,EAAE,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC/D,OAAO,CAAC,KAAK,KAAK,SAAS;gBACzB,CAAC,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/D,CAAC,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,OAAO,IAAI,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,IAAI,MAAM,GAAgC,SAAS,CAAC;IACpD,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAC3B,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;SAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,GAAG,QAAQ,CAAC;IACpB,CAAC;IACD,OAAO,CAAC,MAAM,KAAK,SAAS;YAC1B,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;YAC1F,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AACxG,CAAC;AAED,SAAS,aAAa,CAAC,KAA2B,EAAE,MAAe;IACjE,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;QAChE,MAAM,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,eAAe,EAAE,CAAC;QAC7D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;IACtE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,UAAU,CAAC,MAAkB;IACpC,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC1C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,KAAK,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC;IACtF,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACxC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC;IACnH,CAAC;IACD,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,IAAI,IAAI,aAAa,IAAI,CAAC;QACpF,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,GAAG,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC;IACtD,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC;AAC/G,CAAC;AAED,+GAA+G;AAC/G,SAAS,WAAW,CAAC,KAA2B,EAAE,IAAuB;IACvE,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACxF,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;IAClG,MAAM,SAAS,GAAc,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;IACjG,MAAM,QAAQ,GAAG,CAAC,GAAG,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC;SAChD,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC,CAAC;IAC1F,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,WAAoB,EAAE,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,QAAQ,CAAC,MAAkB;IAClC,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;IACzC,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED,SAAS,QAAQ,CAAC,KAA2B,EAAE,MAAc,EAAE,MAAkB;IAC/E,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,yBAAyB;YAC5B,OAAO,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9F,KAAK,2BAA2B,CAAC,CAAC,CAAC;YACjC,MAAM,OAAO,GAAG,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7D,OAAO,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,KAAK,cAAc,CAAC;QACpB,KAAK,gBAAgB;YACnB,OAAO,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,KAAK,gBAAgB;YACnB,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAChG,KAAK,2BAA2B;YAC9B,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5B;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,qBAAqB,CACnC,KAA2B,EAC3B,MAAc,EACd,MAAkB;IAElB,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;IAC5F,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,KAAK,GAAsB;QAC/B,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;QAC9E,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3C,GAAG,CAAC,QAAQ,KAAK,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;KACpE,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,KAAK,cAAc,IAAI,MAAM,KAAK,gBAAgB;QACpE,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAqB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACtG,CAAC,CAAC,EAAE,CAAC;IAEP,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,OAAO,KAAK,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,MAAM,OAAO,GAAG,OAAO,KAAK,EAAE,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,MAAM,QAAQ,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,GAAG,EAAE,GAAG,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC;QACjD,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,KAAK,gBAAgB,IAAI,QAAQ,KAAK,KAAK,CAAC,YAAY,EAAE,CAAC;QAC1E,IAAI,GAAG,EAAE,GAAG,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;IAC7C,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;AACtD,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { ControlResult, RequestBody, RequestRecord, ResponseBody } from "../../contracts/session.js";
|
|
2
|
+
import type { JsonRecord } from "../../shared/json.js";
|
|
3
|
+
import type { SessionKernel } from "../../shared/session-kernel.js";
|
|
4
|
+
import type { AppServerClient } from "./app-server-client.js";
|
|
5
|
+
export interface RpcControlPlan {
|
|
6
|
+
readonly body: RequestBody;
|
|
7
|
+
/** Runtime-specific refusal before sending (busy, nothing active); null means proceed. May reserve adapter state. Reachability is not its job. */
|
|
8
|
+
readonly gate: (request: RequestRecord) => ResponseBody | null;
|
|
9
|
+
readonly method: string;
|
|
10
|
+
readonly params: () => JsonRecord;
|
|
11
|
+
readonly onReply: (reply: JsonRecord) => ResponseBody;
|
|
12
|
+
readonly onError: (message: string) => ResponseBody;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* A control action backed by one app-server RPC: record the request; when the
|
|
16
|
+
* stream already says the runtime is unreachable (`kernel.unreachable()`:
|
|
17
|
+
* exited or disposed) record that rejection without running the plan; if the
|
|
18
|
+
* plan's gate refuses, record that; otherwise send and record the reply AS
|
|
19
|
+
* the reply line is read (synchronously, through the client's onSettled hook)
|
|
20
|
+
* so the response sits in the stream before any notification codex wrote
|
|
21
|
+
* after it; a promise continuation would land after notifications from the
|
|
22
|
+
* same chunk.
|
|
23
|
+
*/
|
|
24
|
+
export declare function rpcControl(kernel: SessionKernel, client: AppServerClient, plan: RpcControlPlan): Promise<ControlResult>;
|
|
25
|
+
/**
|
|
26
|
+
* The open RPC, with its failure named after the method (a refused resume
|
|
27
|
+
* must say `thread/resume`: "no rollout found for thread id …" alone does
|
|
28
|
+
* not) and the app-server that was started for it killed.
|
|
29
|
+
*/
|
|
30
|
+
export declare function openThread(client: AppServerClient, method: "thread/start" | "thread/resume", send: () => Promise<JsonRecord>): Promise<JsonRecord>;
|
|
31
|
+
//# sourceMappingURL=rpc-control.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc-control.d.ts","sourceRoot":"","sources":["../../../src/runtimes/codex/rpc-control.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EAEb,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,kJAAkJ;IAClJ,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,YAAY,GAAG,IAAI,CAAC;IAC/D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,UAAU,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,YAAY,CAAC;IACtD,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,YAAY,CAAC;CACrD;AAED;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,aAAa,CAAC,CAuBxB;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,cAAc,GAAG,eAAe,EACxC,IAAI,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,GAC9B,OAAO,CAAC,UAAU,CAAC,CAQrB"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A control action backed by one app-server RPC: record the request; when the
|
|
3
|
+
* stream already says the runtime is unreachable (`kernel.unreachable()`:
|
|
4
|
+
* exited or disposed) record that rejection without running the plan; if the
|
|
5
|
+
* plan's gate refuses, record that; otherwise send and record the reply AS
|
|
6
|
+
* the reply line is read (synchronously, through the client's onSettled hook)
|
|
7
|
+
* so the response sits in the stream before any notification codex wrote
|
|
8
|
+
* after it; a promise continuation would land after notifications from the
|
|
9
|
+
* same chunk.
|
|
10
|
+
*/
|
|
11
|
+
export async function rpcControl(kernel, client, plan) {
|
|
12
|
+
const blocked = kernel.unreachable();
|
|
13
|
+
const request = kernel.request("toRuntime", plan.body);
|
|
14
|
+
const refused = blocked ?? plan.gate(request);
|
|
15
|
+
if (refused !== null) {
|
|
16
|
+
return { request, response: kernel.respond(request.id, refused) };
|
|
17
|
+
}
|
|
18
|
+
const { promise, resolve } = Promise.withResolvers();
|
|
19
|
+
let recorded = false;
|
|
20
|
+
const record = (decided) => {
|
|
21
|
+
if (!recorded) {
|
|
22
|
+
recorded = true;
|
|
23
|
+
resolve(kernel.respond(request.id, decided));
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
try {
|
|
27
|
+
await client.request(plan.method, plan.params(), (outcome) => {
|
|
28
|
+
record(outcome.kind === "result" ? plan.onReply(outcome.result) : plan.onError(outcome.error.message));
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
record(plan.onError(error instanceof Error ? error.message : String(error)));
|
|
33
|
+
}
|
|
34
|
+
return { request, response: await promise };
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The open RPC, with its failure named after the method (a refused resume
|
|
38
|
+
* must say `thread/resume`: "no rollout found for thread id …" alone does
|
|
39
|
+
* not) and the app-server that was started for it killed.
|
|
40
|
+
*/
|
|
41
|
+
export async function openThread(client, method, send) {
|
|
42
|
+
try {
|
|
43
|
+
return await send();
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
client.kill();
|
|
47
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
48
|
+
throw new Error(`codex ${method} failed: ${message}`, { cause: error });
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=rpc-control.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc-control.js","sourceRoot":"","sources":["../../../src/runtimes/codex/rpc-control.ts"],"names":[],"mappings":"AAqBA;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAqB,EACrB,MAAuB,EACvB,IAAoB;IAEpB,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC;IACpE,CAAC;IACD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,aAAa,EAAkB,CAAC;IACrE,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,MAAM,GAAG,CAAC,OAAqB,EAAQ,EAAE;QAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,IAAI,CAAC;YAChB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE;YAC3D,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACzG,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,EAAE,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAuB,EACvB,MAAwC,EACxC,IAA+B;IAE/B,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,SAAS,MAAM,YAAY,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/runtimes/codex/session.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/runtimes/codex/session.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAKV,YAAY,EACb,MAAM,4BAA4B,CAAC;AA0CpC,eAAO,MAAM,YAAY,EAAE,YA0P1B,CAAC"}
|