vern-llm 0.3.0 → 0.5.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.d.cts CHANGED
@@ -58,6 +58,7 @@ declare function isLLMError(err: unknown): err is LLMError;
58
58
  interface CacheAdapter<T = unknown> {
59
59
  get(key: string): Promise<T | null>;
60
60
  set(key: string, value: T, ttl: number): Promise<void>;
61
+ delete?(key: string): Promise<void>;
61
62
  }
62
63
  /**
63
64
  * Trivial default so the package works out of the box with no external deps
@@ -67,6 +68,7 @@ declare class InMemoryCacheAdapter<T = unknown> implements CacheAdapter<T> {
67
68
  private store;
68
69
  get(key: string): Promise<T | null>;
69
70
  set(key: string, value: T, ttl: number): Promise<void>;
71
+ delete(key: string): Promise<void>;
70
72
  }
71
73
  /**
72
74
  * Minimal shape compatible with the OpenAI SDKs chat.completions.create,
@@ -97,7 +99,7 @@ interface LLMClient {
97
99
  /** OpenAI reasoning-model param (o-series, gpt-5), ignored by providers that don't support it */
98
100
  reasoning_effort?: 'minimal' | 'low' | 'medium' | 'high';
99
101
  messages: Array<{
100
- role: 'system' | 'user';
102
+ role: 'system' | 'user' | 'assistant';
101
103
  content: string;
102
104
  }>;
103
105
  }, options: {
@@ -186,9 +188,23 @@ interface JsonSchemaSpec {
186
188
  strict?: boolean;
187
189
  description?: string;
188
190
  }
191
+ /** A single prior turn in a multi-turn conversation, passed via `history`. */
192
+ interface ConversationTurn {
193
+ role: 'user' | 'assistant';
194
+ content: string;
195
+ }
189
196
  interface CallParams<T = unknown> {
190
197
  systemPrompt: string;
191
198
  userContent: string;
199
+ /**
200
+ * Prior turns in the conversation, oldest first, NOT including the current
201
+ * `userContent` (that's appended automatically as the final user turn).
202
+ * Passed straight through to the provider so follow-up questions have
203
+ * access to earlier context. Must strictly alternate user/assistant and
204
+ * end on an assistant turn; validated up front and rejected with an
205
+ * LLMError('validation') before any request is made if malformed.
206
+ */
207
+ history?: ConversationTurn[];
192
208
  temperature?: number;
193
209
  jsonMode?: boolean;
194
210
  maxTokens?: number;
@@ -305,6 +321,15 @@ declare class VernLLM {
305
321
  * usage and a circuit breaker success before returning
306
322
  */
307
323
  private executeCall;
324
+ /**
325
+ * Anthropic and Gemini both require strict user/assistant alternation
326
+ * (and reject or silently mishandle two consecutive same-role turns), so
327
+ * this validates `history` up front rather than letting a malformed
328
+ * request surface as a confusing provider-side error. Thrown as a
329
+ * validation LLMError, which `shouldRetry` never retries, since retrying
330
+ * the same malformed input can't succeed
331
+ */
332
+ private validateHistory;
308
333
  /**
309
334
  * Applies per call defaults and shapes the params into the request
310
335
  * object expected by the underlying client, including the resolved
@@ -347,6 +372,14 @@ declare class VernLLM {
347
372
  * marked as non retryable. Retries everything else
348
373
  */
349
374
  private shouldRetry;
375
+ /**
376
+ * Removes a cached response by key when the configured cache adapter
377
+ * supports deletion.
378
+ *
379
+ * Cache invalidation remains the responsibility of the caller because
380
+ * only the application knows when cached data is stale.
381
+ */
382
+ deleteCache(key: string): Promise<void>;
350
383
  /**
351
384
  * Thin cache wrapper around caller supplied logic. `params.fn` is expected
352
385
  * to be a call that itself invokes `this.call(...)` (see `cachedLLMCall`
@@ -367,10 +400,9 @@ declare class VernLLM {
367
400
  * circuit breaker was configured on this instance
368
401
  */
369
402
  getCircuitState(): ("closed" | "open" | "half-open") | undefined;
370
- }
371
-
372
- //#endregion
403
+ } //#endregion
373
404
  //#region src/adapters/anthropic.d.ts
405
+
374
406
  //# sourceMappingURL=vernLLM.d.ts.map
375
407
  /** Minimal structural type for the Anthropic SDKs `messages.create` */
376
408
  interface AnthropicClient {
@@ -384,12 +416,23 @@ interface AnthropicClient {
384
416
  role: 'user' | 'assistant';
385
417
  content: string;
386
418
  }>;
419
+ tools?: Array<{
420
+ name: string;
421
+ description?: string;
422
+ input_schema: Record<string, unknown>;
423
+ }>;
424
+ tool_choice?: {
425
+ type: 'tool';
426
+ name: string;
427
+ };
387
428
  }, options: {
388
429
  signal: AbortSignal;
389
430
  }): Promise<{
390
431
  content: Array<{
391
432
  type: string;
392
433
  text?: string;
434
+ name?: string;
435
+ input?: unknown;
393
436
  }>;
394
437
  usage?: {
395
438
  input_tokens?: number;
@@ -400,10 +443,18 @@ interface AnthropicClient {
400
443
  }
401
444
  /**
402
445
  * Wraps an Anthropic SDK client so it satisfies the same `LLMClient`
403
- * interface VernLLM uses for OpenAI/Groq. Anthropics Messages API has no
404
- * `response_format: json_object` equivalent, so when the caller requests
405
- * JSON mode, this adapter appends an instruction to the system prompt
406
- * asking the model to respond with JSON only
446
+ * interface VernLLM uses for OpenAI/Groq.
447
+ *
448
+ * `response_format: json_schema` is mapped to Anthropics forced tool-use:
449
+ * a single tool is defined with `input_schema` set to the caller's schema,
450
+ * and `tool_choice` forces the model to call it, so the output is
451
+ * provider-constrained to match the schema rather than merely instructed
452
+ * to via prompt text (the same guarantee OpenAIs native `json_schema` mode
453
+ * gives, built on Anthropics tool-calling primitive instead).
454
+ *
455
+ * `response_format: json_object` (no schema to build a tool from) falls
456
+ * back to a system-prompt instruction, since theres nothing to constrain
457
+ * generation against.
407
458
  */
408
459
  declare function fromAnthropic(anthropicClient: AnthropicClient): LLMClient;
409
460
 
@@ -420,7 +471,7 @@ interface GeminiClient {
420
471
  generateContent(params: {
421
472
  model?: string;
422
473
  contents: Array<{
423
- role: 'user';
474
+ role: 'user' | 'model';
424
475
  parts: Array<{
425
476
  text: string;
426
477
  }>;
@@ -489,7 +540,7 @@ interface BedrockConverseClient {
489
540
  converse(params: {
490
541
  modelId: string;
491
542
  messages: Array<{
492
- role: 'user';
543
+ role: 'user' | 'assistant';
493
544
  content: Array<{
494
545
  text: string;
495
546
  }>;
@@ -501,6 +552,22 @@ interface BedrockConverseClient {
501
552
  temperature?: number;
502
553
  maxTokens?: number;
503
554
  };
555
+ toolConfig?: {
556
+ tools: Array<{
557
+ toolSpec: {
558
+ name: string;
559
+ description?: string;
560
+ inputSchema: {
561
+ json: Record<string, unknown>;
562
+ };
563
+ };
564
+ }>;
565
+ toolChoice?: {
566
+ tool: {
567
+ name: string;
568
+ };
569
+ };
570
+ };
504
571
  }, options: {
505
572
  signal: AbortSignal;
506
573
  }): Promise<{
@@ -508,6 +575,10 @@ interface BedrockConverseClient {
508
575
  message?: {
509
576
  content?: Array<{
510
577
  text?: string;
578
+ toolUse?: {
579
+ name?: string;
580
+ input?: unknown;
581
+ };
511
582
  }>;
512
583
  };
513
584
  };
@@ -526,11 +597,15 @@ interface BedrockConverseClient {
526
597
  * regardless of which underlying model `modelId` points at, as long as
527
598
  * that model supports Converse (most current-generation ones do)
528
599
  *
529
- * Theres no uniform native JSON Schema enforcement across families here
530
- * (some support it via forced tool-use, which varies per model), so
531
- * `jsonSchema`/`jsonMode` are emulated via a system-prompt instruction, same
532
- * approach as the Anthropic adapter. `reasoning_effort` has no Converse
533
- * equivalent and is dropped
600
+ * `response_format: json_schema` is mapped to Converses `toolConfig`: a
601
+ * single tool is defined from the schema and `toolChoice` forces the model
602
+ * to call it, constraining output at generation time rather than merely
603
+ * instructing for it via prompt text. Native tool support varies by model
604
+ * family (most current-generation ones support it via Converse; check your
605
+ * specific `modelId` if a call fails with an unsupported-parameter error).
606
+ * `response_format: json_object` (no schema to build a tool from) and
607
+ * `reasoning_effort` (no Converse equivalent) fall back to a system-prompt
608
+ * instruction and are dropped respectively.
534
609
  */
535
610
  declare function fromBedrock(bedrockClient: BedrockConverseClient): LLMClient;
536
611
 
@@ -614,5 +689,5 @@ declare const fromOllama: typeof fromOpenAICompatible;
614
689
  //#endregion
615
690
  //# sourceMappingURL=openaiCompatible.d.ts.map
616
691
 
617
- export { CacheAdapter, CachedCallParams, CallParams, CircuitBreaker, CircuitBreakerOptions, ConsoleLogger, 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 };
692
+ 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 };
618
693
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/logger.ts","../src/circuitBreaker.ts","../src/types.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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"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/logger.ts","../src/circuitBreaker.ts","../src/types.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
@@ -58,6 +58,7 @@ declare function isLLMError(err: unknown): err is LLMError;
58
58
  interface CacheAdapter<T = unknown> {
59
59
  get(key: string): Promise<T | null>;
60
60
  set(key: string, value: T, ttl: number): Promise<void>;
61
+ delete?(key: string): Promise<void>;
61
62
  }
62
63
  /**
63
64
  * Trivial default so the package works out of the box with no external deps
@@ -67,6 +68,7 @@ declare class InMemoryCacheAdapter<T = unknown> implements CacheAdapter<T> {
67
68
  private store;
68
69
  get(key: string): Promise<T | null>;
69
70
  set(key: string, value: T, ttl: number): Promise<void>;
71
+ delete(key: string): Promise<void>;
70
72
  }
71
73
  /**
72
74
  * Minimal shape compatible with the OpenAI SDKs chat.completions.create,
@@ -97,7 +99,7 @@ interface LLMClient {
97
99
  /** OpenAI reasoning-model param (o-series, gpt-5), ignored by providers that don't support it */
98
100
  reasoning_effort?: 'minimal' | 'low' | 'medium' | 'high';
99
101
  messages: Array<{
100
- role: 'system' | 'user';
102
+ role: 'system' | 'user' | 'assistant';
101
103
  content: string;
102
104
  }>;
103
105
  }, options: {
@@ -186,9 +188,23 @@ interface JsonSchemaSpec {
186
188
  strict?: boolean;
187
189
  description?: string;
188
190
  }
191
+ /** A single prior turn in a multi-turn conversation, passed via `history`. */
192
+ interface ConversationTurn {
193
+ role: 'user' | 'assistant';
194
+ content: string;
195
+ }
189
196
  interface CallParams<T = unknown> {
190
197
  systemPrompt: string;
191
198
  userContent: string;
199
+ /**
200
+ * Prior turns in the conversation, oldest first, NOT including the current
201
+ * `userContent` (that's appended automatically as the final user turn).
202
+ * Passed straight through to the provider so follow-up questions have
203
+ * access to earlier context. Must strictly alternate user/assistant and
204
+ * end on an assistant turn; validated up front and rejected with an
205
+ * LLMError('validation') before any request is made if malformed.
206
+ */
207
+ history?: ConversationTurn[];
192
208
  temperature?: number;
193
209
  jsonMode?: boolean;
194
210
  maxTokens?: number;
@@ -305,6 +321,15 @@ declare class VernLLM {
305
321
  * usage and a circuit breaker success before returning
306
322
  */
307
323
  private executeCall;
324
+ /**
325
+ * Anthropic and Gemini both require strict user/assistant alternation
326
+ * (and reject or silently mishandle two consecutive same-role turns), so
327
+ * this validates `history` up front rather than letting a malformed
328
+ * request surface as a confusing provider-side error. Thrown as a
329
+ * validation LLMError, which `shouldRetry` never retries, since retrying
330
+ * the same malformed input can't succeed
331
+ */
332
+ private validateHistory;
308
333
  /**
309
334
  * Applies per call defaults and shapes the params into the request
310
335
  * object expected by the underlying client, including the resolved
@@ -347,6 +372,14 @@ declare class VernLLM {
347
372
  * marked as non retryable. Retries everything else
348
373
  */
349
374
  private shouldRetry;
375
+ /**
376
+ * Removes a cached response by key when the configured cache adapter
377
+ * supports deletion.
378
+ *
379
+ * Cache invalidation remains the responsibility of the caller because
380
+ * only the application knows when cached data is stale.
381
+ */
382
+ deleteCache(key: string): Promise<void>;
350
383
  /**
351
384
  * Thin cache wrapper around caller supplied logic. `params.fn` is expected
352
385
  * to be a call that itself invokes `this.call(...)` (see `cachedLLMCall`
@@ -367,10 +400,9 @@ declare class VernLLM {
367
400
  * circuit breaker was configured on this instance
368
401
  */
369
402
  getCircuitState(): ("closed" | "open" | "half-open") | undefined;
370
- }
371
-
372
- //#endregion
403
+ } //#endregion
373
404
  //#region src/adapters/anthropic.d.ts
405
+
374
406
  //# sourceMappingURL=vernLLM.d.ts.map
375
407
  /** Minimal structural type for the Anthropic SDKs `messages.create` */
376
408
  interface AnthropicClient {
@@ -384,12 +416,23 @@ interface AnthropicClient {
384
416
  role: 'user' | 'assistant';
385
417
  content: string;
386
418
  }>;
419
+ tools?: Array<{
420
+ name: string;
421
+ description?: string;
422
+ input_schema: Record<string, unknown>;
423
+ }>;
424
+ tool_choice?: {
425
+ type: 'tool';
426
+ name: string;
427
+ };
387
428
  }, options: {
388
429
  signal: AbortSignal;
389
430
  }): Promise<{
390
431
  content: Array<{
391
432
  type: string;
392
433
  text?: string;
434
+ name?: string;
435
+ input?: unknown;
393
436
  }>;
394
437
  usage?: {
395
438
  input_tokens?: number;
@@ -400,10 +443,18 @@ interface AnthropicClient {
400
443
  }
401
444
  /**
402
445
  * Wraps an Anthropic SDK client so it satisfies the same `LLMClient`
403
- * interface VernLLM uses for OpenAI/Groq. Anthropics Messages API has no
404
- * `response_format: json_object` equivalent, so when the caller requests
405
- * JSON mode, this adapter appends an instruction to the system prompt
406
- * asking the model to respond with JSON only
446
+ * interface VernLLM uses for OpenAI/Groq.
447
+ *
448
+ * `response_format: json_schema` is mapped to Anthropics forced tool-use:
449
+ * a single tool is defined with `input_schema` set to the caller's schema,
450
+ * and `tool_choice` forces the model to call it, so the output is
451
+ * provider-constrained to match the schema rather than merely instructed
452
+ * to via prompt text (the same guarantee OpenAIs native `json_schema` mode
453
+ * gives, built on Anthropics tool-calling primitive instead).
454
+ *
455
+ * `response_format: json_object` (no schema to build a tool from) falls
456
+ * back to a system-prompt instruction, since theres nothing to constrain
457
+ * generation against.
407
458
  */
408
459
  declare function fromAnthropic(anthropicClient: AnthropicClient): LLMClient;
409
460
 
@@ -420,7 +471,7 @@ interface GeminiClient {
420
471
  generateContent(params: {
421
472
  model?: string;
422
473
  contents: Array<{
423
- role: 'user';
474
+ role: 'user' | 'model';
424
475
  parts: Array<{
425
476
  text: string;
426
477
  }>;
@@ -489,7 +540,7 @@ interface BedrockConverseClient {
489
540
  converse(params: {
490
541
  modelId: string;
491
542
  messages: Array<{
492
- role: 'user';
543
+ role: 'user' | 'assistant';
493
544
  content: Array<{
494
545
  text: string;
495
546
  }>;
@@ -501,6 +552,22 @@ interface BedrockConverseClient {
501
552
  temperature?: number;
502
553
  maxTokens?: number;
503
554
  };
555
+ toolConfig?: {
556
+ tools: Array<{
557
+ toolSpec: {
558
+ name: string;
559
+ description?: string;
560
+ inputSchema: {
561
+ json: Record<string, unknown>;
562
+ };
563
+ };
564
+ }>;
565
+ toolChoice?: {
566
+ tool: {
567
+ name: string;
568
+ };
569
+ };
570
+ };
504
571
  }, options: {
505
572
  signal: AbortSignal;
506
573
  }): Promise<{
@@ -508,6 +575,10 @@ interface BedrockConverseClient {
508
575
  message?: {
509
576
  content?: Array<{
510
577
  text?: string;
578
+ toolUse?: {
579
+ name?: string;
580
+ input?: unknown;
581
+ };
511
582
  }>;
512
583
  };
513
584
  };
@@ -526,11 +597,15 @@ interface BedrockConverseClient {
526
597
  * regardless of which underlying model `modelId` points at, as long as
527
598
  * that model supports Converse (most current-generation ones do)
528
599
  *
529
- * Theres no uniform native JSON Schema enforcement across families here
530
- * (some support it via forced tool-use, which varies per model), so
531
- * `jsonSchema`/`jsonMode` are emulated via a system-prompt instruction, same
532
- * approach as the Anthropic adapter. `reasoning_effort` has no Converse
533
- * equivalent and is dropped
600
+ * `response_format: json_schema` is mapped to Converses `toolConfig`: a
601
+ * single tool is defined from the schema and `toolChoice` forces the model
602
+ * to call it, constraining output at generation time rather than merely
603
+ * instructing for it via prompt text. Native tool support varies by model
604
+ * family (most current-generation ones support it via Converse; check your
605
+ * specific `modelId` if a call fails with an unsupported-parameter error).
606
+ * `response_format: json_object` (no schema to build a tool from) and
607
+ * `reasoning_effort` (no Converse equivalent) fall back to a system-prompt
608
+ * instruction and are dropped respectively.
534
609
  */
535
610
  declare function fromBedrock(bedrockClient: BedrockConverseClient): LLMClient;
536
611
 
@@ -614,5 +689,5 @@ declare const fromOllama: typeof fromOpenAICompatible;
614
689
  //#endregion
615
690
  //# sourceMappingURL=openaiCompatible.d.ts.map
616
691
 
617
- export { CacheAdapter, CachedCallParams, CallParams, CircuitBreaker, CircuitBreakerOptions, ConsoleLogger, 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 };
692
+ 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 };
618
693
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/logger.ts","../src/circuitBreaker.ts","../src/types.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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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/logger.ts","../src/circuitBreaker.ts","../src/types.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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"}