@assistant-ui/core 0.1.9 → 0.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/dist/adapters/index.d.ts +3 -0
  2. package/dist/adapters/index.d.ts.map +1 -1
  3. package/dist/adapters/index.js +1 -0
  4. package/dist/adapters/index.js.map +1 -1
  5. package/dist/adapters/voice.d.ts +49 -0
  6. package/dist/adapters/voice.d.ts.map +1 -0
  7. package/dist/adapters/voice.js +109 -0
  8. package/dist/adapters/voice.js.map +1 -0
  9. package/dist/index.d.ts +5 -2
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +1 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/model-context/types.d.ts +4 -0
  14. package/dist/model-context/types.d.ts.map +1 -1
  15. package/dist/model-context/types.js.map +1 -1
  16. package/dist/react/client/Interactables.d.ts.map +1 -1
  17. package/dist/react/client/Interactables.js +155 -65
  18. package/dist/react/client/Interactables.js.map +1 -1
  19. package/dist/react/client/interactable-model-context.d.ts +8 -0
  20. package/dist/react/client/interactable-model-context.d.ts.map +1 -0
  21. package/dist/react/client/interactable-model-context.js +62 -0
  22. package/dist/react/client/interactable-model-context.js.map +1 -0
  23. package/dist/react/index.d.ts +6 -3
  24. package/dist/react/index.d.ts.map +1 -1
  25. package/dist/react/index.js +5 -2
  26. package/dist/react/index.js.map +1 -1
  27. package/dist/react/model-context/useAssistantContext.d.ts +4 -0
  28. package/dist/react/model-context/useAssistantContext.d.ts.map +1 -0
  29. package/dist/react/model-context/useAssistantContext.js +18 -0
  30. package/dist/react/model-context/useAssistantContext.js.map +1 -0
  31. package/dist/react/model-context/useAssistantInteractable.d.ts +18 -0
  32. package/dist/react/model-context/useAssistantInteractable.d.ts.map +1 -0
  33. package/dist/react/model-context/useAssistantInteractable.js +31 -0
  34. package/dist/react/model-context/useAssistantInteractable.js.map +1 -0
  35. package/dist/react/model-context/useInteractableState.d.ts +15 -0
  36. package/dist/react/model-context/useInteractableState.d.ts.map +1 -0
  37. package/dist/react/model-context/useInteractableState.js +36 -0
  38. package/dist/react/model-context/useInteractableState.js.map +1 -0
  39. package/dist/react/model-context/useToolArgsStatus.d.ts +8 -0
  40. package/dist/react/model-context/useToolArgsStatus.d.ts.map +1 -0
  41. package/dist/react/model-context/useToolArgsStatus.js +31 -0
  42. package/dist/react/model-context/useToolArgsStatus.js.map +1 -0
  43. package/dist/react/primitive-hooks/useVoice.d.ts +10 -0
  44. package/dist/react/primitive-hooks/useVoice.d.ts.map +1 -0
  45. package/dist/react/primitive-hooks/useVoice.js +28 -0
  46. package/dist/react/primitive-hooks/useVoice.js.map +1 -0
  47. package/dist/react/runtimes/RemoteThreadListHookInstanceManager.d.ts +14 -0
  48. package/dist/react/runtimes/RemoteThreadListHookInstanceManager.d.ts.map +1 -1
  49. package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.d.ts +14 -0
  50. package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
  51. package/dist/react/runtimes/useLocalRuntime.d.ts +1 -0
  52. package/dist/react/runtimes/useLocalRuntime.d.ts.map +1 -1
  53. package/dist/react/types/scopes/interactables.d.ts +17 -0
  54. package/dist/react/types/scopes/interactables.d.ts.map +1 -1
  55. package/dist/runtime/api/thread-runtime.d.ts +21 -1
  56. package/dist/runtime/api/thread-runtime.d.ts.map +1 -1
  57. package/dist/runtime/api/thread-runtime.js +25 -0
  58. package/dist/runtime/api/thread-runtime.js.map +1 -1
  59. package/dist/runtime/base/base-thread-runtime-core.d.ts +24 -1
  60. package/dist/runtime/base/base-thread-runtime-core.d.ts.map +1 -1
  61. package/dist/runtime/base/base-thread-runtime-core.js +205 -1
  62. package/dist/runtime/base/base-thread-runtime-core.js.map +1 -1
  63. package/dist/runtime/interfaces/thread-runtime-core.d.ts +14 -0
  64. package/dist/runtime/interfaces/thread-runtime-core.d.ts.map +1 -1
  65. package/dist/runtimes/external-store/external-store-adapter.d.ts +2 -0
  66. package/dist/runtimes/external-store/external-store-adapter.d.ts.map +1 -1
  67. package/dist/runtimes/external-store/external-store-thread-runtime-core.d.ts +2 -1
  68. package/dist/runtimes/external-store/external-store-thread-runtime-core.d.ts.map +1 -1
  69. package/dist/runtimes/external-store/external-store-thread-runtime-core.js +3 -1
  70. package/dist/runtimes/external-store/external-store-thread-runtime-core.js.map +1 -1
  71. package/dist/runtimes/local/local-runtime-options.d.ts +2 -0
  72. package/dist/runtimes/local/local-runtime-options.d.ts.map +1 -1
  73. package/dist/runtimes/local/local-thread-runtime-core.d.ts +2 -0
  74. package/dist/runtimes/local/local-thread-runtime-core.d.ts.map +1 -1
  75. package/dist/runtimes/local/local-thread-runtime-core.js +6 -0
  76. package/dist/runtimes/local/local-thread-runtime-core.js.map +1 -1
  77. package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.d.ts +8 -0
  78. package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.d.ts.map +1 -1
  79. package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.js +15 -6
  80. package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.js.map +1 -1
  81. package/dist/runtimes/remote-thread-list/empty-thread-core.d.ts.map +1 -1
  82. package/dist/runtimes/remote-thread-list/empty-thread-core.js +17 -1
  83. package/dist/runtimes/remote-thread-list/empty-thread-core.js.map +1 -1
  84. package/dist/store/runtime-clients/thread-runtime-client.d.ts.map +1 -1
  85. package/dist/store/runtime-clients/thread-runtime-client.js +7 -8
  86. package/dist/store/runtime-clients/thread-runtime-client.js.map +1 -1
  87. package/dist/store/scopes/thread.d.ts +9 -9
  88. package/dist/store/scopes/thread.d.ts.map +1 -1
  89. package/dist/types/message.d.ts +1 -0
  90. package/dist/types/message.d.ts.map +1 -1
  91. package/package.json +9 -15
  92. package/src/adapters/index.ts +5 -0
  93. package/src/adapters/voice.ts +166 -0
  94. package/src/index.ts +10 -0
  95. package/src/model-context/types.ts +5 -0
  96. package/src/react/client/Interactables.ts +221 -122
  97. package/src/react/client/interactable-model-context.ts +83 -0
  98. package/src/react/index.ts +19 -8
  99. package/src/react/model-context/useAssistantContext.ts +22 -0
  100. package/src/react/model-context/useAssistantInteractable.ts +47 -0
  101. package/src/react/model-context/useInteractableState.ts +63 -0
  102. package/src/react/model-context/useToolArgsStatus.ts +51 -0
  103. package/src/react/primitive-hooks/useVoice.ts +41 -0
  104. package/src/react/types/scopes/interactables.ts +22 -0
  105. package/src/runtime/api/thread-runtime.ts +41 -0
  106. package/src/runtime/base/base-thread-runtime-core.ts +243 -2
  107. package/src/runtime/interfaces/thread-runtime-core.ts +17 -0
  108. package/src/runtimes/external-store/external-store-adapter.ts +2 -0
  109. package/src/runtimes/external-store/external-store-thread-runtime-core.ts +3 -1
  110. package/src/runtimes/local/local-runtime-options.ts +2 -0
  111. package/src/runtimes/local/local-thread-runtime-core.ts +7 -0
  112. package/src/runtimes/readonly/ReadonlyThreadRuntimeCore.ts +20 -6
  113. package/src/runtimes/remote-thread-list/empty-thread-core.ts +22 -1
  114. package/src/store/runtime-clients/thread-runtime-client.ts +7 -8
  115. package/src/store/scopes/thread.ts +9 -8
  116. package/src/types/message.ts +1 -0
  117. package/dist/react/model-context/makeInteractable.d.ts +0 -10
  118. package/dist/react/model-context/makeInteractable.d.ts.map +0 -1
  119. package/dist/react/model-context/makeInteractable.js +0 -10
  120. package/dist/react/model-context/makeInteractable.js.map +0 -1
  121. package/dist/react/model-context/useInteractable.d.ts +0 -16
  122. package/dist/react/model-context/useInteractable.d.ts.map +0 -1
  123. package/dist/react/model-context/useInteractable.js +0 -36
  124. package/dist/react/model-context/useInteractable.js.map +0 -1
  125. package/src/react/model-context/makeInteractable.ts +0 -21
  126. package/src/react/model-context/useInteractable.ts +0 -73
@@ -38,12 +38,17 @@ export declare class RemoteThreadListThreadListRuntimeCore extends BaseSubscriba
38
38
  resumeToolCall: (options: import("../..").ResumeToolCallOptions) => void;
39
39
  speak: (messageId: string) => void;
40
40
  stopSpeaking: () => void;
41
+ connectVoice: () => void;
42
+ disconnectVoice: () => void;
43
+ muteVoice: () => void;
44
+ unmuteVoice: () => void;
41
45
  submitFeedback: (feedback: import("../..").SubmitFeedbackOptions) => void;
42
46
  getModelContext: () => import("../..").ModelContext;
43
47
  composer: import("../..").ThreadComposerRuntimeCore;
44
48
  getEditComposer: (messageId: string) => import("../..").ComposerRuntimeCore | undefined;
45
49
  beginEdit: (messageId: string) => void;
46
50
  speech: import("../..").SpeechState | undefined;
51
+ voice: import("../..").VoiceSessionState | undefined;
47
52
  capabilities: Readonly<import("../..").RuntimeCapabilities>;
48
53
  isDisabled: boolean;
49
54
  isLoading: boolean;
@@ -52,6 +57,8 @@ export declare class RemoteThreadListThreadListRuntimeCore extends BaseSubscriba
52
57
  suggestions: readonly import("../..").ThreadSuggestion[];
53
58
  extras: unknown;
54
59
  subscribe: (callback: () => void) => import("../..").Unsubscribe;
60
+ getVoiceVolume: () => number;
61
+ subscribeVoiceVolume: (callback: () => void) => import("../..").Unsubscribe;
55
62
  import(repository: import("../..").ExportedMessageRepository): void;
56
63
  export(): import("../..").ExportedMessageRepository;
57
64
  exportExternalState(): any;
@@ -76,12 +83,17 @@ export declare class RemoteThreadListThreadListRuntimeCore extends BaseSubscriba
76
83
  resumeToolCall: (options: import("../..").ResumeToolCallOptions) => void;
77
84
  speak: (messageId: string) => void;
78
85
  stopSpeaking: () => void;
86
+ connectVoice: () => void;
87
+ disconnectVoice: () => void;
88
+ muteVoice: () => void;
89
+ unmuteVoice: () => void;
79
90
  submitFeedback: (feedback: import("../..").SubmitFeedbackOptions) => void;
80
91
  getModelContext: () => import("../..").ModelContext;
81
92
  composer: import("../..").ThreadComposerRuntimeCore;
82
93
  getEditComposer: (messageId: string) => import("../..").ComposerRuntimeCore | undefined;
83
94
  beginEdit: (messageId: string) => void;
84
95
  speech: import("../..").SpeechState | undefined;
96
+ voice: import("../..").VoiceSessionState | undefined;
85
97
  capabilities: Readonly<import("../..").RuntimeCapabilities>;
86
98
  isDisabled: boolean;
87
99
  isLoading: boolean;
@@ -90,6 +102,8 @@ export declare class RemoteThreadListThreadListRuntimeCore extends BaseSubscriba
90
102
  suggestions: readonly import("../..").ThreadSuggestion[];
91
103
  extras: unknown;
92
104
  subscribe: (callback: () => void) => import("../..").Unsubscribe;
105
+ getVoiceVolume: () => number;
106
+ subscribeVoiceVolume: (callback: () => void) => import("../..").Unsubscribe;
93
107
  import(repository: import("../..").ExportedMessageRepository): void;
94
108
  export(): import("../..").ExportedMessageRepository;
95
109
  exportExternalState(): any;
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteThreadListThreadListRuntimeCore.d.ts","sourceRoot":"","sources":["../../../src/react/runtimes/RemoteThreadListThreadListRuntimeCore.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,6DAA0D;AAE/F,OAAO,EAAE,gBAAgB,EAAE,2CAAwC;AAGnE,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EAElB,iEAA8D;AAM/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,mDAAgD;AAEvF,OAAO,EAEL,EAAE,EAKH,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAAE,oBAAoB,EAAE,qCAAkC;AAGtE,qBAAa,qCACX,SAAQ,gBACR,YAAW,qBAAqB;IAEhC,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsC;IAEnE,OAAO,CAAC,mBAAmB,CAA4B;IAEvD,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAOpB;IAEH,IAAW,WAAW,0DAErB;IAEM,qBAAqB;IAuE5B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuB;gBAGrD,OAAO,EAAE,uBAAuB,EAChC,eAAe,EAAE,oBAAoB;IAkBvC,OAAO,CAAC,WAAW,CAAC;IAEb,qBAAqB,CAAC,OAAO,EAAE,uBAAuB;IActD,eAAe;IAItB,IAAW,SAAS,YAEnB;IAED,IAAW,SAAS,sBAEnB;IAED,IAAW,iBAAiB,sBAE3B;IAED,IAAW,WAAW,uBAErB;IAED,IAAW,YAAY,IAAI,MAAM,CAEhC;IAEM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAMxB,oBAAoB,CAAC,kBAAkB,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAS/C,WAAW,CAAC,kBAAkB,EAAE,MAAM;IAIhC,cAAc,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkEzD,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwCxC,UAAU,GAAU,UAAU,MAAM,6DAmDzC;IAEK,aAAa,GAAU,UAAU,MAAM,mBAgC5C;IAEK,MAAM,CAAC,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YA4B5D,sBAAsB;IASvB,OAAO,CAAC,kBAAkB,EAAE,MAAM;IAmBxC,SAAS,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB9C,MAAM,CAAC,kBAAkB,EAAE,MAAM;IAoBjC,MAAM,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9D,OAAO,CAAC,WAAW,CAA8B;IAE1C,0BAA0B,EAAE,EAAE,CA0BnC;CACH"}
1
+ {"version":3,"file":"RemoteThreadListThreadListRuntimeCore.d.ts","sourceRoot":"","sources":["../../../src/react/runtimes/RemoteThreadListThreadListRuntimeCore.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,6DAA0D;AAE/F,OAAO,EAAE,gBAAgB,EAAE,2CAAwC;AAGnE,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EAElB,iEAA8D;AAM/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,mDAAgD;AAEvF,OAAO,EAEL,EAAE,EAKH,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAAE,oBAAoB,EAAE,qCAAkC;AAGtE,qBAAa,qCACX,SAAQ,gBACR,YAAW,qBAAqB;IAEhC,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsC;IAEnE,OAAO,CAAC,mBAAmB,CAA4B;IAEvD,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAOpB;IAEH,IAAW,WAAW,0DAErB;IAEM,qBAAqB;IAuE5B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuB;gBAGrD,OAAO,EAAE,uBAAuB,EAChC,eAAe,EAAE,oBAAoB;IAkBvC,OAAO,CAAC,WAAW,CAAC;IAEb,qBAAqB,CAAC,OAAO,EAAE,uBAAuB;IActD,eAAe;IAItB,IAAW,SAAS,YAEnB;IAED,IAAW,SAAS,sBAEnB;IAED,IAAW,iBAAiB,sBAE3B;IAED,IAAW,WAAW,uBAErB;IAED,IAAW,YAAY,IAAI,MAAM,CAEhC;IAEM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAMxB,oBAAoB,CAAC,kBAAkB,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAS/C,WAAW,CAAC,kBAAkB,EAAE,MAAM;IAIhC,cAAc,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkEzD,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwCxC,UAAU,GAAU,UAAU,MAAM,6DAmDzC;IAEK,aAAa,GAAU,UAAU,MAAM,mBAgC5C;IAEK,MAAM,CAAC,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YA4B5D,sBAAsB;IASvB,OAAO,CAAC,kBAAkB,EAAE,MAAM;IAmBxC,SAAS,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB9C,MAAM,CAAC,kBAAkB,EAAE,MAAM;IAoBjC,MAAM,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9D,OAAO,CAAC,WAAW,CAA8B;IAE1C,0BAA0B,EAAE,EAAE,CA0BnC;CACH"}
@@ -17,6 +17,7 @@ export declare const splitLocalRuntimeOptions: <T extends LocalRuntimeOptions>(o
17
17
  attachments?: import("../../index").AttachmentAdapter | undefined;
18
18
  speech?: import("../../index").SpeechSynthesisAdapter | undefined;
19
19
  dictation?: import("../../index").DictationAdapter | undefined;
20
+ voice?: import("../../index").RealtimeVoiceAdapter | undefined;
20
21
  feedback?: import("../../index").FeedbackAdapter | undefined;
21
22
  suggestion?: import("../../index").SuggestionAdapter | undefined;
22
23
  }, "chatModel"> | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"useLocalRuntime.d.ts","sourceRoot":"","sources":["../../../src/react/runtimes/useLocalRuntime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EAClB,uBAAoB;AACrB,OAAO,KAAK,EAAE,uBAAuB,EAAE,sDAAmD;AAM1F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,EAAE,UAAU,CAAC,GAAG;IAC5E,KAAK,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IACnC,eAAe,CAAC,EAAE,SAAS,iBAAiB,EAAE,GAAG,SAAS,CAAC;IAC3D,QAAQ,CAAC,EAAE,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC;CAC/E,CAAC;AA8CF,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,mBAAmB,EACpE,SAAS,CAAC;;;;;;;;;;;;;;;;;CAqBX,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,WAAW,gBAAgB,EAC3B,wBAAuB,mBAAwB,KAC9C,gBASF,CAAC"}
1
+ {"version":3,"file":"useLocalRuntime.d.ts","sourceRoot":"","sources":["../../../src/react/runtimes/useLocalRuntime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EAClB,uBAAoB;AACrB,OAAO,KAAK,EAAE,uBAAuB,EAAE,sDAAmD;AAM1F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,EAAE,UAAU,CAAC,GAAG;IAC5E,KAAK,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IACnC,eAAe,CAAC,EAAE,SAAS,iBAAiB,EAAE,GAAG,SAAS,CAAC;IAC3D,QAAQ,CAAC,EAAE,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC;CAC/E,CAAC;AA8CF,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,mBAAmB,EACpE,SAAS,CAAC;;;;;;;;;;;;;;;;;;CAqBX,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,WAAW,gBAAgB,EAC3B,wBAAuB,mBAAwB,KAC9C,gBASF,CAAC"}
@@ -23,15 +23,32 @@ export type InteractableRegistration = {
23
23
  initialState: unknown;
24
24
  selected?: boolean | undefined;
25
25
  };
26
+ export type InteractablePersistenceStatus = {
27
+ isPending: boolean;
28
+ error: unknown;
29
+ };
26
30
  export type InteractablesState = {
27
31
  /** Keyed by instance id */
28
32
  definitions: Record<string, InteractableDefinition>;
33
+ /** Per-id persistence sync status */
34
+ persistence: Record<string, InteractablePersistenceStatus>;
35
+ };
36
+ export type InteractablePersistedState = Record<string, {
37
+ name: string;
38
+ state: unknown;
39
+ }>;
40
+ export type InteractablePersistenceAdapter = {
41
+ save(state: InteractablePersistedState): void | Promise<void>;
29
42
  };
30
43
  export type InteractablesMethods = {
31
44
  getState(): InteractablesState;
32
45
  register(def: InteractableRegistration): Unsubscribe;
33
46
  setState(id: string, updater: (prev: unknown) => unknown): void;
34
47
  setSelected(id: string, selected: boolean): void;
48
+ exportState(): InteractablePersistedState;
49
+ importState(saved: InteractablePersistedState): void;
50
+ setPersistenceAdapter(adapter: InteractablePersistenceAdapter | undefined): void;
51
+ flush(): Promise<void>;
35
52
  };
36
53
  export type InteractablesClientSchema = {
37
54
  methods: InteractablesMethods;
@@ -1 +1 @@
1
- {"version":3,"file":"interactables.d.ts","sourceRoot":"","sources":["../../../../src/react/types/scopes/interactables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,0BAAiB;AAE5C;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG,WAAW,CAC/C,OAAO,CAAC,IAAI,EAAE;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC,YAAY,CAAC,CACrD,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,uBAAuB,CAAC;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,uBAAuB,CAAC;IACrC,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;CACrD,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,IAAI,kBAAkB,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,wBAAwB,GAAG,WAAW,CAAC;IACrD,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,GAAG,IAAI,CAAC;IAChE,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,oBAAoB,CAAC;CAC/B,CAAC"}
1
+ {"version":3,"file":"interactables.d.ts","sourceRoot":"","sources":["../../../../src/react/types/scopes/interactables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,0BAAiB;AAE5C;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG,WAAW,CAC/C,OAAO,CAAC,IAAI,EAAE;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC,YAAY,CAAC,CACrD,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,uBAAuB,CAAC;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,uBAAuB,CAAC;IACrC,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACpD,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC;CAC5D,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAC7C,MAAM,EACN;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CACjC,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,IAAI,CAAC,KAAK,EAAE,0BAA0B,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/D,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,IAAI,kBAAkB,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,wBAAwB,GAAG,WAAW,CAAC;IACrD,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,GAAG,IAAI,CAAC;IAChE,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACjD,WAAW,IAAI,0BAA0B,CAAC;IAC1C,WAAW,CAAC,KAAK,EAAE,0BAA0B,GAAG,IAAI,CAAC;IACrD,qBAAqB,CACnB,OAAO,EAAE,8BAA8B,GAAG,SAAS,GAClD,IAAI,CAAC;IACR,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,oBAAoB,CAAC;CAC/B,CAAC"}
@@ -1,4 +1,4 @@
1
- import { ThreadSuggestion, RuntimeCapabilities, ThreadRuntimeCore, SpeechState, ThreadRuntimeEventType, StartRunConfig, ResumeRunConfig } from "../interfaces/thread-runtime-core.js";
1
+ import { ThreadSuggestion, RuntimeCapabilities, ThreadRuntimeCore, SpeechState, VoiceSessionState, ThreadRuntimeEventType, StartRunConfig, ResumeRunConfig } from "../interfaces/thread-runtime-core.js";
2
2
  import { ExportedMessageRepository } from "../utils/message-repository.js";
3
3
  import { ThreadMessageLike } from "../utils/thread-message-like.js";
4
4
  import { MessageRuntime, MessageRuntimeImpl } from "./message-runtime.js";
@@ -85,6 +85,7 @@ export type ThreadState = {
85
85
  * @deprecated This API is still under active development and might change without notice.
86
86
  */
87
87
  readonly speech: SpeechState | undefined;
88
+ readonly voice: VoiceSessionState | undefined;
88
89
  };
89
90
  export declare const getThreadState: (runtime: ThreadRuntimeCore, threadListItemState: ThreadListItemState) => ThreadState;
90
91
  export type ThreadRuntime = {
@@ -176,6 +177,12 @@ export type ThreadRuntime = {
176
177
  * @deprecated This API is still under active development and might change without notice.
177
178
  */
178
179
  stopSpeaking(): void;
180
+ connectVoice(): void;
181
+ disconnectVoice(): void;
182
+ getVoiceVolume(): number;
183
+ subscribeVoiceVolume(callback: () => void): Unsubscribe;
184
+ muteVoice(): void;
185
+ unmuteVoice(): void;
179
186
  unstable_on(event: ThreadRuntimeEventType, callback: () => void): Unsubscribe;
180
187
  };
181
188
  export declare class ThreadRuntimeImpl implements ThreadRuntime {
@@ -198,6 +205,10 @@ export declare class ThreadRuntimeImpl implements ThreadRuntime {
198
205
  resumeToolCall: (options: import("../..").ResumeToolCallOptions) => void;
199
206
  speak: (messageId: string) => void;
200
207
  stopSpeaking: () => void;
208
+ connectVoice: () => void;
209
+ disconnectVoice: () => void;
210
+ muteVoice: () => void;
211
+ unmuteVoice: () => void;
201
212
  submitFeedback: (feedback: import("../..").SubmitFeedbackOptions) => void;
202
213
  getModelContext: () => ModelContext;
203
214
  composer: Readonly<{
@@ -254,6 +265,7 @@ export declare class ThreadRuntimeImpl implements ThreadRuntime {
254
265
  }> | undefined;
255
266
  beginEdit: (messageId: string) => void;
256
267
  speech: SpeechState | undefined;
268
+ voice: VoiceSessionState | undefined;
257
269
  capabilities: Readonly<RuntimeCapabilities>;
258
270
  isDisabled: boolean;
259
271
  isLoading: boolean;
@@ -262,6 +274,8 @@ export declare class ThreadRuntimeImpl implements ThreadRuntime {
262
274
  suggestions: readonly ThreadSuggestion[];
263
275
  extras: unknown;
264
276
  subscribe: (callback: () => void) => Unsubscribe;
277
+ getVoiceVolume: () => number;
278
+ subscribeVoiceVolume: (callback: () => void) => Unsubscribe;
265
279
  import(repository: ExportedMessageRepository): void;
266
280
  export(): ExportedMessageRepository;
267
281
  exportExternalState(): any;
@@ -293,6 +307,12 @@ export declare class ThreadRuntimeImpl implements ThreadRuntime {
293
307
  unstable_loadExternalState(state: any): void;
294
308
  cancelRun(): void;
295
309
  stopSpeaking(): void;
310
+ connectVoice(): void;
311
+ disconnectVoice(): void;
312
+ getVoiceVolume(): number;
313
+ subscribeVoiceVolume(callback: () => void): Unsubscribe;
314
+ muteVoice(): void;
315
+ unmuteVoice(): void;
296
316
  export(): ExportedMessageRepository;
297
317
  import(data: ExportedMessageRepository): void;
298
318
  reset(initialMessages?: readonly ThreadMessageLike[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"thread-runtime.d.ts","sourceRoot":"","sources":["../../../src/runtime/api/thread-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thread-runtime.d.ts","sourceRoot":"","sources":["../../../src/runtime/api/thread-runtime.ts"],"names":[],"mappings":"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"}
@@ -60,6 +60,7 @@ export const getThreadState = (runtime, threadListItemState) => {
60
60
  suggestions: runtime.suggestions,
61
61
  extras: runtime.extras,
62
62
  speech: runtime.speech,
63
+ voice: runtime.voice,
63
64
  });
64
65
  };
65
66
  export class ThreadRuntimeImpl {
@@ -112,6 +113,12 @@ export class ThreadRuntimeImpl {
112
113
  this.startRun = this.startRun.bind(this);
113
114
  this.cancelRun = this.cancelRun.bind(this);
114
115
  this.stopSpeaking = this.stopSpeaking.bind(this);
116
+ this.connectVoice = this.connectVoice.bind(this);
117
+ this.disconnectVoice = this.disconnectVoice.bind(this);
118
+ this.muteVoice = this.muteVoice.bind(this);
119
+ this.unmuteVoice = this.unmuteVoice.bind(this);
120
+ this.getVoiceVolume = this.getVoiceVolume.bind(this);
121
+ this.subscribeVoiceVolume = this.subscribeVoiceVolume.bind(this);
115
122
  this.export = this.export.bind(this);
116
123
  this.import = this.import.bind(this);
117
124
  this.reset = this.reset.bind(this);
@@ -169,6 +176,24 @@ export class ThreadRuntimeImpl {
169
176
  stopSpeaking() {
170
177
  return this._threadBinding.getState().stopSpeaking();
171
178
  }
179
+ connectVoice() {
180
+ this._threadBinding.getState().connectVoice();
181
+ }
182
+ disconnectVoice() {
183
+ this._threadBinding.getState().disconnectVoice();
184
+ }
185
+ getVoiceVolume() {
186
+ return this._threadBinding.getState().getVoiceVolume();
187
+ }
188
+ subscribeVoiceVolume(callback) {
189
+ return this._threadBinding.getState().subscribeVoiceVolume(callback);
190
+ }
191
+ muteVoice() {
192
+ this._threadBinding.getState().muteVoice();
193
+ }
194
+ unmuteVoice() {
195
+ this._threadBinding.getState().unmuteVoice();
196
+ }
172
197
  export() {
173
198
  return this._threadBinding.getState().export();
174
199
  }
@@ -1 +1 @@
1
- {"version":3,"file":"thread-runtime.js","sourceRoot":"","sources":["../../../src/runtime/api/thread-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thread-runtime.js","sourceRoot":"","sources":["../../../src/runtime/api/thread-runtime.ts"],"names":[],"mappings":"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"}
@@ -3,16 +3,18 @@ import type { Unsubscribe } from "../../types/unsubscribe.js";
3
3
  import type { ModelContextProvider } from "../../model-context/types.js";
4
4
  import { ExportedMessageRepository, MessageRepository } from "../utils/message-repository.js";
5
5
  import { DefaultThreadComposerRuntimeCore } from "./default-thread-composer-runtime-core.js";
6
- import type { AddToolResultOptions, ResumeToolCallOptions, ThreadSuggestion, SubmitFeedbackOptions, ThreadRuntimeCore, SpeechState, RuntimeCapabilities, ThreadRuntimeEventType, StartRunConfig, ResumeRunConfig } from "../interfaces/thread-runtime-core.js";
6
+ import type { AddToolResultOptions, ResumeToolCallOptions, ThreadSuggestion, SubmitFeedbackOptions, ThreadRuntimeCore, SpeechState, VoiceSessionState, RuntimeCapabilities, ThreadRuntimeEventType, StartRunConfig, ResumeRunConfig } from "../interfaces/thread-runtime-core.js";
7
7
  import { DefaultEditComposerRuntimeCore } from "./default-edit-composer-runtime-core.js";
8
8
  import type { SpeechSynthesisAdapter } from "../../adapters/speech.js";
9
9
  import type { FeedbackAdapter } from "../../adapters/feedback.js";
10
10
  import type { AttachmentAdapter } from "../../adapters/attachment.js";
11
+ import type { RealtimeVoiceAdapter } from "../../adapters/voice.js";
11
12
  import type { ThreadMessageLike } from "../utils/thread-message-like.js";
12
13
  type BaseThreadAdapters = {
13
14
  speech?: SpeechSynthesisAdapter | undefined;
14
15
  feedback?: FeedbackAdapter | undefined;
15
16
  attachments?: AttachmentAdapter | undefined;
17
+ voice?: RealtimeVoiceAdapter | undefined;
16
18
  };
17
19
  export declare abstract class BaseThreadRuntimeCore implements ThreadRuntimeCore {
18
20
  private readonly _contextProvider;
@@ -34,6 +36,13 @@ export declare abstract class BaseThreadRuntimeCore implements ThreadRuntimeCore
34
36
  abstract exportExternalState(): any;
35
37
  abstract importExternalState(state: any): void;
36
38
  abstract unstable_loadExternalState(state: any): void;
39
+ protected _voiceMessages: ThreadMessage[];
40
+ protected _voiceGeneration: number;
41
+ private _cachedMergedMessages;
42
+ private _cachedVoiceGeneration;
43
+ private _cachedMergedBase;
44
+ protected _markVoiceMessagesDirty(): void;
45
+ protected _getBaseMessages(): readonly ThreadMessage[];
37
46
  get messages(): readonly ThreadMessage[];
38
47
  get state(): string | number | boolean | import("assistant-stream/utils").ReadonlyJSONObject | import("assistant-stream/utils").ReadonlyJSONArray | null;
39
48
  readonly composer: DefaultThreadComposerRuntimeCore;
@@ -57,6 +66,20 @@ export declare abstract class BaseThreadRuntimeCore implements ThreadRuntimeCore
57
66
  speech: SpeechState | undefined;
58
67
  speak(messageId: string): void;
59
68
  stopSpeaking(): void;
69
+ private _voiceSession;
70
+ private _voiceUnsubs;
71
+ voice: VoiceSessionState | undefined;
72
+ private _voiceVolume;
73
+ private _voiceVolumeSubscribers;
74
+ getVoiceVolume: () => number;
75
+ subscribeVoiceVolume: (callback: () => void) => Unsubscribe;
76
+ connectVoice(): void;
77
+ private _currentAssistantMsg;
78
+ private _handleVoiceTranscript;
79
+ private _finishVoiceAssistantMessage;
80
+ disconnectVoice(): void;
81
+ muteVoice(): void;
82
+ unmuteVoice(): void;
60
83
  protected ensureInitialized(): void;
61
84
  export(): ExportedMessageRepository;
62
85
  import(data: ExportedMessageRepository): void;
@@ -1 +1 @@
1
- {"version":3,"file":"base-thread-runtime-core.d.ts","sourceRoot":"","sources":["../../../src/runtime/base/base-thread-runtime-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-thread-runtime-core.d.ts","sourceRoot":"","sources":["../../../src/runtime/base/base-thread-runtime-core.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { getThreadMessageText } from "../../utils/text.js";
2
+ import { generateId } from "../../utils/id.js";
2
3
  import { ExportedMessageRepository, MessageRepository, } from "../utils/message-repository.js";
3
4
  import { DefaultThreadComposerRuntimeCore } from "./default-thread-composer-runtime-core.js";
4
5
  import { DefaultEditComposerRuntimeCore } from "./default-edit-composer-runtime-core.js";
@@ -7,9 +8,31 @@ export class BaseThreadRuntimeCore {
7
8
  _subscriptions = new Set();
8
9
  _isInitialized = false;
9
10
  repository = new MessageRepository();
10
- get messages() {
11
+ _voiceMessages = [];
12
+ _voiceGeneration = 0;
13
+ _cachedMergedMessages = null;
14
+ _cachedVoiceGeneration = -1;
15
+ _cachedMergedBase = null;
16
+ _markVoiceMessagesDirty() {
17
+ this._voiceGeneration++;
18
+ this._cachedMergedMessages = null;
19
+ }
20
+ _getBaseMessages() {
11
21
  return this.repository.getMessages();
12
22
  }
23
+ get messages() {
24
+ if (this._voiceMessages.length === 0) {
25
+ return this._getBaseMessages();
26
+ }
27
+ const base = this._getBaseMessages();
28
+ if (this._cachedVoiceGeneration !== this._voiceGeneration ||
29
+ this._cachedMergedBase !== base) {
30
+ this._cachedMergedMessages = [...base, ...this._voiceMessages];
31
+ this._cachedVoiceGeneration = this._voiceGeneration;
32
+ this._cachedMergedBase = base;
33
+ }
34
+ return this._cachedMergedMessages;
35
+ }
13
36
  get state() {
14
37
  let mostRecentAssistantMessage;
15
38
  for (const message of this.messages) {
@@ -41,10 +64,26 @@ export class BaseThreadRuntimeCore {
41
64
  return this.repository.getMessage(messageId);
42
65
  }
43
66
  catch {
67
+ // Check voice messages
68
+ const baseMessages = this.repository.getMessages();
69
+ const voiceIdx = this._voiceMessages.findIndex((m) => m.id === messageId);
70
+ if (voiceIdx !== -1) {
71
+ const parentId = voiceIdx > 0
72
+ ? this._voiceMessages[voiceIdx - 1].id
73
+ : (baseMessages.at(-1)?.id ?? null);
74
+ return {
75
+ parentId,
76
+ message: this._voiceMessages[voiceIdx],
77
+ index: baseMessages.length + voiceIdx,
78
+ };
79
+ }
44
80
  return undefined;
45
81
  }
46
82
  }
47
83
  getBranches(messageId) {
84
+ if (this._voiceMessages.some((m) => m.id === messageId)) {
85
+ return [];
86
+ }
48
87
  return this.repository.getBranches(messageId);
49
88
  }
50
89
  switchToBranch(branchId) {
@@ -118,6 +157,171 @@ export class BaseThreadRuntimeCore {
118
157
  this._stopSpeaking();
119
158
  this._notifySubscribers();
120
159
  }
160
+ _voiceSession;
161
+ _voiceUnsubs = [];
162
+ voice;
163
+ _voiceVolume = 0;
164
+ _voiceVolumeSubscribers = new Set();
165
+ getVoiceVolume = () => this._voiceVolume;
166
+ subscribeVoiceVolume = (callback) => {
167
+ this._voiceVolumeSubscribers.add(callback);
168
+ return () => this._voiceVolumeSubscribers.delete(callback);
169
+ };
170
+ connectVoice() {
171
+ const adapter = this.adapters?.voice;
172
+ if (!adapter)
173
+ throw new Error("Voice adapter not configured");
174
+ this.disconnectVoice();
175
+ const session = adapter.connect({});
176
+ this._voiceSession = session;
177
+ const unsubs = [];
178
+ let currentMode = "listening";
179
+ this.voice = {
180
+ status: session.status,
181
+ isMuted: session.isMuted,
182
+ mode: currentMode,
183
+ };
184
+ this._voiceVolume = 0;
185
+ this._notifySubscribers();
186
+ unsubs.push(session.onStatusChange((status) => {
187
+ if (status.type === "ended") {
188
+ this._finishVoiceAssistantMessage();
189
+ this._voiceSession = undefined;
190
+ this.voice = undefined;
191
+ }
192
+ else {
193
+ this.voice = {
194
+ status,
195
+ isMuted: session.isMuted,
196
+ mode: currentMode,
197
+ };
198
+ }
199
+ this._notifySubscribers();
200
+ }));
201
+ unsubs.push(session.onModeChange((mode) => {
202
+ currentMode = mode;
203
+ if (this.voice) {
204
+ this.voice = { ...this.voice, mode };
205
+ this._notifySubscribers();
206
+ }
207
+ }));
208
+ unsubs.push(session.onVolumeChange((volume) => {
209
+ this._voiceVolume = volume;
210
+ for (const cb of this._voiceVolumeSubscribers)
211
+ cb();
212
+ }));
213
+ unsubs.push(session.onTranscript((transcript) => {
214
+ this._handleVoiceTranscript(transcript);
215
+ }));
216
+ this._voiceUnsubs = unsubs;
217
+ }
218
+ _currentAssistantMsg = null;
219
+ _handleVoiceTranscript(transcript) {
220
+ this.ensureInitialized();
221
+ if (transcript.role === "user") {
222
+ this._finishVoiceAssistantMessage();
223
+ this._currentAssistantMsg = null;
224
+ if (transcript.isFinal) {
225
+ this._voiceMessages.push({
226
+ id: generateId(),
227
+ role: "user",
228
+ content: [{ type: "text", text: transcript.text }],
229
+ metadata: { custom: {} },
230
+ createdAt: new Date(),
231
+ status: { type: "complete", reason: "unknown" },
232
+ attachments: [],
233
+ });
234
+ this._markVoiceMessagesDirty();
235
+ this._notifySubscribers();
236
+ }
237
+ }
238
+ else {
239
+ if (!this._currentAssistantMsg) {
240
+ this._currentAssistantMsg = {
241
+ id: generateId(),
242
+ role: "assistant",
243
+ content: [{ type: "text", text: transcript.text }],
244
+ metadata: {
245
+ unstable_state: this.state,
246
+ unstable_annotations: [],
247
+ unstable_data: [],
248
+ steps: [],
249
+ custom: {},
250
+ },
251
+ status: { type: "running" },
252
+ createdAt: new Date(),
253
+ };
254
+ this._voiceMessages.push(this._currentAssistantMsg);
255
+ }
256
+ else {
257
+ const idx = this._voiceMessages.indexOf(this._currentAssistantMsg);
258
+ if (idx === -1)
259
+ return;
260
+ const updated = {
261
+ ...this._currentAssistantMsg,
262
+ content: [{ type: "text", text: transcript.text }],
263
+ ...(transcript.isFinal
264
+ ? { status: { type: "complete", reason: "stop" } }
265
+ : {}),
266
+ };
267
+ this._voiceMessages[idx] = updated;
268
+ this._currentAssistantMsg = updated;
269
+ }
270
+ if (transcript.isFinal) {
271
+ this._currentAssistantMsg = null;
272
+ }
273
+ this._markVoiceMessagesDirty();
274
+ this._notifySubscribers();
275
+ }
276
+ }
277
+ _finishVoiceAssistantMessage() {
278
+ const last = this._voiceMessages.at(-1);
279
+ if (last?.role === "assistant" && last.status.type === "running") {
280
+ const idx = this._voiceMessages.length - 1;
281
+ this._voiceMessages[idx] = {
282
+ ...last,
283
+ status: { type: "complete", reason: "stop" },
284
+ };
285
+ this._markVoiceMessagesDirty();
286
+ this._notifySubscribers();
287
+ }
288
+ }
289
+ disconnectVoice() {
290
+ this._finishVoiceAssistantMessage();
291
+ this._currentAssistantMsg = null;
292
+ for (const unsub of this._voiceUnsubs)
293
+ unsub();
294
+ this._voiceUnsubs = [];
295
+ this._voiceSession?.disconnect();
296
+ this._voiceSession = undefined;
297
+ this.voice = undefined;
298
+ this._voiceVolume = 0;
299
+ for (const cb of this._voiceVolumeSubscribers)
300
+ cb();
301
+ this._voiceMessages = [];
302
+ this._markVoiceMessagesDirty();
303
+ this._notifySubscribers();
304
+ }
305
+ muteVoice() {
306
+ if (!this._voiceSession)
307
+ throw new Error("No active voice session");
308
+ this._voiceSession.mute();
309
+ this.voice = {
310
+ ...this.voice,
311
+ isMuted: true,
312
+ };
313
+ this._notifySubscribers();
314
+ }
315
+ unmuteVoice() {
316
+ if (!this._voiceSession)
317
+ throw new Error("No active voice session");
318
+ this._voiceSession.unmute();
319
+ this.voice = {
320
+ ...this.voice,
321
+ isMuted: false,
322
+ };
323
+ this._notifySubscribers();
324
+ }
121
325
  ensureInitialized() {
122
326
  if (!this._isInitialized) {
123
327
  this._isInitialized = true;