@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/browser/factory.js +504 -0
- package/dist/browser/index.js +641 -0
- package/dist/browser/legacy.js +572 -0
- package/dist/browser/models.js +248 -0
- package/dist/browser/types.js +0 -0
- package/dist/browser/validation.js +563 -0
- package/dist/factory.d.ts +4 -8
- package/dist/factory.d.ts.map +1 -1
- package/dist/factory.js +494 -215
- package/dist/index.d.ts +11 -6
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +641 -5
- package/dist/legacy.d.ts +19 -11
- package/dist/legacy.d.ts.map +1 -1
- package/dist/legacy.js +566 -66
- package/dist/models.d.ts +10 -11
- package/dist/models.d.ts.map +1 -1
- package/dist/models.js +239 -290
- package/dist/node/factory.js +504 -0
- package/dist/node/index.js +641 -0
- package/dist/node/legacy.js +572 -0
- package/dist/node/models.js +248 -0
- package/dist/node/types.js +0 -0
- package/dist/node/validation.js +563 -0
- package/dist/types.d.ts +76 -77
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -0
- package/dist/validation.d.ts +13 -14
- package/dist/validation.d.ts.map +1 -1
- package/dist/validation.js +556 -53
- package/package.json +59 -24
- package/dist/factory.js.map +0 -1
- package/dist/legacy.js.map +0 -1
- package/dist/models.js.map +0 -1
- package/dist/validation.js.map +0 -1
package/dist/types.d.ts
CHANGED
|
@@ -1,112 +1,111 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
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
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
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
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
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
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
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
|
-
|
|
107
|
-
|
|
108
|
-
|
|
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
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","
|
|
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
|
package/dist/validation.d.ts
CHANGED
|
@@ -1,34 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
package/dist/validation.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","
|
|
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"}
|