@rkat/mobkit-sdk 0.5.1 → 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.
Files changed (50) hide show
  1. package/dist/agent-builder.d.ts +13 -1
  2. package/dist/agent-builder.d.ts.map +1 -1
  3. package/dist/agent-builder.js +166 -1
  4. package/dist/agent-builder.js.map +1 -1
  5. package/dist/builder.d.ts +28 -0
  6. package/dist/builder.d.ts.map +1 -1
  7. package/dist/builder.js +57 -0
  8. package/dist/builder.js.map +1 -1
  9. package/dist/cjs/agent-builder.cjs +165 -0
  10. package/dist/cjs/builder.cjs +57 -0
  11. package/dist/cjs/errors.cjs +72 -2
  12. package/dist/cjs/events.cjs +15 -5
  13. package/dist/cjs/index.cjs +37 -2
  14. package/dist/cjs/models.cjs +2 -2
  15. package/dist/cjs/runtime.cjs +306 -16
  16. package/dist/cjs/sse.cjs +12 -8
  17. package/dist/cjs/transport.cjs +47 -17
  18. package/dist/cjs/types.cjs +483 -5
  19. package/dist/errors.d.ts +38 -1
  20. package/dist/errors.d.ts.map +1 -1
  21. package/dist/errors.js +68 -1
  22. package/dist/errors.js.map +1 -1
  23. package/dist/events.d.ts +7 -0
  24. package/dist/events.d.ts.map +1 -1
  25. package/dist/events.js +15 -5
  26. package/dist/events.js.map +1 -1
  27. package/dist/index.d.ts +3 -3
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +4 -2
  30. package/dist/index.js.map +1 -1
  31. package/dist/models.d.ts +2 -2
  32. package/dist/models.d.ts.map +1 -1
  33. package/dist/models.js +2 -2
  34. package/dist/models.js.map +1 -1
  35. package/dist/runtime.d.ts +93 -3
  36. package/dist/runtime.d.ts.map +1 -1
  37. package/dist/runtime.js +308 -18
  38. package/dist/runtime.js.map +1 -1
  39. package/dist/sse.d.ts.map +1 -1
  40. package/dist/sse.js +12 -8
  41. package/dist/sse.js.map +1 -1
  42. package/dist/transport.d.ts +13 -0
  43. package/dist/transport.d.ts.map +1 -1
  44. package/dist/transport.js +46 -16
  45. package/dist/transport.js.map +1 -1
  46. package/dist/types.d.ts +265 -4
  47. package/dist/types.d.ts.map +1 -1
  48. package/dist/types.js +454 -5
  49. package/dist/types.js.map +1 -1
  50. package/package.json +1 -1
@@ -68,6 +68,13 @@ function defaultConfig() {
68
68
  authConfig: null,
69
69
  gatewayBin: null,
70
70
  modules: [],
71
+ persistentState: null,
72
+ continuityStore: null,
73
+ leaseProvider: null,
74
+ scratchDir: null,
75
+ rosterProvider: null,
76
+ agentCustomizer: null,
77
+ topologyProvider: null,
71
78
  };
72
79
  }
73
80
  // -- MobKitBuilder --------------------------------------------------------
@@ -139,12 +146,62 @@ class MobKitBuilder {
139
146
  this._config.modules = moduleSpecs;
140
147
  return this;
141
148
  }
149
+ /**
150
+ * Enable persistent state at the given path.
151
+ *
152
+ * When set, the gateway creates SQLite session store, FsBlobStore,
153
+ * and redb mob storage under this directory.
154
+ */
155
+ persistentState(path) {
156
+ this._config.persistentState = path;
157
+ return this;
158
+ }
159
+ /** Set an external ContinuityStore provider. Mutually exclusive with persistentState. */
160
+ continuityStore(store) {
161
+ this._config.continuityStore = store;
162
+ return this;
163
+ }
164
+ /** Set an external LeaseProvider. Mutually exclusive with persistentState. */
165
+ leaseProvider(provider) {
166
+ this._config.leaseProvider = provider;
167
+ return this;
168
+ }
169
+ /** Set scratch directory for external provider path. */
170
+ scratchDir(path) {
171
+ this._config.scratchDir = path;
172
+ return this;
173
+ }
174
+ /** Set a RosterProvider. */
175
+ rosterProvider(provider) {
176
+ this._config.rosterProvider = provider;
177
+ return this;
178
+ }
179
+ /** Set an AgentCustomizer. */
180
+ agentCustomizer(customizer) {
181
+ this._config.agentCustomizer = customizer;
182
+ return this;
183
+ }
184
+ /** Set a TopologyProvider. */
185
+ topologyProvider(provider) {
186
+ this._config.topologyProvider = provider;
187
+ return this;
188
+ }
142
189
  async build() {
190
+ this._validateConfig();
143
191
  this._applyConventionDefaults();
144
192
  // Dynamic import to break circular dep (runtime imports from builder config type)
145
193
  const { MobKitRuntime } = await Promise.resolve().then(() => __importStar(require("./runtime.cjs")));
146
194
  return MobKitRuntime._create(this._config);
147
195
  }
196
+ _validateConfig() {
197
+ const hasPersistent = this._config.persistentState !== null;
198
+ const hasExternal = this._config.continuityStore !== null ||
199
+ this._config.leaseProvider !== null;
200
+ if (hasPersistent && hasExternal) {
201
+ throw new Error("persistentState and continuityStore/leaseProvider are mutually exclusive — " +
202
+ "use one path or the other, not both");
203
+ }
204
+ }
148
205
  _applyConventionDefaults() {
149
206
  if (this._config.gatingConfigPath === null) {
150
207
  const candidate = "config/gating.toml";
@@ -16,7 +16,9 @@
16
16
  * ```
17
17
  */
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.MobkitRpcError = exports.NotConnectedError = exports.ContractMismatchError = exports.CapabilityUnavailableError = exports.RpcError = exports.TransportError = exports.MobKitError = void 0;
19
+ exports.MobkitRpcError = exports.NotConnectedError = exports.ContractMismatchError = exports.CapabilityUnavailableError = exports.MobEventsStaleError = exports.MOB_EVENTS_STALE_CURSOR_CODE = exports.RpcError = exports.TransportError = exports.MobKitError = void 0;
20
+ exports.isRpcError = isRpcError;
21
+ exports.isMobEventsStaleError = isMobEventsStaleError;
20
22
  // -- Base error -----------------------------------------------------------
21
23
  /** Base exception for all MobKit SDK errors. */
22
24
  class MobKitError extends Error {
@@ -41,15 +43,54 @@ class RpcError extends MobKitError {
41
43
  code;
42
44
  requestId;
43
45
  method;
44
- constructor(code, message, requestId, method) {
46
+ data;
47
+ constructor(code, message, requestId, method,
48
+ /** Optional structured payload from the JSON-RPC `error.data` field. */
49
+ data) {
45
50
  super(message);
46
51
  this.code = code;
47
52
  this.requestId = requestId;
48
53
  this.method = method;
54
+ this.data = data;
49
55
  this.name = "RpcError";
50
56
  }
51
57
  }
52
58
  exports.RpcError = RpcError;
59
+ /**
60
+ * JSON-RPC error code returned when the caller's `after_seq` is past the
61
+ * current ledger frontier. Returned by `mobkit/mob_events/{query,subscribe}`
62
+ * and the `/mobkit/mob_events/stream` SSE route (HTTP 410 Gone).
63
+ */
64
+ exports.MOB_EVENTS_STALE_CURSOR_CODE = -32010;
65
+ /**
66
+ * Raised when the caller passes an `after_seq` past the current ledger
67
+ * frontier. The server's `error.data` payload carries `after_cursor` and
68
+ * `latest_cursor` — use the latter to rewind and resume.
69
+ */
70
+ class MobEventsStaleError extends RpcError {
71
+ afterCursor;
72
+ latestCursor;
73
+ constructor(message, afterCursor, latestCursor, requestId, method, data) {
74
+ super(exports.MOB_EVENTS_STALE_CURSOR_CODE, message, requestId, method, data);
75
+ this.afterCursor = afterCursor;
76
+ this.latestCursor = latestCursor;
77
+ this.name = "MobEventsStaleError";
78
+ }
79
+ /**
80
+ * Reify a generic {@link RpcError} with code `-32010` into the typed
81
+ * form. Reads `after_cursor` / `latest_cursor` from the JSON-RPC
82
+ * `error.data` payload; missing fields fall back to `0`.
83
+ */
84
+ static fromRpcError(err) {
85
+ const payload = typeof err.data === "object" && err.data !== null
86
+ ? err.data
87
+ : {};
88
+ const afterCursor = Number(payload.after_cursor ?? 0);
89
+ const latestCursor = Number(payload.latest_cursor ?? 0);
90
+ return new MobEventsStaleError(err.message, Number.isFinite(afterCursor) ? afterCursor : 0, Number.isFinite(latestCursor) ? latestCursor : 0, err.requestId, err.method, err.data);
91
+ }
92
+ }
93
+ exports.MobEventsStaleError = MobEventsStaleError;
53
94
  // -- Capability errors ----------------------------------------------------
54
95
  /** Raised when a requested capability is not available on the runtime. */
55
96
  class CapabilityUnavailableError extends MobKitError {
@@ -77,6 +118,35 @@ class NotConnectedError extends MobKitError {
77
118
  }
78
119
  }
79
120
  exports.NotConnectedError = NotConnectedError;
121
+ // -- Cross-module identity helpers ---------------------------------------
122
+ /**
123
+ * Structural test for an `RpcError`. Pre-fix every site used
124
+ * `err instanceof RpcError`, but JS class identity is module-scoped:
125
+ * dual CJS+ESM packaging, vitest module isolation, and hoisted-vs-
126
+ * nested workspace deps can produce two `RpcError` constructors that
127
+ * fail `instanceof` for each other's instances. The structural check
128
+ * survives those splits.
129
+ */
130
+ function isRpcError(err) {
131
+ if (err instanceof RpcError) {
132
+ return true;
133
+ }
134
+ if (err === null || typeof err !== "object") {
135
+ return false;
136
+ }
137
+ const candidate = err;
138
+ return (candidate.name === "RpcError" ||
139
+ candidate.name === "MobEventsStaleError") && typeof candidate.code === "number";
140
+ }
141
+ /** Structural test for a `MobEventsStaleError`. See `isRpcError`. */
142
+ function isMobEventsStaleError(err) {
143
+ if (err instanceof MobEventsStaleError) {
144
+ return true;
145
+ }
146
+ return (isRpcError(err) &&
147
+ err.code === exports.MOB_EVENTS_STALE_CURSOR_CODE &&
148
+ err.name === "MobEventsStaleError");
149
+ }
80
150
  // -- Backward compatibility -----------------------------------------------
81
151
  /** @deprecated Use {@link RpcError} instead. */
82
152
  exports.MobkitRpcError = RpcError;
@@ -36,11 +36,21 @@ const EVENT_MAP = {
36
36
  sessionId: String(raw.session_id ?? ""),
37
37
  prompt: String(raw.prompt ?? ""),
38
38
  }),
39
- run_completed: (raw) => ({
40
- type: "run_completed",
41
- sessionId: String(raw.session_id ?? ""),
42
- result: String(raw.result ?? ""),
43
- }),
39
+ run_completed: (raw) => {
40
+ // `structured_output` is `skip_serializing_if = "Option::is_none"`
41
+ // upstream, so the field is absent (not `null`) when there's no
42
+ // schema-extracted value. Mirror that on the TS side: undefined
43
+ // when missing, pass-through value otherwise.
44
+ const evt = {
45
+ type: "run_completed",
46
+ sessionId: String(raw.session_id ?? ""),
47
+ result: String(raw.result ?? ""),
48
+ };
49
+ if (raw.structured_output !== undefined) {
50
+ return { ...evt, structuredOutput: raw.structured_output };
51
+ }
52
+ return evt;
53
+ },
44
54
  run_failed: (raw) => ({
45
55
  type: "run_failed",
46
56
  sessionId: String(raw.session_id ?? ""),
@@ -25,8 +25,9 @@
25
25
  * ```
26
26
  */
27
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;
28
+ exports.parseMobStructuralEvent = 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.isMobEventsStaleError = exports.isRpcError = exports.MobkitRpcError = exports.NotConnectedError = exports.ContractMismatchError = exports.CapabilityUnavailableError = exports.MOB_EVENTS_STALE_CURSOR_CODE = exports.MobEventsStaleError = 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.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 = exports.parseAgentEventFromSse = exports.parseMobEventFromSse = exports.parseAgentEvent = exports.parseLeaseRenewResult = exports.parseLeaseAcquireResult = exports.leaseGrantToDict = exports.parseLeaseGrant = exports.sessionSnapshotToDict = exports.parseSessionSnapshot = exports.parseContinuityResolveState = exports.parseContinuityFailure = exports.continuityRecordToDict = exports.parseContinuityRecord = exports.parseIdentityStatus = exports.agentBuildDraftToDict = exports.parseAgentBuildDraft = exports.parseAgentBuildContext = exports.externalToolDefToDict = exports.parseExternalToolDef = exports.managedPeerEdgeToDict = exports.parseManagedPeerEdge = exports.dispatchInputToDict = exports.parseDispatchInput = exports.durableAgentSpecToDict = exports.parseDurableAgentSpec = exports.eventQueryToDict = exports.parseErrorEvent = exports.parseLoopIterationRecord = exports.parseLoopRecord = exports.parseFrameRecord = exports.parseFailureRecord = exports.parseStepRecord = exports.parseMobRun = void 0;
30
+ exports.MobkitAsyncClient = exports.MobkitTypedClient = exports.encodeSseEvent = exports.parseSseStream = exports.createJsonRpcHttpTransport = exports.createGatewayAsyncTransport = exports.createGatewaySyncTransport = exports.buildJsonRpcRequest = exports.PersistentTransport = exports.buildConsoleRoutes = exports.buildConsoleExperienceRoute = void 0;
30
31
  // -- Builder + Runtime ----------------------------------------------------
31
32
  var builder_js_1 = require("./builder.cjs");
32
33
  Object.defineProperty(exports, "MobKit", { enumerable: true, get: function () { return builder_js_1.MobKit; } });
@@ -50,10 +51,14 @@ var errors_js_1 = require("./errors.cjs");
50
51
  Object.defineProperty(exports, "MobKitError", { enumerable: true, get: function () { return errors_js_1.MobKitError; } });
51
52
  Object.defineProperty(exports, "TransportError", { enumerable: true, get: function () { return errors_js_1.TransportError; } });
52
53
  Object.defineProperty(exports, "RpcError", { enumerable: true, get: function () { return errors_js_1.RpcError; } });
54
+ Object.defineProperty(exports, "MobEventsStaleError", { enumerable: true, get: function () { return errors_js_1.MobEventsStaleError; } });
55
+ Object.defineProperty(exports, "MOB_EVENTS_STALE_CURSOR_CODE", { enumerable: true, get: function () { return errors_js_1.MOB_EVENTS_STALE_CURSOR_CODE; } });
53
56
  Object.defineProperty(exports, "CapabilityUnavailableError", { enumerable: true, get: function () { return errors_js_1.CapabilityUnavailableError; } });
54
57
  Object.defineProperty(exports, "ContractMismatchError", { enumerable: true, get: function () { return errors_js_1.ContractMismatchError; } });
55
58
  Object.defineProperty(exports, "NotConnectedError", { enumerable: true, get: function () { return errors_js_1.NotConnectedError; } });
56
59
  Object.defineProperty(exports, "MobkitRpcError", { enumerable: true, get: function () { return errors_js_1.MobkitRpcError; } });
60
+ Object.defineProperty(exports, "isRpcError", { enumerable: true, get: function () { return errors_js_1.isRpcError; } });
61
+ Object.defineProperty(exports, "isMobEventsStaleError", { enumerable: true, get: function () { return errors_js_1.isMobEventsStaleError; } });
57
62
  // -- Typed return models --------------------------------------------------
58
63
  var types_js_1 = require("./types.cjs");
59
64
  Object.defineProperty(exports, "MEMBER_STATE_ACTIVE", { enumerable: true, get: function () { return types_js_1.MEMBER_STATE_ACTIVE; } });
@@ -83,8 +88,38 @@ Object.defineProperty(exports, "parseGatingPendingEntry", { enumerable: true, ge
83
88
  Object.defineProperty(exports, "parseRediscoverReport", { enumerable: true, get: function () { return types_js_1.parseRediscoverReport; } });
84
89
  Object.defineProperty(exports, "parseReconcileEdgesReport", { enumerable: true, get: function () { return types_js_1.parseReconcileEdgesReport; } });
85
90
  Object.defineProperty(exports, "parsePersistedEvent", { enumerable: true, get: function () { return types_js_1.parsePersistedEvent; } });
91
+ Object.defineProperty(exports, "parseMobStructuralEvent", { enumerable: true, get: function () { return types_js_1.parseMobStructuralEvent; } });
92
+ Object.defineProperty(exports, "parseMobRun", { enumerable: true, get: function () { return types_js_1.parseMobRun; } });
93
+ Object.defineProperty(exports, "parseStepRecord", { enumerable: true, get: function () { return types_js_1.parseStepRecord; } });
94
+ Object.defineProperty(exports, "parseFailureRecord", { enumerable: true, get: function () { return types_js_1.parseFailureRecord; } });
95
+ Object.defineProperty(exports, "parseFrameRecord", { enumerable: true, get: function () { return types_js_1.parseFrameRecord; } });
96
+ Object.defineProperty(exports, "parseLoopRecord", { enumerable: true, get: function () { return types_js_1.parseLoopRecord; } });
97
+ Object.defineProperty(exports, "parseLoopIterationRecord", { enumerable: true, get: function () { return types_js_1.parseLoopIterationRecord; } });
86
98
  Object.defineProperty(exports, "parseErrorEvent", { enumerable: true, get: function () { return types_js_1.parseErrorEvent; } });
87
99
  Object.defineProperty(exports, "eventQueryToDict", { enumerable: true, get: function () { return types_js_1.eventQueryToDict; } });
100
+ // Identity-first parsers
101
+ Object.defineProperty(exports, "parseDurableAgentSpec", { enumerable: true, get: function () { return types_js_1.parseDurableAgentSpec; } });
102
+ Object.defineProperty(exports, "durableAgentSpecToDict", { enumerable: true, get: function () { return types_js_1.durableAgentSpecToDict; } });
103
+ Object.defineProperty(exports, "parseDispatchInput", { enumerable: true, get: function () { return types_js_1.parseDispatchInput; } });
104
+ Object.defineProperty(exports, "dispatchInputToDict", { enumerable: true, get: function () { return types_js_1.dispatchInputToDict; } });
105
+ Object.defineProperty(exports, "parseManagedPeerEdge", { enumerable: true, get: function () { return types_js_1.parseManagedPeerEdge; } });
106
+ Object.defineProperty(exports, "managedPeerEdgeToDict", { enumerable: true, get: function () { return types_js_1.managedPeerEdgeToDict; } });
107
+ Object.defineProperty(exports, "parseExternalToolDef", { enumerable: true, get: function () { return types_js_1.parseExternalToolDef; } });
108
+ Object.defineProperty(exports, "externalToolDefToDict", { enumerable: true, get: function () { return types_js_1.externalToolDefToDict; } });
109
+ Object.defineProperty(exports, "parseAgentBuildContext", { enumerable: true, get: function () { return types_js_1.parseAgentBuildContext; } });
110
+ Object.defineProperty(exports, "parseAgentBuildDraft", { enumerable: true, get: function () { return types_js_1.parseAgentBuildDraft; } });
111
+ Object.defineProperty(exports, "agentBuildDraftToDict", { enumerable: true, get: function () { return types_js_1.agentBuildDraftToDict; } });
112
+ Object.defineProperty(exports, "parseIdentityStatus", { enumerable: true, get: function () { return types_js_1.parseIdentityStatus; } });
113
+ Object.defineProperty(exports, "parseContinuityRecord", { enumerable: true, get: function () { return types_js_1.parseContinuityRecord; } });
114
+ Object.defineProperty(exports, "continuityRecordToDict", { enumerable: true, get: function () { return types_js_1.continuityRecordToDict; } });
115
+ Object.defineProperty(exports, "parseContinuityFailure", { enumerable: true, get: function () { return types_js_1.parseContinuityFailure; } });
116
+ Object.defineProperty(exports, "parseContinuityResolveState", { enumerable: true, get: function () { return types_js_1.parseContinuityResolveState; } });
117
+ Object.defineProperty(exports, "parseSessionSnapshot", { enumerable: true, get: function () { return types_js_1.parseSessionSnapshot; } });
118
+ Object.defineProperty(exports, "sessionSnapshotToDict", { enumerable: true, get: function () { return types_js_1.sessionSnapshotToDict; } });
119
+ Object.defineProperty(exports, "parseLeaseGrant", { enumerable: true, get: function () { return types_js_1.parseLeaseGrant; } });
120
+ Object.defineProperty(exports, "leaseGrantToDict", { enumerable: true, get: function () { return types_js_1.leaseGrantToDict; } });
121
+ Object.defineProperty(exports, "parseLeaseAcquireResult", { enumerable: true, get: function () { return types_js_1.parseLeaseAcquireResult; } });
122
+ Object.defineProperty(exports, "parseLeaseRenewResult", { enumerable: true, get: function () { return types_js_1.parseLeaseRenewResult; } });
88
123
  // -- Typed events ---------------------------------------------------------
89
124
  var events_js_1 = require("./events.cjs");
90
125
  Object.defineProperty(exports, "parseAgentEvent", { enumerable: true, get: function () { return events_js_1.parseAgentEvent; } });
@@ -9,8 +9,8 @@ exports.preSpawnDataToDict = preSpawnDataToDict;
9
9
  exports.sessionQueryToDict = sessionQueryToDict;
10
10
  function discoverySpecToDict(spec) {
11
11
  const result = {
12
- profile: spec.profile,
13
- meerkat_id: spec.meerkatId,
12
+ role: spec.role,
13
+ agent_identity: spec.agentIdentity,
14
14
  };
15
15
  if (spec.labels && Object.keys(spec.labels).length > 0) {
16
16
  result.labels = { ...spec.labels };