@rkat/sdk 0.5.2 → 0.6.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.
@@ -0,0 +1,166 @@
1
+ import { MeerkatError } from "./generated/errors.js";
2
+ import { AsyncQueue } from "./streaming.js";
3
+ import WebSocket from "ws";
4
+ export class RealtimeConnection {
5
+ socket;
6
+ frames = new AsyncQueue();
7
+ constructor(socket) {
8
+ this.socket = socket;
9
+ this.socket.on("message", (data) => {
10
+ const payload = typeof data === "string"
11
+ ? data
12
+ : (Buffer.isBuffer(data) ? data.toString("utf8") : String(data));
13
+ this.frames.put(JSON.parse(payload));
14
+ });
15
+ this.socket.on("close", () => {
16
+ this.frames.put(null);
17
+ });
18
+ }
19
+ static async open(openInfo, options) {
20
+ const role = options?.role ?? "primary";
21
+ const turningMode = options?.turningMode ?? "provider_managed";
22
+ const socket = await new Promise((resolve, reject) => {
23
+ const ws = new WebSocket(openInfo.ws_url);
24
+ ws.once("open", () => resolve(ws));
25
+ ws.once("error", (error) => reject(error));
26
+ });
27
+ const connection = new RealtimeConnection(socket);
28
+ await connection.sendFrame({
29
+ type: "channel.open",
30
+ protocol_version: openInfo.default_protocol_version,
31
+ open_token: openInfo.open_token,
32
+ role,
33
+ turning_mode: turningMode,
34
+ });
35
+ const opened = await connection.nextFrame();
36
+ if (opened === null) {
37
+ throw new MeerkatError("REALTIME_OPEN_FAILED", "realtime websocket closed before channel.open completed");
38
+ }
39
+ const openedRecord = opened;
40
+ if (openedRecord.type === "channel.error") {
41
+ throw new MeerkatError("REALTIME_OPEN_FAILED", String(openedRecord.message ?? "realtime websocket rejected channel.open"));
42
+ }
43
+ if (openedRecord.type !== "channel.opened") {
44
+ throw new MeerkatError("INVALID_RESPONSE", `Expected channel.opened after channel.open, got ${String(openedRecord.type)}`);
45
+ }
46
+ return connection;
47
+ }
48
+ async sendFrame(frame) {
49
+ await new Promise((resolve, reject) => {
50
+ this.socket.send(JSON.stringify(frame), (error) => {
51
+ if (error) {
52
+ reject(error);
53
+ return;
54
+ }
55
+ resolve();
56
+ });
57
+ });
58
+ }
59
+ async sendInput(chunk) {
60
+ await this.sendFrame({
61
+ type: "channel.input",
62
+ chunk,
63
+ });
64
+ }
65
+ async commitTurn() {
66
+ await this.sendFrame({ type: "channel.commit_turn" });
67
+ }
68
+ async interrupt() {
69
+ await this.sendFrame({ type: "channel.interrupt" });
70
+ }
71
+ async close() {
72
+ await this.sendFrame({ type: "channel.close" });
73
+ }
74
+ async nextFrame() {
75
+ return this.frames.get();
76
+ }
77
+ }
78
+ export class RealtimeChannel {
79
+ client;
80
+ // The wire target that crosses the RPC boundary. Carries identity
81
+ // directly for `mob_member` channels (W3-H); the server resolves the
82
+ // current bridge session on every tick from the MobMachine's
83
+ // canonical member-session map, so the SDK never pins a session id.
84
+ target;
85
+ role;
86
+ turningMode;
87
+ reconnectPolicy;
88
+ constructor(client, target, options) {
89
+ this.client = client;
90
+ this.target = target;
91
+ this.role = options?.role ?? "primary";
92
+ this.turningMode = options?.turningMode ?? "provider_managed";
93
+ this.reconnectPolicy = options?.reconnectPolicy;
94
+ }
95
+ static session(client, sessionId, options) {
96
+ return new RealtimeChannel(client, { type: "session_target", session_id: sessionId }, options);
97
+ }
98
+ static mobMember(client, mobId, agentIdentity, options) {
99
+ // W3-H: identity is a first-class wire fact. The channel target is
100
+ // `mob_member { mob_id, agent_identity }`; the server resolves the
101
+ // current bridge session from the MobMachine's canonical member-session
102
+ // map on every tick, so respawn rotates the bridge session without
103
+ // any SDK round-trip or session-id pin.
104
+ return new RealtimeChannel(client, { type: "mob_member", mob_id: mobId, agent_identity: agentIdentity }, options);
105
+ }
106
+ wireReconnectPolicy() {
107
+ if (!this.reconnectPolicy) {
108
+ return undefined;
109
+ }
110
+ return { ...this.reconnectPolicy };
111
+ }
112
+ openRequest() {
113
+ return {
114
+ target: { ...this.target },
115
+ role: this.role,
116
+ turning_mode: this.turningMode,
117
+ reconnect_policy: this.wireReconnectPolicy(),
118
+ };
119
+ }
120
+ async openInfo() {
121
+ return this.client.realtimeOpenInfo(this.openRequest());
122
+ }
123
+ async status() {
124
+ return this.client.realtimeStatus({ target: { ...this.target } });
125
+ }
126
+ async capabilities() {
127
+ return this.client.realtimeCapabilities({ target: { ...this.target } });
128
+ }
129
+ async connectWithOpenInfo(openInfo) {
130
+ if (JSON.stringify(openInfo.target) !== JSON.stringify(this.target)) {
131
+ throw new MeerkatError("INVALID_RESPONSE", "realtime/open_info returned a target that does not match the requested channel target");
132
+ }
133
+ return RealtimeConnection.open(openInfo, {
134
+ role: this.role,
135
+ turningMode: this.turningMode,
136
+ });
137
+ }
138
+ async connect(options) {
139
+ const conn = await this.connectWithOpenInfo(await this.openInfo());
140
+ const wait = options?.waitForAttachment ?? true;
141
+ if (wait) {
142
+ const timeoutMs = options?.attachmentTimeoutMs ?? 30_000;
143
+ const deadline = Date.now() + timeoutMs;
144
+ let attached = false;
145
+ while (Date.now() < deadline) {
146
+ try {
147
+ const st = await this.status();
148
+ if (st.status.state === "ready") {
149
+ attached = true;
150
+ break;
151
+ }
152
+ }
153
+ catch {
154
+ // status may fail transiently during attachment
155
+ }
156
+ await new Promise((r) => setTimeout(r, 250));
157
+ }
158
+ if (!attached) {
159
+ conn.close();
160
+ throw new MeerkatError("REALTIME_ATTACHMENT_TIMEOUT", `realtime transport did not reach ready state within ${timeoutMs}ms`);
161
+ }
162
+ }
163
+ return conn;
164
+ }
165
+ }
166
+ //# sourceMappingURL=realtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtime.js","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"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"}
package/dist/session.d.ts CHANGED
@@ -18,7 +18,7 @@
18
18
  * }
19
19
  * ```
20
20
  */
21
- import type { AgentEventEnvelope, CommsSendReceipt, ContentBlock, RunResult, SessionHistory, SessionIngressOptions, SkillRef, TurnOptions } from "./types.js";
21
+ import type { AgentEventEnvelope, CommsCommand, CommsSendReceipt, ContentBlock, PeerCorrelationId, PeerId, PeerResponseTerminalOptions, RunResult, SessionHistory, SessionIngressOptions, SkillRef, TurnOptions } from "./types.js";
22
22
  import type { MeerkatClient } from "./client.js";
23
23
  import type { EventStream } from "./streaming.js";
24
24
  import type { EventSubscription } from "./subscription.js";
@@ -49,16 +49,19 @@ export declare class Session {
49
49
  injectContext(text: string, options?: SessionIngressOptions): Promise<{
50
50
  status: string;
51
51
  }>;
52
+ sendExternalEvent(eventType: string, payload: unknown, options?: {
53
+ blocks?: ContentBlock[];
54
+ }): Promise<Record<string, unknown>>;
55
+ sendPeerResponseTerminal(peerId: PeerId, requestId: PeerCorrelationId, status: "completed" | "failed" | "cancelled", result: unknown, options?: PeerResponseTerminalOptions): Promise<Record<string, unknown>>;
52
56
  subscribeEvents(): Promise<EventSubscription<AgentEventEnvelope>>;
53
57
  invokeSkill(skillRef: SkillRef, prompt: string | ContentBlock[]): Promise<RunResult>;
54
- send(command: Record<string, unknown>): Promise<CommsSendReceipt>;
58
+ send(command: CommsCommand): Promise<CommsSendReceipt>;
55
59
  peers(): Promise<Array<Record<string, unknown>>>;
56
60
  toString(): string;
57
61
  }
58
62
  /** Turn-time override options for deferred sessions. */
59
63
  export interface DeferredTurnOptions {
60
64
  skillRefs?: SkillRef[];
61
- skillReferences?: string[];
62
65
  flowToolOverlay?: TurnOptions["flowToolOverlay"];
63
66
  additionalInstructions?: TurnOptions["additionalInstructions"];
64
67
  keepAlive?: TurnOptions["keepAlive"];
@@ -101,6 +104,10 @@ export declare class DeferredSession {
101
104
  injectContext(text: string, options?: SessionIngressOptions): Promise<{
102
105
  status: string;
103
106
  }>;
107
+ sendExternalEvent(eventType: string, payload: unknown, options?: {
108
+ blocks?: ContentBlock[];
109
+ }): Promise<Record<string, unknown>>;
110
+ sendPeerResponseTerminal(peerId: PeerId, requestId: PeerCorrelationId, status: "completed" | "failed" | "cancelled", result: unknown, options?: PeerResponseTerminalOptions): Promise<Record<string, unknown>>;
104
111
  toString(): string;
105
112
  }
106
113
  //# sourceMappingURL=session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
package/dist/session.js CHANGED
@@ -75,16 +75,27 @@ export class Session {
75
75
  async injectContext(text, options) {
76
76
  return this._client.injectContext(this._id, text, options);
77
77
  }
78
+ async sendExternalEvent(eventType, payload, options) {
79
+ return this._client.sendExternalEvent(this._id, eventType, payload, options);
80
+ }
81
+ async sendPeerResponseTerminal(peerId, requestId, status, result, options) {
82
+ return this._client.sendPeerResponseTerminal(this._id, peerId, requestId, status, result, options);
83
+ }
78
84
  async subscribeEvents() {
79
85
  return this._client.subscribeSessionEvents(this._id);
80
86
  }
81
87
  async invokeSkill(skillRef, prompt) {
82
88
  this._client.requireCapability("skills");
89
+ if (skillRef === null ||
90
+ typeof skillRef !== "object" ||
91
+ typeof skillRef.sourceUuid !== "string" ||
92
+ typeof skillRef.skillName !== "string") {
93
+ throw new Error("Skill references must be SkillKey objects");
94
+ }
83
95
  return this.turn(prompt, { skillRefs: [skillRef] });
84
96
  }
85
97
  async send(command) {
86
- const { session_id: _ignored, ...rest } = command;
87
- return this._client._send(this._id, rest);
98
+ return this._client._send(this._id, command);
88
99
  }
89
100
  async peers() {
90
101
  const result = await this._client._peers(this._id);
@@ -141,6 +152,12 @@ export class DeferredSession {
141
152
  async injectContext(text, options) {
142
153
  return this._client.injectContext(this._id, text, options);
143
154
  }
155
+ async sendExternalEvent(eventType, payload, options) {
156
+ return this._client.sendExternalEvent(this._id, eventType, payload, options);
157
+ }
158
+ async sendPeerResponseTerminal(peerId, requestId, status, result, options) {
159
+ return this._client.sendPeerResponseTerminal(this._id, peerId, requestId, status, result, options);
160
+ }
144
161
  toString() {
145
162
  const ref = this._ref ? ` ref=${this._ref}` : "";
146
163
  return `DeferredSession(id=${this._id}${ref})`;
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -3,8 +3,23 @@
3
3
  *
4
4
  * These replace the `Wire*` prefixed generated types.
5
5
  */
6
- import type { Usage } from "./events.js";
7
- export type { Usage } from "./events.js";
6
+ import type { MobBackendConfigInput, MobEventRouterConfigInput, MobFlowSpecInput, MobLimitsSpecInput, MobOrchestratorInput, MobSkillSourceInput, MobSpawnPolicyInput, MobSupervisorSpecInput, MobToolConfigInput, MobTopologySpecInput, MobTurnStartParams, MobWiringRulesInput, WireBudgetSplitPolicy, WireAuthBindingRef, WireContentInput, WireMemberLaunchMode, WireMobBackendKind, WireMobProfile, WireMobRuntimeMode, WireRuntimeBinding, WireToolAccessPolicy, WireToolFilter } from "./generated/types.js";
7
+ import type { TurnTerminalCauseKind, Usage } from "./events.js";
8
+ export type { TurnTerminalCauseKind, Usage } from "./events.js";
9
+ declare const peerIdBrand: unique symbol;
10
+ declare const peerCorrelationIdBrand: unique symbol;
11
+ /** Canonical comms routing identity for a peer. */
12
+ export type PeerId = string & {
13
+ readonly [peerIdBrand]: "PeerId";
14
+ };
15
+ /** Canonical request/response correlation identity for peer interactions. */
16
+ export type PeerCorrelationId = string & {
17
+ readonly [peerCorrelationIdBrand]: "PeerCorrelationId";
18
+ };
19
+ /** Presentation-only metadata for terminal peer responses. */
20
+ export interface PeerResponseTerminalOptions {
21
+ readonly displayName?: string;
22
+ }
8
23
  /** Warning emitted when structured output doesn't match a provider's schema. */
9
24
  export interface SchemaWarning {
10
25
  readonly provider: string;
@@ -41,8 +56,8 @@ export interface SkillKey {
41
56
  readonly sourceUuid: string;
42
57
  readonly skillName: string;
43
58
  }
44
- /** A skill reference — either a {@link SkillKey} or a legacy string. */
45
- export type SkillRef = SkillKey | string;
59
+ /** A structured skill reference. */
60
+ export type SkillRef = SkillKey;
46
61
  /** Inline image content accepted by input-bearing APIs. */
47
62
  export interface InlineImageBlock {
48
63
  readonly type: "image";
@@ -91,10 +106,28 @@ export interface RunResult {
91
106
  readonly turns: number;
92
107
  readonly toolCalls: number;
93
108
  readonly usage: Usage;
109
+ readonly terminalCauseKind?: TurnTerminalCauseKind;
94
110
  readonly structuredOutput?: unknown;
111
+ readonly extractionError?: ExtractionError;
95
112
  readonly schemaWarnings?: readonly SchemaWarning[];
96
113
  readonly skillDiagnostics?: SkillRuntimeDiagnostics;
97
114
  }
115
+ export interface ExtractionError {
116
+ readonly lastOutput: string;
117
+ readonly attempts: number;
118
+ readonly reason: string;
119
+ }
120
+ export type HelpExecutionMode = "explain_only" | "plan_execution";
121
+ export interface HelpOptions {
122
+ readonly prompt?: string;
123
+ readonly executionMode?: HelpExecutionMode;
124
+ readonly model?: string;
125
+ readonly provider?: string;
126
+ readonly maxTokens?: number;
127
+ }
128
+ export interface HelpRequest extends HelpOptions {
129
+ readonly question: string;
130
+ }
98
131
  /** Session metadata shape used by `listSessions()` and `readSession()`. */
99
132
  export interface SessionInfo {
100
133
  readonly sessionId: string;
@@ -125,10 +158,17 @@ export interface SessionAssistantBlock {
125
158
  readonly id?: string;
126
159
  readonly name?: string;
127
160
  readonly args?: unknown;
161
+ readonly imageId?: string;
162
+ readonly blobId?: string;
163
+ readonly mediaType?: string;
164
+ readonly width?: number;
165
+ readonly height?: number;
166
+ readonly revisedPrompt?: Record<string, unknown>;
128
167
  readonly meta?: Record<string, unknown>;
129
168
  }
130
169
  export interface SessionMessage {
131
170
  readonly role: string;
171
+ readonly createdAt: string;
132
172
  readonly content?: ContentInput;
133
173
  readonly toolCalls: readonly SessionToolCall[];
134
174
  readonly stopReason?: string;
@@ -158,7 +198,6 @@ export interface SessionIngressOptions {
158
198
  /** Per-turn options for normal turns and deferred first turns. */
159
199
  export interface TurnOptions {
160
200
  readonly skillRefs?: SkillRef[];
161
- readonly skillReferences?: string[];
162
201
  readonly flowToolOverlay?: TurnToolOverlay;
163
202
  readonly additionalInstructions?: string[];
164
203
  readonly keepAlive?: boolean;
@@ -170,8 +209,24 @@ export interface TurnOptions {
170
209
  readonly structuredOutputRetries?: number;
171
210
  readonly providerParams?: Record<string, unknown>;
172
211
  }
212
+ export type EventSourceIdentity = {
213
+ readonly type: "session";
214
+ readonly sessionId: string;
215
+ } | {
216
+ readonly type: "runtime";
217
+ readonly runtimeId: string;
218
+ } | {
219
+ readonly type: "interaction";
220
+ readonly interactionId: string;
221
+ } | {
222
+ readonly type: "callback";
223
+ } | {
224
+ readonly type: "external";
225
+ readonly sourceId: string;
226
+ };
173
227
  export interface EventEnvelope<T = unknown> {
174
228
  readonly timestamp_ms: number;
229
+ readonly source: EventSourceIdentity;
175
230
  readonly source_id: string;
176
231
  readonly seq: number;
177
232
  readonly event_id: string;
@@ -179,67 +234,71 @@ export interface EventEnvelope<T = unknown> {
179
234
  }
180
235
  export interface AttributedEvent {
181
236
  readonly source: string;
182
- readonly profile: string;
237
+ readonly sourceFenceToken?: number;
238
+ readonly role: string;
183
239
  readonly envelope: EventEnvelope;
184
240
  }
185
241
  /** Public mob definition input for host-side `mob/create`. */
186
- export interface MobToolConfig {
187
- readonly builtins?: boolean;
188
- readonly shell?: boolean;
189
- readonly comms?: boolean;
190
- readonly memory?: boolean;
191
- readonly mob?: boolean;
192
- readonly mob_tasks?: boolean;
193
- readonly schedule?: boolean;
194
- readonly mcp?: readonly string[];
195
- }
242
+ export type MobToolConfig = MobToolConfigInput;
196
243
  export interface MobProfile {
197
244
  readonly model: string;
198
245
  readonly skills?: readonly string[];
199
246
  readonly tools?: MobToolConfig;
200
247
  readonly peer_description?: string;
201
248
  readonly external_addressable?: boolean;
202
- readonly backend?: "session" | "external";
203
- readonly runtime_mode?: "autonomous_host" | "turn_driven";
249
+ readonly backend?: WireMobBackendKind;
250
+ readonly runtime_mode?: WireMobRuntimeMode;
204
251
  readonly max_inline_peer_notifications?: number;
205
- readonly output_schema?: Record<string, unknown>;
206
- readonly provider_params?: Record<string, unknown>;
252
+ readonly output_schema?: unknown;
253
+ readonly provider_params?: unknown;
207
254
  }
208
255
  export type MobProfileBinding = MobProfile | {
209
256
  readonly realm_profile: string;
210
257
  };
211
258
  export interface MobDefinition {
212
259
  readonly id: string;
213
- readonly orchestrator?: {
214
- readonly profile: string;
215
- };
260
+ readonly orchestrator?: MobOrchestratorInput;
216
261
  readonly profiles: Readonly<Record<string, MobProfileBinding>>;
217
- readonly mcp_servers?: Readonly<Record<string, Record<string, unknown>>>;
218
- readonly wiring?: Record<string, unknown>;
219
- readonly flows?: Record<string, unknown>;
220
- readonly skills?: Record<string, unknown>;
221
- readonly backend?: Record<string, unknown>;
222
- readonly topology?: Record<string, unknown>;
223
- readonly supervisor?: Record<string, unknown>;
224
- readonly limits?: Record<string, unknown>;
225
- readonly spawn_policy?: Record<string, unknown>;
226
- readonly event_router?: Record<string, unknown>;
227
- }
228
- export interface SpawnSpec {
262
+ readonly wiring?: MobWiringRulesInput;
263
+ readonly flows?: Readonly<Record<string, MobFlowSpecInput>>;
264
+ readonly skills?: Readonly<Record<string, MobSkillSourceInput>>;
265
+ readonly backend?: MobBackendConfigInput;
266
+ readonly topology?: MobTopologySpecInput;
267
+ readonly supervisor?: MobSupervisorSpecInput;
268
+ readonly limits?: MobLimitsSpecInput;
269
+ readonly spawn_policy?: MobSpawnPolicyInput;
270
+ readonly event_router?: MobEventRouterConfigInput;
271
+ }
272
+ export interface SpawnManySpec {
229
273
  readonly profile: string;
230
- readonly meerkatId: string;
231
- readonly initialMessage?: string | ContentBlock[];
232
- readonly runtimeMode?: "turn_driven" | "autonomous_host";
233
- readonly backend?: "session" | "external";
274
+ readonly agentIdentity: string;
275
+ readonly initialMessage?: WireContentInput;
276
+ readonly runtimeMode?: WireMobRuntimeMode;
277
+ readonly backend?: WireMobBackendKind;
234
278
  readonly labels?: Record<string, string>;
235
- readonly context?: Record<string, unknown>;
236
- readonly resumeSessionId?: string;
279
+ readonly context?: unknown;
237
280
  readonly additionalInstructions?: string[];
281
+ readonly authBinding?: WireAuthBindingRef;
282
+ }
283
+ export interface SpawnSpec extends SpawnManySpec {
284
+ readonly binding?: WireRuntimeBinding;
285
+ readonly shellEnv?: Readonly<Record<string, string>>;
286
+ readonly autoWireParent?: boolean;
287
+ readonly launchMode?: WireMemberLaunchMode;
288
+ readonly toolAccessPolicy?: WireToolAccessPolicy;
289
+ readonly budgetSplitPolicy?: WireBudgetSplitPolicy;
290
+ readonly inheritedToolFilter?: WireToolFilter;
291
+ readonly overrideProfile?: WireMobProfile;
292
+ }
293
+ export interface MobSpawnResult {
294
+ readonly mobId: string;
295
+ readonly agentIdentity: string;
296
+ readonly memberRef: MobMemberRef;
238
297
  }
239
298
  export interface MobMember {
240
- readonly meerkatId: string;
299
+ readonly agentIdentity: string;
300
+ readonly memberRef: MobMemberRef;
241
301
  readonly profile: string;
242
- readonly memberRef?: Record<string, unknown>;
243
302
  readonly peerId?: string;
244
303
  readonly externalPeerSpecs?: Readonly<Record<string, Record<string, unknown>>>;
245
304
  readonly runtimeMode?: string;
@@ -249,8 +308,6 @@ export interface MobMember {
249
308
  readonly status?: string;
250
309
  readonly error?: string;
251
310
  readonly isFinal?: boolean;
252
- readonly currentSessionId?: string;
253
- readonly sessionId?: string;
254
311
  }
255
312
  export interface MobSummary {
256
313
  readonly mobId: string;
@@ -261,14 +318,33 @@ export interface MobStatus {
261
318
  readonly status: string;
262
319
  }
263
320
  export type MobLifecycleAction = "stop" | "resume" | "complete" | "destroy" | "reset";
321
+ /**
322
+ * Server-resolved opaque handle for a mob member. Treat as an opaque token:
323
+ * app code never constructs or inspects these — they come back from
324
+ * `mob/ensure_member`, `mob/spawn_helper`, `mob/fork_helper`, and member
325
+ * list surfaces, and are passed back on work-lane and member-targeted
326
+ * calls.
327
+ */
328
+ export type MobMemberRef = string;
264
329
  export interface MobFlowStatus {
265
330
  readonly run?: Record<string, unknown> | null;
266
331
  }
267
- export interface MobSpawnManyResultEntry {
268
- readonly ok: boolean;
269
- readonly memberRef?: Record<string, unknown>;
270
- readonly sessionId?: string;
271
- readonly error?: string;
332
+ type MobTurnStartWireOptions = Omit<MobTurnStartParams, "mob_id" | "agent_identity" | "prompt">;
333
+ export interface MobTurnStartOptions {
334
+ readonly skillRefs?: SkillRef[];
335
+ readonly flowToolOverlay?: TurnToolOverlay;
336
+ readonly additionalInstructions?: MobTurnStartWireOptions["additional_instructions"];
337
+ readonly keepAlive?: MobTurnStartWireOptions["keep_alive"];
338
+ readonly model?: MobTurnStartWireOptions["model"];
339
+ readonly provider?: MobTurnStartWireOptions["provider"];
340
+ readonly maxTokens?: MobTurnStartWireOptions["max_tokens"];
341
+ readonly systemPrompt?: MobTurnStartWireOptions["system_prompt"];
342
+ readonly outputSchema?: MobTurnStartWireOptions["output_schema"];
343
+ readonly structuredOutputRetries?: MobTurnStartWireOptions["structured_output_retries"];
344
+ readonly providerParams?: MobTurnStartWireOptions["provider_params"];
345
+ readonly clearProviderParams?: MobTurnStartWireOptions["clear_provider_params"];
346
+ readonly authBinding?: MobTurnStartWireOptions["auth_binding"];
347
+ readonly clearAuthBinding?: MobTurnStartWireOptions["clear_auth_binding"];
272
348
  }
273
349
  export interface MobEventsOptions {
274
350
  readonly afterCursor?: number;
@@ -315,6 +391,48 @@ export interface CommsSendReceipt extends Record<string, unknown> {
315
391
  readonly interactionId?: string;
316
392
  readonly inputId?: string;
317
393
  }
394
+ export type CommsHandlingMode = "queue" | "steer";
395
+ export type CommsInputSource = "tcp" | "uds" | "stdin" | "webhook" | "rpc";
396
+ export type CommsInputStreamMode = "none" | "reserve_interaction";
397
+ export type CommsResponseStatus = "accepted" | "completed" | "failed";
398
+ export interface CommsInputCommand {
399
+ kind: "input";
400
+ body: string;
401
+ source?: CommsInputSource;
402
+ stream?: CommsInputStreamMode;
403
+ handling_mode?: CommsHandlingMode;
404
+ allow_self_session?: boolean;
405
+ }
406
+ export interface CommsPeerMessageCommand {
407
+ kind: "peer_message";
408
+ to: string;
409
+ body: string;
410
+ handling_mode?: CommsHandlingMode;
411
+ }
412
+ export interface CommsPeerLifecycleCommand {
413
+ kind: "peer_lifecycle";
414
+ to: string;
415
+ lifecycle_kind: "mob.peer_added" | "mob.peer_retired" | "mob.peer_unwired";
416
+ params?: unknown;
417
+ }
418
+ export interface CommsPeerRequestCommand {
419
+ kind: "peer_request";
420
+ to: string;
421
+ intent: string;
422
+ params?: Record<string, unknown>;
423
+ handling_mode?: CommsHandlingMode;
424
+ stream?: CommsInputStreamMode;
425
+ }
426
+ export interface CommsPeerResponseCommand {
427
+ kind: "peer_response";
428
+ to: string;
429
+ in_reply_to: string;
430
+ status: CommsResponseStatus;
431
+ result?: unknown;
432
+ handling_mode?: CommsHandlingMode;
433
+ }
434
+ /** Typed comms/send command — serde-tagged on `kind`. */
435
+ export type CommsCommand = CommsInputCommand | CommsPeerMessageCommand | CommsPeerLifecycleCommand | CommsPeerRequestCommand | CommsPeerResponseCommand;
318
436
  export type ModelTier = "recommended" | "supported";
319
437
  export interface ModelProfile {
320
438
  readonly modelFamily: string;
@@ -457,9 +575,8 @@ export interface SessionOptions {
457
575
  peerMeta?: Record<string, unknown>;
458
576
  budgetLimits?: Record<string, unknown>;
459
577
  providerParams?: Record<string, unknown>;
460
- preloadSkills?: string[];
578
+ preloadSkills?: SkillRef[];
461
579
  skillRefs?: SkillRef[];
462
- skillReferences?: string[];
463
580
  labels?: Readonly<Record<string, string>>;
464
581
  additionalInstructions?: readonly string[];
465
582
  appContext?: unknown;
@@ -468,11 +585,12 @@ export interface SessionOptions {
468
585
  }
469
586
  /** Explicit standalone session-event envelope. */
470
587
  export interface AgentEventEnvelope {
471
- readonly eventId: string;
472
- readonly sourceId: string;
473
- readonly seq: number;
474
- readonly timestampMs: number;
475
- readonly payload: import("./events.js").AgentEvent;
588
+ readonly eventId?: string;
589
+ readonly source?: EventSourceIdentity;
590
+ readonly sourceId?: string;
591
+ readonly seq?: number;
592
+ readonly timestampMs?: number;
593
+ readonly payload?: import("./events.js").AgentEvent;
476
594
  }
477
595
  /** Mob-wide attributed event emitted by member/mob observation streams. */
478
596
  export interface AttributedMobEvent {