@happyvertical/smrt-chat 0.38.24 → 0.38.26

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 (36) hide show
  1. package/AGENTS.md +24 -2
  2. package/README.md +123 -3
  3. package/dist/chunks/{ChatService-BRsE5HmY.js → ChatService-B9rJuwtb.js} +269 -110
  4. package/dist/chunks/ChatService-B9rJuwtb.js.map +1 -0
  5. package/dist/collections/VoiceGatewayTurnCollection.d.ts +13 -0
  6. package/dist/collections/VoiceGatewayTurnCollection.d.ts.map +1 -0
  7. package/dist/collections/VoiceSessionCollection.d.ts +11 -0
  8. package/dist/collections/VoiceSessionCollection.d.ts.map +1 -0
  9. package/dist/index.d.ts +4 -3
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +495 -13
  12. package/dist/index.js.map +1 -1
  13. package/dist/internal/agent-runtime.js +1 -1
  14. package/dist/manifest.json +2795 -1892
  15. package/dist/models/VoiceGatewayTurn.d.ts +20 -0
  16. package/dist/models/VoiceGatewayTurn.d.ts.map +1 -0
  17. package/dist/models/VoiceSession.d.ts +40 -0
  18. package/dist/models/VoiceSession.d.ts.map +1 -0
  19. package/dist/models/index.d.ts +2 -0
  20. package/dist/models/index.d.ts.map +1 -1
  21. package/dist/persona-conversation.d.ts +8 -0
  22. package/dist/persona-conversation.d.ts.map +1 -1
  23. package/dist/services/ChatService.d.ts.map +1 -1
  24. package/dist/smrt-knowledge.json +597 -125
  25. package/dist/svelte/components/layout/ChatLayout.svelte +7 -3
  26. package/dist/svelte/components/messages/MessageInput.svelte +22 -15
  27. package/dist/svelte/components/messages/MessageInput.svelte.d.ts.map +1 -1
  28. package/dist/types.d.ts +30 -0
  29. package/dist/types.d.ts.map +1 -1
  30. package/dist/ui.d.ts.map +1 -1
  31. package/dist/ui.js +4 -2
  32. package/dist/ui.js.map +1 -1
  33. package/dist/voice.d.ts +127 -0
  34. package/dist/voice.d.ts.map +1 -0
  35. package/package.json +16 -14
  36. package/dist/chunks/ChatService-BRsE5HmY.js.map +0 -1
@@ -146,11 +146,15 @@ function handlePointerUp() {
146
146
  }
147
147
 
148
148
  @media (max-width: 600px) {
149
+ .chat-layout {
150
+ flex-direction: column;
151
+ }
152
+
149
153
  .chat-layout__sidebar {
150
154
  width: 100% !important;
151
- position: absolute;
152
- inset: 0;
153
- z-index: 10;
155
+ max-height: 14rem;
156
+ border-right: 0;
157
+ border-bottom: 1px solid var(--smrt-color-outline-variant, #c4c6d0);
154
158
  }
155
159
 
156
160
  .chat-layout__resize-handle {
@@ -5,7 +5,6 @@
5
5
  */
6
6
  import { Textarea } from '@happyvertical/smrt-ui/forms';
7
7
  import { useI18n } from '@happyvertical/smrt-ui/i18n';
8
- import { Button } from '@happyvertical/smrt-ui/ui';
9
8
  import { M } from '../../i18n.messages.js';
10
9
 
11
10
  const { t } = useI18n();
@@ -69,16 +68,15 @@ function handleInput(event: Event) {
69
68
  <span class="message-input__reply-text">{replyTo.content}</span>
70
69
  </div>
71
70
  {#if oncancelreply}
72
- <Button
73
- variant="ghost"
74
- size="sm"
71
+ <!-- raw-primitive-allow: compact icon-only composer control; uses the component's local button geometry and avoids wrapper event forwarding in the dev-server browser path -->
72
+ <button
75
73
  class="message-input__reply-close"
76
74
  type="button"
77
75
  onclick={oncancelreply}
78
76
  aria-label={t(M['chat.message_input.cancel_reply'])}
79
77
  >
80
78
  <svg viewBox="0 0 16 16" width="14" height="14"><path d="M4 4l8 8M12 4l-8 8" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" /></svg>
81
- </Button>
79
+ </button>
82
80
  {/if}
83
81
  </div>
84
82
  {/if}
@@ -94,8 +92,8 @@ function handleInput(event: Event) {
94
92
  oninput={handleInput}
95
93
  aria-label={t(M['chat.message_input.input_label'])}
96
94
  />
97
- <Button
98
- variant="ghost"
95
+ <!-- raw-primitive-allow: compact icon-only composer submit control; native button is required so pointer clicks and Enter-submit share the same local handler in package dev servers -->
96
+ <button
99
97
  class="message-input__send"
100
98
  type="button"
101
99
  onclick={handleSend}
@@ -112,7 +110,7 @@ function handleInput(event: Event) {
112
110
  stroke-linejoin="round"
113
111
  />
114
112
  </svg>
115
- </Button>
113
+ </button>
116
114
  </div>
117
115
  </div>
118
116
 
@@ -162,18 +160,22 @@ function handleInput(event: Event) {
162
160
  text-overflow: ellipsis;
163
161
  }
164
162
 
165
- /* :global() pierces into the Button child's rendered <button> (see #1589). */
166
- .message-input__reply :global(.message-input__reply-close) {
163
+ .message-input__reply-close {
164
+ display: inline-flex;
165
+ align-items: center;
166
+ justify-content: center;
167
167
  width: 24px;
168
168
  height: 24px;
169
169
  padding: 0;
170
+ border: 0;
170
171
  border-radius: var(--smrt-radius-small, 0.25rem);
171
172
  background: transparent;
172
173
  color: var(--smrt-color-on-surface-variant, #43474e);
174
+ cursor: pointer;
173
175
  flex-shrink: 0;
174
176
  }
175
177
 
176
- .message-input__reply :global(.message-input__reply-close:hover) {
178
+ .message-input__reply-close:hover {
177
179
  background: var(--smrt-color-surface-container-high, #e1e3e8);
178
180
  }
179
181
 
@@ -195,24 +197,29 @@ function handleInput(event: Event) {
195
197
  overflow-y: auto;
196
198
  }
197
199
 
198
- /* :global() pierces into the Button child's rendered <button> (see #1589). */
199
- .message-input__bar :global(.message-input__send) {
200
+ .message-input__send {
201
+ display: inline-flex;
202
+ align-items: center;
203
+ justify-content: center;
200
204
  width: 36px;
201
205
  height: 36px;
202
206
  padding: 0;
207
+ border: 0;
203
208
  border-radius: var(--smrt-radius-full, 9999px);
204
209
  background: var(--smrt-color-primary, #005ac1);
205
210
  color: var(--smrt-color-on-primary, #ffffff);
211
+ cursor: pointer;
206
212
  flex-shrink: 0;
207
213
  transition: background var(--smrt-duration-short2, 150ms) var(--smrt-easing-standard, ease);
208
214
  }
209
215
 
210
- .message-input__bar :global(.message-input__send:hover:not(:disabled)) {
216
+ .message-input__send:hover:not(:disabled) {
211
217
  background: color-mix(in srgb, var(--smrt-color-primary, #005ac1) 85%, var(--smrt-color-shadow, #000));
212
218
  }
213
219
 
214
- .message-input__bar :global(.message-input__send:disabled) {
220
+ .message-input__send:disabled {
215
221
  background: var(--smrt-color-surface-container-high, #e1e3e8);
216
222
  color: var(--smrt-color-outline, #74777f);
223
+ cursor: default;
217
224
  }
218
225
  </style>
@@ -1 +1 @@
1
- {"version":3,"file":"MessageInput.svelte.d.ts","sourceRoot":"","sources":["../../../../src/svelte/components/messages/MessageInput.svelte.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,KAAK;IACpB,sCAAsC;IACtC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6CAA6C;IAC7C,OAAO,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACrE,4BAA4B;IAC5B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AA8ED,QAAA,MAAM,YAAY,2CAAwC,CAAC;AAC3D,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AACpD,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"MessageInput.svelte.d.ts","sourceRoot":"","sources":["../../../../src/svelte/components/messages/MessageInput.svelte.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,KAAK;IACpB,sCAAsC;IACtC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6CAA6C;IAC7C,OAAO,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACrE,4BAA4B;IAC5B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AA+ED,QAAA,MAAM,YAAY,2CAAwC,CAAC;AAC3D,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AACpD,eAAe,YAAY,CAAC"}
package/dist/types.d.ts CHANGED
@@ -7,6 +7,8 @@ export type OnlineStatus = 'online' | 'away' | 'dnd' | 'offline';
7
7
  export type ChatMessageType = 'text' | 'system' | 'action' | 'file' | 'tool_call' | 'tool_result';
8
8
  export type ChatMessageRole = 'user' | 'assistant' | 'system' | 'tool';
9
9
  export type AgentSessionStatus = 'active' | 'closed' | 'expired';
10
+ export type VoiceSessionStatus = 'active' | 'expired' | 'revoked';
11
+ export type VoiceGatewayTurnStatus = 'processing' | 'completed' | 'failed';
10
12
  export interface ChatRoomOptions extends SmrtObjectOptions {
11
13
  tenantId?: string;
12
14
  name?: string;
@@ -85,6 +87,34 @@ export interface AgentSessionOptions extends SmrtObjectOptions {
85
87
  expiresAt?: Date | null;
86
88
  closedAt?: Date | null;
87
89
  }
90
+ export interface VoiceSessionOptions extends SmrtObjectOptions {
91
+ tenantId?: string;
92
+ gatewaySessionId?: string;
93
+ actorProfileId?: string;
94
+ actorUserId?: string | null;
95
+ personaId?: string;
96
+ agentSessionId?: string;
97
+ chatRoomId?: string;
98
+ threadId?: string | null;
99
+ target?: string;
100
+ status?: VoiceSessionStatus;
101
+ expiresAt?: Date;
102
+ lastTurnAt?: Date | null;
103
+ lastGatewayTurnId?: string | null;
104
+ personaSnapshot?: Record<string, unknown> | string;
105
+ metadata?: Record<string, unknown> | string;
106
+ processedTurnIds?: string[] | string;
107
+ }
108
+ export interface VoiceGatewayTurnOptions extends SmrtObjectOptions {
109
+ tenantId?: string;
110
+ voiceSessionId?: string;
111
+ gatewaySessionId?: string;
112
+ gatewayTurnId?: string;
113
+ target?: string;
114
+ status?: VoiceGatewayTurnStatus;
115
+ completedAt?: Date | null;
116
+ failedAt?: Date | null;
117
+ }
88
118
  export interface ChatMessageSearchFilters {
89
119
  roomId?: string;
90
120
  threadId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/ui.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE9E,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAgEtD,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,cAqB9B,CAAC"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE9E,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAgEtD,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,cAuB9B,CAAC"}
package/dist/ui.js CHANGED
@@ -75,7 +75,8 @@ var CHAT_MODULE_META = {
75
75
  "ChatMessage",
76
76
  "ChatParticipant",
77
77
  "ChatReaction",
78
- "AgentSession"
78
+ "AgentSession",
79
+ "VoiceSession"
79
80
  ],
80
81
  collections: [
81
82
  "ChatRoomCollection",
@@ -83,7 +84,8 @@ var CHAT_MODULE_META = {
83
84
  "ChatMessageCollection",
84
85
  "ChatParticipantCollection",
85
86
  "ChatReactionCollection",
86
- "AgentSessionCollection"
87
+ "AgentSessionCollection",
88
+ "VoiceSessionCollection"
87
89
  ]
88
90
  };
89
91
  //#endregion
package/dist/ui.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","names":[],"sources":["../src/ui.ts"],"sourcesContent":["import type { ModuleUISlot, SmrtModuleMeta } from '@happyvertical/smrt-types';\n\nexport const CHAT_UI_SLOTS: Record<string, ModuleUISlot> = {\n 'chat-layout': {\n id: 'chat-layout',\n label: 'Chat Layout',\n description: 'Discord/Slack-style chat layout with sidebar',\n icon: 'message-square',\n category: 'display',\n order: 1,\n propsInterface: 'ChatLayoutProps',\n },\n 'room-list': {\n id: 'room-list',\n label: 'Room List',\n description: 'Sidebar room navigation with unread badges',\n icon: 'list',\n category: 'list',\n order: 2,\n propsInterface: 'RoomListProps',\n },\n 'message-list': {\n id: 'message-list',\n label: 'Message List',\n description: 'Scrollable chat message feed',\n icon: 'message-circle',\n category: 'list',\n order: 3,\n propsInterface: 'MessageListProps',\n },\n 'message-input': {\n id: 'message-input',\n label: 'Message Input',\n description: 'Chat message input with attachments',\n icon: 'edit-2',\n category: 'form',\n order: 4,\n propsInterface: 'MessageInputProps',\n },\n 'chat-tabs': {\n id: 'chat-tabs',\n label: 'Chat Tabs',\n description: 'Facebook-style expandable chat tabs',\n icon: 'columns',\n category: 'display',\n order: 5,\n propsInterface: 'ChatTabsProps',\n },\n 'agent-chat': {\n id: 'agent-chat',\n label: 'Agent Chat',\n description: 'Full agent conversation interface',\n icon: 'bot',\n category: 'display',\n order: 6,\n propsInterface: 'AgentChatProps',\n },\n 'thread-panel': {\n id: 'thread-panel',\n label: 'Thread Panel',\n description: 'Threaded conversation side panel',\n icon: 'git-branch',\n category: 'display',\n order: 7,\n propsInterface: 'ThreadPanelProps',\n },\n};\n\nexport const CHAT_MODULE_META: SmrtModuleMeta = {\n name: '@happyvertical/smrt-chat',\n displayName: 'Chat',\n description: 'Real-time chat rooms, DMs, threads, and agent conversations',\n uiSlots: CHAT_UI_SLOTS,\n models: [\n 'ChatRoom',\n 'ChatThread',\n 'ChatMessage',\n 'ChatParticipant',\n 'ChatReaction',\n 'AgentSession',\n ],\n collections: [\n 'ChatRoomCollection',\n 'ChatThreadCollection',\n 'ChatMessageCollection',\n 'ChatParticipantCollection',\n 'ChatReactionCollection',\n 'AgentSessionCollection',\n ],\n};\n"],"mappings":";AAEO,IAAM,gBAA8C;CACzD,eAAe;EACb,IAAI;EACJ,OAAO;EACP,aAAa;EACb,MAAM;EACN,UAAU;EACV,OAAO;EACP,gBAAgB;CAClB;CACA,aAAa;EACX,IAAI;EACJ,OAAO;EACP,aAAa;EACb,MAAM;EACN,UAAU;EACV,OAAO;EACP,gBAAgB;CAClB;CACA,gBAAgB;EACd,IAAI;EACJ,OAAO;EACP,aAAa;EACb,MAAM;EACN,UAAU;EACV,OAAO;EACP,gBAAgB;CAClB;CACA,iBAAiB;EACf,IAAI;EACJ,OAAO;EACP,aAAa;EACb,MAAM;EACN,UAAU;EACV,OAAO;EACP,gBAAgB;CAClB;CACA,aAAa;EACX,IAAI;EACJ,OAAO;EACP,aAAa;EACb,MAAM;EACN,UAAU;EACV,OAAO;EACP,gBAAgB;CAClB;CACA,cAAc;EACZ,IAAI;EACJ,OAAO;EACP,aAAa;EACb,MAAM;EACN,UAAU;EACV,OAAO;EACP,gBAAgB;CAClB;CACA,gBAAgB;EACd,IAAI;EACJ,OAAO;EACP,aAAa;EACb,MAAM;EACN,UAAU;EACV,OAAO;EACP,gBAAgB;CAClB;AACF;AAEO,IAAM,mBAAmC;CAC9C,MAAM;CACN,aAAa;CACb,aAAa;CACb,SAAS;CACT,QAAQ;EACN;EACA;EACA;EACA;EACA;EACA;CACF;CACA,aAAa;EACX;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
1
+ {"version":3,"file":"ui.js","names":[],"sources":["../src/ui.ts"],"sourcesContent":["import type { ModuleUISlot, SmrtModuleMeta } from '@happyvertical/smrt-types';\n\nexport const CHAT_UI_SLOTS: Record<string, ModuleUISlot> = {\n 'chat-layout': {\n id: 'chat-layout',\n label: 'Chat Layout',\n description: 'Discord/Slack-style chat layout with sidebar',\n icon: 'message-square',\n category: 'display',\n order: 1,\n propsInterface: 'ChatLayoutProps',\n },\n 'room-list': {\n id: 'room-list',\n label: 'Room List',\n description: 'Sidebar room navigation with unread badges',\n icon: 'list',\n category: 'list',\n order: 2,\n propsInterface: 'RoomListProps',\n },\n 'message-list': {\n id: 'message-list',\n label: 'Message List',\n description: 'Scrollable chat message feed',\n icon: 'message-circle',\n category: 'list',\n order: 3,\n propsInterface: 'MessageListProps',\n },\n 'message-input': {\n id: 'message-input',\n label: 'Message Input',\n description: 'Chat message input with attachments',\n icon: 'edit-2',\n category: 'form',\n order: 4,\n propsInterface: 'MessageInputProps',\n },\n 'chat-tabs': {\n id: 'chat-tabs',\n label: 'Chat Tabs',\n description: 'Facebook-style expandable chat tabs',\n icon: 'columns',\n category: 'display',\n order: 5,\n propsInterface: 'ChatTabsProps',\n },\n 'agent-chat': {\n id: 'agent-chat',\n label: 'Agent Chat',\n description: 'Full agent conversation interface',\n icon: 'bot',\n category: 'display',\n order: 6,\n propsInterface: 'AgentChatProps',\n },\n 'thread-panel': {\n id: 'thread-panel',\n label: 'Thread Panel',\n description: 'Threaded conversation side panel',\n icon: 'git-branch',\n category: 'display',\n order: 7,\n propsInterface: 'ThreadPanelProps',\n },\n};\n\nexport const CHAT_MODULE_META: SmrtModuleMeta = {\n name: '@happyvertical/smrt-chat',\n displayName: 'Chat',\n description: 'Real-time chat rooms, DMs, threads, and agent conversations',\n uiSlots: CHAT_UI_SLOTS,\n models: [\n 'ChatRoom',\n 'ChatThread',\n 'ChatMessage',\n 'ChatParticipant',\n 'ChatReaction',\n 'AgentSession',\n 'VoiceSession',\n ],\n collections: [\n 'ChatRoomCollection',\n 'ChatThreadCollection',\n 'ChatMessageCollection',\n 'ChatParticipantCollection',\n 'ChatReactionCollection',\n 'AgentSessionCollection',\n 'VoiceSessionCollection',\n ],\n};\n"],"mappings":";AAEO,IAAM,gBAA8C;CACzD,eAAe;EACb,IAAI;EACJ,OAAO;EACP,aAAa;EACb,MAAM;EACN,UAAU;EACV,OAAO;EACP,gBAAgB;CAClB;CACA,aAAa;EACX,IAAI;EACJ,OAAO;EACP,aAAa;EACb,MAAM;EACN,UAAU;EACV,OAAO;EACP,gBAAgB;CAClB;CACA,gBAAgB;EACd,IAAI;EACJ,OAAO;EACP,aAAa;EACb,MAAM;EACN,UAAU;EACV,OAAO;EACP,gBAAgB;CAClB;CACA,iBAAiB;EACf,IAAI;EACJ,OAAO;EACP,aAAa;EACb,MAAM;EACN,UAAU;EACV,OAAO;EACP,gBAAgB;CAClB;CACA,aAAa;EACX,IAAI;EACJ,OAAO;EACP,aAAa;EACb,MAAM;EACN,UAAU;EACV,OAAO;EACP,gBAAgB;CAClB;CACA,cAAc;EACZ,IAAI;EACJ,OAAO;EACP,aAAa;EACb,MAAM;EACN,UAAU;EACV,OAAO;EACP,gBAAgB;CAClB;CACA,gBAAgB;EACd,IAAI;EACJ,OAAO;EACP,aAAa;EACb,MAAM;EACN,UAAU;EACV,OAAO;EACP,gBAAgB;CAClB;AACF;AAEO,IAAM,mBAAmC;CAC9C,MAAM;CACN,aAAa;CACb,aAAa;CACb,SAAS;CACT,QAAQ;EACN;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,aAAa;EACX;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
@@ -0,0 +1,127 @@
1
+ import { AIInterface } from '@happyvertical/ai';
2
+ import { PrincipalAuditSink } from '@happyvertical/smrt-agents';
3
+ import { SmrtClassOptions } from '@happyvertical/smrt-core';
4
+ import { VoiceSession } from './models/VoiceSession.js';
5
+ import { ConversationPersona, PersonaRecallOptions } from './persona-conversation.js';
6
+ import { ChatService } from './services/index.js';
7
+ export declare const SMRT_CHAT_VOICE_TARGET = "smrt:chat";
8
+ export declare const MAX_VOICE_GATEWAY_TEXT_LENGTH = 12000;
9
+ export interface VoiceGatewayTurnMetadata {
10
+ tenantId?: string;
11
+ actorProfileId?: string;
12
+ chatRoomId?: string;
13
+ threadId?: string;
14
+ agentSessionId?: string;
15
+ personaId?: string;
16
+ voiceSessionId?: string;
17
+ source?: string;
18
+ [key: string]: unknown;
19
+ }
20
+ export interface VoiceGatewayTurnPayload {
21
+ session_id: string;
22
+ turn_id: string;
23
+ target: string;
24
+ actor?: string;
25
+ text: string;
26
+ metadata?: VoiceGatewayTurnMetadata;
27
+ }
28
+ export interface VoiceGatewayTurnResponseMetadata {
29
+ tenantId: string;
30
+ chatRoomId: string;
31
+ threadId: string | null;
32
+ agentSessionId: string;
33
+ userMessageId: string;
34
+ assistantMessageId: string | null;
35
+ personaId: string;
36
+ correlationId: string;
37
+ voiceSessionId: string;
38
+ source: string;
39
+ }
40
+ export interface VoiceGatewayTurnResponse {
41
+ session_id: string;
42
+ turn_id: string;
43
+ text: string;
44
+ metadata: VoiceGatewayTurnResponseMetadata;
45
+ }
46
+ export interface CreateVoiceChatSessionOptions {
47
+ chatService: ChatService;
48
+ db: SmrtClassOptions['db'];
49
+ tenantId: string;
50
+ actorProfileId: string;
51
+ actorUserId?: string | null;
52
+ persona: ConversationPersona;
53
+ /** Existing agent session to bind voice to. Omit to create/reuse one. */
54
+ agentSessionId?: string;
55
+ /** Agent profile/session author id when creating a new agent session. */
56
+ agentId?: string;
57
+ /** Optional existing thread within the bound session room. */
58
+ threadId?: string | null;
59
+ /** Stable gateway-level `session_id`. Generated when omitted. */
60
+ gatewaySessionId?: string;
61
+ /** Subject key forwarded to ChatService.createAgentSession(). */
62
+ sessionKey?: string | null;
63
+ /** Voice binding TTL. Ignored when `expiresAt` is supplied. */
64
+ ttlSeconds?: number;
65
+ expiresAt?: Date;
66
+ metadata?: Record<string, unknown>;
67
+ target?: string;
68
+ maxTokens?: number;
69
+ maxMessages?: number;
70
+ instructions?: string;
71
+ }
72
+ export interface VoiceChatSessionCreationResult {
73
+ voiceSession: VoiceSession;
74
+ voiceSessionId: string;
75
+ gatewaySessionId: string;
76
+ expiresAt: Date;
77
+ tenantId: string;
78
+ actorProfileId: string;
79
+ personaId: string;
80
+ agentSessionId: string;
81
+ chatRoomId: string;
82
+ threadId: string | null;
83
+ metadata: VoiceGatewayTurnMetadata;
84
+ }
85
+ export interface HandleVoiceGatewayTurnOptions {
86
+ chatService: ChatService;
87
+ db: SmrtClassOptions['db'];
88
+ ai: AIInterface;
89
+ payload: VoiceGatewayTurnPayload;
90
+ now?: Date;
91
+ historyLimit?: number;
92
+ recall?: PersonaRecallOptions | false;
93
+ model?: string;
94
+ temperature?: number;
95
+ maxTokens?: number;
96
+ maxSteps?: number;
97
+ postgresRls?: boolean;
98
+ audit?: PrincipalAuditSink;
99
+ }
100
+ export interface VoiceGatewayTurnHandlerOptions extends Omit<HandleVoiceGatewayTurnOptions, 'payload'> {
101
+ gatewayToken: string | (() => string | Promise<string>);
102
+ }
103
+ export declare class VoiceGatewayError extends Error {
104
+ readonly status: number;
105
+ readonly code: string;
106
+ constructor(message: string, status: number, code: string);
107
+ }
108
+ export declare class VoiceGatewayBadRequestError extends VoiceGatewayError {
109
+ constructor(message: string);
110
+ }
111
+ export declare class VoiceGatewayUnauthorizedError extends VoiceGatewayError {
112
+ constructor(message?: string);
113
+ }
114
+ export declare class VoiceSessionRejectedError extends VoiceGatewayError {
115
+ constructor(message: string);
116
+ }
117
+ export declare class VoiceSessionExpiredError extends VoiceGatewayError {
118
+ constructor(message?: string);
119
+ }
120
+ export declare class VoiceGatewayReplayError extends VoiceGatewayError {
121
+ constructor(message?: string);
122
+ }
123
+ export declare function createVoiceChatSession(options: CreateVoiceChatSessionOptions): Promise<VoiceChatSessionCreationResult>;
124
+ export declare function handleVoiceGatewayTurn(options: HandleVoiceGatewayTurnOptions): Promise<VoiceGatewayTurnResponse>;
125
+ export declare function createVoiceGatewayTurnHandler(options: VoiceGatewayTurnHandlerOptions): (request: Request) => Promise<Response>;
126
+ export declare function assertVoiceGatewayBearer(headers: Headers, expectedToken: string): Promise<void>;
127
+ //# sourceMappingURL=voice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice.d.ts","sourceRoot":"","sources":["../src/voice.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@happyvertical/smrt-chat",
3
- "version": "0.38.24",
3
+ "version": "0.38.26",
4
4
  "description": "Chat rooms, DMs, threads, and agent conversations for the SMRT framework",
5
5
  "type": "module",
6
6
  "smrtRawPrimitives": "strict",
@@ -58,13 +58,13 @@
58
58
  "dependencies": {
59
59
  "@happyvertical/ai": "^0.78.0",
60
60
  "@happyvertical/sql": "^0.78.0",
61
- "@happyvertical/smrt-agents": "0.38.24",
62
- "@happyvertical/smrt-core": "0.38.24",
63
- "@happyvertical/smrt-personas": "0.38.24",
64
- "@happyvertical/smrt-tenancy": "0.38.24",
65
- "@happyvertical/smrt-types": "0.38.24",
66
- "@happyvertical/smrt-ui": "0.38.24",
67
- "@happyvertical/smrt-users": "0.38.24"
61
+ "@happyvertical/smrt-agents": "0.38.26",
62
+ "@happyvertical/smrt-core": "0.38.26",
63
+ "@happyvertical/smrt-personas": "0.38.26",
64
+ "@happyvertical/smrt-types": "0.38.26",
65
+ "@happyvertical/smrt-tenancy": "0.38.26",
66
+ "@happyvertical/smrt-ui": "0.38.26",
67
+ "@happyvertical/smrt-users": "0.38.26"
68
68
  },
69
69
  "peerDependencies": {
70
70
  "svelte": "^5.56.4"
@@ -75,6 +75,7 @@
75
75
  }
76
76
  },
77
77
  "devDependencies": {
78
+ "@sveltejs/kit": "^2.69.1",
78
79
  "@sveltejs/package": "^2.5.8",
79
80
  "@sveltejs/vite-plugin-svelte": "^7.1.2",
80
81
  "@types/node": "24.13.2",
@@ -84,17 +85,18 @@
84
85
  "typescript": "^5.9.3",
85
86
  "vite": "^8.1.3",
86
87
  "vitest": "^4.1.9",
87
- "@happyvertical/smrt-profiles": "0.38.24",
88
- "@happyvertical/smrt-vitest": "0.38.24"
88
+ "@happyvertical/smrt-playground": "0.38.26",
89
+ "@happyvertical/smrt-profiles": "0.38.26",
90
+ "@happyvertical/smrt-vitest": "0.38.26"
89
91
  },
90
92
  "scripts": {
91
- "build": "vite build --mode library && svelte-package -i src/svelte -o dist/svelte --tsconfig tsconfig.svelte.json",
93
+ "build": "SMRT_PACKAGE_BUILD=1 vite build --mode library && SMRT_PACKAGE_BUILD=1 svelte-package -i src/svelte -o dist/svelte --tsconfig tsconfig.svelte.json",
92
94
  "build:watch": "vite build --mode library --watch",
93
95
  "clean": "rm -rf dist",
94
- "dev": "npm run build:watch",
96
+ "dev": "vite dev",
95
97
  "test": "vitest run",
96
- "typecheck": "tsc --noEmit && node ../../scripts/svelte-check-a11y.mjs --tsconfig ./tsconfig.svelte.json",
97
- "check": "pnpm exec svelte-check --tsconfig ./tsconfig.svelte.json",
98
+ "typecheck": "svelte-kit sync && tsc -p tsconfig.typecheck.json && node ../../scripts/svelte-check-a11y.mjs --tsconfig ./tsconfig.kit.json",
99
+ "check": "svelte-kit sync && pnpm exec svelte-check --tsconfig ./tsconfig.kit.json",
98
100
  "verify:pack": "node ../../scripts/verify-package-types-exports.js ."
99
101
  }
100
102
  }