vern-llm 0.4.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +69 -27
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +120 -73
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +120 -73
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +69 -27
- package/dist/index.js.map +1 -1
- package/package.json +19 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,52 +1,4 @@
|
|
|
1
|
-
//#region src/
|
|
2
|
-
interface Logger {
|
|
3
|
-
debug(message: string): void;
|
|
4
|
-
warn(message: string): void;
|
|
5
|
-
error(message: string, meta?: Record<string, unknown>): void;
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Default logger. `debug` is gated by the `debug` option on VernLLM
|
|
9
|
-
* warn/error always fire since they indicate real problems (retries, cache failures)
|
|
10
|
-
*/
|
|
11
|
-
declare class ConsoleLogger implements Logger {
|
|
12
|
-
private debugEnabled;
|
|
13
|
-
constructor(debugEnabled: boolean);
|
|
14
|
-
debug(message: string): void;
|
|
15
|
-
warn(message: string): void;
|
|
16
|
-
error(message: string, meta?: Record<string, unknown>): void;
|
|
17
|
-
} //#endregion
|
|
18
|
-
//#region src/circuitBreaker.d.ts
|
|
19
|
-
|
|
20
|
-
//# sourceMappingURL=logger.d.ts.map
|
|
21
|
-
interface CircuitBreakerOptions {
|
|
22
|
-
/** Consecutive failures before the circuit opens, default 5 */
|
|
23
|
-
threshold?: number;
|
|
24
|
-
/** How long the circuit stays open before allowing a trial request, in ms. Default 30000 */
|
|
25
|
-
cooldownMs?: number;
|
|
26
|
-
}
|
|
27
|
-
type CircuitState = 'closed' | 'open' | 'half-open';
|
|
28
|
-
/**
|
|
29
|
-
* Per retry VernLLM-instance circuit breaker. Tracks consecutive failures across
|
|
30
|
-
* calls. Once the threshold is hit, short-circuits new calls with an
|
|
31
|
-
* LLMError('circuit_open') instead of hitting the provider, until the
|
|
32
|
-
* cooldown elapses and a single trial call is allowed through
|
|
33
|
-
*/
|
|
34
|
-
declare class CircuitBreaker {
|
|
35
|
-
private state;
|
|
36
|
-
private consecutiveFailures;
|
|
37
|
-
private openedAt;
|
|
38
|
-
private threshold;
|
|
39
|
-
private cooldownMs;
|
|
40
|
-
constructor(options?: CircuitBreakerOptions);
|
|
41
|
-
/** Throws if the circuit is open and the cooldown hasnt elapsed */
|
|
42
|
-
assertClosed(): void;
|
|
43
|
-
recordSuccess(): void;
|
|
44
|
-
recordFailure(): void;
|
|
45
|
-
getState(): CircuitState;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
//#endregion
|
|
49
|
-
//#region src/types.d.ts
|
|
1
|
+
//#region src/types/errors.d.ts
|
|
50
2
|
type LLMErrorType = 'timeout' | 'api' | 'parse' | 'validation' | 'circuit_open' | 'unknown' | 'aborted';
|
|
51
3
|
declare class LLMError extends Error {
|
|
52
4
|
type: LLMErrorType;
|
|
@@ -55,19 +7,39 @@ declare class LLMError extends Error {
|
|
|
55
7
|
constructor(message: string, type: LLMErrorType, status?: number | undefined, issues?: unknown | undefined);
|
|
56
8
|
}
|
|
57
9
|
declare function isLLMError(err: unknown): err is LLMError;
|
|
10
|
+
|
|
11
|
+
//#endregion
|
|
12
|
+
//#region src/types/cache.d.ts
|
|
13
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
58
14
|
interface CacheAdapter<T = unknown> {
|
|
59
|
-
get(key: string): Promise<
|
|
15
|
+
get(key: string): Promise<{
|
|
16
|
+
hit: boolean;
|
|
17
|
+
value: T | null;
|
|
18
|
+
}>;
|
|
60
19
|
set(key: string, value: T, ttl: number): Promise<void>;
|
|
20
|
+
delete?(key: string): Promise<void>;
|
|
61
21
|
}
|
|
62
22
|
/**
|
|
63
23
|
* Trivial default so the package works out of the box with no external deps
|
|
64
24
|
* Not shared across processes, swap in Redis/Upstash/etc for production
|
|
65
25
|
*/
|
|
66
26
|
declare class InMemoryCacheAdapter<T = unknown> implements CacheAdapter<T> {
|
|
27
|
+
private readonly maxSize;
|
|
67
28
|
private store;
|
|
68
|
-
|
|
29
|
+
constructor(maxSize?: number);
|
|
30
|
+
get(key: string): Promise<{
|
|
31
|
+
hit: boolean;
|
|
32
|
+
value: T | null;
|
|
33
|
+
}>;
|
|
69
34
|
set(key: string, value: T, ttl: number): Promise<void>;
|
|
35
|
+
delete(key: string): Promise<void>;
|
|
36
|
+
private cleanupExpiredEntries;
|
|
37
|
+
private enforceSizeLimit;
|
|
70
38
|
}
|
|
39
|
+
|
|
40
|
+
//#endregion
|
|
41
|
+
//#region src/types/client.d.ts
|
|
42
|
+
//# sourceMappingURL=cache.d.ts.map
|
|
71
43
|
/**
|
|
72
44
|
* Minimal shape compatible with the OpenAI SDKs chat.completions.create,
|
|
73
45
|
* so consumers can pass an OpenAI client directly
|
|
@@ -117,6 +89,10 @@ interface LLMClient {
|
|
|
117
89
|
};
|
|
118
90
|
};
|
|
119
91
|
}
|
|
92
|
+
|
|
93
|
+
//#endregion
|
|
94
|
+
//#region src/types/usage.d.ts
|
|
95
|
+
//# sourceMappingURL=client.d.ts.map
|
|
120
96
|
type ReserveUsage = () => Promise<void>;
|
|
121
97
|
type RefundUsage = () => Promise<void>;
|
|
122
98
|
interface TokenUsage {
|
|
@@ -127,6 +103,10 @@ interface TokenUsage {
|
|
|
127
103
|
model: string;
|
|
128
104
|
}
|
|
129
105
|
type OnUsage = (usage: TokenUsage) => void;
|
|
106
|
+
|
|
107
|
+
//#endregion
|
|
108
|
+
//#region src/types/schema.d.ts
|
|
109
|
+
//# sourceMappingURL=usage.d.ts.map
|
|
130
110
|
/**
|
|
131
111
|
* Minimal structural type for a Zod-like schema, so this package doesnt need
|
|
132
112
|
* a hard dependency on a specific Zod major version. Any object exposing
|
|
@@ -141,6 +121,74 @@ interface SchemaLike<T> {
|
|
|
141
121
|
error: unknown;
|
|
142
122
|
};
|
|
143
123
|
}
|
|
124
|
+
/**
|
|
125
|
+
* A provider-native JSON Schema for structured outputs (OpenAI/Groq
|
|
126
|
+
* `response_format: { type: 'json_schema' }`) This is the wire-format
|
|
127
|
+
* schema the model is constrained to generate against, distinct from
|
|
128
|
+
* `schema`, which is a client-side Zod validator run on the parsed result
|
|
129
|
+
* You can use one, both, or neither; using both gets you provider-level
|
|
130
|
+
* constraint plus client-side type inference/validation as a safety net
|
|
131
|
+
*/
|
|
132
|
+
interface JsonSchemaSpec {
|
|
133
|
+
name: string;
|
|
134
|
+
schema: Record<string, unknown>;
|
|
135
|
+
/** Enforces the schema strictly (OpenAI-specific), default true when supported */
|
|
136
|
+
strict?: boolean;
|
|
137
|
+
description?: string;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
//#endregion
|
|
141
|
+
//#region src/circuitBreaker.d.ts
|
|
142
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
143
|
+
interface CircuitBreakerOptions {
|
|
144
|
+
/** Consecutive failures before the circuit opens, default 5 */
|
|
145
|
+
threshold?: number;
|
|
146
|
+
/** How long the circuit stays open before allowing a trial request, in ms. Default 30000 */
|
|
147
|
+
cooldownMs?: number;
|
|
148
|
+
}
|
|
149
|
+
type CircuitState = 'closed' | 'open' | 'half-open';
|
|
150
|
+
/**
|
|
151
|
+
* Per retry VernLLM-instance circuit breaker. Tracks consecutive failures across
|
|
152
|
+
* calls. Once the threshold is hit, short-circuits new calls with an
|
|
153
|
+
* LLMError('circuit_open') instead of hitting the provider, until the
|
|
154
|
+
* cooldown elapses and a single trial call is allowed through
|
|
155
|
+
*/
|
|
156
|
+
declare class CircuitBreaker {
|
|
157
|
+
private state;
|
|
158
|
+
private consecutiveFailures;
|
|
159
|
+
private openedAt;
|
|
160
|
+
private threshold;
|
|
161
|
+
private cooldownMs;
|
|
162
|
+
constructor(options?: CircuitBreakerOptions);
|
|
163
|
+
/** Throws if the circuit is open and the cooldown hasnt elapsed */
|
|
164
|
+
assertClosed(): void;
|
|
165
|
+
recordSuccess(): void;
|
|
166
|
+
recordFailure(): void;
|
|
167
|
+
getState(): CircuitState;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
//#endregion
|
|
171
|
+
//#region src/logger.d.ts
|
|
172
|
+
interface Logger {
|
|
173
|
+
debug(message: string): void;
|
|
174
|
+
warn(message: string): void;
|
|
175
|
+
error(message: string, meta?: Record<string, unknown>): void;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Default logger. `debug` is gated by the `debug` option on VernLLM
|
|
179
|
+
* warn/error always fire since they indicate real problems (retries, cache failures)
|
|
180
|
+
*/
|
|
181
|
+
declare class ConsoleLogger implements Logger {
|
|
182
|
+
private debugEnabled;
|
|
183
|
+
constructor(debugEnabled: boolean);
|
|
184
|
+
debug(message: string): void;
|
|
185
|
+
warn(message: string): void;
|
|
186
|
+
error(message: string, meta?: Record<string, unknown>): void;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
//#endregion
|
|
190
|
+
//#region src/types/options.d.ts
|
|
191
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
144
192
|
interface VernLLMOptions {
|
|
145
193
|
client: LLMClient;
|
|
146
194
|
model: string;
|
|
@@ -171,28 +219,17 @@ interface VernLLMOptions {
|
|
|
171
219
|
*/
|
|
172
220
|
circuitBreaker?: boolean | CircuitBreakerOptions;
|
|
173
221
|
}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
* `schema`, which is a client-side Zod validator run on the parsed result
|
|
179
|
-
* You can use one, both, or neither; using both gets you provider-level
|
|
180
|
-
* constraint plus client-side type inference/validation as a safety net
|
|
181
|
-
*/
|
|
182
|
-
interface JsonSchemaSpec {
|
|
183
|
-
name: string;
|
|
184
|
-
schema: Record<string, unknown>;
|
|
185
|
-
/** Enforces the schema strictly (OpenAI-specific), default true when supported */
|
|
186
|
-
strict?: boolean;
|
|
187
|
-
description?: string;
|
|
188
|
-
}
|
|
222
|
+
|
|
223
|
+
//#endregion
|
|
224
|
+
//#region src/types/call.d.ts
|
|
225
|
+
//# sourceMappingURL=options.d.ts.map
|
|
189
226
|
/** A single prior turn in a multi-turn conversation, passed via `history`. */
|
|
190
227
|
interface ConversationTurn {
|
|
191
228
|
role: 'user' | 'assistant';
|
|
192
229
|
content: string;
|
|
193
230
|
}
|
|
194
231
|
interface CallParams<T = unknown> {
|
|
195
|
-
systemPrompt
|
|
232
|
+
systemPrompt?: string;
|
|
196
233
|
userContent: string;
|
|
197
234
|
/**
|
|
198
235
|
* Prior turns in the conversation, oldest first, NOT including the current
|
|
@@ -236,10 +273,11 @@ interface CachedCallParams<T> {
|
|
|
236
273
|
fn: () => Promise<T>;
|
|
237
274
|
reserveUsage?: ReserveUsage;
|
|
238
275
|
refundUsage?: RefundUsage;
|
|
239
|
-
}
|
|
240
|
-
//#region src/vernLLM.d.ts
|
|
276
|
+
}
|
|
241
277
|
|
|
242
|
-
//#
|
|
278
|
+
//#endregion
|
|
279
|
+
//#region src/vernLLM.d.ts
|
|
280
|
+
//# sourceMappingURL=call.d.ts.map
|
|
243
281
|
/**
|
|
244
282
|
* A resilient wrapper around an LLM chat completions client, this is VernLLM!
|
|
245
283
|
*
|
|
@@ -370,6 +408,14 @@ declare class VernLLM {
|
|
|
370
408
|
* marked as non retryable. Retries everything else
|
|
371
409
|
*/
|
|
372
410
|
private shouldRetry;
|
|
411
|
+
/**
|
|
412
|
+
* Removes a cached response by key when the configured cache adapter
|
|
413
|
+
* supports deletion.
|
|
414
|
+
*
|
|
415
|
+
* Cache invalidation remains the responsibility of the caller because
|
|
416
|
+
* only the application knows when cached data is stale.
|
|
417
|
+
*/
|
|
418
|
+
deleteCache(key: string): Promise<void>;
|
|
373
419
|
/**
|
|
374
420
|
* Thin cache wrapper around caller supplied logic. `params.fn` is expected
|
|
375
421
|
* to be a call that itself invokes `this.call(...)` (see `cachedLLMCall`
|
|
@@ -390,9 +436,10 @@ declare class VernLLM {
|
|
|
390
436
|
* circuit breaker was configured on this instance
|
|
391
437
|
*/
|
|
392
438
|
getCircuitState(): ("closed" | "open" | "half-open") | undefined;
|
|
393
|
-
}
|
|
394
|
-
//#region src/adapters/anthropic.d.ts
|
|
439
|
+
}
|
|
395
440
|
|
|
441
|
+
//#endregion
|
|
442
|
+
//#region src/adapters/anthropic.d.ts
|
|
396
443
|
//# sourceMappingURL=vernLLM.d.ts.map
|
|
397
444
|
/** Minimal structural type for the Anthropic SDKs `messages.create` */
|
|
398
445
|
interface AnthropicClient {
|
|
@@ -679,5 +726,5 @@ declare const fromOllama: typeof fromOpenAICompatible;
|
|
|
679
726
|
//#endregion
|
|
680
727
|
//# sourceMappingURL=openaiCompatible.d.ts.map
|
|
681
728
|
|
|
682
|
-
export { CacheAdapter, CachedCallParams, CallParams, CircuitBreaker, CircuitBreakerOptions, ConsoleLogger, ConversationTurn, FetchAdapterConfig, InMemoryCacheAdapter, JsonSchemaSpec, LLMClient, LLMError, LLMErrorType, Logger, OnUsage, RefundUsage, ReserveUsage, SchemaLike, TokenUsage, VernLLM, VernLLMOptions, fromAnthropic, fromBedrock, fromCerebras, fromDeepSeek, fromFetch, fromFireworks, fromGemini, fromGroq, fromMistral, fromOllama, fromOpenAICompatible, fromTogether, isLLMError };
|
|
729
|
+
export { AnthropicClient, BedrockConverseClient, CacheAdapter, CachedCallParams, CallParams, CircuitBreaker, CircuitBreakerOptions, ConsoleLogger, ConversationTurn, FetchAdapterConfig, GeminiClient, InMemoryCacheAdapter, JsonSchemaSpec, LLMClient, LLMError, LLMErrorType, Logger, OnUsage, RefundUsage, ReserveUsage, SchemaLike, TokenUsage, VernLLM, VernLLMOptions, fromAnthropic, fromBedrock, fromCerebras, fromDeepSeek, fromFetch, fromFireworks, fromGemini, fromGroq, fromMistral, fromOllama, fromOpenAICompatible, fromTogether, isLLMError };
|
|
683
730
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/types/errors.ts","../src/types/cache.ts","../src/types/client.ts","../src/types/usage.ts","../src/types/schema.ts","../src/circuitBreaker.ts","../src/logger.ts","../src/types/options.ts","../src/types/call.ts","../src/vernLLM.ts","../src/adapters/anthropic.ts","../src/adapters/gemini.ts","../src/adapters/bedrock.ts","../src/adapters/fetch.ts","../src/adapters/openaiCompatible.ts"],"sourcesContent":null,"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,52 +1,4 @@
|
|
|
1
|
-
//#region src/
|
|
2
|
-
interface Logger {
|
|
3
|
-
debug(message: string): void;
|
|
4
|
-
warn(message: string): void;
|
|
5
|
-
error(message: string, meta?: Record<string, unknown>): void;
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Default logger. `debug` is gated by the `debug` option on VernLLM
|
|
9
|
-
* warn/error always fire since they indicate real problems (retries, cache failures)
|
|
10
|
-
*/
|
|
11
|
-
declare class ConsoleLogger implements Logger {
|
|
12
|
-
private debugEnabled;
|
|
13
|
-
constructor(debugEnabled: boolean);
|
|
14
|
-
debug(message: string): void;
|
|
15
|
-
warn(message: string): void;
|
|
16
|
-
error(message: string, meta?: Record<string, unknown>): void;
|
|
17
|
-
} //#endregion
|
|
18
|
-
//#region src/circuitBreaker.d.ts
|
|
19
|
-
|
|
20
|
-
//# sourceMappingURL=logger.d.ts.map
|
|
21
|
-
interface CircuitBreakerOptions {
|
|
22
|
-
/** Consecutive failures before the circuit opens, default 5 */
|
|
23
|
-
threshold?: number;
|
|
24
|
-
/** How long the circuit stays open before allowing a trial request, in ms. Default 30000 */
|
|
25
|
-
cooldownMs?: number;
|
|
26
|
-
}
|
|
27
|
-
type CircuitState = 'closed' | 'open' | 'half-open';
|
|
28
|
-
/**
|
|
29
|
-
* Per retry VernLLM-instance circuit breaker. Tracks consecutive failures across
|
|
30
|
-
* calls. Once the threshold is hit, short-circuits new calls with an
|
|
31
|
-
* LLMError('circuit_open') instead of hitting the provider, until the
|
|
32
|
-
* cooldown elapses and a single trial call is allowed through
|
|
33
|
-
*/
|
|
34
|
-
declare class CircuitBreaker {
|
|
35
|
-
private state;
|
|
36
|
-
private consecutiveFailures;
|
|
37
|
-
private openedAt;
|
|
38
|
-
private threshold;
|
|
39
|
-
private cooldownMs;
|
|
40
|
-
constructor(options?: CircuitBreakerOptions);
|
|
41
|
-
/** Throws if the circuit is open and the cooldown hasnt elapsed */
|
|
42
|
-
assertClosed(): void;
|
|
43
|
-
recordSuccess(): void;
|
|
44
|
-
recordFailure(): void;
|
|
45
|
-
getState(): CircuitState;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
//#endregion
|
|
49
|
-
//#region src/types.d.ts
|
|
1
|
+
//#region src/types/errors.d.ts
|
|
50
2
|
type LLMErrorType = 'timeout' | 'api' | 'parse' | 'validation' | 'circuit_open' | 'unknown' | 'aborted';
|
|
51
3
|
declare class LLMError extends Error {
|
|
52
4
|
type: LLMErrorType;
|
|
@@ -55,19 +7,39 @@ declare class LLMError extends Error {
|
|
|
55
7
|
constructor(message: string, type: LLMErrorType, status?: number | undefined, issues?: unknown | undefined);
|
|
56
8
|
}
|
|
57
9
|
declare function isLLMError(err: unknown): err is LLMError;
|
|
10
|
+
|
|
11
|
+
//#endregion
|
|
12
|
+
//#region src/types/cache.d.ts
|
|
13
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
58
14
|
interface CacheAdapter<T = unknown> {
|
|
59
|
-
get(key: string): Promise<
|
|
15
|
+
get(key: string): Promise<{
|
|
16
|
+
hit: boolean;
|
|
17
|
+
value: T | null;
|
|
18
|
+
}>;
|
|
60
19
|
set(key: string, value: T, ttl: number): Promise<void>;
|
|
20
|
+
delete?(key: string): Promise<void>;
|
|
61
21
|
}
|
|
62
22
|
/**
|
|
63
23
|
* Trivial default so the package works out of the box with no external deps
|
|
64
24
|
* Not shared across processes, swap in Redis/Upstash/etc for production
|
|
65
25
|
*/
|
|
66
26
|
declare class InMemoryCacheAdapter<T = unknown> implements CacheAdapter<T> {
|
|
27
|
+
private readonly maxSize;
|
|
67
28
|
private store;
|
|
68
|
-
|
|
29
|
+
constructor(maxSize?: number);
|
|
30
|
+
get(key: string): Promise<{
|
|
31
|
+
hit: boolean;
|
|
32
|
+
value: T | null;
|
|
33
|
+
}>;
|
|
69
34
|
set(key: string, value: T, ttl: number): Promise<void>;
|
|
35
|
+
delete(key: string): Promise<void>;
|
|
36
|
+
private cleanupExpiredEntries;
|
|
37
|
+
private enforceSizeLimit;
|
|
70
38
|
}
|
|
39
|
+
|
|
40
|
+
//#endregion
|
|
41
|
+
//#region src/types/client.d.ts
|
|
42
|
+
//# sourceMappingURL=cache.d.ts.map
|
|
71
43
|
/**
|
|
72
44
|
* Minimal shape compatible with the OpenAI SDKs chat.completions.create,
|
|
73
45
|
* so consumers can pass an OpenAI client directly
|
|
@@ -117,6 +89,10 @@ interface LLMClient {
|
|
|
117
89
|
};
|
|
118
90
|
};
|
|
119
91
|
}
|
|
92
|
+
|
|
93
|
+
//#endregion
|
|
94
|
+
//#region src/types/usage.d.ts
|
|
95
|
+
//# sourceMappingURL=client.d.ts.map
|
|
120
96
|
type ReserveUsage = () => Promise<void>;
|
|
121
97
|
type RefundUsage = () => Promise<void>;
|
|
122
98
|
interface TokenUsage {
|
|
@@ -127,6 +103,10 @@ interface TokenUsage {
|
|
|
127
103
|
model: string;
|
|
128
104
|
}
|
|
129
105
|
type OnUsage = (usage: TokenUsage) => void;
|
|
106
|
+
|
|
107
|
+
//#endregion
|
|
108
|
+
//#region src/types/schema.d.ts
|
|
109
|
+
//# sourceMappingURL=usage.d.ts.map
|
|
130
110
|
/**
|
|
131
111
|
* Minimal structural type for a Zod-like schema, so this package doesnt need
|
|
132
112
|
* a hard dependency on a specific Zod major version. Any object exposing
|
|
@@ -141,6 +121,74 @@ interface SchemaLike<T> {
|
|
|
141
121
|
error: unknown;
|
|
142
122
|
};
|
|
143
123
|
}
|
|
124
|
+
/**
|
|
125
|
+
* A provider-native JSON Schema for structured outputs (OpenAI/Groq
|
|
126
|
+
* `response_format: { type: 'json_schema' }`) This is the wire-format
|
|
127
|
+
* schema the model is constrained to generate against, distinct from
|
|
128
|
+
* `schema`, which is a client-side Zod validator run on the parsed result
|
|
129
|
+
* You can use one, both, or neither; using both gets you provider-level
|
|
130
|
+
* constraint plus client-side type inference/validation as a safety net
|
|
131
|
+
*/
|
|
132
|
+
interface JsonSchemaSpec {
|
|
133
|
+
name: string;
|
|
134
|
+
schema: Record<string, unknown>;
|
|
135
|
+
/** Enforces the schema strictly (OpenAI-specific), default true when supported */
|
|
136
|
+
strict?: boolean;
|
|
137
|
+
description?: string;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
//#endregion
|
|
141
|
+
//#region src/circuitBreaker.d.ts
|
|
142
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
143
|
+
interface CircuitBreakerOptions {
|
|
144
|
+
/** Consecutive failures before the circuit opens, default 5 */
|
|
145
|
+
threshold?: number;
|
|
146
|
+
/** How long the circuit stays open before allowing a trial request, in ms. Default 30000 */
|
|
147
|
+
cooldownMs?: number;
|
|
148
|
+
}
|
|
149
|
+
type CircuitState = 'closed' | 'open' | 'half-open';
|
|
150
|
+
/**
|
|
151
|
+
* Per retry VernLLM-instance circuit breaker. Tracks consecutive failures across
|
|
152
|
+
* calls. Once the threshold is hit, short-circuits new calls with an
|
|
153
|
+
* LLMError('circuit_open') instead of hitting the provider, until the
|
|
154
|
+
* cooldown elapses and a single trial call is allowed through
|
|
155
|
+
*/
|
|
156
|
+
declare class CircuitBreaker {
|
|
157
|
+
private state;
|
|
158
|
+
private consecutiveFailures;
|
|
159
|
+
private openedAt;
|
|
160
|
+
private threshold;
|
|
161
|
+
private cooldownMs;
|
|
162
|
+
constructor(options?: CircuitBreakerOptions);
|
|
163
|
+
/** Throws if the circuit is open and the cooldown hasnt elapsed */
|
|
164
|
+
assertClosed(): void;
|
|
165
|
+
recordSuccess(): void;
|
|
166
|
+
recordFailure(): void;
|
|
167
|
+
getState(): CircuitState;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
//#endregion
|
|
171
|
+
//#region src/logger.d.ts
|
|
172
|
+
interface Logger {
|
|
173
|
+
debug(message: string): void;
|
|
174
|
+
warn(message: string): void;
|
|
175
|
+
error(message: string, meta?: Record<string, unknown>): void;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Default logger. `debug` is gated by the `debug` option on VernLLM
|
|
179
|
+
* warn/error always fire since they indicate real problems (retries, cache failures)
|
|
180
|
+
*/
|
|
181
|
+
declare class ConsoleLogger implements Logger {
|
|
182
|
+
private debugEnabled;
|
|
183
|
+
constructor(debugEnabled: boolean);
|
|
184
|
+
debug(message: string): void;
|
|
185
|
+
warn(message: string): void;
|
|
186
|
+
error(message: string, meta?: Record<string, unknown>): void;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
//#endregion
|
|
190
|
+
//#region src/types/options.d.ts
|
|
191
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
144
192
|
interface VernLLMOptions {
|
|
145
193
|
client: LLMClient;
|
|
146
194
|
model: string;
|
|
@@ -171,28 +219,17 @@ interface VernLLMOptions {
|
|
|
171
219
|
*/
|
|
172
220
|
circuitBreaker?: boolean | CircuitBreakerOptions;
|
|
173
221
|
}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
* `schema`, which is a client-side Zod validator run on the parsed result
|
|
179
|
-
* You can use one, both, or neither; using both gets you provider-level
|
|
180
|
-
* constraint plus client-side type inference/validation as a safety net
|
|
181
|
-
*/
|
|
182
|
-
interface JsonSchemaSpec {
|
|
183
|
-
name: string;
|
|
184
|
-
schema: Record<string, unknown>;
|
|
185
|
-
/** Enforces the schema strictly (OpenAI-specific), default true when supported */
|
|
186
|
-
strict?: boolean;
|
|
187
|
-
description?: string;
|
|
188
|
-
}
|
|
222
|
+
|
|
223
|
+
//#endregion
|
|
224
|
+
//#region src/types/call.d.ts
|
|
225
|
+
//# sourceMappingURL=options.d.ts.map
|
|
189
226
|
/** A single prior turn in a multi-turn conversation, passed via `history`. */
|
|
190
227
|
interface ConversationTurn {
|
|
191
228
|
role: 'user' | 'assistant';
|
|
192
229
|
content: string;
|
|
193
230
|
}
|
|
194
231
|
interface CallParams<T = unknown> {
|
|
195
|
-
systemPrompt
|
|
232
|
+
systemPrompt?: string;
|
|
196
233
|
userContent: string;
|
|
197
234
|
/**
|
|
198
235
|
* Prior turns in the conversation, oldest first, NOT including the current
|
|
@@ -236,10 +273,11 @@ interface CachedCallParams<T> {
|
|
|
236
273
|
fn: () => Promise<T>;
|
|
237
274
|
reserveUsage?: ReserveUsage;
|
|
238
275
|
refundUsage?: RefundUsage;
|
|
239
|
-
}
|
|
240
|
-
//#region src/vernLLM.d.ts
|
|
276
|
+
}
|
|
241
277
|
|
|
242
|
-
//#
|
|
278
|
+
//#endregion
|
|
279
|
+
//#region src/vernLLM.d.ts
|
|
280
|
+
//# sourceMappingURL=call.d.ts.map
|
|
243
281
|
/**
|
|
244
282
|
* A resilient wrapper around an LLM chat completions client, this is VernLLM!
|
|
245
283
|
*
|
|
@@ -370,6 +408,14 @@ declare class VernLLM {
|
|
|
370
408
|
* marked as non retryable. Retries everything else
|
|
371
409
|
*/
|
|
372
410
|
private shouldRetry;
|
|
411
|
+
/**
|
|
412
|
+
* Removes a cached response by key when the configured cache adapter
|
|
413
|
+
* supports deletion.
|
|
414
|
+
*
|
|
415
|
+
* Cache invalidation remains the responsibility of the caller because
|
|
416
|
+
* only the application knows when cached data is stale.
|
|
417
|
+
*/
|
|
418
|
+
deleteCache(key: string): Promise<void>;
|
|
373
419
|
/**
|
|
374
420
|
* Thin cache wrapper around caller supplied logic. `params.fn` is expected
|
|
375
421
|
* to be a call that itself invokes `this.call(...)` (see `cachedLLMCall`
|
|
@@ -390,9 +436,10 @@ declare class VernLLM {
|
|
|
390
436
|
* circuit breaker was configured on this instance
|
|
391
437
|
*/
|
|
392
438
|
getCircuitState(): ("closed" | "open" | "half-open") | undefined;
|
|
393
|
-
}
|
|
394
|
-
//#region src/adapters/anthropic.d.ts
|
|
439
|
+
}
|
|
395
440
|
|
|
441
|
+
//#endregion
|
|
442
|
+
//#region src/adapters/anthropic.d.ts
|
|
396
443
|
//# sourceMappingURL=vernLLM.d.ts.map
|
|
397
444
|
/** Minimal structural type for the Anthropic SDKs `messages.create` */
|
|
398
445
|
interface AnthropicClient {
|
|
@@ -679,5 +726,5 @@ declare const fromOllama: typeof fromOpenAICompatible;
|
|
|
679
726
|
//#endregion
|
|
680
727
|
//# sourceMappingURL=openaiCompatible.d.ts.map
|
|
681
728
|
|
|
682
|
-
export { CacheAdapter, CachedCallParams, CallParams, CircuitBreaker, CircuitBreakerOptions, ConsoleLogger, ConversationTurn, FetchAdapterConfig, InMemoryCacheAdapter, JsonSchemaSpec, LLMClient, LLMError, LLMErrorType, Logger, OnUsage, RefundUsage, ReserveUsage, SchemaLike, TokenUsage, VernLLM, VernLLMOptions, fromAnthropic, fromBedrock, fromCerebras, fromDeepSeek, fromFetch, fromFireworks, fromGemini, fromGroq, fromMistral, fromOllama, fromOpenAICompatible, fromTogether, isLLMError };
|
|
729
|
+
export { AnthropicClient, BedrockConverseClient, CacheAdapter, CachedCallParams, CallParams, CircuitBreaker, CircuitBreakerOptions, ConsoleLogger, ConversationTurn, FetchAdapterConfig, GeminiClient, InMemoryCacheAdapter, JsonSchemaSpec, LLMClient, LLMError, LLMErrorType, Logger, OnUsage, RefundUsage, ReserveUsage, SchemaLike, TokenUsage, VernLLM, VernLLMOptions, fromAnthropic, fromBedrock, fromCerebras, fromDeepSeek, fromFetch, fromFireworks, fromGemini, fromGroq, fromMistral, fromOllama, fromOpenAICompatible, fromTogether, isLLMError };
|
|
683
730
|
//# sourceMappingURL=index.d.ts.map
|