@rkat/mobkit-sdk 0.4.9

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 (82) hide show
  1. package/dist/agent-builder.d.ts +44 -0
  2. package/dist/agent-builder.d.ts.map +1 -0
  3. package/dist/agent-builder.js +111 -0
  4. package/dist/agent-builder.js.map +1 -0
  5. package/dist/builder.d.ts +74 -0
  6. package/dist/builder.d.ts.map +1 -0
  7. package/dist/builder.js +145 -0
  8. package/dist/builder.js.map +1 -0
  9. package/dist/cjs/agent-builder.cjs +114 -0
  10. package/dist/cjs/builder.cjs +182 -0
  11. package/dist/cjs/client.cjs +182 -0
  12. package/dist/cjs/config/auth.cjs +44 -0
  13. package/dist/cjs/config/index.cjs +51 -0
  14. package/dist/cjs/config/memory.cjs +28 -0
  15. package/dist/cjs/config/session-store.cjs +41 -0
  16. package/dist/cjs/errors.cjs +82 -0
  17. package/dist/cjs/events.cjs +176 -0
  18. package/dist/cjs/helpers.cjs +72 -0
  19. package/dist/cjs/index.cjs +130 -0
  20. package/dist/cjs/models.cjs +124 -0
  21. package/dist/cjs/runtime.cjs +476 -0
  22. package/dist/cjs/sse.cjs +79 -0
  23. package/dist/cjs/transport.cjs +282 -0
  24. package/dist/cjs/types.cjs +376 -0
  25. package/dist/client.d.ts +79 -0
  26. package/dist/client.d.ts.map +1 -0
  27. package/dist/client.js +178 -0
  28. package/dist/client.js.map +1 -0
  29. package/dist/config/auth.d.ts +28 -0
  30. package/dist/config/auth.d.ts.map +1 -0
  31. package/dist/config/auth.js +39 -0
  32. package/dist/config/auth.js.map +1 -0
  33. package/dist/config/index.d.ts +16 -0
  34. package/dist/config/index.d.ts.map +1 -0
  35. package/dist/config/index.js +16 -0
  36. package/dist/config/index.js.map +1 -0
  37. package/dist/config/memory.d.ts +16 -0
  38. package/dist/config/memory.d.ts.map +1 -0
  39. package/dist/config/memory.js +25 -0
  40. package/dist/config/memory.js.map +1 -0
  41. package/dist/config/session-store.d.ts +23 -0
  42. package/dist/config/session-store.d.ts.map +1 -0
  43. package/dist/config/session-store.js +36 -0
  44. package/dist/config/session-store.js.map +1 -0
  45. package/dist/errors.d.ts +48 -0
  46. package/dist/errors.d.ts.map +1 -0
  47. package/dist/errors.js +74 -0
  48. package/dist/errors.js.map +1 -0
  49. package/dist/events.d.ts +126 -0
  50. package/dist/events.d.ts.map +1 -0
  51. package/dist/events.js +164 -0
  52. package/dist/events.js.map +1 -0
  53. package/dist/helpers.d.ts +58 -0
  54. package/dist/helpers.d.ts.map +1 -0
  55. package/dist/helpers.js +62 -0
  56. package/dist/helpers.js.map +1 -0
  57. package/dist/index.cjs +2 -0
  58. package/dist/index.d.ts +48 -0
  59. package/dist/index.d.ts.map +1 -0
  60. package/dist/index.js +49 -0
  61. package/dist/index.js.map +1 -0
  62. package/dist/models.d.ts +61 -0
  63. package/dist/models.d.ts.map +1 -0
  64. package/dist/models.js +118 -0
  65. package/dist/models.js.map +1 -0
  66. package/dist/runtime.d.ts +131 -0
  67. package/dist/runtime.d.ts.map +1 -0
  68. package/dist/runtime.js +470 -0
  69. package/dist/runtime.js.map +1 -0
  70. package/dist/sse.d.ts +21 -0
  71. package/dist/sse.d.ts.map +1 -0
  72. package/dist/sse.js +76 -0
  73. package/dist/sse.js.map +1 -0
  74. package/dist/transport.d.ts +84 -0
  75. package/dist/transport.d.ts.map +1 -0
  76. package/dist/transport.js +275 -0
  77. package/dist/transport.js.map +1 -0
  78. package/dist/types.d.ts +209 -0
  79. package/dist/types.d.ts.map +1 -0
  80. package/dist/types.js +348 -0
  81. package/dist/types.js.map +1 -0
  82. package/package.json +34 -0
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+ /**
3
+ * Typed event hierarchy for MobKit SDK streaming.
4
+ *
5
+ * Events form a discriminated union on the `type` field (snake_case to match
6
+ * the wire protocol). All other fields use idiomatic camelCase.
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * for await (const event of handle.subscribeAgent("agent-1")) {
11
+ * switch (event.event.type) {
12
+ * case "text_delta":
13
+ * process.stdout.write(event.event.delta);
14
+ * break;
15
+ * case "run_completed":
16
+ * console.log(`Done: ${event.event.result}`);
17
+ * break;
18
+ * }
19
+ * }
20
+ * ```
21
+ */
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.EventStream = void 0;
24
+ exports.parseAgentEvent = parseAgentEvent;
25
+ exports.parseMobEventFromSse = parseMobEventFromSse;
26
+ exports.parseAgentEventFromSse = parseAgentEventFromSse;
27
+ exports.isTextDelta = isTextDelta;
28
+ exports.isTextComplete = isTextComplete;
29
+ exports.isRunCompleted = isRunCompleted;
30
+ exports.isRunFailed = isRunFailed;
31
+ exports.isTurnCompleted = isTurnCompleted;
32
+ exports.isToolCallRequested = isToolCallRequested;
33
+ const EVENT_MAP = {
34
+ run_started: (raw) => ({
35
+ type: "run_started",
36
+ sessionId: String(raw.session_id ?? ""),
37
+ prompt: String(raw.prompt ?? ""),
38
+ }),
39
+ run_completed: (raw) => ({
40
+ type: "run_completed",
41
+ sessionId: String(raw.session_id ?? ""),
42
+ result: String(raw.result ?? ""),
43
+ }),
44
+ run_failed: (raw) => ({
45
+ type: "run_failed",
46
+ sessionId: String(raw.session_id ?? ""),
47
+ error: String(raw.error ?? ""),
48
+ }),
49
+ turn_started: (raw) => ({
50
+ type: "turn_started",
51
+ turnNumber: Number(raw.turn_number ?? 0),
52
+ }),
53
+ text_delta: (raw) => ({
54
+ type: "text_delta",
55
+ delta: String(raw.delta ?? ""),
56
+ }),
57
+ text_complete: (raw) => ({
58
+ type: "text_complete",
59
+ content: String(raw.content ?? ""),
60
+ }),
61
+ tool_call_requested: (raw) => ({
62
+ type: "tool_call_requested",
63
+ id: String(raw.id ?? ""),
64
+ name: String(raw.name ?? ""),
65
+ args: raw.args ?? null,
66
+ }),
67
+ tool_result_received: (raw) => ({
68
+ type: "tool_result_received",
69
+ id: String(raw.id ?? ""),
70
+ name: String(raw.name ?? ""),
71
+ isError: Boolean(raw.is_error),
72
+ }),
73
+ turn_completed: (raw) => ({
74
+ type: "turn_completed",
75
+ stopReason: String(raw.stop_reason ?? ""),
76
+ }),
77
+ tool_execution_started: (raw) => ({
78
+ type: "tool_execution_started",
79
+ id: String(raw.id ?? ""),
80
+ name: String(raw.name ?? ""),
81
+ }),
82
+ tool_execution_completed: (raw) => ({
83
+ type: "tool_execution_completed",
84
+ id: String(raw.id ?? ""),
85
+ name: String(raw.name ?? ""),
86
+ result: String(raw.result ?? ""),
87
+ isError: Boolean(raw.is_error),
88
+ durationMs: Number(raw.duration_ms ?? 0),
89
+ }),
90
+ };
91
+ /**
92
+ * Parse a raw event dict into a typed {@link AgentEvent}.
93
+ *
94
+ * Unknown event types are returned as {@link UnknownEvent} for
95
+ * forward-compatibility with newer server versions.
96
+ */
97
+ function parseAgentEvent(raw) {
98
+ const eventType = String(raw.type ?? "");
99
+ const factory = EVENT_MAP[eventType];
100
+ if (factory) {
101
+ return factory(raw);
102
+ }
103
+ return { type: eventType, data: raw };
104
+ }
105
+ function parseMobEventFromSse(sse) {
106
+ let raw;
107
+ try {
108
+ raw = JSON.parse(sse.data);
109
+ }
110
+ catch {
111
+ raw = {};
112
+ }
113
+ const memberId = String(raw.member_id ?? raw.source ?? "");
114
+ const payload = (typeof raw.payload === "object" && raw.payload !== null
115
+ ? raw.payload
116
+ : raw);
117
+ return {
118
+ memberId,
119
+ event: parseAgentEvent(payload),
120
+ timestampMs: Number(raw.timestamp_ms ?? 0),
121
+ };
122
+ }
123
+ function parseAgentEventFromSse(sse) {
124
+ let raw;
125
+ try {
126
+ raw = JSON.parse(sse.data);
127
+ }
128
+ catch {
129
+ raw = {};
130
+ }
131
+ return {
132
+ eventType: sse.event,
133
+ event: parseAgentEvent(raw),
134
+ };
135
+ }
136
+ // ---------------------------------------------------------------------------
137
+ // Type guards
138
+ // ---------------------------------------------------------------------------
139
+ function isTextDelta(event) {
140
+ return event.type === "text_delta";
141
+ }
142
+ function isTextComplete(event) {
143
+ return event.type === "text_complete";
144
+ }
145
+ function isRunCompleted(event) {
146
+ return event.type === "run_completed";
147
+ }
148
+ function isRunFailed(event) {
149
+ return event.type === "run_failed";
150
+ }
151
+ function isTurnCompleted(event) {
152
+ return event.type === "turn_completed";
153
+ }
154
+ function isToolCallRequested(event) {
155
+ return event.type === "tool_call_requested";
156
+ }
157
+ // ---------------------------------------------------------------------------
158
+ // EventStream (typed async iterator wrapping SSE → domain events)
159
+ // ---------------------------------------------------------------------------
160
+ /**
161
+ * Typed async iterator wrapping raw SSE events into domain events.
162
+ */
163
+ class EventStream {
164
+ _source;
165
+ _parse;
166
+ constructor(_source, _parse) {
167
+ this._source = _source;
168
+ this._parse = _parse;
169
+ }
170
+ async *[Symbol.asyncIterator]() {
171
+ for await (const sse of this._source) {
172
+ yield this._parse(sse);
173
+ }
174
+ }
175
+ }
176
+ exports.EventStream = EventStream;
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ /**
3
+ * Module authoring helpers and console route builders.
4
+ *
5
+ * These are public utilities for defining MobKit modules, tools, and
6
+ * admin console routes. Matches the Python SDK's `meerkat_mobkit.helpers`.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.defineModuleSpec = defineModuleSpec;
10
+ exports.decorateModuleSpec = decorateModuleSpec;
11
+ exports.decorateModuleTool = decorateModuleTool;
12
+ exports.defineModuleTool = defineModuleTool;
13
+ exports.defineModule = defineModule;
14
+ exports.buildConsoleRoute = buildConsoleRoute;
15
+ exports.buildConsoleModulesRoute = buildConsoleModulesRoute;
16
+ exports.buildConsoleExperienceRoute = buildConsoleExperienceRoute;
17
+ exports.buildConsoleRoutes = buildConsoleRoutes;
18
+ // -- Module spec helpers --------------------------------------------------
19
+ function defineModuleSpec(input) {
20
+ return {
21
+ id: input.id,
22
+ command: input.command,
23
+ args: input.args ?? [],
24
+ restart_policy: input.restartPolicy ?? "never",
25
+ };
26
+ }
27
+ function decorateModuleSpec(spec, ...decorators) {
28
+ const base = { ...spec, args: [...spec.args] };
29
+ return decorators.reduce((current, decorate) => decorate(current), base);
30
+ }
31
+ // -- Module tool helpers --------------------------------------------------
32
+ function decorateModuleTool(handler, ...decorators) {
33
+ return decorators.reduceRight((next, decorate) => decorate(next), handler);
34
+ }
35
+ function defineModuleTool(input) {
36
+ return {
37
+ name: input.name,
38
+ description: input.description,
39
+ handler: decorateModuleTool(input.handler, ...(input.decorators ?? [])),
40
+ };
41
+ }
42
+ // -- Module definition ----------------------------------------------------
43
+ function defineModule(input) {
44
+ return {
45
+ spec: { ...input.spec, args: [...input.spec.args] },
46
+ description: input.description,
47
+ tools: [...(input.tools ?? [])],
48
+ };
49
+ }
50
+ // -- Console route helpers ------------------------------------------------
51
+ function appendAuthToken(path, authToken) {
52
+ if (!authToken) {
53
+ return path;
54
+ }
55
+ const joiner = path.includes("?") ? "&" : "?";
56
+ return `${path}${joiner}auth_token=${encodeURIComponent(authToken)}`;
57
+ }
58
+ function buildConsoleRoute(path, authToken) {
59
+ return appendAuthToken(path, authToken);
60
+ }
61
+ function buildConsoleModulesRoute(authToken) {
62
+ return buildConsoleRoute("/console/modules", authToken);
63
+ }
64
+ function buildConsoleExperienceRoute(authToken) {
65
+ return buildConsoleRoute("/console/experience", authToken);
66
+ }
67
+ function buildConsoleRoutes(authToken) {
68
+ return {
69
+ modules: buildConsoleModulesRoute(authToken),
70
+ experience: buildConsoleExperienceRoute(authToken),
71
+ };
72
+ }
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ /**
3
+ * MobKit TypeScript SDK — companion orchestration for the Meerkat runtime.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import { MobKit } from "@rkat/mobkit-sdk";
8
+ *
9
+ * const rt = await MobKit.builder()
10
+ * .mob("config/mob.toml")
11
+ * .gateway("./target/release/phase0b_rpc_gateway")
12
+ * .build();
13
+ *
14
+ * const handle = rt.mobHandle();
15
+ * const status = await handle.status();
16
+ * console.log(status.contractVersion, status.loadedModules);
17
+ *
18
+ * for await (const event of handle.subscribeAgent("agent-1")) {
19
+ * if (event.event.type === "text_delta") {
20
+ * process.stdout.write(event.event.delta);
21
+ * }
22
+ * }
23
+ *
24
+ * await rt.shutdown();
25
+ * ```
26
+ */
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.parseAgentEventFromSse = exports.parseMobEventFromSse = exports.parseAgentEvent = exports.eventQueryToDict = exports.parseErrorEvent = exports.parsePersistedEvent = exports.parseReconcileEdgesReport = exports.parseRediscoverReport = exports.parseGatingPendingEntry = exports.parseGatingAuditEntry = exports.parseGatingDecisionResult = exports.parseGatingEvaluateResult = exports.parseRuntimeRouteResult = exports.parseMemberSnapshot = exports.parseCallToolResult = exports.parseMemoryIndexResult = exports.parseMemoryStoreInfo = exports.parseMemoryQueryResult = exports.parseDeliveryHistoryResult = exports.parseDeliveryResult = exports.parseRoutingResolution = exports.parseSendMessageResult = exports.parseSubscribeResult = exports.parseEventEnvelope = exports.parseKeepAliveConfig = exports.parseSpawnResult = exports.parseReconcileResult = exports.parseCapabilitiesResult = exports.parseStatusResult = exports.ErrorCategory = exports.MEMBER_STATE_RETIRING = exports.MEMBER_STATE_ACTIVE = exports.MobkitRpcError = exports.NotConnectedError = exports.ContractMismatchError = exports.CapabilityUnavailableError = exports.RpcError = exports.TransportError = exports.MobKitError = exports.CallbackDispatcher = exports.sessionQueryToDict = exports.preSpawnDataToDict = exports.discoverySpecToDict = exports.SessionBuildOptions = exports.SseBridge = exports.ToolCaller = exports.MobHandle = exports.MobKitRuntime = exports.MobKitBuilder = exports.MobKit = void 0;
29
+ exports.MobkitAsyncClient = exports.MobkitTypedClient = exports.encodeSseEvent = exports.parseSseStream = exports.createJsonRpcHttpTransport = exports.createGatewayAsyncTransport = exports.createGatewaySyncTransport = exports.buildJsonRpcRequest = exports.PersistentTransport = exports.buildConsoleRoutes = exports.buildConsoleExperienceRoute = exports.buildConsoleModulesRoute = exports.buildConsoleRoute = exports.defineModule = exports.defineModuleTool = exports.decorateModuleTool = exports.decorateModuleSpec = exports.defineModuleSpec = exports.sessionStore = exports.memory = exports.auth = exports.EventStream = exports.isToolCallRequested = exports.isTurnCompleted = exports.isRunFailed = exports.isRunCompleted = exports.isTextComplete = exports.isTextDelta = void 0;
30
+ // -- Builder + Runtime ----------------------------------------------------
31
+ var builder_js_1 = require("./builder.cjs");
32
+ Object.defineProperty(exports, "MobKit", { enumerable: true, get: function () { return builder_js_1.MobKit; } });
33
+ Object.defineProperty(exports, "MobKitBuilder", { enumerable: true, get: function () { return builder_js_1.MobKitBuilder; } });
34
+ var runtime_js_1 = require("./runtime.cjs");
35
+ Object.defineProperty(exports, "MobKitRuntime", { enumerable: true, get: function () { return runtime_js_1.MobKitRuntime; } });
36
+ Object.defineProperty(exports, "MobHandle", { enumerable: true, get: function () { return runtime_js_1.MobHandle; } });
37
+ Object.defineProperty(exports, "ToolCaller", { enumerable: true, get: function () { return runtime_js_1.ToolCaller; } });
38
+ Object.defineProperty(exports, "SseBridge", { enumerable: true, get: function () { return runtime_js_1.SseBridge; } });
39
+ // -- Data models ----------------------------------------------------------
40
+ var models_js_1 = require("./models.cjs");
41
+ Object.defineProperty(exports, "SessionBuildOptions", { enumerable: true, get: function () { return models_js_1.SessionBuildOptions; } });
42
+ var models_js_2 = require("./models.cjs");
43
+ Object.defineProperty(exports, "discoverySpecToDict", { enumerable: true, get: function () { return models_js_2.discoverySpecToDict; } });
44
+ Object.defineProperty(exports, "preSpawnDataToDict", { enumerable: true, get: function () { return models_js_2.preSpawnDataToDict; } });
45
+ Object.defineProperty(exports, "sessionQueryToDict", { enumerable: true, get: function () { return models_js_2.sessionQueryToDict; } });
46
+ var agent_builder_js_1 = require("./agent-builder.cjs");
47
+ Object.defineProperty(exports, "CallbackDispatcher", { enumerable: true, get: function () { return agent_builder_js_1.CallbackDispatcher; } });
48
+ // -- Errors ---------------------------------------------------------------
49
+ var errors_js_1 = require("./errors.cjs");
50
+ Object.defineProperty(exports, "MobKitError", { enumerable: true, get: function () { return errors_js_1.MobKitError; } });
51
+ Object.defineProperty(exports, "TransportError", { enumerable: true, get: function () { return errors_js_1.TransportError; } });
52
+ Object.defineProperty(exports, "RpcError", { enumerable: true, get: function () { return errors_js_1.RpcError; } });
53
+ Object.defineProperty(exports, "CapabilityUnavailableError", { enumerable: true, get: function () { return errors_js_1.CapabilityUnavailableError; } });
54
+ Object.defineProperty(exports, "ContractMismatchError", { enumerable: true, get: function () { return errors_js_1.ContractMismatchError; } });
55
+ Object.defineProperty(exports, "NotConnectedError", { enumerable: true, get: function () { return errors_js_1.NotConnectedError; } });
56
+ Object.defineProperty(exports, "MobkitRpcError", { enumerable: true, get: function () { return errors_js_1.MobkitRpcError; } });
57
+ // -- Typed return models --------------------------------------------------
58
+ var types_js_1 = require("./types.cjs");
59
+ Object.defineProperty(exports, "MEMBER_STATE_ACTIVE", { enumerable: true, get: function () { return types_js_1.MEMBER_STATE_ACTIVE; } });
60
+ Object.defineProperty(exports, "MEMBER_STATE_RETIRING", { enumerable: true, get: function () { return types_js_1.MEMBER_STATE_RETIRING; } });
61
+ Object.defineProperty(exports, "ErrorCategory", { enumerable: true, get: function () { return types_js_1.ErrorCategory; } });
62
+ Object.defineProperty(exports, "parseStatusResult", { enumerable: true, get: function () { return types_js_1.parseStatusResult; } });
63
+ Object.defineProperty(exports, "parseCapabilitiesResult", { enumerable: true, get: function () { return types_js_1.parseCapabilitiesResult; } });
64
+ Object.defineProperty(exports, "parseReconcileResult", { enumerable: true, get: function () { return types_js_1.parseReconcileResult; } });
65
+ Object.defineProperty(exports, "parseSpawnResult", { enumerable: true, get: function () { return types_js_1.parseSpawnResult; } });
66
+ Object.defineProperty(exports, "parseKeepAliveConfig", { enumerable: true, get: function () { return types_js_1.parseKeepAliveConfig; } });
67
+ Object.defineProperty(exports, "parseEventEnvelope", { enumerable: true, get: function () { return types_js_1.parseEventEnvelope; } });
68
+ Object.defineProperty(exports, "parseSubscribeResult", { enumerable: true, get: function () { return types_js_1.parseSubscribeResult; } });
69
+ Object.defineProperty(exports, "parseSendMessageResult", { enumerable: true, get: function () { return types_js_1.parseSendMessageResult; } });
70
+ Object.defineProperty(exports, "parseRoutingResolution", { enumerable: true, get: function () { return types_js_1.parseRoutingResolution; } });
71
+ Object.defineProperty(exports, "parseDeliveryResult", { enumerable: true, get: function () { return types_js_1.parseDeliveryResult; } });
72
+ Object.defineProperty(exports, "parseDeliveryHistoryResult", { enumerable: true, get: function () { return types_js_1.parseDeliveryHistoryResult; } });
73
+ Object.defineProperty(exports, "parseMemoryQueryResult", { enumerable: true, get: function () { return types_js_1.parseMemoryQueryResult; } });
74
+ Object.defineProperty(exports, "parseMemoryStoreInfo", { enumerable: true, get: function () { return types_js_1.parseMemoryStoreInfo; } });
75
+ Object.defineProperty(exports, "parseMemoryIndexResult", { enumerable: true, get: function () { return types_js_1.parseMemoryIndexResult; } });
76
+ Object.defineProperty(exports, "parseCallToolResult", { enumerable: true, get: function () { return types_js_1.parseCallToolResult; } });
77
+ Object.defineProperty(exports, "parseMemberSnapshot", { enumerable: true, get: function () { return types_js_1.parseMemberSnapshot; } });
78
+ Object.defineProperty(exports, "parseRuntimeRouteResult", { enumerable: true, get: function () { return types_js_1.parseRuntimeRouteResult; } });
79
+ Object.defineProperty(exports, "parseGatingEvaluateResult", { enumerable: true, get: function () { return types_js_1.parseGatingEvaluateResult; } });
80
+ Object.defineProperty(exports, "parseGatingDecisionResult", { enumerable: true, get: function () { return types_js_1.parseGatingDecisionResult; } });
81
+ Object.defineProperty(exports, "parseGatingAuditEntry", { enumerable: true, get: function () { return types_js_1.parseGatingAuditEntry; } });
82
+ Object.defineProperty(exports, "parseGatingPendingEntry", { enumerable: true, get: function () { return types_js_1.parseGatingPendingEntry; } });
83
+ Object.defineProperty(exports, "parseRediscoverReport", { enumerable: true, get: function () { return types_js_1.parseRediscoverReport; } });
84
+ Object.defineProperty(exports, "parseReconcileEdgesReport", { enumerable: true, get: function () { return types_js_1.parseReconcileEdgesReport; } });
85
+ Object.defineProperty(exports, "parsePersistedEvent", { enumerable: true, get: function () { return types_js_1.parsePersistedEvent; } });
86
+ Object.defineProperty(exports, "parseErrorEvent", { enumerable: true, get: function () { return types_js_1.parseErrorEvent; } });
87
+ Object.defineProperty(exports, "eventQueryToDict", { enumerable: true, get: function () { return types_js_1.eventQueryToDict; } });
88
+ // -- Typed events ---------------------------------------------------------
89
+ var events_js_1 = require("./events.cjs");
90
+ Object.defineProperty(exports, "parseAgentEvent", { enumerable: true, get: function () { return events_js_1.parseAgentEvent; } });
91
+ Object.defineProperty(exports, "parseMobEventFromSse", { enumerable: true, get: function () { return events_js_1.parseMobEventFromSse; } });
92
+ Object.defineProperty(exports, "parseAgentEventFromSse", { enumerable: true, get: function () { return events_js_1.parseAgentEventFromSse; } });
93
+ Object.defineProperty(exports, "isTextDelta", { enumerable: true, get: function () { return events_js_1.isTextDelta; } });
94
+ Object.defineProperty(exports, "isTextComplete", { enumerable: true, get: function () { return events_js_1.isTextComplete; } });
95
+ Object.defineProperty(exports, "isRunCompleted", { enumerable: true, get: function () { return events_js_1.isRunCompleted; } });
96
+ Object.defineProperty(exports, "isRunFailed", { enumerable: true, get: function () { return events_js_1.isRunFailed; } });
97
+ Object.defineProperty(exports, "isTurnCompleted", { enumerable: true, get: function () { return events_js_1.isTurnCompleted; } });
98
+ Object.defineProperty(exports, "isToolCallRequested", { enumerable: true, get: function () { return events_js_1.isToolCallRequested; } });
99
+ Object.defineProperty(exports, "EventStream", { enumerable: true, get: function () { return events_js_1.EventStream; } });
100
+ // -- Config modules -------------------------------------------------------
101
+ var index_js_1 = require("./config/index.cjs");
102
+ Object.defineProperty(exports, "auth", { enumerable: true, get: function () { return index_js_1.auth; } });
103
+ Object.defineProperty(exports, "memory", { enumerable: true, get: function () { return index_js_1.memory; } });
104
+ Object.defineProperty(exports, "sessionStore", { enumerable: true, get: function () { return index_js_1.sessionStore; } });
105
+ // -- Module authoring helpers ---------------------------------------------
106
+ var helpers_js_1 = require("./helpers.cjs");
107
+ Object.defineProperty(exports, "defineModuleSpec", { enumerable: true, get: function () { return helpers_js_1.defineModuleSpec; } });
108
+ Object.defineProperty(exports, "decorateModuleSpec", { enumerable: true, get: function () { return helpers_js_1.decorateModuleSpec; } });
109
+ Object.defineProperty(exports, "decorateModuleTool", { enumerable: true, get: function () { return helpers_js_1.decorateModuleTool; } });
110
+ Object.defineProperty(exports, "defineModuleTool", { enumerable: true, get: function () { return helpers_js_1.defineModuleTool; } });
111
+ Object.defineProperty(exports, "defineModule", { enumerable: true, get: function () { return helpers_js_1.defineModule; } });
112
+ Object.defineProperty(exports, "buildConsoleRoute", { enumerable: true, get: function () { return helpers_js_1.buildConsoleRoute; } });
113
+ Object.defineProperty(exports, "buildConsoleModulesRoute", { enumerable: true, get: function () { return helpers_js_1.buildConsoleModulesRoute; } });
114
+ Object.defineProperty(exports, "buildConsoleExperienceRoute", { enumerable: true, get: function () { return helpers_js_1.buildConsoleExperienceRoute; } });
115
+ Object.defineProperty(exports, "buildConsoleRoutes", { enumerable: true, get: function () { return helpers_js_1.buildConsoleRoutes; } });
116
+ // -- Transport (advanced usage) -------------------------------------------
117
+ var transport_js_1 = require("./transport.cjs");
118
+ Object.defineProperty(exports, "PersistentTransport", { enumerable: true, get: function () { return transport_js_1.PersistentTransport; } });
119
+ Object.defineProperty(exports, "buildJsonRpcRequest", { enumerable: true, get: function () { return transport_js_1.buildJsonRpcRequest; } });
120
+ Object.defineProperty(exports, "createGatewaySyncTransport", { enumerable: true, get: function () { return transport_js_1.createGatewaySyncTransport; } });
121
+ Object.defineProperty(exports, "createGatewayAsyncTransport", { enumerable: true, get: function () { return transport_js_1.createGatewayAsyncTransport; } });
122
+ Object.defineProperty(exports, "createJsonRpcHttpTransport", { enumerable: true, get: function () { return transport_js_1.createJsonRpcHttpTransport; } });
123
+ // -- SSE (advanced usage) -------------------------------------------------
124
+ var sse_js_1 = require("./sse.cjs");
125
+ Object.defineProperty(exports, "parseSseStream", { enumerable: true, get: function () { return sse_js_1.parseSseStream; } });
126
+ Object.defineProperty(exports, "encodeSseEvent", { enumerable: true, get: function () { return sse_js_1.encodeSseEvent; } });
127
+ // -- Low-level clients (backward compat) ----------------------------------
128
+ var client_js_1 = require("./client.cjs");
129
+ Object.defineProperty(exports, "MobkitTypedClient", { enumerable: true, get: function () { return client_js_1.MobkitTypedClient; } });
130
+ Object.defineProperty(exports, "MobkitAsyncClient", { enumerable: true, get: function () { return client_js_1.MobkitAsyncClient; } });
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ /**
3
+ * Typed data models for MobKit SDK — input/config objects sent to the runtime.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SessionBuildOptions = void 0;
7
+ exports.discoverySpecToDict = discoverySpecToDict;
8
+ exports.preSpawnDataToDict = preSpawnDataToDict;
9
+ exports.sessionQueryToDict = sessionQueryToDict;
10
+ function discoverySpecToDict(spec) {
11
+ const result = {
12
+ profile: spec.profile,
13
+ meerkat_id: spec.meerkatId,
14
+ };
15
+ if (spec.labels && Object.keys(spec.labels).length > 0) {
16
+ result.labels = { ...spec.labels };
17
+ }
18
+ if (spec.appContext !== undefined) {
19
+ result.app_context = spec.appContext;
20
+ }
21
+ if (spec.additionalInstructions && spec.additionalInstructions.length > 0) {
22
+ result.additional_instructions = [...spec.additionalInstructions];
23
+ }
24
+ if (spec.resumeSessionId !== undefined) {
25
+ result.resume_session_id = spec.resumeSessionId;
26
+ }
27
+ return result;
28
+ }
29
+ function preSpawnDataToDict(data) {
30
+ const result = {};
31
+ if (data.resumeMap && Object.keys(data.resumeMap).length > 0) {
32
+ result.resume_map = { ...data.resumeMap };
33
+ }
34
+ if (data.moduleId !== undefined) {
35
+ result.module_id = data.moduleId;
36
+ }
37
+ if (data.env && Object.keys(data.env).length > 0) {
38
+ result.env = Object.entries(data.env);
39
+ }
40
+ return result;
41
+ }
42
+ function sessionQueryToDict(query) {
43
+ const result = {};
44
+ if (query.agentType !== undefined)
45
+ result.agent_type = query.agentType;
46
+ if (query.ownerId !== undefined)
47
+ result.owner_id = query.ownerId;
48
+ if (query.labels && Object.keys(query.labels).length > 0) {
49
+ result.labels = { ...query.labels };
50
+ }
51
+ result.include_deleted = query.includeDeleted ?? false;
52
+ result.limit = query.limit ?? 100;
53
+ return result;
54
+ }
55
+ /**
56
+ * Mutable options passed to {@link SessionAgentBuilder.buildAgent}.
57
+ *
58
+ * The builder mutates fields during agent construction — sets profileName,
59
+ * calls {@link addTools} or {@link registerTool}.
60
+ *
61
+ * @example
62
+ * ```ts
63
+ * const builder: SessionAgentBuilder = {
64
+ * async buildAgent(opts) {
65
+ * opts.profileName = "assistant";
66
+ * opts.registerTool("search", searchHandler);
67
+ * },
68
+ * };
69
+ * ```
70
+ */
71
+ class SessionBuildOptions {
72
+ appContext = undefined;
73
+ additionalInstructions = [];
74
+ sessionId = null;
75
+ labels = {};
76
+ profileName = null;
77
+ _tools = [];
78
+ _toolHandlers = new Map();
79
+ /** Declare tool names the agent can use. */
80
+ addTools(tools) {
81
+ for (const t of tools) {
82
+ if (typeof t !== "string") {
83
+ throw new TypeError(`tools must be strings, got ${typeof t}: ${String(t)}`);
84
+ }
85
+ }
86
+ this._tools.push(...tools);
87
+ }
88
+ /** Register a callable tool with the agent. */
89
+ registerTool(name, handler) {
90
+ if (typeof name !== "string") {
91
+ throw new TypeError(`tool name must be a string, got ${typeof name}: ${String(name)}`);
92
+ }
93
+ if (typeof handler !== "function") {
94
+ throw new TypeError(`handler must be callable, got ${typeof handler}: ${String(handler)}`);
95
+ }
96
+ this._tools.push(name);
97
+ this._toolHandlers.set(name, handler);
98
+ }
99
+ get tools() {
100
+ return [...this._tools];
101
+ }
102
+ get toolHandlers() {
103
+ return new Map(this._toolHandlers);
104
+ }
105
+ toDict() {
106
+ const result = {};
107
+ if (this.appContext !== undefined)
108
+ result.app_context = this.appContext;
109
+ if (this.additionalInstructions.length > 0) {
110
+ result.additional_instructions = [...this.additionalInstructions];
111
+ }
112
+ if (this.sessionId !== null)
113
+ result.session_id = this.sessionId;
114
+ if (Object.keys(this.labels).length > 0) {
115
+ result.labels = { ...this.labels };
116
+ }
117
+ if (this.profileName !== null)
118
+ result.profile_name = this.profileName;
119
+ if (this._tools.length > 0)
120
+ result.tools = [...this._tools];
121
+ return result;
122
+ }
123
+ }
124
+ exports.SessionBuildOptions = SessionBuildOptions;