hazo_llm_api 1.0.4 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/index.d.ts +7 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +7 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/layout/index.d.ts +7 -0
- package/dist/components/layout/index.d.ts.map +1 -0
- package/dist/components/layout/index.js +7 -0
- package/dist/components/layout/index.js.map +1 -0
- package/dist/components/layout/layout.d.ts +21 -0
- package/dist/components/layout/layout.d.ts.map +1 -0
- package/dist/components/layout/layout.js +18 -0
- package/dist/components/layout/layout.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/config/config_parser.d.ts +131 -0
- package/dist/lib/config/config_parser.d.ts.map +1 -0
- package/dist/lib/config/config_parser.js +297 -0
- package/dist/lib/config/config_parser.js.map +1 -0
- package/dist/lib/config/index.d.ts +8 -0
- package/dist/lib/config/index.d.ts.map +1 -0
- package/dist/lib/config/index.js +22 -0
- package/dist/lib/config/index.js.map +1 -0
- package/dist/lib/config/provider_loader.d.ts +113 -0
- package/dist/lib/config/provider_loader.d.ts.map +1 -0
- package/dist/lib/config/provider_loader.js +169 -0
- package/dist/lib/config/provider_loader.js.map +1 -0
- package/dist/lib/database/index.d.ts +8 -0
- package/dist/lib/database/index.d.ts.map +1 -0
- package/dist/lib/database/index.js +10 -0
- package/dist/lib/database/index.js.map +1 -0
- package/dist/lib/database/init_database.d.ts +118 -0
- package/dist/lib/database/init_database.d.ts.map +1 -0
- package/dist/lib/database/init_database.js +591 -0
- package/dist/lib/database/init_database.js.map +1 -0
- package/dist/lib/database/utils.d.ts +53 -0
- package/dist/lib/database/utils.d.ts.map +1 -0
- package/dist/lib/database/utils.js +87 -0
- package/dist/lib/database/utils.js.map +1 -0
- package/dist/lib/index.d.ts +14 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +17 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/llm_api/chain_helpers.d.ts +117 -0
- package/dist/lib/llm_api/chain_helpers.d.ts.map +1 -0
- package/dist/lib/llm_api/chain_helpers.js +445 -0
- package/dist/lib/llm_api/chain_helpers.js.map +1 -0
- package/dist/lib/llm_api/hazo_llm_image_image.d.ts +26 -0
- package/dist/lib/llm_api/hazo_llm_image_image.d.ts.map +1 -0
- package/dist/lib/llm_api/hazo_llm_image_image.js +94 -0
- package/dist/lib/llm_api/hazo_llm_image_image.js.map +1 -0
- package/dist/lib/llm_api/hazo_llm_image_image_text.d.ts +26 -0
- package/dist/lib/llm_api/hazo_llm_image_image_text.d.ts.map +1 -0
- package/dist/lib/llm_api/hazo_llm_image_image_text.js +222 -0
- package/dist/lib/llm_api/hazo_llm_image_image_text.js.map +1 -0
- package/dist/lib/llm_api/hazo_llm_image_text.d.ts +20 -0
- package/dist/lib/llm_api/hazo_llm_image_text.d.ts.map +1 -0
- package/dist/lib/llm_api/hazo_llm_image_text.js +78 -0
- package/dist/lib/llm_api/hazo_llm_image_text.js.map +1 -0
- package/dist/lib/llm_api/hazo_llm_prompt_chain.d.ts +20 -0
- package/dist/lib/llm_api/hazo_llm_prompt_chain.d.ts.map +1 -0
- package/dist/lib/llm_api/hazo_llm_prompt_chain.js +368 -0
- package/dist/lib/llm_api/hazo_llm_prompt_chain.js.map +1 -0
- package/dist/lib/llm_api/hazo_llm_text_image.d.ts +20 -0
- package/dist/lib/llm_api/hazo_llm_text_image.d.ts.map +1 -0
- package/dist/lib/llm_api/hazo_llm_text_image.js +69 -0
- package/dist/lib/llm_api/hazo_llm_text_image.js.map +1 -0
- package/dist/lib/llm_api/hazo_llm_text_image_text.d.ts +26 -0
- package/dist/lib/llm_api/hazo_llm_text_image_text.d.ts.map +1 -0
- package/dist/lib/llm_api/hazo_llm_text_image_text.js +154 -0
- package/dist/lib/llm_api/hazo_llm_text_image_text.js.map +1 -0
- package/dist/lib/llm_api/hazo_llm_text_text.d.ts +20 -0
- package/dist/lib/llm_api/hazo_llm_text_text.d.ts.map +1 -0
- package/dist/lib/llm_api/hazo_llm_text_text.js +91 -0
- package/dist/lib/llm_api/hazo_llm_text_text.js.map +1 -0
- package/dist/lib/llm_api/index.d.ts +223 -0
- package/dist/lib/llm_api/index.d.ts.map +1 -0
- package/dist/lib/llm_api/index.js +1220 -0
- package/dist/lib/llm_api/index.js.map +1 -0
- package/dist/lib/llm_api/provider_helper.d.ts +163 -0
- package/dist/lib/llm_api/provider_helper.d.ts.map +1 -0
- package/dist/lib/llm_api/provider_helper.js +346 -0
- package/dist/lib/llm_api/provider_helper.js.map +1 -0
- package/dist/lib/llm_api/types.d.ts +667 -0
- package/dist/lib/llm_api/types.d.ts.map +1 -0
- package/dist/lib/llm_api/types.js +49 -0
- package/dist/lib/llm_api/types.js.map +1 -0
- package/dist/lib/prompts/get_prompt.d.ts +76 -0
- package/dist/lib/prompts/get_prompt.d.ts.map +1 -0
- package/dist/lib/prompts/get_prompt.js +342 -0
- package/dist/lib/prompts/get_prompt.js.map +1 -0
- package/dist/lib/prompts/index.d.ts +9 -0
- package/dist/lib/prompts/index.d.ts.map +1 -0
- package/dist/lib/prompts/index.js +9 -0
- package/dist/lib/prompts/index.js.map +1 -0
- package/dist/lib/prompts/prompt_cache.d.ts +151 -0
- package/dist/lib/prompts/prompt_cache.d.ts.map +1 -0
- package/dist/lib/prompts/prompt_cache.js +276 -0
- package/dist/lib/prompts/prompt_cache.js.map +1 -0
- package/dist/lib/prompts/substitute_variables.d.ts +38 -0
- package/dist/lib/prompts/substitute_variables.d.ts.map +1 -0
- package/dist/lib/prompts/substitute_variables.js +171 -0
- package/dist/lib/prompts/substitute_variables.js.map +1 -0
- package/dist/lib/providers/gemini/gemini_client.d.ts +25 -0
- package/dist/lib/providers/gemini/gemini_client.d.ts.map +1 -0
- package/dist/lib/providers/gemini/gemini_client.js +235 -0
- package/dist/lib/providers/gemini/gemini_client.js.map +1 -0
- package/dist/lib/providers/gemini/gemini_provider.d.ts +111 -0
- package/dist/lib/providers/gemini/gemini_provider.d.ts.map +1 -0
- package/dist/lib/providers/gemini/gemini_provider.js +431 -0
- package/dist/lib/providers/gemini/gemini_provider.js.map +1 -0
- package/dist/lib/providers/gemini/index.d.ts +8 -0
- package/dist/lib/providers/gemini/index.d.ts.map +1 -0
- package/dist/lib/providers/gemini/index.js +8 -0
- package/dist/lib/providers/gemini/index.js.map +1 -0
- package/dist/lib/providers/index.d.ts +8 -0
- package/dist/lib/providers/index.d.ts.map +1 -0
- package/dist/lib/providers/index.js +8 -0
- package/dist/lib/providers/index.js.map +1 -0
- package/dist/lib/providers/qwen/index.d.ts +8 -0
- package/dist/lib/providers/qwen/index.d.ts.map +1 -0
- package/dist/lib/providers/qwen/index.js +8 -0
- package/dist/lib/providers/qwen/index.js.map +1 -0
- package/dist/lib/providers/qwen/qwen_client.d.ts +154 -0
- package/dist/lib/providers/qwen/qwen_client.d.ts.map +1 -0
- package/dist/lib/providers/qwen/qwen_client.js +1002 -0
- package/dist/lib/providers/qwen/qwen_client.js.map +1 -0
- package/dist/lib/providers/qwen/qwen_provider.d.ts +139 -0
- package/dist/lib/providers/qwen/qwen_provider.d.ts.map +1 -0
- package/dist/lib/providers/qwen/qwen_provider.js +304 -0
- package/dist/lib/providers/qwen/qwen_provider.js.map +1 -0
- package/dist/lib/providers/registry.d.ts +66 -0
- package/dist/lib/providers/registry.d.ts.map +1 -0
- package/dist/lib/providers/registry.js +158 -0
- package/dist/lib/providers/registry.js.map +1 -0
- package/dist/lib/providers/types.d.ts +145 -0
- package/dist/lib/providers/types.d.ts.map +1 -0
- package/dist/lib/providers/types.js +37 -0
- package/dist/lib/providers/types.js.map +1 -0
- package/dist/server.d.ts +27 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +50 -0
- package/dist/server.js.map +1 -0
- package/package.json +12 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/layout/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/layout/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Layout Component
|
|
3
|
+
*
|
|
4
|
+
* Main layout component that provides a consistent structure
|
|
5
|
+
* for applications using the hazo_llm_api package
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
interface LayoutProps {
|
|
9
|
+
children: React.ReactNode;
|
|
10
|
+
sidebar?: React.ReactNode;
|
|
11
|
+
header?: React.ReactNode;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Layout component - provides a consistent page structure
|
|
15
|
+
* @param children - Main content to be displayed
|
|
16
|
+
* @param sidebar - Optional sidebar component
|
|
17
|
+
* @param header - Optional header component
|
|
18
|
+
*/
|
|
19
|
+
export declare function Layout({ children, sidebar, header }: LayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=layout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../src/components/layout/layout.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,WAAW;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,WAAW,2CAoBhE"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Layout Component
|
|
3
|
+
*
|
|
4
|
+
* Main layout component that provides a consistent structure
|
|
5
|
+
* for applications using the hazo_llm_api package
|
|
6
|
+
*/
|
|
7
|
+
'use client';
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
/**
|
|
10
|
+
* Layout component - provides a consistent page structure
|
|
11
|
+
* @param children - Main content to be displayed
|
|
12
|
+
* @param sidebar - Optional sidebar component
|
|
13
|
+
* @param header - Optional header component
|
|
14
|
+
*/
|
|
15
|
+
export function Layout({ children, sidebar, header }) {
|
|
16
|
+
return (_jsxs("div", { className: "cls_layout_container flex h-screen w-full", children: [sidebar && (_jsx("aside", { className: "cls_layout_sidebar", children: sidebar })), _jsxs("div", { className: "cls_layout_main flex flex-1 flex-col", children: [header && (_jsx("header", { className: "cls_layout_header", children: header })), _jsx("main", { className: "cls_layout_content flex-1 overflow-auto", children: children })] })] }));
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=layout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../../src/components/layout/layout.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,CAAC;;AAUb;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAe;IAC/D,OAAO,CACL,eAAK,SAAS,EAAC,2CAA2C,aACvD,OAAO,IAAI,CACV,gBAAO,SAAS,EAAC,oBAAoB,YAClC,OAAO,GACF,CACT,EACD,eAAK,SAAS,EAAC,sCAAsC,aAClD,MAAM,IAAI,CACT,iBAAQ,SAAS,EAAC,mBAAmB,YAClC,MAAM,GACA,CACV,EACD,eAAM,SAAS,EAAC,yCAAyC,YACtD,QAAQ,GACJ,IACH,IACF,CACP,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* hazo_llm_api Package Entry Point
|
|
3
|
+
*
|
|
4
|
+
* Main export file for the hazo_llm_api npm package.
|
|
5
|
+
*
|
|
6
|
+
* IMPORTANT: This file only exports CLIENT-SIDE safe components.
|
|
7
|
+
* For server-side LLM API functions, import from 'hazo_llm_api/server'
|
|
8
|
+
*/
|
|
9
|
+
export * from './components/index.js';
|
|
10
|
+
export { LLM_PROVIDERS, SERVICE_TYPES } from './lib/providers/types.js';
|
|
11
|
+
export type { ProviderName, ServiceType } from './lib/providers/types.js';
|
|
12
|
+
export { LLM_ERROR_CODES } from './lib/llm_api/types.js';
|
|
13
|
+
export type { LLMErrorCode, LLMError } from './lib/llm_api/types.js';
|
|
14
|
+
export type { LLMApiConfig, LLMApiClient, CallLLMParams, LLMResponse, Logger, PromptVariable, PromptVariables, Base64Data, PromptTextMode, PromptRecord, } from './lib/llm_api/types.js';
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,cAAc,uBAAuB,CAAC;AAKtC,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,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAKrE,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,WAAW,EACX,MAAM,EACN,cAAc,EACd,eAAe,EACf,UAAU,EACV,cAAc,EACd,YAAY,GACb,MAAM,wBAAwB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* hazo_llm_api Package Entry Point
|
|
3
|
+
*
|
|
4
|
+
* Main export file for the hazo_llm_api npm package.
|
|
5
|
+
*
|
|
6
|
+
* IMPORTANT: This file only exports CLIENT-SIDE safe components.
|
|
7
|
+
* For server-side LLM API functions, import from 'hazo_llm_api/server'
|
|
8
|
+
*/
|
|
9
|
+
// =============================================================================
|
|
10
|
+
// Component Exports (Client-side ONLY)
|
|
11
|
+
// =============================================================================
|
|
12
|
+
export * from './components/index.js';
|
|
13
|
+
// =============================================================================
|
|
14
|
+
// Provider Constants (Type-safe provider names - safe for client)
|
|
15
|
+
// =============================================================================
|
|
16
|
+
export { LLM_PROVIDERS, SERVICE_TYPES } from './lib/providers/types.js';
|
|
17
|
+
// =============================================================================
|
|
18
|
+
// Error Constants (safe for client)
|
|
19
|
+
// =============================================================================
|
|
20
|
+
export { LLM_ERROR_CODES } from './lib/llm_api/types.js';
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,gFAAgF;AAChF,uCAAuC;AACvC,gFAAgF;AAChF,cAAc,uBAAuB,CAAC;AAEtC,gFAAgF;AAChF,kEAAkE;AAClE,gFAAgF;AAChF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGxE,gFAAgF;AAChF,oCAAoC;AACpC,gFAAgF;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration Parser Module
|
|
3
|
+
*
|
|
4
|
+
* Generic configuration parsing utilities for LLM providers.
|
|
5
|
+
* Provides a unified approach to parsing generation configs from INI files.
|
|
6
|
+
*/
|
|
7
|
+
import type { ServiceType } from '../providers/types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Generic generation config that works across providers
|
|
10
|
+
* Each provider can extend this with their specific fields
|
|
11
|
+
*/
|
|
12
|
+
export interface BaseGenerationConfig {
|
|
13
|
+
temperature?: number;
|
|
14
|
+
max_tokens?: number;
|
|
15
|
+
top_p?: number;
|
|
16
|
+
top_k?: number;
|
|
17
|
+
stop_sequences?: string[];
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Parameter mapping definition for config parsing
|
|
21
|
+
* Maps internal field names to possible INI key variations
|
|
22
|
+
*/
|
|
23
|
+
export interface ParameterMapping {
|
|
24
|
+
/** Internal field name */
|
|
25
|
+
field: string;
|
|
26
|
+
/** Possible keys in INI file (checked in order) */
|
|
27
|
+
keys: string[];
|
|
28
|
+
/** Type of the parameter */
|
|
29
|
+
type: 'number' | 'string' | 'json_array';
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Standard parameter mappings for common generation config fields
|
|
33
|
+
* Each provider can use these or define their own
|
|
34
|
+
*/
|
|
35
|
+
export declare const COMMON_PARAM_MAPPINGS: ParameterMapping[];
|
|
36
|
+
/**
|
|
37
|
+
* Gemini-specific parameter mappings
|
|
38
|
+
*/
|
|
39
|
+
export declare const GEMINI_PARAM_MAPPINGS: ParameterMapping[];
|
|
40
|
+
/**
|
|
41
|
+
* Qwen-specific parameter mappings
|
|
42
|
+
*/
|
|
43
|
+
export declare const QWEN_PARAM_MAPPINGS: ParameterMapping[];
|
|
44
|
+
/**
|
|
45
|
+
* Find the config file path
|
|
46
|
+
* Searches in config/ subdirectory and parent directories
|
|
47
|
+
*
|
|
48
|
+
* @param filename - Config filename to search for (default: hazo_llm_api_config.ini)
|
|
49
|
+
* @returns The path to the config file or null if not found
|
|
50
|
+
*/
|
|
51
|
+
export declare function find_config_file(filename?: string): string | null;
|
|
52
|
+
/**
|
|
53
|
+
* Read and parse an INI config file
|
|
54
|
+
*
|
|
55
|
+
* @param config_path - Path to the config file
|
|
56
|
+
* @returns Parsed config object or null if reading fails
|
|
57
|
+
*/
|
|
58
|
+
export declare function read_config_file(config_path: string): Record<string, Record<string, string>> | null;
|
|
59
|
+
/**
|
|
60
|
+
* Parse a generation config from an INI section using parameter mappings
|
|
61
|
+
*
|
|
62
|
+
* This is a generic parser that works with any provider by using
|
|
63
|
+
* configurable parameter mappings.
|
|
64
|
+
*
|
|
65
|
+
* @param section - The parsed INI section object
|
|
66
|
+
* @param mappings - Array of parameter mappings to use
|
|
67
|
+
* @param prefix - Optional prefix to prepend to all keys (e.g., "text_" or "image_")
|
|
68
|
+
* @returns Parsed config object or undefined if no params set
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```typescript
|
|
72
|
+
* // Parse Gemini text config
|
|
73
|
+
* const text_config = parse_generation_config(
|
|
74
|
+
* gemini_section,
|
|
75
|
+
* GEMINI_PARAM_MAPPINGS,
|
|
76
|
+
* 'text_'
|
|
77
|
+
* );
|
|
78
|
+
*
|
|
79
|
+
* // Parse Qwen image config
|
|
80
|
+
* const image_config = parse_generation_config(
|
|
81
|
+
* qwen_section,
|
|
82
|
+
* QWEN_PARAM_MAPPINGS,
|
|
83
|
+
* 'image_'
|
|
84
|
+
* );
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
export declare function parse_generation_config<T extends Record<string, unknown>>(section: Record<string, string> | undefined, mappings: ParameterMapping[], prefix?: string): T | undefined;
|
|
88
|
+
/**
|
|
89
|
+
* Parse capabilities from config value (JSON array or comma-separated)
|
|
90
|
+
*
|
|
91
|
+
* @param value - Capabilities value from config
|
|
92
|
+
* @returns Array of ServiceType or empty array
|
|
93
|
+
*/
|
|
94
|
+
export declare function parse_capabilities(value: string | undefined): ServiceType[];
|
|
95
|
+
/**
|
|
96
|
+
* Parse enabled_llms from config (JSON array or comma-separated)
|
|
97
|
+
*
|
|
98
|
+
* @param value - Enabled LLMs value from config
|
|
99
|
+
* @param default_value - Default value if parsing fails
|
|
100
|
+
* @returns Array of LLM names
|
|
101
|
+
*/
|
|
102
|
+
export declare function parse_enabled_llms(value: string | undefined, default_value?: string[]): string[];
|
|
103
|
+
/**
|
|
104
|
+
* Load API key from environment variable
|
|
105
|
+
*
|
|
106
|
+
* @param provider_name - Provider name (e.g., "gemini", "qwen", "openai")
|
|
107
|
+
* @returns API key or undefined if not found
|
|
108
|
+
*/
|
|
109
|
+
export declare function load_api_key_from_env(provider_name: string): string | undefined;
|
|
110
|
+
/**
|
|
111
|
+
* Get the environment variable name for a provider's API key
|
|
112
|
+
*
|
|
113
|
+
* @param provider_name - Provider name
|
|
114
|
+
* @returns Environment variable name
|
|
115
|
+
*/
|
|
116
|
+
export declare function get_api_key_env_var_name(provider_name: string): string;
|
|
117
|
+
/**
|
|
118
|
+
* Global LLM configuration from [llm] section
|
|
119
|
+
*/
|
|
120
|
+
export interface GlobalLLMConfig {
|
|
121
|
+
enabled_llms: string[];
|
|
122
|
+
primary_llm: string;
|
|
123
|
+
sqlite_path: string;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Read LLM global config from [llm] section
|
|
127
|
+
*
|
|
128
|
+
* @returns Object with enabled_llms, primary_llm, and sqlite_path
|
|
129
|
+
*/
|
|
130
|
+
export declare function get_llm_global_config(): GlobalLLMConfig;
|
|
131
|
+
//# sourceMappingURL=config_parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config_parser.d.ts","sourceRoot":"","sources":["../../../src/lib/config/config_parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAOzD;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,4BAA4B;IAC5B,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,YAAY,CAAC;CAC1C;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,gBAAgB,EAUnD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,gBAAgB,EAQnD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,gBAAgB,EASjD,CAAC;AAMF;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,SAA4B,GAAG,MAAM,GAAG,IAAI,CAmBpF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,CAOnG;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC3C,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,MAAM,CAAC,EAAE,MAAM,GACd,CAAC,GAAG,SAAS,CAqBf;AAqDD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,EAAE,CAyB3E;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,aAAa,GAAE,MAAM,EAAe,GACnC,MAAM,EAAE,CAwBV;AAMD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAI/E;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAEtE;AAMD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,eAAe,CA2BvD"}
|
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration Parser Module
|
|
3
|
+
*
|
|
4
|
+
* Generic configuration parsing utilities for LLM providers.
|
|
5
|
+
* Provides a unified approach to parsing generation configs from INI files.
|
|
6
|
+
*/
|
|
7
|
+
import * as fs from 'fs';
|
|
8
|
+
import * as path from 'path';
|
|
9
|
+
import * as ini from 'ini';
|
|
10
|
+
import { SERVICE_TYPES } from '../providers/types.js';
|
|
11
|
+
/**
|
|
12
|
+
* Standard parameter mappings for common generation config fields
|
|
13
|
+
* Each provider can use these or define their own
|
|
14
|
+
*/
|
|
15
|
+
export const COMMON_PARAM_MAPPINGS = [
|
|
16
|
+
{ field: 'temperature', keys: ['temperature'], type: 'number' },
|
|
17
|
+
{ field: 'max_tokens', keys: ['maxOutputTokens', 'max_output_tokens', 'max_tokens'], type: 'number' },
|
|
18
|
+
{ field: 'top_p', keys: ['topP', 'top_p'], type: 'number' },
|
|
19
|
+
{ field: 'top_k', keys: ['topK', 'top_k'], type: 'number' },
|
|
20
|
+
{ field: 'candidate_count', keys: ['candidateCount', 'candidate_count', 'n'], type: 'number' },
|
|
21
|
+
{ field: 'stop_sequences', keys: ['stopSequences', 'stop_sequences', 'stop'], type: 'json_array' },
|
|
22
|
+
{ field: 'response_mime_type', keys: ['responseMimeType', 'response_mime_type'], type: 'string' },
|
|
23
|
+
{ field: 'presence_penalty', keys: ['presence_penalty'], type: 'number' },
|
|
24
|
+
{ field: 'frequency_penalty', keys: ['frequency_penalty'], type: 'number' },
|
|
25
|
+
];
|
|
26
|
+
/**
|
|
27
|
+
* Gemini-specific parameter mappings
|
|
28
|
+
*/
|
|
29
|
+
export const GEMINI_PARAM_MAPPINGS = [
|
|
30
|
+
{ field: 'temperature', keys: ['temperature'], type: 'number' },
|
|
31
|
+
{ field: 'max_output_tokens', keys: ['maxOutputTokens', 'max_output_tokens'], type: 'number' },
|
|
32
|
+
{ field: 'top_p', keys: ['topP', 'top_p'], type: 'number' },
|
|
33
|
+
{ field: 'top_k', keys: ['topK', 'top_k'], type: 'number' },
|
|
34
|
+
{ field: 'candidate_count', keys: ['candidateCount', 'candidate_count'], type: 'number' },
|
|
35
|
+
{ field: 'stop_sequences', keys: ['stopSequences', 'stop_sequences'], type: 'json_array' },
|
|
36
|
+
{ field: 'response_mime_type', keys: ['responseMimeType', 'response_mime_type'], type: 'string' },
|
|
37
|
+
];
|
|
38
|
+
/**
|
|
39
|
+
* Qwen-specific parameter mappings
|
|
40
|
+
*/
|
|
41
|
+
export const QWEN_PARAM_MAPPINGS = [
|
|
42
|
+
{ field: 'temperature', keys: ['temperature'], type: 'number' },
|
|
43
|
+
{ field: 'max_tokens', keys: ['max_tokens'], type: 'number' },
|
|
44
|
+
{ field: 'top_p', keys: ['top_p'], type: 'number' },
|
|
45
|
+
{ field: 'top_k', keys: ['top_k'], type: 'number' },
|
|
46
|
+
{ field: 'n', keys: ['n'], type: 'number' },
|
|
47
|
+
{ field: 'stop', keys: ['stop'], type: 'json_array' },
|
|
48
|
+
{ field: 'presence_penalty', keys: ['presence_penalty'], type: 'number' },
|
|
49
|
+
{ field: 'frequency_penalty', keys: ['frequency_penalty'], type: 'number' },
|
|
50
|
+
];
|
|
51
|
+
// =============================================================================
|
|
52
|
+
// Config File Utilities
|
|
53
|
+
// =============================================================================
|
|
54
|
+
/**
|
|
55
|
+
* Find the config file path
|
|
56
|
+
* Searches in config/ subdirectory and parent directories
|
|
57
|
+
*
|
|
58
|
+
* @param filename - Config filename to search for (default: hazo_llm_api_config.ini)
|
|
59
|
+
* @returns The path to the config file or null if not found
|
|
60
|
+
*/
|
|
61
|
+
export function find_config_file(filename = 'hazo_llm_api_config.ini') {
|
|
62
|
+
// Search paths: config/ in current dir, parent dir, grandparent dir
|
|
63
|
+
const search_paths = [
|
|
64
|
+
path.join(process.cwd(), 'config', filename),
|
|
65
|
+
path.join(process.cwd(), '..', 'config', filename),
|
|
66
|
+
path.join(process.cwd(), '..', '..', 'config', filename),
|
|
67
|
+
];
|
|
68
|
+
for (const config_path of search_paths) {
|
|
69
|
+
try {
|
|
70
|
+
if (fs.existsSync(config_path)) {
|
|
71
|
+
return config_path;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
// Continue to next path
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Read and parse an INI config file
|
|
82
|
+
*
|
|
83
|
+
* @param config_path - Path to the config file
|
|
84
|
+
* @returns Parsed config object or null if reading fails
|
|
85
|
+
*/
|
|
86
|
+
export function read_config_file(config_path) {
|
|
87
|
+
try {
|
|
88
|
+
const config_content = fs.readFileSync(config_path, 'utf-8');
|
|
89
|
+
return ini.parse(config_content);
|
|
90
|
+
}
|
|
91
|
+
catch {
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
// =============================================================================
|
|
96
|
+
// Generation Config Parsing
|
|
97
|
+
// =============================================================================
|
|
98
|
+
/**
|
|
99
|
+
* Parse a generation config from an INI section using parameter mappings
|
|
100
|
+
*
|
|
101
|
+
* This is a generic parser that works with any provider by using
|
|
102
|
+
* configurable parameter mappings.
|
|
103
|
+
*
|
|
104
|
+
* @param section - The parsed INI section object
|
|
105
|
+
* @param mappings - Array of parameter mappings to use
|
|
106
|
+
* @param prefix - Optional prefix to prepend to all keys (e.g., "text_" or "image_")
|
|
107
|
+
* @returns Parsed config object or undefined if no params set
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```typescript
|
|
111
|
+
* // Parse Gemini text config
|
|
112
|
+
* const text_config = parse_generation_config(
|
|
113
|
+
* gemini_section,
|
|
114
|
+
* GEMINI_PARAM_MAPPINGS,
|
|
115
|
+
* 'text_'
|
|
116
|
+
* );
|
|
117
|
+
*
|
|
118
|
+
* // Parse Qwen image config
|
|
119
|
+
* const image_config = parse_generation_config(
|
|
120
|
+
* qwen_section,
|
|
121
|
+
* QWEN_PARAM_MAPPINGS,
|
|
122
|
+
* 'image_'
|
|
123
|
+
* );
|
|
124
|
+
* ```
|
|
125
|
+
*/
|
|
126
|
+
export function parse_generation_config(section, mappings, prefix) {
|
|
127
|
+
if (!section) {
|
|
128
|
+
return undefined;
|
|
129
|
+
}
|
|
130
|
+
const config = {};
|
|
131
|
+
let has_params = false;
|
|
132
|
+
for (const mapping of mappings) {
|
|
133
|
+
const value = get_config_value(section, mapping.keys, prefix);
|
|
134
|
+
if (value !== undefined) {
|
|
135
|
+
const parsed = parse_value(value, mapping.type);
|
|
136
|
+
if (parsed !== undefined) {
|
|
137
|
+
config[mapping.field] = parsed;
|
|
138
|
+
has_params = true;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
return has_params ? config : undefined;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Get a config value from a section, checking multiple possible keys
|
|
146
|
+
*
|
|
147
|
+
* @param section - INI section object
|
|
148
|
+
* @param keys - Array of possible key names to check
|
|
149
|
+
* @param prefix - Optional prefix to prepend to all keys
|
|
150
|
+
* @returns The first found value or undefined
|
|
151
|
+
*/
|
|
152
|
+
function get_config_value(section, keys, prefix) {
|
|
153
|
+
for (const key of keys) {
|
|
154
|
+
const full_key = prefix ? `${prefix}${key}` : key;
|
|
155
|
+
if (section[full_key] !== undefined) {
|
|
156
|
+
return section[full_key];
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
return undefined;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Parse a string value to the appropriate type
|
|
163
|
+
*
|
|
164
|
+
* @param value - String value from config
|
|
165
|
+
* @param type - Expected type
|
|
166
|
+
* @returns Parsed value or undefined if parsing fails
|
|
167
|
+
*/
|
|
168
|
+
function parse_value(value, type) {
|
|
169
|
+
switch (type) {
|
|
170
|
+
case 'number': {
|
|
171
|
+
const num = parseFloat(value);
|
|
172
|
+
return isNaN(num) ? undefined : num;
|
|
173
|
+
}
|
|
174
|
+
case 'string':
|
|
175
|
+
return value;
|
|
176
|
+
case 'json_array':
|
|
177
|
+
try {
|
|
178
|
+
const parsed = JSON.parse(value);
|
|
179
|
+
return Array.isArray(parsed) && parsed.length > 0 ? parsed : undefined;
|
|
180
|
+
}
|
|
181
|
+
catch {
|
|
182
|
+
return undefined;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
// =============================================================================
|
|
187
|
+
// Capabilities and LLM List Parsing
|
|
188
|
+
// =============================================================================
|
|
189
|
+
/**
|
|
190
|
+
* Parse capabilities from config value (JSON array or comma-separated)
|
|
191
|
+
*
|
|
192
|
+
* @param value - Capabilities value from config
|
|
193
|
+
* @returns Array of ServiceType or empty array
|
|
194
|
+
*/
|
|
195
|
+
export function parse_capabilities(value) {
|
|
196
|
+
if (!value) {
|
|
197
|
+
return [];
|
|
198
|
+
}
|
|
199
|
+
try {
|
|
200
|
+
// Try parsing as JSON array first
|
|
201
|
+
const parsed = JSON.parse(value);
|
|
202
|
+
if (Array.isArray(parsed)) {
|
|
203
|
+
return parsed.filter((cap) => Object.values(SERVICE_TYPES).includes(cap));
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
catch {
|
|
207
|
+
// Not JSON, try comma-separated
|
|
208
|
+
const caps = value
|
|
209
|
+
.split(',')
|
|
210
|
+
.map((c) => c.trim())
|
|
211
|
+
.filter(Boolean);
|
|
212
|
+
return caps.filter((cap) => Object.values(SERVICE_TYPES).includes(cap));
|
|
213
|
+
}
|
|
214
|
+
return [];
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Parse enabled_llms from config (JSON array or comma-separated)
|
|
218
|
+
*
|
|
219
|
+
* @param value - Enabled LLMs value from config
|
|
220
|
+
* @param default_value - Default value if parsing fails
|
|
221
|
+
* @returns Array of LLM names
|
|
222
|
+
*/
|
|
223
|
+
export function parse_enabled_llms(value, default_value = ['gemini']) {
|
|
224
|
+
if (!value) {
|
|
225
|
+
return default_value;
|
|
226
|
+
}
|
|
227
|
+
try {
|
|
228
|
+
// Try parsing as JSON array first
|
|
229
|
+
const parsed = JSON.parse(value);
|
|
230
|
+
if (Array.isArray(parsed)) {
|
|
231
|
+
const valid = parsed.filter((name) => typeof name === 'string' && name.length > 0);
|
|
232
|
+
return valid.length > 0 ? valid : default_value;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
catch {
|
|
236
|
+
// Not JSON, try comma-separated
|
|
237
|
+
const names = value
|
|
238
|
+
.split(',')
|
|
239
|
+
.map((name) => name.trim())
|
|
240
|
+
.filter(Boolean);
|
|
241
|
+
return names.length > 0 ? names : default_value;
|
|
242
|
+
}
|
|
243
|
+
return default_value;
|
|
244
|
+
}
|
|
245
|
+
// =============================================================================
|
|
246
|
+
// Environment Variable Utilities
|
|
247
|
+
// =============================================================================
|
|
248
|
+
/**
|
|
249
|
+
* Load API key from environment variable
|
|
250
|
+
*
|
|
251
|
+
* @param provider_name - Provider name (e.g., "gemini", "qwen", "openai")
|
|
252
|
+
* @returns API key or undefined if not found
|
|
253
|
+
*/
|
|
254
|
+
export function load_api_key_from_env(provider_name) {
|
|
255
|
+
// Try provider-specific env var: GEMINI_API_KEY, OPENAI_API_KEY, etc.
|
|
256
|
+
const env_var_name = `${provider_name.toUpperCase()}_API_KEY`;
|
|
257
|
+
return process.env[env_var_name];
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Get the environment variable name for a provider's API key
|
|
261
|
+
*
|
|
262
|
+
* @param provider_name - Provider name
|
|
263
|
+
* @returns Environment variable name
|
|
264
|
+
*/
|
|
265
|
+
export function get_api_key_env_var_name(provider_name) {
|
|
266
|
+
return `${provider_name.toUpperCase()}_API_KEY`;
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Read LLM global config from [llm] section
|
|
270
|
+
*
|
|
271
|
+
* @returns Object with enabled_llms, primary_llm, and sqlite_path
|
|
272
|
+
*/
|
|
273
|
+
export function get_llm_global_config() {
|
|
274
|
+
const config_path = find_config_file();
|
|
275
|
+
const defaults = {
|
|
276
|
+
enabled_llms: ['gemini'],
|
|
277
|
+
primary_llm: 'gemini',
|
|
278
|
+
sqlite_path: 'prompt_library.sqlite',
|
|
279
|
+
};
|
|
280
|
+
if (!config_path) {
|
|
281
|
+
return defaults;
|
|
282
|
+
}
|
|
283
|
+
const config = read_config_file(config_path);
|
|
284
|
+
if (!config) {
|
|
285
|
+
return defaults;
|
|
286
|
+
}
|
|
287
|
+
const llm_section = config.llm || {};
|
|
288
|
+
const enabled_llms = parse_enabled_llms(llm_section.enabled_llms);
|
|
289
|
+
const primary_llm = llm_section.primary_llm || defaults.primary_llm;
|
|
290
|
+
const sqlite_path = llm_section.sqlite_path || defaults.sqlite_path;
|
|
291
|
+
return {
|
|
292
|
+
enabled_llms: enabled_llms.length > 0 ? enabled_llms : defaults.enabled_llms,
|
|
293
|
+
primary_llm,
|
|
294
|
+
sqlite_path,
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
//# sourceMappingURL=config_parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config_parser.js","sourceRoot":"","sources":["../../../src/lib/config/config_parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration Module Exports
|
|
3
|
+
*
|
|
4
|
+
* Export all configuration-related utilities from this module
|
|
5
|
+
*/
|
|
6
|
+
export { type BaseGenerationConfig, type ParameterMapping, type GlobalLLMConfig, COMMON_PARAM_MAPPINGS, GEMINI_PARAM_MAPPINGS, QWEN_PARAM_MAPPINGS, find_config_file, read_config_file, parse_generation_config, parse_capabilities, parse_enabled_llms, load_api_key_from_env, get_api_key_env_var_name, get_llm_global_config, } from './config_parser.js';
|
|
7
|
+
export { type BaseProviderConfig, type ProviderFactory, type ProviderLoadResult, register_provider_factory, get_provider_factory, get_registered_factory_names, load_provider_from_config, load_all_providers, } from './provider_loader.js';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EAEpB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EAEnB,gBAAgB,EAChB,gBAAgB,EAEhB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAElB,qBAAqB,EACrB,wBAAwB,EAExB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EAEvB,yBAAyB,EACzB,oBAAoB,EACpB,4BAA4B,EAE5B,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration Module Exports
|
|
3
|
+
*
|
|
4
|
+
* Export all configuration-related utilities from this module
|
|
5
|
+
*/
|
|
6
|
+
export {
|
|
7
|
+
// Parameter mappings
|
|
8
|
+
COMMON_PARAM_MAPPINGS, GEMINI_PARAM_MAPPINGS, QWEN_PARAM_MAPPINGS,
|
|
9
|
+
// Config file utilities
|
|
10
|
+
find_config_file, read_config_file,
|
|
11
|
+
// Parsing utilities
|
|
12
|
+
parse_generation_config, parse_capabilities, parse_enabled_llms,
|
|
13
|
+
// Environment utilities
|
|
14
|
+
load_api_key_from_env, get_api_key_env_var_name,
|
|
15
|
+
// Global config
|
|
16
|
+
get_llm_global_config, } from './config_parser.js';
|
|
17
|
+
export {
|
|
18
|
+
// Factory registration
|
|
19
|
+
register_provider_factory, get_provider_factory, get_registered_factory_names,
|
|
20
|
+
// Provider loading
|
|
21
|
+
load_provider_from_config, load_all_providers, } from './provider_loader.js';
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO;AAKL,qBAAqB;AACrB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB;AACnB,wBAAwB;AACxB,gBAAgB,EAChB,gBAAgB;AAChB,oBAAoB;AACpB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB;AAClB,wBAAwB;AACxB,qBAAqB,EACrB,wBAAwB;AACxB,gBAAgB;AAChB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAE5B,OAAO;AAKL,uBAAuB;AACvB,yBAAyB,EACzB,oBAAoB,EACpB,4BAA4B;AAC5B,mBAAmB;AACnB,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC"}
|