generated from google-gemini/aistudio-repository-template
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtypes.ts
More file actions
53 lines (47 loc) · 1.11 KB
/
types.ts
File metadata and controls
53 lines (47 loc) · 1.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
export interface CharacterTheme {
primaryColor: string; // Tailwind class like 'amber-500'
gradient: string; // CSS background gradient
particleColor: string; // Hex for canvas
font: string; // Font family class
borderStyle: string;
}
export interface Character {
id: string;
name: string;
role: string;
avatarUrl: string;
systemPrompt: string;
greeting?: string;
description?: string; // Kept for backward compat
bio?: string; // Added for new config
voiceId: string; // Added voiceId
era?: string;
theme: CharacterTheme;
}
export interface GroundingSource {
title: string;
url: string;
}
export interface Message {
id: string;
role: 'user' | 'model';
text: string;
timestamp: number;
sources?: GroundingSource[];
}
export enum AppState {
IDLE = 'IDLE',
LISTENING = 'LISTENING',
THINKING = 'THINKING',
SPEAKING = 'SPEAKING',
}
export interface AudioVisualizerProps {
isPlaying: boolean;
audioSource?: MediaStream | null; // For future mic extension
}
declare global {
interface Window {
webkitSpeechRecognition: any;
SpeechRecognition: any;
}
}