hazo_llm_api 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist/index.d.ts +4 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +8 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/database/index.d.ts +1 -1
  6. package/dist/lib/database/index.d.ts.map +1 -1
  7. package/dist/lib/database/index.js +3 -1
  8. package/dist/lib/database/index.js.map +1 -1
  9. package/dist/lib/database/init_database.d.ts +56 -0
  10. package/dist/lib/database/init_database.d.ts.map +1 -1
  11. package/dist/lib/database/init_database.js +88 -0
  12. package/dist/lib/database/init_database.js.map +1 -1
  13. package/dist/lib/llm_api/hazo_llm_image_image.d.ts.map +1 -1
  14. package/dist/lib/llm_api/hazo_llm_image_image.js +3 -1
  15. package/dist/lib/llm_api/hazo_llm_image_image.js.map +1 -1
  16. package/dist/lib/llm_api/hazo_llm_image_image_text.d.ts.map +1 -1
  17. package/dist/lib/llm_api/hazo_llm_image_image_text.js +3 -1
  18. package/dist/lib/llm_api/hazo_llm_image_image_text.js.map +1 -1
  19. package/dist/lib/llm_api/hazo_llm_image_text.d.ts.map +1 -1
  20. package/dist/lib/llm_api/hazo_llm_image_text.js +3 -1
  21. package/dist/lib/llm_api/hazo_llm_image_text.js.map +1 -1
  22. package/dist/lib/llm_api/hazo_llm_text_image.d.ts.map +1 -1
  23. package/dist/lib/llm_api/hazo_llm_text_image.js +3 -1
  24. package/dist/lib/llm_api/hazo_llm_text_image.js.map +1 -1
  25. package/dist/lib/llm_api/hazo_llm_text_image_text.d.ts.map +1 -1
  26. package/dist/lib/llm_api/hazo_llm_text_image_text.js +3 -1
  27. package/dist/lib/llm_api/hazo_llm_text_image_text.js.map +1 -1
  28. package/dist/lib/llm_api/hazo_llm_text_text.d.ts.map +1 -1
  29. package/dist/lib/llm_api/hazo_llm_text_text.js +3 -1
  30. package/dist/lib/llm_api/hazo_llm_text_text.js.map +1 -1
  31. package/dist/lib/llm_api/index.d.ts +109 -17
  32. package/dist/lib/llm_api/index.d.ts.map +1 -1
  33. package/dist/lib/llm_api/index.js +248 -32
  34. package/dist/lib/llm_api/index.js.map +1 -1
  35. package/dist/lib/llm_api/provider_helper.d.ts +61 -5
  36. package/dist/lib/llm_api/provider_helper.d.ts.map +1 -1
  37. package/dist/lib/llm_api/provider_helper.js +197 -10
  38. package/dist/lib/llm_api/provider_helper.js.map +1 -1
  39. package/dist/lib/llm_api/types.d.ts +211 -38
  40. package/dist/lib/llm_api/types.d.ts.map +1 -1
  41. package/dist/lib/llm_api/types.js +42 -1
  42. package/dist/lib/llm_api/types.js.map +1 -1
  43. package/dist/lib/providers/registry.d.ts +3 -3
  44. package/dist/lib/providers/registry.d.ts.map +1 -1
  45. package/dist/lib/providers/registry.js +1 -1
  46. package/dist/lib/providers/registry.js.map +1 -1
  47. package/dist/lib/providers/types.d.ts +51 -1
  48. package/dist/lib/providers/types.d.ts.map +1 -1
  49. package/dist/lib/providers/types.js +18 -0
  50. package/dist/lib/providers/types.js.map +1 -1
  51. package/dist/server.d.ts +8 -3
  52. package/dist/server.d.ts.map +1 -1
  53. package/dist/server.js +19 -2
  54. package/dist/server.js.map +1 -1
  55. package/package.json +1 -1
@@ -4,6 +4,7 @@
4
4
  * TypeScript interfaces and types for the LLM API module.
5
5
  * Includes configuration, function parameters, and response types.
6
6
  */
7
+ import type { ServiceType, ProviderName } from '../providers/types.js';
7
8
  /**
8
9
  * Logger interface matching Winston logger methods
9
10
  * Parent application provides this logger instance
@@ -17,7 +18,9 @@ export interface Logger {
17
18
  /**
18
19
  * Gemini API generation configuration parameters
19
20
  * All parameters are optional - only include in API calls if explicitly set
20
- * @deprecated Use provider-specific generation configs instead
21
+ *
22
+ * Note: This is used internally by the Gemini provider.
23
+ * Configure via hazo_llm_api_config.ini [llm_gemini] section instead of passing directly.
21
24
  */
22
25
  export interface GeminiGenerationConfig {
23
26
  /** Controls randomness in output (0.0-2.0). Lower = more deterministic */
@@ -35,47 +38,121 @@ export interface GeminiGenerationConfig {
35
38
  /** Format of the response: "text/plain" or "application/json" */
36
39
  response_mime_type?: string;
37
40
  }
41
+ /**
42
+ * Context passed to beforeRequest hook
43
+ */
44
+ export interface LLMRequestContext {
45
+ /** Service type being called */
46
+ service_type: ServiceType;
47
+ /** Provider name */
48
+ provider: string;
49
+ /** Request parameters (type varies by service) */
50
+ params: Record<string, unknown>;
51
+ /** Timestamp when request started */
52
+ timestamp: Date;
53
+ }
54
+ /**
55
+ * Context passed to afterResponse hook
56
+ */
57
+ export interface LLMResponseContext extends LLMRequestContext {
58
+ /** The response from the LLM */
59
+ response: LLMResponse;
60
+ /** Duration of the request in milliseconds */
61
+ duration_ms: number;
62
+ }
63
+ /**
64
+ * Context passed to onError hook
65
+ */
66
+ export interface LLMErrorContext extends LLMRequestContext {
67
+ /** The error that occurred */
68
+ error: LLMError;
69
+ /** Duration until error in milliseconds */
70
+ duration_ms: number;
71
+ }
72
+ /**
73
+ * Hook function called before each LLM request
74
+ * Can be async for logging to external services
75
+ */
76
+ export type BeforeRequestHook = (context: LLMRequestContext) => void | Promise<void>;
77
+ /**
78
+ * Hook function called after each successful LLM response
79
+ * Can be async for logging/analytics
80
+ */
81
+ export type AfterResponseHook = (context: LLMResponseContext) => void | Promise<void>;
82
+ /**
83
+ * Hook function called when an error occurs
84
+ * Can be async for error reporting
85
+ */
86
+ export type OnErrorHook = (context: LLMErrorContext) => void | Promise<void>;
87
+ /**
88
+ * Lifecycle hooks for LLM API calls
89
+ * All hooks are optional and can be async
90
+ *
91
+ * @example
92
+ * ```typescript
93
+ * await initialize_llm_api({
94
+ * hooks: {
95
+ * beforeRequest: (ctx) => {
96
+ * console.log(`Calling ${ctx.provider}.${ctx.service_type}`);
97
+ * },
98
+ * afterResponse: (ctx) => {
99
+ * console.log(`Response in ${ctx.duration_ms}ms`);
100
+ * },
101
+ * onError: (ctx) => {
102
+ * console.error(`Error: ${ctx.error.code}`);
103
+ * },
104
+ * },
105
+ * });
106
+ * ```
107
+ */
108
+ export interface LLMHooks {
109
+ /** Called before each LLM request */
110
+ beforeRequest?: BeforeRequestHook;
111
+ /** Called after each successful LLM response */
112
+ afterResponse?: AfterResponseHook;
113
+ /** Called when an error occurs */
114
+ onError?: OnErrorHook;
115
+ }
38
116
  /**
39
117
  * Configuration options for initializing the LLM API
40
118
  * Supports provider-based architecture where providers are loaded from config file
119
+ *
120
+ * All configuration fields are optional - the API will use sensible defaults:
121
+ * - logger: Default console logger
122
+ * - sqlite_path: From config file or "prompt_library.sqlite" in cwd
123
+ * - hooks: None
124
+ *
125
+ * @example
126
+ * ```typescript
127
+ * // Minimal initialization
128
+ * await initialize_llm_api({});
129
+ *
130
+ * // With custom logger and hooks
131
+ * await initialize_llm_api({
132
+ * logger: myLogger,
133
+ * hooks: {
134
+ * beforeRequest: (ctx) => console.log(`Calling ${ctx.provider}`),
135
+ * },
136
+ * });
137
+ * ```
41
138
  */
42
139
  export interface LLMApiConfig {
43
- /** Winston logger instance from parent application */
44
- logger: Logger;
45
- /** Path to SQLite database file (default: "/prompt_library.sqlite" relative to app root) */
46
- sqlite_path?: string;
47
140
  /**
48
- * Legacy: URL of the LLM API endpoint (for backward compatibility)
49
- * Providers now load URLs from config file
50
- * @deprecated Providers load API URLs from config file
141
+ * Logger instance from parent application
142
+ * Optional - if not provided, uses default console logger
51
143
  */
52
- api_url?: string;
144
+ logger?: Logger;
53
145
  /**
54
- * Legacy: URL of the LLM API endpoint for image generation (for backward compatibility)
55
- * @deprecated Providers load API URLs from config file
146
+ * Path to SQLite database file
147
+ * Supports: relative paths, absolute paths, ~ expansion, environment variables
148
+ * Default: "prompt_library.sqlite" (relative to process.cwd())
56
149
  */
57
- api_url_image?: string;
58
- /**
59
- * Legacy: API key for authentication (for backward compatibility)
60
- * Providers now load API keys from .env.local
61
- * @deprecated API keys are loaded from .env.local per provider
62
- */
63
- api_key?: string;
64
- /**
65
- * Legacy: LLM model to use (for backward compatibility)
66
- * @deprecated Use provider registry instead, enabled_llms and primary_llm come from config
67
- */
68
- llm_model?: string;
69
- /**
70
- * Legacy: Generation config for text API calls (for backward compatibility)
71
- * @deprecated Use provider-specific configs from config file
72
- */
73
- gemini_text_config?: GeminiGenerationConfig;
150
+ sqlite_path?: string;
74
151
  /**
75
- * Legacy: Generation config for image API calls (for backward compatibility)
76
- * @deprecated Use provider-specific configs from config file
152
+ * Lifecycle hooks for monitoring, logging, and analytics
153
+ * Optional - hooks are called at various points during LLM API calls
77
154
  */
78
- gemini_image_config?: GeminiGenerationConfig;
155
+ hooks?: LLMHooks;
79
156
  }
80
157
  /**
81
158
  * Single prompt variable key-value pair
@@ -140,6 +217,63 @@ export interface PromptRecord {
140
217
  /** Timestamp when the record was last changed */
141
218
  changed_by: string;
142
219
  }
220
+ /**
221
+ * Error codes for LLM API errors
222
+ * Use these codes for programmatic error handling
223
+ *
224
+ * @example
225
+ * ```typescript
226
+ * import { LLM_ERROR_CODES } from 'hazo_llm_api/server';
227
+ *
228
+ * if (response.error_info?.code === LLM_ERROR_CODES.RATE_LIMITED) {
229
+ * // Implement retry logic
230
+ * }
231
+ * ```
232
+ */
233
+ export declare const LLM_ERROR_CODES: {
234
+ /** Provider not found in registry */
235
+ readonly PROVIDER_NOT_FOUND: "PROVIDER_NOT_FOUND";
236
+ /** Provider is not enabled in configuration */
237
+ readonly PROVIDER_NOT_ENABLED: "PROVIDER_NOT_ENABLED";
238
+ /** Provider does not support the requested service type */
239
+ readonly CAPABILITY_NOT_SUPPORTED: "CAPABILITY_NOT_SUPPORTED";
240
+ /** API key is missing or invalid */
241
+ readonly API_KEY_MISSING: "API_KEY_MISSING";
242
+ /** Rate limit exceeded */
243
+ readonly RATE_LIMITED: "RATE_LIMITED";
244
+ /** Network error (connection failed, timeout, etc.) */
245
+ readonly NETWORK_ERROR: "NETWORK_ERROR";
246
+ /** Invalid request parameters */
247
+ readonly INVALID_REQUEST: "INVALID_REQUEST";
248
+ /** API returned an error */
249
+ readonly API_ERROR: "API_ERROR";
250
+ /** Request timed out */
251
+ readonly TIMEOUT: "TIMEOUT";
252
+ /** Database error */
253
+ readonly DATABASE_ERROR: "DATABASE_ERROR";
254
+ /** Prompt not found */
255
+ readonly PROMPT_NOT_FOUND: "PROMPT_NOT_FOUND";
256
+ /** Unknown/unexpected error */
257
+ readonly UNKNOWN: "UNKNOWN";
258
+ };
259
+ /**
260
+ * Type for LLM error codes
261
+ */
262
+ export type LLMErrorCode = typeof LLM_ERROR_CODES[keyof typeof LLM_ERROR_CODES];
263
+ /**
264
+ * Structured error information for LLM API responses
265
+ * Provides detailed error information for programmatic handling
266
+ */
267
+ export interface LLMError {
268
+ /** Error code for programmatic handling */
269
+ code: LLMErrorCode;
270
+ /** Human-readable error message */
271
+ message: string;
272
+ /** Whether this error is potentially retryable */
273
+ retryable: boolean;
274
+ /** Original error details (if applicable) */
275
+ details?: Record<string, unknown>;
276
+ }
143
277
  /**
144
278
  * Generic LLM API response
145
279
  */
@@ -148,8 +282,13 @@ export interface LLMResponse {
148
282
  success: boolean;
149
283
  /** The generated text response from the LLM */
150
284
  text?: string;
151
- /** Error message if the call failed */
285
+ /**
286
+ * Error message if the call failed
287
+ * @deprecated Use error_info for structured error data
288
+ */
152
289
  error?: string;
290
+ /** Structured error information (new in v2.0) */
291
+ error_info?: LLMError;
153
292
  /** Raw response from the API */
154
293
  raw_response?: unknown;
155
294
  /** Base64 encoded image data (for image output functions) */
@@ -157,6 +296,40 @@ export interface LLMResponse {
157
296
  /** MIME type of the generated image */
158
297
  image_mime_type?: string;
159
298
  }
299
+ /**
300
+ * A single chunk from a streaming LLM response
301
+ */
302
+ export interface LLMStreamChunk {
303
+ /** The text content of this chunk */
304
+ text: string;
305
+ /** Whether this is the final chunk */
306
+ done: boolean;
307
+ /**
308
+ * Error message if streaming failed
309
+ * @deprecated Use error_info for structured error data
310
+ */
311
+ error?: string;
312
+ /** Structured error information if streaming failed */
313
+ error_info?: LLMError;
314
+ }
315
+ /**
316
+ * Async iterator for streaming LLM responses
317
+ *
318
+ * @example
319
+ * ```typescript
320
+ * const stream = await hazo_llm_text_text_stream({ prompt: 'Hello' });
321
+ *
322
+ * for await (const chunk of stream) {
323
+ * if (chunk.error) {
324
+ * console.error(chunk.error);
325
+ * break;
326
+ * }
327
+ * process.stdout.write(chunk.text);
328
+ * if (chunk.done) break;
329
+ * }
330
+ * ```
331
+ */
332
+ export type LLMStreamResponse = AsyncGenerator<LLMStreamChunk, void, unknown>;
160
333
  /**
161
334
  * Parameters for hazo_llm_text_text (text input → text output)
162
335
  */
@@ -337,16 +510,16 @@ export interface LLMApiClient {
337
510
  /** Whether the database has been initialized */
338
511
  db_initialized: boolean;
339
512
  /** Text input → Text output */
340
- hazo_llm_text_text: (params: TextTextParams, llm?: string) => Promise<LLMResponse>;
513
+ hazo_llm_text_text: (params: TextTextParams, llm?: ProviderName) => Promise<LLMResponse>;
341
514
  /** Image input → Text output (image analysis) */
342
- hazo_llm_image_text: (params: ImageTextParams, llm?: string) => Promise<LLMResponse>;
515
+ hazo_llm_image_text: (params: ImageTextParams, llm?: ProviderName) => Promise<LLMResponse>;
343
516
  /** Text input → Image output (image generation) */
344
- hazo_llm_text_image: (params: TextImageParams, llm?: string) => Promise<LLMResponse>;
517
+ hazo_llm_text_image: (params: TextImageParams, llm?: ProviderName) => Promise<LLMResponse>;
345
518
  /** Image input → Image output (image transformation) */
346
- hazo_llm_image_image: (params: ImageImageParams, llm?: string) => Promise<LLMResponse>;
519
+ hazo_llm_image_image: (params: ImageImageParams, llm?: ProviderName) => Promise<LLMResponse>;
347
520
  /** Text → Image → Text (generate image then analyze it) */
348
- hazo_llm_text_image_text: (params: TextImageTextParams, llm?: string) => Promise<LLMResponse>;
521
+ hazo_llm_text_image_text: (params: TextImageTextParams, llm?: ProviderName) => Promise<LLMResponse>;
349
522
  /** Images → Image → Text (chain image transformations then describe) */
350
- hazo_llm_image_image_text: (params: ImageImageTextParams, llm?: string) => Promise<LLMResponse>;
523
+ hazo_llm_image_image_text: (params: ImageImageTextParams, llm?: ProviderName) => Promise<LLMResponse>;
351
524
  }
352
525
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/llm_api/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACjE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAChE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAChE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CAClE;AAMD;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,+CAA+C;IAC/C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,4FAA4F;IAC5F,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,sDAAsD;IACtD,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B,iEAAiE;IACjE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IAEf,4FAA4F;IAC5F,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;IAE5C;;;OAGG;IACH,mBAAmB,CAAC,EAAE,sBAAsB,CAAC;CAC9C;AAMD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,cAAc,EAAE,CAAC;AAM/C;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;IAElB,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;CACd;AAMD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,gEAAgE;IAChE,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,eAAe,CAAC;IAEnC,kEAAkE;IAClE,eAAe,CAAC,EAAE,UAAU,EAAE,CAAC;IAE/B,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,mGAAmG;IACnG,gBAAgB,EAAE,cAAc,CAAC;CAClC;AAMD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IAEb,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IAEpB,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IAEnB,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IAEpB,kDAAkD;IAClD,gBAAgB,EAAE,MAAM,CAAC;IAEzB,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;IAErB,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;IAEnB,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;CACpB;AAMD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,0CAA0C;IAC1C,OAAO,EAAE,OAAO,CAAC;IAEjB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,gCAAgC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,uCAAuC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAMD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,yBAAyB;IACzB,MAAM,EAAE,MAAM,CAAC;IAEf,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,eAAe,CAAC;IAEnC,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IAEf,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAElB,+DAA+D;IAC/D,eAAe,EAAE,MAAM,CAAC;IAExB,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,eAAe,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IAEf,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,eAAe,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IAEf,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,sDAAsD;IACtD,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,kDAAkD;IAClD,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IAEtB,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,eAAe,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,2CAA2C;IAC3C,YAAY,EAAE,MAAM,CAAC;IAErB,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAC;IAEpB,6DAA6D;IAC7D,sBAAsB,CAAC,EAAE,eAAe,CAAC;IAEzC,0DAA0D;IAC1D,qBAAqB,CAAC,EAAE,eAAe,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAElB,6BAA6B;IAC7B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,oBAAoB;IACnC,2CAA2C;IAC3C,MAAM,EAAE,UAAU,EAAE,CAAC;IAErB,mEAAmE;IACnE,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,2DAA2D;IAC3D,kBAAkB,EAAE,MAAM,CAAC;IAE3B,wDAAwD;IACxD,4BAA4B,CAAC,EAAE,eAAe,CAAC;CAChD;AAMD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,oBAAoB,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE;QACP,KAAK,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC/B,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/B,cAAc,CAAC,EAAE;QACf,aAAa,EAAE,KAAK,CAAC;YACnB,QAAQ,EAAE,MAAM,CAAC;YACjB,WAAW,EAAE,MAAM,CAAC;SACrB,CAAC,CAAC;KACJ,CAAC;IACF,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAMD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,kDAAkD;IAClD,MAAM,EAAE,YAAY,CAAC;IAErB,gDAAgD;IAChD,cAAc,EAAE,OAAO,CAAC;IAExB,+BAA+B;IAC/B,kBAAkB,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IAEnF,iDAAiD;IACjD,mBAAmB,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IAErF,mDAAmD;IACnD,mBAAmB,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IAErF,wDAAwD;IACxD,oBAAoB,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IAEvF,2DAA2D;IAC3D,wBAAwB,EAAE,CAAC,MAAM,EAAE,mBAAmB,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IAE9F,wEAAwE;IACxE,yBAAyB,EAAE,CAAC,MAAM,EAAE,oBAAoB,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;CACjG"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/llm_api/types.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,46 @@
4
4
  * TypeScript interfaces and types for the LLM API module.
5
5
  * Includes configuration, function parameters, and response types.
6
6
  */
7
- export {};
7
+ // =============================================================================
8
+ // LLM Error Types
9
+ // =============================================================================
10
+ /**
11
+ * Error codes for LLM API errors
12
+ * Use these codes for programmatic error handling
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * import { LLM_ERROR_CODES } from 'hazo_llm_api/server';
17
+ *
18
+ * if (response.error_info?.code === LLM_ERROR_CODES.RATE_LIMITED) {
19
+ * // Implement retry logic
20
+ * }
21
+ * ```
22
+ */
23
+ export const LLM_ERROR_CODES = {
24
+ /** Provider not found in registry */
25
+ PROVIDER_NOT_FOUND: 'PROVIDER_NOT_FOUND',
26
+ /** Provider is not enabled in configuration */
27
+ PROVIDER_NOT_ENABLED: 'PROVIDER_NOT_ENABLED',
28
+ /** Provider does not support the requested service type */
29
+ CAPABILITY_NOT_SUPPORTED: 'CAPABILITY_NOT_SUPPORTED',
30
+ /** API key is missing or invalid */
31
+ API_KEY_MISSING: 'API_KEY_MISSING',
32
+ /** Rate limit exceeded */
33
+ RATE_LIMITED: 'RATE_LIMITED',
34
+ /** Network error (connection failed, timeout, etc.) */
35
+ NETWORK_ERROR: 'NETWORK_ERROR',
36
+ /** Invalid request parameters */
37
+ INVALID_REQUEST: 'INVALID_REQUEST',
38
+ /** API returned an error */
39
+ API_ERROR: 'API_ERROR',
40
+ /** Request timed out */
41
+ TIMEOUT: 'TIMEOUT',
42
+ /** Database error */
43
+ DATABASE_ERROR: 'DATABASE_ERROR',
44
+ /** Prompt not found */
45
+ PROMPT_NOT_FOUND: 'PROMPT_NOT_FOUND',
46
+ /** Unknown/unexpected error */
47
+ UNKNOWN: 'UNKNOWN',
48
+ };
8
49
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/llm_api/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/llm_api/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAoSH,gFAAgF;AAChF,kBAAkB;AAClB,gFAAgF;AAEhF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,qCAAqC;IACrC,kBAAkB,EAAE,oBAAoB;IACxC,+CAA+C;IAC/C,oBAAoB,EAAE,sBAAsB;IAC5C,2DAA2D;IAC3D,wBAAwB,EAAE,0BAA0B;IACpD,oCAAoC;IACpC,eAAe,EAAE,iBAAiB;IAClC,0BAA0B;IAC1B,YAAY,EAAE,cAAc;IAC5B,uDAAuD;IACvD,aAAa,EAAE,eAAe;IAC9B,iCAAiC;IACjC,eAAe,EAAE,iBAAiB;IAClC,4BAA4B;IAC5B,SAAS,EAAE,WAAW;IACtB,wBAAwB;IACxB,OAAO,EAAE,SAAS;IAClB,qBAAqB;IACrB,cAAc,EAAE,gBAAgB;IAChC,uBAAuB;IACvB,gBAAgB,EAAE,kBAAkB;IACpC,+BAA+B;IAC/B,OAAO,EAAE,SAAS;CACV,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * Central registry for managing and accessing LLM providers.
5
5
  * Handles provider registration, capability validation, and enabled LLM tracking.
6
6
  */
7
- import type { LLMProvider, ServiceType } from './types.js';
7
+ import type { LLMProvider, ServiceType, ProviderName } from './types.js';
8
8
  import type { Logger } from '../llm_api/types.js';
9
9
  /**
10
10
  * Register a provider in the registry
@@ -34,11 +34,11 @@ export declare function get_primary_llm(): string | null;
34
34
  export declare function is_llm_enabled(name: string): boolean;
35
35
  /**
36
36
  * Get a provider by name
37
- * @param name - Provider name (case-insensitive)
37
+ * @param name - Provider name (case-insensitive). Use LLM_PROVIDERS constants for type safety.
38
38
  * @param logger - Logger instance for error logging
39
39
  * @returns Provider instance or null if not found
40
40
  */
41
- export declare function get_provider(name: string | null | undefined, logger: Logger): LLMProvider | null;
41
+ export declare function get_provider(name: ProviderName | null | undefined, logger: Logger): LLMProvider | null;
42
42
  /**
43
43
  * Check if a provider supports a specific service type
44
44
  * @param provider - Provider instance
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/lib/providers/registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,WAAW,EAEX,WAAW,EAEZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAyBlD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAG7D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,CAE9D;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAElD;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC/B,MAAM,EAAE,MAAM,GACb,WAAW,GAAG,IAAI,CA8CpB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,WAAW,EACrB,YAAY,EAAE,WAAW,GACxB,OAAO,CAGT;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,WAAW,EACrB,YAAY,EAAE,WAAW,EACzB,MAAM,EAAE,MAAM,GACb,OAAO,CAgBT;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,EAAE,CAEnD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAIrC"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/lib/providers/registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,WAAW,EAEX,WAAW,EAEX,YAAY,EACb,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAyBlD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAG7D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,CAE9D;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAElD;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,EACrC,MAAM,EAAE,MAAM,GACb,WAAW,GAAG,IAAI,CA8CpB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,WAAW,EACrB,YAAY,EAAE,WAAW,GACxB,OAAO,CAGT;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,WAAW,EACrB,YAAY,EAAE,WAAW,EACzB,MAAM,EAAE,MAAM,GACb,OAAO,CAgBT;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,EAAE,CAEnD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAIrC"}
@@ -61,7 +61,7 @@ export function is_llm_enabled(name) {
61
61
  }
62
62
  /**
63
63
  * Get a provider by name
64
- * @param name - Provider name (case-insensitive)
64
+ * @param name - Provider name (case-insensitive). Use LLM_PROVIDERS constants for type safety.
65
65
  * @param logger - Logger instance for error logging
66
66
  * @returns Provider instance or null if not found
67
67
  */
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/lib/providers/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/lib/providers/registry.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,39 @@
4
4
  * Defines the interface that all LLM providers must implement.
5
5
  * This ensures consistent behavior across different LLM implementations.
6
6
  */
7
- import type { LLMResponse, TextTextParams, ImageTextParams, TextImageParams, ImageImageParams, Logger } from '../llm_api/types.js';
7
+ import type { LLMResponse, LLMStreamResponse, TextTextParams, ImageTextParams, TextImageParams, ImageImageParams, Logger } from '../llm_api/types.js';
8
+ /**
9
+ * Provider name constants for type-safe LLM provider selection
10
+ * Use these constants instead of string literals for autocomplete and type safety
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * import { LLM_PROVIDERS } from 'hazo_llm_api/server';
15
+ *
16
+ * const response = await hazo_llm_text_text(params, LLM_PROVIDERS.GEMINI);
17
+ * ```
18
+ */
19
+ export declare const LLM_PROVIDERS: {
20
+ readonly GEMINI: "gemini";
21
+ readonly QWEN: "qwen";
22
+ };
23
+ /**
24
+ * Type for provider name - union of all valid provider names
25
+ * Accepts both constants and string literals for backward compatibility
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * // Using constant (recommended)
30
+ * const provider: ProviderName = LLM_PROVIDERS.GEMINI;
31
+ *
32
+ * // Using string literal (still works)
33
+ * const provider: ProviderName = 'gemini';
34
+ *
35
+ * // Custom provider (also valid)
36
+ * const provider: ProviderName = 'my-custom-provider';
37
+ * ```
38
+ */
39
+ export type ProviderName = typeof LLM_PROVIDERS[keyof typeof LLM_PROVIDERS] | (string & {});
8
40
  /**
9
41
  * Service type identifiers for LLM capabilities
10
42
  */
@@ -78,6 +110,24 @@ export interface LLMProvider {
78
110
  * @returns LLM response with transformed image
79
111
  */
80
112
  image_image(params: ImageImageParams, logger: Logger): Promise<LLMResponse>;
113
+ /**
114
+ * Text input → Text output (streaming)
115
+ * Generate text from a text prompt with streaming response
116
+ *
117
+ * @param params - Text input parameters
118
+ * @param logger - Logger instance
119
+ * @returns Async generator yielding text chunks
120
+ */
121
+ text_text_stream?(params: TextTextParams, logger: Logger): Promise<LLMStreamResponse>;
122
+ /**
123
+ * Image input → Text output (streaming)
124
+ * Analyze an image and generate text description with streaming response
125
+ *
126
+ * @param params - Image input parameters
127
+ * @param logger - Logger instance
128
+ * @returns Async generator yielding text chunks
129
+ */
130
+ image_text_stream?(params: ImageTextParams, logger: Logger): Promise<LLMStreamResponse>;
81
131
  }
82
132
  /**
83
133
  * Base configuration for initializing an LLM provider
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/providers/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,MAAM,EACP,MAAM,qBAAqB,CAAC;AAM7B;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;CAKhB,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,aAAa,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE3E;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC;AAM/C;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,QAAQ,IAAI,MAAM,CAAC;IAEnB;;;OAGG;IACH,gBAAgB,IAAI,eAAe,CAAC;IAEpC;;;;OAIG;IACH,qBAAqB,CAAC,YAAY,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;IAErE;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAExE;;;;;;;OAOG;IACH,UAAU,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAE1E;;;;;;;OAOG;IACH,UAAU,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAE1E;;;;;;;OAOG;IACH,WAAW,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAC7E;AAMD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IAEb,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IAEf,iDAAiD;IACjD,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/providers/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,MAAM,EACP,MAAM,qBAAqB,CAAC;AAM7B;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa;;;CAGhB,CAAC;AAEX;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,aAAa,CAAC,MAAM,OAAO,aAAa,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAM5F;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;CAKhB,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,aAAa,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE3E;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC;AAM/C;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,QAAQ,IAAI,MAAM,CAAC;IAEnB;;;OAGG;IACH,gBAAgB,IAAI,eAAe,CAAC;IAEpC;;;;OAIG;IACH,qBAAqB,CAAC,YAAY,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;IAErE;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAExE;;;;;;;OAOG;IACH,UAAU,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAE1E;;;;;;;OAOG;IACH,UAAU,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAE1E;;;;;;;OAOG;IACH,WAAW,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAM5E;;;;;;;OAOG;IACH,gBAAgB,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAEtF;;;;;;;OAOG;IACH,iBAAiB,CAAC,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACzF;AAMD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IAEb,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IAEf,iDAAiD;IACjD,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
@@ -5,6 +5,24 @@
5
5
  * This ensures consistent behavior across different LLM implementations.
6
6
  */
7
7
  // =============================================================================
8
+ // Provider Name Constants
9
+ // =============================================================================
10
+ /**
11
+ * Provider name constants for type-safe LLM provider selection
12
+ * Use these constants instead of string literals for autocomplete and type safety
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * import { LLM_PROVIDERS } from 'hazo_llm_api/server';
17
+ *
18
+ * const response = await hazo_llm_text_text(params, LLM_PROVIDERS.GEMINI);
19
+ * ```
20
+ */
21
+ export const LLM_PROVIDERS = {
22
+ GEMINI: 'gemini',
23
+ QWEN: 'qwen',
24
+ };
25
+ // =============================================================================
8
26
  // Service Type Constants
9
27
  // =============================================================================
10
28
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/providers/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;CAClB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/providers/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,gFAAgF;AAChF,0BAA0B;AAC1B,gFAAgF;AAEhF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;CACJ,CAAC;AAoBX,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;CAClB,CAAC"}
package/dist/server.d.ts CHANGED
@@ -13,9 +13,14 @@
13
13
  * - hazo_llm_image_image: Image input → Image output
14
14
  * - hazo_llm_text_image_text: Text → Image → Text (chained)
15
15
  */
16
- export { initialize_llm_api, hazo_llm_text_text, hazo_llm_image_text, hazo_llm_text_image, hazo_llm_image_image, hazo_llm_text_image_text, hazo_llm_image_image_text, is_initialized, get_current_config, } from './lib/llm_api/index.js';
17
- export { initialize_database, get_database, close_database, insert_prompt, update_prompt, delete_prompt, } from './lib/database/index.js';
16
+ export { initialize_llm_api, hazo_llm_text_text, hazo_llm_image_text, hazo_llm_text_image, hazo_llm_image_image, hazo_llm_text_image_text, hazo_llm_image_image_text, hazo_llm_text_text_stream, hazo_llm_image_text_stream, is_initialized, get_current_config, default_logger, get_logger, set_logger, get_hooks, set_hooks, } from './lib/llm_api/index.js';
17
+ export { initialize_database, get_database, close_database, insert_prompt, update_prompt, delete_prompt, get_default_sqlite_path, expand_path, resolve_sqlite_path, } from './lib/database/index.js';
18
18
  export { get_prompt_by_area_and_key, get_prompt_text, get_prompts_by_area, get_prompt_by_uuid, get_all_prompts, substitute_variables, parse_prompt_variables, validate_variables, } from './lib/prompts/index.js';
19
19
  export { call_gemini_api, get_gemini_api_url, } from './lib/providers/index.js';
20
- export type { LLMApiConfig, LLMApiClient, LLMResponse, TextTextParams, ImageTextParams, TextImageParams, ImageImageParams, TextImageTextParams, ImageImageTextParams, ChainImage, Logger, PromptVariable, PromptVariables, Base64Data, PromptTextMode, PromptRecord, CallLLMParams, } from './lib/llm_api/types.js';
20
+ export { LLM_PROVIDERS, SERVICE_TYPES } from './lib/providers/types.js';
21
+ export type { ProviderName, ServiceType } from './lib/providers/types.js';
22
+ export { LLM_ERROR_CODES } from './lib/llm_api/types.js';
23
+ export { build_error_response } from './lib/llm_api/provider_helper.js';
24
+ export type { LLMErrorCode, LLMError } from './lib/llm_api/types.js';
25
+ export type { LLMApiConfig, LLMApiClient, LLMResponse, TextTextParams, ImageTextParams, TextImageParams, ImageImageParams, TextImageTextParams, ImageImageTextParams, ChainImage, Logger, PromptVariable, PromptVariables, Base64Data, PromptTextMode, PromptRecord, CallLLMParams, LLMHooks, LLMRequestContext, LLMResponseContext, LLMErrorContext, BeforeRequestHook, AfterResponseHook, OnErrorHook, LLMStreamChunk, LLMStreamResponse, } from './lib/llm_api/types.js';
21
26
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,cAAc,EACd,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAKhC,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,aAAa,GACd,MAAM,yBAAyB,CAAC;AAKjC,OAAO,EACL,0BAA0B,EAC1B,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAKhC,OAAO,EACL,eAAe,EACf,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAKlC,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,UAAU,EACV,MAAM,EACN,cAAc,EACd,eAAe,EACf,UAAU,EACV,cAAc,EACd,YAAY,EACZ,aAAa,GACd,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EAEzB,yBAAyB,EACzB,0BAA0B,EAC1B,cAAc,EACd,kBAAkB,EAElB,cAAc,EACd,UAAU,EACV,UAAU,EAEV,SAAS,EACT,SAAS,GACV,MAAM,wBAAwB,CAAC;AAKhC,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,aAAa,EAEb,uBAAuB,EACvB,WAAW,EACX,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AAKjC,OAAO,EACL,0BAA0B,EAC1B,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAKhC,OAAO,EACL,eAAe,EACf,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAKlC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACxE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAK1E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAKrE,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,UAAU,EACV,MAAM,EACN,cAAc,EACd,eAAe,EACf,UAAU,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EAEb,QAAQ,EACR,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EAEX,cAAc,EACd,iBAAiB,GAClB,MAAM,wBAAwB,CAAC"}
package/dist/server.js CHANGED
@@ -16,11 +16,19 @@
16
16
  // =============================================================================
17
17
  // LLM API Exports (Server-side ONLY)
18
18
  // =============================================================================
19
- export { initialize_llm_api, hazo_llm_text_text, hazo_llm_image_text, hazo_llm_text_image, hazo_llm_image_image, hazo_llm_text_image_text, hazo_llm_image_image_text, is_initialized, get_current_config, } from './lib/llm_api/index.js';
19
+ export { initialize_llm_api, hazo_llm_text_text, hazo_llm_image_text, hazo_llm_text_image, hazo_llm_image_image, hazo_llm_text_image_text, hazo_llm_image_image_text,
20
+ // Streaming functions
21
+ hazo_llm_text_text_stream, hazo_llm_image_text_stream, is_initialized, get_current_config,
22
+ // Logger utilities
23
+ default_logger, get_logger, set_logger,
24
+ // Hooks utilities
25
+ get_hooks, set_hooks, } from './lib/llm_api/index.js';
20
26
  // =============================================================================
21
27
  // Database Exports (Server-side ONLY)
22
28
  // =============================================================================
23
- export { initialize_database, get_database, close_database, insert_prompt, update_prompt, delete_prompt, } from './lib/database/index.js';
29
+ export { initialize_database, get_database, close_database, insert_prompt, update_prompt, delete_prompt,
30
+ // Path helpers
31
+ get_default_sqlite_path, expand_path, resolve_sqlite_path, } from './lib/database/index.js';
24
32
  // =============================================================================
25
33
  // Prompt Utility Exports (Server-side ONLY)
26
34
  // =============================================================================
@@ -29,4 +37,13 @@ export { get_prompt_by_area_and_key, get_prompt_text, get_prompts_by_area, get_p
29
37
  // Provider Exports (Server-side ONLY)
30
38
  // =============================================================================
31
39
  export { call_gemini_api, get_gemini_api_url, } from './lib/providers/index.js';
40
+ // =============================================================================
41
+ // Provider Constants (Type-safe provider names)
42
+ // =============================================================================
43
+ export { LLM_PROVIDERS, SERVICE_TYPES } from './lib/providers/types.js';
44
+ // =============================================================================
45
+ // Error Handling Exports
46
+ // =============================================================================
47
+ export { LLM_ERROR_CODES } from './lib/llm_api/types.js';
48
+ export { build_error_response } from './lib/llm_api/provider_helper.js';
32
49
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,gFAAgF;AAChF,qCAAqC;AACrC,gFAAgF;AAChF,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,cAAc,EACd,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAEhC,gFAAgF;AAChF,sCAAsC;AACtC,gFAAgF;AAChF,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,aAAa,GACd,MAAM,yBAAyB,CAAC;AAEjC,gFAAgF;AAChF,4CAA4C;AAC5C,gFAAgF;AAChF,OAAO,EACL,0BAA0B,EAC1B,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAEhC,gFAAgF;AAChF,sCAAsC;AACtC,gFAAgF;AAChF,OAAO,EACL,eAAe,EACf,kBAAkB,GACnB,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,gFAAgF;AAChF,qCAAqC;AACrC,gFAAgF;AAChF,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB;AACzB,sBAAsB;AACtB,yBAAyB,EACzB,0BAA0B,EAC1B,cAAc,EACd,kBAAkB;AAClB,mBAAmB;AACnB,cAAc,EACd,UAAU,EACV,UAAU;AACV,kBAAkB;AAClB,SAAS,EACT,SAAS,GACV,MAAM,wBAAwB,CAAC;AAEhC,gFAAgF;AAChF,sCAAsC;AACtC,gFAAgF;AAChF,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,aAAa;AACb,eAAe;AACf,uBAAuB,EACvB,WAAW,EACX,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AAEjC,gFAAgF;AAChF,4CAA4C;AAC5C,gFAAgF;AAChF,OAAO,EACL,0BAA0B,EAC1B,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAEhC,gFAAgF;AAChF,sCAAsC;AACtC,gFAAgF;AAChF,OAAO,EACL,eAAe,EACf,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAElC,gFAAgF;AAChF,gDAAgD;AAChD,gFAAgF;AAChF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGxE,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hazo_llm_api",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "Wrapper to call different LLMs and includes prompt management",
5
5
  "keywords": [
6
6
  "LLM",