@convai/web-sdk 1.6.1-beta.0 → 1.7.0-beta.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.
Files changed (37) hide show
  1. package/dist/core/CharacterRoster.d.ts +68 -0
  2. package/dist/core/CharacterRoster.d.ts.map +1 -0
  3. package/dist/core/CharacterRoster.js +235 -0
  4. package/dist/core/CharacterRoster.js.map +1 -0
  5. package/dist/core/ConvaiClient.d.ts +39 -1
  6. package/dist/core/ConvaiClient.d.ts.map +1 -1
  7. package/dist/core/ConvaiClient.js +228 -6
  8. package/dist/core/ConvaiClient.js.map +1 -1
  9. package/dist/core/MessageHandler.d.ts.map +1 -1
  10. package/dist/core/MessageHandler.js +26 -4
  11. package/dist/core/MessageHandler.js.map +1 -1
  12. package/dist/core/types.d.ts +160 -2
  13. package/dist/core/types.d.ts.map +1 -1
  14. package/dist/lipsync-helpers/index.d.ts +4 -0
  15. package/dist/lipsync-helpers/index.d.ts.map +1 -1
  16. package/dist/lipsync-helpers/index.js +7 -0
  17. package/dist/lipsync-helpers/index.js.map +1 -1
  18. package/dist/lipsync-helpers/mhaLimitDrivers.d.ts +33 -0
  19. package/dist/lipsync-helpers/mhaLimitDrivers.d.ts.map +1 -0
  20. package/dist/lipsync-helpers/mhaLimitDrivers.js +60 -0
  21. package/dist/lipsync-helpers/mhaLimitDrivers.js.map +1 -0
  22. package/dist/lipsync-helpers/naturalness/processor.d.ts +24 -0
  23. package/dist/lipsync-helpers/naturalness/processor.d.ts.map +1 -0
  24. package/dist/lipsync-helpers/naturalness/processor.js +162 -0
  25. package/dist/lipsync-helpers/naturalness/processor.js.map +1 -0
  26. package/dist/lipsync-helpers/naturalness/profiles/mha.d.ts +7 -0
  27. package/dist/lipsync-helpers/naturalness/profiles/mha.d.ts.map +1 -0
  28. package/dist/lipsync-helpers/naturalness/profiles/mha.js +105 -0
  29. package/dist/lipsync-helpers/naturalness/profiles/mha.js.map +1 -0
  30. package/dist/lipsync-helpers/naturalness/types.d.ts +68 -0
  31. package/dist/lipsync-helpers/naturalness/types.d.ts.map +1 -0
  32. package/dist/lipsync-helpers/naturalness/types.js +11 -0
  33. package/dist/lipsync-helpers/naturalness/types.js.map +1 -0
  34. package/dist/react/hooks/useConvaiClient.d.ts.map +1 -1
  35. package/dist/react/hooks/useConvaiClient.js +3 -0
  36. package/dist/react/hooks/useConvaiClient.js.map +1 -1
  37. package/package.json +2 -2
@@ -5,6 +5,7 @@ import { AudioManager } from "./AudioManager";
5
5
  import { VideoManager } from "./VideoManager";
6
6
  import { ScreenShareManager } from "./ScreenShareManager";
7
7
  import { MessageHandler } from "./MessageHandler";
8
+ import { CharacterRoster } from "./CharacterRoster";
8
9
  import { EventEmitter } from "./EventEmitter";
9
10
  import { MemoryManager } from "./MemoryManager";
10
11
  import { ConnectionStateHandler } from "./ConnectionStateHandler";
@@ -13,6 +14,12 @@ import { shouldPreemptForContextUpdateResponse, shouldPreemptForExplicitRespondM
13
14
  import { resolveVisionInputConfig, serializeVisionInputConfig, } from "./visionRequest";
14
15
  // Module-level registry — populated by importing @convai/web-sdk/vanilla/websocket
15
16
  let _wsFactory = null;
17
+ function normalizeStateOfMind(value) {
18
+ if (value == null)
19
+ return value;
20
+ const normalized = value.trim().toLowerCase();
21
+ return normalized === "neutral" || normalized === "" ? null : normalized;
22
+ }
16
23
  /**
17
24
  * Custom reconnect policy that disables automatic reconnection
18
25
  */
@@ -77,6 +84,16 @@ export class ConvaiClient extends EventEmitter {
77
84
  this._isBotReady = false;
78
85
  this._participantSid = "";
79
86
  this._storedConfig = null;
87
+ /**
88
+ * Runtime state of mind. Source of truth for the value sent on connect,
89
+ * so updateEmotion() called before any config is stored is not lost.
90
+ */
91
+ this._stateOfMind = null;
92
+ /** Roster state for multi-character rooms. Empty for single-character sessions. */
93
+ this._roster = new CharacterRoster();
94
+ /** Pending setInteractionTarget/updateCharacterRoster commands, keyed by command_id. */
95
+ this._pendingRosterCommands = new Map();
96
+ this._rosterCommandSeq = 0;
80
97
  this._endUserId = null;
81
98
  this._endUserMetadata = null;
82
99
  this._wsSession = null;
@@ -113,6 +130,8 @@ export class ConvaiClient extends EventEmitter {
113
130
  endUserId: null,
114
131
  endUserMetadata: null,
115
132
  metrics: [],
133
+ characters: [],
134
+ activeMembershipId: null,
116
135
  disconnectReason: null,
117
136
  };
118
137
  // Default audio settings for optimal interruption handling
@@ -201,7 +220,15 @@ export class ConvaiClient extends EventEmitter {
201
220
  });
202
221
  this._room.on(RoomEvent.ConnectionStateChanged, this._connectionStateHandler.handleConnectionStateChanged.bind(this._connectionStateHandler));
203
222
  // Message handler events
204
- this._messageHandler.on("botReady", () => {
223
+ this._messageHandler.on("botReady", (about) => {
224
+ // Each character instance sends its own bot-ready. Feed the roster
225
+ // before the de-dupe below, which only guards the consumer-facing event.
226
+ if (this._roster.applyBotReady(about)) {
227
+ this.updateState({
228
+ characters: this._roster.characters,
229
+ activeMembershipId: this._roster.activeMembershipId,
230
+ });
231
+ }
205
232
  // Server may send multiple bot-ready frames (one per client-ready
206
233
  // we retried). Only surface the first to consumers per connect.
207
234
  if (this._isBotReady) {
@@ -321,6 +348,7 @@ export class ConvaiClient extends EventEmitter {
321
348
  this.emit("actionResponse", data);
322
349
  });
323
350
  this._messageHandler.on("serverResponse", (response) => {
351
+ this._handleRosterServerResponse(response);
324
352
  this.emit("serverResponse", response);
325
353
  });
326
354
  this._messageHandler.on("interactionCreated", (data) => {
@@ -369,8 +397,12 @@ export class ConvaiClient extends EventEmitter {
369
397
  * For LiveKit: publishes via the data channel.
370
398
  * For WebSocket: sends via PipecatClient.sendClientMessage (wrapped in {t,d} envelope).
371
399
  */
372
- publishMessage(type, data) {
373
- const message = { type, data };
400
+ publishMessage(type, data, id) {
401
+ // Roster commands are correlated by a top-level `id`, which the server
402
+ // echoes back as extras.command_id. interaction-target REJECTS a message
403
+ // without it (code "invalid_command") even when the same value is present
404
+ // inside `data`, so the envelope field is not optional for those.
405
+ const message = id ? { id, type, data } : { type, data };
374
406
  if (this._activeTransport === "websocket" && this._wsSession?.isConnected) {
375
407
  this._wsSession.sendMessage(type, data);
376
408
  }
@@ -414,15 +446,32 @@ export class ConvaiClient extends EventEmitter {
414
446
  this._messageHandler.setRtviMessageLogging(this._logRtviMessages);
415
447
  const hasApiKey = Boolean(configWithDefaults.apiKey);
416
448
  const hasAuthToken = Boolean(configWithDefaults.authToken);
417
- if ((!hasApiKey && !hasAuthToken) || !configWithDefaults.characterId) {
449
+ const characterList = configWithDefaults.characters ?? [];
450
+ const hasCharacterList = characterList.length > 0;
451
+ if (!hasApiKey && !hasAuthToken) {
452
+ throw new Error("Either apiKey or authToken is required, and characterId is required");
453
+ }
454
+ // Exactly one of characterId / characters — the server takes either shape,
455
+ // but silently ignores unknown fields, so catch the ambiguity here.
456
+ if (!hasCharacterList && !configWithDefaults.characterId) {
418
457
  throw new Error("Either apiKey or authToken is required, and characterId is required");
419
458
  }
459
+ if (hasCharacterList && configWithDefaults.characterId) {
460
+ throw new Error("Pass either characterId or characters, not both");
461
+ }
462
+ if (hasCharacterList && characterList.some((c) => !c?.characterId)) {
463
+ throw new Error("Every entry in characters requires a characterId");
464
+ }
420
465
  this.updateState({ isConnecting: true });
421
466
  try {
422
467
  // Store connection config
423
468
  this._apiKey = configWithDefaults.apiKey ?? null;
424
469
  this._authToken = configWithDefaults.authToken ?? null;
425
- this._characterId = configWithDefaults.characterId;
470
+ this._characterId =
471
+ configWithDefaults.characterId ??
472
+ characterList[0]?.characterId ??
473
+ null;
474
+ this._roster.reset();
426
475
  // Resolve speaker ID based on endUserId
427
476
  // Determine connection type based on enableVideo
428
477
  const connType = configWithDefaults.enableVideo ? "video" : "audio";
@@ -431,9 +480,22 @@ export class ConvaiClient extends EventEmitter {
431
480
  this._activeTransport = transportType;
432
481
  const effectiveVisionInputConfig = resolveVisionInputConfig(configWithDefaults);
433
482
  // Prepare request body with required parameters
483
+ // An explicit stateOfMind in the config wins; otherwise carry whatever
484
+ // updateEmotion() last set, including before the first connect.
485
+ const stateOfMind = configWithDefaults.stateOfMind !== undefined
486
+ ? normalizeStateOfMind(configWithDefaults.stateOfMind) ?? null
487
+ : this._stateOfMind;
488
+ this._stateOfMind = stateOfMind;
434
489
  const characterSessionIdToSend = configWithDefaults.characterSessionId ?? this._characterSessionId;
435
490
  const requestBody = {
436
- character_id: configWithDefaults.characterId,
491
+ ...(hasCharacterList
492
+ ? {
493
+ characters: characterList.map((c) => ({
494
+ character_id: c.characterId,
495
+ })),
496
+ }
497
+ : { character_id: configWithDefaults.characterId }),
498
+ ...(stateOfMind ? { state_of_mind: stateOfMind } : {}),
437
499
  ...(configWithDefaults.endUserId && {
438
500
  end_user_id: configWithDefaults.endUserId,
439
501
  }),
@@ -559,6 +621,14 @@ export class ConvaiClient extends EventEmitter {
559
621
  characterSessionId: connectionData.character_session_id,
560
622
  };
561
623
  }
624
+ // Seed the roster before the transport comes up, so the first bot-ready
625
+ // and any early roster change already have instances to match against.
626
+ if (this._roster.applyConnectResponse(connectionData)) {
627
+ this.updateState({
628
+ characters: this._roster.characters,
629
+ activeMembershipId: this._roster.activeMembershipId,
630
+ });
631
+ }
562
632
  if (connectionData.end_user_id) {
563
633
  this._endUserId = connectionData.end_user_id;
564
634
  }
@@ -1100,6 +1170,156 @@ export class ConvaiClient extends EventEmitter {
1100
1170
  });
1101
1171
  return updateId;
1102
1172
  }
1173
+ /**
1174
+ * Set or clear the character's temporary state of mind.
1175
+ * This is silent: it affects the next response and does not trigger one.
1176
+ */
1177
+ updateEmotion(stateOfMind) {
1178
+ const normalized = normalizeStateOfMind(stateOfMind) ?? null;
1179
+ this._stateOfMind = normalized;
1180
+ if (this._storedConfig) {
1181
+ this._storedConfig = { ...this._storedConfig, stateOfMind: normalized };
1182
+ }
1183
+ if (!this.isTransportReady())
1184
+ return;
1185
+ this.publishMessage("update-emotion", {
1186
+ state_of_mind: normalized,
1187
+ participant_sid: this._participantSid || this._room.localParticipant?.sid,
1188
+ });
1189
+ }
1190
+ /**
1191
+ * Correlate interaction-target / character-roster-update acks back to the
1192
+ * promise returned by the method that issued them, and keep roster state and
1193
+ * the two roster events in sync — including for changes we did not initiate.
1194
+ */
1195
+ _handleRosterServerResponse(response) {
1196
+ const { event_type: eventType, extras } = response;
1197
+ if (eventType !== "interaction-target" &&
1198
+ eventType !== "character-roster-update") {
1199
+ return;
1200
+ }
1201
+ // Always adopt the server's epochs, including from errors — a
1202
+ // stale_route_epoch rejection carries the authoritative value.
1203
+ const commandId = extras?.command_id;
1204
+ const pending = commandId
1205
+ ? this._pendingRosterCommands.get(commandId)
1206
+ : undefined;
1207
+ if (response.status === "error") {
1208
+ this._roster.adoptEpochs(extras ?? null);
1209
+ this.updateState({
1210
+ characters: this._roster.characters,
1211
+ activeMembershipId: this._roster.activeMembershipId,
1212
+ });
1213
+ if (pending && commandId) {
1214
+ this._pendingRosterCommands.delete(commandId);
1215
+ clearTimeout(pending.timer);
1216
+ pending.reject(Object.assign(new Error(response.message ?? `${eventType} was rejected by the server`), { code: extras?.code ?? null, extras: extras ?? null }));
1217
+ }
1218
+ return;
1219
+ }
1220
+ let result;
1221
+ if (eventType === "interaction-target") {
1222
+ result = this._roster.applyInteractionTarget(extras ?? null);
1223
+ this.updateState({
1224
+ characters: this._roster.characters,
1225
+ activeMembershipId: this._roster.activeMembershipId,
1226
+ });
1227
+ if (result)
1228
+ this.emit("activeCharacterChange", result);
1229
+ }
1230
+ else {
1231
+ result = this._roster.applyRosterUpdate(extras ?? null);
1232
+ this.updateState({
1233
+ characters: this._roster.characters,
1234
+ activeMembershipId: this._roster.activeMembershipId,
1235
+ });
1236
+ if (result)
1237
+ this.emit("rosterChange", result);
1238
+ }
1239
+ if (pending && commandId) {
1240
+ this._pendingRosterCommands.delete(commandId);
1241
+ clearTimeout(pending.timer);
1242
+ pending.resolve(result);
1243
+ }
1244
+ }
1245
+ /**
1246
+ * Publish a roster command and resolve when its ack arrives.
1247
+ */
1248
+ _sendRosterCommand(type, build) {
1249
+ if (!this.isTransportReady()) {
1250
+ return Promise.reject(new Error(`Cannot send ${type}: not connected`));
1251
+ }
1252
+ if (!this._roster.isMultiCharacter) {
1253
+ return Promise.reject(new Error(`Cannot send ${type}: this session was not created with a characters array`));
1254
+ }
1255
+ const commandId = `${type}-${++this._rosterCommandSeq}`;
1256
+ return new Promise((resolve, reject) => {
1257
+ const timer = setTimeout(() => {
1258
+ this._pendingRosterCommands.delete(commandId);
1259
+ reject(new Error(`${type} timed out waiting for a server response`));
1260
+ }, ConvaiClient.ROSTER_COMMAND_TIMEOUT_MS);
1261
+ this._pendingRosterCommands.set(commandId, { resolve, reject, timer });
1262
+ this.publishMessage(type, build(commandId), commandId);
1263
+ });
1264
+ }
1265
+ /**
1266
+ * Route subsequent user turns to a different character instance.
1267
+ *
1268
+ * Retries once against the server's authoritative epoch if the routing epoch
1269
+ * was stale, which happens when another participant switched first.
1270
+ */
1271
+ async setInteractionTarget(membershipId) {
1272
+ if (!membershipId) {
1273
+ throw new Error("setInteractionTarget requires a membershipId");
1274
+ }
1275
+ if (this._roster.isMultiCharacter && !this._roster.find(membershipId)) {
1276
+ throw new Error(`Unknown membershipId "${membershipId}". Address instances by membershipId, not characterId.`);
1277
+ }
1278
+ const send = () => this._sendRosterCommand("interaction-target", (commandId) => this._roster.buildInteractionTarget(membershipId, commandId));
1279
+ try {
1280
+ await send();
1281
+ }
1282
+ catch (error) {
1283
+ const code = error?.code;
1284
+ if (code !== "stale_route_epoch")
1285
+ throw error;
1286
+ // The roster adopted the server's epoch when the error came in, so a
1287
+ // single retry is now fenced correctly.
1288
+ await send();
1289
+ }
1290
+ const instance = this._roster.find(membershipId);
1291
+ if (!instance) {
1292
+ throw new Error(`interaction-target succeeded but membership "${membershipId}" is not in the roster`);
1293
+ }
1294
+ return instance;
1295
+ }
1296
+ /**
1297
+ * Add or remove character instances on a live room, without reconnecting.
1298
+ */
1299
+ async updateCharacterRoster(options) {
1300
+ const add = options?.add ?? [];
1301
+ const remove = options?.remove ?? [];
1302
+ if (add.length === 0 && remove.length === 0) {
1303
+ throw new Error("updateCharacterRoster requires at least one add or remove");
1304
+ }
1305
+ if (add.some((c) => !c?.characterId)) {
1306
+ throw new Error("Every entry in add requires a characterId");
1307
+ }
1308
+ // The server rejects removing the active instance without a replacement
1309
+ // (`replacement_target_required`), and rejects one that is not ready yet
1310
+ // (`replacement_target_unavailable`). Choose a ready survivor by default.
1311
+ const active = this._roster.activeMembershipId;
1312
+ const effective = !options.replacementTarget && active && remove.includes(active)
1313
+ ? { ...options, replacementTarget: this._roster.pickReplacement(remove) }
1314
+ : options;
1315
+ const result = (await this._sendRosterCommand("character-roster-update", (commandId) => this._roster.buildRosterUpdate(effective, commandId)));
1316
+ // A success ack that moved nothing still resolves; report the roster as-is.
1317
+ return (result ?? {
1318
+ added: [],
1319
+ removed: [],
1320
+ characters: this._roster.characters,
1321
+ });
1322
+ }
1103
1323
  /**
1104
1324
  * Send descriptive scene updates. Use when environment description changes
1105
1325
  * and the bot should know what is visible or nearby. Does not modify action_config.
@@ -1185,4 +1405,6 @@ export class ConvaiClient extends EventEmitter {
1185
1405
  }
1186
1406
  ConvaiClient.CLIENT_READY_RETRY_MS = 500;
1187
1407
  ConvaiClient.CLIENT_READY_TIMEOUT_MS = 45000;
1408
+ /** Timeout for a roster command to be acknowledged by the server. */
1409
+ ConvaiClient.ROSTER_COMMAND_TIMEOUT_MS = 10000;
1188
1410
  //# sourceMappingURL=ConvaiClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConvaiClient.js","sourceRoot":"","sources":["../../src/core/ConvaiClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConvaiClient.js","sourceRoot":"","sources":["../../src/core/ConvaiClient.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MessageHandler.d.ts","sourceRoot":"","sources":["../../src/core/MessageHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAa,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAoD,MAAM,SAAS,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACL,eAAe,EAEhB,MAAM,mBAAmB,CAAC;AAS3B;;;GAGG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,iBAAiB,CAAc;IACvC,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,wBAAwB,CAAa;IAC7C,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,eAAe,CAAoD;IAI3E,OAAO,CAAC,qBAAqB,CAA8B;IAK3D,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAG/B;gBAEE,IAAI,CAAC,EAAE,IAAI;IASvB;;OAEG;IACH,kBAAkB,IAAI,eAAe;IAIrC;;OAEG;IACH,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAI7C;;OAEG;IACH,eAAe,IAAI,WAAW,EAAE;IAIhC;;OAEG;IACH,oBAAoB,IAAI,MAAM;IAI9B;;OAEG;IACH,kBAAkB,IAAI,OAAO;IAI7B;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,UAAU,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAIxD;;;OAGG;IACH,cAAc,IAAI,OAAO;IAIzB;;;;OAIG;IACH,wBAAwB,IAAI,IAAI;IAShC;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAUzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAMtB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAsf1B,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,iBAAiB;IAMzB;;OAEG;IACH,wBAAwB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAInD;;OAEG;IACH,KAAK,IAAI,IAAI;CAgBd"}
1
+ {"version":3,"file":"MessageHandler.d.ts","sourceRoot":"","sources":["../../src/core/MessageHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAa,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAoD,MAAM,SAAS,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACL,eAAe,EAEhB,MAAM,mBAAmB,CAAC;AAS3B;;;GAGG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,iBAAiB,CAAc;IACvC,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,wBAAwB,CAAa;IAC7C,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,eAAe,CAAoD;IAI3E,OAAO,CAAC,qBAAqB,CAA8B;IAK3D,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAG/B;gBAEE,IAAI,CAAC,EAAE,IAAI;IASvB;;OAEG;IACH,kBAAkB,IAAI,eAAe;IAIrC;;OAEG;IACH,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAI7C;;OAEG;IACH,eAAe,IAAI,WAAW,EAAE;IAIhC;;OAEG;IACH,oBAAoB,IAAI,MAAM;IAI9B;;OAEG;IACH,kBAAkB,IAAI,OAAO;IAI7B;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,UAAU,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAIxD;;;OAGG;IACH,cAAc,IAAI,OAAO;IAIzB;;;;OAIG;IACH,wBAAwB,IAAI,IAAI;IAShC;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAUzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAMtB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkhB1B,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,iBAAiB;IAMzB;;OAEG;IACH,wBAAwB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAInD;;OAEG;IACH,KAAK,IAAI,IAAI;CAgBd"}
@@ -132,6 +132,19 @@ export class MessageHandler extends EventEmitter {
132
132
  // Extract and categorize messages for chat display
133
133
  const timestamp = new Date().toISOString();
134
134
  const messageId = `${messageData.type}-${Date.now()}-${Math.random()}`;
135
+ // Multi-character routing identity, carried inline on every event.
136
+ // Undefined in single-character sessions, so these spread to nothing.
137
+ const attribution = {
138
+ ...(messageData.data?.membership_id && {
139
+ membershipId: messageData.data.membership_id,
140
+ }),
141
+ ...(messageData.data?.character_id && {
142
+ characterId: messageData.data.character_id,
143
+ }),
144
+ };
145
+ // Two instances must never share a streaming bubble: a switch mid-turn
146
+ // would otherwise splice one character's text onto another's.
147
+ const sameSpeaker = (msg) => !!msg && msg.membershipId === attribution.membershipId;
135
148
  // Handle different message types
136
149
  switch (messageData.type) {
137
150
  // User text messages - Skip these, only allow user-transcription
@@ -147,7 +160,9 @@ export class MessageHandler extends EventEmitter {
147
160
  break;
148
161
  // Bot Ready - Bot is ready, connection should be true
149
162
  case "bot-ready":
150
- this.emit("botReady");
163
+ // `about` carries this instance's routing identity in a
164
+ // multi-character room; absent in single-character sessions.
165
+ this.emit("botReady", messageData.data?.about);
151
166
  break;
152
167
  // Bot LLM Started - Begin streaming response
153
168
  case "bot-llm-started":
@@ -161,6 +176,7 @@ export class MessageHandler extends EventEmitter {
161
176
  content: "",
162
177
  timestamp: timestamp,
163
178
  isStreaming: true,
179
+ ...attribution,
164
180
  };
165
181
  this.chatMessages.push(streamingMessage);
166
182
  this.emit("messagesChange", this.chatMessages);
@@ -198,7 +214,9 @@ export class MessageHandler extends EventEmitter {
198
214
  lastMsg.content.includes(newText)) {
199
215
  break;
200
216
  }
201
- if (lastMsg?.type === "bot-output" && lastMsg.isStreaming) {
217
+ if (lastMsg?.type === "bot-output" &&
218
+ lastMsg.isStreaming &&
219
+ sameSpeaker(lastMsg)) {
202
220
  this.chatMessages[this.chatMessages.length - 1] = {
203
221
  ...lastMsg,
204
222
  content: lastMsg.content + newText,
@@ -211,6 +229,7 @@ export class MessageHandler extends EventEmitter {
211
229
  content: newText,
212
230
  timestamp: new Date().toISOString(),
213
231
  isStreaming: true,
232
+ ...attribution,
214
233
  });
215
234
  }
216
235
  this.emit("messagesChange", this.chatMessages);
@@ -222,20 +241,23 @@ export class MessageHandler extends EventEmitter {
222
241
  const newChunk = messageData.data.text;
223
242
  // Update the streaming message in chat
224
243
  const lastMessage = this.chatMessages[this.chatMessages.length - 1];
225
- if (lastMessage && lastMessage.isStreaming) {
244
+ if (lastMessage &&
245
+ lastMessage.isStreaming &&
246
+ sameSpeaker(lastMessage)) {
226
247
  this.chatMessages[this.chatMessages.length - 1] = {
227
248
  ...lastMessage,
228
249
  content: lastMessage.content + newChunk,
229
250
  };
230
251
  }
231
252
  else {
232
- // If no streaming message exists yet, create one
253
+ // No open bubble for this speaker yet start one.
233
254
  const streamingMsg = {
234
255
  id: `${messageData.type}-${Date.now()}-${Math.random()}`,
235
256
  type: "bot-llm-text",
236
257
  content: newChunk,
237
258
  timestamp: new Date().toISOString(),
238
259
  isStreaming: true,
260
+ ...attribution,
239
261
  };
240
262
  this.chatMessages.push(streamingMsg);
241
263
  }