openai-oauth 1.0.0 → 1.0.2

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.
@@ -22029,7 +22029,8 @@ var toModelMessages = (messages) => {
22029
22029
  const modelMessages = [];
22030
22030
  const toolNamesById = /* @__PURE__ */ new Map();
22031
22031
  for (const message of messages) {
22032
- switch (message.role) {
22032
+ const role = Array.isArray(message.tool_calls) && message.tool_calls.length > 0 ? "assistant" : typeof message.tool_call_id === "string" ? "tool" : message.role;
22033
+ switch (role) {
22033
22034
  case "system":
22034
22035
  case "developer":
22035
22036
  modelMessages.push({
@@ -22728,11 +22729,12 @@ var createOpenAIOAuthFetchHandler = (settings = {}) => {
22728
22729
  };
22729
22730
  var startOpenAIOAuthServer = async (settings = {}) => {
22730
22731
  const host = settings.host ?? DEFAULT_HOST;
22731
- const port = settings.port ?? DEFAULT_PORT;
22732
+ const requestedPort = settings.port ?? DEFAULT_PORT;
22732
22733
  const handler = createOpenAIOAuthFetchHandler(settings);
22733
- const server = createServer(async (req, res) => {
22734
+ let selectedPort = requestedPort;
22735
+ const createNodeServer = () => createServer(async (req, res) => {
22734
22736
  try {
22735
- const request = await toWebRequest(req, { host, port });
22737
+ const request = await toWebRequest(req, { host, port: selectedPort });
22736
22738
  const response = await handler(request);
22737
22739
  await writeWebResponse(res, response);
22738
22740
  } catch (error40) {
@@ -22741,16 +22743,52 @@ var startOpenAIOAuthServer = async (settings = {}) => {
22741
22743
  return;
22742
22744
  }
22743
22745
  const message = error40 instanceof Error ? error40.message : "Unexpected server error.";
22744
- await writeWebResponse(res, toErrorResponse(message, 500, "server_error"));
22746
+ await writeWebResponse(
22747
+ res,
22748
+ toErrorResponse(message, 500, "server_error")
22749
+ );
22745
22750
  }
22746
22751
  });
22747
- await new Promise((resolve, reject) => {
22748
- server.once("error", reject);
22749
- server.listen(port, host, () => {
22750
- server.off("error", reject);
22751
- resolve();
22752
+ let server = createNodeServer();
22753
+ if (requestedPort === 0) {
22754
+ await new Promise((resolve, reject) => {
22755
+ server.once("error", reject);
22756
+ server.listen(0, host, () => {
22757
+ server.off("error", reject);
22758
+ resolve();
22759
+ });
22752
22760
  });
22753
- });
22761
+ } else {
22762
+ for (let port = requestedPort; port <= 65535; port += 1) {
22763
+ try {
22764
+ server = createNodeServer();
22765
+ await new Promise((resolve, reject) => {
22766
+ const handleError = (error40) => {
22767
+ server.off("listening", handleListening);
22768
+ reject(error40);
22769
+ };
22770
+ const handleListening = () => {
22771
+ server.off("error", handleError);
22772
+ resolve();
22773
+ };
22774
+ server.once("error", handleError);
22775
+ server.once("listening", handleListening);
22776
+ server.listen(port, host);
22777
+ });
22778
+ selectedPort = port;
22779
+ break;
22780
+ } catch (error40) {
22781
+ if (!(error40 instanceof Error && "code" in error40 && error40.code === "EADDRINUSE")) {
22782
+ throw error40;
22783
+ }
22784
+ }
22785
+ }
22786
+ if (!server.listening) {
22787
+ throw new Error(
22788
+ `Could not find an available port on ${host} starting at ${requestedPort}.`
22789
+ );
22790
+ }
22791
+ }
22754
22792
  const address = resolveAddress(server.address(), host);
22755
22793
  return {
22756
22794
  server,
package/dist/cli.js CHANGED
@@ -5,7 +5,7 @@ import {
5
5
  resolveAuthFileCandidates,
6
6
  resolveOpenAIOAuthModels,
7
7
  startOpenAIOAuthServer
8
- } from "./chunk-WDJBHN6N.js";
8
+ } from "./chunk-2AENSHRT.js";
9
9
 
10
10
  // src/cli-app.ts
11
11
  import { access } from "fs/promises";
@@ -15,7 +15,7 @@ import { hideBin } from "yargs/helpers";
15
15
  // package.json
16
16
  var package_default = {
17
17
  name: "openai-oauth",
18
- version: "1.0.0",
18
+ version: "1.0.2",
19
19
  description: "Free OpenAI API access with your ChatGPT account.",
20
20
  type: "module",
21
21
  bin: {
@@ -33,16 +33,17 @@ var package_default = {
33
33
  scripts: {
34
34
  build: "tsup src/index.ts src/cli.ts --format esm --dts --outDir dist --clean",
35
35
  dev: "bun ./src/cli.ts",
36
+ prepublishOnly: "bun run build",
36
37
  typecheck: "tsc --noEmit",
37
38
  test: "vitest run",
38
39
  "test:live": "LIVE_CODEX_E2E=1 vitest run test/live.e2e.test.ts"
39
40
  },
40
41
  dependencies: {
41
- ai: "6.0.0-beta.138",
42
+ ai: "6.0.116",
42
43
  yargs: "^17.7.2"
43
44
  },
44
45
  devDependencies: {
45
- "@ai-sdk/openai": "3.0.0-beta.87",
46
+ "@ai-sdk/openai": "3.0.41",
46
47
  "@types/node": "20.17.24",
47
48
  "@types/yargs": "^17.0.33",
48
49
  "openai-oauth-core": "workspace:*",
@@ -319,6 +320,12 @@ var runCli = async (argv = hideBin(process.argv)) => {
319
320
  }
320
321
  );
321
322
  const server = await startOpenAIOAuthServer(options);
323
+ if ((options.port ?? DEFAULT_PORT) !== server.port) {
324
+ console.log(
325
+ `Port ${options.port ?? DEFAULT_PORT} was unavailable. Using port ${server.port} instead.
326
+ `
327
+ );
328
+ }
322
329
  console.log(
323
330
  toStartupMessage(
324
331
  `http://${server.host}:${server.port}/v1`,
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@ import {
2
2
  createOpenAIOAuthFetchHandler,
3
3
  defaultOpenAIOAuthModels,
4
4
  startOpenAIOAuthServer
5
- } from "./chunk-WDJBHN6N.js";
5
+ } from "./chunk-2AENSHRT.js";
6
6
  export {
7
7
  createOpenAIOAuthFetchHandler,
8
8
  defaultOpenAIOAuthModels,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openai-oauth",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "Free OpenAI API access with your ChatGPT account.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -18,16 +18,17 @@
18
18
  "scripts": {
19
19
  "build": "tsup src/index.ts src/cli.ts --format esm --dts --outDir dist --clean",
20
20
  "dev": "bun ./src/cli.ts",
21
+ "prepublishOnly": "bun run build",
21
22
  "typecheck": "tsc --noEmit",
22
23
  "test": "vitest run",
23
24
  "test:live": "LIVE_CODEX_E2E=1 vitest run test/live.e2e.test.ts"
24
25
  },
25
26
  "dependencies": {
26
- "ai": "6.0.0-beta.138",
27
+ "ai": "6.0.116",
27
28
  "yargs": "^17.7.2"
28
29
  },
29
30
  "devDependencies": {
30
- "@ai-sdk/openai": "3.0.0-beta.87",
31
+ "@ai-sdk/openai": "3.0.41",
31
32
  "@types/node": "20.17.24",
32
33
  "@types/yargs": "^17.0.33",
33
34
  "openai-oauth-core": "workspace:*",