@nice2dev/ui-ai 1.0.6 → 1.0.10

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 (44) hide show
  1. package/dist/NiceAIHintBubble.d.ts.map +1 -1
  2. package/dist/NiceAIProvider.d.ts +1 -1
  3. package/dist/NiceAIProvider.d.ts.map +1 -1
  4. package/dist/NiceAccessibilityAI.d.ts +98 -0
  5. package/dist/NiceAccessibilityAI.d.ts.map +1 -0
  6. package/dist/NiceChartAI.d.ts +112 -0
  7. package/dist/NiceChartAI.d.ts.map +1 -0
  8. package/dist/NiceCodeEditorAI.d.ts +114 -0
  9. package/dist/NiceCodeEditorAI.d.ts.map +1 -0
  10. package/dist/NiceDataGridAI.d.ts +85 -0
  11. package/dist/NiceDataGridAI.d.ts.map +1 -0
  12. package/dist/NiceDataLabeler.d.ts.map +1 -1
  13. package/dist/NiceFormBuilderAI.d.ts +107 -0
  14. package/dist/NiceFormBuilderAI.d.ts.map +1 -0
  15. package/dist/NiceIconSuggestorAI.d.ts +81 -0
  16. package/dist/NiceIconSuggestorAI.d.ts.map +1 -0
  17. package/dist/NiceLayoutAI.d.ts +103 -0
  18. package/dist/NiceLayoutAI.d.ts.map +1 -0
  19. package/dist/NiceMLStudio.d.ts.map +1 -1
  20. package/dist/NiceModelInference.d.ts.map +1 -1
  21. package/dist/NiceReportBuilderAI.d.ts +176 -0
  22. package/dist/NiceReportBuilderAI.d.ts.map +1 -0
  23. package/dist/NiceThemeGeneratorAI.d.ts +186 -0
  24. package/dist/NiceThemeGeneratorAI.d.ts.map +1 -0
  25. package/dist/NiceWorkflowDesignerAI.d.ts +108 -0
  26. package/dist/NiceWorkflowDesignerAI.d.ts.map +1 -0
  27. package/dist/cost-tracker.d.ts +148 -0
  28. package/dist/cost-tracker.d.ts.map +1 -0
  29. package/dist/fallback-strategies.d.ts +120 -0
  30. package/dist/fallback-strategies.d.ts.map +1 -0
  31. package/dist/index.cjs +3426 -12
  32. package/dist/index.d.ts +32 -0
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.mjs +10496 -1431
  35. package/dist/integrations.d.ts.map +1 -1
  36. package/dist/llm-providers.d.ts +180 -0
  37. package/dist/llm-providers.d.ts.map +1 -0
  38. package/dist/prompt-templates.d.ts +64 -0
  39. package/dist/prompt-templates.d.ts.map +1 -0
  40. package/dist/rateLimiter.d.ts.map +1 -1
  41. package/dist/streaming.d.ts.map +1 -1
  42. package/dist/useNiceAIHint.d.ts.map +1 -1
  43. package/dist/wrappers.d.ts.map +1 -1
  44. package/package.json +1 -1
@@ -0,0 +1,148 @@
1
+ /** Usage record for a single API call */
2
+ export interface UsageRecord {
3
+ id: string;
4
+ timestamp: number;
5
+ tenantId?: string;
6
+ userId?: string;
7
+ feature?: string;
8
+ model: string;
9
+ provider: string;
10
+ promptTokens: number;
11
+ completionTokens: number;
12
+ totalTokens: number;
13
+ estimatedCost: number;
14
+ latencyMs: number;
15
+ cached?: boolean;
16
+ error?: string;
17
+ }
18
+ /** Aggregated usage statistics */
19
+ export interface UsageStats {
20
+ totalRequests: number;
21
+ totalTokens: number;
22
+ totalPromptTokens: number;
23
+ totalCompletionTokens: number;
24
+ totalCost: number;
25
+ averageLatency: number;
26
+ errorCount: number;
27
+ cacheHitRate: number;
28
+ byModel: Record<string, {
29
+ requests: number;
30
+ tokens: number;
31
+ cost: number;
32
+ }>;
33
+ byFeature: Record<string, {
34
+ requests: number;
35
+ tokens: number;
36
+ cost: number;
37
+ }>;
38
+ byDay: Record<string, {
39
+ requests: number;
40
+ tokens: number;
41
+ cost: number;
42
+ }>;
43
+ }
44
+ /** Budget configuration */
45
+ export interface BudgetConfig {
46
+ /** Monthly budget in USD */
47
+ monthlyBudget?: number;
48
+ /** Daily budget in USD */
49
+ dailyBudget?: number;
50
+ /** Max tokens per request */
51
+ maxTokensPerRequest?: number;
52
+ /** Max requests per minute */
53
+ maxRequestsPerMinute?: number;
54
+ /** Max requests per day */
55
+ maxRequestsPerDay?: number;
56
+ /** Alert thresholds (percentage of budget) */
57
+ alertThresholds?: number[];
58
+ }
59
+ /** Budget status */
60
+ export interface BudgetStatus {
61
+ dailyUsed: number;
62
+ dailyRemaining: number;
63
+ dailyPercent: number;
64
+ monthlyUsed: number;
65
+ monthlyRemaining: number;
66
+ monthlyPercent: number;
67
+ requestsToday: number;
68
+ requestsThisMinute: number;
69
+ isOverBudget: boolean;
70
+ alerts: string[];
71
+ }
72
+ /** Storage interface for persistence */
73
+ export interface ICostStorage {
74
+ save(tenantId: string, records: UsageRecord[]): Promise<void>;
75
+ load(tenantId: string, startDate?: Date, endDate?: Date): Promise<UsageRecord[]>;
76
+ clear(tenantId: string, beforeDate?: Date): Promise<void>;
77
+ }
78
+ export declare class InMemoryCostStorage implements ICostStorage {
79
+ private records;
80
+ save(tenantId: string, records: UsageRecord[]): Promise<void>;
81
+ load(tenantId: string, startDate?: Date, endDate?: Date): Promise<UsageRecord[]>;
82
+ clear(tenantId: string, beforeDate?: Date): Promise<void>;
83
+ }
84
+ export declare class LocalStorageCostStorage implements ICostStorage {
85
+ private readonly prefix;
86
+ save(tenantId: string, records: UsageRecord[]): Promise<void>;
87
+ load(tenantId: string, startDate?: Date, endDate?: Date): Promise<UsageRecord[]>;
88
+ clear(tenantId: string, beforeDate?: Date): Promise<void>;
89
+ }
90
+ export declare class CostTracker {
91
+ private storage;
92
+ private pendingRecords;
93
+ private flushTimer;
94
+ private budgetConfig;
95
+ private alertCallbacks;
96
+ private minuteCounter;
97
+ private dayCounter;
98
+ constructor(storage?: ICostStorage, budgetConfig?: BudgetConfig);
99
+ /**
100
+ * Record API usage
101
+ */
102
+ recordUsage(tenantId: string, usage: Omit<UsageRecord, 'id' | 'timestamp'>): Promise<void>;
103
+ /**
104
+ * Check if request is allowed before making API call
105
+ */
106
+ canMakeRequest(tenantId: string): Promise<{
107
+ allowed: boolean;
108
+ reason?: string;
109
+ }>;
110
+ /**
111
+ * Get budget status for a tenant
112
+ */
113
+ getBudgetStatus(tenantId: string): Promise<BudgetStatus>;
114
+ /**
115
+ * Get aggregated usage statistics
116
+ */
117
+ getUsageStats(tenantId: string, startDate?: Date, endDate?: Date): Promise<UsageStats>;
118
+ /**
119
+ * Subscribe to budget alerts
120
+ */
121
+ onAlert(callback: (alert: string, status: BudgetStatus) => void): () => void;
122
+ /**
123
+ * Update budget configuration
124
+ */
125
+ setBudgetConfig(config: Partial<BudgetConfig>): void;
126
+ /**
127
+ * Clear usage data
128
+ */
129
+ clearUsage(tenantId: string, beforeDate?: Date): Promise<void>;
130
+ private generateId;
131
+ private updateCounters;
132
+ private getMinuteCount;
133
+ private scheduleFlush;
134
+ private checkAlerts;
135
+ }
136
+ /** Hook for tracking AI costs in React components */
137
+ export declare function useCostTracker(tenantId: string, budgetConfig?: BudgetConfig): {
138
+ status: BudgetStatus | null;
139
+ stats: UsageStats | null;
140
+ loading: boolean;
141
+ recordUsage: (usage: Omit<UsageRecord, 'id' | 'timestamp'>) => Promise<void>;
142
+ canMakeRequest: () => Promise<{
143
+ allowed: boolean;
144
+ reason?: string;
145
+ }>;
146
+ refresh: () => Promise<void>;
147
+ };
148
+ //# sourceMappingURL=cost-tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cost-tracker.d.ts","sourceRoot":"","sources":["../src/cost-tracker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,120 @@
1
+ import { ILLMProvider, LLMChatRequest, LLMChatResponse, LLMProviderConfig } from './llm-providers';
2
+
3
+ /** Fallback strategy type */
4
+ export type FallbackStrategy = 'retry' | 'failover' | 'cache' | 'offline' | 'graceful-degrade' | 'circuit-breaker';
5
+ /** Fallback configuration */
6
+ export interface FallbackConfig {
7
+ /** Primary strategies to try in order */
8
+ strategies: FallbackStrategy[];
9
+ /** Max retries for 'retry' strategy */
10
+ maxRetries?: number;
11
+ /** Retry delay in ms */
12
+ retryDelay?: number;
13
+ /** Exponential backoff multiplier */
14
+ backoffMultiplier?: number;
15
+ /** Backup provider configs for 'failover' */
16
+ backupProviders?: LLMProviderConfig[];
17
+ /** Cache TTL in ms for 'cache' strategy */
18
+ cacheTTL?: number;
19
+ /** Offline model config for 'offline' strategy */
20
+ offlineConfig?: LLMProviderConfig;
21
+ /** Circuit breaker threshold (failures before opening) */
22
+ circuitBreakerThreshold?: number;
23
+ /** Circuit breaker reset time in ms */
24
+ circuitBreakerResetTime?: number;
25
+ /** Callback when fallback is triggered */
26
+ onFallback?: (strategy: FallbackStrategy, error: Error) => void;
27
+ }
28
+ /** Circuit breaker state */
29
+ interface CircuitBreakerState {
30
+ failures: number;
31
+ lastFailure: number;
32
+ isOpen: boolean;
33
+ }
34
+ /**
35
+ * Resilient LLM client with fallback strategies
36
+ */
37
+ export declare class ResilientLLMClient {
38
+ private primaryProvider;
39
+ private backupProviders;
40
+ private config;
41
+ private cache;
42
+ private circuitBreakers;
43
+ private offlineProvider?;
44
+ constructor(primaryProvider: ILLMProvider, fallbackConfig?: FallbackConfig);
45
+ /**
46
+ * Make a chat request with fallback strategies
47
+ */
48
+ chat(request: LLMChatRequest): Promise<LLMChatResponse>;
49
+ /**
50
+ * Execute fallback strategies
51
+ */
52
+ private executeWithFallback;
53
+ /**
54
+ * Execute a specific fallback strategy
55
+ */
56
+ private executeStrategy;
57
+ /**
58
+ * Retry with exponential backoff
59
+ */
60
+ private retryStrategy;
61
+ /**
62
+ * Try backup providers
63
+ */
64
+ private failoverStrategy;
65
+ /**
66
+ * Return cached response
67
+ */
68
+ private cacheStrategy;
69
+ /**
70
+ * Use offline/local model
71
+ */
72
+ private offlineStrategy;
73
+ /**
74
+ * Return a gracefully degraded response
75
+ */
76
+ private gracefulDegradeStrategy;
77
+ /**
78
+ * Generate a helpful degraded response
79
+ */
80
+ private generateDegradedResponse;
81
+ private isCircuitOpen;
82
+ private recordFailure;
83
+ private openCircuitBreaker;
84
+ private resetCircuitBreaker;
85
+ private delay;
86
+ /**
87
+ * Add a backup provider
88
+ */
89
+ addBackupProvider(provider: ILLMProvider): void;
90
+ /**
91
+ * Set offline provider
92
+ */
93
+ setOfflineProvider(provider: ILLMProvider): void;
94
+ /**
95
+ * Clear response cache
96
+ */
97
+ clearCache(): void;
98
+ /**
99
+ * Reset all circuit breakers
100
+ */
101
+ resetAllCircuitBreakers(): void;
102
+ /**
103
+ * Get circuit breaker status
104
+ */
105
+ getCircuitBreakerStatus(): Record<string, CircuitBreakerState>;
106
+ /**
107
+ * Perform health check on all providers
108
+ */
109
+ healthCheck(): Promise<Record<string, boolean>>;
110
+ }
111
+ /**
112
+ * Create a resilient LLM client with default fallback configuration
113
+ */
114
+ export declare function createResilientClient(primaryConfig: LLMProviderConfig, fallbackConfig?: FallbackConfig): ResilientLLMClient;
115
+ /**
116
+ * Create a resilient client with recommended configuration
117
+ */
118
+ export declare function createResilientClientWithDefaults(primaryConfig: LLMProviderConfig, backupConfig?: LLMProviderConfig): ResilientLLMClient;
119
+ export {};
120
+ //# sourceMappingURL=fallback-strategies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fallback-strategies.d.ts","sourceRoot":"","sources":["../src/fallback-strategies.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,eAAe,EACf,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAOzB,6BAA6B;AAC7B,MAAM,MAAM,gBAAgB,GACxB,OAAO,GACP,UAAU,GACV,OAAO,GACP,SAAS,GACT,kBAAkB,GAClB,iBAAiB,CAAC;AAEtB,6BAA6B;AAC7B,MAAM,WAAW,cAAc;IAC7B,yCAAyC;IACzC,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,6CAA6C;IAC7C,eAAe,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACtC,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,0DAA0D;IAC1D,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,uCAAuC;IACvC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,0CAA0C;IAC1C,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACjE;AASD,4BAA4B;AAC5B,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB;AA4ED;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,eAAe,CAAe;IACtC,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,eAAe,CAA+C;IACtE,OAAO,CAAC,eAAe,CAAC,CAAe;gBAE3B,eAAe,EAAE,YAAY,EAAE,cAAc,CAAC,EAAE,cAAc;IA8B1E;;OAEG;IACG,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAiB7D;;OAEG;YACW,mBAAmB;IAoBjC;;OAEG;YACW,eAAe;IA+B7B;;OAEG;YACW,aAAa;IAkB3B;;OAEG;YACW,gBAAgB;IAmB9B;;OAEG;IACH,OAAO,CAAC,aAAa;IAWrB;;OAEG;YACW,eAAe;IAY7B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAyB/B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA6BhC,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,KAAK;IAMb;;OAEG;IACH,iBAAiB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAI/C;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAIhD;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,uBAAuB,IAAI,IAAI;IAI/B;;OAEG;IACH,uBAAuB,IAAI,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC;IAQ9D;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAetD;AAMD;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,iBAAiB,EAChC,cAAc,CAAC,EAAE,cAAc,GAC9B,kBAAkB,CAGpB;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,aAAa,EAAE,iBAAiB,EAChC,YAAY,CAAC,EAAE,iBAAiB,GAC/B,kBAAkB,CAoBpB"}