@rkat/mobkit-sdk 0.5.2 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-builder.d.ts +13 -1
- package/dist/agent-builder.d.ts.map +1 -1
- package/dist/agent-builder.js +166 -1
- package/dist/agent-builder.js.map +1 -1
- package/dist/builder.d.ts +28 -0
- package/dist/builder.d.ts.map +1 -1
- package/dist/builder.js +57 -0
- package/dist/builder.js.map +1 -1
- package/dist/cjs/agent-builder.cjs +165 -0
- package/dist/cjs/builder.cjs +57 -0
- package/dist/cjs/errors.cjs +72 -2
- package/dist/cjs/events.cjs +15 -5
- package/dist/cjs/index.cjs +37 -2
- package/dist/cjs/models.cjs +2 -2
- package/dist/cjs/runtime.cjs +306 -16
- package/dist/cjs/sse.cjs +12 -8
- package/dist/cjs/transport.cjs +47 -17
- package/dist/cjs/types.cjs +483 -5
- package/dist/errors.d.ts +38 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +68 -1
- package/dist/errors.js.map +1 -1
- package/dist/events.d.ts +7 -0
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +15 -5
- package/dist/events.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/models.d.ts +2 -2
- package/dist/models.d.ts.map +1 -1
- package/dist/models.js +2 -2
- package/dist/models.js.map +1 -1
- package/dist/runtime.d.ts +93 -3
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +308 -18
- package/dist/runtime.js.map +1 -1
- package/dist/sse.d.ts.map +1 -1
- package/dist/sse.js +12 -8
- package/dist/sse.js.map +1 -1
- package/dist/transport.d.ts +13 -0
- package/dist/transport.d.ts.map +1 -1
- package/dist/transport.js +46 -16
- package/dist/transport.js.map +1 -1
- package/dist/types.d.ts +265 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +454 -5
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
package/dist/agent-builder.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* mutable SessionBuildOptions and modifies it in place.
|
|
6
6
|
*/
|
|
7
7
|
import { SessionBuildOptions } from "./models.js";
|
|
8
|
-
import { type ErrorEvent } from "./types.js";
|
|
8
|
+
import { type ErrorEvent, type SessionCreatedContext, type ContinuityStore, type LeaseProvider, type RosterProvider, type AgentCustomizer, type TopologyProvider } from "./types.js";
|
|
9
9
|
/**
|
|
10
10
|
* Protocol for building agents during session creation.
|
|
11
11
|
*
|
|
@@ -21,6 +21,8 @@ import { type ErrorEvent } from "./types.js";
|
|
|
21
21
|
*/
|
|
22
22
|
export interface SessionAgentBuilder {
|
|
23
23
|
buildAgent(options: SessionBuildOptions): Promise<void>;
|
|
24
|
+
/** Called after session creation succeeds. Best-effort — errors logged, not propagated. */
|
|
25
|
+
afterCreate?(sessionId: string, context: SessionCreatedContext): Promise<void>;
|
|
24
26
|
}
|
|
25
27
|
export type ErrorCallback = (event: ErrorEvent) => void | Promise<void>;
|
|
26
28
|
/**
|
|
@@ -35,8 +37,18 @@ export declare class CallbackDispatcher {
|
|
|
35
37
|
private _errorCallback;
|
|
36
38
|
private readonly _toolHandlers;
|
|
37
39
|
private readonly _scopeTools;
|
|
40
|
+
private _continuityStore;
|
|
41
|
+
private _leaseProvider;
|
|
42
|
+
private _rosterProvider;
|
|
43
|
+
private _agentCustomizer;
|
|
44
|
+
private _topologyProvider;
|
|
38
45
|
registerBuilder(builder: SessionAgentBuilder): void;
|
|
39
46
|
registerErrorCallback(callback: ErrorCallback): void;
|
|
47
|
+
registerContinuityStore(store: ContinuityStore): void;
|
|
48
|
+
registerLeaseProvider(provider: LeaseProvider): void;
|
|
49
|
+
registerRosterProvider(provider: RosterProvider): void;
|
|
50
|
+
registerAgentCustomizer(customizer: AgentCustomizer): void;
|
|
51
|
+
registerTopologyProvider(provider: TopologyProvider): void;
|
|
40
52
|
/** Remove all tool handlers for a scope. Call when a session ends. */
|
|
41
53
|
releaseScope(scopeId: string): void;
|
|
42
54
|
handleCallback(method: string, params: Record<string, unknown>): Promise<unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-builder.d.ts","sourceRoot":"","sources":["../src/agent-builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAoB,MAAM,aAAa,CAAC;AACpE,OAAO,
|
|
1
|
+
{"version":3,"file":"agent-builder.d.ts","sourceRoot":"","sources":["../src/agent-builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAoB,MAAM,aAAa,CAAC;AACpE,OAAO,EAaL,KAAK,UAAU,EACf,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EAEtB,MAAM,YAAY,CAAC;AAIpB;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,2FAA2F;IAC3F,WAAW,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChF;AAID,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAIxE;;;;;;GAMG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAChE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+B;IAC3D,OAAO,CAAC,gBAAgB,CAAgC;IACxD,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,gBAAgB,CAAgC;IACxD,OAAO,CAAC,iBAAiB,CAAiC;IAE1D,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAInD,qBAAqB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAIpD,uBAAuB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAIrD,qBAAqB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAIpD,sBAAsB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAItD,uBAAuB,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;IAI1D,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAI1D,sEAAsE;IACtE,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAU7B,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,OAAO,CAAC;CAoQpB"}
|
package/dist/agent-builder.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* mutable SessionBuildOptions and modifies it in place.
|
|
6
6
|
*/
|
|
7
7
|
import { SessionBuildOptions } from "./models.js";
|
|
8
|
-
import { parseErrorEvent } from "./types.js";
|
|
8
|
+
import { parseErrorEvent, parseContinuityRecord, parseSessionSnapshot, parseLeaseGrant, parseAgentBuildContext, parseDurableAgentSpec, parseAgentBuildDraft, agentBuildDraftToDict, durableAgentSpecToDict, sessionSnapshotToDict, managedPeerEdgeToDict, } from "./types.js";
|
|
9
9
|
// -- CallbackDispatcher ---------------------------------------------------
|
|
10
10
|
/**
|
|
11
11
|
* Routes incoming JSON-RPC callbacks from the Rust runtime to the
|
|
@@ -19,12 +19,32 @@ export class CallbackDispatcher {
|
|
|
19
19
|
_errorCallback = null;
|
|
20
20
|
_toolHandlers = new Map();
|
|
21
21
|
_scopeTools = new Map();
|
|
22
|
+
_continuityStore = null;
|
|
23
|
+
_leaseProvider = null;
|
|
24
|
+
_rosterProvider = null;
|
|
25
|
+
_agentCustomizer = null;
|
|
26
|
+
_topologyProvider = null;
|
|
22
27
|
registerBuilder(builder) {
|
|
23
28
|
this._builder = builder;
|
|
24
29
|
}
|
|
25
30
|
registerErrorCallback(callback) {
|
|
26
31
|
this._errorCallback = callback;
|
|
27
32
|
}
|
|
33
|
+
registerContinuityStore(store) {
|
|
34
|
+
this._continuityStore = store;
|
|
35
|
+
}
|
|
36
|
+
registerLeaseProvider(provider) {
|
|
37
|
+
this._leaseProvider = provider;
|
|
38
|
+
}
|
|
39
|
+
registerRosterProvider(provider) {
|
|
40
|
+
this._rosterProvider = provider;
|
|
41
|
+
}
|
|
42
|
+
registerAgentCustomizer(customizer) {
|
|
43
|
+
this._agentCustomizer = customizer;
|
|
44
|
+
}
|
|
45
|
+
registerTopologyProvider(provider) {
|
|
46
|
+
this._topologyProvider = provider;
|
|
47
|
+
}
|
|
28
48
|
/** Remove all tool handlers for a scope. Call when a session ends. */
|
|
29
49
|
releaseScope(scopeId) {
|
|
30
50
|
const tools = this._scopeTools.get(scopeId);
|
|
@@ -48,6 +68,27 @@ export class CallbackDispatcher {
|
|
|
48
68
|
}
|
|
49
69
|
return null;
|
|
50
70
|
}
|
|
71
|
+
if (method === "callback/after_create") {
|
|
72
|
+
if (this._builder !== null && typeof this._builder.afterCreate === "function") {
|
|
73
|
+
const sessionId = String(params.session_id ?? "");
|
|
74
|
+
const context = {
|
|
75
|
+
model: String(params.model ?? ""),
|
|
76
|
+
labels: typeof params.labels === "object" && params.labels !== null
|
|
77
|
+
? params.labels
|
|
78
|
+
: {},
|
|
79
|
+
systemPrompt: typeof params.system_prompt === "string"
|
|
80
|
+
? params.system_prompt
|
|
81
|
+
: null,
|
|
82
|
+
};
|
|
83
|
+
try {
|
|
84
|
+
await this._builder.afterCreate(sessionId, context);
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
// Best-effort — swallow afterCreate failures.
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
51
92
|
if (method === "callback/build_agent") {
|
|
52
93
|
if (this._builder === null) {
|
|
53
94
|
throw new Error("no SessionAgentBuilder registered");
|
|
@@ -105,6 +146,130 @@ export class CallbackDispatcher {
|
|
|
105
146
|
const result = await handler(args);
|
|
106
147
|
return { content: result };
|
|
107
148
|
}
|
|
149
|
+
// -- Continuity callbacks -----------------------------------------------
|
|
150
|
+
if (method === "callback/continuity/resolve_many") {
|
|
151
|
+
if (this._continuityStore === null) {
|
|
152
|
+
throw new Error("no ContinuityStore registered");
|
|
153
|
+
}
|
|
154
|
+
const identities = Array.isArray(params.identities)
|
|
155
|
+
? params.identities.map(String)
|
|
156
|
+
: [];
|
|
157
|
+
return this._continuityStore.resolveMany(identities);
|
|
158
|
+
}
|
|
159
|
+
if (method === "callback/continuity/load_session_snapshot") {
|
|
160
|
+
if (this._continuityStore === null) {
|
|
161
|
+
throw new Error("no ContinuityStore registered");
|
|
162
|
+
}
|
|
163
|
+
const sessionId = String(params.session_id ?? "");
|
|
164
|
+
const snap = await this._continuityStore.loadSessionSnapshot(sessionId);
|
|
165
|
+
if (snap === null)
|
|
166
|
+
return null;
|
|
167
|
+
return sessionSnapshotToDict(snap);
|
|
168
|
+
}
|
|
169
|
+
if (method === "callback/continuity/save_session_snapshot") {
|
|
170
|
+
if (this._continuityStore === null) {
|
|
171
|
+
throw new Error("no ContinuityStore registered");
|
|
172
|
+
}
|
|
173
|
+
const identity = String(params.identity ?? "");
|
|
174
|
+
const sessionId = String(params.session_id ?? "");
|
|
175
|
+
const generation = Number(params.generation ?? 0);
|
|
176
|
+
const version = Number(params.checkpoint_version ?? 0);
|
|
177
|
+
const fencingToken = Number(params.fencing_token ?? 0);
|
|
178
|
+
const snapshot = parseSessionSnapshot({ data: params.snapshot ?? "" });
|
|
179
|
+
await this._continuityStore.saveSessionSnapshot(identity, sessionId, generation, version, fencingToken, snapshot);
|
|
180
|
+
return null;
|
|
181
|
+
}
|
|
182
|
+
if (method === "callback/continuity/upsert_continuity_record") {
|
|
183
|
+
if (this._continuityStore === null) {
|
|
184
|
+
throw new Error("no ContinuityStore registered");
|
|
185
|
+
}
|
|
186
|
+
const record = parseContinuityRecord(params.record);
|
|
187
|
+
const fencingToken = Number(params.fencing_token ?? 0);
|
|
188
|
+
await this._continuityStore.upsertContinuityRecord(record, fencingToken);
|
|
189
|
+
return null;
|
|
190
|
+
}
|
|
191
|
+
// -- Lease callbacks ----------------------------------------------------
|
|
192
|
+
if (method === "callback/lease/acquire_leases") {
|
|
193
|
+
if (this._leaseProvider === null) {
|
|
194
|
+
throw new Error("no LeaseProvider registered");
|
|
195
|
+
}
|
|
196
|
+
const identities = Array.isArray(params.identities)
|
|
197
|
+
? params.identities.map(String)
|
|
198
|
+
: [];
|
|
199
|
+
const runtimeInstance = String(params.runtime_instance ?? "");
|
|
200
|
+
return this._leaseProvider.acquireLeases(identities, runtimeInstance);
|
|
201
|
+
}
|
|
202
|
+
if (method === "callback/lease/renew_leases") {
|
|
203
|
+
if (this._leaseProvider === null) {
|
|
204
|
+
throw new Error("no LeaseProvider registered");
|
|
205
|
+
}
|
|
206
|
+
const rawGrants = Array.isArray(params.grants) ? params.grants : [];
|
|
207
|
+
const grants = rawGrants.map(parseLeaseGrant);
|
|
208
|
+
return this._leaseProvider.renewLeases(grants);
|
|
209
|
+
}
|
|
210
|
+
if (method === "callback/lease/release_leases") {
|
|
211
|
+
if (this._leaseProvider === null) {
|
|
212
|
+
throw new Error("no LeaseProvider registered");
|
|
213
|
+
}
|
|
214
|
+
const rawGrants = Array.isArray(params.grants) ? params.grants : [];
|
|
215
|
+
const grants = rawGrants.map(parseLeaseGrant);
|
|
216
|
+
await this._leaseProvider.releaseLeases(grants);
|
|
217
|
+
return null;
|
|
218
|
+
}
|
|
219
|
+
// -- Roster callback ----------------------------------------------------
|
|
220
|
+
if (method === "callback/roster") {
|
|
221
|
+
if (this._rosterProvider === null) {
|
|
222
|
+
throw new Error("no RosterProvider registered");
|
|
223
|
+
}
|
|
224
|
+
const context = params.context ?? {};
|
|
225
|
+
const specs = await this._rosterProvider.roster(context);
|
|
226
|
+
return specs.map(durableAgentSpecToDict);
|
|
227
|
+
}
|
|
228
|
+
// -- Topology callback --------------------------------------------------
|
|
229
|
+
if (method === "callback/topology/compute_edges") {
|
|
230
|
+
if (this._topologyProvider === null) {
|
|
231
|
+
throw new Error("no TopologyProvider registered");
|
|
232
|
+
}
|
|
233
|
+
const targetIdentities = Array.isArray(params.target_identities)
|
|
234
|
+
? params.target_identities.map(String)
|
|
235
|
+
: [];
|
|
236
|
+
const context = params.context ?? {};
|
|
237
|
+
const edges = await this._topologyProvider.computeEdges(targetIdentities, context);
|
|
238
|
+
return edges.map(managedPeerEdgeToDict);
|
|
239
|
+
}
|
|
240
|
+
// -- Customizer callbacks -----------------------------------------------
|
|
241
|
+
if (method === "callback/customizer/customize_build") {
|
|
242
|
+
if (this._agentCustomizer === null) {
|
|
243
|
+
throw new Error("no AgentCustomizer registered");
|
|
244
|
+
}
|
|
245
|
+
const context = parseAgentBuildContext(params.context);
|
|
246
|
+
const spec = parseDurableAgentSpec(params.spec);
|
|
247
|
+
const draft = parseAgentBuildDraft(params.draft);
|
|
248
|
+
await this._agentCustomizer.customizeBuild(context, spec, draft);
|
|
249
|
+
return agentBuildDraftToDict(draft);
|
|
250
|
+
}
|
|
251
|
+
if (method === "callback/customizer/after_create") {
|
|
252
|
+
if (this._agentCustomizer !== null &&
|
|
253
|
+
typeof this._agentCustomizer.afterCreate === "function") {
|
|
254
|
+
const identity = String(params.identity ?? "");
|
|
255
|
+
const sessionId = String(params.session_id ?? "");
|
|
256
|
+
const rawLabels = (params.labels != null && typeof params.labels === "object")
|
|
257
|
+
? Object.fromEntries(Object.entries(params.labels).map(([k, v]) => [k, String(v)]))
|
|
258
|
+
: {};
|
|
259
|
+
const context = {
|
|
260
|
+
model: String(params.model ?? ""),
|
|
261
|
+
labels: rawLabels,
|
|
262
|
+
systemPrompt: typeof params.system_prompt === "string" ? params.system_prompt : null,
|
|
263
|
+
};
|
|
264
|
+
try {
|
|
265
|
+
await this._agentCustomizer.afterCreate(identity, sessionId, context);
|
|
266
|
+
}
|
|
267
|
+
catch {
|
|
268
|
+
// Best-effort — swallow afterCreate failures.
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
return null;
|
|
272
|
+
}
|
|
108
273
|
throw new Error(`unknown callback method: ${method}`);
|
|
109
274
|
}
|
|
110
275
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-builder.js","sourceRoot":"","sources":["../src/agent-builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-builder.js","sourceRoot":"","sources":["../src/agent-builder.ts"],"names":[],"mappings":"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"}
|
package/dist/builder.d.ts
CHANGED
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import type { SessionAgentBuilder, ErrorCallback } from "./agent-builder.js";
|
|
19
19
|
import type { MobKitRuntime } from "./runtime.js";
|
|
20
|
+
import type { ContinuityStore, LeaseProvider, RosterProvider, AgentCustomizer, TopologyProvider } from "./types.js";
|
|
20
21
|
export interface MobKitBuilderConfig {
|
|
21
22
|
mobConfigPath: string | null;
|
|
22
23
|
sessionBuilder: SessionAgentBuilder | null;
|
|
@@ -32,6 +33,13 @@ export interface MobKitBuilderConfig {
|
|
|
32
33
|
authConfig: unknown;
|
|
33
34
|
gatewayBin: string | null;
|
|
34
35
|
modules: unknown[];
|
|
36
|
+
persistentState: string | null;
|
|
37
|
+
continuityStore: ContinuityStore | null;
|
|
38
|
+
leaseProvider: LeaseProvider | null;
|
|
39
|
+
scratchDir: string | null;
|
|
40
|
+
rosterProvider: RosterProvider | null;
|
|
41
|
+
agentCustomizer: AgentCustomizer | null;
|
|
42
|
+
topologyProvider: TopologyProvider | null;
|
|
35
43
|
}
|
|
36
44
|
/**
|
|
37
45
|
* Chainable builder for MobKit runtime configuration.
|
|
@@ -65,7 +73,27 @@ export declare class MobKitBuilder {
|
|
|
65
73
|
auth(config: unknown): this;
|
|
66
74
|
gateway(binPath: string): this;
|
|
67
75
|
modules(moduleSpecs: unknown[]): this;
|
|
76
|
+
/**
|
|
77
|
+
* Enable persistent state at the given path.
|
|
78
|
+
*
|
|
79
|
+
* When set, the gateway creates SQLite session store, FsBlobStore,
|
|
80
|
+
* and redb mob storage under this directory.
|
|
81
|
+
*/
|
|
82
|
+
persistentState(path: string): this;
|
|
83
|
+
/** Set an external ContinuityStore provider. Mutually exclusive with persistentState. */
|
|
84
|
+
continuityStore(store: ContinuityStore): this;
|
|
85
|
+
/** Set an external LeaseProvider. Mutually exclusive with persistentState. */
|
|
86
|
+
leaseProvider(provider: LeaseProvider): this;
|
|
87
|
+
/** Set scratch directory for external provider path. */
|
|
88
|
+
scratchDir(path: string): this;
|
|
89
|
+
/** Set a RosterProvider. */
|
|
90
|
+
rosterProvider(provider: RosterProvider): this;
|
|
91
|
+
/** Set an AgentCustomizer. */
|
|
92
|
+
agentCustomizer(customizer: AgentCustomizer): this;
|
|
93
|
+
/** Set a TopologyProvider. */
|
|
94
|
+
topologyProvider(provider: TopologyProvider): this;
|
|
68
95
|
build(): Promise<MobKitRuntime>;
|
|
96
|
+
private _validateConfig;
|
|
69
97
|
private _applyConventionDefaults;
|
|
70
98
|
}
|
|
71
99
|
export declare class MobKit {
|
package/dist/builder.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
|
package/dist/builder.js
CHANGED
|
@@ -32,6 +32,13 @@ function defaultConfig() {
|
|
|
32
32
|
authConfig: null,
|
|
33
33
|
gatewayBin: null,
|
|
34
34
|
modules: [],
|
|
35
|
+
persistentState: null,
|
|
36
|
+
continuityStore: null,
|
|
37
|
+
leaseProvider: null,
|
|
38
|
+
scratchDir: null,
|
|
39
|
+
rosterProvider: null,
|
|
40
|
+
agentCustomizer: null,
|
|
41
|
+
topologyProvider: null,
|
|
35
42
|
};
|
|
36
43
|
}
|
|
37
44
|
// -- MobKitBuilder --------------------------------------------------------
|
|
@@ -103,12 +110,62 @@ export class MobKitBuilder {
|
|
|
103
110
|
this._config.modules = moduleSpecs;
|
|
104
111
|
return this;
|
|
105
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* Enable persistent state at the given path.
|
|
115
|
+
*
|
|
116
|
+
* When set, the gateway creates SQLite session store, FsBlobStore,
|
|
117
|
+
* and redb mob storage under this directory.
|
|
118
|
+
*/
|
|
119
|
+
persistentState(path) {
|
|
120
|
+
this._config.persistentState = path;
|
|
121
|
+
return this;
|
|
122
|
+
}
|
|
123
|
+
/** Set an external ContinuityStore provider. Mutually exclusive with persistentState. */
|
|
124
|
+
continuityStore(store) {
|
|
125
|
+
this._config.continuityStore = store;
|
|
126
|
+
return this;
|
|
127
|
+
}
|
|
128
|
+
/** Set an external LeaseProvider. Mutually exclusive with persistentState. */
|
|
129
|
+
leaseProvider(provider) {
|
|
130
|
+
this._config.leaseProvider = provider;
|
|
131
|
+
return this;
|
|
132
|
+
}
|
|
133
|
+
/** Set scratch directory for external provider path. */
|
|
134
|
+
scratchDir(path) {
|
|
135
|
+
this._config.scratchDir = path;
|
|
136
|
+
return this;
|
|
137
|
+
}
|
|
138
|
+
/** Set a RosterProvider. */
|
|
139
|
+
rosterProvider(provider) {
|
|
140
|
+
this._config.rosterProvider = provider;
|
|
141
|
+
return this;
|
|
142
|
+
}
|
|
143
|
+
/** Set an AgentCustomizer. */
|
|
144
|
+
agentCustomizer(customizer) {
|
|
145
|
+
this._config.agentCustomizer = customizer;
|
|
146
|
+
return this;
|
|
147
|
+
}
|
|
148
|
+
/** Set a TopologyProvider. */
|
|
149
|
+
topologyProvider(provider) {
|
|
150
|
+
this._config.topologyProvider = provider;
|
|
151
|
+
return this;
|
|
152
|
+
}
|
|
106
153
|
async build() {
|
|
154
|
+
this._validateConfig();
|
|
107
155
|
this._applyConventionDefaults();
|
|
108
156
|
// Dynamic import to break circular dep (runtime imports from builder config type)
|
|
109
157
|
const { MobKitRuntime } = await import("./runtime.js");
|
|
110
158
|
return MobKitRuntime._create(this._config);
|
|
111
159
|
}
|
|
160
|
+
_validateConfig() {
|
|
161
|
+
const hasPersistent = this._config.persistentState !== null;
|
|
162
|
+
const hasExternal = this._config.continuityStore !== null ||
|
|
163
|
+
this._config.leaseProvider !== null;
|
|
164
|
+
if (hasPersistent && hasExternal) {
|
|
165
|
+
throw new Error("persistentState and continuityStore/leaseProvider are mutually exclusive — " +
|
|
166
|
+
"use one path or the other, not both");
|
|
167
|
+
}
|
|
168
|
+
}
|
|
112
169
|
_applyConventionDefaults() {
|
|
113
170
|
if (this._config.gatingConfigPath === null) {
|
|
114
171
|
const candidate = "config/gating.toml";
|
package/dist/builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,12 +22,32 @@ class CallbackDispatcher {
|
|
|
22
22
|
_errorCallback = null;
|
|
23
23
|
_toolHandlers = new Map();
|
|
24
24
|
_scopeTools = new Map();
|
|
25
|
+
_continuityStore = null;
|
|
26
|
+
_leaseProvider = null;
|
|
27
|
+
_rosterProvider = null;
|
|
28
|
+
_agentCustomizer = null;
|
|
29
|
+
_topologyProvider = null;
|
|
25
30
|
registerBuilder(builder) {
|
|
26
31
|
this._builder = builder;
|
|
27
32
|
}
|
|
28
33
|
registerErrorCallback(callback) {
|
|
29
34
|
this._errorCallback = callback;
|
|
30
35
|
}
|
|
36
|
+
registerContinuityStore(store) {
|
|
37
|
+
this._continuityStore = store;
|
|
38
|
+
}
|
|
39
|
+
registerLeaseProvider(provider) {
|
|
40
|
+
this._leaseProvider = provider;
|
|
41
|
+
}
|
|
42
|
+
registerRosterProvider(provider) {
|
|
43
|
+
this._rosterProvider = provider;
|
|
44
|
+
}
|
|
45
|
+
registerAgentCustomizer(customizer) {
|
|
46
|
+
this._agentCustomizer = customizer;
|
|
47
|
+
}
|
|
48
|
+
registerTopologyProvider(provider) {
|
|
49
|
+
this._topologyProvider = provider;
|
|
50
|
+
}
|
|
31
51
|
/** Remove all tool handlers for a scope. Call when a session ends. */
|
|
32
52
|
releaseScope(scopeId) {
|
|
33
53
|
const tools = this._scopeTools.get(scopeId);
|
|
@@ -51,6 +71,27 @@ class CallbackDispatcher {
|
|
|
51
71
|
}
|
|
52
72
|
return null;
|
|
53
73
|
}
|
|
74
|
+
if (method === "callback/after_create") {
|
|
75
|
+
if (this._builder !== null && typeof this._builder.afterCreate === "function") {
|
|
76
|
+
const sessionId = String(params.session_id ?? "");
|
|
77
|
+
const context = {
|
|
78
|
+
model: String(params.model ?? ""),
|
|
79
|
+
labels: typeof params.labels === "object" && params.labels !== null
|
|
80
|
+
? params.labels
|
|
81
|
+
: {},
|
|
82
|
+
systemPrompt: typeof params.system_prompt === "string"
|
|
83
|
+
? params.system_prompt
|
|
84
|
+
: null,
|
|
85
|
+
};
|
|
86
|
+
try {
|
|
87
|
+
await this._builder.afterCreate(sessionId, context);
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
// Best-effort — swallow afterCreate failures.
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
54
95
|
if (method === "callback/build_agent") {
|
|
55
96
|
if (this._builder === null) {
|
|
56
97
|
throw new Error("no SessionAgentBuilder registered");
|
|
@@ -108,6 +149,130 @@ class CallbackDispatcher {
|
|
|
108
149
|
const result = await handler(args);
|
|
109
150
|
return { content: result };
|
|
110
151
|
}
|
|
152
|
+
// -- Continuity callbacks -----------------------------------------------
|
|
153
|
+
if (method === "callback/continuity/resolve_many") {
|
|
154
|
+
if (this._continuityStore === null) {
|
|
155
|
+
throw new Error("no ContinuityStore registered");
|
|
156
|
+
}
|
|
157
|
+
const identities = Array.isArray(params.identities)
|
|
158
|
+
? params.identities.map(String)
|
|
159
|
+
: [];
|
|
160
|
+
return this._continuityStore.resolveMany(identities);
|
|
161
|
+
}
|
|
162
|
+
if (method === "callback/continuity/load_session_snapshot") {
|
|
163
|
+
if (this._continuityStore === null) {
|
|
164
|
+
throw new Error("no ContinuityStore registered");
|
|
165
|
+
}
|
|
166
|
+
const sessionId = String(params.session_id ?? "");
|
|
167
|
+
const snap = await this._continuityStore.loadSessionSnapshot(sessionId);
|
|
168
|
+
if (snap === null)
|
|
169
|
+
return null;
|
|
170
|
+
return (0, types_js_1.sessionSnapshotToDict)(snap);
|
|
171
|
+
}
|
|
172
|
+
if (method === "callback/continuity/save_session_snapshot") {
|
|
173
|
+
if (this._continuityStore === null) {
|
|
174
|
+
throw new Error("no ContinuityStore registered");
|
|
175
|
+
}
|
|
176
|
+
const identity = String(params.identity ?? "");
|
|
177
|
+
const sessionId = String(params.session_id ?? "");
|
|
178
|
+
const generation = Number(params.generation ?? 0);
|
|
179
|
+
const version = Number(params.checkpoint_version ?? 0);
|
|
180
|
+
const fencingToken = Number(params.fencing_token ?? 0);
|
|
181
|
+
const snapshot = (0, types_js_1.parseSessionSnapshot)({ data: params.snapshot ?? "" });
|
|
182
|
+
await this._continuityStore.saveSessionSnapshot(identity, sessionId, generation, version, fencingToken, snapshot);
|
|
183
|
+
return null;
|
|
184
|
+
}
|
|
185
|
+
if (method === "callback/continuity/upsert_continuity_record") {
|
|
186
|
+
if (this._continuityStore === null) {
|
|
187
|
+
throw new Error("no ContinuityStore registered");
|
|
188
|
+
}
|
|
189
|
+
const record = (0, types_js_1.parseContinuityRecord)(params.record);
|
|
190
|
+
const fencingToken = Number(params.fencing_token ?? 0);
|
|
191
|
+
await this._continuityStore.upsertContinuityRecord(record, fencingToken);
|
|
192
|
+
return null;
|
|
193
|
+
}
|
|
194
|
+
// -- Lease callbacks ----------------------------------------------------
|
|
195
|
+
if (method === "callback/lease/acquire_leases") {
|
|
196
|
+
if (this._leaseProvider === null) {
|
|
197
|
+
throw new Error("no LeaseProvider registered");
|
|
198
|
+
}
|
|
199
|
+
const identities = Array.isArray(params.identities)
|
|
200
|
+
? params.identities.map(String)
|
|
201
|
+
: [];
|
|
202
|
+
const runtimeInstance = String(params.runtime_instance ?? "");
|
|
203
|
+
return this._leaseProvider.acquireLeases(identities, runtimeInstance);
|
|
204
|
+
}
|
|
205
|
+
if (method === "callback/lease/renew_leases") {
|
|
206
|
+
if (this._leaseProvider === null) {
|
|
207
|
+
throw new Error("no LeaseProvider registered");
|
|
208
|
+
}
|
|
209
|
+
const rawGrants = Array.isArray(params.grants) ? params.grants : [];
|
|
210
|
+
const grants = rawGrants.map(types_js_1.parseLeaseGrant);
|
|
211
|
+
return this._leaseProvider.renewLeases(grants);
|
|
212
|
+
}
|
|
213
|
+
if (method === "callback/lease/release_leases") {
|
|
214
|
+
if (this._leaseProvider === null) {
|
|
215
|
+
throw new Error("no LeaseProvider registered");
|
|
216
|
+
}
|
|
217
|
+
const rawGrants = Array.isArray(params.grants) ? params.grants : [];
|
|
218
|
+
const grants = rawGrants.map(types_js_1.parseLeaseGrant);
|
|
219
|
+
await this._leaseProvider.releaseLeases(grants);
|
|
220
|
+
return null;
|
|
221
|
+
}
|
|
222
|
+
// -- Roster callback ----------------------------------------------------
|
|
223
|
+
if (method === "callback/roster") {
|
|
224
|
+
if (this._rosterProvider === null) {
|
|
225
|
+
throw new Error("no RosterProvider registered");
|
|
226
|
+
}
|
|
227
|
+
const context = params.context ?? {};
|
|
228
|
+
const specs = await this._rosterProvider.roster(context);
|
|
229
|
+
return specs.map(types_js_1.durableAgentSpecToDict);
|
|
230
|
+
}
|
|
231
|
+
// -- Topology callback --------------------------------------------------
|
|
232
|
+
if (method === "callback/topology/compute_edges") {
|
|
233
|
+
if (this._topologyProvider === null) {
|
|
234
|
+
throw new Error("no TopologyProvider registered");
|
|
235
|
+
}
|
|
236
|
+
const targetIdentities = Array.isArray(params.target_identities)
|
|
237
|
+
? params.target_identities.map(String)
|
|
238
|
+
: [];
|
|
239
|
+
const context = params.context ?? {};
|
|
240
|
+
const edges = await this._topologyProvider.computeEdges(targetIdentities, context);
|
|
241
|
+
return edges.map(types_js_1.managedPeerEdgeToDict);
|
|
242
|
+
}
|
|
243
|
+
// -- Customizer callbacks -----------------------------------------------
|
|
244
|
+
if (method === "callback/customizer/customize_build") {
|
|
245
|
+
if (this._agentCustomizer === null) {
|
|
246
|
+
throw new Error("no AgentCustomizer registered");
|
|
247
|
+
}
|
|
248
|
+
const context = (0, types_js_1.parseAgentBuildContext)(params.context);
|
|
249
|
+
const spec = (0, types_js_1.parseDurableAgentSpec)(params.spec);
|
|
250
|
+
const draft = (0, types_js_1.parseAgentBuildDraft)(params.draft);
|
|
251
|
+
await this._agentCustomizer.customizeBuild(context, spec, draft);
|
|
252
|
+
return (0, types_js_1.agentBuildDraftToDict)(draft);
|
|
253
|
+
}
|
|
254
|
+
if (method === "callback/customizer/after_create") {
|
|
255
|
+
if (this._agentCustomizer !== null &&
|
|
256
|
+
typeof this._agentCustomizer.afterCreate === "function") {
|
|
257
|
+
const identity = String(params.identity ?? "");
|
|
258
|
+
const sessionId = String(params.session_id ?? "");
|
|
259
|
+
const rawLabels = (params.labels != null && typeof params.labels === "object")
|
|
260
|
+
? Object.fromEntries(Object.entries(params.labels).map(([k, v]) => [k, String(v)]))
|
|
261
|
+
: {};
|
|
262
|
+
const context = {
|
|
263
|
+
model: String(params.model ?? ""),
|
|
264
|
+
labels: rawLabels,
|
|
265
|
+
systemPrompt: typeof params.system_prompt === "string" ? params.system_prompt : null,
|
|
266
|
+
};
|
|
267
|
+
try {
|
|
268
|
+
await this._agentCustomizer.afterCreate(identity, sessionId, context);
|
|
269
|
+
}
|
|
270
|
+
catch {
|
|
271
|
+
// Best-effort — swallow afterCreate failures.
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
return null;
|
|
275
|
+
}
|
|
111
276
|
throw new Error(`unknown callback method: ${method}`);
|
|
112
277
|
}
|
|
113
278
|
}
|