@demicodes/provider-codex 0.4.0 → 0.4.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.
Files changed (2) hide show
  1. package/dist/index.mjs +4 -11
  2. package/package.json +2 -2
package/dist/index.mjs CHANGED
@@ -3,7 +3,7 @@ import { Buffer } from "node:buffer";
3
3
  import { chmod, mkdir, open, readFile, rename, rm, writeFile } from "node:fs/promises";
4
4
  import { homedir } from "node:os";
5
5
  import { dirname, join } from "node:path";
6
- import { applyModelPolicy, clampPromptCacheKey, clampUsedPercent, createProviderQuota, defineProvider, httpErrorCode, numberHeader, redactCredentialText, severityFromUsedPercent, unixSecondsToIso } from "@demicodes/provider";
6
+ import { applyModelPolicy, clampPromptCacheKey, clampUsedPercent, createProviderQuota, defineProvider, httpErrorCode, normalizeErrorCode, numberHeader, redactCredentialText, severityFromUsedPercent, unixSecondsToIso } from "@demicodes/provider";
7
7
  import { FileCredentialPool, credentialIdFromIdentity } from "@demicodes/provider/credentials-pool";
8
8
  import { randomUUID } from "node:crypto";
9
9
  //#region src/auth.ts
@@ -1200,14 +1200,6 @@ function errorEventFromFailedResponse(response) {
1200
1200
  code: normalizeErrorCode(stringOrNull(error?.code) ?? stringOrNull(error?.type), message)
1201
1201
  };
1202
1202
  }
1203
- function normalizeErrorCode(code, message) {
1204
- const value = `${code ?? ""} ${message}`.toLowerCase();
1205
- if (/context|maximum context|too long|max.*token/.test(value)) return "context_length_exceeded";
1206
- if (/rate|quota|usage|limit|billing|balance/.test(value)) return "rate_limit";
1207
- if (/unauth|auth|expired|invalid.*token/.test(value)) return "auth_expired";
1208
- if (/overload|unavailable|timeout/.test(value)) return "overloaded";
1209
- return code;
1210
- }
1211
1203
  function incompleteReason(response) {
1212
1204
  if (isRecord(response) && isRecord(response.incomplete_details) && typeof response.incomplete_details.reason === "string") return response.incomplete_details.reason;
1213
1205
  return "unknown";
@@ -1701,10 +1693,11 @@ function providerErrorFromUnknown(error) {
1701
1693
  message: redactCodexSecretText(error.message),
1702
1694
  code: httpErrorCode(error.status, error.message)
1703
1695
  };
1696
+ const message = error instanceof Error ? error.message : String(error);
1704
1697
  return {
1705
1698
  type: "error",
1706
- message: redactCodexSecretText(error instanceof Error ? error.message : String(error)),
1707
- code: null
1699
+ message: redactCodexSecretText(message),
1700
+ code: normalizeErrorCode(null, message)
1708
1701
  };
1709
1702
  }
1710
1703
  function isRetryableHttpStatus(status) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@demicodes/provider-codex",
3
3
  "description": "Codex provider adapter for Demi.",
4
- "version": "0.4.0",
4
+ "version": "0.4.1",
5
5
  "private": false,
6
6
  "type": "module",
7
7
  "exports": {
@@ -12,7 +12,7 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "@demicodes/core": "^0.3.2",
15
- "@demicodes/provider": "^0.4.0",
15
+ "@demicodes/provider": "^0.4.2",
16
16
  "@demicodes/utils": "^0.3.2"
17
17
  },
18
18
  "devDependencies": {