hazo_llm_api 1.2.13 → 2.0.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.
Files changed (247) hide show
  1. package/README.md +321 -8
  2. package/config/hazo_llm_api_config.ini +38 -0
  3. package/dist/components/index.d.ts +2 -0
  4. package/dist/components/index.d.ts.map +1 -1
  5. package/dist/components/index.js +2 -0
  6. package/dist/components/index.js.map +1 -1
  7. package/dist/components/llm_call_inspector/index.d.ts +6 -0
  8. package/dist/components/llm_call_inspector/index.d.ts.map +1 -0
  9. package/dist/components/llm_call_inspector/index.js +5 -0
  10. package/dist/components/llm_call_inspector/index.js.map +1 -0
  11. package/dist/components/llm_call_inspector/llm_call_inspector.d.ts +18 -0
  12. package/dist/components/llm_call_inspector/llm_call_inspector.d.ts.map +1 -0
  13. package/dist/components/llm_call_inspector/llm_call_inspector.js +103 -0
  14. package/dist/components/llm_call_inspector/llm_call_inspector.js.map +1 -0
  15. package/dist/components/llm_cost_dashboard/index.d.ts +6 -0
  16. package/dist/components/llm_cost_dashboard/index.d.ts.map +1 -0
  17. package/dist/components/llm_cost_dashboard/index.js +5 -0
  18. package/dist/components/llm_cost_dashboard/index.js.map +1 -0
  19. package/dist/components/llm_cost_dashboard/llm_cost_dashboard.d.ts +16 -0
  20. package/dist/components/llm_cost_dashboard/llm_cost_dashboard.d.ts.map +1 -0
  21. package/dist/components/llm_cost_dashboard/llm_cost_dashboard.js +154 -0
  22. package/dist/components/llm_cost_dashboard/llm_cost_dashboard.js.map +1 -0
  23. package/dist/components/prompt_editor/prompt_editor.d.ts.map +1 -1
  24. package/dist/components/prompt_editor/prompt_editor.js +3 -2
  25. package/dist/components/prompt_editor/prompt_editor.js.map +1 -1
  26. package/dist/components/prompt_editor/ui/alert_dialog.js +1 -1
  27. package/dist/components/prompt_editor/ui/alert_dialog.js.map +1 -1
  28. package/dist/components/prompt_editor/ui/button.js +1 -1
  29. package/dist/components/prompt_editor/ui/button.js.map +1 -1
  30. package/dist/components/prompt_editor/ui/checkbox.js +1 -1
  31. package/dist/components/prompt_editor/ui/checkbox.js.map +1 -1
  32. package/dist/components/prompt_editor/ui/dialog.js +1 -1
  33. package/dist/components/prompt_editor/ui/dialog.js.map +1 -1
  34. package/dist/components/prompt_editor/ui/index.d.ts +1 -1
  35. package/dist/components/prompt_editor/ui/index.d.ts.map +1 -1
  36. package/dist/components/prompt_editor/ui/index.js +1 -1
  37. package/dist/components/prompt_editor/ui/index.js.map +1 -1
  38. package/dist/components/prompt_editor/ui/input.js +1 -1
  39. package/dist/components/prompt_editor/ui/input.js.map +1 -1
  40. package/dist/components/prompt_editor/ui/textarea.js +1 -1
  41. package/dist/components/prompt_editor/ui/textarea.js.map +1 -1
  42. package/dist/components/prompt_editor/ui/tooltip.js +1 -1
  43. package/dist/components/prompt_editor/ui/tooltip.js.map +1 -1
  44. package/dist/index.d.ts +2 -1
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/lib/cascade/cascade_runner.d.ts +50 -0
  47. package/dist/lib/cascade/cascade_runner.d.ts.map +1 -0
  48. package/dist/lib/cascade/cascade_runner.js +115 -0
  49. package/dist/lib/cascade/cascade_runner.js.map +1 -0
  50. package/dist/lib/cascade/index.d.ts +5 -0
  51. package/dist/lib/cascade/index.d.ts.map +1 -0
  52. package/dist/lib/cascade/index.js +4 -0
  53. package/dist/lib/cascade/index.js.map +1 -0
  54. package/dist/lib/cascade/types.d.ts +35 -0
  55. package/dist/lib/cascade/types.d.ts.map +1 -0
  56. package/dist/lib/cascade/types.js +14 -0
  57. package/dist/lib/cascade/types.js.map +1 -0
  58. package/dist/lib/config/index.d.ts +1 -0
  59. package/dist/lib/config/index.d.ts.map +1 -1
  60. package/dist/lib/config/index.js +3 -0
  61. package/dist/lib/config/index.js.map +1 -1
  62. package/dist/lib/config/llm_api_config.d.ts +42 -0
  63. package/dist/lib/config/llm_api_config.d.ts.map +1 -0
  64. package/dist/lib/config/llm_api_config.js +49 -0
  65. package/dist/lib/config/llm_api_config.js.map +1 -0
  66. package/dist/lib/cost_cap/cost_cap.d.ts +40 -0
  67. package/dist/lib/cost_cap/cost_cap.d.ts.map +1 -0
  68. package/dist/lib/cost_cap/cost_cap.js +150 -0
  69. package/dist/lib/cost_cap/cost_cap.js.map +1 -0
  70. package/dist/lib/cost_cap/index.d.ts +3 -0
  71. package/dist/lib/cost_cap/index.d.ts.map +1 -0
  72. package/dist/lib/cost_cap/index.js +2 -0
  73. package/dist/lib/cost_cap/index.js.map +1 -0
  74. package/dist/lib/database/init_api_log.d.ts +10 -0
  75. package/dist/lib/database/init_api_log.d.ts.map +1 -0
  76. package/dist/lib/database/init_api_log.js +91 -0
  77. package/dist/lib/database/init_api_log.js.map +1 -0
  78. package/dist/lib/database/init_database.d.ts.map +1 -1
  79. package/dist/lib/database/init_database.js +2 -1
  80. package/dist/lib/database/init_database.js.map +1 -1
  81. package/dist/lib/hazo_connect/direct_db_connect.d.ts +11 -7
  82. package/dist/lib/hazo_connect/direct_db_connect.d.ts.map +1 -1
  83. package/dist/lib/hazo_connect/direct_db_connect.js +61 -7
  84. package/dist/lib/hazo_connect/direct_db_connect.js.map +1 -1
  85. package/dist/lib/hazo_connect/types.d.ts +35 -3
  86. package/dist/lib/hazo_connect/types.d.ts.map +1 -1
  87. package/dist/lib/llm_api/embed_cache.d.ts +15 -0
  88. package/dist/lib/llm_api/embed_cache.d.ts.map +1 -0
  89. package/dist/lib/llm_api/embed_cache.js +53 -0
  90. package/dist/lib/llm_api/embed_cache.js.map +1 -0
  91. package/dist/lib/llm_api/hazo_llm_document_text.d.ts.map +1 -1
  92. package/dist/lib/llm_api/hazo_llm_document_text.js +56 -14
  93. package/dist/lib/llm_api/hazo_llm_document_text.js.map +1 -1
  94. package/dist/lib/llm_api/hazo_llm_dynamic_data_extract.d.ts.map +1 -1
  95. package/dist/lib/llm_api/hazo_llm_dynamic_data_extract.js +19 -1
  96. package/dist/lib/llm_api/hazo_llm_dynamic_data_extract.js.map +1 -1
  97. package/dist/lib/llm_api/hazo_llm_embed.d.ts +10 -0
  98. package/dist/lib/llm_api/hazo_llm_embed.d.ts.map +1 -0
  99. package/dist/lib/llm_api/hazo_llm_embed.js +80 -0
  100. package/dist/lib/llm_api/hazo_llm_embed.js.map +1 -0
  101. package/dist/lib/llm_api/hazo_llm_image_image.d.ts.map +1 -1
  102. package/dist/lib/llm_api/hazo_llm_image_image.js +56 -14
  103. package/dist/lib/llm_api/hazo_llm_image_image.js.map +1 -1
  104. package/dist/lib/llm_api/hazo_llm_image_text.d.ts.map +1 -1
  105. package/dist/lib/llm_api/hazo_llm_image_text.js +56 -14
  106. package/dist/lib/llm_api/hazo_llm_image_text.js.map +1 -1
  107. package/dist/lib/llm_api/hazo_llm_prompt_chain.d.ts.map +1 -1
  108. package/dist/lib/llm_api/hazo_llm_prompt_chain.js +19 -2
  109. package/dist/lib/llm_api/hazo_llm_prompt_chain.js.map +1 -1
  110. package/dist/lib/llm_api/hazo_llm_text_image.d.ts.map +1 -1
  111. package/dist/lib/llm_api/hazo_llm_text_image.js +56 -14
  112. package/dist/lib/llm_api/hazo_llm_text_image.js.map +1 -1
  113. package/dist/lib/llm_api/hazo_llm_text_text.d.ts.map +1 -1
  114. package/dist/lib/llm_api/hazo_llm_text_text.js +90 -15
  115. package/dist/lib/llm_api/hazo_llm_text_text.js.map +1 -1
  116. package/dist/lib/llm_api/index.d.ts +31 -3
  117. package/dist/lib/llm_api/index.d.ts.map +1 -1
  118. package/dist/lib/llm_api/index.js +427 -35
  119. package/dist/lib/llm_api/index.js.map +1 -1
  120. package/dist/lib/llm_api/prompt_parts_helper.d.ts +15 -0
  121. package/dist/lib/llm_api/prompt_parts_helper.d.ts.map +1 -0
  122. package/dist/lib/llm_api/prompt_parts_helper.js +9 -0
  123. package/dist/lib/llm_api/prompt_parts_helper.js.map +1 -0
  124. package/dist/lib/llm_api/provider_helper.d.ts.map +1 -1
  125. package/dist/lib/llm_api/provider_helper.js +3 -38
  126. package/dist/lib/llm_api/provider_helper.js.map +1 -1
  127. package/dist/lib/llm_api/types.d.ts +187 -2
  128. package/dist/lib/llm_api/types.d.ts.map +1 -1
  129. package/dist/lib/llm_api/types.js +4 -0
  130. package/dist/lib/llm_api/types.js.map +1 -1
  131. package/dist/lib/maintenance/purge_log_job.d.ts +23 -0
  132. package/dist/lib/maintenance/purge_log_job.d.ts.map +1 -0
  133. package/dist/lib/maintenance/purge_log_job.js +49 -0
  134. package/dist/lib/maintenance/purge_log_job.js.map +1 -0
  135. package/dist/lib/observability/log_context.d.ts +15 -0
  136. package/dist/lib/observability/log_context.d.ts.map +1 -0
  137. package/dist/lib/observability/log_context.js +32 -0
  138. package/dist/lib/observability/log_context.js.map +1 -0
  139. package/dist/lib/observability/log_writer.d.ts +35 -0
  140. package/dist/lib/observability/log_writer.d.ts.map +1 -0
  141. package/dist/lib/observability/log_writer.js +106 -0
  142. package/dist/lib/observability/log_writer.js.map +1 -0
  143. package/dist/lib/observability/queries.d.ts +15 -0
  144. package/dist/lib/observability/queries.d.ts.map +1 -0
  145. package/dist/lib/observability/queries.js +78 -0
  146. package/dist/lib/observability/queries.js.map +1 -0
  147. package/dist/lib/observability/types.d.ts +77 -0
  148. package/dist/lib/observability/types.d.ts.map +1 -0
  149. package/dist/lib/observability/types.js +8 -0
  150. package/dist/lib/observability/types.js.map +1 -0
  151. package/dist/lib/pricing/pricing.d.ts +49 -0
  152. package/dist/lib/pricing/pricing.d.ts.map +1 -0
  153. package/dist/lib/pricing/pricing.js +153 -0
  154. package/dist/lib/pricing/pricing.js.map +1 -0
  155. package/dist/lib/pricing/pricing.json +75 -0
  156. package/dist/lib/pricing/types.d.ts +58 -0
  157. package/dist/lib/pricing/types.d.ts.map +1 -0
  158. package/dist/lib/pricing/types.js +8 -0
  159. package/dist/lib/pricing/types.js.map +1 -0
  160. package/dist/lib/providers/anthropic/anthropic_client.d.ts +71 -0
  161. package/dist/lib/providers/anthropic/anthropic_client.d.ts.map +1 -0
  162. package/dist/lib/providers/anthropic/anthropic_client.js +135 -0
  163. package/dist/lib/providers/anthropic/anthropic_client.js.map +1 -0
  164. package/dist/lib/providers/anthropic/anthropic_provider.d.ts +60 -0
  165. package/dist/lib/providers/anthropic/anthropic_provider.d.ts.map +1 -0
  166. package/dist/lib/providers/anthropic/anthropic_provider.js +273 -0
  167. package/dist/lib/providers/anthropic/anthropic_provider.js.map +1 -0
  168. package/dist/lib/providers/anthropic/anthropic_response_to_usage.d.ts +21 -0
  169. package/dist/lib/providers/anthropic/anthropic_response_to_usage.d.ts.map +1 -0
  170. package/dist/lib/providers/anthropic/anthropic_response_to_usage.js +46 -0
  171. package/dist/lib/providers/anthropic/anthropic_response_to_usage.js.map +1 -0
  172. package/dist/lib/providers/anthropic/index.d.ts +3 -0
  173. package/dist/lib/providers/anthropic/index.d.ts.map +1 -0
  174. package/dist/lib/providers/anthropic/index.js +2 -0
  175. package/dist/lib/providers/anthropic/index.js.map +1 -0
  176. package/dist/lib/providers/deepseek/deepseek_client.d.ts +55 -0
  177. package/dist/lib/providers/deepseek/deepseek_client.d.ts.map +1 -0
  178. package/dist/lib/providers/deepseek/deepseek_client.js +130 -0
  179. package/dist/lib/providers/deepseek/deepseek_client.js.map +1 -0
  180. package/dist/lib/providers/deepseek/deepseek_provider.d.ts +50 -0
  181. package/dist/lib/providers/deepseek/deepseek_provider.d.ts.map +1 -0
  182. package/dist/lib/providers/deepseek/deepseek_provider.js +147 -0
  183. package/dist/lib/providers/deepseek/deepseek_provider.js.map +1 -0
  184. package/dist/lib/providers/deepseek/deepseek_response_to_usage.d.ts +21 -0
  185. package/dist/lib/providers/deepseek/deepseek_response_to_usage.d.ts.map +1 -0
  186. package/dist/lib/providers/deepseek/deepseek_response_to_usage.js +40 -0
  187. package/dist/lib/providers/deepseek/deepseek_response_to_usage.js.map +1 -0
  188. package/dist/lib/providers/deepseek/index.d.ts +3 -0
  189. package/dist/lib/providers/deepseek/index.d.ts.map +1 -0
  190. package/dist/lib/providers/deepseek/index.js +2 -0
  191. package/dist/lib/providers/deepseek/index.js.map +1 -0
  192. package/dist/lib/providers/gemini/gemini_client.d.ts.map +1 -1
  193. package/dist/lib/providers/gemini/gemini_client.js +2 -1
  194. package/dist/lib/providers/gemini/gemini_client.js.map +1 -1
  195. package/dist/lib/providers/gemini/gemini_provider.d.ts.map +1 -1
  196. package/dist/lib/providers/gemini/gemini_provider.js +43 -6
  197. package/dist/lib/providers/gemini/gemini_provider.js.map +1 -1
  198. package/dist/lib/providers/gemini/gemini_response_to_usage.d.ts +37 -0
  199. package/dist/lib/providers/gemini/gemini_response_to_usage.d.ts.map +1 -0
  200. package/dist/lib/providers/gemini/gemini_response_to_usage.js +49 -0
  201. package/dist/lib/providers/gemini/gemini_response_to_usage.js.map +1 -0
  202. package/dist/lib/providers/index.d.ts +3 -0
  203. package/dist/lib/providers/index.d.ts.map +1 -1
  204. package/dist/lib/providers/index.js +3 -0
  205. package/dist/lib/providers/index.js.map +1 -1
  206. package/dist/lib/providers/openai/index.d.ts +3 -0
  207. package/dist/lib/providers/openai/index.d.ts.map +1 -0
  208. package/dist/lib/providers/openai/index.js +2 -0
  209. package/dist/lib/providers/openai/index.js.map +1 -0
  210. package/dist/lib/providers/openai/openai_client.d.ts +99 -0
  211. package/dist/lib/providers/openai/openai_client.d.ts.map +1 -0
  212. package/dist/lib/providers/openai/openai_client.js +188 -0
  213. package/dist/lib/providers/openai/openai_client.js.map +1 -0
  214. package/dist/lib/providers/openai/openai_provider.d.ts +66 -0
  215. package/dist/lib/providers/openai/openai_provider.d.ts.map +1 -0
  216. package/dist/lib/providers/openai/openai_provider.js +297 -0
  217. package/dist/lib/providers/openai/openai_provider.js.map +1 -0
  218. package/dist/lib/providers/openai/openai_response_to_usage.d.ts +21 -0
  219. package/dist/lib/providers/openai/openai_response_to_usage.d.ts.map +1 -0
  220. package/dist/lib/providers/openai/openai_response_to_usage.js +50 -0
  221. package/dist/lib/providers/openai/openai_response_to_usage.js.map +1 -0
  222. package/dist/lib/providers/qwen/qwen_client.d.ts.map +1 -1
  223. package/dist/lib/providers/qwen/qwen_client.js +10 -9
  224. package/dist/lib/providers/qwen/qwen_client.js.map +1 -1
  225. package/dist/lib/providers/qwen/qwen_provider.d.ts.map +1 -1
  226. package/dist/lib/providers/qwen/qwen_provider.js +58 -8
  227. package/dist/lib/providers/qwen/qwen_provider.js.map +1 -1
  228. package/dist/lib/providers/qwen/qwen_response_to_usage.d.ts +36 -0
  229. package/dist/lib/providers/qwen/qwen_response_to_usage.d.ts.map +1 -0
  230. package/dist/lib/providers/qwen/qwen_response_to_usage.js +50 -0
  231. package/dist/lib/providers/qwen/qwen_response_to_usage.js.map +1 -0
  232. package/dist/lib/providers/types.d.ts +16 -6
  233. package/dist/lib/providers/types.d.ts.map +1 -1
  234. package/dist/lib/providers/types.js +1 -0
  235. package/dist/lib/providers/types.js.map +1 -1
  236. package/dist/lib/utils.d.ts +13 -0
  237. package/dist/lib/utils.d.ts.map +1 -0
  238. package/dist/lib/utils.js +16 -0
  239. package/dist/lib/utils.js.map +1 -0
  240. package/dist/server.d.ts +16 -2
  241. package/dist/server.d.ts.map +1 -1
  242. package/dist/server.js +29 -2
  243. package/dist/server.js.map +1 -1
  244. package/migrations/db_setup_postgres.sql +68 -0
  245. package/migrations/db_setup_sqlite.sql +66 -0
  246. package/migrations/hazo_llm_api_log.sql +72 -0
  247. package/package.json +24 -6
@@ -8,6 +8,9 @@
8
8
  import { substitute_variables } from '../prompts/substitute_variables.js';
9
9
  import { SERVICE_TYPES } from '../providers/types.js';
10
10
  import { get_validated_provider, handle_caught_error, log_llm_call_start, log_llm_call_result, create_request_context, call_before_request_hook, call_after_response_hook, call_on_error_hook, detect_error_code, } from './provider_helper.js';
11
+ import { run_with_cascade, resolve_providers } from '../cascade/cascade_runner.js';
12
+ import { get_cascade_config } from './index.js';
13
+ import { get_primary_llm } from '../providers/registry.js';
11
14
  // =============================================================================
12
15
  // Constants
13
16
  // =============================================================================
@@ -62,30 +65,69 @@ export async function hazo_llm_document_text(params, _hazo_connect, config, llm)
62
65
  logger,
63
66
  });
64
67
  // ==========================================================================
65
- // Step 4: Get and validate provider
68
+ // Step 4: Resolve cascade provider list
66
69
  // ==========================================================================
67
- const provider_result = get_validated_provider({
68
- llm,
69
- service_type: SERVICE_TYPES.DOCUMENT_TEXT,
70
- logger,
70
+ const init_cascade = get_cascade_config();
71
+ const primary_llm_name = get_primary_llm() ?? 'gemini';
72
+ const provider_names = resolve_providers({
73
+ per_call: params.providers,
74
+ init_cascade: init_cascade ?? undefined,
75
+ single_llm: llm,
76
+ primary_llm: primary_llm_name,
71
77
  });
72
- if (!provider_result.success) {
73
- return provider_result.error_response;
78
+ // Validate all providers upfront — fail fast on config errors
79
+ const resolved_providers = [];
80
+ for (const name of provider_names) {
81
+ const validation = get_validated_provider({
82
+ llm: name,
83
+ service_type: SERVICE_TYPES.DOCUMENT_TEXT,
84
+ logger,
85
+ });
86
+ if (!validation.success) {
87
+ return validation.error_response;
88
+ }
89
+ resolved_providers.push(validation.provider);
90
+ }
91
+ // ==========================================================================
92
+ // Step 4b: Cost cap pre-call gate
93
+ // ==========================================================================
94
+ const { get_cost_cap_config } = await import('./index.js');
95
+ const cost_cap_config = get_cost_cap_config();
96
+ if (cost_cap_config) {
97
+ const { check_cost_cap_gate } = await import('../cost_cap/cost_cap.js');
98
+ const cap_block = await check_cost_cap_gate(_hazo_connect, cost_cap_config, logger);
99
+ if (cap_block !== null) {
100
+ return cap_block;
101
+ }
74
102
  }
75
- const provider = provider_result.provider;
76
103
  // ==========================================================================
77
- // Step 5: Call hooks and provider
104
+ // Step 5: Call hooks and cascade runner
78
105
  // ==========================================================================
79
- const request_context = create_request_context(SERVICE_TYPES.DOCUMENT_TEXT, provider.get_name(), {
106
+ const first_provider_name = resolved_providers[0].get_name();
107
+ const request_context = create_request_context(SERVICE_TYPES.DOCUMENT_TEXT, first_provider_name, {
80
108
  prompt: final_prompt,
81
109
  document_mime_type: params.document_mime_type,
82
110
  });
83
111
  await call_before_request_hook(request_context);
84
112
  const start_time = Date.now();
85
- const response = await provider.document_text({
86
- ...params,
87
- prompt: final_prompt,
88
- }, logger);
113
+ const cascade_result = await run_with_cascade({
114
+ providers: resolved_providers,
115
+ call_fn: (provider) => provider.document_text({ ...params, prompt: final_prompt }, logger),
116
+ cascade_on_codes: init_cascade?.cascade_on_codes,
117
+ timeout_ms_per_attempt: init_cascade?.timeout_ms_per_attempt,
118
+ logger,
119
+ });
120
+ const response = cascade_result.response;
121
+ // Merge cascade attempts into usage (only when cascade actually fired)
122
+ if (cascade_result.attempts.length > 0) {
123
+ if (response.usage) {
124
+ response.usage.attempts = cascade_result.attempts;
125
+ }
126
+ else {
127
+ // Provider returned no usage block — attach attempts in a minimal shell
128
+ response.usage = { attempts: cascade_result.attempts };
129
+ }
130
+ }
89
131
  await call_after_response_hook({
90
132
  ...request_context,
91
133
  response,
@@ -1 +1 @@
1
- {"version":3,"file":"hazo_llm_document_text.js","sourceRoot":"","sources":["../../../src/lib/llm_api/hazo_llm_document_text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hazo_llm_document_text.js","sourceRoot":"","sources":["../../../src/lib/llm_api/hazo_llm_document_text.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hazo_llm_dynamic_data_extract.d.ts","sourceRoot":"","sources":["../../../src/lib/llm_api/hazo_llm_dynamic_data_extract.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAI1B,YAAY,EAKb,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAoW5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,wBAAwB,EAChC,YAAY,EAAE,WAAW,EACzB,MAAM,EAAE,YAAY,EACpB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,0BAA0B,CAAC,CA6WrC"}
1
+ {"version":3,"file":"hazo_llm_dynamic_data_extract.d.ts","sourceRoot":"","sources":["../../../src/lib/llm_api/hazo_llm_dynamic_data_extract.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAI1B,YAAY,EAKb,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAoW5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,wBAAwB,EAChC,YAAY,EAAE,WAAW,EACzB,MAAM,EAAE,YAAY,EACpB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,0BAA0B,CAAC,CAgYrC"}
@@ -299,8 +299,26 @@ function build_step_variables(merged_result, context_data) {
299
299
  */
300
300
  export async function hazo_llm_dynamic_data_extract(params, hazo_connect, config, llm) {
301
301
  // Use default logger if not provided
302
- const { default_logger } = await import('./index.js');
302
+ const { default_logger, get_cost_cap_config } = await import('./index.js');
303
303
  const logger = config.logger || default_logger;
304
+ // Cost cap pre-call gate
305
+ const cost_cap_config = get_cost_cap_config();
306
+ if (cost_cap_config) {
307
+ const { check_cost_cap_gate } = await import('../cost_cap/cost_cap.js');
308
+ const cap_block = await check_cost_cap_gate(hazo_connect, cost_cap_config, logger);
309
+ if (cap_block !== null) {
310
+ return {
311
+ success: false,
312
+ merged_result: {},
313
+ unit_results: [],
314
+ step_results: [],
315
+ errors: [{ step_index: -1, error: cap_block.error ?? 'Cost cap exceeded' }],
316
+ total_steps: 0,
317
+ successful_steps: 0,
318
+ final_stop_reason: 'error',
319
+ };
320
+ }
321
+ }
304
322
  // Validate parameters
305
323
  const validation = validate_dynamic_extract_params(params, logger);
306
324
  if (!validation.success) {
@@ -1 +1 @@
1
- {"version":3,"file":"hazo_llm_dynamic_data_extract.js","sourceRoot":"","sources":["../../../src/lib/llm_api/hazo_llm_dynamic_data_extract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hazo_llm_dynamic_data_extract.js","sourceRoot":"","sources":["../../../src/lib/llm_api/hazo_llm_dynamic_data_extract.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAeH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EACL,wBAAwB,EAExB,yBAAyB,GAC1B,MAAM,8BAA8B,CAAC;AAEtC,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,MAAM,SAAS,GAAG,kCAAkC,CAAC;AAErD,gFAAgF;AAChF,+BAA+B;AAC/B,gFAAgF;AAEhF;;GAEG;AACH,SAAS,mBAAmB,CAAC,GAAc;IACzC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACrF,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,iBAAiB,CACxB,MAA+B,EAC/B,GAAW,EACX,KAAc;IAEd,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAE7B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,kEAAkE;YAClE,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,KAAK,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,oEAAoE;YACpE,iDAAiD;YACjD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACtB,CAAC;YACD,gFAAgF;QAClF,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrC,kCAAkC;QAClC,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACnB,CAAC;QACD,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAA4B,EAAE,KAAgC,CAAC,CAAC;IAC7F,CAAC;SAAM,CAAC;QACN,0EAA0E;QAC1E,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CACvB,MAA+B,EAC/B,MAA+B;IAE/B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,kBAAkB,CACzB,MAA+B,EAC/B,aAAkD;IAElD,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAE7B,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QACjC,2DAA2D;QAC3D,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7D,gBAAgB,CAAC,MAAM,EAAE,IAA+B,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,oCAAoC;QACpC,gBAAgB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AACD,MAAM,QAAQ,GAAG,sBAAsB,CAAC;AACxC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEhC,uCAAuC;AACvC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,qBAAqB;IACrB,oBAAoB;IACpB,0BAA0B;IAC1B,UAAU;IACV,gBAAgB;IAChB,WAAW,EAAW,mBAAmB;IACzC,iBAAiB,EAAK,mBAAmB;IACzC,WAAW;IACX,mBAAmB;IACnB,cAAc;IACd,0BAA0B;CAC3B,CAAC,CAAC;AAEH,sDAAsD;AACtD,MAAM,uBAAuB,GAA2B;IACtD,cAAc,EAAE,UAAU;IAC1B,oBAAoB,EAAE,gBAAgB;IACtC,SAAS,EAAE,UAAU;IACrB,eAAe,EAAE,gBAAgB;IACjC,aAAa,EAAE,UAAU;IACzB,kBAAkB,EAAE,gBAAgB;CACrC,CAAC;AAeF;;;;;;;GAOG;AACH,SAAS,qBAAqB,CAAC,MAAgC;IAC7D,MAAM,MAAM,GAAyB,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAAC;IAElE,8BAA8B;IAC9B,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACpC,CAAC;SAAM,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QAC5B,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;QACnC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAC9B,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IAED,0CAA0C;IAC1C,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IAChD,CAAC;SAAM,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAClC,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,eAAe,CAAC;QAC/C,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAC9B,0EAA0E,CAC3E,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAWD;;;;;;;;;;;GAWG;AACH,SAAS,+BAA+B,CACtC,MAAgC,EAChC,MAAc;IAEd,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAG,MAA4C,CAAC;IAChE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAE3C,4DAA4D;IAC5D,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,uBAAuB,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,sBAAsB,GAAG,WAAW,uBAAuB,CAAC,GAAG,CAAC,YAAY;gBACnF,QAAQ;aACT,CAAC;QACJ,CAAC;IACH,CAAC;IAED,qDAAqD;IACrD,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACxE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,QAAQ,CAAC,IAAI,CACX,yBAAyB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAC7E,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,mDAAmD,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YAC1F,IAAI,EAAE,SAAS;SAChB,CAAC,CAAC;IACL,CAAC;IAED,uCAAuC;IACvC,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC;IAC1D,MAAM,aAAa,GAAG,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,eAAe,CAAC;IAEtE,IAAI,aAAa,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,kFAAkF;YACzF,QAAQ;SACT,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,aAAa,IAAI,aAAa,EAAE,CAAC;QACpC,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,kFAAkF;YACzF,QAAQ;SACT,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AACrC,CAAC;AA8BD,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;;;;;;GAOG;AACH,SAAS,oBAAoB,CAC3B,aAAsC,EACtC,YAAiD;IAEjD,MAAM,SAAS,GAA2B,EAAE,CAAC;IAE7C,mCAAmC;IACnC,SAAS,OAAO,CAAC,GAA4B,EAAE,SAAiB,EAAE;QAChE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAEnD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC1C,SAAS;YACX,CAAC;YAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvD,OAAO,CAAC,KAAgC,EAAE,QAAQ,CAAC,CAAC;YACtD,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACrC,SAAS,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAED,0CAA0C;IAC1C,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CAAC,YAAY,CAAC,CAAC;IACxB,CAAC;IAED,+DAA+D;IAC/D,OAAO,CAAC,aAAa,CAAC,CAAC;IAEvB,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED,gFAAgF;AAChF,yCAAyC;AACzC,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,MAAgC,EAChC,YAAyB,EACzB,MAAoB,EACpB,GAAY;IAEZ,qCAAqC;IACrC,MAAM,EAAE,cAAc,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,cAAc,CAAC;IAE/C,yBAAyB;IACzB,MAAM,eAAe,GAAG,mBAAmB,EAAE,CAAC;IAC9C,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QACxE,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,YAAY,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;QACnF,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,aAAa,EAAE,EAAE;gBACjB,YAAY,EAAE,EAAE;gBAChB,YAAY,EAAE,EAAE;gBAChB,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,mBAAmB,EAAE,CAAC;gBAC3E,WAAW,EAAE,CAAC;gBACd,gBAAgB,EAAE,CAAC;gBACnB,iBAAiB,EAAE,OAAO;aAC3B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,MAAM,UAAU,GAAG,+BAA+B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACrD,OAAO;YACL,OAAO,EAAE,KAAK;YACd,aAAa,EAAE,EAAE;YACjB,YAAY,EAAE,EAAE;YAChB,YAAY,EAAE,EAAE;YAChB,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,KAAM,EAAE,CAAC;YACrD,WAAW,EAAE,CAAC;YACd,gBAAgB,EAAE,CAAC;YACnB,iBAAiB,EAAE,OAAO;SAC3B,CAAC;IACJ,CAAC;IAED,sDAAsD;IACtD,MAAM,eAAe,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACtD,KAAK,MAAM,OAAO,IAAI,eAAe,CAAC,oBAAoB,EAAE,CAAC;QAC3D,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,iBAAiB,CAAC;IACxD,MAAM,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,KAAK,CAAC;IAE5D,MAAM,YAAY,GAA+B,EAAE,CAAC;IACpD,MAAM,YAAY,GAA2C,EAAE,CAAC;IAChE,MAAM,MAAM,GAAiD,EAAE,CAAC;IAChE,IAAI,aAAa,GAA4B,EAAE,CAAC;IAChD,IAAI,iBAAiB,GAA6B,gBAAgB,CAAC;IAEnE,MAAM,cAAc,GAAG,eAAe,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,eAAe,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAE9H,MAAM,CAAC,IAAI,CAAC,mCAAmC,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,kBAAkB,GAAG,QAAQ,EAAE,CAAC,CAAC;IAErH,+CAA+C;IAC/C,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,SAAS,GAAG,kDAAkD,CAAC;QACrE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAE7C,OAAO;YACL,OAAO,EAAE,KAAK;YACd,aAAa,EAAE,EAAE;YACjB,YAAY,EAAE,EAAE;YAChB,YAAY,EAAE,EAAE;YAChB,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YAC7C,WAAW,EAAE,CAAC;YACd,gBAAgB,EAAE,CAAC;YACnB,iBAAiB,EAAE,OAAO;SAC3B,CAAC;IACJ,CAAC;IAED,2BAA2B;IAC3B,MAAM,YAAY,GAAG,MAAM,CAAC,wBAAwB,EAAE,YAAY,IAAI,oBAAoB,CAAC;IAC3F,IAAI,qBAAqB,GAAG,KAAK,CAAC;IAElC,mCAAmC;IACnC,MAAM,KAAK,GAAqB;QAC9B;YACE,WAAW,EAAE,MAAM,CAAC,mBAAmB;YACvC,UAAU,EAAE,MAAM,CAAC,kBAAkB;YACrC,KAAK,EAAE,CAAC;YACR,YAAY,EAAE,CAAC;YACf,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,IAAI;SACpB;KACF,CAAC;IAEF,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,6BAA6B;IAC7B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;QAE/B,kBAAkB;QAClB,IAAI,OAAO,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC;YAC/B,iBAAiB,GAAG,WAAW,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,qCAAqC,SAAS,WAAW,CAAC,CAAC;YACvE,SAAS,CAAC,kDAAkD;QAC9D,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;QACzC,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;QACvC,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,YAAY,GAAG,CAAC,IAAI,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAEpH,MAAM,CAAC,IAAI,CAAC,aAAa,UAAU,GAAG,CAAC,KAAK,YAAY,IAAI,WAAW,GAAG,WAAW,EAAE,CAAC,CAAC;QAEzF,iDAAiD;QACjD,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,eAAe,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAEpF,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YAClD,MAAM,SAAS,GAAG,qBAAqB,YAAY,IAAI,WAAW,EAAE,CAAC;YACrE,MAAM,CAAC,KAAK,CAAC,OAAO,SAAS,EAAE,CAAC,CAAC;YAEjC,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAC9C,YAAY,CAAC,IAAI,CAAC;gBAChB,UAAU;gBACV,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,YAAY;gBACzB,UAAU,EAAE,WAAW;gBACvB,KAAK,EAAE,SAAS;gBAChB,kBAAkB,EAAE,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;gBAC/E,kBAAkB,EAAE,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;aAChF,CAAC,CAAC;YAEH,iBAAiB,GAAG,uBAAuB,CAAC;YAC5C,UAAU,EAAE,CAAC;YAEb,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,yCAAyC;gBACzC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;gBACjB,MAAM;YACR,CAAC;YACD,SAAS;QACX,CAAC;QAED,4DAA4D;QAC5D,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC;QAEzC,MAAM,cAAc,GAAG,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnI,MAAM,mBAAmB,GAAG,aAAa,CAAC,WAAW;YACnD,CAAC,CAAC,CAAC,OAAO,aAAa,CAAC,WAAW,KAAK,QAAQ;gBAC5C,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;YACzE,CAAC,CAAC,QAAQ,CAAC;QAEb,MAAM,CAAC,IAAI,CAAC,wBAAwB,cAAc,GAAG,CAAC,CAAC;QACvD,MAAM,CAAC,IAAI,CAAC,2BAA2B,mBAAmB,EAAE,CAAC,CAAC;QAE9D,uDAAuD;QACvD,MAAM,gBAAgB,GAAoB,OAAO,CAAC,aAAa;YAC7D,CAAC,CAAC,MAAM,CAAC,wBAAwB,IAAI,EAAE;YACvC,CAAC,CAAC,oBAAoB,CAAC,aAAa,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;QAE7D,mBAAmB;QACnB,IAAI,YAAY,CAAC;QAEjB,IAAI,CAAC;YACH,IAAI,eAAe,CAAC,QAAQ,IAAI,eAAe,CAAC,cAAc,EAAE,CAAC;gBAC/D,mDAAmD;gBACnD,MAAM,YAAY,GAAoB;oBACpC,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,gBAAgB;oBAC3C,gBAAgB;oBAChB,SAAS,EAAE,eAAe,CAAC,QAAQ;oBACnC,eAAe,EAAE,eAAe,CAAC,cAAc;iBAChD,CAAC;gBAEF,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5F,MAAM,CAAC,IAAI,CAAC,uCAAuC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC,CAAC;gBAE/H,YAAY,GAAG,MAAM,mBAAmB,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;YACpF,CAAC;iBAAM,CAAC;gBACN,wCAAwC;gBACxC,MAAM,WAAW,GAAmB;oBAClC,MAAM,EAAE,EAAE,EAAE,uCAAuC;oBACnD,WAAW,EAAE,YAAY;oBACzB,UAAU,EAAE,WAAW;oBACvB,gBAAgB;iBACjB,CAAC;gBAEF,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5F,MAAM,CAAC,IAAI,CAAC,8BAA8B,SAAS,EAAE,CAAC,CAAC;gBAEvD,YAAY,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;YAClF,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzE,MAAM,CAAC,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;YAEhD,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAC9C,YAAY,CAAC,IAAI,CAAC;gBAChB,UAAU;gBACV,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,YAAY;gBACzB,UAAU,EAAE,WAAW;gBACvB,KAAK,EAAE,SAAS;gBAChB,kBAAkB,EAAE,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;gBAC/E,kBAAkB,EAAE,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;aAChF,CAAC,CAAC;YAEH,iBAAiB,GAAG,OAAO,CAAC;YAC5B,UAAU,EAAE,CAAC;YAEb,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;gBACjB,MAAM;YACR,CAAC;YACD,SAAS;QACX,CAAC;QAED,8BAA8B;QAC9B,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,IAAI,iBAAiB,CAAC;YAC1D,MAAM,CAAC,KAAK,CAAC,mBAAmB,SAAS,EAAE,CAAC,CAAC;YAE7C,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAC9C,YAAY,CAAC,IAAI,CAAC;gBAChB,UAAU;gBACV,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,YAAY;gBACzB,UAAU,EAAE,WAAW;gBACvB,KAAK,EAAE,SAAS;gBAChB,kBAAkB,EAAE,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;gBAC/E,kBAAkB,EAAE,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;aAChF,CAAC,CAAC;YAEH,iBAAiB,GAAG,OAAO,CAAC;YAC5B,UAAU,EAAE,CAAC;YAEb,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;gBACjB,MAAM;YACR,CAAC;YACD,SAAS;QACX,CAAC;QAED,sBAAsB;QACtB,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC;QACzC,MAAM,aAAa,GAAG,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEhE,qBAAqB;QACrB,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YACrD,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC;YAC1G,MAAM,CAAC,IAAI,CAAC,eAAe,SAAS,EAAE,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpF,MAAM,CAAC,IAAI,CAAC,0BAA0B,WAAW,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,sCAAsC;QACtC,MAAM,QAAQ,GAAG,GAAG,YAAY,IAAI,WAAW,EAAE,CAAC;QAElD,gEAAgE;QAChE,IAAI,aAAa,EAAE,CAAC;YAClB,iFAAiF;YACjF,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;YAE3D,+EAA+E;YAC/E,kFAAkF;YAClF,aAAa,GAAG,kBAAkB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QACnE,CAAC;QAED,kCAAkC;QAClC,MAAM,kBAAkB,GAAG,wBAAwB,CACjD,aAAa,CAAC,IAAI,CAAC,WAAW,EAC9B,MAAM,CACP,CAAC;QAEF,oFAAoF;QACpF,MAAM,WAAW,GAA6B;YAC5C,UAAU;YACV,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,YAAY;YACzB,UAAU,EAAE,WAAW;YACvB,QAAQ;YACR,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS;YACxE,sBAAsB,EAAE;gBACtB,MAAM,EAAE,kBAAkB;aAC3B;YACD,kBAAkB,EAAE,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;YAC/E,kBAAkB,EAAE,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;SAChF,CAAC;QAEF,uCAAuC;QACvC,IAAI,kBAAkB,IAAI,aAAa,EAAE,CAAC;YACxC,2CAA2C;YAC3C,MAAM,cAAc,GAAG,yBAAyB,CAC9C,kBAAkB,EAClB,aAAa,EACb,MAAM,EACN,YAAY,CACb,CAAC;YAEF,IAAI,cAAc,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,qCAAqC;gBACrC,IAAI,cAAc,CAAC,SAAS,EAAE,CAAC;oBAC7B,qBAAqB,GAAG,IAAI,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,wBAAwB,YAAY,WAAW,CAAC,CAAC;gBAC/D,CAAC;gBAED,gDAAgD;gBAChD,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC5C,WAAW,CAAC,sBAAsB,GAAG;oBACnC,MAAM,EAAE,kBAAkB;oBAC1B,aAAa,EAAE,KAAK,CAAC,WAAW;oBAChC,YAAY,EAAE,KAAK,CAAC,UAAU;oBAC9B,cAAc,EACZ,KAAK,CAAC,eAAe,KAAK,QAAQ;wBAChC,CAAC,CAAC,QAAQ;wBACV,CAAC,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS;4BACnC,CAAC,CAAC,SAAS;4BACX,CAAC,CAAC,QAAQ;oBAChB,YAAY,EAAE,KAAK,CAAC,YAAY;iBACjC,CAAC;gBAEF,4BAA4B;gBAC5B,MAAM,gBAAgB,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;gBACjG,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,cAAc,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/F,MAAM,CAAC,IAAI,CAAC,aAAa,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC,CAAC;gBAEtE,wCAAwC;gBACxC,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;gBACrC,MAAM,YAAY,GAAG,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC;gBAEvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC3D,MAAM,UAAU,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;oBACjD,KAAK,CAAC,IAAI,CAAC;wBACT,WAAW,EAAE,UAAU,CAAC,WAAW;wBACnC,UAAU,EAAE,UAAU,CAAC,UAAU;wBACjC,KAAK,EAAE,UAAU;wBACjB,YAAY,EAAE,CAAC;wBACf,YAAY;wBACZ,aAAa,EAAE,KAAK;qBACrB,CAAC,CAAC;gBACL,CAAC;gBAED,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC/B,UAAU,EAAE,CAAC;gBACb,SAAS,CAAC,4BAA4B;YACxC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QAED,0DAA0D;QAC1D,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/B,UAAU,EAAE,CAAC;QAEb,0DAA0D;QAC1D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,iBAAiB,GAAG,gBAAgB,CAAC;YACrC,MAAM,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,2BAA2B,CAAC;YACvF,MAAM,CAAC,IAAI,CAAC,oBAAoB,MAAM,EAAE,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,kDAAkD;IAClD,IAAI,qBAAqB,IAAI,iBAAiB,KAAK,OAAO,EAAE,CAAC;QAC3D,iBAAiB,GAAG,uBAAuB,CAAC;IAC9C,CAAC;IAED,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAEtE,MAAM,CAAC,IAAI,CAAC,sCAAsC,gBAAgB,IAAI,YAAY,CAAC,MAAM,YAAY,MAAM,CAAC,MAAM,aAAa,iBAAiB,IAAI,CAAC,CAAC;IAEtJ,OAAO;QACL,OAAO,EAAE,gBAAgB,GAAG,CAAC;QAC7B,aAAa;QACb,YAAY;QACZ,YAAY;QACZ,MAAM;QACN,WAAW,EAAE,YAAY,CAAC,MAAM;QAChC,gBAAgB;QAChB,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * hazo_llm_embed — Text embeddings with caching and batch deduplication.
3
+ *
4
+ * Usage:
5
+ * const result = await hazo_llm_embed({ text: 'Hello world' });
6
+ * const batch = await hazo_llm_embed({ text: ['text1', 'text2'] });
7
+ */
8
+ import type { EmbedParams, EmbedResponse, Logger } from './types.js';
9
+ export declare function hazo_llm_embed_internal(params: EmbedParams, logger: Logger): Promise<EmbedResponse>;
10
+ //# sourceMappingURL=hazo_llm_embed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hazo_llm_embed.d.ts","sourceRoot":"","sources":["../../../src/lib/llm_api/hazo_llm_embed.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAQrE,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,CAAC,CA2FxB"}
@@ -0,0 +1,80 @@
1
+ import { SERVICE_TYPES } from '../providers/types.js';
2
+ import { get_provider, get_primary_llm } from '../providers/registry.js';
3
+ import { handle_caught_error } from './provider_helper.js';
4
+ import { embed_cache_get, embed_cache_set } from './embed_cache.js';
5
+ const FILE_NAME = 'hazo_llm_embed.ts';
6
+ export async function hazo_llm_embed_internal(params, logger) {
7
+ try {
8
+ // Step 1: Resolve provider
9
+ const provider_name = get_primary_llm();
10
+ if (!provider_name) {
11
+ return { success: false, error: 'No primary LLM configured', error_code: 'PROVIDER_NOT_FOUND' };
12
+ }
13
+ const provider = get_provider(provider_name, logger);
14
+ if (!provider) {
15
+ return { success: false, error: `Provider not found: ${provider_name}`, error_code: 'PROVIDER_NOT_FOUND' };
16
+ }
17
+ if (!provider.embed || !provider.get_capabilities().has(SERVICE_TYPES.EMBED)) {
18
+ return {
19
+ success: false,
20
+ error: `Provider '${provider_name}' does not support embed`,
21
+ error_code: 'CAPABILITY_NOT_SUPPORTED',
22
+ };
23
+ }
24
+ // Step 2: Normalize input
25
+ const texts = Array.isArray(params.text) ? params.text : [params.text];
26
+ const model = params.model ?? provider.get_model_for_service(SERVICE_TYPES.EMBED) ?? 'unknown';
27
+ // Step 3: Check cache + dedup
28
+ const cached_vectors = await Promise.all(texts.map(t => embed_cache_get(t, model)));
29
+ const cached_flags = cached_vectors.map(v => v !== undefined);
30
+ const uncached_indices = texts.reduce((acc, _, i) => {
31
+ if (!cached_flags[i])
32
+ acc.push(i);
33
+ return acc;
34
+ }, []);
35
+ // Dedup: unique uncached texts (preserving first occurrence index)
36
+ const unique_uncached_texts = [...new Set(uncached_indices.map(i => texts[i]))];
37
+ let new_vectors = [];
38
+ let response_model = model;
39
+ let response_usage = undefined;
40
+ if (unique_uncached_texts.length > 0) {
41
+ // Step 4: Call provider for uncached texts
42
+ const embed_text = unique_uncached_texts.length === 1 ? unique_uncached_texts[0] : unique_uncached_texts;
43
+ const provider_result = await provider.embed({ text: embed_text, model: params.model }, logger);
44
+ if (!provider_result.success || !provider_result.vectors) {
45
+ return {
46
+ success: false,
47
+ error: provider_result.error ?? 'Embed failed',
48
+ error_code: provider_result.error_code,
49
+ };
50
+ }
51
+ new_vectors = provider_result.vectors;
52
+ response_model = provider_result.model ?? model;
53
+ response_usage = provider_result.usage;
54
+ // Step 5: Store new vectors in cache
55
+ for (let i = 0; i < unique_uncached_texts.length; i++) {
56
+ await embed_cache_set(unique_uncached_texts[i], response_model, new_vectors[i]);
57
+ }
58
+ }
59
+ // Step 6: Build result in original order
60
+ const unique_text_to_vector = new Map(unique_uncached_texts.map((t, i) => [t, new_vectors[i]]));
61
+ const final_vectors = texts.map((t, i) => {
62
+ if (cached_flags[i])
63
+ return cached_vectors[i];
64
+ return unique_text_to_vector.get(t);
65
+ });
66
+ const dimensions = final_vectors[0]?.length;
67
+ return {
68
+ success: true,
69
+ vectors: final_vectors,
70
+ dimensions,
71
+ model: response_model,
72
+ usage: response_usage,
73
+ cached: cached_flags,
74
+ };
75
+ }
76
+ catch (error) {
77
+ return handle_caught_error(error, 'hazo_llm_embed', FILE_NAME, logger);
78
+ }
79
+ }
80
+ //# sourceMappingURL=hazo_llm_embed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hazo_llm_embed.js","sourceRoot":"","sources":["../../../src/lib/llm_api/hazo_llm_embed.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hazo_llm_image_image.d.ts","sourceRoot":"","sources":["../../../src/lib/llm_api/hazo_llm_image_image.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,YAAY,EAEb,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AA0B5D;;;;;;;;;;;;;GAaG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,gBAAgB,EACxB,aAAa,EAAE,WAAW,EAC1B,MAAM,EAAE,YAAY,EACpB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,WAAW,CAAC,CAiGtB"}
1
+ {"version":3,"file":"hazo_llm_image_image.d.ts","sourceRoot":"","sources":["../../../src/lib/llm_api/hazo_llm_image_image.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,YAAY,EAEb,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AA6B5D;;;;;;;;;;;;;GAaG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,gBAAgB,EACxB,aAAa,EAAE,WAAW,EAC1B,MAAM,EAAE,YAAY,EACpB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,WAAW,CAAC,CAyItB"}
@@ -9,6 +9,9 @@
9
9
  import { substitute_variables } from '../prompts/substitute_variables.js';
10
10
  import { SERVICE_TYPES } from '../providers/types.js';
11
11
  import { get_validated_provider, handle_caught_error, log_llm_call_start, log_llm_call_result, create_request_context, call_before_request_hook, call_after_response_hook, call_on_error_hook, detect_error_code, } from './provider_helper.js';
12
+ import { run_with_cascade, resolve_providers } from '../cascade/cascade_runner.js';
13
+ import { get_cascade_config } from './index.js';
14
+ import { get_primary_llm } from '../providers/registry.js';
12
15
  // =============================================================================
13
16
  // Constants
14
17
  // =============================================================================
@@ -65,30 +68,69 @@ export async function hazo_llm_image_image(params, _hazo_connect, config, llm) {
65
68
  logger,
66
69
  });
67
70
  // ==========================================================================
68
- // Step 3: Get and validate provider
71
+ // Step 3: Resolve cascade provider list
69
72
  // ==========================================================================
70
- const provider_result = get_validated_provider({
71
- llm,
72
- service_type: SERVICE_TYPES.IMAGE_IMAGE,
73
- logger,
73
+ const init_cascade = get_cascade_config();
74
+ const primary_llm_name = get_primary_llm() ?? 'gemini';
75
+ const provider_names = resolve_providers({
76
+ per_call: params.providers,
77
+ init_cascade: init_cascade ?? undefined,
78
+ single_llm: llm,
79
+ primary_llm: primary_llm_name,
74
80
  });
75
- if (!provider_result.success) {
76
- return provider_result.error_response;
81
+ // Validate all providers upfront — fail fast on config errors
82
+ const resolved_providers = [];
83
+ for (const name of provider_names) {
84
+ const validation = get_validated_provider({
85
+ llm: name,
86
+ service_type: SERVICE_TYPES.IMAGE_IMAGE,
87
+ logger,
88
+ });
89
+ if (!validation.success) {
90
+ return validation.error_response;
91
+ }
92
+ resolved_providers.push(validation.provider);
93
+ }
94
+ // ==========================================================================
95
+ // Step 3b: Cost cap pre-call gate
96
+ // ==========================================================================
97
+ const { get_cost_cap_config } = await import('./index.js');
98
+ const cost_cap_config = get_cost_cap_config();
99
+ if (cost_cap_config) {
100
+ const { check_cost_cap_gate } = await import('../cost_cap/cost_cap.js');
101
+ const cap_block = await check_cost_cap_gate(_hazo_connect, cost_cap_config, logger);
102
+ if (cap_block !== null) {
103
+ return cap_block;
104
+ }
77
105
  }
78
- const provider = provider_result.provider;
79
106
  // ==========================================================================
80
- // Step 4: Call hooks and provider
107
+ // Step 4: Call hooks and cascade runner
81
108
  // ==========================================================================
82
- const request_context = create_request_context(SERVICE_TYPES.IMAGE_IMAGE, provider.get_name(), {
109
+ const first_provider_name = resolved_providers[0].get_name();
110
+ const request_context = create_request_context(SERVICE_TYPES.IMAGE_IMAGE, first_provider_name, {
83
111
  prompt: final_prompt,
84
112
  image_count: images.length,
85
113
  });
86
114
  await call_before_request_hook(request_context);
87
115
  const start_time = Date.now();
88
- const response = await provider.image_image({
89
- ...params,
90
- prompt: final_prompt,
91
- }, logger);
116
+ const cascade_result = await run_with_cascade({
117
+ providers: resolved_providers,
118
+ call_fn: (provider) => provider.image_image({ ...params, prompt: final_prompt }, logger),
119
+ cascade_on_codes: init_cascade?.cascade_on_codes,
120
+ timeout_ms_per_attempt: init_cascade?.timeout_ms_per_attempt,
121
+ logger,
122
+ });
123
+ const response = cascade_result.response;
124
+ // Merge cascade attempts into usage (only when cascade actually fired)
125
+ if (cascade_result.attempts.length > 0) {
126
+ if (response.usage) {
127
+ response.usage.attempts = cascade_result.attempts;
128
+ }
129
+ else {
130
+ // Provider returned no usage block — attach attempts in a minimal shell
131
+ response.usage = { attempts: cascade_result.attempts };
132
+ }
133
+ }
92
134
  await call_after_response_hook({
93
135
  ...request_context,
94
136
  response,
@@ -1 +1 @@
1
- {"version":3,"file":"hazo_llm_image_image.js","sourceRoot":"","sources":["../../../src/lib/llm_api/hazo_llm_image_image.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hazo_llm_image_image.js","sourceRoot":"","sources":["../../../src/lib/llm_api/hazo_llm_image_image.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hazo_llm_image_text.d.ts","sourceRoot":"","sources":["../../../src/lib/llm_api/hazo_llm_image_text.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,YAAY,EACb,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAyB5D;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,eAAe,EACvB,aAAa,EAAE,WAAW,EAC1B,MAAM,EAAE,YAAY,EACpB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,WAAW,CAAC,CAsFtB"}
1
+ {"version":3,"file":"hazo_llm_image_text.d.ts","sourceRoot":"","sources":["../../../src/lib/llm_api/hazo_llm_image_text.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,YAAY,EACb,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AA4B5D;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,eAAe,EACvB,aAAa,EAAE,WAAW,EAC1B,MAAM,EAAE,YAAY,EACpB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,WAAW,CAAC,CA8HtB"}
@@ -8,6 +8,9 @@
8
8
  import { substitute_variables } from '../prompts/substitute_variables.js';
9
9
  import { SERVICE_TYPES } from '../providers/types.js';
10
10
  import { get_validated_provider, handle_caught_error, log_llm_call_start, log_llm_call_result, create_request_context, call_before_request_hook, call_after_response_hook, call_on_error_hook, detect_error_code, } from './provider_helper.js';
11
+ import { run_with_cascade, resolve_providers } from '../cascade/cascade_runner.js';
12
+ import { get_cascade_config } from './index.js';
13
+ import { get_primary_llm } from '../providers/registry.js';
11
14
  // =============================================================================
12
15
  // Constants
13
16
  // =============================================================================
@@ -48,30 +51,69 @@ export async function hazo_llm_image_text(params, _hazo_connect, config, llm) {
48
51
  logger,
49
52
  });
50
53
  // ==========================================================================
51
- // Step 3: Get and validate provider
54
+ // Step 3: Resolve cascade provider list
52
55
  // ==========================================================================
53
- const provider_result = get_validated_provider({
54
- llm,
55
- service_type: SERVICE_TYPES.IMAGE_TEXT,
56
- logger,
56
+ const init_cascade = get_cascade_config();
57
+ const primary_llm_name = get_primary_llm() ?? 'gemini';
58
+ const provider_names = resolve_providers({
59
+ per_call: params.providers,
60
+ init_cascade: init_cascade ?? undefined,
61
+ single_llm: llm,
62
+ primary_llm: primary_llm_name,
57
63
  });
58
- if (!provider_result.success) {
59
- return provider_result.error_response;
64
+ // Validate all providers upfront — fail fast on config errors
65
+ const resolved_providers = [];
66
+ for (const name of provider_names) {
67
+ const validation = get_validated_provider({
68
+ llm: name,
69
+ service_type: SERVICE_TYPES.IMAGE_TEXT,
70
+ logger,
71
+ });
72
+ if (!validation.success) {
73
+ return validation.error_response;
74
+ }
75
+ resolved_providers.push(validation.provider);
76
+ }
77
+ // ==========================================================================
78
+ // Step 3b: Cost cap pre-call gate
79
+ // ==========================================================================
80
+ const { get_cost_cap_config } = await import('./index.js');
81
+ const cost_cap_config = get_cost_cap_config();
82
+ if (cost_cap_config) {
83
+ const { check_cost_cap_gate } = await import('../cost_cap/cost_cap.js');
84
+ const cap_block = await check_cost_cap_gate(_hazo_connect, cost_cap_config, logger);
85
+ if (cap_block !== null) {
86
+ return cap_block;
87
+ }
60
88
  }
61
- const provider = provider_result.provider;
62
89
  // ==========================================================================
63
- // Step 4: Call hooks and provider
90
+ // Step 4: Call hooks and cascade runner
64
91
  // ==========================================================================
65
- const request_context = create_request_context(SERVICE_TYPES.IMAGE_TEXT, provider.get_name(), {
92
+ const first_provider_name = resolved_providers[0].get_name();
93
+ const request_context = create_request_context(SERVICE_TYPES.IMAGE_TEXT, first_provider_name, {
66
94
  prompt: final_prompt,
67
95
  image_mime_type: params.image_mime_type,
68
96
  });
69
97
  await call_before_request_hook(request_context);
70
98
  const start_time = Date.now();
71
- const response = await provider.image_text({
72
- ...params,
73
- prompt: final_prompt,
74
- }, logger);
99
+ const cascade_result = await run_with_cascade({
100
+ providers: resolved_providers,
101
+ call_fn: (provider) => provider.image_text({ ...params, prompt: final_prompt }, logger),
102
+ cascade_on_codes: init_cascade?.cascade_on_codes,
103
+ timeout_ms_per_attempt: init_cascade?.timeout_ms_per_attempt,
104
+ logger,
105
+ });
106
+ const response = cascade_result.response;
107
+ // Merge cascade attempts into usage (only when cascade actually fired)
108
+ if (cascade_result.attempts.length > 0) {
109
+ if (response.usage) {
110
+ response.usage.attempts = cascade_result.attempts;
111
+ }
112
+ else {
113
+ // Provider returned no usage block — attach attempts in a minimal shell
114
+ response.usage = { attempts: cascade_result.attempts };
115
+ }
116
+ }
75
117
  await call_after_response_hook({
76
118
  ...request_context,
77
119
  response,
@@ -1 +1 @@
1
- {"version":3,"file":"hazo_llm_image_text.js","sourceRoot":"","sources":["../../../src/lib/llm_api/hazo_llm_image_text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hazo_llm_image_text.js","sourceRoot":"","sources":["../../../src/lib/llm_api/hazo_llm_image_text.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hazo_llm_prompt_chain.d.ts","sourceRoot":"","sources":["../../../src/lib/llm_api/hazo_llm_prompt_chain.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EAGnB,YAAY,EASb,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAiO5D;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,iBAAiB,EACzB,YAAY,EAAE,WAAW,EACzB,MAAM,EAAE,YAAY,EACpB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,mBAAmB,CAAC,CAyL9B"}
1
+ {"version":3,"file":"hazo_llm_prompt_chain.d.ts","sourceRoot":"","sources":["../../../src/lib/llm_api/hazo_llm_prompt_chain.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EAGnB,YAAY,EASb,MAAM,YAAY,CAAC;AAGpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAiO5D;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,iBAAiB,EACzB,YAAY,EAAE,WAAW,EACzB,MAAM,EAAE,YAAY,EACpB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,mBAAmB,CAAC,CA0M9B"}