@convai/web-sdk 1.7.0-beta.0 → 1.7.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +40 -6
- package/dist/core/AudioManager.js.map +1 -1
- package/dist/core/BlendshapeQueue.js.map +1 -1
- package/dist/core/ConnectionStateHandler.js.map +1 -1
- package/dist/core/ConvaiClient.d.ts +1 -31
- package/dist/core/ConvaiClient.d.ts.map +1 -1
- package/dist/core/ConvaiClient.js +8 -200
- package/dist/core/ConvaiClient.js.map +1 -1
- package/dist/core/EventEmitter.js.map +1 -1
- package/dist/core/MemoryManager.js.map +1 -1
- package/dist/core/MessageHandler.d.ts.map +1 -1
- package/dist/core/MessageHandler.js +4 -26
- package/dist/core/MessageHandler.js.map +1 -1
- package/dist/core/ScreenShareManager.js.map +1 -1
- package/dist/core/VideoManager.js.map +1 -1
- package/dist/core/connectRequest.d.ts +2 -2
- package/dist/core/connectRequest.js +3 -3
- package/dist/core/connectRequest.js.map +1 -1
- package/dist/core/contextUpdateRequest.js.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/types.d.ts +9 -163
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/videoSourceState.js.map +1 -1
- package/dist/core/visionRequest.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lipsync-helpers/arkitOrder61.js.map +1 -1
- package/dist/lipsync-helpers/createBlendshapeQueue.js.map +1 -1
- package/dist/lipsync-helpers/declarativeMapping.js.map +1 -1
- package/dist/lipsync-helpers/index.js.map +1 -1
- package/dist/lipsync-helpers/mappingTypes.js.map +1 -1
- package/dist/lipsync-helpers/metahumanOrder251.js.map +1 -1
- package/dist/lipsync-helpers/mhaLimitDrivers.js.map +1 -1
- package/dist/lipsync-helpers/naturalness/processor.js.map +1 -1
- package/dist/lipsync-helpers/naturalness/profiles/mha.js.map +1 -1
- package/dist/lipsync-helpers/naturalness/types.js.map +1 -1
- package/dist/lipsync-helpers/presetMappers.js.map +1 -1
- package/dist/react/components/ConvaiWidget.js.map +1 -1
- package/dist/react/components/index.js.map +1 -1
- package/dist/react/components/rtc-widget/components/AudioSettingsPanel.js.map +1 -1
- package/dist/react/components/rtc-widget/components/AudioVisualizer.js.map +1 -1
- package/dist/react/components/rtc-widget/components/ConviMessage.js.map +1 -1
- package/dist/react/components/rtc-widget/components/FloatingVideo.js.map +1 -1
- package/dist/react/components/rtc-widget/components/MarkdownRenderer.js.map +1 -1
- package/dist/react/components/rtc-widget/components/MessageBubble.js.map +1 -1
- package/dist/react/components/rtc-widget/components/MessageList.js.map +1 -1
- package/dist/react/components/rtc-widget/components/UserMessage.js.map +1 -1
- package/dist/react/components/rtc-widget/components/conviComponents/ConviButton.js.map +1 -1
- package/dist/react/components/rtc-widget/components/conviComponents/ConviFooter.js.map +1 -1
- package/dist/react/components/rtc-widget/components/conviComponents/ConviHeader.js.map +1 -1
- package/dist/react/components/rtc-widget/components/conviComponents/SettingsTray.js.map +1 -1
- package/dist/react/components/rtc-widget/components/conviComponents/VoiceModeOverlay.js.map +1 -1
- package/dist/react/components/rtc-widget/components/conviComponents/index.js.map +1 -1
- package/dist/react/components/rtc-widget/components/index.js.map +1 -1
- package/dist/react/components/rtc-widget/index.js.map +1 -1
- package/dist/react/components/rtc-widget/styles/framerConfig.js.map +1 -1
- package/dist/react/components/rtc-widget/styles/icons.js.map +1 -1
- package/dist/react/components/rtc-widget/styles/index.js.map +1 -1
- package/dist/react/components/rtc-widget/styles/styledComponents.js.map +1 -1
- package/dist/react/components/rtc-widget/styles/theme.js.map +1 -1
- package/dist/react/components/rtc-widget/types/index.js.map +1 -1
- package/dist/react/hooks/index.js.map +1 -1
- package/dist/react/hooks/useCharacterInfo.js.map +1 -1
- package/dist/react/hooks/useConvaiClient.d.ts.map +1 -1
- package/dist/react/hooks/useConvaiClient.js +0 -3
- package/dist/react/hooks/useConvaiClient.js.map +1 -1
- package/dist/react/hooks/useLocalCameraTrack.js.map +1 -1
- package/dist/react/index.js.map +1 -1
- package/dist/utils/logger.js.map +1 -1
- package/dist/vanilla/AudioRenderer.js.map +1 -1
- package/dist/vanilla/ConvaiWidget.js.map +1 -1
- package/dist/vanilla/WebSocketSession.js.map +1 -1
- package/dist/vanilla/icons.js.map +1 -1
- package/dist/vanilla/index.js.map +1 -1
- package/dist/vanilla/styles.js.map +1 -1
- package/dist/vanilla/types.d.ts +2 -2
- package/dist/vanilla/types.d.ts.map +1 -1
- package/dist/vanilla/types.js.map +1 -1
- package/dist/vanilla/websocket.js.map +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +4 -0
- package/dist/version.js.map +1 -0
- package/package.json +13 -6
- package/dist/core/CharacterRoster.d.ts +0 -68
- package/dist/core/CharacterRoster.d.ts.map +0 -1
- package/dist/core/CharacterRoster.js +0 -235
- package/dist/core/CharacterRoster.js.map +0 -1
package/dist/core/types.d.ts
CHANGED
|
@@ -390,103 +390,12 @@ export interface AudioSettings {
|
|
|
390
390
|
* };
|
|
391
391
|
* ```
|
|
392
392
|
*/
|
|
393
|
-
/**
|
|
394
|
-
* One character instance to place in a multi-character room.
|
|
395
|
-
*
|
|
396
|
-
* Repeat the same `characterId` to create independent clones — each gets its
|
|
397
|
-
* own `membershipId` and its own conversation state.
|
|
398
|
-
*/
|
|
399
|
-
export interface ConvaiCharacterSpec {
|
|
400
|
-
/** Convai character definition to instantiate. */
|
|
401
|
-
characterId: string;
|
|
402
|
-
}
|
|
403
|
-
/**
|
|
404
|
-
* A live character instance in a multi-character room.
|
|
405
|
-
*
|
|
406
|
-
* Address instances by `membershipId`, never by `characterId` — clones of the
|
|
407
|
-
* same character share a `characterId` but are separate participants.
|
|
408
|
-
*/
|
|
409
|
-
export interface ConvaiCharacterInstance {
|
|
410
|
-
/** Stable id for this instance. Use it to target and remove the instance. */
|
|
411
|
-
membershipId: string;
|
|
412
|
-
/** The Convai character definition this instance was created from. */
|
|
413
|
-
characterId: string;
|
|
414
|
-
/** Conversation session for this instance; pass it later to resume. */
|
|
415
|
-
characterSessionId: string | null;
|
|
416
|
-
/** LiveKit participant identity, for matching audio tracks to this instance. */
|
|
417
|
-
participantIdentity: string;
|
|
418
|
-
/** True for the character that is active when the room is created. */
|
|
419
|
-
isInitial: boolean;
|
|
420
|
-
/** Server-side provisioning state, e.g. "dispatch_accepted" or "removed". */
|
|
421
|
-
provisioningStatus: string;
|
|
422
|
-
/** Populated when provisioning failed for this instance. */
|
|
423
|
-
failureCode: string | null;
|
|
424
|
-
/**
|
|
425
|
-
* True once this instance has sent `bot-ready`.
|
|
426
|
-
*
|
|
427
|
-
* A newly added instance is provisioned but not yet ready; the server
|
|
428
|
-
* refuses it as a `replacementTarget` until it is.
|
|
429
|
-
*/
|
|
430
|
-
isReady: boolean;
|
|
431
|
-
}
|
|
432
|
-
/** Options for {@link IConvaiClient.updateCharacterRoster}. */
|
|
433
|
-
export interface UpdateCharacterRosterOptions {
|
|
434
|
-
/** Character instances to add to the live room. */
|
|
435
|
-
add?: ConvaiCharacterSpec[];
|
|
436
|
-
/** Membership IDs to remove from the live room. */
|
|
437
|
-
remove?: string[];
|
|
438
|
-
/**
|
|
439
|
-
* Membership to make active if the removal would drop the active character.
|
|
440
|
-
* Defaults to the server's choice when omitted.
|
|
441
|
-
*/
|
|
442
|
-
replacementTarget?: string;
|
|
443
|
-
}
|
|
444
|
-
/** Payload of the `rosterChange` event. */
|
|
445
|
-
export interface CharacterRosterChange {
|
|
446
|
-
/** Instances added by this change. */
|
|
447
|
-
added: ConvaiCharacterInstance[];
|
|
448
|
-
/** Instances removed by this change. */
|
|
449
|
-
removed: ConvaiCharacterInstance[];
|
|
450
|
-
/** The full roster after the change. */
|
|
451
|
-
characters: ConvaiCharacterInstance[];
|
|
452
|
-
}
|
|
453
|
-
/** Payload of the `activeCharacterChange` event. */
|
|
454
|
-
export interface ActiveCharacterChange {
|
|
455
|
-
/** Membership that was active before the change, if any. */
|
|
456
|
-
previous: string | null;
|
|
457
|
-
/** Membership that is active now. */
|
|
458
|
-
active: string | null;
|
|
459
|
-
/** Server routing epoch after the change. */
|
|
460
|
-
routeEpoch: number;
|
|
461
|
-
}
|
|
462
393
|
export interface ConvaiConfig {
|
|
463
394
|
/** Your Convai API key or Auth Token (at least one is required) */
|
|
464
395
|
apiKey?: string;
|
|
465
396
|
authToken?: string;
|
|
466
|
-
/**
|
|
467
|
-
|
|
468
|
-
*
|
|
469
|
-
* Required unless {@link ConvaiConfig.characters} is provided — pass exactly
|
|
470
|
-
* one of the two.
|
|
471
|
-
*/
|
|
472
|
-
characterId?: string;
|
|
473
|
-
/**
|
|
474
|
-
* Character instances for a multi-character room. The first entry is the
|
|
475
|
-
* initially active character. Repeat a `characterId` to create independent
|
|
476
|
-
* clones.
|
|
477
|
-
*
|
|
478
|
-
* Mutually exclusive with {@link ConvaiConfig.characterId}.
|
|
479
|
-
*
|
|
480
|
-
* @example
|
|
481
|
-
* ```ts
|
|
482
|
-
* characters: [
|
|
483
|
-
* { characterId: GUIDE },
|
|
484
|
-
* { characterId: ASSESSOR },
|
|
485
|
-
* { characterId: GUIDE }, // an independent second Guide
|
|
486
|
-
* ]
|
|
487
|
-
* ```
|
|
488
|
-
*/
|
|
489
|
-
characters?: ConvaiCharacterSpec[];
|
|
397
|
+
/** The Character ID to connect to (required) */
|
|
398
|
+
characterId: string;
|
|
490
399
|
/** Temporary character state of mind sent as `state_of_mind` on connect. */
|
|
491
400
|
stateOfMind?: string | null;
|
|
492
401
|
/**
|
|
@@ -589,15 +498,17 @@ export interface ConvaiConfig {
|
|
|
589
498
|
/**
|
|
590
499
|
* Enable server ahead-delivery for NeuroSync chunks.
|
|
591
500
|
*
|
|
592
|
-
* Defaults to
|
|
593
|
-
*
|
|
594
|
-
*
|
|
595
|
-
*
|
|
501
|
+
* Defaults to `true` when `enableLipsync` is on. The server may send
|
|
502
|
+
* indexed blendshape chunks before audio playback, so use the SDK
|
|
503
|
+
* BlendshapeQueue/player path, which handles owner-scoped cancellation and
|
|
504
|
+
* buffered-frame drops on interruption.
|
|
505
|
+
*
|
|
506
|
+
* Set `false` to fall back to the legacy paced delivery path.
|
|
596
507
|
*/
|
|
597
508
|
deliver_chunks_ahead?: boolean;
|
|
598
509
|
/**
|
|
599
510
|
* Requested ahead-delivery blendshape timeline FPS.
|
|
600
|
-
* Applies to the
|
|
511
|
+
* Applies to the ahead-delivery path, where chunks carry fps
|
|
601
512
|
* metadata for the SDK player. The legacy paced path keeps its fixed 90fps
|
|
602
513
|
* delivery cadence for backward compatibility while SDK playback remains on
|
|
603
514
|
* the normal visual timeline.
|
|
@@ -737,16 +648,6 @@ export interface ChatMessage {
|
|
|
737
648
|
timestamp: string;
|
|
738
649
|
/** Whether this message is still streaming (mutable); false when finalized */
|
|
739
650
|
isStreaming?: boolean;
|
|
740
|
-
/**
|
|
741
|
-
* Character instance this message is attributed to, in a multi-character
|
|
742
|
-
* room. Undefined for single-character sessions and for user messages.
|
|
743
|
-
*/
|
|
744
|
-
membershipId?: string;
|
|
745
|
-
/**
|
|
746
|
-
* Character definition behind {@link ChatMessage.membershipId}. Not unique
|
|
747
|
-
* when the room contains clones — use `membershipId` to tell them apart.
|
|
748
|
-
*/
|
|
749
|
-
characterId?: string;
|
|
750
651
|
}
|
|
751
652
|
/**
|
|
752
653
|
* Represents a single metrics event from the server.
|
|
@@ -829,18 +730,6 @@ export interface ConvaiClientState {
|
|
|
829
730
|
* Clears when resetSession() is called.
|
|
830
731
|
*/
|
|
831
732
|
metrics: ConvaiMetrics[];
|
|
832
|
-
/**
|
|
833
|
-
* Character instances in the room, in roster order.
|
|
834
|
-
*
|
|
835
|
-
* Empty for single-character sessions. Populated from the connect response
|
|
836
|
-
* and kept current by roster changes.
|
|
837
|
-
*/
|
|
838
|
-
characters: ConvaiCharacterInstance[];
|
|
839
|
-
/**
|
|
840
|
-
* Membership ID of the character currently receiving user turns.
|
|
841
|
-
* null for single-character sessions.
|
|
842
|
-
*/
|
|
843
|
-
activeMembershipId: string | null;
|
|
844
733
|
/**
|
|
845
734
|
* Disconnect reason from LiveKit when disconnected.
|
|
846
735
|
* null when connected, otherwise contains the reason code.
|
|
@@ -1100,11 +989,6 @@ export interface IConvaiClient {
|
|
|
1100
989
|
readonly authToken?: string | null;
|
|
1101
990
|
/** Character ID used for the current connection (null if not connected) */
|
|
1102
991
|
readonly characterId: string | null;
|
|
1103
|
-
/**
|
|
1104
|
-
* Speaker ID for the current user (null if not connected).
|
|
1105
|
-
* Used for long-term memory and user analytics.
|
|
1106
|
-
*/
|
|
1107
|
-
readonly speakerId: string | null;
|
|
1108
992
|
/** Internal LiveKit Room instance (for advanced usage) */
|
|
1109
993
|
readonly room: Room;
|
|
1110
994
|
/** Array of all chat messages in the current conversation */
|
|
@@ -1236,44 +1120,6 @@ export interface IConvaiClient {
|
|
|
1236
1120
|
* Pass `null` (or `"neutral"`) to clear it.
|
|
1237
1121
|
*/
|
|
1238
1122
|
updateEmotion: (stateOfMind: string | null) => void;
|
|
1239
|
-
/**
|
|
1240
|
-
* Route subsequent user turns to a different character instance in a
|
|
1241
|
-
* multi-character room.
|
|
1242
|
-
*
|
|
1243
|
-
* Address the instance by its `membershipId` — clones share a `characterId`.
|
|
1244
|
-
* Routing epochs are managed internally; a stale epoch is retried once
|
|
1245
|
-
* against the server's authoritative value.
|
|
1246
|
-
*
|
|
1247
|
-
* @param membershipId - Instance to make active.
|
|
1248
|
-
* @returns The instance that is now active.
|
|
1249
|
-
* @throws If the transport is not ready, the membership is unknown, or the
|
|
1250
|
-
* server rejects the change.
|
|
1251
|
-
*
|
|
1252
|
-
* @example
|
|
1253
|
-
* ```ts
|
|
1254
|
-
* const assessor = client.state.characters.find(c => c.characterId === ASSESSOR);
|
|
1255
|
-
* await client.setInteractionTarget(assessor.membershipId);
|
|
1256
|
-
* client.sendUserTextMessage('I am ready for the assessment.');
|
|
1257
|
-
* ```
|
|
1258
|
-
*/
|
|
1259
|
-
setInteractionTarget: (membershipId: string) => Promise<ConvaiCharacterInstance>;
|
|
1260
|
-
/**
|
|
1261
|
-
* Add or remove character instances on a live multi-character room, without
|
|
1262
|
-
* reconnecting.
|
|
1263
|
-
*
|
|
1264
|
-
* @param options - Instances to add and/or membership IDs to remove.
|
|
1265
|
-
* @returns The instances actually added and removed.
|
|
1266
|
-
* @throws If the transport is not ready or the server rejects the change.
|
|
1267
|
-
*
|
|
1268
|
-
* @example
|
|
1269
|
-
* ```ts
|
|
1270
|
-
* await client.updateCharacterRoster({
|
|
1271
|
-
* add: [{ characterId: MEDIC }],
|
|
1272
|
-
* remove: [oldMembershipId],
|
|
1273
|
-
* });
|
|
1274
|
-
* ```
|
|
1275
|
-
*/
|
|
1276
|
-
updateCharacterRoster: (options: UpdateCharacterRosterOptions) => Promise<CharacterRosterChange>;
|
|
1277
1123
|
/**
|
|
1278
1124
|
* Send descriptive scene updates so the bot knows what is visible or nearby.
|
|
1279
1125
|
* Does not modify actionConfig.
|
package/dist/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
package/dist/core/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAuBA;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,cAAc,EAAE,CAAC;IACjB,gBAAgB,EAAE,CAAC;IACnB,kBAAkB,EAAE,CAAC;IACrB,eAAe,EAAE,CAAC;IAClB,mBAAmB,EAAE,CAAC;IACtB,YAAY,EAAE,CAAC;IACf,cAAc,EAAE,CAAC;IACjB,YAAY,EAAE,CAAC;IACf,SAAS,EAAE,CAAC;IACZ,YAAY,EAAE,CAAC;CACP,CAAC;AAEX;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAA+B;IACxE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,oBAAoB,CAAC,cAAc;YACtC,OAAO,sCAAsC,CAAC;QAChD,KAAK,oBAAoB,CAAC,gBAAgB;YACxC,OAAO,mBAAmB,CAAC;QAC7B,KAAK,oBAAoB,CAAC,kBAAkB;YAC1C,OAAO,0CAA0C,CAAC;QACpD,KAAK,oBAAoB,CAAC,eAAe;YACvC,OAAO,yBAAyB,CAAC;QACnC,KAAK,oBAAoB,CAAC,mBAAmB;YAC3C,OAAO,kCAAkC,CAAC;QAC5C,KAAK,oBAAoB,CAAC,YAAY;YACpC,OAAO,+BAA+B,CAAC;QACzC,KAAK,oBAAoB,CAAC,cAAc;YACtC,OAAO,gBAAgB,CAAC;QAC1B,KAAK,oBAAoB,CAAC,YAAY;YACpC,OAAO,gBAAgB,CAAC;QAC1B,KAAK,oBAAoB,CAAC,SAAS;YACjC,OAAO,qCAAqC,CAAC;QAC/C,KAAK,oBAAoB,CAAC,YAAY;YACpC,OAAO,0BAA0B,CAAC;QACpC;YACE,OAAO,cAAc,CAAC;IAC1B,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAuBA;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,cAAc,EAAE,CAAC;IACjB,gBAAgB,EAAE,CAAC;IACnB,kBAAkB,EAAE,CAAC;IACrB,eAAe,EAAE,CAAC;IAClB,mBAAmB,EAAE,CAAC;IACtB,YAAY,EAAE,CAAC;IACf,cAAc,EAAE,CAAC;IACjB,YAAY,EAAE,CAAC;IACf,SAAS,EAAE,CAAC;IACZ,YAAY,EAAE,CAAC;CACP,CAAC;AAEX;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAA+B;IACxE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,oBAAoB,CAAC,cAAc;YACtC,OAAO,sCAAsC,CAAC;QAChD,KAAK,oBAAoB,CAAC,gBAAgB;YACxC,OAAO,mBAAmB,CAAC;QAC7B,KAAK,oBAAoB,CAAC,kBAAkB;YAC1C,OAAO,0CAA0C,CAAC;QACpD,KAAK,oBAAoB,CAAC,eAAe;YACvC,OAAO,yBAAyB,CAAC;QACnC,KAAK,oBAAoB,CAAC,mBAAmB;YAC3C,OAAO,kCAAkC,CAAC;QAC5C,KAAK,oBAAoB,CAAC,YAAY;YACpC,OAAO,+BAA+B,CAAC;QACzC,KAAK,oBAAoB,CAAC,cAAc;YACtC,OAAO,gBAAgB,CAAC;QAC1B,KAAK,oBAAoB,CAAC,YAAY;YACpC,OAAO,gBAAgB,CAAC;QAC1B,KAAK,oBAAoB,CAAC,SAAS;YACjC,OAAO,qCAAqC,CAAC;QAC/C,KAAK,oBAAoB,CAAC,YAAY;YACpC,OAAO,0BAA0B,CAAC;QACpC;YACE,OAAO,cAAc,CAAC;IAC1B,CAAC;AACH,CAAC","sourcesContent":["import { Room, DisconnectReason as LiveKitDisconnectReason } from 'livekit-client';\nimport { BlendshapeQueue } from './BlendshapeQueue';\n\n/**\n * LiveKit disconnect reasons.\n * Helps determine why a participant was disconnected from the room.\n * \n * These values map to LiveKit's DisconnectReason enum:\n * - UNKNOWN_REASON (0): Unknown disconnect reason\n * - CLIENT_INITIATED (1): Client called disconnect() - intentional disconnect\n * - DUPLICATE_IDENTITY (2): Another client with the same identity joined the room\n * - SERVER_SHUTDOWN (3): LiveKit server is shutting down\n * - PARTICIPANT_REMOVED (4): Participant was removed by RemoveParticipant API\n * - ROOM_DELETED (5): Room was ended via DeleteRoom API\n * - STATE_MISMATCH (6): State mismatch between client and server\n * - JOIN_FAILURE (7): Failed to join the room\n * - MIGRATION (8): Participant moved to a different room\n * - SIGNAL_CLOSE (9): Signal connection was closed\n * \n * @see https://docs.livekit.io/reference/client-sdk-js/enums/DisconnectReason.html\n */\nexport type DisconnectReason = LiveKitDisconnectReason;\n\n/**\n * Export LiveKit's DisconnectReason enum values for easy access\n */\nexport const DisconnectReasonEnum = {\n UNKNOWN_REASON: 0,\n CLIENT_INITIATED: 1,\n DUPLICATE_IDENTITY: 2,\n SERVER_SHUTDOWN: 3,\n PARTICIPANT_REMOVED: 4,\n ROOM_DELETED: 5,\n STATE_MISMATCH: 6,\n JOIN_FAILURE: 7,\n MIGRATION: 8,\n SIGNAL_CLOSE: 9,\n} as const;\n\n/**\n * Get a human-readable message for a disconnect reason.\n * \n * @param reason - The disconnect reason code from LiveKit\n * @returns A human-readable message describing the disconnect reason\n * \n * @example\n * ```typescript\n * client.on('disconnect', (reason) => {\n * console.log(getDisconnectReasonMessage(reason));\n * // Output: \"User disconnected\"\n * });\n * ```\n */\nexport function getDisconnectReasonMessage(reason: DisconnectReason | null): string {\n if (reason === null) {\n return 'Connected';\n }\n\n switch (reason) {\n case DisconnectReasonEnum.UNKNOWN_REASON:\n return 'Network unavailable or unknown cause';\n case DisconnectReasonEnum.CLIENT_INITIATED:\n return 'User disconnected';\n case DisconnectReasonEnum.DUPLICATE_IDENTITY:\n return 'Another client with same identity joined';\n case DisconnectReasonEnum.SERVER_SHUTDOWN:\n return 'Server is shutting down';\n case DisconnectReasonEnum.PARTICIPANT_REMOVED:\n return 'Removed by RemoveParticipant API';\n case DisconnectReasonEnum.ROOM_DELETED:\n return 'Room ended via DeleteRoom API';\n case DisconnectReasonEnum.STATE_MISMATCH:\n return 'State mismatch';\n case DisconnectReasonEnum.JOIN_FAILURE:\n return 'Failed to join';\n case DisconnectReasonEnum.MIGRATION:\n return 'Participant moved to different room';\n case DisconnectReasonEnum.SIGNAL_CLOSE:\n return 'Signal connection closed';\n default:\n return 'Disconnected';\n }\n}\n\n/**\n * Dynamic information structure for passing real-time context to the character.\n * Pass a text description of the current dynamic context.\n * \n * @example\n * ```typescript\n * const dynamicInfo = \"Player health is low, in combat mode\";\n * ```\n */\nexport type DynamicInfo = string;\n\n/**\n * Minimal contract that ConvaiClient and AudioManager require from a WebSocket\n * session implementation. Defined here so core has zero import dependency on\n * the pipecat packages — the concrete class lives in the vanilla/websocket subpath.\n */\nexport interface IWebSocketSession {\n readonly isConnected: boolean;\n connectWithUrl(wsUrl: string): Promise<void>;\n disconnect(): Promise<void>;\n sendMessage(type: string, data: unknown): void;\n enableMic(enable: boolean): void;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n on(event: string, listener: (...args: any[]) => void): () => void;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n off(event: string, listener: (...args: any[]) => void): void;\n}\n\n/**\n * Factory function signature used to register a WebSocket transport implementation\n * via {@link ConvaiClient.registerWebSocketTransport}. Import\n * `@convai/web-sdk/vanilla/websocket` (or `@convai/web-sdk/react/websocket`) as a\n * side-effect to register the default Pipecat-based implementation.\n */\nexport type WebSocketSessionFactory = (\n onMessage: (payload: Uint8Array) => void,\n enableMic: boolean,\n) => IWebSocketSession;\n\n/**\n * Options for {@link IConvaiClient.uploadFile}.\n *\n * Supported formats: JPEG, PNG, GIF, WebP. Maximum file size: 10 MB.\n * Files are sent as raw binary over the WebRTC byte stream — not base64 encoded.\n */\nexport interface UploadFileOptions {\n /** Server routing topic. Defaults to `'file-upload'`. */\n topic?: string;\n /**\n * Progress callback. Called with an integer percentage (0–100) as the upload proceeds.\n */\n onProgress?: (progressPercent: number) => void;\n}\n\n/**\n * Extra data returned in a server-response for specific event types.\n */\nexport interface ServerResponseExtras {\n // context-update extras\n token_count?: number;\n static_token_count?: number;\n runtime_token_count?: number;\n max_tokens?: number;\n static_max_tokens?: number;\n runtime_max_tokens?: number;\n remaining_tokens?: number;\n /** Full retained runtime dynamic context text after the update */\n content?: string;\n // tts-toggle extras\n enabled?: boolean;\n // stt-toggle extras\n muted?: boolean;\n // trigger-message extras\n trigger_name?: string;\n has_speak_tag?: boolean;\n // user_text_message extras\n text?: string;\n // kill-pipeline extras\n room_name?: string;\n // unknown-message-type error extras\n supported_types?: string[];\n // vision-status / vision-trigger extras\n vision_buffer?: VisionBufferStatus;\n requested_respond_mode?: RespondMode;\n actual_respond_mode?: RespondMode;\n requested_run_llm?: \"true\" | \"false\" | \"auto\";\n actual_run_llm?: \"true\" | \"false\" | \"auto\";\n llm_triggered?: boolean;\n downgraded?: boolean;\n downgrade_reason?: string | null;\n interrupted?: boolean;\n vision_frames_attached?: number;\n vision_image_tokens_est?: number;\n vision_detail_level?: string | null;\n vision_attach_outcome?: string;\n vision_source_participant?: string | null;\n attached_frame_pts?: number[];\n frame_binding?: string;\n frame_binding_error?: string | null;\n requested_frame_indices?: [number, number] | number[] | null;\n requested_frame_ids?: number[] | null;\n frame_indices_clamped?: boolean;\n frame_ids_stale_exempt?: boolean;\n [key: string]: unknown;\n}\n\n/**\n * Acknowledgment sent by the server for every client-to-server message.\n * Analogous to an HTTP response: use `status` to check success/failure and\n * `extras` for event-specific data such as context token counts.\n *\n * @example\n * ```typescript\n * client.on('serverResponse', (response) => {\n * if (response.event_type === 'context-update') {\n * const { remaining_tokens, max_tokens } = response.extras ?? {};\n * console.log(`Tokens remaining: ${remaining_tokens} / ${max_tokens}`);\n * }\n * if (response.status === 'error') {\n * console.error('Server error:', response.message);\n * }\n * });\n * ```\n */\nexport interface ServerResponse {\n /** The original client message type that triggered this response */\n event_type: string;\n /** Processing status */\n status: 'success' | 'error' | 'processing' | 'pending';\n /** Human-readable description of the result */\n message: string | null;\n /** Additional event-specific data */\n extras: ServerResponseExtras | null;\n}\n\n/**\n * Emitted when the server assigns an interaction ID to the session.\n * Store the interactionId for analytics or session tracking.\n */\nexport interface InteractionCreated {\n /** Unique identifier for this interaction session */\n interactionId: string;\n /** Character session identifier */\n characterSessionId: string;\n}\n\n/**\n * A single action the character performs, emitted via the `actionResponse`\n * event. When `target` is present the action is *parameterized* (the character\n * acts on a specific object/character); simple actions (e.g. `\"Wave\"`) omit it.\n */\nexport interface ConvaiAction {\n /** Base action name, e.g. `\"Move To\"`, `\"Pick Up\"`, `\"Wave\"`. */\n name: string;\n /**\n * The object or character the action targets — must match a name from\n * `actionConfig.objects[]` / `actionConfig.characters[]`. Absent for simple\n * (non-parameterized) actions.\n */\n target?: string;\n}\n\n/**\n * Payload of the `actionResponse` event. Actions execute sequentially; an\n * empty array is a valid \"no action\" turn.\n */\nexport interface ActionResponseEvent {\n actions: ConvaiAction[];\n}\n\n/**\n * Options for updating the bot's temporary runtime context.\n * Provides flexible control over how context is managed during conversation.\n * \n * @example\n * ```typescript\n * // Append to existing context\n * client.updateContext({\n * text: \"User just completed dragon quest\",\n * mode: \"append\",\n * run_llm: \"false\"\n * });\n * \n * // Replace entire context\n * client.updateContext({\n * text: \"New game state: level 5, combat mode\",\n * mode: \"replace\",\n * run_llm: \"auto\"\n * });\n * \n * // Reset/clear context\n * client.updateContext({\n * mode: \"reset\"\n * });\n * ```\n */\nexport interface ContextUpdateOptions {\n /**\n * The context text to inject.\n * Required unless mode is \"reset\" or only current_attention_object is being updated.\n */\n text?: string;\n /**\n * How to apply the context:\n * - \"append\" (default): Add text to existing ephemeral context\n * - \"replace\": Replace existing ephemeral context with new text\n * - \"reset\": Clear ephemeral context; text is optional\n */\n mode?: \"append\" | \"replace\" | \"reset\";\n /**\n * Whether to trigger LLM response:\n * - \"true\": Always trigger a response from the bot and preempt active local playback\n * - \"false\": Never trigger a response\n * - \"auto\" (default): Server decides based on context without preempting active playback\n */\n run_llm?: \"true\" | \"false\" | \"auto\";\n /**\n * Optional respond-mode alias for backends that expose unified respond modes.\n * If `run_llm` is provided, it takes precedence.\n */\n respond_mode?: RespondMode;\n /**\n * The object the character should currently focus on.\n * Must match one of action_config.objects[].name.\n * Pass an empty string to clear current attention.\n */\n current_attention_object?: string;\n}\n\nexport type RespondMode = \"must_respond\" | \"auto\" | \"silent\";\n\nexport type RespondModality =\n | \"text\"\n | \"audio\"\n | \"vision\"\n | \"context_update\"\n | \"trigger\"\n | \"scene_metadata\";\n\nexport interface RespondModesConfig {\n text?: \"must_respond\";\n audio?: \"must_respond\";\n vision?: RespondMode;\n contextUpdate?: RespondMode;\n trigger?: RespondMode;\n sceneMetadata?: RespondMode;\n}\n\nexport interface VisionSamplingWindowConfig {\n count: number;\n intervalMs: number;\n}\n\nexport interface VisionInputConfig {\n /**\n * Enable unified vision context for this session.\n *\n * Defaults to true when enableVideo is true. Set false to keep the video\n * channel available while opting out of unified vision context.\n */\n enabled?: boolean;\n sampleIntervalSecs?: number;\n framesPerTurn?: number;\n bufferFrames?: number;\n samplingWindows?: VisionSamplingWindowConfig[];\n stalenessSeconds?: number;\n maxResolution?: number | null;\n replacePreviousVisionContext?: boolean;\n}\n\nexport interface VisionBufferStatus {\n enabled?: boolean;\n first_frame_pts?: number | null;\n last_frame_pts?: number | null;\n first_frame_index?: number | null;\n retained_frames?: number;\n buffer_frames?: number;\n frames_per_turn?: number;\n replace_previous_vision_context?: boolean;\n evicted_frames?: number;\n effective_fps?: number | null;\n selected_participant?: string | null;\n frames_admitted?: number;\n frames_dropped_foreign_source?: number;\n frames_dropped_inactive_source?: number;\n frames_dropped_rate_limited?: number;\n last_attach?: {\n vision_frames_attached?: number;\n vision_image_tokens_est?: number;\n vision_detail_level?: string | null;\n vision_attach_outcome?: string;\n vision_source_participant?: string | null;\n attached_frame_pts?: number[];\n };\n}\n\nexport interface VisionStatusOptions {\n updateId?: string;\n}\n\nexport interface VisionTriggerOptions {\n updateId?: string;\n text?: string;\n respondMode?: RespondMode;\n frameIndices?: [number, number];\n frameIds?: number[];\n}\n\nexport interface RespondModeUpdateOptions {\n updateId?: string;\n modality: RespondModality;\n mode: RespondMode;\n}\n\nexport interface UpdateSceneMetadataOptions {\n respondMode?: RespondMode;\n}\n\nexport type VisionSourceKind =\n | \"webcam\"\n | \"canvas\"\n | \"screen\"\n | \"custom\"\n // Backward-compatible aliases accepted by the existing SDK surface.\n | \"camera\"\n | \"screen_share\"\n | \"unknown\";\n\nexport interface VisionSourceState {\n active: boolean;\n source: VisionSourceKind | null;\n sourceName: string | null;\n trackState: MediaStreamTrackState | null;\n transport?: \"livekit\" | \"websocket\";\n reason?: string;\n}\n\nexport interface PublishCanvasOptions {\n fps?: number;\n name?: string;\n source?: VisionSourceKind;\n stopTrackOnUnpublish?: boolean;\n}\n\nexport interface PublishVideoTrackOptions {\n name?: string;\n source?: VisionSourceKind;\n /** WebSocket transport frame publish cadence. LiveKit publishes the track continuously. */\n fps?: number;\n stopTrackOnUnpublish?: boolean;\n}\n\nexport interface VisionSourceHandle {\n track: MediaStreamTrack;\n publication?: unknown;\n transport?: \"livekit\" | \"websocket\";\n sourceName: string;\n source: VisionSourceKind;\n stopTrackOnUnpublish: boolean;\n unpublish: () => Promise<void>;\n cleanup?: () => void;\n}\n\n/**\n * Audio processing settings for the microphone input.\n * These settings help optimize the audio quality and reduce interruptions.\n * @internal - This is a fixed configuration and should not be modified by users\n */\nexport interface AudioSettings {\n /** Enable echo cancellation to prevent audio feedback (default: true) */\n echoCancellation?: boolean;\n /** Enable noise suppression to reduce background noise (default: true) */\n noiseSuppression?: boolean;\n /** Enable automatic gain control for consistent volume (default: true) */\n autoGainControl?: boolean;\n /** Audio sample rate in Hz (default: 48000) */\n sampleRate?: number;\n /** Number of audio channels, 1 for mono, 2 for stereo (default: 1) */\n channelCount?: number;\n}\n\n/**\n * Configuration object for connecting to a Convai character.\n * \n * @example\n * ```typescript\n * const config: ConvaiConfig = {\n * apiKey: 'your-api-key',\n * characterId: 'your-character-id',\n * endUserId: 'user-uuid', // Optional: enables long-term memory and analytics\n * enableVideo: false, // If false, connection_type will be \"audio\"\n * };\n * ```\n */\nexport interface ConvaiConfig {\n /** Your Convai API key or Auth Token (at least one is required) */\n apiKey?: string;\n authToken?: string;\n /** The Character ID to connect to (required) */\n characterId: string;\n /** Temporary character state of mind sent as `state_of_mind` on connect. */\n stateOfMind?: string | null;\n /**\n * Stable identifier for the end user (optional).\n *\n * Any non-empty string is accepted. Use a value that uniquely identifies the\n * user across sessions — a UUID or email address are the most common choices:\n *\n * ```ts\n * endUserId: 'a1b2c3d4-...' // UUID (preferred)\n * endUserId: 'user@example.com' // email\n * endUserId: 'device-fingerprint' // any stable unique string\n * ```\n *\n * When provided:\n * - Enables long-term memory: character remembers context from previous sessions\n * - Enables per-user analytics and engagement tracking\n *\n * When omitted the session is anonymous — no memory, no cross-session tracking.\n */\n endUserId?: string;\n /** Optional metadata object for the end user (sent as end_user_metadata to the API) */\n endUserMetadata?: Record<string, unknown>;\n /** Custom Convai API URL (optional, defaults to production endpoint) */\n url?: string;\n /** Transport layer to use. Default: \"livekit\". Use \"websocket\" for Pipecat WebSocket transport. */\n transport?: \"livekit\" | \"websocket\";\n /**\n * Character session ID (optional). Pass to resume an existing session;\n * otherwise populated from the connect API response after first connection.\n */\n characterSessionId?: string;\n /** \n * Enable video capability (default: false).\n * If true, connection_type will be \"video\" (supports audio, video, and screenshare).\n * If false, connection_type will be \"audio\" (audio only).\n */\n enableVideo?: boolean;\n /** \n * Start with video camera on when connecting (default: false).\n * Only works if enableVideo is true. If false, camera stays off until user enables it.\n */\n startWithVideoOn?: boolean;\n /** \n * Start with microphone on when connecting (default: false).\n * If false, microphone stays off until user enables it using audioControls.enableAudio().\n * Useful for text-only modes where you want to defer microphone permission until voice mode.\n */\n startWithAudioOn?: boolean;\n /**\n * Dynamic vision context controls for discrete vision-capable backends.\n * Defaults to enabled when enableVideo=true. Set\n * visionInputConfig.enabled=false to opt out while keeping the video channel.\n */\n visionInputConfig?: VisionInputConfig;\n /** Connect-time respond-mode defaults by modality. */\n respondModes?: RespondModesConfig;\n /** Enable text-to-speech audio generation (default: true) */\n ttsEnabled?: boolean;\n /** \n * Enable lipsync/facial animation blendshapes (default: false).\n * When true, sets blendshape_provider to \"neurosync\".\n * When false, sets blendshape_provider to \"none\" (no facial animation data).\n */\n enableLipsync?: boolean;\n /** Enable emotion detection and bot-emotion updates (default: false) */\n enableEmotion?: boolean;\n /** Blendshape configuration for facial animation format */\n blendshapeConfig?: {\n /** Format of blendshapes: \"arkit\" or \"mha\" (Meta Human Animation, default: \"mha\") */\n format?: \"arkit\" | \"mha\";\n /** \n * Custom mapper function to transform incoming blendshapes.\n * Use this to map Convai blendshapes to your character's morph targets.\n * The function receives the raw blendshape array and should return a Float32Array.\n * \n * @example\n * ```typescript\n * import { createARKitNameMapper } from '@convai/web-sdk/lipsync-helpers';\n * \n * const mapper = createARKitNameMapper({\n * 'Character__Mouth_Open': ['Jaw_Open'],\n * 'Character__EyeL_Blink': ['Eye_Blink_L'],\n * }, 'optimized');\n * \n * const config = {\n * blendshapeConfig: {\n * format: 'arkit',\n * customMapper: mapper,\n * }\n * };\n * ```\n */\n customMapper?: (input: number[] | Float32Array) => Float32Array;\n /** \n * Buffer duration for blendshape frames in seconds (default: 1).\n * Controls how much time the server should wait after generating blendshapes before playing the audio.\n */\n frames_buffer_duration?: number;\n /**\n * Enable server ahead-delivery for NeuroSync chunks.\n *\n * Defaults to `true` when `enableLipsync` is on. The server may send\n * indexed blendshape chunks before audio playback, so use the SDK\n * BlendshapeQueue/player path, which handles owner-scoped cancellation and\n * buffered-frame drops on interruption.\n *\n * Set `false` to fall back to the legacy paced delivery path.\n */\n deliver_chunks_ahead?: boolean;\n /**\n * Requested ahead-delivery blendshape timeline FPS.\n * Applies to the ahead-delivery path, where chunks carry fps\n * metadata for the SDK player. The legacy paced path keeps its fixed 90fps\n * delivery cadence for backward compatibility while SDK playback remains on\n * the normal visual timeline.\n */\n output_fps?: number;\n };\n /** Emotion configuration for character emotional state (sent to server on connect) */\n emotionConfig?:\n | {\n /** LLM-based emotion detection — infers emotion from response context (default) */\n provider: \"llm\";\n }\n | {\n /** NRCLex word-level lexicon lookup */\n provider: \"nrclex\";\n /** Minimum word threshold for emotion detection */\n min_word_threshold?: number;\n /** Low intensity threshold (0–1) */\n low_intensity_threshold?: number;\n /** High intensity threshold (0–1) */\n high_intensity_threshold?: number;\n };\n /** Configuration for character actions and environmental context */\n actionConfig?: {\n /** List of action names the character can perform */\n actions: string[];\n /** Other characters present in the scene or conversation */\n characters: Array<{\n /** Character name */\n name: string;\n /** Character biography or description */\n bio: string;\n }>;\n /** Objects available in the scene or environment */\n objects: Array<{\n /** Object name */\n name: string;\n /** Object description or properties */\n description: string;\n }>;\n /** Name of the object the character is currently focused on. Must match one of objects[].name. */\n current_attention_object?: string;\n };\n /** \n * Dynamic contextual information about the current situation.\n * This can be updated during the conversation to provide real-time context.\n * Use the DynamicInfo type to pass flexible key-value pairs with a required \"text\" field.\n */\n dynamicInfo?: DynamicInfo;\n /**\n * Template key values for Narrative Design placeholder substitution,\n * sent as `narrative_template_keys` in the /connect request.\n *\n * Narrative Design section objectives and speak tags may contain\n * placeholders such as `{player_name}` or `{quest_item}`; they are replaced\n * with these values when the section is evaluated, so one narrative graph\n * can serve many personalized sessions. Keys are case-sensitive; missing\n * keys resolve to an empty string.\n *\n * To change the keys mid-session, call `updateTemplateKeys()` — it replaces\n * this same map at runtime (before the next trigger fires).\n *\n * @example\n * ```typescript\n * const client = new ConvaiClient({\n * apiKey: 'your-api-key',\n * characterId: 'your-character-id',\n * narrativeTemplateKeys: {\n * player_name: 'Alex',\n * location: 'Engineering Deck',\n * quest_item: 'oxygen generator',\n * },\n * });\n * ```\n */\n narrativeTemplateKeys?: Record<string, string>;\n /**\n * Keep dynamic info in context as a static prompt (default: false).\n * \n * When true:\n * - Dynamic info behaves as a static prompt sent to the LLM for that WebRTC connection\n * - Dynamic info persists throughout the session\n * - You need to set it again after disconnecting/reconnecting\n * \n * When false:\n * - Allows resetting and updating via updateContext() or updateDynamicInfo()\n * - Dynamic info can be changed during the session\n */\n keepInContext?: boolean;\n /** \n * Enable debug mode for additional logging and diagnostics (default: false).\n */\n debug?: boolean;\n /**\n * Log decoded RTVI data messages to the browser console (default: true).\n * Set to false to silence incoming and outgoing RTVI message logs.\n */\n logRtviMessages?: boolean;\n /** \n * Metadata about the invocation source and client information.\n * Used for analytics and debugging purposes.\n */\n invocationMetadata?: {\n /** Source of the invocation (e.g., \"web\", \"mobile\", \"unity\") */\n source?: string;\n /** Client SDK version */\n clientVersion?: string;\n /** Additional custom metadata */\n extraMetadata?: Record<string, unknown>;\n };\n}\n\n/**\n * Represents a single message in the chat conversation.\n * Different message types are used for various parts of the conversation flow.\n */\nexport interface ChatMessage {\n /** Unique identifier for the message */\n id: string;\n /** \n * Type of message:\n * - `user`: User's sent message\n * - `convai`: Character's response\n * - `user-transcription`: Real-time speech-to-text from user\n * - `bot-llm-text`: Character's LLM-generated text (token-by-token streaming)\n * - `bot-output`: Aggregated bot output (sentence/word-level chunks with spoken status)\n * - `emotion`: Character's emotional state\n * - `behavior-tree`: Behavior tree response\n * - `action`: Action execution\n * - `bot-emotion`: Bot emotional response\n * - `user-llm-text`: User text processed by LLM\n * - `interrupt-bot`: Interrupt the bot's current response\n * - `idle-warning`: Server idle-timeout warning; `content` holds remaining seconds as a numeric string (e.g. `\"45\"`)\n * - `llm-no-response`: LLM deliberately did not respond (abstain); `content` is always `\"\"`\n */\n type: 'user' | 'convai' | 'emotion' | 'behavior-tree' | 'action' | 'user-transcription' | 'bot-llm-text' | 'bot-output' | 'bot-emotion' | 'user-llm-text' | 'interrupt-bot' | 'idle-warning' | 'llm-no-response';\n /** The text content of the message */\n content: string;\n /** ISO timestamp string of when the message was created */\n timestamp: string;\n /** Whether this message is still streaming (mutable); false when finalized */\n isStreaming?: boolean;\n}\n\n/**\n * Represents a single metrics event from the server.\n * Multiple metrics may be received during a conversation.\n */\nexport interface ConvaiMetrics {\n /** Raw metrics data from the server */\n data: Record<string, unknown>;\n /** Timestamp when the metrics were received */\n timestamp: string;\n /** Unique identifier for this metrics event */\n id: string;\n}\n\n/**\n * Represents the current state of the Convai client connection and activity.\n * Use this to provide UI feedback about the conversation state.\n * \n * @example\n * ```typescript\n * const { state } = convaiClient;\n * \n * if (state.isConnected) {\n * console.log('Connected to character');\n * }\n * \n * if (state.isSpeaking) {\n * console.log('Character is speaking');\n * }\n * \n * // Or use the combined state\n * console.log(state.agentState); // 'listening' | 'thinking' | 'speaking'\n * \n * // Access end user information\n * console.log(state.endUserId); // 'user@example.com'\n * console.log(state.endUserMetadata); // { name: 'John', age: '30' }\n * \n * // Access metrics for the current conversation\n * console.log(state.metrics); // Array of metrics events\n * \n * // Check disconnect reason\n * if (state.disconnectReason !== null) {\n * console.log('Disconnected due to:', state.disconnectReason);\n * }\n * ```\n */\nexport interface ConvaiClientState {\n /** Whether the client is currently connected to Convai */\n isConnected: boolean;\n /** Whether a connection attempt is in progress */\n isConnecting: boolean;\n /** True from user-started-speaking until user-stopped-speaking (user is speaking, bot is listening). Priority below isSpeaking. */\n isListening: boolean;\n /** Whether the character is processing/thinking about a response */\n isThinking: boolean;\n /** Whether the character is currently speaking */\n isSpeaking: boolean;\n /** \n * Combined state indicator for the character's current activity.\n * Priority: speaking > listening (user speaking) > thinking > connected.\n */\n agentState: 'disconnected' | 'connected' | 'listening' | 'thinking' | 'speaking';\n /** Current bot emotion (name and optional scale). Updated when bot-emotion messages are received. */\n emotion: { emotion: string; scale?: number } | null;\n /** \n * End user ID returned from the connection response.\n * This is the actual end user ID used by the server (may differ from the one provided in config).\n */\n endUserId: string | null;\n /** \n * End user metadata returned from the connection response.\n * Contains additional information about the end user.\n */\n endUserMetadata: Record<string, unknown> | null;\n /** \n * Array of metrics events received during the current session.\n * Multiple metrics may be received per conversation.\n * Clears when resetSession() is called.\n */\n metrics: ConvaiMetrics[];\n /** \n * Disconnect reason from LiveKit when disconnected.\n * null when connected, otherwise contains the reason code.\n * Use this to differentiate between client-initiated disconnects and network/server issues.\n * \n * Notable reasons:\n * - CLIENT_INITIATED (1): User disconnected intentionally\n * - DUPLICATE_IDENTITY (2): Another client with same identity joined\n * - SERVER_SHUTDOWN (3): Server shutting down\n * - PARTICIPANT_REMOVED (4): Removed by API\n * - ROOM_DELETED (5): Room was ended\n * \n * Non-CLIENT_INITIATED reasons may indicate network disruptions where reconnection is appropriate.\n * \n * @see DisconnectReason\n */\n disconnectReason: DisconnectReason | null;\n}\n\n/**\n * Audio control interface for managing microphone\n */\nexport interface AudioControls {\n isAudioEnabled: boolean;\n isAudioMuted: boolean;\n audioLevel: number;\n enableAudio: () => Promise<void>;\n disableAudio: () => Promise<void>;\n muteAudio: () => Promise<void>;\n unmuteAudio: () => Promise<void>;\n toggleAudio: () => Promise<void>;\n setAudioDevice: (deviceId: string) => Promise<void>;\n getAudioDevices: () => Promise<MediaDeviceInfo[]>;\n startAudioLevelMonitoring: () => void;\n stopAudioLevelMonitoring: () => void;\n // EventEmitter methods for React integration\n on: (event: string, callback: (...args: any[]) => void) => () => void;\n off: (event: string, callback: (...args: any[]) => void) => void;\n}\n\n/**\n * Video control interface for managing camera\n */\nexport interface VideoControls {\n isVideoEnabled: boolean;\n isVideoHidden: boolean;\n activeVisionSource: VisionSourceHandle | null;\n hasActiveVisionSource: boolean;\n visionSourceState: VisionSourceState;\n enableVideo: () => Promise<void>;\n disableVideo: () => Promise<void>;\n hideVideo: () => Promise<void>;\n showVideo: () => Promise<void>;\n toggleVideo: () => Promise<void>;\n setVideoDevice: (deviceId: string) => Promise<void>;\n getVideoDevices: () => Promise<MediaDeviceInfo[]>;\n setVideoQuality: (quality: 'low' | 'medium' | 'high') => Promise<void>;\n publishCanvas: (\n canvas: HTMLCanvasElement,\n options?: PublishCanvasOptions,\n ) => Promise<VisionSourceHandle>;\n publishVideoTrack: (\n track: MediaStreamTrack,\n options?: PublishVideoTrackOptions,\n ) => Promise<VisionSourceHandle>;\n unpublishVisionSource: (\n source?: VisionSourceHandle | MediaStreamTrack,\n ) => Promise<void>;\n // EventEmitter methods for React integration\n on: (event: string, callback: (...args: any[]) => void) => () => void;\n off: (event: string, callback: (...args: any[]) => void) => void;\n}\n\n/**\n * Screen share control interface\n */\nexport interface ScreenShareControls {\n isScreenShareEnabled: boolean;\n isScreenShareActive: boolean;\n enableScreenShare: () => Promise<void>;\n disableScreenShare: () => Promise<void>;\n toggleScreenShare: () => Promise<void>;\n enableScreenShareWithAudio: () => Promise<void>;\n getScreenShareTracks: () => Promise<any[]>;\n // EventEmitter methods for React integration\n on: (event: string, callback: (...args: any[]) => void) => () => void;\n off: (event: string, callback: (...args: any[]) => void) => void;\n}\n\n/**\n * Main Convai client interface.\n * Provides complete control over Convai character connections and interactions.\n * \n * @example\n * ```typescript\n * import { ConvaiClient } from '@convai/web-sdk/core';\n * \n * const client = new ConvaiClient();\n * \n * // Connect to character\n * await client.connect({\n * apiKey: 'your-api-key',\n * characterId: 'your-character-id',\n * endUserId: '-1' // Dev mode\n * });\n * \n * // Send a message\n * client.sendUserTextMessage('Hello!');\n * \n * // Listen for state changes\n * client.on('stateChange', (state) => {\n * console.log('State:', state);\n * });\n * \n * // Listen for messages\n * client.on('message', (message) => {\n * console.log('New message:', message);\n * });\n * ```\n */\n/**\n * Memory API Types\n * Types for Convai's long-term memory management APIs\n */\n\n/**\n * Memory object returned from the API\n */\nexport interface Memory {\n /** Unique memory identifier (UUID) */\n id: string;\n /** Memory text content */\n memory: string;\n /** ISO timestamp when the memory was created */\n created_at: string;\n /** ISO timestamp when the memory was last updated */\n updated_at: string;\n}\n\n/**\n * Memory event object from add operation\n */\nexport interface MemoryAddEvent {\n /** Memory identifier */\n id: string;\n /** Event type (always \"ADD\" for add operations) */\n event: 'ADD';\n /** Memory text content */\n memory: string;\n}\n\n/**\n * Request to add memories\n */\nexport interface MemoryAddRequest {\n /** Character UUID */\n character_id: string;\n /** End user identifier */\n end_user_id: string;\n /** Array of memory strings to add */\n memories: string[];\n}\n\n/**\n * Response from add memories operation\n */\nexport interface MemoryAddResponse {\n /** Array of added memories with their IDs */\n memories: MemoryAddEvent[];\n}\n\n/**\n * Request to list memories with pagination\n */\nexport interface MemoryListRequest {\n /** Character UUID */\n character_id: string;\n /** End user identifier */\n end_user_id: string;\n /** Page number (default: 1, clamped to 1-1000) */\n page?: number;\n /** Number of memories per page (default: 50, clamped to 1-100) */\n page_size?: number;\n}\n\n/**\n * Response from list memories operation\n */\nexport interface MemoryListResponse {\n /** Array of memories */\n memories: Memory[];\n /** Total count of memories for this character/user pair */\n total_count: number;\n /** Current page number */\n page: number;\n /** Number of memories per page */\n page_size: number;\n /** Whether there are more pages available */\n has_more: boolean;\n}\n\n/**\n * Request to get a single memory\n */\nexport interface MemoryGetRequest {\n /** Character UUID */\n character_id: string;\n /** End user identifier */\n end_user_id: string;\n /** Memory UUID to fetch */\n memory_id: string;\n}\n\n/**\n * Response from get memory operation\n */\nexport type MemoryGetResponse = Memory;\n\n/**\n * Request to delete a memory\n */\nexport interface MemoryDeleteRequest {\n /** Character UUID */\n character_id: string;\n /** End user identifier */\n end_user_id: string;\n /** Memory UUID to delete */\n memory_id: string;\n}\n\n/**\n * Response from delete memory operation\n */\nexport interface MemoryDeleteResponse {\n /** Success message */\n message: string;\n /** Memory ID that was deleted */\n memory_id: string;\n /** Whether the memory was successfully deleted */\n deleted: boolean;\n}\n\n/**\n * Request to delete all memories\n */\nexport interface MemoryDeleteAllRequest {\n /** Character UUID */\n character_id: string;\n /** End user identifier */\n end_user_id: string;\n}\n\n/**\n * Response from delete all memories operation\n */\nexport interface MemoryDeleteAllResponse {\n /** Status message (deletion is asynchronous) */\n message: string;\n /** Character ID for which memories are being deleted */\n character_id: string;\n /** End user ID for which memories are being deleted */\n end_user_id: string;\n}\n\n/**\n * Error response from Memory API\n */\nexport interface MemoryError {\n /** Error message */\n ERROR: string;\n /** Transaction reference ID for debugging */\n 'Reference ID': string;\n}\n\nexport interface IConvaiClient {\n /** Current connection and activity state of the client */\n readonly state: ConvaiClientState;\n \n /** \n * Connection type: \"audio\" (audio only) or \"video\" (audio + video + screenshare).\n * Set based on enableVideo in connect config.\n */\n readonly connectionType: 'audio' | 'video' | null;\n \n /** API key used for the current connection, if apiKey was used (null otherwise) */\n readonly apiKey?: string | null;\n\n /** Auth token used for the current connection, if authToken was used (null otherwise) */\n readonly authToken?: string | null;\n\n /** Character ID used for the current connection (null if not connected) */\n readonly characterId: string | null;\n \n /** Internal LiveKit Room instance (for advanced usage) */\n readonly room: Room;\n \n /** Array of all chat messages in the current conversation */\n readonly chatMessages: ChatMessage[];\n \n /** Current real-time transcription of user speech */\n readonly userTranscription: string;\n \n /** Unique session ID for the current character conversation */\n readonly characterSessionId: string | null;\n \n /** Whether the bot is ready to receive messages (true after bot-ready message) */\n readonly isBotReady: boolean;\n \n /** Audio control methods for managing microphone mute/unmute */\n readonly audioControls: AudioControls;\n \n /** Video control methods for enabling/disabling camera */\n readonly videoControls: VideoControls;\n \n /** Screen sharing control methods */\n readonly screenShareControls: ScreenShareControls;\n \n /** Blendshape queue for time-based lipsync synchronization */\n readonly blendshapeQueue: BlendshapeQueue;\n \n /** Incremental turn session ID used by conversation events (e.g. conversationStart, turnEnd) */\n readonly conversationSessionId: number;\n \n /** \n * Memory manager for long-term memory operations.\n * Returns null if no API key or end user ID is available.\n * \n * @example\n * ```typescript\n * const memoryManager = client.memoryManager;\n * if (memoryManager) {\n * const memories = await memoryManager.listMemories();\n * }\n * ```\n */\n readonly memoryManager: import('./MemoryManager').MemoryManager | null;\n \n /** \n * Connect to a Convai character.\n */\n connect: (config?: ConvaiConfig) => Promise<void>;\n \n /** Disconnect from the current character session */\n disconnect: () => Promise<void>;\n \n /** Reconnect - disconnect and connect again using stored config */\n reconnect: () => Promise<void>;\n \n /** Reset the session ID to start a new conversation (clears history) */\n resetSession: () => void;\n \n /** Send a text message to the character */\n sendUserTextMessage: (text: string) => void;\n \n /** \n * Send a trigger message to invoke specific character actions or responses.\n * @param triggerName - Name of the trigger to invoke\n * @param triggerMessage - Optional message to accompany the trigger\n */\n sendTriggerMessage: (triggerName?: string, triggerMessage?: string) => void;\n \n /**\n * Send an interrupt message to stop the bot's current response.\n * This can be used to interrupt the bot when the user wants to speak.\n */\n sendInterruptMessage: () => void;\n\n /**\n * Reset the server-side idle timer.\n * Call this on any user activity (clicks, UI interactions, etc.) to prevent\n * the session from being disconnected due to inactivity.\n * The server sends `user-idle-warning` events (via the `idleWarning` event) before\n * disconnecting; use this method to keep the session alive.\n */\n resetIdleTimer: () => void;\n \n /**\n * Replace the Narrative Design template keys on the live session.\n *\n * These are the same keys as the `narrativeTemplateKeys` config option\n * (which seeds them at `/connect`) — this method REPLACES the entire map\n * at runtime, so include every key you still need. New values apply when\n * the next section objective or speak tag is evaluated (i.e. set them\n * before firing the next narrative trigger).\n *\n * Requires a character with Narrative Design enabled; otherwise the server\n * acks `update-template-keys` with error \"Narrative design service not\n * available\". Placeholders use single braces (`{player_name}`), keys are\n * case-sensitive, and missing keys resolve to an empty string.\n *\n * @example\n * ```typescript\n * client.updateTemplateKeys({ player_name: 'Aria', quest_item: 'lantern' });\n * client.sendTriggerMessage('QuestUpdate');\n * ```\n */\n updateTemplateKeys: (templateKeys: { [key: string]: string }) => void;\n \n /** \n * Update dynamic information about the current context.\n * This helps the character understand the current situation.\n * Pass any key-value pairs you want, but \"text\" field is required.\n */\n updateDynamicInfo: (dynamicInfo: DynamicInfo) => void;\n \n /**\n * Update the bot's temporary runtime context in a unified way.\n * Provides flexible control over ephemeral context management.\n * \n * @param options - Context update configuration\n * \n * @example\n * ```typescript\n * // Append to context\n * client.updateContext({ \n * text: \"User completed quest\", \n * mode: \"append\",\n * run_llm: \"false\"\n * });\n * \n * // Replace context\n * client.updateContext({ \n * text: \"New game state\", \n * mode: \"replace\",\n * run_llm: \"auto\"\n * });\n * \n * // Clear context\n * client.updateContext({ mode: \"reset\" });\n * ```\n */\n updateContext: (options: ContextUpdateOptions) => void;\n\n /** Request a server ack containing the current vision buffer status. */\n visionStatus: (options?: VisionStatusOptions) => string | null;\n\n /** Attach buffered frames and optionally trigger a response. */\n visionTrigger: (options?: VisionTriggerOptions) => string | null;\n\n /** Update a session respond-mode default. */\n respondModeUpdate: (options: RespondModeUpdateOptions) => string | null;\n\n /**\n * Set or clear the character's temporary state of mind without triggering a response.\n * Pass `null` (or `\"neutral\"`) to clear it.\n */\n updateEmotion: (stateOfMind: string | null) => void;\n\n /**\n * Send descriptive scene updates so the bot knows what is visible or nearby.\n * Does not modify actionConfig.\n */\n updateSceneMetadata: (\n items: Array<{ name: string; description: string }>,\n options?: UpdateSceneMetadataOptions,\n ) => void;\n\n /**\n * Toggle text-to-speech on or off.\n * When disabled, character responses won't be spoken aloud.\n */\n toggleTts: (enabled: boolean) => void;\n \n /** \n * Toggle speech-to-text on or off.\n * When enabled, user speech is transcribed to text (e.g. for dictation).\n * When disabled, STT is off.\n */\n toggleStt: (enabled: boolean) => void;\n\n /**\n * Upload a file to the character via the LiveKit byte stream transport.\n * Only works when connected with the LiveKit transport.\n *\n * @param file - The File object to send\n * @param options - Optional upload options\n * @returns Promise that resolves when the upload is complete\n *\n * @example\n * ```typescript\n * await client.uploadFile(file, {\n * topic: 'file-upload',\n * onProgress: (pct) => console.log(`${pct}% uploaded`),\n * });\n * ```\n */\n uploadFile: (file: File, options?: UploadFileOptions) => Promise<void>;\n\n /**\n * Subscribe to an event\n * @param event Event name ('stateChange', 'message', 'connect', 'disconnect', 'error')\n * @param callback Callback function\n * @returns Unsubscribe function\n */\n on: (event: string, callback: (...args: any[]) => void) => () => void;\n \n /**\n * Unsubscribe from an event\n * @param event Event name\n * @param callback Callback function to remove\n */\n off: (event: string, callback: (...args: any[]) => void) => void;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"videoSourceState.js","sourceRoot":"","sources":["../../src/core/videoSourceState.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,oBAAoB,CAClC,MAAgC;IAEhC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,QAAQ,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,aAA+B,EAC/B,UAA4B,EAC5B,mBAA4B;IAE5B,OAAO,CACL,CAAC,mBAAmB;QACpB,oBAAoB,CAAC,aAAa,CAAC;QACnC,oBAAoB,CAAC,UAAU,CAAC,CACjC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"videoSourceState.js","sourceRoot":"","sources":["../../src/core/videoSourceState.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,oBAAoB,CAClC,MAAgC;IAEhC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,QAAQ,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,aAA+B,EAC/B,UAA4B,EAC5B,mBAA4B;IAE5B,OAAO,CACL,CAAC,mBAAmB;QACpB,oBAAoB,CAAC,aAAa,CAAC;QACnC,oBAAoB,CAAC,UAAU,CAAC,CACjC,CAAC;AACJ,CAAC","sourcesContent":["import type { VisionSourceKind } from \"./types\";\n\nexport function isWebcamVisionSource(\n source?: VisionSourceKind | null,\n): boolean {\n return source === \"webcam\" || source === \"camera\";\n}\n\nexport function shouldKeepExistingVisionSource(\n currentSource: VisionSourceKind,\n nextSource: VisionSourceKind,\n hasReplacementTrack: boolean,\n): boolean {\n return (\n !hasReplacementTrack &&\n isWebcamVisionSource(currentSource) &&\n isWebcamVisionSource(nextSource)\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visionRequest.js","sourceRoot":"","sources":["../../src/core/visionRequest.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,wBAAwB,CACtC,MAA+D;IAE/D,IAAI,MAAM,CAAC,iBAAiB,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,iBAAiB,CAAC;IAClC,CAAC;IACD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,OAAO;YACL,GAAG,CAAC,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC;YACnC,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,iBAAiB,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,MAAyB;IAEzB,OAAO;QACL,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QAChE,GAAG,CAAC,MAAM,CAAC,kBAAkB,KAAK,SAAS,IAAI;YAC7C,oBAAoB,EAAE,MAAM,CAAC,kBAAkB;SAChD,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,IAAI;YACxC,eAAe,EAAE,MAAM,CAAC,aAAa;SACtC,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI;YACvC,aAAa,EAAE,MAAM,CAAC,YAAY;SACnC,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS,IAAI;YAC1C,gBAAgB,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACxD,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,WAAW,EAAE,MAAM,CAAC,UAAU;aAC/B,CAAC,CAAC;SACJ,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,gBAAgB,KAAK,SAAS,IAAI;YAC3C,iBAAiB,EAAE,MAAM,CAAC,gBAAgB;SAC3C,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,IAAI;YACxC,cAAc,EAAE,MAAM,CAAC,aAAa;SACrC,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,4BAA4B,KAAK,SAAS,IAAI;YACvD,+BAA+B,EAAE,MAAM,CAAC,4BAA4B;SACrE,CAAC;KACH,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"visionRequest.js","sourceRoot":"","sources":["../../src/core/visionRequest.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,wBAAwB,CACtC,MAA+D;IAE/D,IAAI,MAAM,CAAC,iBAAiB,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,iBAAiB,CAAC;IAClC,CAAC;IACD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,OAAO;YACL,GAAG,CAAC,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC;YACnC,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,iBAAiB,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,MAAyB;IAEzB,OAAO;QACL,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QAChE,GAAG,CAAC,MAAM,CAAC,kBAAkB,KAAK,SAAS,IAAI;YAC7C,oBAAoB,EAAE,MAAM,CAAC,kBAAkB;SAChD,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,IAAI;YACxC,eAAe,EAAE,MAAM,CAAC,aAAa;SACtC,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI;YACvC,aAAa,EAAE,MAAM,CAAC,YAAY;SACnC,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS,IAAI;YAC1C,gBAAgB,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACxD,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,WAAW,EAAE,MAAM,CAAC,UAAU;aAC/B,CAAC,CAAC;SACJ,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,gBAAgB,KAAK,SAAS,IAAI;YAC3C,iBAAiB,EAAE,MAAM,CAAC,gBAAgB;SAC3C,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,IAAI;YACxC,cAAc,EAAE,MAAM,CAAC,aAAa;SACrC,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,4BAA4B,KAAK,SAAS,IAAI;YACvD,+BAA+B,EAAE,MAAM,CAAC,4BAA4B;SACrE,CAAC;KACH,CAAC;AACJ,CAAC","sourcesContent":["import type { ConvaiConfig, VisionInputConfig } from \"./types\";\n\nexport function resolveVisionInputConfig(\n config: Pick<ConvaiConfig, \"enableVideo\" | \"visionInputConfig\">,\n): VisionInputConfig | undefined {\n if (config.visionInputConfig?.enabled === false) {\n return config.visionInputConfig;\n }\n if (config.enableVideo) {\n return {\n ...(config.visionInputConfig ?? {}),\n enabled: true,\n };\n }\n return config.visionInputConfig;\n}\n\nexport function serializeVisionInputConfig(\n config: VisionInputConfig,\n): Record<string, unknown> {\n return {\n ...(config.enabled !== undefined && { enabled: config.enabled }),\n ...(config.sampleIntervalSecs !== undefined && {\n sample_interval_secs: config.sampleIntervalSecs,\n }),\n ...(config.framesPerTurn !== undefined && {\n frames_per_turn: config.framesPerTurn,\n }),\n ...(config.bufferFrames !== undefined && {\n buffer_frames: config.bufferFrames,\n }),\n ...(config.samplingWindows !== undefined && {\n sampling_windows: config.samplingWindows.map((window) => ({\n count: window.count,\n interval_ms: window.intervalMs,\n })),\n }),\n ...(config.stalenessSeconds !== undefined && {\n staleness_seconds: config.stalenessSeconds,\n }),\n ...(config.maxResolution !== undefined && {\n max_resolution: config.maxResolution,\n }),\n ...(config.replacePreviousVisionContext !== undefined && {\n replace_previous_vision_context: config.replacePreviousVisionContext,\n }),\n };\n}\n"]}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,wFAAwF;AACxF,cAAc,SAAS,CAAC;AAExB,yBAAyB;AACzB,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,wFAAwF;AACxF,cAAc,SAAS,CAAC;AAExB,yBAAyB;AACzB,cAAc,mBAAmB,CAAC","sourcesContent":["// Default export: React version for backward compatibility\n// Existing users can continue using: import { useConvaiClient } from '@convai/web-sdk';\nexport * from './react';\n\n// Export lipsync helpers\nexport * from './lipsync-helpers';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arkitOrder61.js","sourceRoot":"","sources":["../../src/lipsync-helpers/arkitOrder61.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"arkitOrder61.js","sourceRoot":"","sources":["../../src/lipsync-helpers/arkitOrder61.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * ARKit 61-Element Custom Order Mapper\n * Maps the custom 61-element ARKit blendshape array to standard ARKit indices\n * \n * This ordering includes:\n * - 52 standard ARKit facial blendshapes (in custom order)\n * - 9 additional values for head and eye rotations\n */\n\n/**\n * Custom ARKit 61-element ordering\n * This is the order in which blendshapes are received from the server\n */\nexport const ARKIT_ORDER_61: readonly string[] = [\n \"EyeBlinkLeft\", // 0\n \"EyeLookDownLeft\", // 1\n \"EyeLookInLeft\", // 2\n \"EyeLookOutLeft\", // 3\n \"EyeLookUpLeft\", // 4\n \"EyeSquintLeft\", // 5\n \"EyeWideLeft\", // 6\n \"EyeBlinkRight\", // 7\n \"EyeLookDownRight\", // 8\n \"EyeLookInRight\", // 9\n \"EyeLookOutRight\", // 10\n \"EyeLookUpRight\", // 11\n \"EyeSquintRight\", // 12\n \"EyeWideRight\", // 13\n \"JawForward\", // 14\n \"JawRight\", // 15\n \"JawLeft\", // 16\n \"JawOpen\", // 17 🔑 KEY for mouth opening\n \"MouthClose\", // 18 🔑 KEY for mouth closing\n \"MouthFunnel\", // 19 🔑 KEY for \"O\" sounds\n \"MouthPucker\", // 20 🔑 KEY for \"U\" sounds\n \"MouthRight\", // 21\n \"MouthLeft\", // 22\n \"MouthSmileLeft\", // 23 🔑 KEY for \"ee\" sounds\n \"MouthSmileRight\", // 24 🔑 KEY for \"ee\" sounds\n \"MouthFrownLeft\", // 25\n \"MouthFrownRight\", // 26\n \"MouthDimpleLeft\", // 27\n \"MouthDimpleRight\", // 28\n \"MouthStretchLeft\", // 29 🔑 KEY for wide mouth\n \"MouthStretchRight\", // 30 🔑 KEY for wide mouth\n \"MouthRollLower\", // 31\n \"MouthRollUpper\", // 32\n \"MouthShrugLower\", // 33\n \"MouthShrugUpper\", // 34\n \"MouthPressLeft\", // 35\n \"MouthPressRight\", // 36\n \"MouthLowerDownLeft\", // 37\n \"MouthLowerDownRight\", // 38\n \"MouthUpperUpLeft\", // 39\n \"MouthUpperUpRight\", // 40\n \"BrowDownLeft\", // 41\n \"BrowDownRight\", // 42\n \"BrowInnerUp\", // 43\n \"BrowOuterUpLeft\", // 44\n \"BrowOuterUpRight\", // 45\n \"CheekPuff\", // 46\n \"CheekSquintLeft\", // 47\n \"CheekSquintRight\", // 48\n \"NoseSneerLeft\", // 49\n \"NoseSneerRight\", // 50\n \"TongueOut\", // 51 🔑 KEY for \"th\" sounds\n \"HeadYaw\", // 52 - Head rotation left/right\n \"HeadPitch\", // 53 - Head rotation up/down\n \"HeadRoll\", // 54 - Head rotation tilt\n \"LeftEyeYaw\", // 55 - Left eye rotation left/right\n \"LeftEyePitch\", // 56 - Left eye rotation up/down\n \"LeftEyeRoll\", // 57 - Left eye rotation roll\n \"RightEyeYaw\", // 58 - Right eye rotation left/right\n \"RightEyePitch\", // 59 - Right eye rotation up/down\n \"RightEyeRoll\", // 60 - Right eye rotation roll\n] as const;\n\n/**\n * Standard ARKit blendshape order (52 elements)\n * This is Apple's official ordering\n */\nexport const STANDARD_ARKIT_ORDER: readonly string[] = [\n \"BrowDownLeft\", // 0\n \"BrowDownRight\", // 1\n \"BrowInnerUp\", // 2\n \"BrowOuterUpLeft\", // 3\n \"BrowOuterUpRight\", // 4\n \"CheekPuff\", // 5\n \"CheekSquintLeft\", // 6\n \"CheekSquintRight\", // 7\n \"EyeBlinkLeft\", // 8\n \"EyeBlinkRight\", // 9\n \"EyeLookDownLeft\", // 10\n \"EyeLookDownRight\", // 11\n \"EyeLookInLeft\", // 12\n \"EyeLookInRight\", // 13\n \"EyeLookOutLeft\", // 14\n \"EyeLookOutRight\", // 15\n \"EyeLookUpLeft\", // 16\n \"EyeLookUpRight\", // 17\n \"EyeSquintLeft\", // 18\n \"EyeSquintRight\", // 19\n \"EyeWideLeft\", // 20\n \"EyeWideRight\", // 21\n \"JawForward\", // 22\n \"JawLeft\", // 23\n \"JawOpen\", // 24\n \"JawRight\", // 25\n \"MouthClose\", // 26\n \"MouthDimpleLeft\", // 27\n \"MouthDimpleRight\", // 28\n \"MouthFrownLeft\", // 29\n \"MouthFrownRight\", // 30\n \"MouthFunnel\", // 31\n \"MouthLeft\", // 32\n \"MouthLowerDownLeft\", // 33\n \"MouthLowerDownRight\", // 34\n \"MouthPressLeft\", // 35\n \"MouthPressRight\", // 36\n \"MouthPucker\", // 37\n \"MouthRight\", // 38\n \"MouthRollLower\", // 39\n \"MouthRollUpper\", // 40\n \"MouthShrugLower\", // 41\n \"MouthShrugUpper\", // 42\n \"MouthSmileLeft\", // 43\n \"MouthSmileRight\", // 44\n \"MouthStretchLeft\", // 45\n \"MouthStretchRight\", // 46\n \"MouthUpperUpLeft\", // 47\n \"MouthUpperUpRight\", // 48\n \"NoseSneerLeft\", // 49\n \"NoseSneerRight\", // 50\n \"TongueOut\", // 51\n] as const;\n\n/**\n * Mapping from custom 61-order indices to standard ARKit indices\n * Maps ARKIT_ORDER_61[i] -> STANDARD_ARKIT_ORDER[j]\n */\nconst ORDER_61_TO_STANDARD_MAP = new Map<number, number>();\n\n// Build the mapping at module initialization\nfor (let i = 0; i < ARKIT_ORDER_61.length; i++) {\n const name = ARKIT_ORDER_61[i];\n // Only map the first 52 (standard ARKit blendshapes)\n if (i < 52) {\n const standardIndex = STANDARD_ARKIT_ORDER.indexOf(name as any);\n if (standardIndex !== -1) {\n ORDER_61_TO_STANDARD_MAP.set(i, standardIndex);\n }\n }\n}\n\n/**\n * Convert 61-element custom order array to standard 52-element ARKit array\n * @param values61 - 61-element array in custom order\n * @returns 52-element array in standard ARKit order\n */\nexport function convertOrder61ToStandard(values61: number[]): number[] {\n const standardArray = new Array(52).fill(0);\n \n for (let i = 0; i < Math.min(52, values61.length); i++) {\n const standardIndex = ORDER_61_TO_STANDARD_MAP.get(i);\n if (standardIndex !== undefined) {\n standardArray[standardIndex] = values61[i];\n }\n }\n \n return standardArray;\n}\n\n/**\n * Map 61-element array to named object (all 61 values)\n * @param values61 - 61-element array in custom order\n * @returns Object with blendshape/rotation names as keys\n */\nexport function mapOrder61ToNames(values61: number[]): Record<string, number> {\n const mapped: Record<string, number> = {};\n \n for (let i = 0; i < Math.min(values61.length, ARKIT_ORDER_61.length); i++) {\n // Convert to camelCase (lowercase first letter)\n const name = ARKIT_ORDER_61[i];\n const camelCaseName = name.charAt(0).toLowerCase() + name.slice(1);\n mapped[camelCaseName] = values61[i];\n }\n \n return mapped;\n}\n\n/**\n * Get specific blendshape value by name from 61-element array\n * @param values61 - 61-element array in custom order\n * @param name - Name of the blendshape (case-insensitive)\n * @returns The value, or 0 if not found\n */\nexport function getBlendshapeValueFromOrder61(\n values61: number[],\n name: string\n): number {\n const upperName = name.charAt(0).toUpperCase() + name.slice(1);\n const index = ARKIT_ORDER_61.indexOf(upperName as any);\n \n if (index !== -1 && index < values61.length) {\n return values61[index];\n }\n \n return 0;\n}\n\n/**\n * Extract head rotation values from 61-element array\n * @param values61 - 61-element array in custom order\n * @returns Object with head rotation values (yaw, pitch, roll)\n */\nexport function getHeadRotation(values61: number[]): {\n yaw: number;\n pitch: number;\n roll: number;\n} {\n return {\n yaw: values61[52] || 0,\n pitch: values61[53] || 0,\n roll: values61[54] || 0,\n };\n}\n\n/**\n * Extract eye rotation values from 61-element array\n * @param values61 - 61-element array in custom order\n * @returns Object with left and right eye rotation values\n */\nexport function getEyeRotations(values61: number[]): {\n left: { yaw: number; pitch: number; roll: number };\n right: { yaw: number; pitch: number; roll: number };\n} {\n return {\n left: {\n yaw: values61[55] || 0,\n pitch: values61[56] || 0,\n roll: values61[57] || 0,\n },\n right: {\n yaw: values61[58] || 0,\n pitch: values61[59] || 0,\n roll: values61[60] || 0,\n },\n };\n}\n\n/**\n * Get key lip-sync blendshapes from 61-element array\n * These are the most important values for facial animation\n */\nexport function getLipSyncValuesFromOrder61(values61: number[]): {\n jawOpen: number;\n mouthClose: number;\n mouthFunnel: number;\n mouthPucker: number;\n mouthSmileLeft: number;\n mouthSmileRight: number;\n mouthStretchLeft: number;\n mouthStretchRight: number;\n mouthRollLower: number;\n mouthRollUpper: number;\n tongueOut: number;\n} {\n return {\n jawOpen: values61[17] || 0,\n mouthClose: values61[18] || 0,\n mouthFunnel: values61[19] || 0,\n mouthPucker: values61[20] || 0,\n mouthSmileLeft: values61[23] || 0,\n mouthSmileRight: values61[24] || 0,\n mouthStretchLeft: values61[29] || 0,\n mouthStretchRight: values61[30] || 0,\n mouthRollLower: values61[31] || 0,\n mouthRollUpper: values61[32] || 0,\n tongueOut: values61[51] || 0,\n };\n}\n\n/**\n * Get active blendshapes from 61-element array (above threshold)\n * @param values61 - 61-element array in custom order\n * @param threshold - Minimum value to consider \"active\" (default: 0.01)\n * @returns Sorted array of active blendshapes\n */\nexport function getActiveBlendshapesFromOrder61(\n values61: number[],\n threshold: number = 0.01\n): Array<{ name: string; value: number; index: number }> {\n const active: Array<{ name: string; value: number; index: number }> = [];\n \n for (let i = 0; i < Math.min(values61.length, ARKIT_ORDER_61.length); i++) {\n if (Math.abs(values61[i]) > threshold) {\n const name = ARKIT_ORDER_61[i];\n const camelCaseName = name.charAt(0).toLowerCase() + name.slice(1);\n active.push({\n name: camelCaseName,\n value: values61[i],\n index: i,\n });\n }\n }\n \n // Sort by absolute value (descending)\n return active.sort((a, b) => Math.abs(b.value) - Math.abs(a.value));\n}\n\n/**\n * Format 61-element array for logging\n * @param values61 - 61-element array in custom order\n * @param threshold - Only show values above this (default: 0.01)\n * @param maxEntries - Maximum entries to show (default: 20)\n */\nexport function formatOrder61ForLogging(\n values61: number[],\n threshold: number = 0.01,\n maxEntries: number = 20\n): {\n active: Record<string, number>;\n total: number;\n activeCount: number;\n headRotation?: { yaw: number; pitch: number; roll: number };\n eyeRotations?: {\n left: { yaw: number; pitch: number; roll: number };\n right: { yaw: number; pitch: number; roll: number };\n };\n} {\n const active = getActiveBlendshapesFromOrder61(values61, threshold)\n .slice(0, maxEntries)\n .reduce(\n (acc, item) => {\n acc[item.name] = Number(item.value.toFixed(4));\n return acc;\n },\n {} as Record<string, number>\n );\n\n return {\n active,\n total: values61.length,\n activeCount: Object.keys(active).length,\n headRotation: getHeadRotation(values61),\n eyeRotations: getEyeRotations(values61),\n };\n}\n\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createBlendshapeQueue.js","sourceRoot":"","sources":["../../src/lipsync-helpers/createBlendshapeQueue.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,cAAc,EACf,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAA+B;IACnE,IAAI,MAAoC,CAAC;IAEzC,oCAAoC;IACpC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,oDAAoD;QACpD,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B;IACxC,OAAO,IAAI,eAAe,CAAC,sBAAsB,CAAC,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,8BAA8B;IAC5C,OAAO,IAAI,eAAe,CAAC,0BAA0B,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAAwB;IAClE,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gCAAgC;IAC9C,OAAO,IAAI,eAAe,CAAC,cAAc,CAAC,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CACzB,WAAmD,EACnD,YAAqD;IAErD,6CAA6C;IAC7C,IAAI,WAAW,KAAK,YAAY,EAAE,CAAC;QACjC,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;YAC5B,OAAO,sBAAsB,CAAC;QAChC,CAAC;QACD,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;YAC1B,OAAO,0BAA0B,CAAC;QACpC,CAAC;IACH,CAAC;IAED,4CAA4C;IAC5C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,gBAA+C;IAE/C,MAAM,MAAM,GAAG,gBAAgB,EAAE,MAAM,IAAI,KAAK,CAAC;IAEjD,OAAO;QACL,WAAW,EAAE,MAAM;QACnB,YAAY,EAAE,MAAM,EAAE,yBAAyB;KAChD,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"createBlendshapeQueue.js","sourceRoot":"","sources":["../../src/lipsync-helpers/createBlendshapeQueue.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,cAAc,EACf,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAA+B;IACnE,IAAI,MAAoC,CAAC;IAEzC,oCAAoC;IACpC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,oDAAoD;QACpD,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B;IACxC,OAAO,IAAI,eAAe,CAAC,sBAAsB,CAAC,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,8BAA8B;IAC5C,OAAO,IAAI,eAAe,CAAC,0BAA0B,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAAwB;IAClE,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gCAAgC;IAC9C,OAAO,IAAI,eAAe,CAAC,cAAc,CAAC,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CACzB,WAAmD,EACnD,YAAqD;IAErD,6CAA6C;IAC7C,IAAI,WAAW,KAAK,YAAY,EAAE,CAAC;QACjC,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;YAC5B,OAAO,sBAAsB,CAAC;QAChC,CAAC;QACD,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;YAC1B,OAAO,0BAA0B,CAAC;QACpC,CAAC;IACH,CAAC;IAED,4CAA4C;IAC5C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,gBAA+C;IAE/C,MAAM,MAAM,GAAG,gBAAgB,EAAE,MAAM,IAAI,KAAK,CAAC;IAEjD,OAAO;QACL,WAAW,EAAE,MAAM;QACnB,YAAY,EAAE,MAAM,EAAE,yBAAyB;KAChD,CAAC;AACJ,CAAC","sourcesContent":["/**\n * Factory functions for creating BlendshapeQueue with preset mappings\n * \n * This provides a convenient API for creating queues with common configurations:\n * - ARKit passthrough\n * - MetaHuman passthrough\n * - Custom mapper\n */\n\nimport { BlendshapeQueue } from '../core/BlendshapeQueue';\nimport { BlendshapeMappingConfig, BlendshapeMapper } from './mappingTypes';\nimport { \n arkitPassthroughMapper, \n metahumanPassthroughMapper,\n identityMapper \n} from './presetMappers';\n\n/**\n * Create a BlendshapeQueue with the specified mapping configuration\n * \n * @param config - Blendshape mapping configuration\n * @returns Configured BlendshapeQueue instance\n * \n * @example\n * ```typescript\n * // ARKit passthrough (no mapping)\n * const queue = createBlendshapeQueue({\n * inputFormat: 'arkit',\n * outputFormat: 'arkit'\n * });\n * \n * // MetaHuman passthrough\n * const queue = createBlendshapeQueue({\n * inputFormat: 'mha',\n * outputFormat: 'mha'\n * });\n * \n * // Custom mapper\n * const queue = createBlendshapeQueue({\n * inputFormat: 'arkit',\n * outputFormat: 'custom',\n * mapper: (input) => {\n * // Your custom mapping logic\n * return new Float32Array(input);\n * }\n * });\n * ```\n */\nexport function createBlendshapeQueue(config: BlendshapeMappingConfig): BlendshapeQueue {\n let mapper: BlendshapeMapper | undefined;\n\n // If custom mapper provided, use it\n if (config.mapper) {\n mapper = config.mapper;\n } else {\n // Select preset mapper based on input/output format\n mapper = selectPresetMapper(config.inputFormat, config.outputFormat);\n }\n\n return new BlendshapeQueue(mapper);\n}\n\n/**\n * Create a BlendshapeQueue for ARKit format (61 elements)\n * Server sends 61-element array, queue stores 61-element array\n */\nexport function createARKitBlendshapeQueue(): BlendshapeQueue {\n return new BlendshapeQueue(arkitPassthroughMapper);\n}\n\n/**\n * Create a BlendshapeQueue for MetaHuman format (251 elements)\n * Server sends 251-element array, queue stores 251-element array\n */\nexport function createMetaHumanBlendshapeQueue(): BlendshapeQueue {\n return new BlendshapeQueue(metahumanPassthroughMapper);\n}\n\n/**\n * Create a BlendshapeQueue with a custom mapper function\n * \n * @param mapper - Custom mapping function\n * \n * @example\n * ```typescript\n * const queue = createCustomBlendshapeQueue((input) => {\n * // Map ARKit to your custom rig\n * const output = new Float32Array(30); // Your rig has 30 blendshapes\n * output[0] = input[17]; // Map JawOpen\n * output[1] = input[18]; // Map MouthClose\n * // ... more mappings\n * return output;\n * });\n * ```\n */\nexport function createCustomBlendshapeQueue(mapper: BlendshapeMapper): BlendshapeQueue {\n return new BlendshapeQueue(mapper);\n}\n\n/**\n * Create a BlendshapeQueue with no mapping (identity/passthrough)\n * Frames are stored as-is without transformation\n */\nexport function createPassthroughBlendshapeQueue(): BlendshapeQueue {\n return new BlendshapeQueue(identityMapper);\n}\n\n/**\n * Select the appropriate preset mapper based on input/output formats\n * @private\n */\nfunction selectPresetMapper(\n inputFormat: BlendshapeMappingConfig['inputFormat'],\n outputFormat: BlendshapeMappingConfig['outputFormat']\n): BlendshapeMapper | undefined {\n // Same input and output format = passthrough\n if (inputFormat === outputFormat) {\n if (inputFormat === 'arkit') {\n return arkitPassthroughMapper;\n }\n if (inputFormat === 'mha') {\n return metahumanPassthroughMapper;\n }\n }\n\n // No mapper needed for unknown combinations\n return undefined;\n}\n\n/**\n * Infer mapping config from ConvaiConfig blendshape settings\n * This is used internally by ConvaiClient to auto-configure the queue\n * \n * @param blendshapeConfig - Blendshape config from ConvaiConfig\n * @returns Mapping configuration for createBlendshapeQueue\n */\nexport function inferMappingFromConfig(\n blendshapeConfig?: { format?: 'arkit' | 'mha' }\n): BlendshapeMappingConfig {\n const format = blendshapeConfig?.format || 'mha';\n \n return {\n inputFormat: format,\n outputFormat: format, // Passthrough by default\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"declarativeMapping.js","sourceRoot":"","sources":["../../src/lipsync-helpers/declarativeMapping.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"declarativeMapping.js","sourceRoot":"","sources":["../../src/lipsync-helpers/declarativeMapping.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Declarative Blendshape Mapping\n * \n * Create mappers using a simple name-based mapping configuration.\n * This is much easier than writing custom mapper functions!\n * \n * @example\n * ```typescript\n * const mapping = {\n * \"browDownLeft\": [\"Brow_Drop_L\"],\n * \"browInnerUp\": [\"Brow_Raise_Inner_L\", \"Brow_Raise_Inner_R\"],\n * \"jawOpen\": [\"Jaw_Open\"],\n * \"mouthSmileLeft\": [\"Mouth_Smile\"],\n * \"mouthSmileRight\": [\"Mouth_Smile\"], // Both map to same target (averaged)\n * };\n * ```\n */\n\nimport { ARKIT_ORDER_61 } from './arkitOrder61';\nimport { METAHUMAN_ORDER_251 } from './metahumanOrder251';\nimport type { BlendshapeMapper } from './mappingTypes';\n\n/**\n * Declarative mapping configuration\n * Maps source blendshape names to target blendshape names\n * \n * Format: { [sourceBlendshapeName]: [targetBlendshapeName1, targetBlendshapeName2, ...] }\n * \n * - If multiple source names map to same target, they will be averaged\n * - If one source maps to multiple targets, the value will be copied to all\n */\nexport type BlendshapeNameMapping = {\n [sourceBlendshapeName: string]: string[];\n};\n\n/**\n * Optimized output structure for fast morph target updates\n * Designed for maximum performance when applying to 3D models\n * \n * Use this format for fastest application to character:\n * ```typescript\n * const output = queue.getFrameAtTime(time).frame;\n * // Fast iteration - names and values are parallel arrays\n * for (let i = 0; i < output.names.length; i++) {\n * character.setMorphTarget(output.names[i], output.values[i]);\n * }\n * ```\n */\nexport interface OptimizedBlendshapeOutput {\n /** Array of blendshape names in order */\n names: readonly string[];\n /** Array of blendshape values (parallel to names) */\n values: Float32Array;\n /** Map from name to index for quick lookups */\n nameToIndex: ReadonlyMap<string, number>;\n /** Total number of blendshapes */\n length: number;\n}\n\n/**\n * Create a mapper from ARKit format using declarative name mapping\n * \n * @param mapping - Declarative mapping object\n * @param outputFormat - 'object' (default) or 'optimized'\n * \n * @example\n * ```typescript\n * const mapper = createARKitNameMapper({\n * \"browDownLeft\": [\"Brow_Drop_L\"],\n * \"browDownRight\": [\"Brow_Drop_R\"],\n * \"browInnerUp\": [\"Brow_Raise_Inner_L\", \"Brow_Raise_Inner_R\"],\n * \"jawOpen\": [\"Jaw_Open\"],\n * \"mouthSmileLeft\": [\"Mouth_Smile\"],\n * \"mouthSmileRight\": [\"Mouth_Smile\"], // Will be averaged with left\n * });\n * ```\n */\nexport function createARKitNameMapper(\n mapping: BlendshapeNameMapping,\n outputFormat: 'object' | 'optimized' = 'object'\n): BlendshapeMapper {\n // Build reverse mapping: source index -> target names\n const sourceIndexToTargets = new Map<number, string[]>();\n \n for (const [sourceName, targetNames] of Object.entries(mapping)) {\n // Convert source name to camelCase if needed\n const sourceNameVariations = [\n sourceName,\n sourceName.charAt(0).toUpperCase() + sourceName.slice(1),\n sourceName.charAt(0).toLowerCase() + sourceName.slice(1),\n ];\n \n let sourceIndex = -1;\n for (const variation of sourceNameVariations) {\n sourceIndex = ARKIT_ORDER_61.indexOf(variation as any);\n if (sourceIndex !== -1) break;\n }\n\n if (sourceIndex === -1) {\n console.warn(`[ARKit Name Mapper] Source blendshape \"${sourceName}\" not found in ARKit format`);\n continue;\n }\n \n sourceIndexToTargets.set(sourceIndex, targetNames);\n }\n \n // Build list of unique target names\n const uniqueTargets = new Set<string>();\n for (const targets of sourceIndexToTargets.values()) {\n targets.forEach(t => uniqueTargets.add(t));\n }\n const targetNames = Array.from(uniqueTargets);\n \n // Build accumulation structure: target name -> [source indices]\n const targetToSources = new Map<string, number[]>();\n for (const targetName of targetNames) {\n targetToSources.set(targetName, []);\n }\n \n for (const [sourceIndex, targets] of sourceIndexToTargets.entries()) {\n for (const targetName of targets) {\n targetToSources.get(targetName)?.push(sourceIndex);\n }\n }\n \n // Pre-allocate output structures\n const outputValues = new Float32Array(targetNames.length);\n const nameToIndex = new Map<string, number>();\n targetNames.forEach((name, index) => nameToIndex.set(name, index));\n \n if (outputFormat === 'optimized') {\n // Optimized format: return structured object for fast iteration\n const optimizedOutput: OptimizedBlendshapeOutput = {\n names: targetNames,\n values: outputValues,\n nameToIndex,\n length: targetNames.length,\n };\n \n return (input: number[] | Float32Array): any => {\n outputValues.fill(0);\n \n // Accumulate values for each target\n for (let i = 0; i < targetNames.length; i++) {\n const sourceIndices = targetToSources.get(targetNames[i])!;\n let sum = 0;\n for (const srcIndex of sourceIndices) {\n sum += input[srcIndex] || 0;\n }\n outputValues[i] = sum / sourceIndices.length; // Average if multiple sources\n }\n \n // Return same object reference (values are updated in place)\n return optimizedOutput;\n };\n } else {\n // Object format: return key-value object\n return (input: number[] | Float32Array): any => {\n const output: Record<string, number> = {};\n \n for (const targetName of targetNames) {\n const sourceIndices = targetToSources.get(targetName)!;\n let sum = 0;\n for (const srcIndex of sourceIndices) {\n sum += input[srcIndex] || 0;\n }\n output[targetName] = sum / sourceIndices.length;\n }\n \n // Convert to Float32Array representation (for compatibility)\n // Store as object in the array's properties (hack but works)\n const result = new Float32Array(0);\n (result as any).__blendshapeObject = output;\n return result;\n };\n }\n}\n\n/**\n * Create a mapper from MetaHuman format using declarative name mapping\n * \n * @param mapping - Declarative mapping object (uses MetaHuman blendshape names)\n * @param outputFormat - 'object' (default) or 'optimized'\n * \n * @example\n * ```typescript\n * const mapper = createMetaHumanNameMapper({\n * \"CTRL_expressions_browDownL\": [\"Brow_Drop_L\"],\n * \"CTRL_expressions_browDownR\": [\"Brow_Drop_R\"],\n * \"CTRL_expressions_jawOpen\": [\"Jaw_Open\"],\n * });\n * ```\n */\nexport function createMetaHumanNameMapper(\n mapping: BlendshapeNameMapping,\n outputFormat: 'object' | 'optimized' = 'object'\n): BlendshapeMapper {\n // Build reverse mapping: source index -> target names\n const sourceIndexToTargets = new Map<number, string[]>();\n \n for (const [sourceName, targetNames] of Object.entries(mapping)) {\n const sourceIndex = METAHUMAN_ORDER_251.indexOf(sourceName as any);\n \n if (sourceIndex === -1) {\n console.warn(`[MetaHuman Name Mapper] Source blendshape \"${sourceName}\" not found in MetaHuman format`);\n continue;\n }\n\n sourceIndexToTargets.set(sourceIndex, targetNames);\n }\n\n // Build list of unique target names\n const uniqueTargets = new Set<string>();\n for (const targets of sourceIndexToTargets.values()) {\n targets.forEach(t => uniqueTargets.add(t));\n }\n const targetNames = Array.from(uniqueTargets);\n \n // Build accumulation structure: target name -> [source indices]\n const targetToSources = new Map<string, number[]>();\n for (const targetName of targetNames) {\n targetToSources.set(targetName, []);\n }\n \n for (const [sourceIndex, targets] of sourceIndexToTargets.entries()) {\n for (const targetName of targets) {\n targetToSources.get(targetName)?.push(sourceIndex);\n }\n }\n \n // Pre-allocate output structures\n const outputValues = new Float32Array(targetNames.length);\n const nameToIndex = new Map<string, number>();\n targetNames.forEach((name, index) => nameToIndex.set(name, index));\n \n if (outputFormat === 'optimized') {\n // Optimized format: return structured object for fast iteration\n const optimizedOutput: OptimizedBlendshapeOutput = {\n names: targetNames,\n values: outputValues,\n nameToIndex,\n length: targetNames.length,\n };\n \n return (input: number[] | Float32Array): any => {\n outputValues.fill(0);\n \n // Accumulate values for each target\n for (let i = 0; i < targetNames.length; i++) {\n const sourceIndices = targetToSources.get(targetNames[i])!;\n let sum = 0;\n for (const srcIndex of sourceIndices) {\n sum += input[srcIndex] || 0;\n }\n outputValues[i] = sum / sourceIndices.length; // Average if multiple sources\n }\n \n // Return same object reference (values are updated in place)\n return optimizedOutput;\n };\n } else {\n // Object format: return key-value object\n return (input: number[] | Float32Array): any => {\n const output: Record<string, number> = {};\n \n for (const targetName of targetNames) {\n const sourceIndices = targetToSources.get(targetName)!;\n let sum = 0;\n for (const srcIndex of sourceIndices) {\n sum += input[srcIndex] || 0;\n }\n output[targetName] = sum / sourceIndices.length;\n }\n \n // Convert to Float32Array representation (for compatibility)\n const result = new Float32Array(0);\n (result as any).__blendshapeObject = output;\n return result;\n };\n }\n}\n\n/**\n * Helper to extract blendshape object from mapper output\n */\nexport function getBlendshapeObject(output: any): Record<string, number> {\n if (output.__blendshapeObject) {\n return output.__blendshapeObject;\n }\n if (output.names && output.values) {\n // Convert optimized format to object\n const obj: Record<string, number> = {};\n for (let i = 0; i < output.names.length; i++) {\n obj[output.names[i]] = output.values[i];\n }\n return obj;\n }\n return {};\n}\n"]}
|