openai-ws-opencode 0.1.3 → 0.1.5

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/README.md CHANGED
@@ -101,7 +101,7 @@ Then point OpenCode at the packed tarball through the plugin array:
101
101
 
102
102
  ```jsonc
103
103
  {
104
- "plugin": ["openai-ws-opencode@file:/absolute/path/openai-ws-opencode-0.1.3.tgz"]
104
+ "plugin": ["openai-ws-opencode@file:/absolute/path/openai-ws-opencode-0.1.5.tgz"]
105
105
  }
106
106
  ```
107
107
 
package/bin/setup.js CHANGED
@@ -166,20 +166,28 @@ function applyJsonPatch(text, jsonPath, value) {
166
166
  }));
167
167
  }
168
168
  function pluginPackageName(specifier) {
169
- if (specifier.startsWith("file://"))
170
- return path.basename(new URL(specifier).pathname).replace(/\.[cm]?[jt]s$/, "");
169
+ if (specifier.startsWith("file:")) {
170
+ const filePath = specifier.startsWith("file://") ? new URL(specifier).pathname : specifier.slice("file:".length);
171
+ const base = path.basename(filePath);
172
+ if (base === PACKAGE_NAME || base.startsWith(`${PACKAGE_NAME}-`) || base.startsWith(`${PACKAGE_NAME}@`))
173
+ return PACKAGE_NAME;
174
+ return base.replace(/(?:\.tgz|\.[cm]?[jt]s)$/, "");
175
+ }
171
176
  const lastAt = specifier.lastIndexOf("@");
172
177
  return lastAt > 0 ? specifier.slice(0, lastAt) : specifier;
173
178
  }
174
- function patchConfigText(input, pluginSpec = DEFAULT_PLUGIN_SPEC) {
179
+ function patchConfigText(input, pluginSpec = DEFAULT_PLUGIN_SPEC, replacePluginSpec = false) {
175
180
  let text = input.trim() ? input : "{}";
176
181
  const config = parse(text) ?? {};
177
182
  if (!config.$schema)
178
183
  text = applyJsonPatch(text, ["$schema"], SCHEMA);
179
184
  const current = (parse(text) ?? {}).plugin;
180
185
  const plugins = Array.isArray(current) ? [...current] : [];
181
- if (!plugins.some((plugin) => typeof plugin === "string" && pluginPackageName(plugin) === PACKAGE_NAME)) {
186
+ const existingPluginIndex = plugins.findIndex((plugin) => typeof plugin === "string" && pluginPackageName(plugin) === PACKAGE_NAME);
187
+ if (existingPluginIndex === -1) {
182
188
  plugins.push(pluginSpec);
189
+ } else if (replacePluginSpec) {
190
+ plugins[existingPluginIndex] = pluginSpec;
183
191
  }
184
192
  text = applyJsonPatch(text, ["plugin"], plugins);
185
193
  const next = parse(text) ?? {};
@@ -192,6 +200,123 @@ function patchConfigText(input, pluginSpec = DEFAULT_PLUGIN_SPEC) {
192
200
  `
193
201
  }));
194
202
  }
203
+ function isNotFound(error) {
204
+ return typeof error === "object" && error !== null && "code" in error && error.code === "ENOENT";
205
+ }
206
+ function cacheHomePath(cacheHome = process.env.XDG_CACHE_HOME ?? path.join(os.homedir(), ".cache")) {
207
+ return cacheHome;
208
+ }
209
+ function openCodeLatestCachePath(cacheHome) {
210
+ return path.join(cacheHomePath(cacheHome), "opencode", "packages", `${PACKAGE_NAME}@latest`);
211
+ }
212
+ async function pathExists(file) {
213
+ try {
214
+ await fs.access(file);
215
+ return true;
216
+ } catch (error) {
217
+ if (isNotFound(error))
218
+ return false;
219
+ throw error;
220
+ }
221
+ }
222
+ async function readPackageVersion(packageJsonPath) {
223
+ try {
224
+ const text = await fs.readFile(packageJsonPath, "utf8");
225
+ const parsed = JSON.parse(text);
226
+ return typeof parsed.version === "string" ? parsed.version : undefined;
227
+ } catch (error) {
228
+ if (isNotFound(error))
229
+ return;
230
+ throw error;
231
+ }
232
+ }
233
+ async function setupPackageVersion() {
234
+ const packageJsonPath = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..", "package.json");
235
+ const version = await readPackageVersion(packageJsonPath);
236
+ if (!version)
237
+ throw new Error(`Unable to read setup package version from ${packageJsonPath}`);
238
+ return version;
239
+ }
240
+ function semverParts(version) {
241
+ const match = /^(\d+)\.(\d+)\.(\d+)/.exec(version);
242
+ if (!match)
243
+ return;
244
+ return [Number(match[1]), Number(match[2]), Number(match[3])];
245
+ }
246
+ function compareSemver(left, right) {
247
+ const leftParts = semverParts(left);
248
+ const rightParts = semverParts(right);
249
+ if (!leftParts || !rightParts)
250
+ return 0;
251
+ for (let index = 0;index < leftParts.length; index++) {
252
+ if (leftParts[index] !== rightParts[index])
253
+ return leftParts[index] < rightParts[index] ? -1 : 1;
254
+ }
255
+ return 0;
256
+ }
257
+ var SOURCE_EXTENSIONS = new Set([".cjs", ".js", ".mjs", ".ts"]);
258
+ var BAD_OAUTH_PORT = /\bOAUTH_PORT\b\s*[:=]\s*1456\b/;
259
+ var BAD_CODEX_ORIGINATOR = /\bCODEX_ORIGINATOR\b\s*[:=]\s*["']codex_cli_rs["']/;
260
+ async function hasKnownBadConstants(packageRoot) {
261
+ const directories = [packageRoot];
262
+ let checkedFiles = 0;
263
+ while (directories.length > 0 && checkedFiles < 500) {
264
+ const current = directories.pop();
265
+ let entries;
266
+ try {
267
+ entries = await fs.readdir(current, { withFileTypes: true });
268
+ } catch (error) {
269
+ if (isNotFound(error))
270
+ continue;
271
+ throw error;
272
+ }
273
+ for (const entry of entries) {
274
+ const entryPath = path.join(current, entry.name);
275
+ if (entry.isDirectory()) {
276
+ if (entry.name !== "node_modules" && entry.name !== ".git")
277
+ directories.push(entryPath);
278
+ continue;
279
+ }
280
+ if (!entry.isFile() || !SOURCE_EXTENSIONS.has(path.extname(entry.name)))
281
+ continue;
282
+ checkedFiles += 1;
283
+ const source = await fs.readFile(entryPath, "utf8");
284
+ if (BAD_OAUTH_PORT.test(source) || BAD_CODEX_ORIGINATOR.test(source))
285
+ return true;
286
+ if (checkedFiles >= 500)
287
+ break;
288
+ }
289
+ }
290
+ return false;
291
+ }
292
+ function timestampForPath(date) {
293
+ return date.toISOString().replace(/[:.]/g, "-");
294
+ }
295
+ async function staleDestination(cachePath, now) {
296
+ const base = `${cachePath}.stale-${timestampForPath(now)}`;
297
+ let candidate = base;
298
+ let suffix = 1;
299
+ while (await pathExists(candidate)) {
300
+ candidate = `${base}-${suffix}`;
301
+ suffix += 1;
302
+ }
303
+ return candidate;
304
+ }
305
+ async function repairStaleOpenCodeLatestCache(options = {}) {
306
+ const cachePath = openCodeLatestCachePath(options.cacheHome);
307
+ if (!await pathExists(cachePath))
308
+ return { cachePath, repaired: false };
309
+ const packageRoot = path.join(cachePath, "node_modules", PACKAGE_NAME);
310
+ const cachedVersion = await readPackageVersion(path.join(packageRoot, "package.json"));
311
+ const currentVersion = options.packageVersion ?? await setupPackageVersion();
312
+ const staleVersion = cachedVersion ? compareSemver(cachedVersion, currentVersion) < 0 : false;
313
+ const staleConstants = await hasKnownBadConstants(packageRoot);
314
+ if (!staleVersion && !staleConstants)
315
+ return { cachePath, repaired: false };
316
+ const movedTo = await staleDestination(cachePath, options.now?.() ?? new Date);
317
+ await fs.rename(cachePath, movedTo);
318
+ return { cachePath, movedTo, repaired: true };
319
+ }
195
320
  async function setupOpenCodeConfig(options = {}) {
196
321
  const file = targetPath(options);
197
322
  let existing = "";
@@ -201,11 +326,19 @@ async function setupOpenCodeConfig(options = {}) {
201
326
  if (error?.code !== "ENOENT")
202
327
  throw error;
203
328
  }
204
- const updated = patchConfigText(existing, options.pluginSpec ?? DEFAULT_PLUGIN_SPEC);
329
+ const updated = patchConfigText(existing, options.pluginSpec ?? DEFAULT_PLUGIN_SPEC, Boolean(options.pluginSpec));
205
330
  await fs.mkdir(path.dirname(file), { recursive: true });
206
331
  await fs.writeFile(file, updated.endsWith(`
207
332
  `) ? updated : `${updated}
208
333
  `, "utf8");
334
+ if (options.cacheRepair !== false) {
335
+ try {
336
+ await repairStaleOpenCodeLatestCache();
337
+ } catch (error) {
338
+ const message = error instanceof Error ? error.message : String(error);
339
+ console.warn(`Warning: could not repair OpenCode cache at ${openCodeLatestCachePath()}. Remove it manually if OpenCode keeps loading stale plugin code. ${message}`);
340
+ }
341
+ }
209
342
  return file;
210
343
  }
211
344
  function parseArgs(argv) {
@@ -220,8 +353,10 @@ function parseArgs(argv) {
220
353
  options.configPath = argv[++index];
221
354
  else if (arg === "--plugin")
222
355
  options.pluginSpec = argv[++index];
356
+ else if (arg === "--no-cache-repair")
357
+ options.cacheRepair = false;
223
358
  else if (arg === "--help" || arg === "-h") {
224
- console.log("Usage: openai-ws-opencode setup [--global|--project] [--path <opencode.json>] [--plugin <specifier>]");
359
+ console.log("Usage: openai-ws-opencode setup [--global|--project] [--path <opencode.json>] [--plugin <specifier>] [--no-cache-repair]");
225
360
  process.exit(0);
226
361
  }
227
362
  }
@@ -247,6 +382,8 @@ if (isDirectExecution()) {
247
382
  }
248
383
  export {
249
384
  setupOpenCodeConfig,
385
+ repairStaleOpenCodeLatestCache,
250
386
  patchConfigText,
387
+ parseArgs,
251
388
  isDirectExecution
252
389
  };
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../src/auth/oauth.ts"],"names":[],"mappings":"AAAA,OAAa,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAA;AAmE3E,iBAAe,cAAc,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,iBAwCtE;AAiDD,wBAAgB,eAAe,SAS9B;AAED,wBAAsB,0BAA0B;;;;;;;;;;;;;;;;;GAmC/C;AAED,wBAAsB,yBAAyB;;;;;;;;;;;;;;;;;GA+C9C;AAED,eAAO,MAAM,YAAY;;;;;;;;IAexB,CAAA;AAED,eAAO,MAAM,YAAY;;;;CAIxB,CAAA"}
1
+ {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../src/auth/oauth.ts"],"names":[],"mappings":"AAAA,OAAa,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAA;AAmE3E,iBAAe,cAAc,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,iBAwCtE;AA2CD,wBAAgB,eAAe,SAS9B;AAED,wBAAsB,0BAA0B;;;;;;;;;;;;;;;;;GAmC/C;AAED,wBAAsB,yBAAyB;;;;;;;;;;;;;;;;;GA+C9C;AAED,eAAO,MAAM,YAAY;;;;;;;;IAexB,CAAA;AAED,eAAO,MAAM,YAAY;;;;CAIxB,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import http from "node:http";
2
2
  import crypto from "node:crypto";
3
- import { CLIENT_ID, CODEX_OAUTH_SCOPE, CODEX_ORIGINATOR, ISSUER, OAUTH_FALLBACK_PORT, OAUTH_PORT } from "../constants.js";
3
+ import { CLIENT_ID, CODEX_OAUTH_SCOPE, CODEX_ORIGINATOR, ISSUER, OAUTH_PORT } from "../constants.js";
4
4
  import { exchangeCodeForTokens, extractAccountId, tokenExpiry } from "./tokens.js";
5
5
  let oauthServer;
6
6
  let oauthRedirectUri;
@@ -86,24 +86,18 @@ async function startOAuthServer() {
86
86
  void handleCallback(req, res);
87
87
  });
88
88
  oauthServer = server;
89
- let port;
90
89
  try {
91
- port = await listen(server, OAUTH_PORT);
90
+ await listen(server, OAUTH_PORT);
92
91
  }
93
92
  catch (error) {
94
- if (!isAddressInUse(error)) {
95
- oauthServer = undefined;
96
- throw error;
97
- }
98
- try {
99
- port = await listen(server, OAUTH_FALLBACK_PORT);
100
- }
101
- catch (fallbackError) {
102
- oauthServer = undefined;
103
- throw fallbackError;
104
- }
93
+ oauthServer = undefined;
94
+ oauthRedirectUri = undefined;
95
+ server.close();
96
+ if (isAddressInUse(error))
97
+ throw new Error(`OpenAI WebSocket OAuth requires localhost:${OAUTH_PORT}; stop the process using that port and retry.`);
98
+ throw error;
105
99
  }
106
- oauthRedirectUri = `http://localhost:${port}/auth/callback`;
100
+ oauthRedirectUri = `http://localhost:${OAUTH_PORT}/auth/callback`;
107
101
  return oauthRedirectUri;
108
102
  }
109
103
  function listen(server, port) {
@@ -114,7 +108,7 @@ function listen(server, port) {
114
108
  };
115
109
  const onListening = () => {
116
110
  server.off("error", onError);
117
- resolve(port);
111
+ resolve();
118
112
  };
119
113
  server.once("error", onError);
120
114
  server.once("listening", onListening);
@@ -175,7 +169,7 @@ export async function createBrowserAuthorization() {
175
169
  export async function createDeviceAuthorization() {
176
170
  const deviceResponse = await fetch(`${ISSUER}/api/accounts/deviceauth/usercode`, {
177
171
  method: "POST",
178
- headers: { "Content-Type": "application/json", "User-Agent": "openai-ws-opencode/0.1.3" },
172
+ headers: { "Content-Type": "application/json", "User-Agent": "openai-ws-opencode/0.1.4" },
179
173
  body: JSON.stringify({ client_id: CLIENT_ID }),
180
174
  });
181
175
  if (!deviceResponse.ok)
@@ -190,7 +184,7 @@ export async function createDeviceAuthorization() {
190
184
  for (;;) {
191
185
  const response = await fetch(`${ISSUER}/api/accounts/deviceauth/token`, {
192
186
  method: "POST",
193
- headers: { "Content-Type": "application/json", "User-Agent": "openai-ws-opencode/0.1.3" },
187
+ headers: { "Content-Type": "application/json", "User-Agent": "openai-ws-opencode/0.1.4" },
194
188
  body: JSON.stringify({
195
189
  device_auth_id: deviceData.device_auth_id,
196
190
  user_code: deviceData.user_code,
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/auth/oauth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/auth/oauth.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,6 @@ export declare const OPENAI_WS_BETA = "responses_websockets=2026-02-06";
10
10
  export declare const CODEX_ORIGINATOR = "opencode";
11
11
  export declare const CODEX_OAUTH_SCOPE = "openid profile email offline_access";
12
12
  export declare const OAUTH_PORT = 1455;
13
- export declare const OAUTH_FALLBACK_PORT = 1457;
14
13
  export declare const DEFAULT_INSTRUCTIONS = "You are a helpful assistant.";
15
14
  export declare const INTERNAL_SESSION_HEADER = "x-openai-ws-opencode-session-id";
16
15
  export declare const INTERNAL_AGENT_HEADER = "x-openai-ws-opencode-agent";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,cAAc,CAAA;AAEtC,eAAO,MAAM,SAAS,iCAAiC,CAAA;AACvD,eAAO,MAAM,MAAM,4BAA4B,CAAA;AAC/C,eAAO,MAAM,eAAe,8BAA8B,CAAA;AAC1D,eAAO,MAAM,cAAc,0CAA0C,CAAA;AACrE,eAAO,MAAM,kBAAkB,oDAAgC,CAAA;AAC/D,eAAO,MAAM,aAAa,sCAAsC,CAAA;AAChE,eAAO,MAAM,YAAY,kDAAkD,CAAA;AAC3E,eAAO,MAAM,cAAc,oCAAoC,CAAA;AAC/D,eAAO,MAAM,gBAAgB,aAAa,CAAA;AAC1C,eAAO,MAAM,iBAAiB,wCAAwC,CAAA;AACtE,eAAO,MAAM,UAAU,OAAO,CAAA;AAC9B,eAAO,MAAM,mBAAmB,OAAO,CAAA;AACvC,eAAO,MAAM,oBAAoB,iCAAiC,CAAA;AAElE,eAAO,MAAM,uBAAuB,oCAAoC,CAAA;AACxE,eAAO,MAAM,qBAAqB,+BAA+B,CAAA;AACjE,eAAO,MAAM,qBAAqB,kCAAkC,CAAA;AACpE,eAAO,MAAM,2BAA2B,qCAAqC,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,cAAc,CAAA;AAEtC,eAAO,MAAM,SAAS,iCAAiC,CAAA;AACvD,eAAO,MAAM,MAAM,4BAA4B,CAAA;AAC/C,eAAO,MAAM,eAAe,8BAA8B,CAAA;AAC1D,eAAO,MAAM,cAAc,0CAA0C,CAAA;AACrE,eAAO,MAAM,kBAAkB,oDAAgC,CAAA;AAC/D,eAAO,MAAM,aAAa,sCAAsC,CAAA;AAChE,eAAO,MAAM,YAAY,kDAAkD,CAAA;AAC3E,eAAO,MAAM,cAAc,oCAAoC,CAAA;AAC/D,eAAO,MAAM,gBAAgB,aAAa,CAAA;AAC1C,eAAO,MAAM,iBAAiB,wCAAwC,CAAA;AACtE,eAAO,MAAM,UAAU,OAAO,CAAA;AAC9B,eAAO,MAAM,oBAAoB,iCAAiC,CAAA;AAElE,eAAO,MAAM,uBAAuB,oCAAoC,CAAA;AACxE,eAAO,MAAM,qBAAqB,+BAA+B,CAAA;AACjE,eAAO,MAAM,qBAAqB,kCAAkC,CAAA;AACpE,eAAO,MAAM,2BAA2B,qCAAqC,CAAA"}
package/dist/constants.js CHANGED
@@ -10,7 +10,6 @@ export const OPENAI_WS_BETA = "responses_websockets=2026-02-06";
10
10
  export const CODEX_ORIGINATOR = "opencode";
11
11
  export const CODEX_OAUTH_SCOPE = "openid profile email offline_access";
12
12
  export const OAUTH_PORT = 1455;
13
- export const OAUTH_FALLBACK_PORT = 1457;
14
13
  export const DEFAULT_INSTRUCTIONS = "You are a helpful assistant.";
15
14
  export const INTERNAL_SESSION_HEADER = "x-openai-ws-opencode-session-id";
16
15
  export const INTERNAL_AGENT_HEADER = "x-openai-ws-opencode-agent";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAAA;AAEtC,MAAM,CAAC,MAAM,SAAS,GAAG,8BAA8B,CAAA;AACvD,MAAM,CAAC,MAAM,MAAM,GAAG,yBAAyB,CAAA;AAC/C,MAAM,CAAC,MAAM,eAAe,GAAG,2BAA2B,CAAA;AAC1D,MAAM,CAAC,MAAM,cAAc,GAAG,uCAAuC,CAAA;AACrE,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,cAAc,YAAY,CAAA;AAC/D,MAAM,CAAC,MAAM,aAAa,GAAG,mCAAmC,CAAA;AAChE,MAAM,CAAC,MAAM,YAAY,GAAG,+CAA+C,CAAA;AAC3E,MAAM,CAAC,MAAM,cAAc,GAAG,iCAAiC,CAAA;AAC/D,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAA;AAC1C,MAAM,CAAC,MAAM,iBAAiB,GAAG,qCAAqC,CAAA;AACtE,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAA;AAC9B,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAA;AACvC,MAAM,CAAC,MAAM,oBAAoB,GAAG,8BAA8B,CAAA;AAElE,MAAM,CAAC,MAAM,uBAAuB,GAAG,iCAAiC,CAAA;AACxE,MAAM,CAAC,MAAM,qBAAqB,GAAG,4BAA4B,CAAA;AACjE,MAAM,CAAC,MAAM,qBAAqB,GAAG,+BAA+B,CAAA;AACpE,MAAM,CAAC,MAAM,2BAA2B,GAAG,kCAAkC,CAAA"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAAA;AAEtC,MAAM,CAAC,MAAM,SAAS,GAAG,8BAA8B,CAAA;AACvD,MAAM,CAAC,MAAM,MAAM,GAAG,yBAAyB,CAAA;AAC/C,MAAM,CAAC,MAAM,eAAe,GAAG,2BAA2B,CAAA;AAC1D,MAAM,CAAC,MAAM,cAAc,GAAG,uCAAuC,CAAA;AACrE,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,cAAc,YAAY,CAAA;AAC/D,MAAM,CAAC,MAAM,aAAa,GAAG,mCAAmC,CAAA;AAChE,MAAM,CAAC,MAAM,YAAY,GAAG,+CAA+C,CAAA;AAC3E,MAAM,CAAC,MAAM,cAAc,GAAG,iCAAiC,CAAA;AAC/D,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAA;AAC1C,MAAM,CAAC,MAAM,iBAAiB,GAAG,qCAAqC,CAAA;AACtE,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAA;AAC9B,MAAM,CAAC,MAAM,oBAAoB,GAAG,8BAA8B,CAAA;AAElE,MAAM,CAAC,MAAM,uBAAuB,GAAG,iCAAiC,CAAA;AACxE,MAAM,CAAC,MAAM,qBAAqB,GAAG,4BAA4B,CAAA;AACjE,MAAM,CAAC,MAAM,qBAAqB,GAAG,+BAA+B,CAAA;AACpE,MAAM,CAAC,MAAM,2BAA2B,GAAG,kCAAkC,CAAA"}
@@ -103,7 +103,7 @@ export async function resolveModelsBestEffort(overrides = {}, options = {}) {
103
103
  try {
104
104
  const response = await fetchImpl("https://models.dev/api.json", {
105
105
  signal: AbortSignal.timeout(timeoutMs),
106
- headers: { "User-Agent": "openai-ws-opencode/0.1.3" },
106
+ headers: { "User-Agent": "openai-ws-opencode/0.1.4" },
107
107
  });
108
108
  if (!response.ok)
109
109
  return resolveModels(overrides);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openai-ws-opencode",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "OpenCode plugin for OpenAI Responses WebSocket transport.",
5
5
  "type": "module",
6
6
  "license": "MIT",