@shogo-ai/voice 1.10.0 → 2.4.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.
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-IOFWML5L.js +1078 -0
  4. package/dist/chunk-KMSL5PWK.js +540 -0
  5. package/dist/chunk-ME3SIZZU.js +581 -0
  6. package/dist/{chunk-T3T4EBWY.js → chunk-RALZRMFL.js} +6 -2
  7. package/dist/chunk-TQOBJMEK.js +17 -0
  8. package/dist/chunk-U5UC7ZVS.js +988 -0
  9. package/dist/chunk-UW7VQ3S6.js +148 -0
  10. package/dist/chunk-ZAW6F3YT.js +172 -0
  11. package/dist/index.cjs +748 -25
  12. package/dist/index.d.cts +396 -3
  13. package/dist/index.d.ts +396 -3
  14. package/dist/index.js +63 -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 +1047 -85
  39. package/dist/route/agent.js +3 -3
  40. package/dist/route/audio-tags.cjs +1047 -85
  41. package/dist/route/audio-tags.js +3 -3
  42. package/dist/route/index.cjs +1051 -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 +1047 -85
  47. package/dist/route/music.js +3 -3
  48. package/dist/route/op.cjs +2127 -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 +1047 -85
  53. package/dist/route/signed-url.js +3 -3
  54. package/dist/route/tts-preview.cjs +1047 -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 +1047 -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
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/live/client.ts
21
+ var client_exports = {};
22
+ __export(client_exports, {
23
+ LiveSession: () => LiveSession,
24
+ ShogoLiveClient: () => ShogoLiveClient
25
+ });
26
+ module.exports = __toCommonJS(client_exports);
27
+ function encodeAudio(audio) {
28
+ if (typeof btoa === "function") {
29
+ let binary = "";
30
+ for (let i = 0; i < audio.length; i += 32768) {
31
+ binary += String.fromCharCode(...audio.subarray(i, i + 32768));
32
+ }
33
+ return btoa(binary);
34
+ }
35
+ const BufferImpl = globalThis.Buffer;
36
+ if (BufferImpl) return BufferImpl.from(audio).toString("base64");
37
+ throw new Error("Base64 encoding is unavailable in this runtime");
38
+ }
39
+ function normalizeBaseUrl(value) {
40
+ return value.replace(/\/+$/, "");
41
+ }
42
+ var LiveSession = class {
43
+ constructor(socket, initialSession) {
44
+ this.socket = socket;
45
+ this.initialSession = initialSession;
46
+ this.handlers = /* @__PURE__ */ new Map();
47
+ this.closed = false;
48
+ this.latestUsageSeconds = 0;
49
+ this.startedPromise = new Promise((resolve, reject) => {
50
+ this.resolveStarted = resolve;
51
+ this.rejectStarted = reject;
52
+ });
53
+ this.started = this.startedPromise;
54
+ this.closedPromise = new Promise((resolve) => {
55
+ this.resolveClosed = resolve;
56
+ });
57
+ socket.addEventListener("message", (message) => {
58
+ const raw = typeof message.data === "string" ? message.data : "";
59
+ if (!raw) return;
60
+ let event;
61
+ try {
62
+ event = JSON.parse(raw);
63
+ } catch {
64
+ return;
65
+ }
66
+ if (event.type === "session.started") this.resolveStarted(event);
67
+ if (event.type === "session.usage.updated") {
68
+ const seconds = event.usage?.seconds;
69
+ if (typeof seconds === "number") this.latestUsageSeconds = seconds;
70
+ }
71
+ if (event.type === "session.closed") {
72
+ this.closed = true;
73
+ this.resolveClosed(event);
74
+ }
75
+ if (event.type === "error" && !this.closed) {
76
+ const messageText = String(event.error?.message || "Live session error");
77
+ this.rejectStarted(new Error(messageText));
78
+ }
79
+ for (const handler of this.handlers.get(String(event.type)) ?? []) handler(event);
80
+ for (const handler of this.handlers.get("*") ?? []) handler(event);
81
+ });
82
+ socket.addEventListener("close", () => {
83
+ if (!this.closed) this.resolveClosed();
84
+ });
85
+ socket.addEventListener("error", () => {
86
+ if (!this.closed) this.rejectStarted(new Error("Live session WebSocket error"));
87
+ });
88
+ socket.addEventListener("open", () => {
89
+ if (initialSession) this.send({ type: "session.start", session: initialSession });
90
+ });
91
+ }
92
+ on(eventType, handler) {
93
+ const handlers = this.handlers.get(eventType) ?? /* @__PURE__ */ new Set();
94
+ handlers.add(handler);
95
+ this.handlers.set(eventType, handlers);
96
+ return () => handlers.delete(handler);
97
+ }
98
+ send(event) {
99
+ if (this.closed) throw new Error("Live session is closed");
100
+ this.socket.send(JSON.stringify(event));
101
+ }
102
+ appendAudio(audio) {
103
+ this.send({
104
+ type: "session.input_audio.append",
105
+ audio: typeof audio === "string" ? audio : encodeAudio(audio)
106
+ });
107
+ }
108
+ async close(timeoutMs = 15e3) {
109
+ if (this.closed) return;
110
+ if (this.socket.readyState === 1) this.send({ type: "session.close" });
111
+ const timeout = new Promise((resolve) => setTimeout(resolve, timeoutMs));
112
+ const result = await Promise.race([this.closedPromise, timeout]);
113
+ if (!this.closed) this.socket.close();
114
+ return result;
115
+ }
116
+ };
117
+ var ShogoLiveClient = class {
118
+ constructor(options) {
119
+ if (!!options.apiKey === !!options.runtimeToken) {
120
+ throw new Error("ShogoLiveClient requires exactly one of apiKey or runtimeToken.");
121
+ }
122
+ this.apiUrl = normalizeBaseUrl(options.apiUrl);
123
+ this.token = options.apiKey ?? options.runtimeToken;
124
+ this.fetchImpl = options.fetch ?? globalThis.fetch;
125
+ this.WebSocketImpl = options.WebSocket ?? globalThis.WebSocket;
126
+ if (typeof this.fetchImpl !== "function") throw new Error("fetch is unavailable");
127
+ if (typeof this.WebSocketImpl !== "function") throw new Error("WebSocket is unavailable");
128
+ }
129
+ httpUrl(path) {
130
+ return `${this.apiUrl}${path}`;
131
+ }
132
+ wsUrl(path) {
133
+ return this.httpUrl(path).replace(/^http/, "ws");
134
+ }
135
+ protocols() {
136
+ return ["shogo-live", `shogo-insecure-api-key.${this.token}`];
137
+ }
138
+ connect(session) {
139
+ const socket = new this.WebSocketImpl(this.wsUrl("/api/ai/v1/live/sessions"), this.protocols());
140
+ return new LiveSession(socket, session);
141
+ }
142
+ attach(sessionId) {
143
+ const socket = new this.WebSocketImpl(
144
+ this.wsUrl(`/api/ai/v1/live/sessions/${encodeURIComponent(sessionId)}/attach`),
145
+ this.protocols()
146
+ );
147
+ return new LiveSession(socket);
148
+ }
149
+ async createWebRtcSession(input) {
150
+ const response = await this.fetchImpl(this.httpUrl("/api/ai/v1/live/sessions"), {
151
+ method: "POST",
152
+ headers: {
153
+ Authorization: `Bearer ${this.token}`,
154
+ "Content-Type": "application/json"
155
+ },
156
+ body: JSON.stringify({
157
+ session: input.session,
158
+ transport: { type: "webrtc", sdp: input.sdp }
159
+ })
160
+ });
161
+ const body = await response.json();
162
+ if (!response.ok) {
163
+ throw new Error(body?.error?.message || `Live session creation failed (${response.status})`);
164
+ }
165
+ return body;
166
+ }
167
+ };
168
+ // Annotate the CommonJS export names for ESM import in node:
169
+ 0 && (module.exports = {
170
+ LiveSession,
171
+ ShogoLiveClient
172
+ });
173
+ //# sourceMappingURL=client.cjs.map
@@ -0,0 +1,132 @@
1
+ interface LiveAudioConfig {
2
+ format?: {
3
+ type: 'audio/pcm' | 'audio/pcmu' | 'audio/pcma';
4
+ rate: number;
5
+ };
6
+ output?: {
7
+ voice?: string;
8
+ [key: string]: unknown;
9
+ };
10
+ [key: string]: unknown;
11
+ }
12
+ interface LiveResponsesDelegation {
13
+ model: string;
14
+ instructions?: string;
15
+ tools?: unknown[];
16
+ tool_choice?: unknown;
17
+ [key: string]: unknown;
18
+ }
19
+ interface LiveSessionConfig {
20
+ model: string;
21
+ instructions?: string;
22
+ audio?: LiveAudioConfig;
23
+ input?: unknown;
24
+ store?: boolean;
25
+ delegation?: {
26
+ type: 'responses' | 'client';
27
+ responses?: LiveResponsesDelegation;
28
+ [key: string]: unknown;
29
+ };
30
+ [key: string]: unknown;
31
+ }
32
+ interface LiveSessionStartedEvent {
33
+ type: 'session.started';
34
+ session: {
35
+ id: string;
36
+ [key: string]: unknown;
37
+ };
38
+ [key: string]: unknown;
39
+ }
40
+ interface LiveSessionUsageUpdatedEvent {
41
+ type: 'session.usage.updated';
42
+ usage: {
43
+ seconds: number;
44
+ [key: string]: unknown;
45
+ };
46
+ [key: string]: unknown;
47
+ }
48
+ interface LiveSessionClosedEvent {
49
+ type: 'session.closed';
50
+ usage?: {
51
+ seconds?: number;
52
+ [key: string]: unknown;
53
+ };
54
+ [key: string]: unknown;
55
+ }
56
+ interface LiveErrorEvent {
57
+ type: 'error';
58
+ error?: {
59
+ message?: string;
60
+ code?: string;
61
+ [key: string]: unknown;
62
+ };
63
+ [key: string]: unknown;
64
+ }
65
+ type LiveSessionEvent = LiveSessionStartedEvent | LiveSessionUsageUpdatedEvent | LiveSessionClosedEvent | LiveErrorEvent | {
66
+ type: 'session.output_audio.delta' | 'session.input_transcript.delta' | 'session.output_transcript.delta';
67
+ delta?: string;
68
+ [key: string]: unknown;
69
+ } | {
70
+ type: 'response.event';
71
+ event?: Record<string, unknown>;
72
+ [key: string]: unknown;
73
+ } | Record<string, unknown>;
74
+ interface LiveWebRtcSession {
75
+ session: {
76
+ id: string;
77
+ [key: string]: unknown;
78
+ };
79
+ transport: {
80
+ type?: string;
81
+ sdp: string;
82
+ [key: string]: unknown;
83
+ };
84
+ [key: string]: unknown;
85
+ }
86
+
87
+ interface ShogoLiveClientOptions {
88
+ apiUrl: string;
89
+ apiKey?: string;
90
+ runtimeToken?: string;
91
+ fetch?: typeof fetch;
92
+ WebSocket?: new (url: string, protocols?: string | string[]) => WebSocket;
93
+ }
94
+ interface LiveSessionHandlers {
95
+ [eventType: string]: (event: LiveSessionEvent) => void;
96
+ }
97
+ declare class LiveSession {
98
+ private readonly socket;
99
+ private readonly initialSession?;
100
+ private readonly handlers;
101
+ private readonly startedPromise;
102
+ private resolveStarted;
103
+ private rejectStarted;
104
+ private closedPromise;
105
+ private resolveClosed;
106
+ private closed;
107
+ readonly started: Promise<LiveSessionStartedEvent>;
108
+ latestUsageSeconds: number;
109
+ constructor(socket: WebSocket, initialSession?: LiveSessionConfig | undefined);
110
+ on(eventType: string, handler: (event: LiveSessionEvent) => void): () => void;
111
+ send(event: Record<string, unknown>): void;
112
+ appendAudio(audio: Uint8Array | string): void;
113
+ close(timeoutMs?: number): Promise<LiveSessionClosedEvent | void>;
114
+ }
115
+ declare class ShogoLiveClient {
116
+ private readonly apiUrl;
117
+ private readonly token;
118
+ private readonly fetchImpl;
119
+ private readonly WebSocketImpl;
120
+ constructor(options: ShogoLiveClientOptions);
121
+ private httpUrl;
122
+ private wsUrl;
123
+ private protocols;
124
+ connect(session: LiveSessionConfig): LiveSession;
125
+ attach(sessionId: string): LiveSession;
126
+ createWebRtcSession(input: {
127
+ session: LiveSessionConfig;
128
+ sdp: string;
129
+ }): Promise<LiveWebRtcSession>;
130
+ }
131
+
132
+ export { type LiveAudioConfig, type LiveErrorEvent, type LiveResponsesDelegation, LiveSession, type LiveSessionClosedEvent, type LiveSessionConfig, type LiveSessionEvent, type LiveSessionHandlers, type LiveSessionStartedEvent, type LiveSessionUsageUpdatedEvent, type LiveWebRtcSession, ShogoLiveClient, type ShogoLiveClientOptions };
@@ -0,0 +1,132 @@
1
+ interface LiveAudioConfig {
2
+ format?: {
3
+ type: 'audio/pcm' | 'audio/pcmu' | 'audio/pcma';
4
+ rate: number;
5
+ };
6
+ output?: {
7
+ voice?: string;
8
+ [key: string]: unknown;
9
+ };
10
+ [key: string]: unknown;
11
+ }
12
+ interface LiveResponsesDelegation {
13
+ model: string;
14
+ instructions?: string;
15
+ tools?: unknown[];
16
+ tool_choice?: unknown;
17
+ [key: string]: unknown;
18
+ }
19
+ interface LiveSessionConfig {
20
+ model: string;
21
+ instructions?: string;
22
+ audio?: LiveAudioConfig;
23
+ input?: unknown;
24
+ store?: boolean;
25
+ delegation?: {
26
+ type: 'responses' | 'client';
27
+ responses?: LiveResponsesDelegation;
28
+ [key: string]: unknown;
29
+ };
30
+ [key: string]: unknown;
31
+ }
32
+ interface LiveSessionStartedEvent {
33
+ type: 'session.started';
34
+ session: {
35
+ id: string;
36
+ [key: string]: unknown;
37
+ };
38
+ [key: string]: unknown;
39
+ }
40
+ interface LiveSessionUsageUpdatedEvent {
41
+ type: 'session.usage.updated';
42
+ usage: {
43
+ seconds: number;
44
+ [key: string]: unknown;
45
+ };
46
+ [key: string]: unknown;
47
+ }
48
+ interface LiveSessionClosedEvent {
49
+ type: 'session.closed';
50
+ usage?: {
51
+ seconds?: number;
52
+ [key: string]: unknown;
53
+ };
54
+ [key: string]: unknown;
55
+ }
56
+ interface LiveErrorEvent {
57
+ type: 'error';
58
+ error?: {
59
+ message?: string;
60
+ code?: string;
61
+ [key: string]: unknown;
62
+ };
63
+ [key: string]: unknown;
64
+ }
65
+ type LiveSessionEvent = LiveSessionStartedEvent | LiveSessionUsageUpdatedEvent | LiveSessionClosedEvent | LiveErrorEvent | {
66
+ type: 'session.output_audio.delta' | 'session.input_transcript.delta' | 'session.output_transcript.delta';
67
+ delta?: string;
68
+ [key: string]: unknown;
69
+ } | {
70
+ type: 'response.event';
71
+ event?: Record<string, unknown>;
72
+ [key: string]: unknown;
73
+ } | Record<string, unknown>;
74
+ interface LiveWebRtcSession {
75
+ session: {
76
+ id: string;
77
+ [key: string]: unknown;
78
+ };
79
+ transport: {
80
+ type?: string;
81
+ sdp: string;
82
+ [key: string]: unknown;
83
+ };
84
+ [key: string]: unknown;
85
+ }
86
+
87
+ interface ShogoLiveClientOptions {
88
+ apiUrl: string;
89
+ apiKey?: string;
90
+ runtimeToken?: string;
91
+ fetch?: typeof fetch;
92
+ WebSocket?: new (url: string, protocols?: string | string[]) => WebSocket;
93
+ }
94
+ interface LiveSessionHandlers {
95
+ [eventType: string]: (event: LiveSessionEvent) => void;
96
+ }
97
+ declare class LiveSession {
98
+ private readonly socket;
99
+ private readonly initialSession?;
100
+ private readonly handlers;
101
+ private readonly startedPromise;
102
+ private resolveStarted;
103
+ private rejectStarted;
104
+ private closedPromise;
105
+ private resolveClosed;
106
+ private closed;
107
+ readonly started: Promise<LiveSessionStartedEvent>;
108
+ latestUsageSeconds: number;
109
+ constructor(socket: WebSocket, initialSession?: LiveSessionConfig | undefined);
110
+ on(eventType: string, handler: (event: LiveSessionEvent) => void): () => void;
111
+ send(event: Record<string, unknown>): void;
112
+ appendAudio(audio: Uint8Array | string): void;
113
+ close(timeoutMs?: number): Promise<LiveSessionClosedEvent | void>;
114
+ }
115
+ declare class ShogoLiveClient {
116
+ private readonly apiUrl;
117
+ private readonly token;
118
+ private readonly fetchImpl;
119
+ private readonly WebSocketImpl;
120
+ constructor(options: ShogoLiveClientOptions);
121
+ private httpUrl;
122
+ private wsUrl;
123
+ private protocols;
124
+ connect(session: LiveSessionConfig): LiveSession;
125
+ attach(sessionId: string): LiveSession;
126
+ createWebRtcSession(input: {
127
+ session: LiveSessionConfig;
128
+ sdp: string;
129
+ }): Promise<LiveWebRtcSession>;
130
+ }
131
+
132
+ export { type LiveAudioConfig, type LiveErrorEvent, type LiveResponsesDelegation, LiveSession, type LiveSessionClosedEvent, type LiveSessionConfig, type LiveSessionEvent, type LiveSessionHandlers, type LiveSessionStartedEvent, type LiveSessionUsageUpdatedEvent, type LiveWebRtcSession, ShogoLiveClient, type ShogoLiveClientOptions };
@@ -0,0 +1,9 @@
1
+ import {
2
+ LiveSession,
3
+ ShogoLiveClient
4
+ } from "../chunk-UW7VQ3S6.js";
5
+ export {
6
+ LiveSession,
7
+ ShogoLiveClient
8
+ };
9
+ //# sourceMappingURL=client.js.map
@@ -1,8 +1,11 @@
1
1
  import * as React from 'react';
2
- import { B as BaseVoiceConversationOptions, a as BaseVoiceConversationResult, b as BaseChatConversationOptions, c as BaseChatConversationResult, O as OrganicSphereConfig, d as OrganicParticlesConfig } from '../organicParticlesShaders-DIva0vBO.cjs';
3
- 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';
2
+ import { B as BaseVoiceConversationOptions, a as BaseVoiceConversationResult } from '../types-Bfhu-aQH.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';
4
5
  import * as react_jsx_runtime from 'react/jsx-runtime';
5
6
  import { StyleProp, ViewStyle } from 'react-native';
7
+ import { b as OrganicSphereConfig, O as OrganicParticlesConfig } from '../particlesConfig-0YbdPOdY.cjs';
8
+ export { B as BandReactivity, D as DEFAULT_ORGANIC_PARTICLES_CONFIG, a as DEFAULT_ORGANIC_SPHERE_CONFIG, r as resolveOrganicParticlesConfig, c as resolveOrganicSphereConfig } from '../particlesConfig-0YbdPOdY.cjs';
6
9
  import 'ai';
7
10
 
8
11
  /**
@@ -1,8 +1,11 @@
1
1
  import * as React from 'react';
2
- import { B as BaseVoiceConversationOptions, a as BaseVoiceConversationResult, b as BaseChatConversationOptions, c as BaseChatConversationResult, O as OrganicSphereConfig, d as OrganicParticlesConfig } from '../organicParticlesShaders-DIva0vBO.js';
3
- 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';
2
+ import { B as BaseVoiceConversationOptions, a as BaseVoiceConversationResult } from '../types-Bfhu-aQH.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';
4
5
  import * as react_jsx_runtime from 'react/jsx-runtime';
5
6
  import { StyleProp, ViewStyle } from 'react-native';
7
+ import { b as OrganicSphereConfig, O as OrganicParticlesConfig } from '../particlesConfig-0YbdPOdY.js';
8
+ export { B as BandReactivity, D as DEFAULT_ORGANIC_PARTICLES_CONFIG, a as DEFAULT_ORGANIC_SPHERE_CONFIG, r as resolveOrganicParticlesConfig, c as resolveOrganicSphereConfig } from '../particlesConfig-0YbdPOdY.js';
6
9
  import 'ai';
7
10
 
8
11
  /**
@@ -1,12 +1,7 @@
1
1
  import {
2
- DEFAULT_ORGANIC_PARTICLES_CONFIG,
3
- DEFAULT_ORGANIC_SPHERE_CONFIG,
4
- ORGANIC_PARTICLES_FRAGMENT_SHADER,
5
- ORGANIC_PARTICLES_VERTEX_SHADER,
6
- ORGANIC_SPHERE_FRAGMENT_SHADER,
7
- ORGANIC_SPHERE_VERTEX_SHADER,
8
- PERLIN_4D,
9
- appendChatQuery,
2
+ appendChatQuery
3
+ } from "../chunk-TQOBJMEK.js";
4
+ import {
10
5
  appendTranscriptLine,
11
6
  buildSessionPayload,
12
7
  createMemoryAddTool,
@@ -14,10 +9,19 @@ import {
14
9
  createPostJson,
15
10
  createTranscriptDisconnectHandler,
16
11
  fetchSignedUrl,
17
- resolveOrganicParticlesConfig,
18
- resolveOrganicSphereConfig,
19
12
  withProjectQuery
20
- } from "../chunk-S3S2RNO6.js";
13
+ } from "../chunk-ZAW6F3YT.js";
14
+ import {
15
+ DEFAULT_ORGANIC_PARTICLES_CONFIG,
16
+ DEFAULT_ORGANIC_SPHERE_CONFIG,
17
+ ORGANIC_PARTICLES_FRAGMENT_SHADER,
18
+ ORGANIC_PARTICLES_VERTEX_SHADER,
19
+ ORGANIC_SPHERE_FRAGMENT_SHADER,
20
+ ORGANIC_SPHERE_VERTEX_SHADER,
21
+ PERLIN_4D,
22
+ resolveOrganicParticlesConfig,
23
+ resolveOrganicSphereConfig
24
+ } from "../chunk-BI6SL35K.js";
21
25
  import "../chunk-Q3TJAJ54.js";
22
26
 
23
27
  // src/native/ShogoVoiceProvider.tsx