@contractspec/lib.ai-providers 1.57.0 → 1.58.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/types.d.ts CHANGED
@@ -1,112 +1,111 @@
1
- import { LanguageModel } from "ai";
2
-
3
- //#region src/types.d.ts
1
+ /**
2
+ * AI Provider types and interfaces
3
+ */
4
+ import type { LanguageModel } from 'ai';
4
5
  /**
5
6
  * Supported AI providers
6
7
  */
7
- type ProviderName = 'ollama' | 'openai' | 'anthropic' | 'mistral' | 'gemini';
8
+ export type ProviderName = 'ollama' | 'openai' | 'anthropic' | 'mistral' | 'gemini';
8
9
  /**
9
10
  * Legacy provider names (for backwards compatibility)
10
11
  */
11
- type LegacyProviderName = 'claude' | 'openai' | 'ollama' | 'custom';
12
+ export type LegacyProviderName = 'claude' | 'openai' | 'ollama' | 'custom';
12
13
  /**
13
14
  * Provider mode determines how API keys are resolved
14
15
  */
15
- type ProviderMode = 'local' | 'byok' | 'managed';
16
+ export type ProviderMode = 'local' | 'byok' | 'managed';
16
17
  /**
17
18
  * Configuration for creating a provider
18
19
  */
19
- interface ProviderConfig {
20
- /** Which provider to use */
21
- provider: ProviderName;
22
- /** Specific model to use (optional, uses provider default) */
23
- model?: string;
24
- /** API key for BYOK mode */
25
- apiKey?: string;
26
- /** Custom base URL (for Ollama or custom endpoints) */
27
- baseUrl?: string;
28
- /** API proxy URL for managed mode */
29
- proxyUrl?: string;
30
- /** Organization/tenant ID for managed mode */
31
- organizationId?: string;
20
+ export interface ProviderConfig {
21
+ /** Which provider to use */
22
+ provider: ProviderName;
23
+ /** Specific model to use (optional, uses provider default) */
24
+ model?: string;
25
+ /** API key for BYOK mode */
26
+ apiKey?: string;
27
+ /** Custom base URL (for Ollama or custom endpoints) */
28
+ baseUrl?: string;
29
+ /** API proxy URL for managed mode */
30
+ proxyUrl?: string;
31
+ /** Organization/tenant ID for managed mode */
32
+ organizationId?: string;
32
33
  }
33
34
  /**
34
35
  * Model capability flags
35
36
  */
36
- interface ModelCapabilities {
37
- /** Supports image/vision input */
38
- vision: boolean;
39
- /** Supports tool/function calling */
40
- tools: boolean;
41
- /** Supports extended thinking/reasoning */
42
- reasoning: boolean;
43
- /** Supports streaming */
44
- streaming: boolean;
37
+ export interface ModelCapabilities {
38
+ /** Supports image/vision input */
39
+ vision: boolean;
40
+ /** Supports tool/function calling */
41
+ tools: boolean;
42
+ /** Supports extended thinking/reasoning */
43
+ reasoning: boolean;
44
+ /** Supports streaming */
45
+ streaming: boolean;
45
46
  }
46
47
  /**
47
48
  * Model information
48
49
  */
49
- interface ModelInfo {
50
- /** Model identifier */
51
- id: string;
52
- /** Human-readable name */
53
- name: string;
54
- /** Provider this model belongs to */
55
- provider: ProviderName;
56
- /** Context window size in tokens */
57
- contextWindow: number;
58
- /** Model capabilities */
59
- capabilities: ModelCapabilities;
60
- /** Approximate cost per million tokens (input, output) */
61
- costPerMillion?: {
62
- input: number;
63
- output: number;
64
- };
50
+ export interface ModelInfo {
51
+ /** Model identifier */
52
+ id: string;
53
+ /** Human-readable name */
54
+ name: string;
55
+ /** Provider this model belongs to */
56
+ provider: ProviderName;
57
+ /** Context window size in tokens */
58
+ contextWindow: number;
59
+ /** Model capabilities */
60
+ capabilities: ModelCapabilities;
61
+ /** Approximate cost per million tokens (input, output) */
62
+ costPerMillion?: {
63
+ input: number;
64
+ output: number;
65
+ };
65
66
  }
66
67
  /**
67
68
  * AI Provider interface
68
69
  */
69
- interface Provider {
70
- /** Provider name */
71
- readonly name: ProviderName;
72
- /** Current model ID */
73
- readonly model: string;
74
- /** Provider mode */
75
- readonly mode: ProviderMode;
76
- /**
77
- * Get the underlying AI SDK language model
78
- */
79
- getModel(): LanguageModel;
80
- /**
81
- * List available models for this provider
82
- */
83
- listModels(): Promise<ModelInfo[]>;
84
- /**
85
- * Validate the provider configuration/credentials
86
- */
87
- validate(): Promise<{
88
- valid: boolean;
89
- error?: string;
90
- }>;
70
+ export interface Provider {
71
+ /** Provider name */
72
+ readonly name: ProviderName;
73
+ /** Current model ID */
74
+ readonly model: string;
75
+ /** Provider mode */
76
+ readonly mode: ProviderMode;
77
+ /**
78
+ * Get the underlying AI SDK language model
79
+ */
80
+ getModel(): LanguageModel;
81
+ /**
82
+ * List available models for this provider
83
+ */
84
+ listModels(): Promise<ModelInfo[]>;
85
+ /**
86
+ * Validate the provider configuration/credentials
87
+ */
88
+ validate(): Promise<{
89
+ valid: boolean;
90
+ error?: string;
91
+ }>;
91
92
  }
92
93
  /**
93
94
  * Provider availability info
94
95
  */
95
- interface ProviderAvailability {
96
- provider: ProviderName;
97
- available: boolean;
98
- mode: ProviderMode;
99
- reason?: string;
96
+ export interface ProviderAvailability {
97
+ provider: ProviderName;
98
+ available: boolean;
99
+ mode: ProviderMode;
100
+ reason?: string;
100
101
  }
101
102
  /**
102
103
  * Legacy Config type for backwards compatibility
103
104
  * This matches the Config type from contractspec-workspace
104
105
  */
105
- interface LegacyConfig {
106
- aiProvider: LegacyProviderName;
107
- aiModel?: string;
108
- customEndpoint?: string;
106
+ export interface LegacyConfig {
107
+ aiProvider: LegacyProviderName;
108
+ aiModel?: string;
109
+ customEndpoint?: string;
109
110
  }
110
- //#endregion
111
- export { LegacyConfig, LegacyProviderName, ModelCapabilities, ModelInfo, Provider, ProviderAvailability, ProviderConfig, ProviderMode, ProviderName };
112
111
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","names":[],"sources":["../src/types.ts"],"mappings":";;;;;;KAQY,YAAA;AAUZ;;;AAAA,KAAY,kBAAA;;AAKZ;;KAAY,YAAA;;;AAQZ;UAAiB,cAAA;;EAEf,QAAA,EAAU,YAAA;EAAV;EAEA,KAAA;EAAA;EAEA,MAAA;EAEA;EAAA,OAAA;EAIA;EAFA,QAAA;EAEc;EAAd,cAAA;AAAA;;;;UAMe,iBAAA;EAMf;EAJA,MAAA;EAMS;EAJT,KAAA;EAUe;EARf,SAAA;;EAEA,SAAA;AAAA;;;;UAMe,SAAA;EAUf;EARA,EAAA;EAUA;EARA,IAAA;EAQkC;EANlC,QAAA,EAAU,YAAA;EAM8B;EAJxC,aAAA;EAUuB;EARvB,YAAA,EAAc,iBAAA;EAUC;EARf,cAAA;IAAmB,KAAA;IAAe,MAAA;EAAA;AAAA;;;;UAMnB,QAAA;EAIN;EAAA,SAFA,IAAA,EAAM,YAAA;EAIA;EAAA,SAFN,KAAA;EAOG;EAAA,SALH,IAAA,EAAM,YAAA;EAUD;;;EALd,QAAA,IAAY,aAAA;EAUU;;;EALtB,UAAA,IAAc,OAAA,CAAQ,SAAA;EAWP;;;EANf,QAAA,IAAY,OAAA;IAAU,KAAA;IAAgB,KAAA;EAAA;AAAA;;;;UAMvB,oBAAA;EACf,QAAA,EAAU,YAAA;EACV,SAAA;EACA,IAAA,EAAM,YAAA;EACN,MAAA;AAAA;;;;;UAOe,YAAA;EACf,UAAA,EAAY,kBAAA;EACZ,OAAA;EACA,cAAA;AAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAExC;;GAEG;AACH,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,SAAS,GACT,QAAQ,CAAC;AAEb;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE3E;;GAEG;AACH,MAAM,MAAM,YAAY,GACpB,OAAO,GACP,MAAM,GACN,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,4BAA4B;IAC5B,QAAQ,EAAE,YAAY,CAAC;IACvB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kCAAkC;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,qCAAqC;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,2CAA2C;IAC3C,SAAS,EAAE,OAAO,CAAC;IACnB,yBAAyB;IACzB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,uBAAuB;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,QAAQ,EAAE,YAAY,CAAC;IACvB,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,yBAAyB;IACzB,YAAY,EAAE,iBAAiB,CAAC;IAChC,0DAA0D;IAC1D,cAAc,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACpD;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,oBAAoB;IACpB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,uBAAuB;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,oBAAoB;IACpB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAE5B;;OAEG;IACH,QAAQ,IAAI,aAAa,CAAC;IAE1B;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAEnC;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,YAAY,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}
package/dist/types.js CHANGED
@@ -0,0 +1 @@
1
+ // @bun
@@ -1,34 +1,33 @@
1
- import { ProviderConfig, ProviderName } from "./types.js";
2
-
3
- //#region src/validation.d.ts
1
+ /**
2
+ * Provider validation utilities
3
+ */
4
+ import type { ProviderName, ProviderConfig } from './types';
4
5
  /**
5
6
  * Validation result
6
7
  */
7
- interface ValidationResult {
8
- valid: boolean;
9
- error?: string;
10
- warnings?: string[];
8
+ export interface ValidationResult {
9
+ valid: boolean;
10
+ error?: string;
11
+ warnings?: string[];
11
12
  }
12
13
  /**
13
14
  * Validate a provider configuration
14
15
  */
15
- declare function validateProvider(config: ProviderConfig): Promise<ValidationResult>;
16
+ export declare function validateProvider(config: ProviderConfig): Promise<ValidationResult>;
16
17
  /**
17
18
  * Check if a provider has required credentials
18
19
  */
19
- declare function hasCredentials(provider: ProviderName): boolean;
20
+ export declare function hasCredentials(provider: ProviderName): boolean;
20
21
  /**
21
22
  * Get the environment variable name for a provider's API key
22
23
  */
23
- declare function getEnvVarName(provider: ProviderName): string | null;
24
+ export declare function getEnvVarName(provider: ProviderName): string | null;
24
25
  /**
25
26
  * Check if Ollama is running
26
27
  */
27
- declare function isOllamaRunning(baseUrl?: string): Promise<boolean>;
28
+ export declare function isOllamaRunning(baseUrl?: string): Promise<boolean>;
28
29
  /**
29
30
  * List available Ollama models
30
31
  */
31
- declare function listOllamaModels(baseUrl?: string): Promise<string[]>;
32
- //#endregion
33
- export { ValidationResult, getEnvVarName, hasCredentials, isOllamaRunning, listOllamaModels, validateProvider };
32
+ export declare function listOllamaModels(baseUrl?: string): Promise<string[]>;
34
33
  //# sourceMappingURL=validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","names":[],"sources":["../src/validation.ts"],"mappings":";;;;;;UASiB,gBAAA;EACf,KAAA;EACA,KAAA;EACA,QAAA;AAAA;AAMF;;;AAAA,iBAAsB,gBAAA,CACpB,MAAA,EAAQ,cAAA,GACP,OAAA,CAAQ,gBAAA;;;;iBAQK,cAAA,CAAe,QAAA,EAAU,YAAA;;;;iBAoBzB,aAAA,CAAc,QAAA,EAAU,YAAA;;;AApBxC;iBAwCsB,eAAA,CACpB,OAAA,YACC,OAAA;;;;iBAYmB,gBAAA,CACpB,OAAA,YACC,OAAA"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG5D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,gBAAgB,CAAC,CAG3B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAe9D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAenE;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,SAA2B,GACjC,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,SAA2B,GACjC,OAAO,CAAC,MAAM,EAAE,CAAC,CAYnB"}