genai-lite 0.4.0 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -37
- package/dist/llm/LLMService.d.ts +29 -2
- package/dist/llm/LLMService.js +80 -36
- package/dist/llm/config.js +4 -4
- package/dist/llm/services/SettingsManager.js +17 -11
- package/dist/llm/types.d.ts +81 -22
- package/dist/prompting/parser.d.ts +2 -2
- package/dist/prompting/parser.js +2 -2
- package/package.json +1 -1
- package/dist/llm/LLMService.createMessages.test.d.ts +0 -4
- package/dist/llm/LLMService.createMessages.test.js +0 -364
- package/dist/llm/LLMService.original.d.ts +0 -147
- package/dist/llm/LLMService.original.js +0 -656
- package/dist/llm/LLMService.prepareMessage.test.d.ts +0 -1
- package/dist/llm/LLMService.prepareMessage.test.js +0 -303
- package/dist/llm/LLMService.presets.test.d.ts +0 -1
- package/dist/llm/LLMService.presets.test.js +0 -210
- package/dist/llm/LLMService.sendMessage.preset.test.d.ts +0 -1
- package/dist/llm/LLMService.sendMessage.preset.test.js +0 -153
- package/dist/llm/LLMService.test.d.ts +0 -1
- package/dist/llm/LLMService.test.js +0 -639
- package/dist/llm/clients/AnthropicClientAdapter.test.d.ts +0 -1
- package/dist/llm/clients/AnthropicClientAdapter.test.js +0 -273
- package/dist/llm/clients/GeminiClientAdapter.test.d.ts +0 -1
- package/dist/llm/clients/GeminiClientAdapter.test.js +0 -405
- package/dist/llm/clients/LlamaCppClientAdapter.test.d.ts +0 -1
- package/dist/llm/clients/LlamaCppClientAdapter.test.js +0 -447
- package/dist/llm/clients/LlamaCppServerClient.test.d.ts +0 -1
- package/dist/llm/clients/LlamaCppServerClient.test.js +0 -294
- package/dist/llm/clients/MockClientAdapter.test.d.ts +0 -1
- package/dist/llm/clients/MockClientAdapter.test.js +0 -250
- package/dist/llm/clients/OpenAIClientAdapter.test.d.ts +0 -1
- package/dist/llm/clients/OpenAIClientAdapter.test.js +0 -258
- package/dist/llm/clients/adapterErrorUtils.test.d.ts +0 -1
- package/dist/llm/clients/adapterErrorUtils.test.js +0 -123
- package/dist/llm/config.test.d.ts +0 -1
- package/dist/llm/config.test.js +0 -176
- package/dist/llm/services/AdapterRegistry.test.d.ts +0 -1
- package/dist/llm/services/AdapterRegistry.test.js +0 -239
- package/dist/llm/services/ModelResolver.test.d.ts +0 -1
- package/dist/llm/services/ModelResolver.test.js +0 -179
- package/dist/llm/services/PresetManager.test.d.ts +0 -1
- package/dist/llm/services/PresetManager.test.js +0 -210
- package/dist/llm/services/RequestValidator.test.d.ts +0 -1
- package/dist/llm/services/RequestValidator.test.js +0 -159
- package/dist/llm/services/SettingsManager.test.d.ts +0 -1
- package/dist/llm/services/SettingsManager.test.js +0 -266
- package/dist/prompting/builder.d.ts +0 -38
- package/dist/prompting/builder.js +0 -63
- package/dist/prompting/builder.test.d.ts +0 -4
- package/dist/prompting/builder.test.js +0 -109
- package/dist/prompting/content.test.d.ts +0 -4
- package/dist/prompting/content.test.js +0 -212
- package/dist/prompting/parser.test.d.ts +0 -4
- package/dist/prompting/parser.test.js +0 -464
- package/dist/prompting/template.test.d.ts +0 -1
- package/dist/prompting/template.test.js +0 -250
- package/dist/providers/fromEnvironment.test.d.ts +0 -1
- package/dist/providers/fromEnvironment.test.js +0 -59
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import type { ApiKeyProvider } from '../types';
|
|
2
|
-
import type { LLMChatRequest, LLMChatRequestWithPreset, LLMResponse, LLMFailureResponse, ProviderInfo, ModelInfo, ApiProviderId, PrepareMessageOptions, PrepareMessageResult } from "./types";
|
|
3
|
-
import type { ILLMClientAdapter } from "./clients/types";
|
|
4
|
-
import type { ModelPreset } from "../types/presets";
|
|
5
|
-
/**
|
|
6
|
-
* Defines how custom presets interact with the default presets.
|
|
7
|
-
* 'replace': Use only the custom presets provided. The default set is ignored.
|
|
8
|
-
* 'extend': Use the default presets, and add/override them with the custom presets. This is the default behavior.
|
|
9
|
-
*/
|
|
10
|
-
export type PresetMode = 'replace' | 'extend';
|
|
11
|
-
/**
|
|
12
|
-
* Options for configuring the LLMService
|
|
13
|
-
*/
|
|
14
|
-
export interface LLMServiceOptions {
|
|
15
|
-
/** An array of custom presets to integrate. */
|
|
16
|
-
presets?: ModelPreset[];
|
|
17
|
-
/** The strategy for integrating custom presets. Defaults to 'extend'. */
|
|
18
|
-
presetMode?: PresetMode;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Main process service for LLM operations
|
|
22
|
-
*
|
|
23
|
-
* This service:
|
|
24
|
-
* - Manages LLM provider client adapters
|
|
25
|
-
* - Integrates with ApiKeyServiceMain for secure API key access
|
|
26
|
-
* - Validates requests and applies default settings
|
|
27
|
-
* - Routes requests to appropriate provider adapters
|
|
28
|
-
* - Handles errors and provides standardized responses
|
|
29
|
-
* - Provides configurable model presets for common use cases
|
|
30
|
-
*/
|
|
31
|
-
export declare class LLMService {
|
|
32
|
-
private getApiKey;
|
|
33
|
-
private clientAdapters;
|
|
34
|
-
private mockClientAdapter;
|
|
35
|
-
private presets;
|
|
36
|
-
constructor(getApiKey: ApiKeyProvider, options?: LLMServiceOptions);
|
|
37
|
-
/**
|
|
38
|
-
* Gets list of supported LLM providers
|
|
39
|
-
*
|
|
40
|
-
* @returns Promise resolving to array of provider information
|
|
41
|
-
*/
|
|
42
|
-
getProviders(): Promise<ProviderInfo[]>;
|
|
43
|
-
/**
|
|
44
|
-
* Gets list of supported models for a specific provider
|
|
45
|
-
*
|
|
46
|
-
* @param providerId - The provider ID to get models for
|
|
47
|
-
* @returns Promise resolving to array of model information
|
|
48
|
-
*/
|
|
49
|
-
getModels(providerId: ApiProviderId): Promise<ModelInfo[]>;
|
|
50
|
-
/**
|
|
51
|
-
* Sends a chat message to an LLM provider
|
|
52
|
-
*
|
|
53
|
-
* @param request - The LLM chat request
|
|
54
|
-
* @returns Promise resolving to either success or failure response
|
|
55
|
-
*/
|
|
56
|
-
sendMessage(request: LLMChatRequest | LLMChatRequestWithPreset): Promise<LLMResponse | LLMFailureResponse>;
|
|
57
|
-
/**
|
|
58
|
-
* Validates basic LLM request structure
|
|
59
|
-
*
|
|
60
|
-
* @param request - The request to validate
|
|
61
|
-
* @returns LLMFailureResponse if validation fails, null if valid
|
|
62
|
-
*/
|
|
63
|
-
private validateRequestStructure;
|
|
64
|
-
/**
|
|
65
|
-
* Validates reasoning settings against model capabilities
|
|
66
|
-
*
|
|
67
|
-
* @param modelInfo - The model information
|
|
68
|
-
* @param reasoning - The reasoning settings to validate
|
|
69
|
-
* @param request - The original request for error context
|
|
70
|
-
* @returns LLMFailureResponse if validation fails, null if valid
|
|
71
|
-
*/
|
|
72
|
-
private validateReasoningSettings;
|
|
73
|
-
/**
|
|
74
|
-
* Merges request settings with model-specific and global defaults
|
|
75
|
-
*
|
|
76
|
-
* @param modelId - The model ID to get defaults for
|
|
77
|
-
* @param providerId - The provider ID to get defaults for
|
|
78
|
-
* @param requestSettings - Settings from the request
|
|
79
|
-
* @returns Complete settings object with all required fields
|
|
80
|
-
*/
|
|
81
|
-
private mergeSettingsForModel;
|
|
82
|
-
/**
|
|
83
|
-
* Gets the appropriate client adapter for a provider
|
|
84
|
-
*
|
|
85
|
-
* @param providerId - The provider ID
|
|
86
|
-
* @returns The client adapter to use
|
|
87
|
-
*/
|
|
88
|
-
private getClientAdapter;
|
|
89
|
-
/**
|
|
90
|
-
* Registers a client adapter for a specific provider
|
|
91
|
-
*
|
|
92
|
-
* @param providerId - The provider ID
|
|
93
|
-
* @param adapter - The client adapter implementation
|
|
94
|
-
*/
|
|
95
|
-
registerClientAdapter(providerId: ApiProviderId, adapter: ILLMClientAdapter): void;
|
|
96
|
-
/**
|
|
97
|
-
* Gets information about registered adapters
|
|
98
|
-
*
|
|
99
|
-
* @returns Map of provider IDs to adapter info
|
|
100
|
-
*/
|
|
101
|
-
getRegisteredAdapters(): Map<ApiProviderId, any>;
|
|
102
|
-
/**
|
|
103
|
-
* Gets a summary of available providers and their adapter status
|
|
104
|
-
*
|
|
105
|
-
* @returns Summary of provider availability
|
|
106
|
-
*/
|
|
107
|
-
getProviderSummary(): {
|
|
108
|
-
totalProviders: number;
|
|
109
|
-
providersWithAdapters: number;
|
|
110
|
-
availableProviders: string[];
|
|
111
|
-
unavailableProviders: string[];
|
|
112
|
-
};
|
|
113
|
-
/**
|
|
114
|
-
* Gets all configured model presets
|
|
115
|
-
*
|
|
116
|
-
* @returns Array of model presets
|
|
117
|
-
*/
|
|
118
|
-
getPresets(): ModelPreset[];
|
|
119
|
-
/**
|
|
120
|
-
* Resolves model information from either a preset ID or provider/model IDs
|
|
121
|
-
*
|
|
122
|
-
* @private
|
|
123
|
-
* @param options Options containing either presetId or providerId/modelId
|
|
124
|
-
* @returns Resolved model info and settings or error response
|
|
125
|
-
*/
|
|
126
|
-
private resolveModelInfo;
|
|
127
|
-
/**
|
|
128
|
-
* Prepares messages with model context for template rendering
|
|
129
|
-
*
|
|
130
|
-
* This method resolves model information from either a preset or direct provider/model IDs,
|
|
131
|
-
* then renders a template with model context variables injected, or returns pre-built messages
|
|
132
|
-
* with the model context separately.
|
|
133
|
-
*
|
|
134
|
-
* @param options Options for preparing messages
|
|
135
|
-
* @returns Promise resolving to prepared messages and model context
|
|
136
|
-
*
|
|
137
|
-
* @example
|
|
138
|
-
* ```typescript
|
|
139
|
-
* const { messages } = await llm.prepareMessage({
|
|
140
|
-
* template: 'Help me {{ thinking_enabled ? "think through" : "solve" }} this: {{ problem }}',
|
|
141
|
-
* variables: { problem: 'complex algorithm' },
|
|
142
|
-
* presetId: 'anthropic-claude-3-7-sonnet-20250219-thinking'
|
|
143
|
-
* });
|
|
144
|
-
* ```
|
|
145
|
-
*/
|
|
146
|
-
prepareMessage(options: PrepareMessageOptions): Promise<PrepareMessageResult | LLMFailureResponse>;
|
|
147
|
-
}
|