@geenius/ai 0.1.0 → 0.3.0

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 (177) hide show
  1. package/package.json +15 -2
  2. package/packages/convex/dist/index.d.ts +1 -0
  3. package/packages/convex/dist/index.js +42 -0
  4. package/packages/convex/dist/index.js.map +1 -0
  5. package/packages/react/README.md +1 -1
  6. package/packages/react-css/README.md +1 -1
  7. package/packages/react-css/dist/index.cjs +1544 -0
  8. package/packages/react-css/dist/index.cjs.map +1 -0
  9. package/packages/react-css/dist/index.d.cts +454 -0
  10. package/packages/react-css/dist/index.d.ts +454 -0
  11. package/packages/react-css/dist/index.js +1495 -0
  12. package/packages/react-css/dist/index.js.map +1 -0
  13. package/packages/shared/README.md +1 -1
  14. package/packages/solidjs/README.md +1 -1
  15. package/packages/solidjs-css/README.md +1 -1
  16. package/packages/solidjs-css/dist/index.cjs +674 -0
  17. package/packages/solidjs-css/dist/index.cjs.map +1 -0
  18. package/packages/solidjs-css/dist/index.d.cts +254 -0
  19. package/packages/solidjs-css/dist/index.d.ts +254 -0
  20. package/packages/solidjs-css/dist/index.js +634 -0
  21. package/packages/solidjs-css/dist/index.js.map +1 -0
  22. package/.changeset/config.json +0 -11
  23. package/.env.example +0 -2
  24. package/.github/CODEOWNERS +0 -1
  25. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -16
  26. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -11
  27. package/.github/PULL_REQUEST_TEMPLATE.md +0 -10
  28. package/.github/dependabot.yml +0 -11
  29. package/.github/workflows/ci.yml +0 -23
  30. package/.github/workflows/release.yml +0 -29
  31. package/.node-version +0 -1
  32. package/.nvmrc +0 -1
  33. package/.prettierrc +0 -7
  34. package/.project/ACCOUNT.yaml +0 -4
  35. package/.project/IDEAS.yaml +0 -7
  36. package/.project/PROJECT.yaml +0 -11
  37. package/.project/ROADMAP.yaml +0 -15
  38. package/CODE_OF_CONDUCT.md +0 -26
  39. package/CONTRIBUTING.md +0 -61
  40. package/SECURITY.md +0 -18
  41. package/SUPPORT.md +0 -14
  42. package/packages/convex/package.json +0 -42
  43. package/packages/convex/src/index.ts +0 -8
  44. package/packages/convex/src/mutations/messages.ts +0 -29
  45. package/packages/convex/src/queries/messages.ts +0 -24
  46. package/packages/convex/src/schema.ts +0 -20
  47. package/packages/convex/tsconfig.json +0 -11
  48. package/packages/convex/tsup.config.ts +0 -17
  49. package/packages/react/package.json +0 -60
  50. package/packages/react/src/components/AILogTable.tsx +0 -90
  51. package/packages/react/src/components/ChatWindow.tsx +0 -118
  52. package/packages/react/src/components/GenerationCard.tsx +0 -73
  53. package/packages/react/src/components/ImageGenerator.tsx +0 -103
  54. package/packages/react/src/components/ModelSelector.tsx +0 -44
  55. package/packages/react/src/components/ModelTestRunner.tsx +0 -148
  56. package/packages/react/src/components/VoiceSelector.tsx +0 -51
  57. package/packages/react/src/components/index.ts +0 -9
  58. package/packages/react/src/hooks/index.ts +0 -12
  59. package/packages/react/src/hooks/useAI.ts +0 -158
  60. package/packages/react/src/hooks/useAILogs.ts +0 -40
  61. package/packages/react/src/hooks/useAIModels.ts +0 -53
  62. package/packages/react/src/hooks/useChat.ts +0 -141
  63. package/packages/react/src/hooks/useContentManager.ts +0 -108
  64. package/packages/react/src/hooks/useImageGeneration.ts +0 -82
  65. package/packages/react/src/hooks/useMemory.ts +0 -161
  66. package/packages/react/src/hooks/useModelTest.ts +0 -126
  67. package/packages/react/src/hooks/useRealtimeAudio.ts +0 -203
  68. package/packages/react/src/hooks/useSkills.ts +0 -114
  69. package/packages/react/src/hooks/useTextToSpeech.ts +0 -99
  70. package/packages/react/src/hooks/useTranscription.ts +0 -119
  71. package/packages/react/src/hooks/useVideoGeneration.ts +0 -79
  72. package/packages/react/src/index.ts +0 -42
  73. package/packages/react/src/pages/AILogsPage.tsx +0 -98
  74. package/packages/react/src/pages/ChatPage.tsx +0 -42
  75. package/packages/react/src/pages/ModelTestPage.tsx +0 -33
  76. package/packages/react/src/pages/index.ts +0 -5
  77. package/packages/react/tsconfig.json +0 -26
  78. package/packages/react/tsup.config.ts +0 -22
  79. package/packages/react-css/package.json +0 -45
  80. package/packages/react-css/src/ai.css +0 -857
  81. package/packages/react-css/src/components/AILogTable.tsx +0 -90
  82. package/packages/react-css/src/components/ChatWindow.tsx +0 -118
  83. package/packages/react-css/src/components/GenerationCard.tsx +0 -73
  84. package/packages/react-css/src/components/ImageGenerator.tsx +0 -103
  85. package/packages/react-css/src/components/ModelSelector.tsx +0 -44
  86. package/packages/react-css/src/components/ModelTestRunner.tsx +0 -148
  87. package/packages/react-css/src/components/VoiceSelector.tsx +0 -51
  88. package/packages/react-css/src/components/index.ts +0 -9
  89. package/packages/react-css/src/hooks/index.ts +0 -12
  90. package/packages/react-css/src/hooks/useAI.ts +0 -153
  91. package/packages/react-css/src/hooks/useAILogs.ts +0 -40
  92. package/packages/react-css/src/hooks/useAIModels.ts +0 -51
  93. package/packages/react-css/src/hooks/useChat.ts +0 -145
  94. package/packages/react-css/src/hooks/useContentManager.ts +0 -108
  95. package/packages/react-css/src/hooks/useImageGeneration.ts +0 -82
  96. package/packages/react-css/src/hooks/useMemory.ts +0 -161
  97. package/packages/react-css/src/hooks/useModelTest.ts +0 -122
  98. package/packages/react-css/src/hooks/useRealtimeAudio.ts +0 -203
  99. package/packages/react-css/src/hooks/useSkills.ts +0 -114
  100. package/packages/react-css/src/hooks/useTextToSpeech.ts +0 -99
  101. package/packages/react-css/src/hooks/useTranscription.ts +0 -119
  102. package/packages/react-css/src/hooks/useVideoGeneration.ts +0 -79
  103. package/packages/react-css/src/index.ts +0 -35
  104. package/packages/react-css/src/pages/AILogsPage.tsx +0 -98
  105. package/packages/react-css/src/pages/ChatPage.tsx +0 -42
  106. package/packages/react-css/src/pages/ModelTestPage.tsx +0 -33
  107. package/packages/react-css/src/pages/index.ts +0 -5
  108. package/packages/react-css/src/styles.css +0 -127
  109. package/packages/react-css/tsconfig.json +0 -26
  110. package/packages/react-css/tsup.config.ts +0 -2
  111. package/packages/shared/package.json +0 -71
  112. package/packages/shared/src/__tests__/ai.test.ts +0 -67
  113. package/packages/shared/src/ai-client.ts +0 -243
  114. package/packages/shared/src/config.ts +0 -235
  115. package/packages/shared/src/content.ts +0 -249
  116. package/packages/shared/src/convex/helpers.ts +0 -163
  117. package/packages/shared/src/convex/index.ts +0 -16
  118. package/packages/shared/src/convex/schemas.ts +0 -146
  119. package/packages/shared/src/convex/validators.ts +0 -136
  120. package/packages/shared/src/index.ts +0 -107
  121. package/packages/shared/src/memory.ts +0 -197
  122. package/packages/shared/src/providers/base.ts +0 -103
  123. package/packages/shared/src/providers/elevenlabs.ts +0 -155
  124. package/packages/shared/src/providers/index.ts +0 -28
  125. package/packages/shared/src/providers/openai-compatible.ts +0 -286
  126. package/packages/shared/src/providers/registry.ts +0 -113
  127. package/packages/shared/src/providers/replicate-fal.ts +0 -230
  128. package/packages/shared/src/skills.ts +0 -273
  129. package/packages/shared/src/types.ts +0 -501
  130. package/packages/shared/tsconfig.json +0 -25
  131. package/packages/shared/tsup.config.ts +0 -22
  132. package/packages/shared/vitest.config.ts +0 -4
  133. package/packages/solidjs/package.json +0 -59
  134. package/packages/solidjs/src/components/ChatWindow.tsx +0 -78
  135. package/packages/solidjs/src/components/GenerationCard.tsx +0 -62
  136. package/packages/solidjs/src/components/ModelTestRunner.tsx +0 -119
  137. package/packages/solidjs/src/components/index.ts +0 -5
  138. package/packages/solidjs/src/index.ts +0 -32
  139. package/packages/solidjs/src/pages/ChatPage.tsx +0 -22
  140. package/packages/solidjs/src/pages/ModelTestPage.tsx +0 -22
  141. package/packages/solidjs/src/pages/index.ts +0 -4
  142. package/packages/solidjs/src/primitives/createAI.ts +0 -79
  143. package/packages/solidjs/src/primitives/createChat.ts +0 -100
  144. package/packages/solidjs/src/primitives/createContentManager.ts +0 -61
  145. package/packages/solidjs/src/primitives/createImageGeneration.ts +0 -46
  146. package/packages/solidjs/src/primitives/createMemory.ts +0 -127
  147. package/packages/solidjs/src/primitives/createModelTest.ts +0 -89
  148. package/packages/solidjs/src/primitives/createSkills.ts +0 -83
  149. package/packages/solidjs/src/primitives/createTextToSpeech.ts +0 -56
  150. package/packages/solidjs/src/primitives/createVideoGeneration.ts +0 -46
  151. package/packages/solidjs/src/primitives/index.ts +0 -8
  152. package/packages/solidjs/tsconfig.json +0 -27
  153. package/packages/solidjs/tsup.config.ts +0 -21
  154. package/packages/solidjs-css/package.json +0 -44
  155. package/packages/solidjs-css/src/ai.css +0 -857
  156. package/packages/solidjs-css/src/components/ChatWindow.tsx +0 -78
  157. package/packages/solidjs-css/src/components/GenerationCard.tsx +0 -62
  158. package/packages/solidjs-css/src/components/ModelTestRunner.tsx +0 -119
  159. package/packages/solidjs-css/src/components/index.ts +0 -5
  160. package/packages/solidjs-css/src/index.ts +0 -26
  161. package/packages/solidjs-css/src/pages/ChatPage.tsx +0 -22
  162. package/packages/solidjs-css/src/pages/ModelTestPage.tsx +0 -22
  163. package/packages/solidjs-css/src/pages/index.ts +0 -4
  164. package/packages/solidjs-css/src/primitives/createAI.ts +0 -79
  165. package/packages/solidjs-css/src/primitives/createChat.ts +0 -100
  166. package/packages/solidjs-css/src/primitives/createContentManager.ts +0 -61
  167. package/packages/solidjs-css/src/primitives/createImageGeneration.ts +0 -46
  168. package/packages/solidjs-css/src/primitives/createMemory.ts +0 -127
  169. package/packages/solidjs-css/src/primitives/createModelTest.ts +0 -89
  170. package/packages/solidjs-css/src/primitives/createSkills.ts +0 -83
  171. package/packages/solidjs-css/src/primitives/createTextToSpeech.ts +0 -56
  172. package/packages/solidjs-css/src/primitives/createVideoGeneration.ts +0 -46
  173. package/packages/solidjs-css/src/primitives/index.ts +0 -1
  174. package/packages/solidjs-css/src/styles.css +0 -127
  175. package/packages/solidjs-css/tsconfig.json +0 -27
  176. package/packages/solidjs-css/tsup.config.ts +0 -2
  177. package/pnpm-workspace.yaml +0 -2
@@ -0,0 +1,454 @@
1
+ import { AIGenerationType, AIChatMessage, AIRequestStatus, AILogEntry, AIModel, AIRealtimeConfig, AIRealtimeEvent, ContentGenerateOptions, ContentResult, ContentType, ContentTone, MemoryEntry, MemoryQuery, MemoryNamespace, MemoryType, MemoryImportance, SkillContext, SkillResult, SkillDefinition, SkillCategory, ChatWindowProps, AIProviderType, AILogTableProps, AIVoiceOption } from '@geenius/ai-shared';
2
+ import * as react_jsx_runtime from 'react/jsx-runtime';
3
+
4
+ interface UseAIOptions {
5
+ /** Convex action reference for text generation (api.ai.generateText) */
6
+ generateTextAction?: any;
7
+ /** Convex action reference for image generation */
8
+ generateImageAction?: any;
9
+ /** Convex action reference for audio generation */
10
+ generateAudioAction?: any;
11
+ /** Convex action reference for transcription */
12
+ transcribeAudioAction?: any;
13
+ /** Convex action reference for video generation */
14
+ generateVideoAction?: any;
15
+ }
16
+ interface UseAIReturn {
17
+ generateText: (args: {
18
+ model: string;
19
+ messages: any[];
20
+ temperature?: number;
21
+ maxTokens?: number;
22
+ caller?: string;
23
+ }) => Promise<string>;
24
+ generateImage: (prompt: string, model?: string) => Promise<string>;
25
+ generateAudio: (prompt: string, voice?: string) => Promise<string>;
26
+ transcribeAudio: (audio: string) => Promise<string>;
27
+ generateVideo: (prompt: string) => Promise<string>;
28
+ isLoading: boolean;
29
+ error: string | null;
30
+ lastResult: string | null;
31
+ lastType: AIGenerationType | null;
32
+ clearError: () => void;
33
+ }
34
+ declare function useAI(options?: UseAIOptions): UseAIReturn;
35
+
36
+ interface UseChatOptions {
37
+ conversationId?: string;
38
+ /** Query reference: api.ai.getConversation */
39
+ getConversationQuery?: any;
40
+ /** Query reference: api.ai.listMessages */
41
+ listMessagesQuery?: any;
42
+ /** Mutation reference: api.ai.sendMessage */
43
+ sendMessageMutation?: any;
44
+ /** Action reference: api.ai.generateText (for AI response) */
45
+ generateTextAction?: any;
46
+ /** Mutation reference: api.ai.createConversation */
47
+ createConversationMutation?: any;
48
+ model?: string;
49
+ systemPrompt?: string;
50
+ onNewConversation?: (id: string) => void;
51
+ }
52
+ interface UseChatReturn {
53
+ messages: AIChatMessage[];
54
+ isLoading: boolean;
55
+ isSending: boolean;
56
+ error: string | null;
57
+ sendMessage: (content: string) => Promise<void>;
58
+ conversationId: string | null;
59
+ clearError: () => void;
60
+ }
61
+ declare function useChat(options?: UseChatOptions): UseChatReturn;
62
+
63
+ interface UseAILogsOptions {
64
+ /** Query reference: api.ai.listLogs */
65
+ listLogsQuery: any;
66
+ filters?: {
67
+ model?: string;
68
+ provider?: string;
69
+ status?: AIRequestStatus;
70
+ caller?: string;
71
+ };
72
+ limit?: number;
73
+ }
74
+ interface UseAILogsReturn {
75
+ logs: AILogEntry[];
76
+ isLoading: boolean;
77
+ }
78
+ declare function useAILogs(options: UseAILogsOptions): UseAILogsReturn;
79
+
80
+ interface UseModelTestOptions {
81
+ /** Action reference for text: api.ai.generateText */
82
+ generateTextAction?: any;
83
+ /** Action reference for image: api.ai.generateImage */
84
+ generateImageAction?: any;
85
+ /** Action reference for audio: api.ai.generateAudio */
86
+ generateAudioAction?: any;
87
+ /** Action reference for transcription: api.ai.transcribeAudio */
88
+ transcribeAudioAction?: any;
89
+ /** Action reference for video: api.ai.generateVideo */
90
+ generateVideoAction?: any;
91
+ }
92
+ interface ModelTestResult {
93
+ model: string;
94
+ type: AIGenerationType;
95
+ result: string;
96
+ durationMs: number;
97
+ timestamp: number;
98
+ error?: string;
99
+ }
100
+ interface UseModelTestReturn {
101
+ runTest: (model: string, prompt: string, type?: AIGenerationType) => Promise<ModelTestResult>;
102
+ runBatchTest: (models: string[], prompt: string) => Promise<ModelTestResult[]>;
103
+ results: ModelTestResult[];
104
+ isRunning: boolean;
105
+ clearResults: () => void;
106
+ }
107
+ declare function useModelTest(options?: UseModelTestOptions): UseModelTestReturn;
108
+
109
+ interface UseAIModelsOptions {
110
+ /** Query reference: api.ai.listModels */
111
+ listModelsQuery: any;
112
+ /** Mutation reference: api.ai.upsertModel */
113
+ upsertModelMutation?: any;
114
+ }
115
+ interface UseAIModelsReturn {
116
+ models: AIModel[];
117
+ isLoading: boolean;
118
+ upsertModel: (model: Partial<AIModel> & {
119
+ id: string;
120
+ provider: string;
121
+ }) => Promise<void>;
122
+ }
123
+ declare function useAIModels(options: UseAIModelsOptions): UseAIModelsReturn;
124
+
125
+ interface GeneratedImage {
126
+ url: string;
127
+ prompt: string;
128
+ model: string;
129
+ timestamp: number;
130
+ }
131
+ interface UseImageGenerationOptions {
132
+ generateImageAction: any;
133
+ defaultModel?: string;
134
+ }
135
+ interface UseImageGenerationReturn {
136
+ generate: (prompt: string, options?: {
137
+ model?: string;
138
+ negativePrompt?: string;
139
+ size?: string;
140
+ quality?: 'standard' | 'hd';
141
+ style?: 'natural' | 'vivid';
142
+ n?: number;
143
+ seed?: number;
144
+ }) => Promise<string>;
145
+ images: GeneratedImage[];
146
+ isGenerating: boolean;
147
+ error: string | null;
148
+ clearImages: () => void;
149
+ clearError: () => void;
150
+ }
151
+ declare function useImageGeneration(options: UseImageGenerationOptions): UseImageGenerationReturn;
152
+
153
+ interface UseTextToSpeechOptions {
154
+ generateAudioAction: any;
155
+ defaultVoice?: string;
156
+ defaultModel?: string;
157
+ autoPlay?: boolean;
158
+ }
159
+ interface UseTextToSpeechReturn {
160
+ speak: (text: string, options?: {
161
+ voice?: string;
162
+ model?: string;
163
+ speed?: number;
164
+ voiceSettings?: {
165
+ stability?: number;
166
+ similarityBoost?: number;
167
+ style?: number;
168
+ };
169
+ }) => Promise<string>;
170
+ stop: () => void;
171
+ isSpeaking: boolean;
172
+ isGenerating: boolean;
173
+ error: string | null;
174
+ audioUrl: string | null;
175
+ clearError: () => void;
176
+ }
177
+ declare function useTextToSpeech(options: UseTextToSpeechOptions): UseTextToSpeechReturn;
178
+
179
+ interface GeneratedVideo {
180
+ url: string;
181
+ prompt: string;
182
+ model: string;
183
+ timestamp: number;
184
+ }
185
+ interface UseVideoGenerationOptions {
186
+ generateVideoAction: any;
187
+ defaultModel?: string;
188
+ }
189
+ interface UseVideoGenerationReturn {
190
+ generate: (prompt: string, options?: {
191
+ model?: string;
192
+ duration?: number;
193
+ aspectRatio?: '16:9' | '9:16' | '1:1';
194
+ resolution?: '720p' | '1080p' | '4k';
195
+ startImage?: string;
196
+ endImage?: string;
197
+ }) => Promise<string>;
198
+ videos: GeneratedVideo[];
199
+ isGenerating: boolean;
200
+ error: string | null;
201
+ clearVideos: () => void;
202
+ clearError: () => void;
203
+ }
204
+ declare function useVideoGeneration(options: UseVideoGenerationOptions): UseVideoGenerationReturn;
205
+
206
+ interface TranscriptionResult {
207
+ text: string;
208
+ timestamp: number;
209
+ durationMs: number;
210
+ }
211
+ interface UseTranscriptionOptions {
212
+ transcribeAction: any;
213
+ defaultModel?: string;
214
+ /** Enable browser microphone recording */
215
+ enableMicrophone?: boolean;
216
+ }
217
+ interface UseTranscriptionReturn {
218
+ transcribe: (audioBase64: string, options?: {
219
+ model?: string;
220
+ language?: string;
221
+ prompt?: string;
222
+ }) => Promise<string>;
223
+ startRecording: () => Promise<void>;
224
+ stopRecording: () => Promise<string>;
225
+ isTranscribing: boolean;
226
+ isRecording: boolean;
227
+ lastResult: TranscriptionResult | null;
228
+ error: string | null;
229
+ clearError: () => void;
230
+ }
231
+ declare function useTranscription(options: UseTranscriptionOptions): UseTranscriptionReturn;
232
+
233
+ interface UseRealtimeAudioOptions extends AIRealtimeConfig {
234
+ /** WebSocket URL for the realtime API session */
235
+ wsUrl?: string;
236
+ /** Gets a session token/URL from your backend */
237
+ getSessionAction?: any;
238
+ /** Called when AI responds with text */
239
+ onResponse?: (text: string) => void;
240
+ /** Called when user's speech is transcribed */
241
+ onTranscript?: (text: string) => void;
242
+ /** Called on any realtime event */
243
+ onEvent?: (event: AIRealtimeEvent) => void;
244
+ }
245
+ interface UseRealtimeAudioReturn {
246
+ connect: () => Promise<void>;
247
+ disconnect: () => void;
248
+ isConnected: boolean;
249
+ isSpeaking: boolean;
250
+ isListening: boolean;
251
+ error: string | null;
252
+ transcript: string;
253
+ response: string;
254
+ clearError: () => void;
255
+ }
256
+ declare function useRealtimeAudio(options: UseRealtimeAudioOptions): UseRealtimeAudioReturn;
257
+
258
+ interface UseContentManagerOptions {
259
+ /** Convex action for content generation */
260
+ generateFn: (options: ContentGenerateOptions) => Promise<ContentResult>;
261
+ /** Default content type */
262
+ defaultType?: ContentType;
263
+ /** Default tone */
264
+ defaultTone?: ContentTone;
265
+ /** Default model */
266
+ defaultModel?: string;
267
+ }
268
+ interface UseContentManagerReturn {
269
+ /** Generate content */
270
+ generate: (input: string, options?: Partial<ContentGenerateOptions>) => Promise<ContentResult>;
271
+ /** Rewrite content */
272
+ rewrite: (text: string, instructions?: string) => Promise<ContentResult>;
273
+ /** Translate content */
274
+ translate: (text: string, language: string) => Promise<ContentResult>;
275
+ /** Summarize content */
276
+ summarize: (text: string) => Promise<ContentResult>;
277
+ /** Generate variations */
278
+ variations: (text: string, count?: number) => Promise<ContentResult>;
279
+ /** Change tone */
280
+ changeTone: (text: string, tone: ContentTone) => Promise<ContentResult>;
281
+ /** Proofread */
282
+ proofread: (text: string) => Promise<ContentResult>;
283
+ /** Current result */
284
+ result: ContentResult | null;
285
+ /** Loading state */
286
+ isGenerating: boolean;
287
+ /** Error state */
288
+ error: Error | null;
289
+ /** Clear state */
290
+ reset: () => void;
291
+ }
292
+ declare function useContentManager(options: UseContentManagerOptions): UseContentManagerReturn;
293
+
294
+ interface UseMemoryOptions {
295
+ /** Convex mutation to store a memory */
296
+ storeFn: (entry: Omit<MemoryEntry, 'id' | 'accessCount' | 'lastAccessedAt' | 'createdAt' | 'updatedAt'>) => Promise<MemoryEntry>;
297
+ /** Convex query to search memories */
298
+ searchFn: (query: MemoryQuery) => Promise<MemoryEntry[]>;
299
+ /** Convex mutation to delete a memory */
300
+ deleteFn: (id: string) => Promise<void>;
301
+ /** Convex mutation to clear memories */
302
+ clearFn: (namespace: MemoryNamespace, scopeId: string) => Promise<void>;
303
+ /** Default namespace */
304
+ defaultNamespace?: MemoryNamespace;
305
+ /** Default scope ID (e.g., current user ID) */
306
+ defaultScopeId?: string;
307
+ }
308
+ interface UseMemoryReturn {
309
+ /** Store a memory */
310
+ store: (key: string, value: string, options?: {
311
+ namespace?: MemoryNamespace;
312
+ type?: MemoryType;
313
+ importance?: MemoryImportance;
314
+ metadata?: Record<string, unknown>;
315
+ scopeId?: string;
316
+ }) => Promise<MemoryEntry>;
317
+ /** Recall a specific memory by key */
318
+ recall: (key: string, namespace?: MemoryNamespace) => Promise<MemoryEntry | null>;
319
+ /** Search memories */
320
+ search: (query: MemoryQuery) => Promise<MemoryEntry[]>;
321
+ /** Delete a memory */
322
+ remove: (id: string) => Promise<void>;
323
+ /** Clear all memories in a namespace/scope */
324
+ clear: (namespace?: MemoryNamespace) => Promise<void>;
325
+ /** Currently loaded memories */
326
+ memories: MemoryEntry[];
327
+ /** Loading state */
328
+ isLoading: boolean;
329
+ /** Error state */
330
+ error: Error | null;
331
+ }
332
+ declare function useMemory(options: UseMemoryOptions): UseMemoryReturn;
333
+
334
+ interface UseSkillsOptions {
335
+ /** Convex action to execute a skill */
336
+ executeFn: (context: SkillContext) => Promise<SkillResult>;
337
+ /** Additional custom skills to register */
338
+ customSkills?: SkillDefinition[];
339
+ /** Default model */
340
+ defaultModel?: string;
341
+ /** User ID for personalization */
342
+ userId?: string;
343
+ }
344
+ interface UseSkillsReturn {
345
+ /** List all available skills */
346
+ skills: SkillDefinition[];
347
+ /** List skills by category */
348
+ byCategory: (category: SkillCategory) => SkillDefinition[];
349
+ /** Search skills */
350
+ search: (query: string) => SkillDefinition[];
351
+ /** Get a skill by ID */
352
+ getSkill: (id: string) => SkillDefinition | undefined;
353
+ /** Execute a skill */
354
+ execute: (skillId: string, params: Record<string, unknown>, context?: Record<string, unknown>) => Promise<SkillResult>;
355
+ /** Last result */
356
+ result: SkillResult | null;
357
+ /** Loading state */
358
+ isExecuting: boolean;
359
+ /** Error */
360
+ error: Error | null;
361
+ /** Reset state */
362
+ reset: () => void;
363
+ }
364
+ declare function useSkills(options: UseSkillsOptions): UseSkillsReturn;
365
+
366
+ interface ChatWindowComponentProps extends ChatWindowProps, UseChatOptions {
367
+ renderMessage?: (message: AIChatMessage) => React.ReactNode;
368
+ renderInput?: (props: {
369
+ value: string;
370
+ onChange: (v: string) => void;
371
+ onSubmit: () => void;
372
+ isSending: boolean;
373
+ }) => React.ReactNode;
374
+ }
375
+ declare function ChatWindow(props: ChatWindowComponentProps): react_jsx_runtime.JSX.Element;
376
+
377
+ interface ModelSelectorProps {
378
+ models: AIModel[];
379
+ selectedModel?: string;
380
+ onSelect: (modelId: string) => void;
381
+ className?: string;
382
+ filterProvider?: AIProviderType;
383
+ showCost?: boolean;
384
+ disabled?: boolean;
385
+ }
386
+ declare function ModelSelector(props: ModelSelectorProps): react_jsx_runtime.JSX.Element;
387
+
388
+ interface AILogTableComponentProps extends AILogTableProps {
389
+ logs: AILogEntry[];
390
+ isLoading: boolean;
391
+ onRowClick?: (log: AILogEntry) => void;
392
+ }
393
+ declare function AILogTable(props: AILogTableComponentProps): react_jsx_runtime.JSX.Element;
394
+
395
+ interface ModelTestRunnerProps extends UseModelTestOptions {
396
+ className?: string;
397
+ availableModels?: string[];
398
+ defaultTab?: AIGenerationType;
399
+ renderResult?: (result: ModelTestResult) => React.ReactNode;
400
+ }
401
+ declare function ModelTestRunner(props: ModelTestRunnerProps): react_jsx_runtime.JSX.Element;
402
+
403
+ interface GenerationCardProps {
404
+ type: AIGenerationType;
405
+ content: string;
406
+ model?: string;
407
+ durationMs?: number;
408
+ tokens?: number;
409
+ cost?: number;
410
+ error?: string;
411
+ className?: string;
412
+ }
413
+ declare function GenerationCard(props: GenerationCardProps): react_jsx_runtime.JSX.Element;
414
+
415
+ interface ImageGeneratorComponentProps extends UseImageGenerationOptions {
416
+ className?: string;
417
+ availableModels?: string[];
418
+ }
419
+ declare function ImageGenerator(props: ImageGeneratorComponentProps): react_jsx_runtime.JSX.Element;
420
+
421
+ interface VoiceSelectorComponentProps {
422
+ voices: AIVoiceOption[];
423
+ selectedVoice?: string;
424
+ onSelect: (voiceId: string) => void;
425
+ className?: string;
426
+ disabled?: boolean;
427
+ showProvider?: boolean;
428
+ showPreview?: boolean;
429
+ onPreview?: (voiceId: string) => void;
430
+ }
431
+ declare function VoiceSelector(props: VoiceSelectorComponentProps): react_jsx_runtime.JSX.Element;
432
+
433
+ interface ChatPageProps extends Omit<ChatWindowComponentProps, 'conversationId'> {
434
+ className?: string;
435
+ /** Initial conversation ID */
436
+ conversationId?: string;
437
+ }
438
+ declare function ChatPage(props: ChatPageProps): react_jsx_runtime.JSX.Element;
439
+
440
+ interface ModelTestPageProps extends ModelTestRunnerProps {
441
+ title?: string;
442
+ }
443
+ declare function ModelTestPage(props: ModelTestPageProps): react_jsx_runtime.JSX.Element;
444
+
445
+ interface AILogsPageProps {
446
+ /** Query reference: api.ai.listLogs */
447
+ listLogsQuery: any;
448
+ className?: string;
449
+ title?: string;
450
+ onRowClick?: (log: AILogEntry) => void;
451
+ }
452
+ declare function AILogsPage(props: AILogsPageProps): react_jsx_runtime.JSX.Element;
453
+
454
+ export { AILogTable, type AILogTableComponentProps, AILogsPage, type AILogsPageProps, ChatPage, type ChatPageProps, ChatWindow, type ChatWindowComponentProps, type GeneratedImage, type GeneratedVideo, GenerationCard, type GenerationCardProps, ImageGenerator, type ImageGeneratorComponentProps, ModelSelector, type ModelSelectorProps, ModelTestPage, type ModelTestPageProps, type ModelTestResult, ModelTestRunner, type ModelTestRunnerProps, type TranscriptionResult, type UseAILogsOptions, type UseAILogsReturn, type UseAIModelsOptions, type UseAIModelsReturn, type UseAIOptions, type UseAIReturn, type UseChatOptions, type UseChatReturn, type UseContentManagerOptions, type UseContentManagerReturn, type UseImageGenerationOptions, type UseImageGenerationReturn, type UseMemoryOptions, type UseMemoryReturn, type UseModelTestOptions, type UseModelTestReturn, type UseRealtimeAudioOptions, type UseRealtimeAudioReturn, type UseSkillsOptions, type UseSkillsReturn, type UseTextToSpeechOptions, type UseTextToSpeechReturn, type UseTranscriptionOptions, type UseTranscriptionReturn, type UseVideoGenerationOptions, type UseVideoGenerationReturn, VoiceSelector, type VoiceSelectorComponentProps, useAI, useAILogs, useAIModels, useChat, useContentManager, useImageGeneration, useMemory, useModelTest, useRealtimeAudio, useSkills, useTextToSpeech, useTranscription, useVideoGeneration };