hazo_llm_api 1.2.12 → 1.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.
- package/README.md +321 -8
- package/config/hazo_llm_api_config.ini +33 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +2 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/llm_call_inspector/index.d.ts +6 -0
- package/dist/components/llm_call_inspector/index.d.ts.map +1 -0
- package/dist/components/llm_call_inspector/index.js +5 -0
- package/dist/components/llm_call_inspector/index.js.map +1 -0
- package/dist/components/llm_call_inspector/llm_call_inspector.d.ts +18 -0
- package/dist/components/llm_call_inspector/llm_call_inspector.d.ts.map +1 -0
- package/dist/components/llm_call_inspector/llm_call_inspector.js +103 -0
- package/dist/components/llm_call_inspector/llm_call_inspector.js.map +1 -0
- package/dist/components/llm_cost_dashboard/index.d.ts +6 -0
- package/dist/components/llm_cost_dashboard/index.d.ts.map +1 -0
- package/dist/components/llm_cost_dashboard/index.js +5 -0
- package/dist/components/llm_cost_dashboard/index.js.map +1 -0
- package/dist/components/llm_cost_dashboard/llm_cost_dashboard.d.ts +16 -0
- package/dist/components/llm_cost_dashboard/llm_cost_dashboard.d.ts.map +1 -0
- package/dist/components/llm_cost_dashboard/llm_cost_dashboard.js +154 -0
- package/dist/components/llm_cost_dashboard/llm_cost_dashboard.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/lib/cascade/cascade_runner.d.ts +50 -0
- package/dist/lib/cascade/cascade_runner.d.ts.map +1 -0
- package/dist/lib/cascade/cascade_runner.js +115 -0
- package/dist/lib/cascade/cascade_runner.js.map +1 -0
- package/dist/lib/cascade/index.d.ts +5 -0
- package/dist/lib/cascade/index.d.ts.map +1 -0
- package/dist/lib/cascade/index.js +4 -0
- package/dist/lib/cascade/index.js.map +1 -0
- package/dist/lib/cascade/types.d.ts +35 -0
- package/dist/lib/cascade/types.d.ts.map +1 -0
- package/dist/lib/cascade/types.js +14 -0
- package/dist/lib/cascade/types.js.map +1 -0
- package/dist/lib/cost_cap/cost_cap.d.ts +40 -0
- package/dist/lib/cost_cap/cost_cap.d.ts.map +1 -0
- package/dist/lib/cost_cap/cost_cap.js +150 -0
- package/dist/lib/cost_cap/cost_cap.js.map +1 -0
- package/dist/lib/cost_cap/index.d.ts +3 -0
- package/dist/lib/cost_cap/index.d.ts.map +1 -0
- package/dist/lib/cost_cap/index.js +2 -0
- package/dist/lib/cost_cap/index.js.map +1 -0
- package/dist/lib/database/init_api_log.d.ts +10 -0
- package/dist/lib/database/init_api_log.d.ts.map +1 -0
- package/dist/lib/database/init_api_log.js +91 -0
- package/dist/lib/database/init_api_log.js.map +1 -0
- package/dist/lib/hazo_connect/direct_db_connect.d.ts +11 -7
- package/dist/lib/hazo_connect/direct_db_connect.d.ts.map +1 -1
- package/dist/lib/hazo_connect/direct_db_connect.js +59 -6
- package/dist/lib/hazo_connect/direct_db_connect.js.map +1 -1
- package/dist/lib/hazo_connect/types.d.ts +35 -3
- package/dist/lib/hazo_connect/types.d.ts.map +1 -1
- package/dist/lib/llm_api/embed_cache.d.ts +15 -0
- package/dist/lib/llm_api/embed_cache.d.ts.map +1 -0
- package/dist/lib/llm_api/embed_cache.js +53 -0
- package/dist/lib/llm_api/embed_cache.js.map +1 -0
- package/dist/lib/llm_api/hazo_llm_document_text.d.ts.map +1 -1
- package/dist/lib/llm_api/hazo_llm_document_text.js +56 -14
- package/dist/lib/llm_api/hazo_llm_document_text.js.map +1 -1
- package/dist/lib/llm_api/hazo_llm_dynamic_data_extract.d.ts.map +1 -1
- package/dist/lib/llm_api/hazo_llm_dynamic_data_extract.js +19 -1
- package/dist/lib/llm_api/hazo_llm_dynamic_data_extract.js.map +1 -1
- package/dist/lib/llm_api/hazo_llm_embed.d.ts +10 -0
- package/dist/lib/llm_api/hazo_llm_embed.d.ts.map +1 -0
- package/dist/lib/llm_api/hazo_llm_embed.js +80 -0
- package/dist/lib/llm_api/hazo_llm_embed.js.map +1 -0
- package/dist/lib/llm_api/hazo_llm_image_image.d.ts.map +1 -1
- package/dist/lib/llm_api/hazo_llm_image_image.js +56 -14
- package/dist/lib/llm_api/hazo_llm_image_image.js.map +1 -1
- package/dist/lib/llm_api/hazo_llm_image_text.d.ts.map +1 -1
- package/dist/lib/llm_api/hazo_llm_image_text.js +56 -14
- package/dist/lib/llm_api/hazo_llm_image_text.js.map +1 -1
- package/dist/lib/llm_api/hazo_llm_prompt_chain.d.ts.map +1 -1
- package/dist/lib/llm_api/hazo_llm_prompt_chain.js +17 -1
- package/dist/lib/llm_api/hazo_llm_prompt_chain.js.map +1 -1
- package/dist/lib/llm_api/hazo_llm_text_image.d.ts.map +1 -1
- package/dist/lib/llm_api/hazo_llm_text_image.js +56 -14
- package/dist/lib/llm_api/hazo_llm_text_image.js.map +1 -1
- package/dist/lib/llm_api/hazo_llm_text_text.d.ts.map +1 -1
- package/dist/lib/llm_api/hazo_llm_text_text.js +90 -15
- package/dist/lib/llm_api/hazo_llm_text_text.js.map +1 -1
- package/dist/lib/llm_api/index.d.ts +29 -1
- package/dist/lib/llm_api/index.d.ts.map +1 -1
- package/dist/lib/llm_api/index.js +433 -6
- package/dist/lib/llm_api/index.js.map +1 -1
- package/dist/lib/llm_api/prompt_parts_helper.d.ts +15 -0
- package/dist/lib/llm_api/prompt_parts_helper.d.ts.map +1 -0
- package/dist/lib/llm_api/prompt_parts_helper.js +9 -0
- package/dist/lib/llm_api/prompt_parts_helper.js.map +1 -0
- package/dist/lib/llm_api/types.d.ts +187 -2
- package/dist/lib/llm_api/types.d.ts.map +1 -1
- package/dist/lib/llm_api/types.js +4 -0
- package/dist/lib/llm_api/types.js.map +1 -1
- package/dist/lib/maintenance/purge_log_job.d.ts +23 -0
- package/dist/lib/maintenance/purge_log_job.d.ts.map +1 -0
- package/dist/lib/maintenance/purge_log_job.js +42 -0
- package/dist/lib/maintenance/purge_log_job.js.map +1 -0
- package/dist/lib/observability/log_context.d.ts +15 -0
- package/dist/lib/observability/log_context.d.ts.map +1 -0
- package/dist/lib/observability/log_context.js +32 -0
- package/dist/lib/observability/log_context.js.map +1 -0
- package/dist/lib/observability/log_writer.d.ts +35 -0
- package/dist/lib/observability/log_writer.d.ts.map +1 -0
- package/dist/lib/observability/log_writer.js +106 -0
- package/dist/lib/observability/log_writer.js.map +1 -0
- package/dist/lib/observability/queries.d.ts +15 -0
- package/dist/lib/observability/queries.d.ts.map +1 -0
- package/dist/lib/observability/queries.js +78 -0
- package/dist/lib/observability/queries.js.map +1 -0
- package/dist/lib/observability/types.d.ts +77 -0
- package/dist/lib/observability/types.d.ts.map +1 -0
- package/dist/lib/observability/types.js +8 -0
- package/dist/lib/observability/types.js.map +1 -0
- package/dist/lib/pricing/pricing.d.ts +49 -0
- package/dist/lib/pricing/pricing.d.ts.map +1 -0
- package/dist/lib/pricing/pricing.js +153 -0
- package/dist/lib/pricing/pricing.js.map +1 -0
- package/dist/lib/pricing/pricing.json +75 -0
- package/dist/lib/pricing/types.d.ts +58 -0
- package/dist/lib/pricing/types.d.ts.map +1 -0
- package/dist/lib/pricing/types.js +8 -0
- package/dist/lib/pricing/types.js.map +1 -0
- package/dist/lib/providers/anthropic/anthropic_client.d.ts +71 -0
- package/dist/lib/providers/anthropic/anthropic_client.d.ts.map +1 -0
- package/dist/lib/providers/anthropic/anthropic_client.js +134 -0
- package/dist/lib/providers/anthropic/anthropic_client.js.map +1 -0
- package/dist/lib/providers/anthropic/anthropic_provider.d.ts +60 -0
- package/dist/lib/providers/anthropic/anthropic_provider.d.ts.map +1 -0
- package/dist/lib/providers/anthropic/anthropic_provider.js +273 -0
- package/dist/lib/providers/anthropic/anthropic_provider.js.map +1 -0
- package/dist/lib/providers/anthropic/anthropic_response_to_usage.d.ts +21 -0
- package/dist/lib/providers/anthropic/anthropic_response_to_usage.d.ts.map +1 -0
- package/dist/lib/providers/anthropic/anthropic_response_to_usage.js +46 -0
- package/dist/lib/providers/anthropic/anthropic_response_to_usage.js.map +1 -0
- package/dist/lib/providers/anthropic/index.d.ts +3 -0
- package/dist/lib/providers/anthropic/index.d.ts.map +1 -0
- package/dist/lib/providers/anthropic/index.js +2 -0
- package/dist/lib/providers/anthropic/index.js.map +1 -0
- package/dist/lib/providers/deepseek/deepseek_client.d.ts +55 -0
- package/dist/lib/providers/deepseek/deepseek_client.d.ts.map +1 -0
- package/dist/lib/providers/deepseek/deepseek_client.js +129 -0
- package/dist/lib/providers/deepseek/deepseek_client.js.map +1 -0
- package/dist/lib/providers/deepseek/deepseek_provider.d.ts +50 -0
- package/dist/lib/providers/deepseek/deepseek_provider.d.ts.map +1 -0
- package/dist/lib/providers/deepseek/deepseek_provider.js +147 -0
- package/dist/lib/providers/deepseek/deepseek_provider.js.map +1 -0
- package/dist/lib/providers/deepseek/deepseek_response_to_usage.d.ts +21 -0
- package/dist/lib/providers/deepseek/deepseek_response_to_usage.d.ts.map +1 -0
- package/dist/lib/providers/deepseek/deepseek_response_to_usage.js +40 -0
- package/dist/lib/providers/deepseek/deepseek_response_to_usage.js.map +1 -0
- package/dist/lib/providers/deepseek/index.d.ts +3 -0
- package/dist/lib/providers/deepseek/index.d.ts.map +1 -0
- package/dist/lib/providers/deepseek/index.js +2 -0
- package/dist/lib/providers/deepseek/index.js.map +1 -0
- package/dist/lib/providers/gemini/gemini_provider.d.ts.map +1 -1
- package/dist/lib/providers/gemini/gemini_provider.js +40 -4
- package/dist/lib/providers/gemini/gemini_provider.js.map +1 -1
- package/dist/lib/providers/gemini/gemini_response_to_usage.d.ts +37 -0
- package/dist/lib/providers/gemini/gemini_response_to_usage.d.ts.map +1 -0
- package/dist/lib/providers/gemini/gemini_response_to_usage.js +49 -0
- package/dist/lib/providers/gemini/gemini_response_to_usage.js.map +1 -0
- package/dist/lib/providers/index.d.ts +3 -0
- package/dist/lib/providers/index.d.ts.map +1 -1
- package/dist/lib/providers/index.js +3 -0
- package/dist/lib/providers/index.js.map +1 -1
- package/dist/lib/providers/openai/index.d.ts +3 -0
- package/dist/lib/providers/openai/index.d.ts.map +1 -0
- package/dist/lib/providers/openai/index.js +2 -0
- package/dist/lib/providers/openai/index.js.map +1 -0
- package/dist/lib/providers/openai/openai_client.d.ts +99 -0
- package/dist/lib/providers/openai/openai_client.d.ts.map +1 -0
- package/dist/lib/providers/openai/openai_client.js +187 -0
- package/dist/lib/providers/openai/openai_client.js.map +1 -0
- package/dist/lib/providers/openai/openai_provider.d.ts +66 -0
- package/dist/lib/providers/openai/openai_provider.d.ts.map +1 -0
- package/dist/lib/providers/openai/openai_provider.js +297 -0
- package/dist/lib/providers/openai/openai_provider.js.map +1 -0
- package/dist/lib/providers/openai/openai_response_to_usage.d.ts +21 -0
- package/dist/lib/providers/openai/openai_response_to_usage.d.ts.map +1 -0
- package/dist/lib/providers/openai/openai_response_to_usage.js +50 -0
- package/dist/lib/providers/openai/openai_response_to_usage.js.map +1 -0
- package/dist/lib/providers/qwen/qwen_provider.d.ts.map +1 -1
- package/dist/lib/providers/qwen/qwen_provider.js +52 -5
- package/dist/lib/providers/qwen/qwen_provider.js.map +1 -1
- package/dist/lib/providers/qwen/qwen_response_to_usage.d.ts +36 -0
- package/dist/lib/providers/qwen/qwen_response_to_usage.d.ts.map +1 -0
- package/dist/lib/providers/qwen/qwen_response_to_usage.js +50 -0
- package/dist/lib/providers/qwen/qwen_response_to_usage.js.map +1 -0
- package/dist/lib/providers/types.d.ts +16 -6
- package/dist/lib/providers/types.d.ts.map +1 -1
- package/dist/lib/providers/types.js +1 -0
- package/dist/lib/providers/types.js.map +1 -1
- package/dist/lib/utils.d.ts +13 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +16 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/server.d.ts +16 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +29 -2
- package/dist/server.js.map +1 -1
- package/migrations/hazo_llm_api_log.sql +69 -0
- package/package.json +26 -11
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cost Cap Gate
|
|
3
|
+
*
|
|
4
|
+
* Pre-call gate that checks the accumulated cost for the current session
|
|
5
|
+
* against a configured cap. Returns a COST_LIMIT_EXCEEDED error response
|
|
6
|
+
* when the cap is reached (block mode) or fires a warn hook and proceeds
|
|
7
|
+
* (warn mode).
|
|
8
|
+
*
|
|
9
|
+
* Requires:
|
|
10
|
+
* - hazo_llm_api_log table to exist (ensure_api_log_table must be called first)
|
|
11
|
+
* - A session_id available via hazo_logs ALS (safe_get_log_context)
|
|
12
|
+
* - cost_cap.enabled = true in LLMApiConfig
|
|
13
|
+
*/
|
|
14
|
+
import { build_error_response } from '../llm_api/provider_helper.js';
|
|
15
|
+
import { LLM_ERROR_CODES } from '../llm_api/types.js';
|
|
16
|
+
import { safe_get_log_context } from '../observability/log_context.js';
|
|
17
|
+
// =============================================================================
|
|
18
|
+
// Internal Helpers
|
|
19
|
+
// =============================================================================
|
|
20
|
+
/**
|
|
21
|
+
* Compute the window_start timestamp string for the rolling window.
|
|
22
|
+
*
|
|
23
|
+
* - 'day': rolling 24 hours
|
|
24
|
+
* - 'hour': rolling 1 hour
|
|
25
|
+
* - 'session': epoch (all records for this session regardless of age)
|
|
26
|
+
*/
|
|
27
|
+
function get_window_start(window = 'session') {
|
|
28
|
+
if (window === 'day') {
|
|
29
|
+
return new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString();
|
|
30
|
+
}
|
|
31
|
+
if (window === 'hour') {
|
|
32
|
+
return new Date(Date.now() - 60 * 60 * 1000).toISOString();
|
|
33
|
+
}
|
|
34
|
+
// 'session': use epoch to capture all records for this session
|
|
35
|
+
return '1970-01-01T00:00:00.000Z';
|
|
36
|
+
}
|
|
37
|
+
// =============================================================================
|
|
38
|
+
// Public API
|
|
39
|
+
// =============================================================================
|
|
40
|
+
/**
|
|
41
|
+
* Ensure the session_id + created_at composite index exists on hazo_llm_api_log.
|
|
42
|
+
* Idempotent — safe to call on every initialization.
|
|
43
|
+
* Errors are swallowed to avoid crashing initialization.
|
|
44
|
+
*/
|
|
45
|
+
export async function ensure_cost_cap_index(connect, logger) {
|
|
46
|
+
if (!connect.raw_sql) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
try {
|
|
50
|
+
await connect.raw_sql('CREATE INDEX IF NOT EXISTS idx_llm_log_session_created ON hazo_llm_api_log(session_id, created_at)');
|
|
51
|
+
}
|
|
52
|
+
catch (err) {
|
|
53
|
+
logger.warn('ensure_cost_cap_index: failed to create index (non-fatal)', {
|
|
54
|
+
error: err instanceof Error ? err.message : String(err),
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Query the total cost_usd accumulated for a session within the given window.
|
|
60
|
+
*
|
|
61
|
+
* Returns 0 if connect has no raw_sql, if there are no matching rows, or if
|
|
62
|
+
* any DB error occurs (errors are swallowed).
|
|
63
|
+
*/
|
|
64
|
+
export async function query_session_cost(connect, session_id, window_start, logger) {
|
|
65
|
+
if (!connect.raw_sql) {
|
|
66
|
+
return 0;
|
|
67
|
+
}
|
|
68
|
+
try {
|
|
69
|
+
const rows = await connect.raw_sql('SELECT COALESCE(SUM(cost_usd), 0) AS total FROM hazo_llm_api_log WHERE session_id = ? AND created_at >= ?', [session_id, window_start]);
|
|
70
|
+
if (!rows || rows.length === 0) {
|
|
71
|
+
return 0;
|
|
72
|
+
}
|
|
73
|
+
const total = rows[0].total;
|
|
74
|
+
return typeof total === 'number' ? total : Number(total) || 0;
|
|
75
|
+
}
|
|
76
|
+
catch (err) {
|
|
77
|
+
logger.warn('query_session_cost: failed to query cost (non-fatal)', {
|
|
78
|
+
session_id,
|
|
79
|
+
error: err instanceof Error ? err.message : String(err),
|
|
80
|
+
});
|
|
81
|
+
return 0;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Pre-call cost cap gate.
|
|
86
|
+
*
|
|
87
|
+
* Returns:
|
|
88
|
+
* - `null` if the gate should not block (cap disabled, no session, current < cap, or warn mode)
|
|
89
|
+
* - `LLMResponse` if the call should be blocked (block mode, cap exceeded)
|
|
90
|
+
*
|
|
91
|
+
* In warn mode the `cost_cap_exceeded` hook is called (errors swallowed) and null is returned
|
|
92
|
+
* so the call proceeds.
|
|
93
|
+
*/
|
|
94
|
+
export async function check_cost_cap_gate(connect, cap_config, logger) {
|
|
95
|
+
// Skip if cap is not configured or not enabled
|
|
96
|
+
if (!cap_config || cap_config.enabled !== true) {
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
// Skip if no connect available
|
|
100
|
+
if (!connect) {
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
103
|
+
// Get session_id from ALS context
|
|
104
|
+
const log_ctx = await safe_get_log_context();
|
|
105
|
+
const session_id = log_ctx?.sessionId;
|
|
106
|
+
if (!session_id) {
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
// Compute window start
|
|
110
|
+
const window_start = get_window_start(cap_config.window ?? 'session');
|
|
111
|
+
// Query accumulated cost
|
|
112
|
+
const current_usd = await query_session_cost(connect, session_id, window_start, logger);
|
|
113
|
+
// Get cap for this session
|
|
114
|
+
let cap_usd;
|
|
115
|
+
try {
|
|
116
|
+
cap_usd = await cap_config.get_user_cap({ session_id });
|
|
117
|
+
}
|
|
118
|
+
catch (err) {
|
|
119
|
+
logger.warn('check_cost_cap_gate: get_user_cap threw (non-fatal, skipping cap check)', {
|
|
120
|
+
session_id,
|
|
121
|
+
error: err instanceof Error ? err.message : String(err),
|
|
122
|
+
});
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
125
|
+
// Skip enforcement if cap is 0 or negative
|
|
126
|
+
if (cap_usd <= 0) {
|
|
127
|
+
return null;
|
|
128
|
+
}
|
|
129
|
+
// Under cap — proceed
|
|
130
|
+
if (current_usd < cap_usd) {
|
|
131
|
+
return null;
|
|
132
|
+
}
|
|
133
|
+
// Cap exceeded — handle according to mode
|
|
134
|
+
const mode = cap_config.on_exceeded ?? 'block';
|
|
135
|
+
if (mode === 'warn') {
|
|
136
|
+
// Fire the warn hook (errors swallowed), then proceed
|
|
137
|
+
if (cap_config.cost_cap_exceeded) {
|
|
138
|
+
try {
|
|
139
|
+
await cap_config.cost_cap_exceeded({ session_id, current_usd, cap_usd });
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
// Swallow hook errors
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return null; // Proceed with the call
|
|
146
|
+
}
|
|
147
|
+
// Default: block mode — return error response
|
|
148
|
+
return build_error_response(LLM_ERROR_CODES.COST_LIMIT_EXCEEDED, `Cost cap exceeded: $${current_usd.toFixed(6)} spent of $${cap_usd.toFixed(6)} limit`, false, { session_id, current_usd, cap_usd });
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=cost_cap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cost_cap.js","sourceRoot":"","sources":["../../../src/lib/cost_cap/cost_cap.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/cost_cap/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/cost_cap/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { HazoConnect } from "../hazo_connect/types.js";
|
|
2
|
+
import type { Logger } from "../llm_api/types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Idempotently create the hazo_llm_api_log table + its indexes on the active connection.
|
|
5
|
+
* Detects dialect from the connect adapter and runs the matching DDL.
|
|
6
|
+
*
|
|
7
|
+
* Safe to call on every initialize_llm_api() — if the table exists, this is a no-op.
|
|
8
|
+
*/
|
|
9
|
+
export declare function ensure_api_log_table(connect: HazoConnect, logger: Logger): Promise<void>;
|
|
10
|
+
//# sourceMappingURL=init_api_log.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init_api_log.d.ts","sourceRoot":"","sources":["../../../src/lib/database/init_api_log.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuF9F"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Idempotently create the hazo_llm_api_log table + its indexes on the active connection.
|
|
3
|
+
* Detects dialect from the connect adapter and runs the matching DDL.
|
|
4
|
+
*
|
|
5
|
+
* Safe to call on every initialize_llm_api() — if the table exists, this is a no-op.
|
|
6
|
+
*/
|
|
7
|
+
export async function ensure_api_log_table(connect, logger) {
|
|
8
|
+
const dialect = connect.dialect ?? "sqlite";
|
|
9
|
+
const ddl_sqlite = `
|
|
10
|
+
CREATE TABLE IF NOT EXISTS hazo_llm_api_log (
|
|
11
|
+
id TEXT PRIMARY KEY,
|
|
12
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
13
|
+
service_type TEXT NOT NULL,
|
|
14
|
+
provider TEXT NOT NULL,
|
|
15
|
+
model TEXT,
|
|
16
|
+
success INTEGER NOT NULL,
|
|
17
|
+
tokens_input INTEGER,
|
|
18
|
+
tokens_output INTEGER,
|
|
19
|
+
tokens_cached_input INTEGER,
|
|
20
|
+
tokens_total INTEGER,
|
|
21
|
+
cost_usd REAL,
|
|
22
|
+
pricing_kind TEXT,
|
|
23
|
+
pricing_input_per_1m_usd REAL,
|
|
24
|
+
pricing_output_per_1m_usd REAL,
|
|
25
|
+
pricing_per_image_usd REAL,
|
|
26
|
+
latency_ms INTEGER,
|
|
27
|
+
finish_reason TEXT,
|
|
28
|
+
error_code TEXT,
|
|
29
|
+
error_message TEXT,
|
|
30
|
+
prompt_area TEXT,
|
|
31
|
+
prompt_key TEXT,
|
|
32
|
+
prompt_id TEXT,
|
|
33
|
+
session_id TEXT,
|
|
34
|
+
reference TEXT,
|
|
35
|
+
attempts_count INTEGER DEFAULT 1,
|
|
36
|
+
context_json TEXT DEFAULT '{}'
|
|
37
|
+
)
|
|
38
|
+
`;
|
|
39
|
+
const ddl_postgres = `
|
|
40
|
+
CREATE TABLE IF NOT EXISTS hazo_llm_api_log (
|
|
41
|
+
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
42
|
+
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
43
|
+
service_type TEXT NOT NULL,
|
|
44
|
+
provider TEXT NOT NULL,
|
|
45
|
+
model TEXT,
|
|
46
|
+
success BOOLEAN NOT NULL,
|
|
47
|
+
tokens_input INTEGER,
|
|
48
|
+
tokens_output INTEGER,
|
|
49
|
+
tokens_cached_input INTEGER,
|
|
50
|
+
tokens_total INTEGER,
|
|
51
|
+
cost_usd DOUBLE PRECISION,
|
|
52
|
+
pricing_kind TEXT,
|
|
53
|
+
pricing_input_per_1m_usd DOUBLE PRECISION,
|
|
54
|
+
pricing_output_per_1m_usd DOUBLE PRECISION,
|
|
55
|
+
pricing_per_image_usd DOUBLE PRECISION,
|
|
56
|
+
latency_ms INTEGER,
|
|
57
|
+
finish_reason TEXT,
|
|
58
|
+
error_code TEXT,
|
|
59
|
+
error_message TEXT,
|
|
60
|
+
prompt_area TEXT,
|
|
61
|
+
prompt_key TEXT,
|
|
62
|
+
prompt_id UUID,
|
|
63
|
+
session_id TEXT,
|
|
64
|
+
reference TEXT,
|
|
65
|
+
attempts_count INTEGER DEFAULT 1,
|
|
66
|
+
context_json JSONB DEFAULT '{}'::jsonb
|
|
67
|
+
)
|
|
68
|
+
`;
|
|
69
|
+
const indexes = [
|
|
70
|
+
"CREATE INDEX IF NOT EXISTS idx_llm_log_created ON hazo_llm_api_log(created_at DESC)",
|
|
71
|
+
"CREATE INDEX IF NOT EXISTS idx_llm_log_provider ON hazo_llm_api_log(provider, created_at DESC)",
|
|
72
|
+
"CREATE INDEX IF NOT EXISTS idx_llm_log_success ON hazo_llm_api_log(success, created_at DESC)",
|
|
73
|
+
"CREATE INDEX IF NOT EXISTS idx_llm_log_session ON hazo_llm_api_log(session_id, created_at DESC)",
|
|
74
|
+
"CREATE INDEX IF NOT EXISTS idx_llm_log_service ON hazo_llm_api_log(service_type, created_at DESC)",
|
|
75
|
+
];
|
|
76
|
+
const ddl = dialect === "sqlite" ? ddl_sqlite : ddl_postgres;
|
|
77
|
+
try {
|
|
78
|
+
await connect.raw_sql(ddl);
|
|
79
|
+
for (const idx of indexes) {
|
|
80
|
+
await connect.raw_sql(idx);
|
|
81
|
+
}
|
|
82
|
+
logger.info("hazo_llm_api_log table ensured", { dialect });
|
|
83
|
+
}
|
|
84
|
+
catch (err) {
|
|
85
|
+
logger.error("Failed to ensure hazo_llm_api_log table", {
|
|
86
|
+
error: err instanceof Error ? err.message : String(err),
|
|
87
|
+
});
|
|
88
|
+
throw err;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=init_api_log.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init_api_log.js","sourceRoot":"","sources":["../../../src/lib/database/init_api_log.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAAoB,EAAE,MAAc;IAC7E,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC;IAE5C,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BlB,CAAC;IAEF,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BpB,CAAC;IAEF,MAAM,OAAO,GAAG;QACd,sFAAsF;QACtF,gGAAgG;QAChG,+FAA+F;QAC/F,kGAAkG;QAClG,oGAAoG;KACrG,CAAC;IAEF,MAAM,GAAG,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;IAE7D,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,OAAQ,CAAC,GAAG,CAAC,CAAC;QAC5B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,OAAO,CAAC,OAAQ,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE;YACtD,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACxD,CAAC,CAAC;QACH,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
|
|
@@ -5,16 +5,14 @@
|
|
|
5
5
|
* Suitable for use in server components, API routes, and other server-side contexts.
|
|
6
6
|
*/
|
|
7
7
|
import type { Database as SqlJsDatabase } from 'sql.js';
|
|
8
|
-
import type { HazoConnect } from './types.js';
|
|
8
|
+
import type { HazoConnect, DirectDbConnectOptions } from './types.js';
|
|
9
9
|
import type { Logger } from '../llm_api/types.js';
|
|
10
10
|
/**
|
|
11
11
|
* Create a direct database connect instance
|
|
12
12
|
*
|
|
13
|
-
*
|
|
14
|
-
* @param logger - Logger instance for database operations
|
|
15
|
-
* @returns HazoConnect implementation using direct database access
|
|
13
|
+
* Supports two call signatures:
|
|
16
14
|
*
|
|
17
|
-
*
|
|
15
|
+
* **Legacy (two-arg) form** — pass a getter function and logger:
|
|
18
16
|
* ```typescript
|
|
19
17
|
* import { create_direct_db_connect, get_database, default_logger } from 'hazo_llm_api/server';
|
|
20
18
|
*
|
|
@@ -22,11 +20,17 @@ import type { Logger } from '../llm_api/types.js';
|
|
|
22
20
|
* const { success, data } = await connect.get_all();
|
|
23
21
|
* ```
|
|
24
22
|
*
|
|
25
|
-
*
|
|
23
|
+
* **Options-object form** — pass `{ db, dialect, logger }` for access to `raw_sql` and `dialect`:
|
|
24
|
+
* ```typescript
|
|
25
|
+
* const connect = create_direct_db_connect({ db, dialect: 'sqlite', logger });
|
|
26
|
+
* const rows = await connect.raw_sql!('SELECT * FROM my_table WHERE id = ?', [id]);
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* @example In API route (legacy form)
|
|
26
30
|
* ```typescript
|
|
27
31
|
* const connect = create_direct_db_connect(() => get_database(), logger);
|
|
28
32
|
* const result = await connect.get_by_area_key('marketing', 'greeting');
|
|
29
33
|
* ```
|
|
30
34
|
*/
|
|
31
|
-
export declare function create_direct_db_connect(
|
|
35
|
+
export declare function create_direct_db_connect(get_db_or_opts: (() => SqlJsDatabase | null) | DirectDbConnectOptions, logger_arg?: Logger): HazoConnect;
|
|
32
36
|
//# sourceMappingURL=direct_db_connect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"direct_db_connect.d.ts","sourceRoot":"","sources":["../../../src/lib/hazo_connect/direct_db_connect.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,KAAK,EACV,WAAW,
|
|
1
|
+
{"version":3,"file":"direct_db_connect.d.ts","sourceRoot":"","sources":["../../../src/lib/hazo_connect/direct_db_connect.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,KAAK,EACV,WAAW,EAKX,sBAAsB,EACvB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAyBhE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,sBAAsB,EACrE,UAAU,CAAC,EAAE,MAAM,GAClB,WAAW,CAwiBb"}
|
|
@@ -27,11 +27,9 @@ function normalize_variables(variables) {
|
|
|
27
27
|
/**
|
|
28
28
|
* Create a direct database connect instance
|
|
29
29
|
*
|
|
30
|
-
*
|
|
31
|
-
* @param logger - Logger instance for database operations
|
|
32
|
-
* @returns HazoConnect implementation using direct database access
|
|
30
|
+
* Supports two call signatures:
|
|
33
31
|
*
|
|
34
|
-
*
|
|
32
|
+
* **Legacy (two-arg) form** — pass a getter function and logger:
|
|
35
33
|
* ```typescript
|
|
36
34
|
* import { create_direct_db_connect, get_database, default_logger } from 'hazo_llm_api/server';
|
|
37
35
|
*
|
|
@@ -39,13 +37,45 @@ function normalize_variables(variables) {
|
|
|
39
37
|
* const { success, data } = await connect.get_all();
|
|
40
38
|
* ```
|
|
41
39
|
*
|
|
42
|
-
*
|
|
40
|
+
* **Options-object form** — pass `{ db, dialect, logger }` for access to `raw_sql` and `dialect`:
|
|
41
|
+
* ```typescript
|
|
42
|
+
* const connect = create_direct_db_connect({ db, dialect: 'sqlite', logger });
|
|
43
|
+
* const rows = await connect.raw_sql!('SELECT * FROM my_table WHERE id = ?', [id]);
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* @example In API route (legacy form)
|
|
43
47
|
* ```typescript
|
|
44
48
|
* const connect = create_direct_db_connect(() => get_database(), logger);
|
|
45
49
|
* const result = await connect.get_by_area_key('marketing', 'greeting');
|
|
46
50
|
* ```
|
|
47
51
|
*/
|
|
48
|
-
export function create_direct_db_connect(
|
|
52
|
+
export function create_direct_db_connect(get_db_or_opts, logger_arg) {
|
|
53
|
+
// Resolve the two call forms into a unified internal shape.
|
|
54
|
+
let get_db;
|
|
55
|
+
let logger;
|
|
56
|
+
let dialect;
|
|
57
|
+
if (typeof get_db_or_opts === 'function') {
|
|
58
|
+
// Legacy two-arg form: create_direct_db_connect(() => db, logger)
|
|
59
|
+
get_db = get_db_or_opts;
|
|
60
|
+
logger = logger_arg;
|
|
61
|
+
dialect = undefined;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
// Options-object form: create_direct_db_connect({ db, dialect, logger })
|
|
65
|
+
const opts = get_db_or_opts;
|
|
66
|
+
logger = opts.logger;
|
|
67
|
+
dialect = opts.dialect ?? 'sqlite';
|
|
68
|
+
if (opts.db) {
|
|
69
|
+
const db_ref = opts.db;
|
|
70
|
+
get_db = () => db_ref;
|
|
71
|
+
}
|
|
72
|
+
else if (opts.get_db) {
|
|
73
|
+
get_db = opts.get_db;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
throw new Error('create_direct_db_connect: must provide either db or get_db in options');
|
|
77
|
+
}
|
|
78
|
+
}
|
|
49
79
|
const file_name = 'direct_db_connect.ts';
|
|
50
80
|
/**
|
|
51
81
|
* Get database or throw error
|
|
@@ -63,7 +93,30 @@ export function create_direct_db_connect(get_db, logger) {
|
|
|
63
93
|
function save_db() {
|
|
64
94
|
save_database(logger);
|
|
65
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* Execute arbitrary SQL using sql.js prepare/step pattern.
|
|
98
|
+
* Returns rows as plain objects. Works for both SELECT and DML statements.
|
|
99
|
+
*/
|
|
100
|
+
const raw_sql = async (sql, values = []) => {
|
|
101
|
+
const db = require_db();
|
|
102
|
+
const stmt = db.prepare(sql);
|
|
103
|
+
try {
|
|
104
|
+
stmt.bind(values);
|
|
105
|
+
const rows = [];
|
|
106
|
+
while (stmt.step()) {
|
|
107
|
+
rows.push(stmt.getAsObject());
|
|
108
|
+
}
|
|
109
|
+
return rows;
|
|
110
|
+
}
|
|
111
|
+
finally {
|
|
112
|
+
stmt.free();
|
|
113
|
+
}
|
|
114
|
+
};
|
|
66
115
|
return {
|
|
116
|
+
// Expose dialect and raw_sql only when the options-object form was used
|
|
117
|
+
// (dialect is undefined for the legacy form, which keeps HazoConnect.dialect optional).
|
|
118
|
+
...(dialect !== undefined ? { dialect } : {}),
|
|
119
|
+
raw_sql,
|
|
67
120
|
// =========================================================================
|
|
68
121
|
// Read Operations
|
|
69
122
|
// =========================================================================
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"direct_db_connect.js","sourceRoot":"","sources":["../../../src/lib/hazo_connect/direct_db_connect.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"direct_db_connect.js","sourceRoot":"","sources":["../../../src/lib/hazo_connect/direct_db_connect.ts"],"names":[],"mappings":"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"}
|
|
@@ -127,6 +127,18 @@ export interface HazoConnect {
|
|
|
127
127
|
* @param ids - Array of prompt UUIDs to delete
|
|
128
128
|
*/
|
|
129
129
|
bulk_delete(ids: string[]): Promise<HazoConnectBulkResponse>;
|
|
130
|
+
/**
|
|
131
|
+
* SQL dialect, when known. Used by callers that need to emit dialect-specific DDL/DML.
|
|
132
|
+
* Optional — implementations that don't expose raw SQL can omit it.
|
|
133
|
+
*/
|
|
134
|
+
dialect?: "sqlite" | "pg";
|
|
135
|
+
/**
|
|
136
|
+
* Execute arbitrary SQL against the underlying adapter. Returns rows as plain objects.
|
|
137
|
+
*
|
|
138
|
+
* Optional escape hatch — when absent, features requiring raw SQL (observability log
|
|
139
|
+
* writer, usage queries, recompute_costs) will gracefully degrade (log warning and skip).
|
|
140
|
+
*/
|
|
141
|
+
raw_sql?(sql: string, values?: unknown[]): Promise<Record<string, unknown>[]>;
|
|
130
142
|
}
|
|
131
143
|
/**
|
|
132
144
|
* Options for creating a REST API connect instance
|
|
@@ -148,13 +160,33 @@ export interface RestApiConnectOptions {
|
|
|
148
160
|
headers?: Record<string, string>;
|
|
149
161
|
}
|
|
150
162
|
/**
|
|
151
|
-
* Options for creating a direct DB connect instance
|
|
163
|
+
* Options for creating a direct DB connect instance (options-object form).
|
|
164
|
+
*
|
|
165
|
+
* Use this form when you have a direct Database reference and want access to
|
|
166
|
+
* the raw_sql escape hatch and dialect field.
|
|
167
|
+
*
|
|
168
|
+
* @example
|
|
169
|
+
* ```typescript
|
|
170
|
+
* const connect = create_direct_db_connect({ db, dialect: "sqlite", logger });
|
|
171
|
+
* const rows = await connect.raw_sql!("SELECT * FROM my_table WHERE id = ?", [id]);
|
|
172
|
+
* ```
|
|
152
173
|
*/
|
|
153
174
|
export interface DirectDbConnectOptions {
|
|
154
175
|
/**
|
|
155
|
-
*
|
|
176
|
+
* Direct database instance (sql.js Database).
|
|
177
|
+
* Provide either `db` or `get_db`, not both.
|
|
178
|
+
*/
|
|
179
|
+
db?: import('sql.js').Database;
|
|
180
|
+
/**
|
|
181
|
+
* Function to get the database instance (legacy getter form).
|
|
182
|
+
* Provide either `db` or `get_db`, not both.
|
|
183
|
+
*/
|
|
184
|
+
get_db?: () => import('sql.js').Database | null;
|
|
185
|
+
/**
|
|
186
|
+
* SQL dialect exposed on the returned HazoConnect instance.
|
|
187
|
+
* Defaults to "sqlite" when not provided.
|
|
156
188
|
*/
|
|
157
|
-
|
|
189
|
+
dialect?: "sqlite" | "pg";
|
|
158
190
|
/**
|
|
159
191
|
* Logger instance for database operations
|
|
160
192
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/hazo_connect/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/hazo_connect/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { EmbedKeyv } from './types.js';
|
|
2
|
+
/** Compute cache key: sha256hex(text):model */
|
|
3
|
+
export declare function embed_cache_key(text: string, model: string): string;
|
|
4
|
+
/** Configure the embed cache. Call this once during initialization. */
|
|
5
|
+
export declare function configure_embed_cache(opts: {
|
|
6
|
+
max_size?: number;
|
|
7
|
+
keyv?: EmbedKeyv;
|
|
8
|
+
}): void;
|
|
9
|
+
/** Look up a cached vector. Returns undefined on cache miss. */
|
|
10
|
+
export declare function embed_cache_get(text: string, model: string): Promise<number[] | undefined>;
|
|
11
|
+
/** Store a vector in the cache. Evicts oldest entry if at max_size (in-memory only). */
|
|
12
|
+
export declare function embed_cache_set(text: string, model: string, vector: number[]): Promise<void>;
|
|
13
|
+
/** Test helper — resets all state to defaults */
|
|
14
|
+
export declare function reset_embed_cache_for_test(): void;
|
|
15
|
+
//# sourceMappingURL=embed_cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embed_cache.d.ts","sourceRoot":"","sources":["../../../src/lib/llm_api/embed_cache.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAO5C,+CAA+C;AAC/C,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAGnE;AAED,uEAAuE;AACvE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB,GAAG,IAAI,CAGP;AAED,gEAAgE;AAChE,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAMhG;AAED,wFAAwF;AACxF,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAYlG;AAED,iDAAiD;AACjD,wBAAgB,0BAA0B,IAAI,IAAI,CAIjD"}
|