@oai2lmapi/opencode-provider 0.1.0 → 0.1.1
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.js +858 -22
- package/dist/index.js.map +6 -1
- package/dist/modelMetadata.d.ts +10 -2
- package/dist/modelMetadata.d.ts.map +1 -1
- package/dist/types.d.ts +16 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +7 -5
- package/dist/config.js +0 -175
- package/dist/config.js.map +0 -1
- package/dist/modelDiscovery.js +0 -128
- package/dist/modelDiscovery.js.map +0 -1
- package/dist/modelMetadata.js +0 -6
- package/dist/modelMetadata.js.map +0 -1
- package/dist/provider.js +0 -114
- package/dist/provider.js.map +0 -1
- package/dist/types.js +0 -5
- package/dist/types.js.map +0 -1
- package/dist/utils.js +0 -44
- package/dist/utils.js.map +0 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1,6 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/provider.ts", "../../model-metadata/dist/esm/index.mjs", "../src/modelMetadata.ts", "../src/modelDiscovery.ts", "../src/utils.ts", "../src/config.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["supportsToolCalling", "getModelMetadataFromPatterns", "mergeMetadata", "getModelMetadataFromPatterns", "mergeMetadata", "getModelMetadata"]
|
|
6
|
+
}
|
package/dist/modelMetadata.d.ts
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared model metadata registry for the OpenCode provider.
|
|
3
|
-
*
|
|
3
|
+
* Re-exports functionality from @oai2lmapi/model-metadata (bundled at build time).
|
|
4
4
|
*/
|
|
5
|
-
|
|
5
|
+
import type { ModelMetadata } from './types.js';
|
|
6
|
+
export type { ModelMetadata };
|
|
7
|
+
export declare const DEFAULT_MODEL_METADATA: ModelMetadata;
|
|
8
|
+
export declare const MODEL_METADATA_REGISTRY: Record<string, ModelMetadata>;
|
|
9
|
+
export declare const getModelMetadata: (modelId: string) => ModelMetadata;
|
|
10
|
+
export declare const getModelMetadataFromPatterns: (modelId: string) => ModelMetadata;
|
|
11
|
+
export declare const isLLMModel: (modelId: string) => boolean;
|
|
12
|
+
export declare const mergeMetadata: (apiMetadata: Partial<ModelMetadata> | undefined, patternMetadata: ModelMetadata) => ModelMetadata;
|
|
13
|
+
export declare const supportsToolCalling: (modelId: string) => boolean;
|
|
6
14
|
//# sourceMappingURL=modelMetadata.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modelMetadata.d.ts","sourceRoot":"","sources":["../src/modelMetadata.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"modelMetadata.d.ts","sourceRoot":"","sources":["../src/modelMetadata.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,aAAa,EAAE,CAAC;AAc9B,eAAO,MAAM,sBAAsB,EAAE,aAAuC,CAAC;AAC7E,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAA4B,CAAC;AAC/F,eAAO,MAAM,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,aAAiC,CAAC;AACtF,eAAO,MAAM,4BAA4B,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,aAA6C,CAAC;AAC9G,eAAO,MAAM,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAqB,CAAC;AACpE,eAAO,MAAM,aAAa,EAAE,CAC1B,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,SAAS,EAC/C,eAAe,EAAE,aAAa,KAC3B,aAA8B,CAAC;AACpC,eAAO,MAAM,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAA8B,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,8 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Types for the OpenAI-compatible provider
|
|
3
3
|
*/
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Metadata for a model, describing its capabilities and limits.
|
|
6
|
+
* This is a local definition that matches @oai2lmapi/model-metadata.
|
|
7
|
+
*/
|
|
8
|
+
export interface ModelMetadata {
|
|
9
|
+
/** Maximum input tokens the model can accept */
|
|
10
|
+
maxInputTokens: number;
|
|
11
|
+
/** Maximum output tokens the model can generate */
|
|
12
|
+
maxOutputTokens: number;
|
|
13
|
+
/** Whether the model supports tool/function calling */
|
|
14
|
+
supportsToolCalling: boolean;
|
|
15
|
+
/** Whether the model supports image/vision input */
|
|
16
|
+
supportsImageInput: boolean;
|
|
17
|
+
/** Model type: 'llm', 'embedding', 'rerank', 'image', 'audio', 'other' */
|
|
18
|
+
modelType: 'llm' | 'embedding' | 'rerank' | 'image' | 'audio' | 'other';
|
|
19
|
+
}
|
|
6
20
|
export interface ModelOverride {
|
|
7
21
|
/** Max input tokens */
|
|
8
22
|
maxInputTokens?: number;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,cAAc,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,eAAe,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,mBAAmB,EAAE,OAAO,CAAC;IAC7B,oDAAoD;IACpD,kBAAkB,EAAE,OAAO,CAAC;IAC5B,0EAA0E;IAC1E,SAAS,EAAE,KAAK,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;CACzE;AAED,MAAM,WAAW,aAAa;IAC5B,uBAAuB;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wBAAwB;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4CAA4C;IAC5C,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,4BAA4B;IAC5B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oFAAoF;IACpF,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,kDAAkD;IAClD,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,2CAA2C;IAC3C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACrE,yCAAyC;IACzC,8BAA8B,CAAC,EAAE,OAAO,CAAC;CAC1C;AAED,MAAM,WAAW,sBAAsB;IACrC,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,6DAA6D;IAC7D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC/C,kCAAkC;IAClC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,SAAS,EAAE,CAAC;CACnB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oai2lmapi/opencode-provider",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "OpenAI-compatible provider for OpenCode with auto-discovery and advanced features",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -15,8 +15,9 @@
|
|
|
15
15
|
"dist"
|
|
16
16
|
],
|
|
17
17
|
"scripts": {
|
|
18
|
-
"build": "tsc",
|
|
19
|
-
"
|
|
18
|
+
"build": "node esbuild.cjs && tsc",
|
|
19
|
+
"build:types": "tsc",
|
|
20
|
+
"watch": "node esbuild.cjs --watch",
|
|
20
21
|
"clean": "rm -rf dist",
|
|
21
22
|
"test": "echo \"Tests not yet implemented\"",
|
|
22
23
|
"lint": "echo \"Linting not yet configured\""
|
|
@@ -41,11 +42,12 @@
|
|
|
41
42
|
"dependencies": {
|
|
42
43
|
"@ai-sdk/openai-compatible": "^1.0.0",
|
|
43
44
|
"@ai-sdk/provider": "^1.0.0",
|
|
44
|
-
"@ai-sdk/provider-utils": "^2.0.0"
|
|
45
|
-
"@oai2lmapi/model-metadata": "workspace:*"
|
|
45
|
+
"@ai-sdk/provider-utils": "^2.0.0"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
+
"@oai2lmapi/model-metadata": "workspace:*",
|
|
48
49
|
"@types/node": "^22.0.0",
|
|
50
|
+
"esbuild": "^0.27.2",
|
|
49
51
|
"typescript": "^5.9.3"
|
|
50
52
|
}
|
|
51
53
|
}
|
package/dist/config.js
DELETED
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Configuration loading for OpenCode plugin
|
|
3
|
-
*
|
|
4
|
-
* Reads configuration from:
|
|
5
|
-
* 1. ~/.local/share/opencode/oai2lm.json (primary config file)
|
|
6
|
-
* 2. ~/.config/opencode/oai2lm.json (alternative config location)
|
|
7
|
-
*
|
|
8
|
-
* This follows OpenCode's convention where:
|
|
9
|
-
* - ~/.local/share/opencode/ contains data files (auth.json, etc.)
|
|
10
|
-
* - ~/.config/opencode/ contains user configuration
|
|
11
|
-
*/
|
|
12
|
-
import { readFileSync, existsSync } from 'node:fs';
|
|
13
|
-
import { homedir } from 'node:os';
|
|
14
|
-
import { join, isAbsolute } from 'node:path';
|
|
15
|
-
/**
|
|
16
|
-
* Get the OpenCode data directory path
|
|
17
|
-
* Follows XDG Base Directory Specification
|
|
18
|
-
* Note: XDG spec requires absolute paths; relative paths are ignored
|
|
19
|
-
*/
|
|
20
|
-
export function getDataDir() {
|
|
21
|
-
const xdgDataHome = process.env['XDG_DATA_HOME'];
|
|
22
|
-
if (xdgDataHome && isAbsolute(xdgDataHome)) {
|
|
23
|
-
return join(xdgDataHome, 'opencode');
|
|
24
|
-
}
|
|
25
|
-
return join(homedir(), '.local', 'share', 'opencode');
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Get the OpenCode config directory path
|
|
29
|
-
* Follows XDG Base Directory Specification
|
|
30
|
-
* Note: XDG spec requires absolute paths; relative paths are ignored
|
|
31
|
-
*/
|
|
32
|
-
export function getConfigDir() {
|
|
33
|
-
const xdgConfigHome = process.env['XDG_CONFIG_HOME'];
|
|
34
|
-
if (xdgConfigHome && isAbsolute(xdgConfigHome)) {
|
|
35
|
-
return join(xdgConfigHome, 'opencode');
|
|
36
|
-
}
|
|
37
|
-
return join(homedir(), '.config', 'opencode');
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Config file name for this plugin
|
|
41
|
-
*/
|
|
42
|
-
export const CONFIG_FILENAME = 'oai2lm.json';
|
|
43
|
-
/**
|
|
44
|
-
* Try to read and parse a JSON file
|
|
45
|
-
*/
|
|
46
|
-
function readJsonFile(filepath) {
|
|
47
|
-
try {
|
|
48
|
-
if (!existsSync(filepath)) {
|
|
49
|
-
return undefined;
|
|
50
|
-
}
|
|
51
|
-
const content = readFileSync(filepath, 'utf-8');
|
|
52
|
-
return JSON.parse(content);
|
|
53
|
-
}
|
|
54
|
-
catch (error) {
|
|
55
|
-
if (error instanceof SyntaxError) {
|
|
56
|
-
const message = error.message;
|
|
57
|
-
console.warn(`Failed to parse JSON in config file ${filepath}: ${message}`);
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
console.warn(`Failed to read config file ${filepath}:`, error);
|
|
61
|
-
}
|
|
62
|
-
return undefined;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Load configuration from oai2lm.json
|
|
67
|
-
*
|
|
68
|
-
* Search order (by precedence):
|
|
69
|
-
* 1. ~/.local/share/opencode/oai2lm.json (data directory)
|
|
70
|
-
* 2. ~/.config/opencode/oai2lm.json (config directory)
|
|
71
|
-
*
|
|
72
|
-
* The data directory location takes precedence over the config directory;
|
|
73
|
-
* the first readable file found in this order is used.
|
|
74
|
-
*/
|
|
75
|
-
export function loadConfig() {
|
|
76
|
-
const paths = [
|
|
77
|
-
join(getDataDir(), CONFIG_FILENAME),
|
|
78
|
-
join(getConfigDir(), CONFIG_FILENAME),
|
|
79
|
-
];
|
|
80
|
-
for (const configPath of paths) {
|
|
81
|
-
const config = readJsonFile(configPath);
|
|
82
|
-
if (config) {
|
|
83
|
-
return config;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
return undefined;
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Load API key from environment or config
|
|
90
|
-
*
|
|
91
|
-
* Priority:
|
|
92
|
-
* 1. Explicit apiKey in settings
|
|
93
|
-
* 2. Environment variable OAI2LM_API_KEY
|
|
94
|
-
* 3. Config file apiKey
|
|
95
|
-
*/
|
|
96
|
-
export function resolveApiKey(explicitKey, config) {
|
|
97
|
-
if (typeof explicitKey === 'string' && explicitKey.trim().length > 0) {
|
|
98
|
-
return explicitKey.trim();
|
|
99
|
-
}
|
|
100
|
-
const envKey = process.env['OAI2LM_API_KEY'];
|
|
101
|
-
// Treat empty-string environment values as "not set" and fall back to config
|
|
102
|
-
if (typeof envKey === 'string' && envKey.trim() !== '') {
|
|
103
|
-
return envKey.trim();
|
|
104
|
-
}
|
|
105
|
-
return config?.apiKey;
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Load base URL from environment or config
|
|
109
|
-
*
|
|
110
|
-
* Priority:
|
|
111
|
-
* 1. Explicit baseURL in settings
|
|
112
|
-
* 2. Environment variable OAI2LM_BASE_URL
|
|
113
|
-
* 3. Config file baseURL
|
|
114
|
-
* 4. Default: https://api.openai.com/v1
|
|
115
|
-
*/
|
|
116
|
-
export function resolveBaseURL(explicitURL, config) {
|
|
117
|
-
// Explicit setting takes precedence if it is a non-empty string
|
|
118
|
-
if (typeof explicitURL === 'string' && explicitURL.trim().length > 0) {
|
|
119
|
-
return explicitURL.trim();
|
|
120
|
-
}
|
|
121
|
-
// Environment variable takes precedence over config if it is a non-empty string
|
|
122
|
-
const envURL = process.env['OAI2LM_BASE_URL'];
|
|
123
|
-
if (typeof envURL === 'string' && envURL.trim().length > 0) {
|
|
124
|
-
return envURL.trim();
|
|
125
|
-
}
|
|
126
|
-
// Fall back to config baseURL if provided and non-empty, otherwise use default
|
|
127
|
-
if (typeof config?.baseURL === 'string' && config.baseURL.trim().length > 0) {
|
|
128
|
-
return config.baseURL.trim();
|
|
129
|
-
}
|
|
130
|
-
return 'https://api.openai.com/v1';
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Create provider settings from config file and overrides
|
|
134
|
-
*
|
|
135
|
-
* This is a convenience function that:
|
|
136
|
-
* 1. Loads config from oai2lm.json
|
|
137
|
-
* 2. Applies explicit settings as overrides
|
|
138
|
-
* 3. Returns complete settings ready for provider creation
|
|
139
|
-
*/
|
|
140
|
-
export function createSettingsFromConfig(overrides) {
|
|
141
|
-
const config = loadConfig();
|
|
142
|
-
const apiKey = resolveApiKey(overrides?.apiKey, config);
|
|
143
|
-
if (!apiKey) {
|
|
144
|
-
const dataPath = join(getDataDir(), CONFIG_FILENAME);
|
|
145
|
-
const configPath = join(getConfigDir(), CONFIG_FILENAME);
|
|
146
|
-
throw new Error('API key not found. Please set OAI2LM_API_KEY environment variable, ' +
|
|
147
|
-
'or add apiKey to ' + dataPath + ' or ' + configPath + ', ' +
|
|
148
|
-
'or pass apiKey in settings.');
|
|
149
|
-
}
|
|
150
|
-
const baseURL = resolveBaseURL(overrides?.baseURL, config);
|
|
151
|
-
// Merge model overrides: config < explicit overrides
|
|
152
|
-
const modelOverrides = {
|
|
153
|
-
...(config?.modelOverrides ?? {}),
|
|
154
|
-
...(overrides?.modelOverrides ?? {}),
|
|
155
|
-
};
|
|
156
|
-
return {
|
|
157
|
-
apiKey,
|
|
158
|
-
baseURL,
|
|
159
|
-
name: overrides?.name ?? config?.name ?? 'oai2lm',
|
|
160
|
-
headers: {
|
|
161
|
-
...(config?.headers ?? {}),
|
|
162
|
-
...(overrides?.headers ?? {}),
|
|
163
|
-
},
|
|
164
|
-
autoDiscoverModels: overrides?.autoDiscoverModels ?? config?.autoDiscoverModels ?? true,
|
|
165
|
-
modelOverrides: Object.keys(modelOverrides).length > 0 ? modelOverrides : undefined,
|
|
166
|
-
fetch: overrides?.fetch,
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* Get the path to the config file (for user guidance)
|
|
171
|
-
*/
|
|
172
|
-
export function getConfigFilePath() {
|
|
173
|
-
return join(getDataDir(), CONFIG_FILENAME);
|
|
174
|
-
}
|
|
175
|
-
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AA4B7C;;;;GAIG;AACH,MAAM,UAAU,UAAU;IACxB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACjD,IAAI,WAAW,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACrD,IAAI,aAAa,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAC;AAE7C;;GAEG;AACH,SAAS,YAAY,CAAI,QAAgB;IACvC,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAM,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,uCAAuC,QAAQ,KAAK,OAAO,EAAE,CAAC,CAAC;QAC9E,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,8BAA8B,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU;IACxB,MAAM,KAAK,GAAG;QACZ,IAAI,CAAC,UAAU,EAAE,EAAE,eAAe,CAAC;QACnC,IAAI,CAAC,YAAY,EAAE,EAAE,eAAe,CAAC;KACtC,CAAC;IAEF,KAAK,MAAM,UAAU,IAAI,KAAK,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,YAAY,CAAe,UAAU,CAAC,CAAC;QACtD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAC3B,WAAoB,EACpB,MAAqB;IAErB,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrE,OAAO,WAAW,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC7C,6EAA6E;IAC7E,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACvD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,OAAO,MAAM,EAAE,MAAM,CAAC;AACxB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAC5B,WAAoB,EACpB,MAAqB;IAErB,gEAAgE;IAChE,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrE,OAAO,WAAW,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,gFAAgF;IAChF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC9C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3D,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,+EAA+E;IAC/E,IAAI,OAAO,MAAM,EAAE,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5E,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,OAAO,2BAA2B,CAAC;AACrC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CACtC,SAA2C;IAE3C,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,eAAe,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,eAAe,CAAC,CAAC;QACzD,MAAM,IAAI,KAAK,CACb,qEAAqE;YACrE,mBAAmB,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI;YAC3D,6BAA6B,CAC9B,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAE3D,qDAAqD;IACrD,MAAM,cAAc,GAAkC;QACpD,GAAG,CAAC,MAAM,EAAE,cAAc,IAAI,EAAE,CAAC;QACjC,GAAG,CAAC,SAAS,EAAE,cAAc,IAAI,EAAE,CAAC;KACrC,CAAC;IAEF,OAAO;QACL,MAAM;QACN,OAAO;QACP,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,MAAM,EAAE,IAAI,IAAI,QAAQ;QACjD,OAAO,EAAE;YACP,GAAG,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC;YAC1B,GAAG,CAAC,SAAS,EAAE,OAAO,IAAI,EAAE,CAAC;SAC9B;QACD,kBAAkB,EAAE,SAAS,EAAE,kBAAkB,IAAI,MAAM,EAAE,kBAAkB,IAAI,IAAI;QACvF,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;QACnF,KAAK,EAAE,SAAS,EAAE,KAAK;KACxB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,CAAC,UAAU,EAAE,EAAE,eAAe,CAAC,CAAC;AAC7C,CAAC"}
|
package/dist/modelDiscovery.js
DELETED
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Model discovery: fetch and cache models from API
|
|
3
|
-
*/
|
|
4
|
-
import { getModelMetadataFromPatterns, mergeMetadata } from './modelMetadata.js';
|
|
5
|
-
export class ModelDiscovery {
|
|
6
|
-
baseURL;
|
|
7
|
-
apiKey;
|
|
8
|
-
headers;
|
|
9
|
-
fetchFn;
|
|
10
|
-
modelsCache = new Map();
|
|
11
|
-
lastFetchTime = 0;
|
|
12
|
-
cacheDuration = 5 * 60 * 1000; // 5 minutes
|
|
13
|
-
constructor(baseURL, apiKey, headers, fetchFn = fetch) {
|
|
14
|
-
this.baseURL = baseURL;
|
|
15
|
-
this.apiKey = apiKey;
|
|
16
|
-
this.headers = headers;
|
|
17
|
-
this.fetchFn = fetchFn;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Fetch models from API /models endpoint
|
|
21
|
-
*/
|
|
22
|
-
async fetchModels() {
|
|
23
|
-
const now = Date.now();
|
|
24
|
-
if (this.modelsCache.size > 0 && now - this.lastFetchTime < this.cacheDuration) {
|
|
25
|
-
return Array.from(this.modelsCache.values());
|
|
26
|
-
}
|
|
27
|
-
try {
|
|
28
|
-
const url = `${this.baseURL}/models`;
|
|
29
|
-
const response = await this.fetchFn(url, {
|
|
30
|
-
method: 'GET',
|
|
31
|
-
headers: {
|
|
32
|
-
Authorization: `Bearer ${this.apiKey}`,
|
|
33
|
-
...this.headers,
|
|
34
|
-
},
|
|
35
|
-
});
|
|
36
|
-
if (!response.ok) {
|
|
37
|
-
console.warn(`Failed to fetch models from ${url}: ${response.status} ${response.statusText}`);
|
|
38
|
-
return [];
|
|
39
|
-
}
|
|
40
|
-
const data = (await response.json());
|
|
41
|
-
const models = data.data || [];
|
|
42
|
-
// Enrich models with metadata
|
|
43
|
-
for (const model of models) {
|
|
44
|
-
const patternMetadata = getModelMetadataFromPatterns(model.id);
|
|
45
|
-
const apiMetadata = this.extractMetadataFromModel(model);
|
|
46
|
-
model.metadata = mergeMetadata(apiMetadata, patternMetadata);
|
|
47
|
-
this.modelsCache.set(model.id, model);
|
|
48
|
-
}
|
|
49
|
-
this.lastFetchTime = now;
|
|
50
|
-
return models;
|
|
51
|
-
}
|
|
52
|
-
catch (error) {
|
|
53
|
-
console.error('Error fetching models:', error);
|
|
54
|
-
return [];
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Get metadata for a specific model
|
|
59
|
-
*/
|
|
60
|
-
async getModelMetadata(modelId) {
|
|
61
|
-
// Check cache first
|
|
62
|
-
const cached = this.modelsCache.get(modelId);
|
|
63
|
-
if (cached?.metadata) {
|
|
64
|
-
return cached.metadata;
|
|
65
|
-
}
|
|
66
|
-
// Fetch models if not cached
|
|
67
|
-
await this.fetchModels();
|
|
68
|
-
const model = this.modelsCache.get(modelId);
|
|
69
|
-
if (model?.metadata) {
|
|
70
|
-
return model.metadata;
|
|
71
|
-
}
|
|
72
|
-
// Fallback to pattern matching
|
|
73
|
-
return getModelMetadataFromPatterns(modelId);
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Extract metadata from model object returned by API
|
|
77
|
-
*/
|
|
78
|
-
extractMetadataFromModel(model) {
|
|
79
|
-
const metadata = {};
|
|
80
|
-
// Try to extract from various API response formats
|
|
81
|
-
// OpenAI format
|
|
82
|
-
if (model.context_length) {
|
|
83
|
-
metadata.maxInputTokens = model.context_length;
|
|
84
|
-
}
|
|
85
|
-
if (model.max_tokens) {
|
|
86
|
-
metadata.maxOutputTokens = model.max_tokens;
|
|
87
|
-
}
|
|
88
|
-
// Anthropic/OpenRouter format
|
|
89
|
-
if (model.max_input_tokens) {
|
|
90
|
-
metadata.maxInputTokens = model.max_input_tokens;
|
|
91
|
-
}
|
|
92
|
-
if (model.max_output_tokens) {
|
|
93
|
-
metadata.maxOutputTokens = model.max_output_tokens;
|
|
94
|
-
}
|
|
95
|
-
// Function calling support
|
|
96
|
-
if (typeof model.function_call === 'boolean') {
|
|
97
|
-
metadata.supportsToolCalling = model.function_call;
|
|
98
|
-
}
|
|
99
|
-
else if (typeof model.supports_function_calling === 'boolean') {
|
|
100
|
-
metadata.supportsToolCalling = model.supports_function_calling;
|
|
101
|
-
}
|
|
102
|
-
else if (typeof model.supports_tools === 'boolean') {
|
|
103
|
-
metadata.supportsToolCalling = model.supports_tools;
|
|
104
|
-
}
|
|
105
|
-
// Vision support
|
|
106
|
-
if (typeof model.vision === 'boolean') {
|
|
107
|
-
metadata.supportsImageInput = model.vision;
|
|
108
|
-
}
|
|
109
|
-
else if (typeof model.supports_vision === 'boolean') {
|
|
110
|
-
metadata.supportsImageInput = model.supports_vision;
|
|
111
|
-
}
|
|
112
|
-
else if (model.modalities?.includes('vision')) {
|
|
113
|
-
metadata.supportsImageInput = true;
|
|
114
|
-
}
|
|
115
|
-
else if (model.modalities?.includes('image')) {
|
|
116
|
-
metadata.supportsImageInput = true;
|
|
117
|
-
}
|
|
118
|
-
return metadata;
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Clear cache
|
|
122
|
-
*/
|
|
123
|
-
clearCache() {
|
|
124
|
-
this.modelsCache.clear();
|
|
125
|
-
this.lastFetchTime = 0;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
//# sourceMappingURL=modelDiscovery.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"modelDiscovery.js","sourceRoot":"","sources":["../src/modelDiscovery.ts"],"names":[],"mappings":"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"}
|
package/dist/modelMetadata.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared model metadata registry for the OpenCode provider.
|
|
3
|
-
* Delegates to @oai2lmapi/model-metadata to keep metadata in sync.
|
|
4
|
-
*/
|
|
5
|
-
export { DEFAULT_MODEL_METADATA, MODEL_METADATA_REGISTRY, getModelMetadata, getModelMetadataFromPatterns, isLLMModel, mergeMetadata, supportsToolCalling } from '@oai2lmapi/model-metadata';
|
|
6
|
-
//# sourceMappingURL=modelMetadata.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"modelMetadata.js","sourceRoot":"","sources":["../src/modelMetadata.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,EAChB,4BAA4B,EAC5B,UAAU,EACV,aAAa,EACb,mBAAmB,EAEpB,MAAM,2BAA2B,CAAC"}
|
package/dist/provider.js
DELETED
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Main provider implementation using @ai-sdk/openai-compatible as base
|
|
3
|
-
*
|
|
4
|
-
* This provider is designed to be callable like standard AI SDK providers:
|
|
5
|
-
* const model = provider('model-id'); // Direct call
|
|
6
|
-
* const model = provider.languageModel('model-id'); // Method call
|
|
7
|
-
*/
|
|
8
|
-
import { createOpenAICompatible } from '@ai-sdk/openai-compatible';
|
|
9
|
-
import { ModelDiscovery } from './modelDiscovery.js';
|
|
10
|
-
import { findBestMatch } from './utils.js';
|
|
11
|
-
import { createSettingsFromConfig } from './config.js';
|
|
12
|
-
/**
|
|
13
|
-
* Factory function to create a provider
|
|
14
|
-
*
|
|
15
|
-
* This creates a callable provider that follows the AI SDK pattern:
|
|
16
|
-
* - provider('model-id') returns a language model
|
|
17
|
-
* - provider.languageModel('model-id') returns a language model
|
|
18
|
-
* - provider.chatModel('model-id') returns a chat model
|
|
19
|
-
* - provider.completionModel('model-id') returns a completion model
|
|
20
|
-
* - provider.textEmbeddingModel('model-id') returns an embedding model
|
|
21
|
-
* - provider.imageModel('model-id') returns an image model
|
|
22
|
-
*
|
|
23
|
-
* Additionally, it provides:
|
|
24
|
-
* - provider.discoverModels() fetches available models from API
|
|
25
|
-
* - provider.getModelMetadata(modelId) gets metadata for a model
|
|
26
|
-
* - provider.clearModelCache() clears the model cache
|
|
27
|
-
* - provider.getModelOverride(modelId) gets override settings for a model
|
|
28
|
-
*/
|
|
29
|
-
export function createOAI2LMProvider(settings) {
|
|
30
|
-
const providerName = settings.name || 'oai2lm';
|
|
31
|
-
const modelOverrides = settings.modelOverrides || {};
|
|
32
|
-
const fetchFn = settings.fetch || fetch;
|
|
33
|
-
// Create base provider using openai-compatible
|
|
34
|
-
const baseProvider = createOpenAICompatible({
|
|
35
|
-
baseURL: settings.baseURL,
|
|
36
|
-
name: providerName,
|
|
37
|
-
apiKey: settings.apiKey,
|
|
38
|
-
headers: settings.headers,
|
|
39
|
-
fetch: fetchFn,
|
|
40
|
-
});
|
|
41
|
-
// Initialize model discovery
|
|
42
|
-
const modelDiscovery = new ModelDiscovery(settings.baseURL, settings.apiKey, settings.headers || {}, fetchFn);
|
|
43
|
-
/**
|
|
44
|
-
* Discover available models from API
|
|
45
|
-
*/
|
|
46
|
-
async function discoverModels() {
|
|
47
|
-
return modelDiscovery.fetchModels();
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Get metadata for a specific model
|
|
51
|
-
*/
|
|
52
|
-
async function getModelMetadata(modelId) {
|
|
53
|
-
return modelDiscovery.getModelMetadata(modelId);
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Clear model cache
|
|
57
|
-
*/
|
|
58
|
-
function clearModelCache() {
|
|
59
|
-
modelDiscovery.clearCache();
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Get the best matching override for a model
|
|
63
|
-
*/
|
|
64
|
-
function getModelOverride(modelId) {
|
|
65
|
-
const patterns = Object.keys(modelOverrides);
|
|
66
|
-
const bestMatch = findBestMatch(modelId, patterns);
|
|
67
|
-
return bestMatch ? modelOverrides[bestMatch] : undefined;
|
|
68
|
-
}
|
|
69
|
-
// Auto-discover models if enabled (trigger auto-discovery)
|
|
70
|
-
if (settings.autoDiscoverModels !== false) {
|
|
71
|
-
discoverModels().catch((err) => {
|
|
72
|
-
console.warn('Failed to auto-discover models:', err);
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
// Create the callable provider function
|
|
76
|
-
// This follows the same pattern as createOpenAICompatible
|
|
77
|
-
const provider = function (modelId) {
|
|
78
|
-
return baseProvider.languageModel(modelId);
|
|
79
|
-
};
|
|
80
|
-
// Attach all methods from the base provider
|
|
81
|
-
provider.languageModel = baseProvider.languageModel.bind(baseProvider);
|
|
82
|
-
provider.chatModel = baseProvider.chatModel.bind(baseProvider);
|
|
83
|
-
provider.completionModel = baseProvider.completionModel.bind(baseProvider);
|
|
84
|
-
provider.textEmbeddingModel = baseProvider.textEmbeddingModel.bind(baseProvider);
|
|
85
|
-
provider.imageModel = baseProvider.imageModel.bind(baseProvider);
|
|
86
|
-
// Attach custom methods
|
|
87
|
-
provider.discoverModels = discoverModels;
|
|
88
|
-
provider.getModelMetadata = getModelMetadata;
|
|
89
|
-
provider.clearModelCache = clearModelCache;
|
|
90
|
-
provider.getModelOverride = getModelOverride;
|
|
91
|
-
// Attach read-only property
|
|
92
|
-
Object.defineProperty(provider, 'providerName', {
|
|
93
|
-
value: providerName,
|
|
94
|
-
writable: false,
|
|
95
|
-
enumerable: true,
|
|
96
|
-
});
|
|
97
|
-
return provider;
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Factory function to create a provider from config file
|
|
101
|
-
*
|
|
102
|
-
* This is a convenience function that:
|
|
103
|
-
* 1. Loads config from ~/.local/share/opencode/oai2lm.json
|
|
104
|
-
* 2. Falls back to ~/.config/opencode/oai2lm.json
|
|
105
|
-
* 3. Applies explicit overrides on top
|
|
106
|
-
*
|
|
107
|
-
* @param overrides - Optional settings to override config file values
|
|
108
|
-
* @throws Error if API key is not found
|
|
109
|
-
*/
|
|
110
|
-
export function createOAI2LMProviderFromConfig(overrides) {
|
|
111
|
-
const settings = createSettingsFromConfig(overrides);
|
|
112
|
-
return createOAI2LMProvider(settings);
|
|
113
|
-
}
|
|
114
|
-
//# sourceMappingURL=provider.js.map
|
package/dist/provider.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
DELETED
package/dist/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|