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
79 lines (69 loc) · 2.04 KB
/
types.ts
File metadata and controls
79 lines (69 loc) · 2.04 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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
export type MinerProfile = 'Bitaxe Gamma' | 'Bitaxe Supra' | 'Bitaxe Hex' | 'Bitaxe GT 800' | 'Bitaxe Turbo';
export interface MinerConfig {
id: string;
name: string;
ipAddress: string;
profile: MinerProfile;
isRemote?: boolean;
remoteUrl?: string;
}
export interface AIConfig {
personality: 'concise' | 'balanced' | 'detailed';
analysisInterval: number; // minutes
proactiveAlerts: boolean;
}
export type AppTheme = 'default' | 'blue' | 'purple' | 'emerald' | 'crimson';
export interface AppConfig {
userName?: string;
miners: MinerConfig[];
refreshRate: number;
aiConfig: AIConfig;
theme: AppTheme;
}
export interface MinerStats {
hashrate: number; // GH/s
frequency: number; // MHz
temp: number; // Celsius
power: number; // Watts
fanSpeed: number; // %
voltage: number; // mV
efficiency: number; // J/TH
wifiQuality: number; // % Signal Strength
bestDiff: string;
sharesAccepted: number;
sharesRejected: number;
uptime: string;
// AI/Advanced Metrics
dailyRevenue: number; // Sats
stabilityScore: number; // 0-100
thermalHeadroom: number; // Celsius remaining before throttle
anomalyProbability: number; // 0-100% chance of failure
history: { time: string; value: number }[];
tempHistory: { time: string; value: number }[];
powerHistory: { time: string; value: number }[];
fanHistory: { time: string; value: number }[];
efficiencyHistory: { time: string; value: number }[];
wifiHistory: { time: string; value: number }[];
revenueHistory: { time: string; value: number }[];
stabilityHistory: { time: string; value: number }[];
headroomHistory: { time: string; value: number }[];
anomalyHistory: { time: string; value: number }[];
}
export interface GroundingSource {
title: string;
uri: string;
}
export interface ChatMessage {
id: string;
role: 'user' | 'model';
text: string;
isStreaming?: boolean;
groundingSources?: GroundingSource[];
}
export enum AppView {
DASHBOARD = 'DASHBOARD',
ANALYTICS = 'ANALYTICS',
CHAT = 'CHAT',
STUDIO = 'STUDIO',
SETTINGS = 'SETTINGS'
}