@oai2lmapi/opencode-provider 0.3.0 → 0.3.1-prerelease.20260122064843.c07b473

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 CHANGED
@@ -85,10 +85,40 @@ function resolveApiKey(config) {
85
85
  }
86
86
  return process.env["OAI2LM_API_KEY"];
87
87
  }
88
+ function findModelOverride(modelId, overrides) {
89
+ if (!overrides) {
90
+ return void 0;
91
+ }
92
+ if (overrides[modelId]) {
93
+ return overrides[modelId];
94
+ }
95
+ for (const [pattern, override] of Object.entries(overrides)) {
96
+ if (pattern.includes("*") || pattern.includes("?")) {
97
+ const regex = new RegExp(
98
+ "^" + pattern.replace(/\*/g, ".*").replace(/\?/g, ".") + "$"
99
+ );
100
+ if (regex.test(modelId)) {
101
+ return override;
102
+ }
103
+ }
104
+ }
105
+ return void 0;
106
+ }
88
107
 
89
108
  // src/discover.ts
90
109
  async function discoverModels(baseURL, apiKey, headers) {
91
- const url = `${baseURL}/models`;
110
+ if (!baseURL || typeof baseURL !== "string") {
111
+ throw new Error(
112
+ "baseURL is required for model discovery. Please provide a valid API base URL."
113
+ );
114
+ }
115
+ const trimmedURL = baseURL.trim().replace(/\/+$/, "");
116
+ if (!trimmedURL.startsWith("http://") && !trimmedURL.startsWith("https://")) {
117
+ throw new Error(
118
+ `Invalid baseURL: "${baseURL}". URL must start with http:// or https://`
119
+ );
120
+ }
121
+ const url = `${trimmedURL}/models`;
92
122
  const response = await fetch(url, {
93
123
  method: "GET",
94
124
  headers: {
@@ -930,104 +960,180 @@ ${result}
930
960
  }
931
961
 
932
962
  // src/plugin.ts
933
- function generateModelsConfig(models, providerName = "custom-provider") {
963
+ function generateModelsConfig(models, providerName = "custom-provider", config, modelOverrides) {
934
964
  const modelsConfig = {};
935
965
  for (const model of models) {
936
- const metadata = getModelMetadataFromPatterns2(model.id);
937
- const merged = mergeMetadata(model.metadata, metadata);
938
- modelsConfig[model.id] = {
966
+ const patternMetadata = getModelMetadataFromPatterns2(model.id);
967
+ const metadata = mergeMetadata(model.metadata, patternMetadata);
968
+ const override = findModelOverride(model.id, modelOverrides);
969
+ if (override) {
970
+ if (override.maxInputTokens !== void 0) {
971
+ metadata.maxInputTokens = override.maxInputTokens;
972
+ }
973
+ if (override.maxOutputTokens !== void 0) {
974
+ metadata.maxOutputTokens = override.maxOutputTokens;
975
+ }
976
+ if (override.supportsToolCalling !== void 0) {
977
+ metadata.supportsToolCalling = override.supportsToolCalling;
978
+ }
979
+ if (override.supportsImageInput !== void 0) {
980
+ metadata.supportsImageInput = override.supportsImageInput;
981
+ }
982
+ }
983
+ const modelConfig = {
939
984
  name: model.name || model.id,
940
- tool_call: merged.supportsToolCalling ?? true,
941
- attachment: merged.supportsImageInput ?? false,
985
+ tool_call: metadata.supportsToolCalling ?? true,
986
+ attachment: metadata.supportsImageInput ?? false,
942
987
  limit: {
943
- context: merged.maxInputTokens || 128e3,
944
- output: merged.maxOutputTokens || 16384
988
+ context: metadata.maxInputTokens || 128e3,
989
+ output: metadata.maxOutputTokens || 16384
945
990
  }
946
991
  };
992
+ if (override) {
993
+ const options = {};
994
+ if (override.usePromptBasedToolCalling !== void 0) {
995
+ options.usePromptBasedToolCalling = override.usePromptBasedToolCalling;
996
+ }
997
+ if (override.trimXmlToolParameterWhitespace !== void 0) {
998
+ options.trimXmlToolParameterWhitespace = override.trimXmlToolParameterWhitespace;
999
+ }
1000
+ if (override.thinkingLevel !== void 0) {
1001
+ options.thinkingLevel = override.thinkingLevel;
1002
+ }
1003
+ if (override.temperature !== void 0) {
1004
+ options.temperature = override.temperature;
1005
+ }
1006
+ if (Object.keys(options).length > 0) {
1007
+ modelConfig.options = options;
1008
+ }
1009
+ }
1010
+ modelsConfig[model.id] = modelConfig;
947
1011
  }
948
- const config = {
1012
+ const providerOptions = {};
1013
+ if (config?.baseURL) {
1014
+ providerOptions.baseURL = config.baseURL;
1015
+ } else {
1016
+ providerOptions.baseURL = "YOUR_API_BASE_URL";
1017
+ }
1018
+ if (config?.apiKey) {
1019
+ if (config.apiKey.startsWith("{env:")) {
1020
+ providerOptions.apiKey = config.apiKey;
1021
+ } else {
1022
+ providerOptions.apiKey = "{env:YOUR_API_KEY_ENV}";
1023
+ }
1024
+ } else {
1025
+ providerOptions.apiKey = "{env:YOUR_API_KEY_ENV}";
1026
+ }
1027
+ if (config?.headers && Object.keys(config.headers).length > 0) {
1028
+ providerOptions.headers = config.headers;
1029
+ }
1030
+ const outputConfig = {
949
1031
  provider: {
950
1032
  [providerName]: {
951
- name: providerName,
1033
+ name: config?.displayName || providerName,
952
1034
  npm: "@oai2lmapi/opencode-provider",
953
- options: {
954
- baseURL: "YOUR_API_BASE_URL",
955
- apiKey: "{env:YOUR_API_KEY_ENV}"
956
- },
1035
+ options: providerOptions,
957
1036
  models: modelsConfig
958
1037
  }
959
1038
  }
960
1039
  };
961
- return JSON.stringify(config, null, 2);
1040
+ return JSON.stringify(outputConfig, null, 2);
962
1041
  }
963
- function formatModelsForDisplay(models, providerName) {
1042
+ function formatModelsForDisplay(models, providerName, config) {
964
1043
  const lines = [
965
1044
  `# Discovered ${models.length} models`,
966
- "",
967
- "## Quick Setup",
968
- "",
969
- "Add the following to your opencode.json:",
970
- "",
971
- "```json",
972
- generateModelsConfig(models, providerName),
973
- "```",
974
- "",
975
- "## Model Details",
976
1045
  ""
977
1046
  ];
1047
+ if (config?.baseURL) {
1048
+ lines.push(`**API Endpoint**: ${config.baseURL}`);
1049
+ lines.push("");
1050
+ }
1051
+ lines.push("## Quick Setup");
1052
+ lines.push("");
1053
+ lines.push("Add the following to your opencode.json:");
1054
+ lines.push("");
1055
+ lines.push("```json");
1056
+ lines.push(
1057
+ generateModelsConfig(models, providerName, config, config?.modelOverrides)
1058
+ );
1059
+ lines.push("```");
1060
+ lines.push("");
1061
+ lines.push("## Model Details");
1062
+ lines.push("");
978
1063
  for (const model of models) {
979
- const metadata = getModelMetadataFromPatterns2(model.id);
980
- const merged = mergeMetadata(model.metadata, metadata);
1064
+ const patternMetadata = getModelMetadataFromPatterns2(model.id);
1065
+ const metadata = mergeMetadata(model.metadata, patternMetadata);
1066
+ const override = findModelOverride(model.id, config?.modelOverrides);
1067
+ if (override) {
1068
+ if (override.maxInputTokens !== void 0) {
1069
+ metadata.maxInputTokens = override.maxInputTokens;
1070
+ }
1071
+ if (override.maxOutputTokens !== void 0) {
1072
+ metadata.maxOutputTokens = override.maxOutputTokens;
1073
+ }
1074
+ if (override.supportsToolCalling !== void 0) {
1075
+ metadata.supportsToolCalling = override.supportsToolCalling;
1076
+ }
1077
+ if (override.supportsImageInput !== void 0) {
1078
+ metadata.supportsImageInput = override.supportsImageInput;
1079
+ }
1080
+ }
981
1081
  lines.push(`### ${model.id}`);
982
1082
  if (model.name && model.name !== model.id) {
983
1083
  lines.push(`- Name: ${model.name}`);
984
1084
  }
985
- lines.push(`- Context: ${merged.maxInputTokens || "unknown"} tokens`);
986
- lines.push(`- Output: ${merged.maxOutputTokens || "unknown"} tokens`);
987
- lines.push(`- Tool Calling: ${merged.supportsToolCalling ? "Yes" : "No"}`);
988
- lines.push(`- Vision: ${merged.supportsImageInput ? "Yes" : "No"}`);
1085
+ lines.push(`- Context: ${metadata.maxInputTokens || "unknown"} tokens`);
1086
+ lines.push(`- Output: ${metadata.maxOutputTokens || "unknown"} tokens`);
1087
+ lines.push(`- Tool Calling: ${metadata.supportsToolCalling ? "Yes" : "No"}`);
1088
+ lines.push(`- Vision: ${metadata.supportsImageInput ? "Yes" : "No"}`);
1089
+ if (override?.usePromptBasedToolCalling) {
1090
+ lines.push(`- Uses Prompt-Based Tool Calling: Yes`);
1091
+ }
989
1092
  lines.push("");
990
1093
  }
991
1094
  return lines.join("\n");
992
1095
  }
993
1096
  async function oai2lmPlugin(_input) {
1097
+ const savedConfig = loadConfig();
994
1098
  return {
995
1099
  tool: {
996
1100
  oai2lm_discover: {
997
1101
  description: `Discover available models from an OpenAI-compatible API and generate opencode.json configuration.
998
1102
 
999
1103
  This tool will:
1000
- 1. Connect to the specified API endpoint
1104
+ 1. Connect to the specified API endpoint (or use oai2lm.json config)
1001
1105
  2. Fetch all available models
1002
1106
  3. Enrich them with metadata (token limits, capabilities)
1003
- 4. Generate ready-to-use opencode.json configuration
1107
+ 4. Apply any model overrides from oai2lm.json
1108
+ 5. Generate ready-to-use opencode.json configuration
1004
1109
 
1005
- Use this when you want to add a new OpenAI-compatible provider to OpenCode.`,
1110
+ Configuration from oai2lm.json (~/.local/share/opencode/oai2lm.json) is automatically loaded.
1111
+ You only need to provide arguments if you want to override the config file settings.`,
1006
1112
  parameters: {
1007
1113
  type: "object",
1008
1114
  properties: {
1009
1115
  baseURL: {
1010
1116
  type: "string",
1011
- description: "Base URL of the OpenAI-compatible API (e.g., https://api.example.com/v1). If not provided, will try to load from oai2lm.json config."
1117
+ description: "Base URL of the OpenAI-compatible API (e.g., https://api.example.com/v1). If not provided, uses oai2lm.json config."
1012
1118
  },
1013
1119
  apiKey: {
1014
1120
  type: "string",
1015
- description: "API key for authentication. If not provided, will try to load from config or environment."
1121
+ description: "API key for authentication. If not provided, uses oai2lm.json config or environment."
1016
1122
  },
1017
1123
  providerName: {
1018
1124
  type: "string",
1019
- description: "Name for the provider in opencode.json (e.g., 'my-api'). Defaults to 'custom-provider'."
1125
+ description: "Name for the provider in opencode.json (e.g., 'my-api'). Defaults to config name or 'custom-provider'."
1020
1126
  },
1021
1127
  filter: {
1022
1128
  type: "string",
1023
- description: "Optional regex pattern to filter models (e.g., 'gpt|claude')"
1129
+ description: "Optional regex pattern to filter models (e.g., 'gpt|claude')."
1024
1130
  }
1025
1131
  },
1026
1132
  required: []
1027
1133
  },
1028
1134
  execute: async (args) => {
1029
1135
  try {
1030
- const config = loadConfig();
1136
+ const config = loadConfig() || savedConfig;
1031
1137
  const baseURL = args.baseURL || config?.baseURL || "";
1032
1138
  const apiKey = args.apiKey || (config ? resolveApiKey(config) : "") || "";
1033
1139
  const providerName = args.providerName || config?.name || "custom-provider";
@@ -1035,12 +1141,18 @@ Use this when you want to add a new OpenAI-compatible provider to OpenCode.`,
1035
1141
  if (!baseURL) {
1036
1142
  return `Error: No baseURL provided. Either:
1037
1143
  1. Pass it as an argument: oai2lm_discover(baseURL: "https://api.example.com/v1")
1038
- 2. Or create an oai2lm.json config file with baseURL
1144
+ 2. Or create an oai2lm.json config file at ~/.local/share/opencode/oai2lm.json
1039
1145
 
1040
1146
  Example oai2lm.json:
1041
1147
  {
1042
1148
  "baseURL": "https://api.example.com/v1",
1043
- "apiKey": "your-api-key"
1149
+ "apiKey": "{env:MY_API_KEY}",
1150
+ "name": "my-api",
1151
+ "modelOverrides": {
1152
+ "gpt-4*": {
1153
+ "supportsImageInput": true
1154
+ }
1155
+ }
1044
1156
  }`;
1045
1157
  }
1046
1158
  let models = await discoverModels(baseURL, apiKey, config?.headers);
@@ -1051,7 +1163,7 @@ Example oai2lm.json:
1051
1163
  if (models.length === 0) {
1052
1164
  return `No models found at ${baseURL}/models. Check your API key and endpoint.`;
1053
1165
  }
1054
- return formatModelsForDisplay(models, providerName);
1166
+ return formatModelsForDisplay(models, providerName, config);
1055
1167
  } catch (error) {
1056
1168
  const message = error instanceof Error ? error.message : String(error);
1057
1169
  return `Error discovering models: ${message}`;
@@ -1064,46 +1176,44 @@ Example oai2lm.json:
1064
1176
 
1065
1177
  // src/index.ts
1066
1178
  var modelCache = /* @__PURE__ */ new WeakMap();
1067
- function findModelOverride(modelId, overrides) {
1068
- if (!overrides) {
1069
- return void 0;
1070
- }
1071
- if (overrides[modelId]) {
1072
- return overrides[modelId];
1073
- }
1074
- for (const [pattern, override] of Object.entries(overrides)) {
1075
- if (pattern.includes("*") || pattern.includes("?")) {
1076
- const regex = new RegExp(
1077
- "^" + pattern.replace(/\*/g, ".*").replace(/\?/g, ".") + "$"
1078
- );
1079
- {
1080
- }
1081
- if (regex.test(modelId)) {
1082
- return override;
1179
+ function mergeWithConfig(options, config) {
1180
+ const baseModelOverrides = config?.modelOverrides ?? {};
1181
+ const optionModelOverrides = options.modelOverrides ?? {};
1182
+ const modelLevelOverrides = {};
1183
+ if (options.models) {
1184
+ for (const [modelId, modelConfig] of Object.entries(options.models)) {
1185
+ if (modelConfig.options) {
1186
+ modelLevelOverrides[modelId] = modelConfig.options;
1083
1187
  }
1084
1188
  }
1085
1189
  }
1086
- return void 0;
1087
- }
1088
- function mergeWithConfig(options, config) {
1089
- if (!config) {
1090
- return options;
1190
+ const mergedModelOverrides = {
1191
+ ...baseModelOverrides,
1192
+ ...optionModelOverrides
1193
+ };
1194
+ for (const [modelId, override] of Object.entries(modelLevelOverrides)) {
1195
+ mergedModelOverrides[modelId] = {
1196
+ ...mergedModelOverrides[modelId],
1197
+ ...override
1198
+ };
1199
+ }
1200
+ let apiKey = options.apiKey;
1201
+ if (!apiKey && config) {
1202
+ apiKey = resolveApiKey(config);
1091
1203
  }
1092
1204
  return {
1093
1205
  // Options take precedence over config
1094
- baseURL: options.baseURL || config.baseURL || "",
1095
- apiKey: options.apiKey || resolveApiKey(config),
1096
- name: options.name || config.name,
1206
+ baseURL: options.baseURL || config?.baseURL || "",
1207
+ apiKey,
1208
+ name: options.name || config?.name,
1097
1209
  headers: {
1098
- ...config.headers,
1210
+ ...config?.headers,
1099
1211
  ...options.headers
1100
1212
  },
1101
- modelFilter: options.modelFilter || config.modelFilter,
1102
- modelOverrides: {
1103
- ...config.modelOverrides,
1104
- ...options.modelOverrides
1105
- },
1106
- useConfigFile: options.useConfigFile
1213
+ modelFilter: options.modelFilter || config?.modelFilter,
1214
+ modelOverrides: mergedModelOverrides,
1215
+ useConfigFile: options.useConfigFile,
1216
+ models: options.models
1107
1217
  };
1108
1218
  }
1109
1219
  function createOai2lm(options) {
@@ -1114,8 +1224,9 @@ function createOai2lm(options) {
1114
1224
  "baseURL is required. Provide it in options or in oai2lm.json config file."
1115
1225
  );
1116
1226
  }
1227
+ const baseURL = mergedOptions.baseURL;
1117
1228
  const baseProvider = createOpenAICompatible({
1118
- baseURL: mergedOptions.baseURL.replace(/\/+$/, ""),
1229
+ baseURL: baseURL.replace(/\/+$/, ""),
1119
1230
  name: mergedOptions.name || "oai2lm",
1120
1231
  apiKey: mergedOptions.apiKey,
1121
1232
  headers: mergedOptions.headers
@@ -1124,7 +1235,7 @@ function createOai2lm(options) {
1124
1235
  async function discoverAndCache() {
1125
1236
  const apiKey = mergedOptions.apiKey || "";
1126
1237
  const models = await discoverModels(
1127
- mergedOptions.baseURL,
1238
+ baseURL,
1128
1239
  apiKey,
1129
1240
  mergedOptions.headers
1130
1241
  );
package/dist/index.js.map CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts", "../src/config.ts", "../src/discover.ts", "../../model-metadata/dist/esm/index.mjs", "../src/metadata.ts", "../src/xmlTools.ts", "../src/plugin.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["getModelMetadataFromPatterns", "getModelMetadataFromPatterns", "getModelMetadataFromPatterns"]
6
6
  }
package/dist/plugin.d.ts CHANGED
@@ -9,7 +9,10 @@
9
9
  * {
10
10
  * "plugin": ["@oai2lmapi/opencode-provider"]
11
11
  * }
12
+ *
13
+ * The plugin will automatically read configuration from oai2lm.json.
12
14
  */
15
+ import { type OAI2LMConfig, type ModelOverride } from "./config.js";
13
16
  import { type DiscoveredModel } from "./discover.js";
14
17
  interface PluginInput {
15
18
  client: unknown;
@@ -29,13 +32,23 @@ interface Hooks {
29
32
  }
30
33
  /**
31
34
  * Generate OpenCode-compatible model configuration from discovered models
35
+ *
36
+ * @param models - Discovered models from API
37
+ * @param providerName - Name for the provider in opencode.json
38
+ * @param config - Optional config to use for baseURL and apiKey
39
+ * @param modelOverrides - Optional model overrides from config
32
40
  */
33
- export declare function generateModelsConfig(models: DiscoveredModel[], providerName?: string): string;
41
+ export declare function generateModelsConfig(models: DiscoveredModel[], providerName?: string, config?: OAI2LMConfig, modelOverrides?: Record<string, ModelOverride>): string;
34
42
  /**
35
43
  * OpenCode Plugin entry point
36
44
  *
37
45
  * This plugin adds a tool to discover models from an OpenAI-compatible API
38
- * and generate the configuration needed for opencode.json
46
+ * and generate the configuration needed for opencode.json.
47
+ *
48
+ * The plugin automatically reads configuration from oai2lm.json, so you can:
49
+ * 1. Configure your API in oai2lm.json (baseURL, apiKey, modelOverrides)
50
+ * 2. Use the oai2lm_discover tool without any arguments
51
+ * 3. Get a complete opencode.json provider configuration
39
52
  */
40
53
  export declare function oai2lmPlugin(_input: PluginInput): Promise<Hooks>;
41
54
  export default oai2lmPlugin;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAQrE,UAAU,WAAW;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,GAAG,CAAC;IACf,CAAC,EAAE,OAAO,CAAC;CACZ;AAED,UAAU,cAAc;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7D;AAED,UAAU,KAAK;IACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACvC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,eAAe,EAAE,EACzB,YAAY,GAAE,MAA0B,GACvC,MAAM,CAiCR;AA0CD;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CA2FtE;AAGD,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAOrE,UAAU,WAAW;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,GAAG,CAAC;IACf,CAAC,EAAE,OAAO,CAAC;CACZ;AAED,UAAU,cAAc;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7D;AAED,UAAU,KAAK;IACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACvC;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,eAAe,EAAE,EACzB,YAAY,GAAE,MAA0B,EACxC,MAAM,CAAC,EAAE,YAAY,EACrB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAC7C,MAAM,CA4FR;AAwED;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CAsGtE;AAGD,eAAe,YAAY,CAAC"}