hazo_llm_api 1.0.4 → 1.0.6

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 (145) hide show
  1. package/dist/components/index.d.ts +7 -0
  2. package/dist/components/index.d.ts.map +1 -0
  3. package/dist/components/index.js +7 -0
  4. package/dist/components/index.js.map +1 -0
  5. package/dist/components/layout/index.d.ts +7 -0
  6. package/dist/components/layout/index.d.ts.map +1 -0
  7. package/dist/components/layout/index.js +7 -0
  8. package/dist/components/layout/index.js.map +1 -0
  9. package/dist/components/layout/layout.d.ts +21 -0
  10. package/dist/components/layout/layout.d.ts.map +1 -0
  11. package/dist/components/layout/layout.js +18 -0
  12. package/dist/components/layout/layout.js.map +1 -0
  13. package/dist/index.d.ts +15 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +21 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/lib/config/config_parser.d.ts +131 -0
  18. package/dist/lib/config/config_parser.d.ts.map +1 -0
  19. package/dist/lib/config/config_parser.js +297 -0
  20. package/dist/lib/config/config_parser.js.map +1 -0
  21. package/dist/lib/config/index.d.ts +8 -0
  22. package/dist/lib/config/index.d.ts.map +1 -0
  23. package/dist/lib/config/index.js +22 -0
  24. package/dist/lib/config/index.js.map +1 -0
  25. package/dist/lib/config/provider_loader.d.ts +113 -0
  26. package/dist/lib/config/provider_loader.d.ts.map +1 -0
  27. package/dist/lib/config/provider_loader.js +169 -0
  28. package/dist/lib/config/provider_loader.js.map +1 -0
  29. package/dist/lib/database/index.d.ts +8 -0
  30. package/dist/lib/database/index.d.ts.map +1 -0
  31. package/dist/lib/database/index.js +10 -0
  32. package/dist/lib/database/index.js.map +1 -0
  33. package/dist/lib/database/init_database.d.ts +118 -0
  34. package/dist/lib/database/init_database.d.ts.map +1 -0
  35. package/dist/lib/database/init_database.js +591 -0
  36. package/dist/lib/database/init_database.js.map +1 -0
  37. package/dist/lib/database/utils.d.ts +53 -0
  38. package/dist/lib/database/utils.d.ts.map +1 -0
  39. package/dist/lib/database/utils.js +87 -0
  40. package/dist/lib/database/utils.js.map +1 -0
  41. package/dist/lib/index.d.ts +14 -0
  42. package/dist/lib/index.d.ts.map +1 -0
  43. package/dist/lib/index.js +17 -0
  44. package/dist/lib/index.js.map +1 -0
  45. package/dist/lib/llm_api/chain_helpers.d.ts +117 -0
  46. package/dist/lib/llm_api/chain_helpers.d.ts.map +1 -0
  47. package/dist/lib/llm_api/chain_helpers.js +445 -0
  48. package/dist/lib/llm_api/chain_helpers.js.map +1 -0
  49. package/dist/lib/llm_api/hazo_llm_image_image.d.ts +26 -0
  50. package/dist/lib/llm_api/hazo_llm_image_image.d.ts.map +1 -0
  51. package/dist/lib/llm_api/hazo_llm_image_image.js +94 -0
  52. package/dist/lib/llm_api/hazo_llm_image_image.js.map +1 -0
  53. package/dist/lib/llm_api/hazo_llm_image_image_text.d.ts +26 -0
  54. package/dist/lib/llm_api/hazo_llm_image_image_text.d.ts.map +1 -0
  55. package/dist/lib/llm_api/hazo_llm_image_image_text.js +222 -0
  56. package/dist/lib/llm_api/hazo_llm_image_image_text.js.map +1 -0
  57. package/dist/lib/llm_api/hazo_llm_image_text.d.ts +20 -0
  58. package/dist/lib/llm_api/hazo_llm_image_text.d.ts.map +1 -0
  59. package/dist/lib/llm_api/hazo_llm_image_text.js +78 -0
  60. package/dist/lib/llm_api/hazo_llm_image_text.js.map +1 -0
  61. package/dist/lib/llm_api/hazo_llm_prompt_chain.d.ts +20 -0
  62. package/dist/lib/llm_api/hazo_llm_prompt_chain.d.ts.map +1 -0
  63. package/dist/lib/llm_api/hazo_llm_prompt_chain.js +368 -0
  64. package/dist/lib/llm_api/hazo_llm_prompt_chain.js.map +1 -0
  65. package/dist/lib/llm_api/hazo_llm_text_image.d.ts +20 -0
  66. package/dist/lib/llm_api/hazo_llm_text_image.d.ts.map +1 -0
  67. package/dist/lib/llm_api/hazo_llm_text_image.js +69 -0
  68. package/dist/lib/llm_api/hazo_llm_text_image.js.map +1 -0
  69. package/dist/lib/llm_api/hazo_llm_text_image_text.d.ts +26 -0
  70. package/dist/lib/llm_api/hazo_llm_text_image_text.d.ts.map +1 -0
  71. package/dist/lib/llm_api/hazo_llm_text_image_text.js +154 -0
  72. package/dist/lib/llm_api/hazo_llm_text_image_text.js.map +1 -0
  73. package/dist/lib/llm_api/hazo_llm_text_text.d.ts +20 -0
  74. package/dist/lib/llm_api/hazo_llm_text_text.d.ts.map +1 -0
  75. package/dist/lib/llm_api/hazo_llm_text_text.js +91 -0
  76. package/dist/lib/llm_api/hazo_llm_text_text.js.map +1 -0
  77. package/dist/lib/llm_api/index.d.ts +223 -0
  78. package/dist/lib/llm_api/index.d.ts.map +1 -0
  79. package/dist/lib/llm_api/index.js +1220 -0
  80. package/dist/lib/llm_api/index.js.map +1 -0
  81. package/dist/lib/llm_api/provider_helper.d.ts +163 -0
  82. package/dist/lib/llm_api/provider_helper.d.ts.map +1 -0
  83. package/dist/lib/llm_api/provider_helper.js +346 -0
  84. package/dist/lib/llm_api/provider_helper.js.map +1 -0
  85. package/dist/lib/llm_api/types.d.ts +667 -0
  86. package/dist/lib/llm_api/types.d.ts.map +1 -0
  87. package/dist/lib/llm_api/types.js +49 -0
  88. package/dist/lib/llm_api/types.js.map +1 -0
  89. package/dist/lib/prompts/get_prompt.d.ts +76 -0
  90. package/dist/lib/prompts/get_prompt.d.ts.map +1 -0
  91. package/dist/lib/prompts/get_prompt.js +342 -0
  92. package/dist/lib/prompts/get_prompt.js.map +1 -0
  93. package/dist/lib/prompts/index.d.ts +9 -0
  94. package/dist/lib/prompts/index.d.ts.map +1 -0
  95. package/dist/lib/prompts/index.js +9 -0
  96. package/dist/lib/prompts/index.js.map +1 -0
  97. package/dist/lib/prompts/prompt_cache.d.ts +151 -0
  98. package/dist/lib/prompts/prompt_cache.d.ts.map +1 -0
  99. package/dist/lib/prompts/prompt_cache.js +276 -0
  100. package/dist/lib/prompts/prompt_cache.js.map +1 -0
  101. package/dist/lib/prompts/substitute_variables.d.ts +38 -0
  102. package/dist/lib/prompts/substitute_variables.d.ts.map +1 -0
  103. package/dist/lib/prompts/substitute_variables.js +171 -0
  104. package/dist/lib/prompts/substitute_variables.js.map +1 -0
  105. package/dist/lib/providers/gemini/gemini_client.d.ts +25 -0
  106. package/dist/lib/providers/gemini/gemini_client.d.ts.map +1 -0
  107. package/dist/lib/providers/gemini/gemini_client.js +235 -0
  108. package/dist/lib/providers/gemini/gemini_client.js.map +1 -0
  109. package/dist/lib/providers/gemini/gemini_provider.d.ts +111 -0
  110. package/dist/lib/providers/gemini/gemini_provider.d.ts.map +1 -0
  111. package/dist/lib/providers/gemini/gemini_provider.js +431 -0
  112. package/dist/lib/providers/gemini/gemini_provider.js.map +1 -0
  113. package/dist/lib/providers/gemini/index.d.ts +8 -0
  114. package/dist/lib/providers/gemini/index.d.ts.map +1 -0
  115. package/dist/lib/providers/gemini/index.js +8 -0
  116. package/dist/lib/providers/gemini/index.js.map +1 -0
  117. package/dist/lib/providers/index.d.ts +8 -0
  118. package/dist/lib/providers/index.d.ts.map +1 -0
  119. package/dist/lib/providers/index.js +8 -0
  120. package/dist/lib/providers/index.js.map +1 -0
  121. package/dist/lib/providers/qwen/index.d.ts +8 -0
  122. package/dist/lib/providers/qwen/index.d.ts.map +1 -0
  123. package/dist/lib/providers/qwen/index.js +8 -0
  124. package/dist/lib/providers/qwen/index.js.map +1 -0
  125. package/dist/lib/providers/qwen/qwen_client.d.ts +154 -0
  126. package/dist/lib/providers/qwen/qwen_client.d.ts.map +1 -0
  127. package/dist/lib/providers/qwen/qwen_client.js +1002 -0
  128. package/dist/lib/providers/qwen/qwen_client.js.map +1 -0
  129. package/dist/lib/providers/qwen/qwen_provider.d.ts +139 -0
  130. package/dist/lib/providers/qwen/qwen_provider.d.ts.map +1 -0
  131. package/dist/lib/providers/qwen/qwen_provider.js +304 -0
  132. package/dist/lib/providers/qwen/qwen_provider.js.map +1 -0
  133. package/dist/lib/providers/registry.d.ts +66 -0
  134. package/dist/lib/providers/registry.d.ts.map +1 -0
  135. package/dist/lib/providers/registry.js +158 -0
  136. package/dist/lib/providers/registry.js.map +1 -0
  137. package/dist/lib/providers/types.d.ts +145 -0
  138. package/dist/lib/providers/types.d.ts.map +1 -0
  139. package/dist/lib/providers/types.js +37 -0
  140. package/dist/lib/providers/types.js.map +1 -0
  141. package/dist/server.d.ts +27 -0
  142. package/dist/server.d.ts.map +1 -0
  143. package/dist/server.js +50 -0
  144. package/dist/server.js.map +1 -0
  145. package/package.json +12 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hazo_llm_text_image_text.js","sourceRoot":"","sources":["../../../src/lib/llm_api/hazo_llm_text_image_text.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * hazo_llm_text_text Function
3
+ *
4
+ * Text input → Text output
5
+ * Standard text generation using LLM.
6
+ * Supports static prompts, dynamic prompts from database, and variable substitution.
7
+ */
8
+ import type { Database as SqlJsDatabase } from 'sql.js';
9
+ import type { TextTextParams, LLMResponse, LLMApiConfig } from './types.js';
10
+ /**
11
+ * Call the LLM with text input and get text output
12
+ *
13
+ * @param params - Text input parameters
14
+ * @param db - Database instance for dynamic prompts
15
+ * @param config - LLM API configuration
16
+ * @param llm - Optional LLM provider name (uses primary LLM if not specified)
17
+ * @returns LLM response with generated text
18
+ */
19
+ export declare function hazo_llm_text_text(params: TextTextParams, db: SqlJsDatabase | null, config: LLMApiConfig, llm?: string): Promise<LLMResponse>;
20
+ //# sourceMappingURL=hazo_llm_text_text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hazo_llm_text_text.d.ts","sourceRoot":"","sources":["../../../src/lib/llm_api/hazo_llm_text_text.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,YAAY,EACb,MAAM,YAAY,CAAC;AAwBpB;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,cAAc,EACtB,EAAE,EAAE,aAAa,GAAG,IAAI,EACxB,MAAM,EAAE,YAAY,EACpB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,WAAW,CAAC,CA4EtB"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * hazo_llm_text_text Function
3
+ *
4
+ * Text input → Text output
5
+ * Standard text generation using LLM.
6
+ * Supports static prompts, dynamic prompts from database, and variable substitution.
7
+ */
8
+ import { get_prompt_text } from '../prompts/get_prompt.js';
9
+ import { substitute_variables } from '../prompts/substitute_variables.js';
10
+ import { SERVICE_TYPES } from '../providers/types.js';
11
+ import { get_validated_provider, log_api_start, log_api_complete, log_api_details, log_api_response, handle_caught_error, } from './provider_helper.js';
12
+ // =============================================================================
13
+ // Constants
14
+ // =============================================================================
15
+ const FILE_NAME = 'hazo_llm_text_text.ts';
16
+ const API_NAME = 'text_text';
17
+ // =============================================================================
18
+ // hazo_llm_text_text Function
19
+ // =============================================================================
20
+ /**
21
+ * Call the LLM with text input and get text output
22
+ *
23
+ * @param params - Text input parameters
24
+ * @param db - Database instance for dynamic prompts
25
+ * @param config - LLM API configuration
26
+ * @param llm - Optional LLM provider name (uses primary LLM if not specified)
27
+ * @returns LLM response with generated text
28
+ */
29
+ export async function hazo_llm_text_text(params, db, config, llm) {
30
+ // Use default logger if not provided
31
+ const { default_logger } = await import('./index.js');
32
+ const logger = config.logger || default_logger;
33
+ try {
34
+ log_api_start(API_NAME, FILE_NAME, logger);
35
+ // ==========================================================================
36
+ // Step 1: Get the prompt text
37
+ // ==========================================================================
38
+ let prompt_text;
39
+ if (params.prompt_area && params.prompt_key) {
40
+ if (!db) {
41
+ const error_msg = 'Database not initialized for dynamic prompt retrieval';
42
+ logger.error(error_msg, { file: FILE_NAME });
43
+ return { success: false, error: error_msg };
44
+ }
45
+ const dynamic_prompt = get_prompt_text(db, params.prompt_area, params.prompt_key, logger);
46
+ if (!dynamic_prompt) {
47
+ const error_msg = `Prompt not found for area="${params.prompt_area}" key="${params.prompt_key}"`;
48
+ logger.error(error_msg, { file: FILE_NAME });
49
+ return { success: false, error: error_msg };
50
+ }
51
+ prompt_text = dynamic_prompt;
52
+ }
53
+ else {
54
+ prompt_text = params.prompt;
55
+ }
56
+ // ==========================================================================
57
+ // Step 2: Substitute variables
58
+ // ==========================================================================
59
+ const final_prompt = substitute_variables(prompt_text, params.prompt_variables, logger);
60
+ // ==========================================================================
61
+ // Step 3: Get and validate provider
62
+ // ==========================================================================
63
+ const provider_result = get_validated_provider({
64
+ llm,
65
+ service_type: SERVICE_TYPES.TEXT_TEXT,
66
+ logger,
67
+ });
68
+ if (!provider_result.success) {
69
+ return provider_result.error_response;
70
+ }
71
+ const provider = provider_result.provider;
72
+ log_api_details(provider, SERVICE_TYPES.TEXT_TEXT, FILE_NAME, logger, {
73
+ prompt_text: final_prompt,
74
+ llm_requested: llm || 'primary',
75
+ });
76
+ // ==========================================================================
77
+ // Step 4: Call the provider
78
+ // ==========================================================================
79
+ const response = await provider.text_text({
80
+ ...params,
81
+ prompt: final_prompt,
82
+ }, logger);
83
+ log_api_response(response, FILE_NAME, logger);
84
+ log_api_complete(API_NAME, FILE_NAME, response.success, logger);
85
+ return response;
86
+ }
87
+ catch (error) {
88
+ return handle_caught_error(error, 'hazo_llm_text_text', FILE_NAME, logger);
89
+ }
90
+ }
91
+ //# sourceMappingURL=hazo_llm_text_text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hazo_llm_text_text.js","sourceRoot":"","sources":["../../../src/lib/llm_api/hazo_llm_text_text.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAE9B,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,MAAM,SAAS,GAAG,uBAAuB,CAAC;AAC1C,MAAM,QAAQ,GAAG,WAAW,CAAC;AAE7B,gFAAgF;AAChF,8BAA8B;AAC9B,gFAAgF;AAEhF;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAsB,EACtB,EAAwB,EACxB,MAAoB,EACpB,GAAY;IAEZ,qCAAqC;IACrC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,cAAc,CAAC;IAE/C,IAAI,CAAC;QACH,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAE3C,6EAA6E;QAC7E,8BAA8B;QAC9B,6EAA6E;QAC7E,IAAI,WAAmB,CAAC;QAExB,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAC5C,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,MAAM,SAAS,GAAG,uDAAuD,CAAC;gBAC1E,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC7C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YAC9C,CAAC;YAED,MAAM,cAAc,GAAG,eAAe,CAAC,EAAE,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAE1F,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,SAAS,GAAG,8BAA8B,MAAM,CAAC,WAAW,UAAU,MAAM,CAAC,UAAU,GAAG,CAAC;gBACjG,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC7C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YAC9C,CAAC;YAED,WAAW,GAAG,cAAc,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;QAC9B,CAAC;QAED,6EAA6E;QAC7E,+BAA+B;QAC/B,6EAA6E;QAC7E,MAAM,YAAY,GAAG,oBAAoB,CAAC,WAAW,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAExF,6EAA6E;QAC7E,oCAAoC;QACpC,6EAA6E;QAC7E,MAAM,eAAe,GAAG,sBAAsB,CAAC;YAC7C,GAAG;YACH,YAAY,EAAE,aAAa,CAAC,SAAS;YACrC,MAAM;SACP,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO,eAAe,CAAC,cAAc,CAAC;QACxC,CAAC;QAED,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;QAE1C,eAAe,CAAC,QAAQ,EAAE,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE;YACpE,WAAW,EAAE,YAAY;YACzB,aAAa,EAAE,GAAG,IAAI,SAAS;SAChC,CAAC,CAAC;QAEH,6EAA6E;QAC7E,4BAA4B;QAC5B,6EAA6E;QAC7E,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,SAAS,CACvC;YACE,GAAG,MAAM;YACT,MAAM,EAAE,YAAY;SACrB,EACD,MAAM,CACP,CAAC;QAEF,gBAAgB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAC9C,gBAAgB,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEhE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,mBAAmB,CAAC,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC"}
@@ -0,0 +1,223 @@
1
+ /**
2
+ * LLM API Module
3
+ *
4
+ * Main entry point for the LLM API functionality.
5
+ * Provides initialization and specialized LLM functions:
6
+ * - hazo_llm_text_text: Text input → Text output
7
+ * - hazo_llm_image_text: Image input → Text output
8
+ * - hazo_llm_text_image: Text input → Image output
9
+ * - hazo_llm_image_image: Image input → Image output
10
+ * - hazo_llm_text_image_text: Text → Image → Text (chained)
11
+ * - hazo_llm_image_image_text: Images → Image → Text (chained)
12
+ *
13
+ * Database is auto-initialized on module import using config defaults.
14
+ */
15
+ import type { LLMApiConfig, LLMApiClient, LLMResponse, LLMStreamResponse, TextTextParams, ImageTextParams, TextImageParams, ImageImageParams, TextImageTextParams, ImageImageTextParams, PromptChainParams, PromptChainResponse, Logger } from './types.js';
16
+ import type { ProviderName } from '../providers/types.js';
17
+ /**
18
+ * Default console logger used when no custom logger is provided
19
+ * Can be used directly or as a fallback in functions
20
+ */
21
+ export declare const default_logger: Logger;
22
+ /**
23
+ * Get the current logger instance
24
+ * Returns the stored logger (set during initialization) or default logger
25
+ *
26
+ * @returns Current logger instance
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * import { get_logger } from 'hazo_llm_api/server';
31
+ *
32
+ * const logger = get_logger();
33
+ * logger.info('My message');
34
+ * ```
35
+ */
36
+ export declare function get_logger(): Logger;
37
+ /**
38
+ * Set the logger instance
39
+ * Called internally during initialization, but can also be called directly
40
+ *
41
+ * @param logger - Logger instance to use
42
+ */
43
+ export declare function set_logger(logger: Logger): void;
44
+ /**
45
+ * Get the current hooks configuration
46
+ *
47
+ * @returns Current hooks configuration
48
+ */
49
+ export declare function get_hooks(): import('./types.js').LLMHooks;
50
+ /**
51
+ * Set the hooks configuration
52
+ * Called internally during initialization, but can also be called directly
53
+ *
54
+ * @param hooks - Hooks configuration to use
55
+ */
56
+ export declare function set_hooks(hooks: import('./types.js').LLMHooks): void;
57
+ /**
58
+ * Initialize the LLM API with the given configuration
59
+ * Creates/connects to the database and prepares the client for use
60
+ *
61
+ * @param config - Configuration options for the LLM API (all fields optional)
62
+ * @returns Initialized LLM API client
63
+ *
64
+ * @example
65
+ * ```typescript
66
+ * // Minimal initialization (uses defaults)
67
+ * const api = await initialize_llm_api({});
68
+ *
69
+ * // With custom logger
70
+ * const api = await initialize_llm_api({ logger: myLogger });
71
+ *
72
+ * // With custom database path
73
+ * const api = await initialize_llm_api({ sqlite_path: '~/data/prompts.db' });
74
+ * ```
75
+ */
76
+ export declare function initialize_llm_api(config?: LLMApiConfig): Promise<LLMApiClient>;
77
+ /**
78
+ * Check if database has been initialized (either auto or manual)
79
+ * @returns true if database is ready for use
80
+ */
81
+ export declare function is_database_ready(): boolean;
82
+ /**
83
+ * Wait for auto-initialization to complete
84
+ * Useful if you need to ensure database is ready before operations
85
+ */
86
+ export declare function ensure_database_ready(): Promise<boolean>;
87
+ /**
88
+ * Text input → Text output
89
+ * Standard text generation using LLM
90
+ *
91
+ * @param params - Text input parameters
92
+ * @param llm - Optional LLM provider name (uses primary LLM if not specified). Use LLM_PROVIDERS constants for type safety.
93
+ * @returns LLM response with generated text
94
+ *
95
+ * @example
96
+ * ```typescript
97
+ * import { hazo_llm_text_text, LLM_PROVIDERS } from 'hazo_llm_api/server';
98
+ *
99
+ * const response = await hazo_llm_text_text({ prompt: 'Hello' }, LLM_PROVIDERS.GEMINI);
100
+ * ```
101
+ */
102
+ export declare function hazo_llm_text_text(params: TextTextParams, llm?: ProviderName): Promise<LLMResponse>;
103
+ /**
104
+ * Image input → Text output
105
+ * Analyze an image and get text description
106
+ *
107
+ * @param params - Image input parameters
108
+ * @param llm - Optional LLM provider name (uses primary LLM if not specified). Use LLM_PROVIDERS constants for type safety.
109
+ * @returns LLM response with text description
110
+ */
111
+ export declare function hazo_llm_image_text(params: ImageTextParams, llm?: ProviderName): Promise<LLMResponse>;
112
+ /**
113
+ * Text input → Image output
114
+ * Generate an image from text description
115
+ *
116
+ * @param params - Text input parameters for image generation
117
+ * @param llm - Optional LLM provider name (uses primary LLM if not specified). Use LLM_PROVIDERS constants for type safety.
118
+ * @returns LLM response with generated image
119
+ */
120
+ export declare function hazo_llm_text_image(params: TextImageParams, llm?: ProviderName): Promise<LLMResponse>;
121
+ /**
122
+ * Image input → Image output
123
+ * Transform/edit an image based on instructions
124
+ *
125
+ * @param params - Image input parameters with transformation instructions
126
+ * @param llm - Optional LLM provider name (uses primary LLM if not specified). Use LLM_PROVIDERS constants for type safety.
127
+ * @returns LLM response with transformed image
128
+ */
129
+ export declare function hazo_llm_image_image(params: ImageImageParams, llm?: ProviderName): Promise<LLMResponse>;
130
+ /**
131
+ * Text → Image → Text (Chained)
132
+ * Generate an image from prompt_image, then analyze it with prompt_text
133
+ *
134
+ * @param params - Parameters with two prompts: one for image gen, one for analysis
135
+ * @param llm - Optional LLM provider name (uses primary LLM if not specified). Use LLM_PROVIDERS constants for type safety.
136
+ * @returns LLM response with generated image and analysis text
137
+ */
138
+ export declare function hazo_llm_text_image_text(params: TextImageTextParams, llm?: ProviderName): Promise<LLMResponse>;
139
+ /**
140
+ * Images → Image → Text (Chained)
141
+ * Chain multiple image transformations, then describe the final result
142
+ *
143
+ * @param params - Parameters with images, prompts, and description prompt
144
+ * @param llm - Optional LLM provider name (uses primary LLM if not specified). Use LLM_PROVIDERS constants for type safety.
145
+ * @returns LLM response with final image and description text
146
+ */
147
+ export declare function hazo_llm_image_image_text(params: ImageImageTextParams, llm?: ProviderName): Promise<LLMResponse>;
148
+ /**
149
+ * Execute a chain of prompts with dynamic value resolution
150
+ * Each call can reference values from previous call results
151
+ *
152
+ * @param params - Chain parameters including call definitions
153
+ * @param llm - Optional LLM provider name (uses primary LLM if not specified). Use LLM_PROVIDERS constants for type safety.
154
+ * @returns Chain response with merged results and individual call outcomes
155
+ *
156
+ * @example
157
+ * ```typescript
158
+ * import { hazo_llm_prompt_chain } from 'hazo_llm_api/server';
159
+ *
160
+ * const response = await hazo_llm_prompt_chain({
161
+ * chain_calls: [
162
+ * {
163
+ * prompt_area: { match_type: 'direct', value: 'document' },
164
+ * prompt_key: { match_type: 'direct', value: 'initial_read' }
165
+ * },
166
+ * {
167
+ * prompt_area: { match_type: 'direct', value: 'document' },
168
+ * prompt_key: { match_type: 'direct', value: 'process_results' },
169
+ * local_1: {
170
+ * match_type: 'call_chain',
171
+ * value: 'call[0].tax_category',
172
+ * variable_name: 'previous_category'
173
+ * }
174
+ * }
175
+ * ]
176
+ * });
177
+ * ```
178
+ */
179
+ export declare function hazo_llm_prompt_chain(params: PromptChainParams, llm?: ProviderName): Promise<PromptChainResponse>;
180
+ /**
181
+ * Text input → Text output (Streaming)
182
+ * Generate text from a prompt with streaming response
183
+ *
184
+ * @param params - Text input parameters
185
+ * @param llm - Optional LLM provider name (uses primary LLM if not specified)
186
+ * @returns Async generator yielding text chunks
187
+ *
188
+ * @example
189
+ * ```typescript
190
+ * const stream = await hazo_llm_text_text_stream({ prompt: 'Tell me a story' });
191
+ *
192
+ * for await (const chunk of stream) {
193
+ * if (chunk.error) {
194
+ * console.error(chunk.error);
195
+ * break;
196
+ * }
197
+ * process.stdout.write(chunk.text);
198
+ * if (chunk.done) break;
199
+ * }
200
+ * ```
201
+ */
202
+ export declare function hazo_llm_text_text_stream(params: TextTextParams, llm?: ProviderName): LLMStreamResponse;
203
+ /**
204
+ * Image input → Text output (Streaming)
205
+ * Analyze an image and stream text description
206
+ *
207
+ * @param params - Image input parameters
208
+ * @param llm - Optional LLM provider name (uses primary LLM if not specified)
209
+ * @returns Async generator yielding text chunks
210
+ */
211
+ export declare function hazo_llm_image_text_stream(params: ImageTextParams, llm?: ProviderName): LLMStreamResponse;
212
+ /**
213
+ * Check if the LLM API has been initialized
214
+ * @returns true if initialized
215
+ */
216
+ export declare function is_initialized(): boolean;
217
+ /**
218
+ * Get the current configuration (without sensitive logger)
219
+ * @returns Current configuration or null if not initialized
220
+ */
221
+ export declare function get_current_config(): Omit<LLMApiConfig, 'logger'> | null;
222
+ export type { LLMApiConfig, LLMApiClient, LLMResponse, TextTextParams, ImageTextParams, TextImageParams, ImageImageParams, TextImageTextParams, ImageImageTextParams, ChainImage, Logger, PromptVariable, PromptVariables, Base64Data, PromptTextMode, PromptRecord, CallLLMParams, GeminiGenerationConfig, GeminiApiGenerationConfig, ChainMatchType, ChainFieldDefinition, ChainCallDefinition, ChainCallResult, PromptChainParams, PromptChainResponse, } from './types.js';
223
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/llm_api/index.ts"],"names":[],"mappings":"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"}