oc-chatgpt-multi-auth 5.2.1 → 5.2.3

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 (63) hide show
  1. package/README.md +21 -16
  2. package/config/README.md +10 -8
  3. package/config/opencode-legacy.json +47 -73
  4. package/config/opencode-modern.json +32 -38
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +163 -125
  7. package/dist/index.js.map +1 -1
  8. package/dist/lib/accounts.d.ts.map +1 -1
  9. package/dist/lib/accounts.js +5 -18
  10. package/dist/lib/accounts.js.map +1 -1
  11. package/dist/lib/config.d.ts +1 -0
  12. package/dist/lib/config.d.ts.map +1 -1
  13. package/dist/lib/config.js +5 -0
  14. package/dist/lib/config.js.map +1 -1
  15. package/dist/lib/logger.d.ts +1 -0
  16. package/dist/lib/logger.d.ts.map +1 -1
  17. package/dist/lib/logger.js +25 -2
  18. package/dist/lib/logger.js.map +1 -1
  19. package/dist/lib/prompts/codex-opencode-bridge.d.ts +4 -3
  20. package/dist/lib/prompts/codex-opencode-bridge.d.ts.map +1 -1
  21. package/dist/lib/prompts/codex-opencode-bridge.js +73 -106
  22. package/dist/lib/prompts/codex-opencode-bridge.js.map +1 -1
  23. package/dist/lib/prompts/codex.d.ts +4 -4
  24. package/dist/lib/prompts/codex.d.ts.map +1 -1
  25. package/dist/lib/prompts/codex.js +27 -30
  26. package/dist/lib/prompts/codex.js.map +1 -1
  27. package/dist/lib/recovery.d.ts.map +1 -1
  28. package/dist/lib/recovery.js +10 -5
  29. package/dist/lib/recovery.js.map +1 -1
  30. package/dist/lib/request/fetch-helpers.d.ts +2 -1
  31. package/dist/lib/request/fetch-helpers.d.ts.map +1 -1
  32. package/dist/lib/request/fetch-helpers.js +57 -6
  33. package/dist/lib/request/fetch-helpers.js.map +1 -1
  34. package/dist/lib/request/helpers/model-map.d.ts.map +1 -1
  35. package/dist/lib/request/helpers/model-map.js +35 -25
  36. package/dist/lib/request/helpers/model-map.js.map +1 -1
  37. package/dist/lib/request/request-transformer.d.ts +3 -3
  38. package/dist/lib/request/request-transformer.d.ts.map +1 -1
  39. package/dist/lib/request/request-transformer.js +73 -35
  40. package/dist/lib/request/request-transformer.js.map +1 -1
  41. package/dist/lib/request/response-handler.d.ts.map +1 -1
  42. package/dist/lib/request/response-handler.js +101 -10
  43. package/dist/lib/request/response-handler.js.map +1 -1
  44. package/dist/lib/schemas.d.ts +7 -9
  45. package/dist/lib/schemas.d.ts.map +1 -1
  46. package/dist/lib/schemas.js +1 -0
  47. package/dist/lib/schemas.js.map +1 -1
  48. package/dist/lib/storage/migrations.d.ts.map +1 -1
  49. package/dist/lib/storage/migrations.js +1 -9
  50. package/dist/lib/storage/migrations.js.map +1 -1
  51. package/dist/lib/storage/paths.d.ts.map +1 -1
  52. package/dist/lib/storage/paths.js +14 -2
  53. package/dist/lib/storage/paths.js.map +1 -1
  54. package/dist/lib/storage.d.ts +1 -0
  55. package/dist/lib/storage.d.ts.map +1 -1
  56. package/dist/lib/storage.js +124 -84
  57. package/dist/lib/storage.js.map +1 -1
  58. package/package.json +26 -12
  59. package/scripts/audit-dev-allowlist.js +114 -0
  60. package/dist/lib/request/local-fast-path.d.ts +0 -15
  61. package/dist/lib/request/local-fast-path.d.ts.map +0 -1
  62. package/dist/lib/request/local-fast-path.js +0 -164
  63. package/dist/lib/request/local-fast-path.js.map +0 -1
@@ -63,11 +63,12 @@ async function ensureGitignore(storagePath) {
63
63
  if (!currentStoragePath)
64
64
  return;
65
65
  const configDir = dirname(storagePath);
66
- const projectRoot = dirname(configDir);
67
- const gitDir = join(projectRoot, ".git");
68
- const gitignorePath = join(projectRoot, ".gitignore");
69
- if (!existsSync(gitDir))
66
+ const inferredProjectRoot = dirname(configDir);
67
+ const candidateRoots = [currentProjectRoot, inferredProjectRoot].filter((root) => typeof root === "string" && root.length > 0);
68
+ const projectRoot = candidateRoots.find((root) => existsSync(join(root, ".git")));
69
+ if (!projectRoot)
70
70
  return;
71
+ const gitignorePath = join(projectRoot, ".gitignore");
71
72
  try {
72
73
  let content = "";
73
74
  if (existsSync(gitignorePath)) {
@@ -87,25 +88,30 @@ async function ensureGitignore(storagePath) {
87
88
  }
88
89
  let currentStoragePath = null;
89
90
  let currentLegacyProjectStoragePath = null;
91
+ let currentProjectRoot = null;
90
92
  export function setStoragePath(projectPath) {
91
93
  if (!projectPath) {
92
94
  currentStoragePath = null;
93
95
  currentLegacyProjectStoragePath = null;
96
+ currentProjectRoot = null;
94
97
  return;
95
98
  }
96
99
  const projectRoot = findProjectRoot(projectPath);
97
100
  if (projectRoot) {
101
+ currentProjectRoot = projectRoot;
98
102
  currentStoragePath = join(getProjectGlobalConfigDir(projectRoot), ACCOUNTS_FILE_NAME);
99
103
  currentLegacyProjectStoragePath = join(getProjectConfigDir(projectRoot), ACCOUNTS_FILE_NAME);
100
104
  }
101
105
  else {
102
106
  currentStoragePath = null;
103
107
  currentLegacyProjectStoragePath = null;
108
+ currentProjectRoot = null;
104
109
  }
105
110
  }
106
111
  export function setStoragePathDirect(path) {
107
112
  currentStoragePath = path;
108
113
  currentLegacyProjectStoragePath = null;
114
+ currentProjectRoot = null;
109
115
  }
110
116
  /**
111
117
  * Returns the file path for the account storage JSON file.
@@ -123,7 +129,7 @@ export function getFlaggedAccountsPath() {
123
129
  function getLegacyFlaggedAccountsPath() {
124
130
  return join(dirname(getStoragePath()), LEGACY_FLAGGED_ACCOUNTS_FILE_NAME);
125
131
  }
126
- async function migrateLegacyProjectStorageIfNeeded() {
132
+ async function migrateLegacyProjectStorageIfNeeded(persist = saveAccounts) {
127
133
  if (!currentStoragePath ||
128
134
  !currentLegacyProjectStoragePath ||
129
135
  currentLegacyProjectStoragePath === currentStoragePath ||
@@ -136,7 +142,22 @@ async function migrateLegacyProjectStorageIfNeeded() {
136
142
  const normalized = normalizeAccountStorage(legacyData);
137
143
  if (!normalized)
138
144
  return null;
139
- await saveAccounts(normalized);
145
+ await persist(normalized);
146
+ try {
147
+ await fs.unlink(currentLegacyProjectStoragePath);
148
+ log.info("Removed legacy project account storage file after migration", {
149
+ path: currentLegacyProjectStoragePath,
150
+ });
151
+ }
152
+ catch (unlinkError) {
153
+ const code = unlinkError.code;
154
+ if (code !== "ENOENT") {
155
+ log.warn("Failed to remove legacy project account storage file after migration", {
156
+ path: currentLegacyProjectStoragePath,
157
+ error: String(unlinkError),
158
+ });
159
+ }
160
+ }
140
161
  log.info("Migrated legacy project account storage", {
141
162
  from: currentLegacyProjectStoragePath,
142
163
  to: currentStoragePath,
@@ -358,6 +379,9 @@ export function normalizeAccountStorage(data) {
358
379
  * @returns AccountStorageV3 if file exists and is valid, null otherwise
359
380
  */
360
381
  export async function loadAccounts() {
382
+ return loadAccountsInternal(saveAccounts);
383
+ }
384
+ async function loadAccountsInternal(persistMigration) {
361
385
  try {
362
386
  const path = getStoragePath();
363
387
  const content = await fs.readFile(path, "utf-8");
@@ -370,11 +394,13 @@ export async function loadAccounts() {
370
394
  const storedVersion = isRecord(data) ? data.version : undefined;
371
395
  if (normalized && storedVersion !== normalized.version) {
372
396
  log.info("Migrating account storage to v3", { from: storedVersion, to: normalized.version });
373
- try {
374
- await saveAccounts(normalized);
375
- }
376
- catch (saveError) {
377
- log.warn("Failed to persist migrated storage", { error: String(saveError) });
397
+ if (persistMigration) {
398
+ try {
399
+ await persistMigration(normalized);
400
+ }
401
+ catch (saveError) {
402
+ log.warn("Failed to persist migrated storage", { error: String(saveError) });
403
+ }
378
404
  }
379
405
  }
380
406
  return normalized;
@@ -382,7 +408,9 @@ export async function loadAccounts() {
382
408
  catch (error) {
383
409
  const code = error.code;
384
410
  if (code === "ENOENT") {
385
- const migrated = await migrateLegacyProjectStorageIfNeeded();
411
+ const migrated = persistMigration
412
+ ? await migrateLegacyProjectStorageIfNeeded(persistMigration)
413
+ : null;
386
414
  if (migrated)
387
415
  return migrated;
388
416
  return null;
@@ -391,6 +419,65 @@ export async function loadAccounts() {
391
419
  return null;
392
420
  }
393
421
  }
422
+ async function saveAccountsUnlocked(storage) {
423
+ const path = getStoragePath();
424
+ const uniqueSuffix = `${Date.now()}.${Math.random().toString(36).slice(2, 8)}`;
425
+ const tempPath = `${path}.${uniqueSuffix}.tmp`;
426
+ try {
427
+ await fs.mkdir(dirname(path), { recursive: true });
428
+ await ensureGitignore(path);
429
+ const content = JSON.stringify(storage, null, 2);
430
+ await fs.writeFile(tempPath, content, { encoding: "utf-8", mode: 0o600 });
431
+ const stats = await fs.stat(tempPath);
432
+ if (stats.size === 0) {
433
+ const emptyError = Object.assign(new Error("File written but size is 0"), { code: "EEMPTY" });
434
+ throw emptyError;
435
+ }
436
+ // Retry rename with exponential backoff for Windows EPERM/EBUSY
437
+ let lastError = null;
438
+ for (let attempt = 0; attempt < 5; attempt++) {
439
+ try {
440
+ await fs.rename(tempPath, path);
441
+ return;
442
+ }
443
+ catch (renameError) {
444
+ const code = renameError.code;
445
+ if (code === "EPERM" || code === "EBUSY") {
446
+ lastError = renameError;
447
+ await new Promise(r => setTimeout(r, 10 * Math.pow(2, attempt)));
448
+ continue;
449
+ }
450
+ throw renameError;
451
+ }
452
+ }
453
+ if (lastError)
454
+ throw lastError;
455
+ }
456
+ catch (error) {
457
+ try {
458
+ await fs.unlink(tempPath);
459
+ }
460
+ catch {
461
+ // Ignore cleanup failure.
462
+ }
463
+ const err = error;
464
+ const code = err?.code || "UNKNOWN";
465
+ const hint = formatStorageErrorHint(error, path);
466
+ log.error("Failed to save accounts", {
467
+ path,
468
+ code,
469
+ message: err?.message,
470
+ hint,
471
+ });
472
+ throw new StorageError(`Failed to save accounts: ${err?.message || "Unknown error"}`, code, path, hint, err instanceof Error ? err : undefined);
473
+ }
474
+ }
475
+ export async function withAccountStorageTransaction(handler) {
476
+ return withStorageLock(async () => {
477
+ const current = await loadAccountsInternal(saveAccountsUnlocked);
478
+ return handler(current, saveAccountsUnlocked);
479
+ });
480
+ }
394
481
  /**
395
482
  * Persists account storage to disk using atomic write (temp file + rename).
396
483
  * Creates the .opencode directory if it doesn't exist.
@@ -400,56 +487,7 @@ export async function loadAccounts() {
400
487
  */
401
488
  export async function saveAccounts(storage) {
402
489
  return withStorageLock(async () => {
403
- const path = getStoragePath();
404
- const uniqueSuffix = `${Date.now()}.${Math.random().toString(36).slice(2, 8)}`;
405
- const tempPath = `${path}.${uniqueSuffix}.tmp`;
406
- try {
407
- await fs.mkdir(dirname(path), { recursive: true });
408
- await ensureGitignore(path);
409
- const content = JSON.stringify(storage, null, 2);
410
- await fs.writeFile(tempPath, content, { encoding: "utf-8", mode: 0o600 });
411
- const stats = await fs.stat(tempPath);
412
- if (stats.size === 0) {
413
- const emptyError = Object.assign(new Error("File written but size is 0"), { code: "EEMPTY" });
414
- throw emptyError;
415
- }
416
- // Retry rename with exponential backoff for Windows EPERM/EBUSY
417
- let lastError = null;
418
- for (let attempt = 0; attempt < 5; attempt++) {
419
- try {
420
- await fs.rename(tempPath, path);
421
- return;
422
- }
423
- catch (renameError) {
424
- const code = renameError.code;
425
- if (code === "EPERM" || code === "EBUSY") {
426
- lastError = renameError;
427
- await new Promise(r => setTimeout(r, 10 * Math.pow(2, attempt)));
428
- continue;
429
- }
430
- throw renameError;
431
- }
432
- }
433
- if (lastError)
434
- throw lastError;
435
- }
436
- catch (error) {
437
- try {
438
- await fs.unlink(tempPath);
439
- }
440
- catch {
441
- }
442
- const err = error;
443
- const code = err?.code || "UNKNOWN";
444
- const hint = formatStorageErrorHint(error, path);
445
- log.error("Failed to save accounts", {
446
- path,
447
- code,
448
- message: err?.message,
449
- hint,
450
- });
451
- throw new StorageError(`Failed to save accounts: ${err?.message || "Unknown error"}`, code, path, hint, err instanceof Error ? err : undefined);
452
- }
490
+ await saveAccountsUnlocked(storage);
453
491
  });
454
492
  }
455
493
  /**
@@ -625,7 +663,7 @@ export async function exportAccounts(filePath, force = true) {
625
663
  if (!force && existsSync(resolvedPath)) {
626
664
  throw new Error(`File already exists: ${resolvedPath}`);
627
665
  }
628
- const storage = await loadAccounts();
666
+ const storage = await withAccountStorageTransaction((current) => Promise.resolve(current));
629
667
  if (!storage || storage.accounts.length === 0) {
630
668
  throw new Error("No accounts to export");
631
669
  }
@@ -658,27 +696,29 @@ export async function importAccounts(filePath) {
658
696
  if (!normalized) {
659
697
  throw new Error("Invalid account storage format");
660
698
  }
661
- const existing = await loadAccounts();
662
- const existingAccounts = existing?.accounts ?? [];
663
- const existingActiveIndex = existing?.activeIndex ?? 0;
664
- const merged = [...existingAccounts, ...normalized.accounts];
665
- if (merged.length > ACCOUNT_LIMITS.MAX_ACCOUNTS) {
666
- const deduped = deduplicateAccountsByEmail(deduplicateAccounts(merged));
667
- if (deduped.length > ACCOUNT_LIMITS.MAX_ACCOUNTS) {
668
- throw new Error(`Import would exceed maximum of ${ACCOUNT_LIMITS.MAX_ACCOUNTS} accounts (would have ${deduped.length})`);
699
+ const { imported: importedCount, total, skipped: skippedCount } = await withAccountStorageTransaction(async (existing, persist) => {
700
+ const existingAccounts = existing?.accounts ?? [];
701
+ const existingActiveIndex = existing?.activeIndex ?? 0;
702
+ const merged = [...existingAccounts, ...normalized.accounts];
703
+ if (merged.length > ACCOUNT_LIMITS.MAX_ACCOUNTS) {
704
+ const deduped = deduplicateAccountsByEmail(deduplicateAccounts(merged));
705
+ if (deduped.length > ACCOUNT_LIMITS.MAX_ACCOUNTS) {
706
+ throw new Error(`Import would exceed maximum of ${ACCOUNT_LIMITS.MAX_ACCOUNTS} accounts (would have ${deduped.length})`);
707
+ }
669
708
  }
670
- }
671
- const deduplicatedAccounts = deduplicateAccountsByEmail(deduplicateAccounts(merged));
672
- const newStorage = {
673
- version: 3,
674
- accounts: deduplicatedAccounts,
675
- activeIndex: existingActiveIndex,
676
- activeIndexByFamily: existing?.activeIndexByFamily,
677
- };
678
- await saveAccounts(newStorage);
679
- const importedCount = deduplicatedAccounts.length - existingAccounts.length;
680
- const skippedCount = normalized.accounts.length - importedCount;
681
- log.info("Imported accounts", { path: resolvedPath, imported: importedCount, skipped: skippedCount, total: deduplicatedAccounts.length });
682
- return { imported: importedCount, total: deduplicatedAccounts.length, skipped: skippedCount };
709
+ const deduplicatedAccounts = deduplicateAccountsByEmail(deduplicateAccounts(merged));
710
+ const newStorage = {
711
+ version: 3,
712
+ accounts: deduplicatedAccounts,
713
+ activeIndex: existingActiveIndex,
714
+ activeIndexByFamily: existing?.activeIndexByFamily,
715
+ };
716
+ await persist(newStorage);
717
+ const imported = deduplicatedAccounts.length - existingAccounts.length;
718
+ const skipped = normalized.accounts.length - imported;
719
+ return { imported, total: deduplicatedAccounts.length, skipped };
720
+ });
721
+ log.info("Imported accounts", { path: resolvedPath, imported: importedCount, skipped: skippedCount, total });
722
+ return { imported: importedCount, total, skipped: skippedCount };
683
723
  }
684
724
  //# sourceMappingURL=storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../lib/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../lib/storage.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oc-chatgpt-multi-auth",
3
- "version": "5.2.1",
3
+ "version": "5.2.3",
4
4
  "description": "Multi-account rotation plugin for ChatGPT Plus/Pro (OAuth / Codex backend)",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -31,13 +31,21 @@
31
31
  "scripts": {
32
32
  "build": "tsc && node scripts/copy-oauth-success.js",
33
33
  "typecheck": "tsc --noEmit",
34
- "lint": "eslint . --ext .ts",
35
- "lint:fix": "eslint . --ext .ts --fix",
34
+ "lint": "npm run lint:ts && npm run lint:scripts",
35
+ "lint:ts": "eslint . --ext .ts",
36
+ "lint:scripts": "eslint scripts --ext .js",
37
+ "lint:fix": "npm run lint:ts:fix && npm run lint:scripts:fix",
38
+ "lint:ts:fix": "eslint . --ext .ts --fix",
39
+ "lint:scripts:fix": "eslint scripts --ext .js --fix",
36
40
  "test": "vitest run",
37
41
  "test:watch": "vitest",
38
42
  "test:ui": "vitest --ui",
39
43
  "test:coverage": "vitest run --coverage",
40
44
  "coverage": "vitest run --coverage",
45
+ "audit:prod": "npm audit --omit=dev --audit-level=high",
46
+ "audit:all": "npm audit --audit-level=high",
47
+ "audit:dev:allowlist": "node scripts/audit-dev-allowlist.js",
48
+ "audit:ci": "npm run audit:prod && npm run audit:dev:allowlist",
41
49
  "prepublishOnly": "npm run build",
42
50
  "prepare": "husky"
43
51
  },
@@ -55,6 +63,9 @@
55
63
  "lint-staged": {
56
64
  "*.ts": [
57
65
  "eslint --max-warnings=0 --fix --no-warn-ignored"
66
+ ],
67
+ "scripts/**/*.js": [
68
+ "eslint --max-warnings=0 --fix --no-warn-ignored"
58
69
  ]
59
70
  },
60
71
  "engines": {
@@ -65,13 +76,13 @@
65
76
  },
66
77
  "devDependencies": {
67
78
  "@fast-check/vitest": "^0.2.4",
68
- "@opencode-ai/sdk": "^1.1.34",
69
- "@types/node": "^25.0.10",
70
- "@typescript-eslint/eslint-plugin": "^8.53.1",
71
- "@typescript-eslint/parser": "^8.53.1",
79
+ "@opencode-ai/sdk": "^1.2.9",
80
+ "@types/node": "^25.3.0",
81
+ "@typescript-eslint/eslint-plugin": "^8.56.0",
82
+ "@typescript-eslint/parser": "^8.56.0",
72
83
  "@vitest/coverage-v8": "^4.0.18",
73
84
  "@vitest/ui": "^4.0.18",
74
- "eslint": "^9.39.2",
85
+ "eslint": "^10.0.0",
75
86
  "fast-check": "^4.5.3",
76
87
  "husky": "^9.1.7",
77
88
  "lint-staged": "^16.2.7",
@@ -81,12 +92,15 @@
81
92
  },
82
93
  "dependencies": {
83
94
  "@openauthjs/openauth": "^0.4.3",
84
- "@opencode-ai/plugin": "^1.1.34",
85
- "hono": "^4.11.5",
95
+ "@opencode-ai/plugin": "^1.2.9",
96
+ "hono": "^4.12.0",
86
97
  "zod": "^4.3.6"
87
98
  },
88
99
  "overrides": {
89
- "hono": "^4.11.5",
90
- "vite": "^7.3.1"
100
+ "hono": "^4.12.0",
101
+ "vite": "^7.3.1",
102
+ "@typescript-eslint/typescript-estree": {
103
+ "minimatch": "^9.0.5"
104
+ }
91
105
  }
92
106
  }
@@ -0,0 +1,114 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { execSync } from "node:child_process";
4
+
5
+ const ALLOWED_HIGH_OR_CRITICAL_PACKAGES = new Set([
6
+ "eslint",
7
+ "ajv",
8
+ "@eslint-community/eslint-utils",
9
+ "@typescript-eslint/eslint-plugin",
10
+ "@typescript-eslint/parser",
11
+ "@typescript-eslint/type-utils",
12
+ "@typescript-eslint/typescript-estree",
13
+ "@typescript-eslint/utils",
14
+ "minimatch",
15
+ ]);
16
+
17
+ function summarizeVia(via) {
18
+ if (!Array.isArray(via)) return [];
19
+ return via
20
+ .map((item) => {
21
+ if (typeof item === "string") return item;
22
+ if (!item || typeof item !== "object") return "unknown";
23
+ const name = typeof item.name === "string" ? item.name : "unknown";
24
+ const range = typeof item.range === "string" ? item.range : "";
25
+ return range ? `${name}:${range}` : name;
26
+ })
27
+ .slice(0, 5);
28
+ }
29
+
30
+ let rawAuditOutput = "";
31
+ try {
32
+ rawAuditOutput = execSync("npm audit --json", {
33
+ encoding: "utf8",
34
+ stdio: ["ignore", "pipe", "pipe"],
35
+ }).trim();
36
+ } catch (error) {
37
+ const execError = error;
38
+ const stdout =
39
+ execError &&
40
+ typeof execError === "object" &&
41
+ "stdout" in execError &&
42
+ typeof execError.stdout === "string"
43
+ ? execError.stdout
44
+ : "";
45
+ const stderr =
46
+ execError &&
47
+ typeof execError === "object" &&
48
+ "stderr" in execError &&
49
+ typeof execError.stderr === "string"
50
+ ? execError.stderr
51
+ : "";
52
+ rawAuditOutput = stdout.trim() || stderr.trim();
53
+ }
54
+
55
+ if (!rawAuditOutput) {
56
+ console.error("Failed to read npm audit JSON output.");
57
+ process.exit(1);
58
+ }
59
+
60
+ let auditJson;
61
+ try {
62
+ auditJson = JSON.parse(rawAuditOutput.replace(/^\uFEFF/, ""));
63
+ } catch (error) {
64
+ console.error("Failed to parse npm audit JSON output.");
65
+ console.error(error instanceof Error ? error.message : String(error));
66
+ process.exit(1);
67
+ }
68
+
69
+ const vulnerabilities =
70
+ auditJson && typeof auditJson === "object" && auditJson.vulnerabilities && typeof auditJson.vulnerabilities === "object"
71
+ ? auditJson.vulnerabilities
72
+ : {};
73
+
74
+ const unexpected = [];
75
+ const allowlisted = [];
76
+
77
+ for (const [name, details] of Object.entries(vulnerabilities)) {
78
+ if (!details || typeof details !== "object") continue;
79
+ const severity = typeof details.severity === "string" ? details.severity : "unknown";
80
+ if (severity !== "high" && severity !== "critical") continue;
81
+
82
+ const entry = {
83
+ name,
84
+ severity,
85
+ via: summarizeVia(details.via),
86
+ fixAvailable: details.fixAvailable ?? false,
87
+ };
88
+
89
+ if (ALLOWED_HIGH_OR_CRITICAL_PACKAGES.has(name)) {
90
+ allowlisted.push(entry);
91
+ continue;
92
+ }
93
+ unexpected.push(entry);
94
+ }
95
+
96
+ if (unexpected.length > 0) {
97
+ console.error("Unexpected high/critical vulnerabilities detected in dev dependency audit:");
98
+ for (const entry of unexpected) {
99
+ console.error(
100
+ `- ${entry.name} (${entry.severity}) via ${entry.via.join(", ") || "unknown"} fixAvailable=${String(entry.fixAvailable)}`,
101
+ );
102
+ }
103
+ process.exit(1);
104
+ }
105
+
106
+ if (allowlisted.length > 0) {
107
+ console.warn("Allowlisted high/critical dev vulnerabilities detected:");
108
+ for (const entry of allowlisted) {
109
+ console.warn(
110
+ `- ${entry.name} (${entry.severity}) via ${entry.via.join(", ") || "unknown"} fixAvailable=${String(entry.fixAvailable)}`,
111
+ );
112
+ }
113
+ console.warn("No unexpected high/critical vulnerabilities found.");
114
+ }
@@ -1,15 +0,0 @@
1
- import type { RequestBody } from "../types.js";
2
- type FastSessionStrategy = "hybrid" | "always";
3
- export type LocalFastPathOptions = {
4
- fastSessionEnabled: boolean;
5
- fastSessionStrategy: FastSessionStrategy;
6
- isStreaming: boolean;
7
- };
8
- export type LocalFastPathResult = {
9
- response: Response;
10
- reason: "trivial-greeting";
11
- reply: string;
12
- };
13
- export declare function buildLocalFastPathResponse(body: RequestBody | undefined, options: LocalFastPathOptions): LocalFastPathResult | null;
14
- export {};
15
- //# sourceMappingURL=local-fast-path.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"local-fast-path.d.ts","sourceRoot":"","sources":["../../../lib/request/local-fast-path.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,WAAW,EAAE,MAAM,aAAa,CAAC;AAK1D,KAAK,mBAAmB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE/C,MAAM,MAAM,oBAAoB,GAAG;IAClC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,WAAW,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IACjC,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CACd,CAAC;AAkJF,wBAAgB,0BAA0B,CACzC,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,OAAO,EAAE,oBAAoB,GAC3B,mBAAmB,GAAG,IAAI,CAwB5B"}