@lastbrain/ai-ui-core 1.0.3

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.
@@ -0,0 +1,103 @@
1
+ export interface ModelRef {
2
+ id: string;
3
+ name: string;
4
+ type: "text" | "language" | "image" | "embed";
5
+ provider: string;
6
+ tags?: string[];
7
+ pricing?: {
8
+ inputTokens?: number;
9
+ outputTokens?: number;
10
+ imageTokens?: number;
11
+ };
12
+ }
13
+
14
+ export interface AiTextRequest {
15
+ model: string;
16
+ prompt: string;
17
+ context?: string;
18
+ editMode?: boolean;
19
+ inputValue?: string;
20
+ system?: string;
21
+ maxTokens?: number;
22
+ temperature?: number;
23
+ promptId?: string; // Track which prompt was used
24
+ actionType?: "generate-text" | "generate-recipe-text" | "autocomplete"; // Billing action type
25
+ }
26
+
27
+ export interface AiTextResponse {
28
+ text: string;
29
+ debitTokens: number;
30
+ requestId: string;
31
+ }
32
+
33
+ export interface AiImageRequest {
34
+ model: string;
35
+ prompt: string;
36
+ context?: string;
37
+ size?: string;
38
+ n?: number;
39
+ promptId?: string; // Track which prompt was used
40
+ }
41
+
42
+ export interface AiImageResponse {
43
+ url: string;
44
+ debitTokens: number;
45
+ requestId: string;
46
+ }
47
+
48
+ export interface AiEmbedRequest {
49
+ model: string;
50
+ input: string;
51
+ }
52
+
53
+ export interface AiEmbedResponse {
54
+ embedding: number[];
55
+ embeddings?: number[][];
56
+ debitTokens?: number;
57
+ requestId?: string;
58
+ }
59
+
60
+ export interface AiStatus {
61
+ request_id: string;
62
+ api_key: {
63
+ id: string;
64
+ name: string;
65
+ prefix: string;
66
+ env: string;
67
+ scopes: string[];
68
+ rate_limit_rpm: number;
69
+ daily_token_limit: number | null;
70
+ created_at: string;
71
+ };
72
+ balance: {
73
+ purchased: number;
74
+ quota: number;
75
+ total: number;
76
+ };
77
+ quota: {
78
+ plan: string;
79
+ effective_quota: number;
80
+ used_quota: number;
81
+ remaining_quota: number;
82
+ period_start: string | null;
83
+ period_end: string | null;
84
+ is_active: boolean;
85
+ };
86
+ settings: {
87
+ mode: string;
88
+ max_tokens_per_call: number | null;
89
+ };
90
+ storage: {
91
+ db_mb: number;
92
+ files_mb: number;
93
+ total_mb: number;
94
+ allocated_mb: number;
95
+ };
96
+ }
97
+
98
+ export interface ClientConfig {
99
+ baseUrl: string;
100
+ apiKeyId: string;
101
+ timeout?: number;
102
+ retries?: number;
103
+ }