@shogo-ai/voice 1.10.0 → 2.4.1

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 (68) hide show
  1. package/README.md +89 -0
  2. package/dist/{chunk-S3S2RNO6.js → chunk-BI6SL35K.js} +1 -184
  3. package/dist/chunk-CLF25CZC.js +987 -0
  4. package/dist/chunk-KMSL5PWK.js +540 -0
  5. package/dist/chunk-ME3SIZZU.js +581 -0
  6. package/dist/chunk-TQOBJMEK.js +17 -0
  7. package/dist/{chunk-T3T4EBWY.js → chunk-UH75UVM2.js} +6 -2
  8. package/dist/chunk-UW7VQ3S6.js +148 -0
  9. package/dist/chunk-XE4LLC7Z.js +1067 -0
  10. package/dist/chunk-ZAW6F3YT.js +172 -0
  11. package/dist/index.cjs +735 -25
  12. package/dist/index.d.cts +373 -3
  13. package/dist/index.d.ts +373 -3
  14. package/dist/index.js +59 -3
  15. package/dist/live/client.cjs +173 -0
  16. package/dist/live/client.d.cts +132 -0
  17. package/dist/live/client.d.ts +132 -0
  18. package/dist/live/client.js +9 -0
  19. package/dist/native/index.d.cts +5 -2
  20. package/dist/native/index.d.ts +5 -2
  21. package/dist/native/index.js +15 -11
  22. package/dist/{organicParticlesShaders-DIva0vBO.d.ts → organicParticlesShaders-seZq7jYX.d.cts} +1 -421
  23. package/dist/{organicParticlesShaders-DIva0vBO.d.cts → organicParticlesShaders-seZq7jYX.d.ts} +1 -421
  24. package/dist/particlesConfig-0YbdPOdY.d.cts +223 -0
  25. package/dist/particlesConfig-0YbdPOdY.d.ts +223 -0
  26. package/dist/react/conversation.cjs +789 -0
  27. package/dist/react/conversation.d.cts +134 -0
  28. package/dist/react/conversation.d.ts +134 -0
  29. package/dist/react/conversation.js +13 -0
  30. package/dist/react/index.cjs +374 -36
  31. package/dist/react/index.d.cts +10 -141
  32. package/dist/react/index.d.ts +10 -141
  33. package/dist/react/index.js +23 -770
  34. package/dist/react/visuals.cjs +1048 -0
  35. package/dist/react/visuals.d.cts +70 -0
  36. package/dist/react/visuals.d.ts +70 -0
  37. package/dist/react/visuals.js +10 -0
  38. package/dist/route/agent.cjs +1038 -85
  39. package/dist/route/agent.js +3 -3
  40. package/dist/route/audio-tags.cjs +1038 -85
  41. package/dist/route/audio-tags.js +3 -3
  42. package/dist/route/index.cjs +1042 -85
  43. package/dist/route/index.d.cts +19 -3
  44. package/dist/route/index.d.ts +19 -3
  45. package/dist/route/index.js +3 -3
  46. package/dist/route/music.cjs +1038 -85
  47. package/dist/route/music.js +3 -3
  48. package/dist/route/op.cjs +2118 -0
  49. package/dist/route/op.d.cts +43 -0
  50. package/dist/route/op.d.ts +43 -0
  51. package/dist/route/op.js +27 -0
  52. package/dist/route/signed-url.cjs +1038 -85
  53. package/dist/route/signed-url.js +3 -3
  54. package/dist/route/tts-preview.cjs +1038 -85
  55. package/dist/route/tts-preview.d.cts +6 -4
  56. package/dist/route/tts-preview.d.ts +6 -4
  57. package/dist/route/tts-preview.js +3 -3
  58. package/dist/server.cjs +1038 -85
  59. package/dist/server.d.cts +40 -8
  60. package/dist/server.d.ts +40 -8
  61. package/dist/server.js +2 -2
  62. package/dist/types-Bfhu-aQH.d.cts +199 -0
  63. package/dist/types-Bfhu-aQH.d.ts +199 -0
  64. package/dist/{types-W9y6eMj3.d.ts → types-CadjTXNH.d.cts} +193 -12
  65. package/dist/{types-W9y6eMj3.d.cts → types-CadjTXNH.d.ts} +193 -12
  66. package/package.json +21 -1
  67. package/dist/chunk-B4JC3DK2.js +0 -529
  68. package/dist/chunk-O362EJQR.js +0 -524
@@ -1,36 +1,13 @@
1
- import { B as BaseVoiceConversationOptions, a as BaseVoiceConversationResult, b as BaseChatConversationOptions, c as BaseChatConversationResult, O as OrganicSphereConfig, d as OrganicParticlesConfig } from '../organicParticlesShaders-DIva0vBO.cjs';
2
- export { e as BandReactivity, C as ChatClientToolFn, f as ChatConversationStatus, g as ChatToolDescriptor, D as DEFAULT_ORGANIC_PARTICLES_CONFIG, h as DEFAULT_ORGANIC_SPHERE_CONFIG, i as ORGANIC_PARTICLES_FRAGMENT_SHADER, j as ORGANIC_PARTICLES_VERTEX_SHADER, k as ORGANIC_SPHERE_FRAGMENT_SHADER, l as ORGANIC_SPHERE_VERTEX_SHADER, P as PERLIN_4D, r as resolveOrganicParticlesConfig, m as resolveOrganicSphereConfig } from '../organicParticlesShaders-DIva0vBO.cjs';
3
- import * as React from 'react';
4
- import React__default from 'react';
5
- import * as react_jsx_runtime from 'react/jsx-runtime';
1
+ import { UseVoiceConversationOptions, UseVoiceConversationResult } from './conversation.cjs';
2
+ export { LiveDelegationRequest, LiveTranscriptTurn, LiveVoiceSessionResponse, ShogoVoiceProvider, ShogoVoiceProviderProps, UseLiveVoiceConversationOptions, UseLiveVoiceConversationResult, useLiveVoiceConversation, useVoiceConversation } from './conversation.cjs';
3
+ import { B as BaseChatConversationOptions, a as BaseChatConversationResult } from '../organicParticlesShaders-seZq7jYX.cjs';
4
+ export { C as ChatClientToolFn, b as ChatConversationStatus, c as ChatToolDescriptor, O as ORGANIC_PARTICLES_FRAGMENT_SHADER, d as ORGANIC_PARTICLES_VERTEX_SHADER, e as ORGANIC_SPHERE_FRAGMENT_SHADER, f as ORGANIC_SPHERE_VERTEX_SHADER, P as PERLIN_4D } from '../organicParticlesShaders-seZq7jYX.cjs';
5
+ export { OrganicParticles, OrganicParticlesProps, OrganicSphere, OrganicSphereProps } from './visuals.cjs';
6
+ export { B as BandReactivity, D as DEFAULT_ORGANIC_PARTICLES_CONFIG, a as DEFAULT_ORGANIC_SPHERE_CONFIG, O as OrganicParticlesConfig, b as OrganicSphereConfig, r as resolveOrganicParticlesConfig, c as resolveOrganicSphereConfig } from '../particlesConfig-0YbdPOdY.cjs';
7
+ import '../types-Bfhu-aQH.cjs';
8
+ import 'react';
6
9
  import 'ai';
7
-
8
- /**
9
- * `useVoiceConversation` (web) — drop-in React hook wrapping
10
- * `@elevenlabs/react`'s `useConversation` with batteries included:
11
- *
12
- * 1. Fetches a signed URL from the consumer's server (default: `/api/voice/signed-url`).
13
- * 2. Registers the canonical `add_memory` client tool (POST-es to `/api/memory/add`).
14
- * 3. Auto-injects relevant memory as a contextual update on each user message
15
- * (POST `/api/memory/retrieve`).
16
- * 4. Accumulates a plain-text transcript and calls `onTranscript` on disconnect,
17
- * plus a `pagehide` `navigator.sendBeacon` fallback so nothing is lost on
18
- * tab close.
19
- *
20
- * Consumers can mix in additional `clientTools` and override every path.
21
- *
22
- * Requires the caller's app to have `@elevenlabs/react` installed (optional
23
- * peer dependency). For React Native, import from
24
- * `@shogo-ai/sdk/voice/native` instead.
25
- */
26
-
27
- type UseVoiceConversationOptions = BaseVoiceConversationOptions;
28
- type UseVoiceConversationResult = BaseVoiceConversationResult;
29
- /**
30
- * Hook that owns the voice session lifecycle end-to-end. See module docblock
31
- * for the wire format of the various server endpoints.
32
- */
33
- declare function useVoiceConversation(options: UseVoiceConversationOptions): UseVoiceConversationResult;
10
+ import 'react/jsx-runtime';
34
11
 
35
12
  /**
36
13
  * `useShogoVoice` — zero-config voice hook for generated pod apps.
@@ -312,112 +289,4 @@ declare function useChatConversation(options?: UseChatConversationOptions): UseC
312
289
  type UseShogoChatOptions = Partial<UseChatConversationOptions>;
313
290
  declare function useShogoChat(opts?: UseShogoChatOptions): UseChatConversationResult;
314
291
 
315
- /**
316
- * `ShogoVoiceProvider` — root provider that every `useShogoVoice` /
317
- * `useVoiceConversation` caller needs to live under.
318
- *
319
- * Why this exists
320
- * ---------------
321
- * `@elevenlabs/react` ≥ 1.1 split `useConversation` into a
322
- * provider-backed API: every caller of the hook (and therefore every
323
- * caller of our `useVoiceConversation` / `useShogoVoice` wrapper) must
324
- * have a `<ConversationProvider>` somewhere above it in the tree.
325
- * Without it the underlying `useRegisterCallbacks` throws:
326
- *
327
- * useRegisterCallbacks must be used within a ConversationProvider
328
- *
329
- * Re-exporting the provider here keeps consumer code free of a direct
330
- * `@elevenlabs/react` import — pods only ever import from
331
- * `@shogo-ai/sdk/voice/react`, which means we can swap providers (or
332
- * upgrade across breaking versions) without touching every app.
333
- *
334
- * Usage
335
- * -----
336
- * Wrap the SDK's voice-aware tree once, near the root of your app:
337
- *
338
- * ```tsx
339
- * import { ShogoVoiceProvider } from '@shogo-ai/sdk/voice/react'
340
- *
341
- * export default function Root({ children }: { children: React.ReactNode }) {
342
- * return <ShogoVoiceProvider>{children}</ShogoVoiceProvider>
343
- * }
344
- * ```
345
- *
346
- * One provider is enough for an entire app — sibling components that
347
- * use the voice hook share the same underlying convai session context.
348
- * Mounting multiple providers is supported but isolates their
349
- * sessions, so do that intentionally (e.g. two completely separate
350
- * voice surfaces in one shell).
351
- */
352
-
353
- interface ShogoVoiceProviderProps {
354
- children: React.ReactNode;
355
- }
356
- declare function ShogoVoiceProvider(props: ShogoVoiceProviderProps): React.ReactElement;
357
-
358
- interface OrganicSphereProps {
359
- /**
360
- * Returns the current agent-output frequency buffer (length = fftSize,
361
- * values 0–255). Typically `useVoiceConversation().getOutputByteFrequencyData`.
362
- *
363
- * Can also be pointed at `analyserNode.getByteFrequencyData` from any
364
- * WebAudio graph for non-ElevenLabs callers.
365
- */
366
- getFrequencyData?: () => Uint8Array | null;
367
- /**
368
- * Whether audio is live. When `false` the sphere settles into its
369
- * idle pose (no pulsing). Purely cosmetic — the component keeps the
370
- * render loop running either way.
371
- *
372
- * @default true
373
- */
374
- active?: boolean;
375
- /**
376
- * Full configuration object (partial). Any unspecified keys fall back
377
- * to `DEFAULT_ORGANIC_SPHERE_CONFIG`. Individual convenience props
378
- * below (e.g. `lightAColor`) take precedence over the same key inside
379
- * `config`, so you can combine a base preset with a single override.
380
- */
381
- config?: Partial<OrganicSphereConfig>;
382
- /** Overrides `config.lightAColor`. */
383
- lightAColor?: string;
384
- /** Overrides `config.lightBColor`. */
385
- lightBColor?: string;
386
- /** Overrides `config.rimColor`. */
387
- rimColor?: string;
388
- /** Overrides `config.rimThreshold`. */
389
- rimThreshold?: number;
390
- /** Overrides `config.rimPower`. */
391
- rimPower?: number;
392
- /** Overrides `config.backgroundColor`. */
393
- backgroundColor?: string | null;
394
- /** Overrides `config.subdivisions` (re-init on change). */
395
- subdivisions?: number;
396
- /** Overrides `config.maxPixelRatio` (re-init on change). */
397
- maxPixelRatio?: number;
398
- /**
399
- * Extra classes merged onto the wrapping `<div>`. Size the parent
400
- * element; the canvas fills it.
401
- */
402
- className?: string;
403
- /** Inline style override for the wrapping `<div>`. */
404
- style?: React__default.CSSProperties;
405
- }
406
- /**
407
- * Audio-reactive organic sphere. See the module docblock for usage.
408
- */
409
- declare function OrganicSphere({ getFrequencyData, active, config: configProp, lightAColor, lightBColor, rimColor, rimThreshold, rimPower, backgroundColor, subdivisions, maxPixelRatio, className, style, }: OrganicSphereProps): react_jsx_runtime.JSX.Element;
410
-
411
- interface OrganicParticlesProps {
412
- getFrequencyData?: () => Uint8Array | null;
413
- active?: boolean;
414
- config?: Partial<OrganicParticlesConfig>;
415
- className?: string;
416
- style?: React__default.CSSProperties;
417
- }
418
- /**
419
- * Audio-reactive particle cloud. See the module docblock for usage.
420
- */
421
- declare function OrganicParticles({ getFrequencyData, active, config: configProp, className, style, }: OrganicParticlesProps): react_jsx_runtime.JSX.Element;
422
-
423
- export { BaseChatConversationOptions, BaseChatConversationResult, OrganicParticles, OrganicParticlesConfig, type OrganicParticlesProps, OrganicSphere, OrganicSphereConfig, type OrganicSphereProps, ShogoVoiceProvider, type ShogoVoiceProviderProps, type UseChatConversationOptions, type UseChatConversationResult, type UseShogoChatOptions, type UseShogoVoiceOptions, type UseVoiceConversationOptions, type UseVoiceConversationResult, useChatConversation, useShogoChat, useShogoVoice, useVoiceConversation };
292
+ export { BaseChatConversationOptions, BaseChatConversationResult, type UseChatConversationOptions, type UseChatConversationResult, type UseShogoChatOptions, type UseShogoVoiceOptions, UseVoiceConversationOptions, UseVoiceConversationResult, useChatConversation, useShogoChat, useShogoVoice };
@@ -1,36 +1,13 @@
1
- import { B as BaseVoiceConversationOptions, a as BaseVoiceConversationResult, b as BaseChatConversationOptions, c as BaseChatConversationResult, O as OrganicSphereConfig, d as OrganicParticlesConfig } from '../organicParticlesShaders-DIva0vBO.js';
2
- export { e as BandReactivity, C as ChatClientToolFn, f as ChatConversationStatus, g as ChatToolDescriptor, D as DEFAULT_ORGANIC_PARTICLES_CONFIG, h as DEFAULT_ORGANIC_SPHERE_CONFIG, i as ORGANIC_PARTICLES_FRAGMENT_SHADER, j as ORGANIC_PARTICLES_VERTEX_SHADER, k as ORGANIC_SPHERE_FRAGMENT_SHADER, l as ORGANIC_SPHERE_VERTEX_SHADER, P as PERLIN_4D, r as resolveOrganicParticlesConfig, m as resolveOrganicSphereConfig } from '../organicParticlesShaders-DIva0vBO.js';
3
- import * as React from 'react';
4
- import React__default from 'react';
5
- import * as react_jsx_runtime from 'react/jsx-runtime';
1
+ import { UseVoiceConversationOptions, UseVoiceConversationResult } from './conversation.js';
2
+ export { LiveDelegationRequest, LiveTranscriptTurn, LiveVoiceSessionResponse, ShogoVoiceProvider, ShogoVoiceProviderProps, UseLiveVoiceConversationOptions, UseLiveVoiceConversationResult, useLiveVoiceConversation, useVoiceConversation } from './conversation.js';
3
+ import { B as BaseChatConversationOptions, a as BaseChatConversationResult } from '../organicParticlesShaders-seZq7jYX.js';
4
+ export { C as ChatClientToolFn, b as ChatConversationStatus, c as ChatToolDescriptor, O as ORGANIC_PARTICLES_FRAGMENT_SHADER, d as ORGANIC_PARTICLES_VERTEX_SHADER, e as ORGANIC_SPHERE_FRAGMENT_SHADER, f as ORGANIC_SPHERE_VERTEX_SHADER, P as PERLIN_4D } from '../organicParticlesShaders-seZq7jYX.js';
5
+ export { OrganicParticles, OrganicParticlesProps, OrganicSphere, OrganicSphereProps } from './visuals.js';
6
+ export { B as BandReactivity, D as DEFAULT_ORGANIC_PARTICLES_CONFIG, a as DEFAULT_ORGANIC_SPHERE_CONFIG, O as OrganicParticlesConfig, b as OrganicSphereConfig, r as resolveOrganicParticlesConfig, c as resolveOrganicSphereConfig } from '../particlesConfig-0YbdPOdY.js';
7
+ import '../types-Bfhu-aQH.js';
8
+ import 'react';
6
9
  import 'ai';
7
-
8
- /**
9
- * `useVoiceConversation` (web) — drop-in React hook wrapping
10
- * `@elevenlabs/react`'s `useConversation` with batteries included:
11
- *
12
- * 1. Fetches a signed URL from the consumer's server (default: `/api/voice/signed-url`).
13
- * 2. Registers the canonical `add_memory` client tool (POST-es to `/api/memory/add`).
14
- * 3. Auto-injects relevant memory as a contextual update on each user message
15
- * (POST `/api/memory/retrieve`).
16
- * 4. Accumulates a plain-text transcript and calls `onTranscript` on disconnect,
17
- * plus a `pagehide` `navigator.sendBeacon` fallback so nothing is lost on
18
- * tab close.
19
- *
20
- * Consumers can mix in additional `clientTools` and override every path.
21
- *
22
- * Requires the caller's app to have `@elevenlabs/react` installed (optional
23
- * peer dependency). For React Native, import from
24
- * `@shogo-ai/sdk/voice/native` instead.
25
- */
26
-
27
- type UseVoiceConversationOptions = BaseVoiceConversationOptions;
28
- type UseVoiceConversationResult = BaseVoiceConversationResult;
29
- /**
30
- * Hook that owns the voice session lifecycle end-to-end. See module docblock
31
- * for the wire format of the various server endpoints.
32
- */
33
- declare function useVoiceConversation(options: UseVoiceConversationOptions): UseVoiceConversationResult;
10
+ import 'react/jsx-runtime';
34
11
 
35
12
  /**
36
13
  * `useShogoVoice` — zero-config voice hook for generated pod apps.
@@ -312,112 +289,4 @@ declare function useChatConversation(options?: UseChatConversationOptions): UseC
312
289
  type UseShogoChatOptions = Partial<UseChatConversationOptions>;
313
290
  declare function useShogoChat(opts?: UseShogoChatOptions): UseChatConversationResult;
314
291
 
315
- /**
316
- * `ShogoVoiceProvider` — root provider that every `useShogoVoice` /
317
- * `useVoiceConversation` caller needs to live under.
318
- *
319
- * Why this exists
320
- * ---------------
321
- * `@elevenlabs/react` ≥ 1.1 split `useConversation` into a
322
- * provider-backed API: every caller of the hook (and therefore every
323
- * caller of our `useVoiceConversation` / `useShogoVoice` wrapper) must
324
- * have a `<ConversationProvider>` somewhere above it in the tree.
325
- * Without it the underlying `useRegisterCallbacks` throws:
326
- *
327
- * useRegisterCallbacks must be used within a ConversationProvider
328
- *
329
- * Re-exporting the provider here keeps consumer code free of a direct
330
- * `@elevenlabs/react` import — pods only ever import from
331
- * `@shogo-ai/sdk/voice/react`, which means we can swap providers (or
332
- * upgrade across breaking versions) without touching every app.
333
- *
334
- * Usage
335
- * -----
336
- * Wrap the SDK's voice-aware tree once, near the root of your app:
337
- *
338
- * ```tsx
339
- * import { ShogoVoiceProvider } from '@shogo-ai/sdk/voice/react'
340
- *
341
- * export default function Root({ children }: { children: React.ReactNode }) {
342
- * return <ShogoVoiceProvider>{children}</ShogoVoiceProvider>
343
- * }
344
- * ```
345
- *
346
- * One provider is enough for an entire app — sibling components that
347
- * use the voice hook share the same underlying convai session context.
348
- * Mounting multiple providers is supported but isolates their
349
- * sessions, so do that intentionally (e.g. two completely separate
350
- * voice surfaces in one shell).
351
- */
352
-
353
- interface ShogoVoiceProviderProps {
354
- children: React.ReactNode;
355
- }
356
- declare function ShogoVoiceProvider(props: ShogoVoiceProviderProps): React.ReactElement;
357
-
358
- interface OrganicSphereProps {
359
- /**
360
- * Returns the current agent-output frequency buffer (length = fftSize,
361
- * values 0–255). Typically `useVoiceConversation().getOutputByteFrequencyData`.
362
- *
363
- * Can also be pointed at `analyserNode.getByteFrequencyData` from any
364
- * WebAudio graph for non-ElevenLabs callers.
365
- */
366
- getFrequencyData?: () => Uint8Array | null;
367
- /**
368
- * Whether audio is live. When `false` the sphere settles into its
369
- * idle pose (no pulsing). Purely cosmetic — the component keeps the
370
- * render loop running either way.
371
- *
372
- * @default true
373
- */
374
- active?: boolean;
375
- /**
376
- * Full configuration object (partial). Any unspecified keys fall back
377
- * to `DEFAULT_ORGANIC_SPHERE_CONFIG`. Individual convenience props
378
- * below (e.g. `lightAColor`) take precedence over the same key inside
379
- * `config`, so you can combine a base preset with a single override.
380
- */
381
- config?: Partial<OrganicSphereConfig>;
382
- /** Overrides `config.lightAColor`. */
383
- lightAColor?: string;
384
- /** Overrides `config.lightBColor`. */
385
- lightBColor?: string;
386
- /** Overrides `config.rimColor`. */
387
- rimColor?: string;
388
- /** Overrides `config.rimThreshold`. */
389
- rimThreshold?: number;
390
- /** Overrides `config.rimPower`. */
391
- rimPower?: number;
392
- /** Overrides `config.backgroundColor`. */
393
- backgroundColor?: string | null;
394
- /** Overrides `config.subdivisions` (re-init on change). */
395
- subdivisions?: number;
396
- /** Overrides `config.maxPixelRatio` (re-init on change). */
397
- maxPixelRatio?: number;
398
- /**
399
- * Extra classes merged onto the wrapping `<div>`. Size the parent
400
- * element; the canvas fills it.
401
- */
402
- className?: string;
403
- /** Inline style override for the wrapping `<div>`. */
404
- style?: React__default.CSSProperties;
405
- }
406
- /**
407
- * Audio-reactive organic sphere. See the module docblock for usage.
408
- */
409
- declare function OrganicSphere({ getFrequencyData, active, config: configProp, lightAColor, lightBColor, rimColor, rimThreshold, rimPower, backgroundColor, subdivisions, maxPixelRatio, className, style, }: OrganicSphereProps): react_jsx_runtime.JSX.Element;
410
-
411
- interface OrganicParticlesProps {
412
- getFrequencyData?: () => Uint8Array | null;
413
- active?: boolean;
414
- config?: Partial<OrganicParticlesConfig>;
415
- className?: string;
416
- style?: React__default.CSSProperties;
417
- }
418
- /**
419
- * Audio-reactive particle cloud. See the module docblock for usage.
420
- */
421
- declare function OrganicParticles({ getFrequencyData, active, config: configProp, className, style, }: OrganicParticlesProps): react_jsx_runtime.JSX.Element;
422
-
423
- export { BaseChatConversationOptions, BaseChatConversationResult, OrganicParticles, OrganicParticlesConfig, type OrganicParticlesProps, OrganicSphere, OrganicSphereConfig, type OrganicSphereProps, ShogoVoiceProvider, type ShogoVoiceProviderProps, type UseChatConversationOptions, type UseChatConversationResult, type UseShogoChatOptions, type UseShogoVoiceOptions, type UseVoiceConversationOptions, type UseVoiceConversationResult, useChatConversation, useShogoChat, useShogoVoice, useVoiceConversation };
292
+ export { BaseChatConversationOptions, BaseChatConversationResult, type UseChatConversationOptions, type UseChatConversationResult, type UseShogoChatOptions, type UseShogoVoiceOptions, UseVoiceConversationOptions, UseVoiceConversationResult, useChatConversation, useShogoChat, useShogoVoice };