@rkat/web 0.4.13 → 0.5.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/dist/events.d.ts +1 -1
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +1 -1
- package/dist/events.js.map +1 -1
- package/dist/generated/events.d.ts +221 -0
- package/dist/generated/events.d.ts.map +1 -0
- package/dist/generated/events.js +36 -0
- package/dist/generated/events.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mob.d.ts +48 -11
- package/dist/mob.d.ts.map +1 -1
- package/dist/mob.js +99 -14
- package/dist/mob.js.map +1 -1
- package/dist/runtime.d.ts +30 -9
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +39 -10
- package/dist/runtime.js.map +1 -1
- package/dist/session.d.ts +9 -6
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +51 -6
- package/dist/session.js.map +1 -1
- package/dist/types.d.ts +102 -74
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +3 -7
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/proxy/cli.mjs +0 -0
- package/wasm/meerkat_web_runtime.d.ts +77 -28
- package/wasm/meerkat_web_runtime.js +179 -42
- package/wasm/meerkat_web_runtime_bg.wasm +0 -0
- package/wasm/meerkat_web_runtime_bg.wasm.d.ts +10 -1
- package/wasm/package.json +1 -1
package/dist/runtime.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export interface WasmModule {
|
|
|
16
16
|
register_tool_callback: (name: string, description: string, schemaJson: string, callback: (args: string) => Promise<string>) => void;
|
|
17
17
|
register_js_tool: (name: string, description: string, schemaJson: string) => void;
|
|
18
18
|
clear_tool_callbacks: () => void;
|
|
19
|
+
destroy_runtime: () => void;
|
|
19
20
|
create_session_simple: (configJson: string) => number;
|
|
20
21
|
create_session: (mobpackBytes: Uint8Array, configJson: string) => number;
|
|
21
22
|
start_turn: (handle: number, prompt: string, optionsJson: string) => Promise<string>;
|
|
@@ -33,10 +34,18 @@ export interface WasmModule {
|
|
|
33
34
|
mob_retire: (mobId: string, meerkatId: string) => Promise<void>;
|
|
34
35
|
mob_wire: (mobId: string, a: string, b: string) => Promise<void>;
|
|
35
36
|
mob_unwire: (mobId: string, a: string, b: string) => Promise<void>;
|
|
37
|
+
mob_wire_peer?: (mobId: string, member: string, peerJson: string) => Promise<void>;
|
|
38
|
+
mob_unwire_peer?: (mobId: string, member: string, peerJson: string) => Promise<void>;
|
|
39
|
+
mob_wire_target: (mobId: string, local: string, targetJson: string) => Promise<void>;
|
|
40
|
+
mob_unwire_target: (mobId: string, local: string, targetJson: string) => Promise<void>;
|
|
36
41
|
mob_list_members: (mobId: string) => Promise<string>;
|
|
37
42
|
mob_append_system_context: (mobId: string, meerkatId: string, requestJson: string) => Promise<string>;
|
|
38
|
-
|
|
39
|
-
|
|
43
|
+
mob_member_send: (mobId: string, meerkatId: string, requestJson: string) => Promise<string>;
|
|
44
|
+
mob_member_status: (mobId: string, meerkatId: string) => Promise<string>;
|
|
45
|
+
mob_respawn: (mobId: string, meerkatId: string, initialMessage?: string) => Promise<string>;
|
|
46
|
+
mob_force_cancel: (mobId: string, meerkatId: string) => Promise<void>;
|
|
47
|
+
mob_spawn_helper: (mobId: string, requestJson: string) => Promise<string>;
|
|
48
|
+
mob_fork_helper: (mobId: string, requestJson: string) => Promise<string>;
|
|
40
49
|
mob_run_flow: (mobId: string, flowId: string, paramsJson: string) => Promise<string>;
|
|
41
50
|
mob_flow_status: (mobId: string, runId: string) => Promise<string>;
|
|
42
51
|
mob_cancel_flow: (mobId: string, runId: string) => Promise<void>;
|
|
@@ -51,6 +60,7 @@ export interface WasmModule {
|
|
|
51
60
|
/** Entry point for the Meerkat WASM runtime in the browser. */
|
|
52
61
|
export declare class MeerkatRuntime {
|
|
53
62
|
private wasm;
|
|
63
|
+
private destroyed;
|
|
54
64
|
private constructor();
|
|
55
65
|
/**
|
|
56
66
|
* Initialize the WASM runtime with the given configuration.
|
|
@@ -81,10 +91,12 @@ export declare class MeerkatRuntime {
|
|
|
81
91
|
/**
|
|
82
92
|
* Register a tool callback on the WASM module.
|
|
83
93
|
*
|
|
84
|
-
*
|
|
85
|
-
* the tool dispatcher is built during initialization.
|
|
94
|
+
* Runtime state must already be initialized.
|
|
86
95
|
*
|
|
87
|
-
*
|
|
96
|
+
* Prefer the instance method when possible so registration is clearly scoped
|
|
97
|
+
* to the active runtime.
|
|
98
|
+
*
|
|
99
|
+
* @param wasm - The WASM module used by the active runtime.
|
|
88
100
|
* @param name - Tool name.
|
|
89
101
|
* @param description - Human-readable tool description.
|
|
90
102
|
* @param schema - JSON Schema for tool input.
|
|
@@ -94,12 +106,13 @@ export declare class MeerkatRuntime {
|
|
|
94
106
|
/**
|
|
95
107
|
* Register a fire-and-forget tool on the WASM module.
|
|
96
108
|
*
|
|
97
|
-
*
|
|
109
|
+
* Runtime state must already be initialized.
|
|
98
110
|
*
|
|
99
111
|
* When the agent calls this tool, it receives `"acknowledged"` immediately
|
|
100
112
|
* and continues processing. The host should watch `ToolCallRequested` events
|
|
101
113
|
* in the event stream to capture args and act on them. Any response (e.g.
|
|
102
|
-
* human approval) comes back
|
|
114
|
+
* human approval) comes back through the normal session or mob member send
|
|
115
|
+
* APIs.
|
|
103
116
|
*
|
|
104
117
|
* @param wasm - The WASM module (same one passed to init).
|
|
105
118
|
* @param name - Tool name the agent will call.
|
|
@@ -107,15 +120,23 @@ export declare class MeerkatRuntime {
|
|
|
107
120
|
* @param schema - JSON Schema for tool input parameters.
|
|
108
121
|
*/
|
|
109
122
|
static registerFireAndForgetTool(wasm: WasmModule, name: string, description: string, schema: JsonSchema): void;
|
|
110
|
-
/** Clear all registered tool callbacks on the WASM
|
|
123
|
+
/** Clear all registered tool callbacks on the active WASM runtime. */
|
|
111
124
|
static clearTools(wasm: WasmModule): void;
|
|
125
|
+
/** Tear down the embedded runtime and invalidate browser-side handles. */
|
|
126
|
+
destroy(): void;
|
|
127
|
+
/** Register a tool callback on this initialized runtime instance. */
|
|
128
|
+
registerTool(name: string, description: string, schema: JsonSchema, callback: ToolCallback): void;
|
|
129
|
+
/** Register a fire-and-forget tool on this initialized runtime instance. */
|
|
130
|
+
registerFireAndForgetTool(name: string, description: string, schema: JsonSchema): void;
|
|
131
|
+
/** Clear all runtime-scoped JS tools from this initialized runtime instance. */
|
|
132
|
+
clearTools(): void;
|
|
112
133
|
/** Create a mob from a definition. */
|
|
113
134
|
createMob(definition: MobDefinition): Promise<Mob>;
|
|
114
135
|
/** List all active mobs. */
|
|
115
136
|
listMobs(): Promise<MobStatus[]>;
|
|
116
137
|
/** Wire two agents across different mobs for cross-mob comms. */
|
|
117
138
|
wireCrossMob(mobA: string, meerkatA: string, mobB: string, meerkatB: string): Promise<void>;
|
|
118
|
-
/** Create a direct
|
|
139
|
+
/** Create a direct session façade backed by a real runtime session identity. */
|
|
119
140
|
createSession(config: SessionConfig): Session;
|
|
120
141
|
/** Inspect a mobpack archive without loading it. */
|
|
121
142
|
inspectMobpack(mobpackBytes: Uint8Array): unknown;
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Mob } from './mob.js';
|
|
2
2
|
import { Session } from './session.js';
|
|
3
3
|
/** Expected WASM runtime version — must match the compiled binary. */
|
|
4
|
-
const EXPECTED_VERSION = '0.
|
|
4
|
+
const EXPECTED_VERSION = '0.5.0';
|
|
5
5
|
/**
|
|
6
6
|
* Convert a camelCase config object to the snake_case expected by WASM.
|
|
7
7
|
*
|
|
@@ -32,7 +32,7 @@ function sessionToWasm(config) {
|
|
|
32
32
|
openai_base_url: config.openaiBaseUrl,
|
|
33
33
|
gemini_base_url: config.geminiBaseUrl,
|
|
34
34
|
comms_name: config.commsName,
|
|
35
|
-
|
|
35
|
+
keep_alive: config.keepAlive,
|
|
36
36
|
labels: config.labels,
|
|
37
37
|
additional_instructions: config.additionalInstructions,
|
|
38
38
|
app_context: config.appContext,
|
|
@@ -41,6 +41,7 @@ function sessionToWasm(config) {
|
|
|
41
41
|
/** Entry point for the Meerkat WASM runtime in the browser. */
|
|
42
42
|
export class MeerkatRuntime {
|
|
43
43
|
wasm;
|
|
44
|
+
destroyed = false;
|
|
44
45
|
constructor(wasm) {
|
|
45
46
|
this.wasm = wasm;
|
|
46
47
|
}
|
|
@@ -103,10 +104,12 @@ export class MeerkatRuntime {
|
|
|
103
104
|
/**
|
|
104
105
|
* Register a tool callback on the WASM module.
|
|
105
106
|
*
|
|
106
|
-
*
|
|
107
|
-
* the tool dispatcher is built during initialization.
|
|
107
|
+
* Runtime state must already be initialized.
|
|
108
108
|
*
|
|
109
|
-
*
|
|
109
|
+
* Prefer the instance method when possible so registration is clearly scoped
|
|
110
|
+
* to the active runtime.
|
|
111
|
+
*
|
|
112
|
+
* @param wasm - The WASM module used by the active runtime.
|
|
110
113
|
* @param name - Tool name.
|
|
111
114
|
* @param description - Human-readable tool description.
|
|
112
115
|
* @param schema - JSON Schema for tool input.
|
|
@@ -118,12 +121,13 @@ export class MeerkatRuntime {
|
|
|
118
121
|
/**
|
|
119
122
|
* Register a fire-and-forget tool on the WASM module.
|
|
120
123
|
*
|
|
121
|
-
*
|
|
124
|
+
* Runtime state must already be initialized.
|
|
122
125
|
*
|
|
123
126
|
* When the agent calls this tool, it receives `"acknowledged"` immediately
|
|
124
127
|
* and continues processing. The host should watch `ToolCallRequested` events
|
|
125
128
|
* in the event stream to capture args and act on them. Any response (e.g.
|
|
126
|
-
* human approval) comes back
|
|
129
|
+
* human approval) comes back through the normal session or mob member send
|
|
130
|
+
* APIs.
|
|
127
131
|
*
|
|
128
132
|
* @param wasm - The WASM module (same one passed to init).
|
|
129
133
|
* @param name - Tool name the agent will call.
|
|
@@ -133,10 +137,29 @@ export class MeerkatRuntime {
|
|
|
133
137
|
static registerFireAndForgetTool(wasm, name, description, schema) {
|
|
134
138
|
wasm.register_js_tool(name, description, JSON.stringify(schema));
|
|
135
139
|
}
|
|
136
|
-
/** Clear all registered tool callbacks on the WASM
|
|
140
|
+
/** Clear all registered tool callbacks on the active WASM runtime. */
|
|
137
141
|
static clearTools(wasm) {
|
|
138
142
|
wasm.clear_tool_callbacks();
|
|
139
143
|
}
|
|
144
|
+
/** Tear down the embedded runtime and invalidate browser-side handles. */
|
|
145
|
+
destroy() {
|
|
146
|
+
if (this.destroyed)
|
|
147
|
+
return;
|
|
148
|
+
this.wasm.destroy_runtime();
|
|
149
|
+
this.destroyed = true;
|
|
150
|
+
}
|
|
151
|
+
/** Register a tool callback on this initialized runtime instance. */
|
|
152
|
+
registerTool(name, description, schema, callback) {
|
|
153
|
+
this.wasm.register_tool_callback(name, description, JSON.stringify(schema), async (args) => JSON.stringify(await callback(args)));
|
|
154
|
+
}
|
|
155
|
+
/** Register a fire-and-forget tool on this initialized runtime instance. */
|
|
156
|
+
registerFireAndForgetTool(name, description, schema) {
|
|
157
|
+
this.wasm.register_js_tool(name, description, JSON.stringify(schema));
|
|
158
|
+
}
|
|
159
|
+
/** Clear all runtime-scoped JS tools from this initialized runtime instance. */
|
|
160
|
+
clearTools() {
|
|
161
|
+
this.wasm.clear_tool_callbacks();
|
|
162
|
+
}
|
|
140
163
|
/** Create a mob from a definition. */
|
|
141
164
|
async createMob(definition) {
|
|
142
165
|
const mobId = await this.wasm.mob_create(JSON.stringify(definition));
|
|
@@ -145,10 +168,16 @@ export class MeerkatRuntime {
|
|
|
145
168
|
mob_retire: this.wasm.mob_retire,
|
|
146
169
|
mob_wire: this.wasm.mob_wire,
|
|
147
170
|
mob_unwire: this.wasm.mob_unwire,
|
|
171
|
+
mob_wire_target: this.wasm.mob_wire_target,
|
|
172
|
+
mob_unwire_target: this.wasm.mob_unwire_target,
|
|
148
173
|
mob_list_members: this.wasm.mob_list_members,
|
|
149
174
|
mob_append_system_context: this.wasm.mob_append_system_context,
|
|
150
|
-
|
|
175
|
+
mob_member_send: this.wasm.mob_member_send,
|
|
176
|
+
mob_member_status: this.wasm.mob_member_status,
|
|
151
177
|
mob_respawn: this.wasm.mob_respawn,
|
|
178
|
+
mob_force_cancel: this.wasm.mob_force_cancel,
|
|
179
|
+
mob_spawn_helper: this.wasm.mob_spawn_helper,
|
|
180
|
+
mob_fork_helper: this.wasm.mob_fork_helper,
|
|
152
181
|
mob_status: this.wasm.mob_status,
|
|
153
182
|
mob_lifecycle: this.wasm.mob_lifecycle,
|
|
154
183
|
mob_events: this.wasm.mob_events,
|
|
@@ -170,7 +199,7 @@ export class MeerkatRuntime {
|
|
|
170
199
|
async wireCrossMob(mobA, meerkatA, mobB, meerkatB) {
|
|
171
200
|
await this.wasm.wire_cross_mob(mobA, meerkatA, mobB, meerkatB);
|
|
172
201
|
}
|
|
173
|
-
/** Create a direct
|
|
202
|
+
/** Create a direct session façade backed by a real runtime session identity. */
|
|
174
203
|
createSession(config) {
|
|
175
204
|
const handle = this.wasm.create_session_simple(JSON.stringify(sessionToWasm(config)));
|
|
176
205
|
return new Session(handle, this.wasm.start_turn, this.wasm.get_session_state, this.wasm.destroy_session, this.wasm.poll_events, this.wasm.append_system_context);
|
package/dist/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAWvC,sEAAsE;AACtE,MAAM,gBAAgB,GAAG,
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/session.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EventSubscription } from './events.js';
|
|
2
|
-
import type { ContentBlock, TurnOptions, TurnResult,
|
|
2
|
+
import type { ContentBlock, TurnOptions, TurnResult, SessionEvent, SessionState, AppendSystemContextOptions, AppendSystemContextResult } from './types.js';
|
|
3
3
|
type StartTurnFn = (handle: number, prompt: string, options_json: string) => Promise<string>;
|
|
4
4
|
type GetSessionStateFn = (handle: number) => string;
|
|
5
5
|
type DestroySessionFn = (handle: number) => void;
|
|
@@ -7,7 +7,7 @@ type PollEventsFn = (handle: number) => string;
|
|
|
7
7
|
type AppendSystemContextFn = (handle: number, request_json: string) => string;
|
|
8
8
|
/** A direct (non-mob) agent session. */
|
|
9
9
|
export declare class Session {
|
|
10
|
-
/** @internal —
|
|
10
|
+
/** @internal — browser-local façade handle, not the authoritative session ID. */
|
|
11
11
|
readonly handle: number;
|
|
12
12
|
private startTurnFn;
|
|
13
13
|
private getStateFn;
|
|
@@ -15,14 +15,17 @@ export declare class Session {
|
|
|
15
15
|
private pollFn;
|
|
16
16
|
private appendSystemContextFn;
|
|
17
17
|
private destroyed;
|
|
18
|
+
private cachedSessionId?;
|
|
18
19
|
/** @internal — use MeerkatRuntime.createSession() instead. */
|
|
19
20
|
constructor(handle: number, startTurnFn: StartTurnFn, getStateFn: GetSessionStateFn, destroyFn: DestroySessionFn, pollFn: PollEventsFn, appendSystemContextFn: AppendSystemContextFn);
|
|
20
21
|
/** Run a turn through the agent loop. */
|
|
21
22
|
turn(prompt: string | ContentBlock[], options?: TurnOptions): Promise<TurnResult>;
|
|
22
|
-
/** Get the current session state. */
|
|
23
|
-
getState():
|
|
23
|
+
/** Get the current runtime-backed session state. */
|
|
24
|
+
getState(): SessionState;
|
|
25
|
+
/** The authoritative runtime session ID behind this local browser handle. */
|
|
26
|
+
get sessionId(): string;
|
|
24
27
|
/** Poll buffered agent events from the last turn. */
|
|
25
|
-
pollEvents():
|
|
28
|
+
pollEvents(): SessionEvent[];
|
|
26
29
|
/**
|
|
27
30
|
* Observe session events through the direct handle's buffered event source.
|
|
28
31
|
*
|
|
@@ -30,7 +33,7 @@ export declare class Session {
|
|
|
30
33
|
* the same underlying event buffer as `pollEvents()`, so callers should use
|
|
31
34
|
* either `pollEvents()` or the returned subscription, not both at once.
|
|
32
35
|
*/
|
|
33
|
-
subscribe(): EventSubscription<
|
|
36
|
+
subscribe(): EventSubscription<SessionEvent>;
|
|
34
37
|
/** Stage runtime system context for application at the next LLM boundary. */
|
|
35
38
|
appendSystemContext(options: AppendSystemContextOptions): AppendSystemContextResult;
|
|
36
39
|
/** Destroy the session and release resources. */
|
package/dist/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,UAAU,EACV,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,0BAA0B,EAC1B,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAGpB,KAAK,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7F,KAAK,iBAAiB,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;AACpD,KAAK,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;AACjD,KAAK,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;AAC/C,KAAK,qBAAqB,GAAG,CAC3B,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,KACjB,MAAM,CAAC;AAEZ,wCAAwC;AACxC,qBAAa,OAAO;IAClB,iFAAiF;IACjF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,eAAe,CAAC,CAAS;IAEjC,8DAA8D;gBAE5D,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,iBAAiB,EAC7B,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,YAAY,EACpB,qBAAqB,EAAE,qBAAqB;IAU9C,yCAAyC;IACnC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IA0BvF,oDAAoD;IACpD,QAAQ,IAAI,YAAY;IAOxB,6EAA6E;IAC7E,IAAI,SAAS,IAAI,MAAM,CAGtB;IAED,qDAAqD;IACrD,UAAU,IAAI,YAAY,EAAE;IAO5B;;;;;;OAMG;IACH,SAAS,IAAI,iBAAiB,CAAC,YAAY,CAAC;IAQ5C,6EAA6E;IAC7E,mBAAmB,CACjB,OAAO,EAAE,0BAA0B,GAClC,yBAAyB;IAa5B,iDAAiD;IACjD,OAAO,IAAI,IAAI;IAcf,+CAA+C;IAC/C,IAAI,WAAW,IAAI,OAAO,CAEzB;CACF"}
|
package/dist/session.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EventSubscription } from './events.js';
|
|
2
2
|
/** A direct (non-mob) agent session. */
|
|
3
3
|
export class Session {
|
|
4
|
-
/** @internal —
|
|
4
|
+
/** @internal — browser-local façade handle, not the authoritative session ID. */
|
|
5
5
|
handle;
|
|
6
6
|
startTurnFn;
|
|
7
7
|
getStateFn;
|
|
@@ -9,6 +9,7 @@ export class Session {
|
|
|
9
9
|
pollFn;
|
|
10
10
|
appendSystemContextFn;
|
|
11
11
|
destroyed = false;
|
|
12
|
+
cachedSessionId;
|
|
12
13
|
/** @internal — use MeerkatRuntime.createSession() instead. */
|
|
13
14
|
constructor(handle, startTurnFn, getStateFn, destroyFn, pollFn, appendSystemContextFn) {
|
|
14
15
|
this.handle = handle;
|
|
@@ -41,11 +42,19 @@ export class Session {
|
|
|
41
42
|
response: typeof parsed.response === 'string' ? parsed.response : text,
|
|
42
43
|
};
|
|
43
44
|
}
|
|
44
|
-
/** Get the current session state. */
|
|
45
|
+
/** Get the current runtime-backed session state. */
|
|
45
46
|
getState() {
|
|
46
47
|
if (this.destroyed)
|
|
47
48
|
throw new Error('Session has been destroyed');
|
|
48
|
-
|
|
49
|
+
const state = JSON.parse(this.getStateFn(this.handle));
|
|
50
|
+
this.cachedSessionId = state.session_id;
|
|
51
|
+
return state;
|
|
52
|
+
}
|
|
53
|
+
/** The authoritative runtime session ID behind this local browser handle. */
|
|
54
|
+
get sessionId() {
|
|
55
|
+
if (this.destroyed)
|
|
56
|
+
throw new Error('Session has been destroyed');
|
|
57
|
+
return this.cachedSessionId ?? this.getState().session_id;
|
|
49
58
|
}
|
|
50
59
|
/** Poll buffered agent events from the last turn. */
|
|
51
60
|
pollEvents() {
|
|
@@ -65,7 +74,7 @@ export class Session {
|
|
|
65
74
|
subscribe() {
|
|
66
75
|
if (this.destroyed)
|
|
67
76
|
throw new Error('Session has been destroyed');
|
|
68
|
-
return new EventSubscription(() => (this.destroyed ? '[]' : this.pollFn(this.handle)), (raw) => Array.isArray(raw) ? raw : []);
|
|
77
|
+
return new EventSubscription(() => (this.destroyed ? '[]' : this.pollFn(this.handle)), (raw) => (Array.isArray(raw) ? raw : []));
|
|
69
78
|
}
|
|
70
79
|
/** Stage runtime system context for application at the next LLM boundary. */
|
|
71
80
|
appendSystemContext(options) {
|
|
@@ -82,12 +91,48 @@ export class Session {
|
|
|
82
91
|
destroy() {
|
|
83
92
|
if (this.destroyed)
|
|
84
93
|
return;
|
|
85
|
-
|
|
86
|
-
|
|
94
|
+
try {
|
|
95
|
+
this.destroyFn(this.handle);
|
|
96
|
+
this.destroyed = true;
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
if (isRuntimeNotInitializedError(error)) {
|
|
100
|
+
this.destroyed = true;
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
throw error;
|
|
104
|
+
}
|
|
87
105
|
}
|
|
88
106
|
/** Whether this session has been destroyed. */
|
|
89
107
|
get isDestroyed() {
|
|
90
108
|
return this.destroyed;
|
|
91
109
|
}
|
|
92
110
|
}
|
|
111
|
+
function isRuntimeNotInitializedError(error) {
|
|
112
|
+
const code = extractErrorCode(error);
|
|
113
|
+
if (code?.toLowerCase() === 'not_initialized') {
|
|
114
|
+
return true;
|
|
115
|
+
}
|
|
116
|
+
const message = error instanceof Error
|
|
117
|
+
? error.message
|
|
118
|
+
: typeof error === 'string'
|
|
119
|
+
? error
|
|
120
|
+
: '';
|
|
121
|
+
return /not_initialized/i.test(message);
|
|
122
|
+
}
|
|
123
|
+
function extractErrorCode(error) {
|
|
124
|
+
if (!error || typeof error !== 'object')
|
|
125
|
+
return undefined;
|
|
126
|
+
const record = error;
|
|
127
|
+
if (typeof record.code === 'string') {
|
|
128
|
+
return record.code;
|
|
129
|
+
}
|
|
130
|
+
if (record.cause && typeof record.cause === 'object') {
|
|
131
|
+
const causeCode = record.cause.code;
|
|
132
|
+
if (typeof causeCode === 'string') {
|
|
133
|
+
return causeCode;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return undefined;
|
|
137
|
+
}
|
|
93
138
|
//# sourceMappingURL=session.js.map
|
package/dist/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|