@iam-brain/opencode-codex-auth 1.4.4 → 1.5.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 (138) hide show
  1. package/dist/lib/codex-native/auth-menu-flow.js +2 -2
  2. package/dist/lib/codex-native/auth-menu-flow.js.map +1 -1
  3. package/dist/lib/codex-native/catalog-sync.d.ts +4 -0
  4. package/dist/lib/codex-native/catalog-sync.d.ts.map +1 -1
  5. package/dist/lib/codex-native/catalog-sync.js +36 -1
  6. package/dist/lib/codex-native/catalog-sync.js.map +1 -1
  7. package/dist/lib/codex-native/chat-hooks.d.ts +1 -1
  8. package/dist/lib/codex-native/chat-hooks.d.ts.map +1 -1
  9. package/dist/lib/codex-native/chat-hooks.js +1 -1
  10. package/dist/lib/codex-native/chat-hooks.js.map +1 -1
  11. package/dist/lib/codex-native/oauth-server.d.ts +17 -2
  12. package/dist/lib/codex-native/oauth-server.d.ts.map +1 -1
  13. package/dist/lib/codex-native/oauth-server.js +123 -3
  14. package/dist/lib/codex-native/oauth-server.js.map +1 -1
  15. package/dist/lib/codex-native/openai-loader-fetch.d.ts.map +1 -1
  16. package/dist/lib/codex-native/openai-loader-fetch.js +1 -1
  17. package/dist/lib/codex-native/openai-loader-fetch.js.map +1 -1
  18. package/dist/lib/codex-native/request-transform-model-service-tier.d.ts.map +1 -1
  19. package/dist/lib/codex-native/request-transform-model-service-tier.js +7 -1
  20. package/dist/lib/codex-native/request-transform-model-service-tier.js.map +1 -1
  21. package/dist/lib/codex-native/request-transform-model.d.ts.map +1 -1
  22. package/dist/lib/codex-native/request-transform-model.js +48 -1
  23. package/dist/lib/codex-native/request-transform-model.js.map +1 -1
  24. package/dist/lib/codex-native/request-transform-payload-helpers.d.ts.map +1 -1
  25. package/dist/lib/codex-native/request-transform-payload-helpers.js +6 -1
  26. package/dist/lib/codex-native/request-transform-payload-helpers.js.map +1 -1
  27. package/dist/lib/codex-native/request-transform-payload.d.ts +1 -0
  28. package/dist/lib/codex-native/request-transform-payload.d.ts.map +1 -1
  29. package/dist/lib/codex-native/request-transform-payload.js +48 -2
  30. package/dist/lib/codex-native/request-transform-payload.js.map +1 -1
  31. package/dist/lib/codex-native.d.ts.map +1 -1
  32. package/dist/lib/codex-native.js +61 -2
  33. package/dist/lib/codex-native.js.map +1 -1
  34. package/dist/lib/codex-status-tool.js +1 -1
  35. package/dist/lib/codex-status-tool.js.map +1 -1
  36. package/dist/lib/codex-status-ui.js +1 -1
  37. package/dist/lib/codex-status-ui.js.map +1 -1
  38. package/dist/lib/config/file.d.ts +33 -0
  39. package/dist/lib/config/file.d.ts.map +1 -0
  40. package/dist/lib/config/file.js +503 -0
  41. package/dist/lib/config/file.js.map +1 -0
  42. package/dist/lib/config/resolve.d.ts +10 -1
  43. package/dist/lib/config/resolve.d.ts.map +1 -1
  44. package/dist/lib/config/resolve.js +62 -1
  45. package/dist/lib/config/resolve.js.map +1 -1
  46. package/dist/lib/config.d.ts +2 -5
  47. package/dist/lib/config.d.ts.map +1 -1
  48. package/dist/lib/config.js +2 -5
  49. package/dist/lib/config.js.map +1 -1
  50. package/dist/lib/model-catalog/catalog-fetch.d.ts.map +1 -1
  51. package/dist/lib/model-catalog/catalog-fetch.js +2 -3
  52. package/dist/lib/model-catalog/catalog-fetch.js.map +1 -1
  53. package/dist/lib/model-catalog/shared.d.ts +0 -1
  54. package/dist/lib/model-catalog/shared.d.ts.map +1 -1
  55. package/dist/lib/model-catalog/shared.js +0 -31
  56. package/dist/lib/model-catalog/shared.js.map +1 -1
  57. package/dist/lib/storage/{domain-state.d.ts → auth-state.d.ts} +13 -2
  58. package/dist/lib/storage/auth-state.d.ts.map +1 -0
  59. package/dist/lib/storage/{domain-state.js → auth-state.js} +246 -26
  60. package/dist/lib/storage/auth-state.js.map +1 -0
  61. package/dist/lib/storage.d.ts +1 -1
  62. package/dist/lib/storage.d.ts.map +1 -1
  63. package/dist/lib/storage.js +2 -3
  64. package/dist/lib/storage.js.map +1 -1
  65. package/dist/lib/ui/auth-menu.d.ts +18 -1
  66. package/dist/lib/ui/auth-menu.d.ts.map +1 -1
  67. package/dist/lib/ui/auth-menu.js +78 -3
  68. package/dist/lib/ui/auth-menu.js.map +1 -1
  69. package/dist/lib/ui/tty.d.ts +40 -0
  70. package/dist/lib/ui/tty.d.ts.map +1 -0
  71. package/dist/lib/ui/{tty/select.js → tty.js} +57 -6
  72. package/dist/lib/ui/tty.js.map +1 -0
  73. package/package.json +2 -2
  74. package/dist/lib/codex-native/catalog-auth.d.ts +0 -6
  75. package/dist/lib/codex-native/catalog-auth.d.ts.map +0 -1
  76. package/dist/lib/codex-native/catalog-auth.js +0 -37
  77. package/dist/lib/codex-native/catalog-auth.js.map +0 -1
  78. package/dist/lib/codex-native/oauth-server-debug.d.ts +0 -10
  79. package/dist/lib/codex-native/oauth-server-debug.d.ts.map +0 -1
  80. package/dist/lib/codex-native/oauth-server-debug.js +0 -92
  81. package/dist/lib/codex-native/oauth-server-debug.js.map +0 -1
  82. package/dist/lib/codex-native/oauth-server-network.d.ts +0 -5
  83. package/dist/lib/codex-native/oauth-server-network.d.ts.map +0 -1
  84. package/dist/lib/codex-native/oauth-server-network.js +0 -39
  85. package/dist/lib/codex-native/oauth-server-network.js.map +0 -1
  86. package/dist/lib/codex-native/oauth-server-types.d.ts +0 -24
  87. package/dist/lib/codex-native/oauth-server-types.d.ts.map +0 -1
  88. package/dist/lib/codex-native/oauth-server-types.js +0 -2
  89. package/dist/lib/codex-native/oauth-server-types.js.map +0 -1
  90. package/dist/lib/codex-native/request-transform-gpt54-limits.d.ts +0 -2
  91. package/dist/lib/codex-native/request-transform-gpt54-limits.d.ts.map +0 -1
  92. package/dist/lib/codex-native/request-transform-gpt54-limits.js +0 -40
  93. package/dist/lib/codex-native/request-transform-gpt54-limits.js.map +0 -1
  94. package/dist/lib/codex-native/request-transform-shared.d.ts +0 -8
  95. package/dist/lib/codex-native/request-transform-shared.d.ts.map +0 -1
  96. package/dist/lib/codex-native/request-transform-shared.js +0 -49
  97. package/dist/lib/codex-native/request-transform-shared.js.map +0 -1
  98. package/dist/lib/codex-native/request-transform.d.ts +0 -4
  99. package/dist/lib/codex-native/request-transform.d.ts.map +0 -1
  100. package/dist/lib/codex-native/request-transform.js +0 -4
  101. package/dist/lib/codex-native/request-transform.js.map +0 -1
  102. package/dist/lib/config/behavior-settings.d.ts +0 -3
  103. package/dist/lib/config/behavior-settings.d.ts.map +0 -1
  104. package/dist/lib/config/behavior-settings.js +0 -33
  105. package/dist/lib/config/behavior-settings.js.map +0 -1
  106. package/dist/lib/config/io.d.ts +0 -16
  107. package/dist/lib/config/io.d.ts.map +0 -1
  108. package/dist/lib/config/io.js +0 -64
  109. package/dist/lib/config/io.js.map +0 -1
  110. package/dist/lib/config/parse.d.ts +0 -22
  111. package/dist/lib/config/parse.d.ts.map +0 -1
  112. package/dist/lib/config/parse.js +0 -327
  113. package/dist/lib/config/parse.js.map +0 -1
  114. package/dist/lib/config/validation.d.ts +0 -6
  115. package/dist/lib/config/validation.d.ts.map +0 -1
  116. package/dist/lib/config/validation.js +0 -171
  117. package/dist/lib/config/validation.js.map +0 -1
  118. package/dist/lib/storage/domain-state.d.ts.map +0 -1
  119. package/dist/lib/storage/domain-state.js.map +0 -1
  120. package/dist/lib/storage/migration.d.ts +0 -13
  121. package/dist/lib/storage/migration.d.ts.map +0 -1
  122. package/dist/lib/storage/migration.js +0 -225
  123. package/dist/lib/storage/migration.js.map +0 -1
  124. package/dist/lib/ui/auth-menu-runner.d.ts +0 -19
  125. package/dist/lib/ui/auth-menu-runner.d.ts.map +0 -1
  126. package/dist/lib/ui/auth-menu-runner.js +0 -79
  127. package/dist/lib/ui/auth-menu-runner.js.map +0 -1
  128. package/dist/lib/ui/tty/ansi.d.ts +0 -18
  129. package/dist/lib/ui/tty/ansi.d.ts.map +0 -1
  130. package/dist/lib/ui/tty/ansi.js +0 -37
  131. package/dist/lib/ui/tty/ansi.js.map +0 -1
  132. package/dist/lib/ui/tty/confirm.d.ts +0 -7
  133. package/dist/lib/ui/tty/confirm.d.ts.map +0 -1
  134. package/dist/lib/ui/tty/confirm.js +0 -20
  135. package/dist/lib/ui/tty/confirm.js.map +0 -1
  136. package/dist/lib/ui/tty/select.d.ts +0 -17
  137. package/dist/lib/ui/tty/select.d.ts.map +0 -1
  138. package/dist/lib/ui/tty/select.js.map +0 -1
@@ -0,0 +1,40 @@
1
+ export declare const ANSI: {
2
+ readonly hide: "\u001B[?25l";
3
+ readonly show: "\u001B[?25h";
4
+ readonly up: (n?: number) => string;
5
+ readonly clearLine: "\u001B[2K";
6
+ readonly cyan: "\u001B[36m";
7
+ readonly green: "\u001B[32m";
8
+ readonly red: "\u001B[31m";
9
+ readonly yellow: "\u001B[33m";
10
+ readonly dim: "\u001B[2m";
11
+ readonly bold: "\u001B[1m";
12
+ readonly reset: "\u001B[0m";
13
+ };
14
+ export type KeyAction = "up" | "down" | "enter" | "escape" | "escape-start" | null;
15
+ export interface MenuItem<T = string> {
16
+ label: string;
17
+ value: T;
18
+ hint?: string;
19
+ disabled?: boolean;
20
+ separator?: boolean;
21
+ color?: "red" | "green" | "yellow" | "cyan";
22
+ }
23
+ export interface SelectOptions {
24
+ message: string;
25
+ subtitle?: string;
26
+ input?: NodeJS.ReadStream;
27
+ output?: NodeJS.WriteStream;
28
+ useColor?: boolean;
29
+ }
30
+ export type ConfirmOptions = {
31
+ input?: NodeJS.ReadStream;
32
+ output?: NodeJS.WriteStream;
33
+ useColor?: boolean;
34
+ };
35
+ export declare function parseKey(data: Buffer): KeyAction;
36
+ export declare function isTTY(input?: NodeJS.ReadStream, output?: NodeJS.WriteStream): boolean;
37
+ export declare function shouldUseColor(): boolean;
38
+ export declare function select<T>(items: MenuItem<T>[], options: SelectOptions): Promise<T | null>;
39
+ export declare function confirm(message: string, defaultYes?: boolean, options?: ConfirmOptions): Promise<boolean>;
40
+ //# sourceMappingURL=tty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tty.d.ts","sourceRoot":"","sources":["../../../lib/ui/tty.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI;;;;;;;;;;;;CAYP,CAAA;AAEV,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,cAAc,GAAG,IAAI,CAAA;AAElF,MAAM,WAAW,QAAQ,CAAC,CAAC,GAAG,MAAM;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,CAAC,CAAA;IACR,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAA;CAC5C;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAA;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAA;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AA+ED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAQhD;AAED,wBAAgB,KAAK,CAAC,KAAK,GAAE,MAAM,CAAC,UAA0B,EAAE,MAAM,GAAE,MAAM,CAAC,WAA4B,GAAG,OAAO,CAEpH;AAED,wBAAgB,cAAc,IAAI,OAAO,CAIxC;AAED,wBAAsB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAwK/F;AAED,wBAAsB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,UAAQ,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAkBjH"}
@@ -1,4 +1,16 @@
1
- import { ANSI, isTTY, parseKey, shouldUseColor } from "./ansi.js";
1
+ export const ANSI = {
2
+ hide: "\x1b[?25l",
3
+ show: "\x1b[?25h",
4
+ up: (n = 1) => `\x1b[${n}A`,
5
+ clearLine: "\x1b[2K",
6
+ cyan: "\x1b[36m",
7
+ green: "\x1b[32m",
8
+ red: "\x1b[31m",
9
+ yellow: "\x1b[33m",
10
+ dim: "\x1b[2m",
11
+ bold: "\x1b[1m",
12
+ reset: "\x1b[0m"
13
+ };
2
14
  const ESCAPE_TIMEOUT_MS = 50;
3
15
  const ANSI_PATTERN = /^\x1b\[[0-9;?]*[A-Za-z]/;
4
16
  function getColorCode(color) {
@@ -72,6 +84,29 @@ function formatItemLabel(item, selected, useColor, maxWidth) {
72
84
  }
73
85
  return truncateAnsi(labelText, maxWidth);
74
86
  }
87
+ export function parseKey(data) {
88
+ const s = data.toString();
89
+ if (s === "\x1b[A" || s === "\x1bOA")
90
+ return "up";
91
+ if (s === "\x1b[B" || s === "\x1bOB")
92
+ return "down";
93
+ if (s === "\r" || s === "\n")
94
+ return "enter";
95
+ if (s === "\x03")
96
+ return "escape";
97
+ if (s === "\x1b")
98
+ return "escape-start";
99
+ return null;
100
+ }
101
+ export function isTTY(input = process.stdin, output = process.stdout) {
102
+ return Boolean(input.isTTY && output.isTTY);
103
+ }
104
+ export function shouldUseColor() {
105
+ const noColor = process.env.NO_COLOR;
106
+ if (noColor && noColor !== "0")
107
+ return false;
108
+ return true;
109
+ }
75
110
  export async function select(items, options) {
76
111
  const input = options.input ?? process.stdin;
77
112
  const output = options.output ?? process.stdout;
@@ -152,7 +187,6 @@ export async function select(items, options) {
152
187
  if (error instanceof Error) {
153
188
  // best effort cleanup
154
189
  }
155
- // best effort cleanup
156
190
  }
157
191
  process.removeListener("SIGINT", onSignal);
158
192
  process.removeListener("SIGTERM", onSignal);
@@ -217,11 +251,28 @@ export async function select(items, options) {
217
251
  }
218
252
  catch (error) {
219
253
  if (error instanceof Error) {
220
- // fall back to null selection when terminal setup fails
254
+ // fall through to null result on non-interactive terminals
221
255
  }
222
- cleanup();
223
- resolve(null);
256
+ finishWithValue(null);
224
257
  }
225
258
  });
226
259
  }
227
- //# sourceMappingURL=select.js.map
260
+ export async function confirm(message, defaultYes = false, options = {}) {
261
+ const items = defaultYes
262
+ ? [
263
+ { label: "Yes", value: true },
264
+ { label: "No", value: false }
265
+ ]
266
+ : [
267
+ { label: "No", value: false },
268
+ { label: "Yes", value: true }
269
+ ];
270
+ const result = await select(items, {
271
+ message,
272
+ input: options.input,
273
+ output: options.output,
274
+ useColor: options.useColor
275
+ });
276
+ return result ?? false;
277
+ }
278
+ //# sourceMappingURL=tty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tty.js","sourceRoot":"","sources":["../../../lib/ui/tty.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iam-brain/opencode-codex-auth",
3
- "version": "1.4.4",
3
+ "version": "1.5.1",
4
4
  "description": "Native Codex auth with multi-account rotation for OpenCode",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -47,7 +47,7 @@
47
47
  "check:docs": "node scripts/check-docs-references.mjs",
48
48
  "verify": "npm run check:esm-imports && npm run lint && npm run format:check && npm run typecheck && npm run typecheck:test && npm run test:anti-mock && npm run test:coverage && npm run check:coverage-ratchet && npm run check:docs && npm run build && npm run check:dist-esm-imports && npm run smoke:cli:dist",
49
49
  "check:esm-imports": "node scripts/check-esm-import-specifiers.mjs",
50
- "check:dist-esm-imports": "node scripts/check-dist-esm-import-specifiers.mjs",
50
+ "check:dist-esm-imports": "node scripts/check-esm-import-specifiers.mjs --dist",
51
51
  "smoke:cli": "npm run build && npm run smoke:cli:dist",
52
52
  "smoke:cli:dist": "node ./dist/bin/opencode-codex-auth.js --help",
53
53
  "perf:profile": "npm run build && node dist/scripts/perf-profile.js 300 .",
@@ -1,6 +0,0 @@
1
- import type { OpenAIAuthMode, RotationStrategy } from "../types.js";
2
- export declare function selectCatalogAuthCandidate(authMode: OpenAIAuthMode, pidOffsetEnabled: boolean, rotationStrategy?: RotationStrategy): Promise<{
3
- accessToken?: string;
4
- accountId?: string;
5
- }>;
6
- //# sourceMappingURL=catalog-auth.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"catalog-auth.d.ts","sourceRoot":"","sources":["../../../lib/codex-native/catalog-auth.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAEnE,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,cAAc,EACxB,gBAAgB,EAAE,OAAO,EACzB,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAoCvD"}
@@ -1,37 +0,0 @@
1
- import { selectAccount } from "../rotation.js";
2
- import { getOpenAIOAuthDomain, loadAuthStorage } from "../storage.js";
3
- export async function selectCatalogAuthCandidate(authMode, pidOffsetEnabled, rotationStrategy) {
4
- try {
5
- const auth = await loadAuthStorage();
6
- const domain = getOpenAIOAuthDomain(auth, authMode);
7
- if (!domain) {
8
- return {};
9
- }
10
- const now = Date.now();
11
- const selected = selectAccount({
12
- accounts: domain.accounts,
13
- strategy: rotationStrategy ?? domain.strategy,
14
- activeIdentityKey: domain.activeIdentityKey,
15
- now,
16
- stickyPidOffset: pidOffsetEnabled
17
- });
18
- if (!selected?.access) {
19
- return { accountId: selected?.accountId };
20
- }
21
- const expires = selected.expires;
22
- if (typeof expires !== "number" || !Number.isFinite(expires) || expires <= now) {
23
- return { accountId: selected.accountId };
24
- }
25
- return {
26
- accessToken: selected.access,
27
- accountId: selected.accountId
28
- };
29
- }
30
- catch (error) {
31
- if (error instanceof Error) {
32
- // best-effort catalog auth selection
33
- }
34
- return {};
35
- }
36
- }
37
- //# sourceMappingURL=catalog-auth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"catalog-auth.js","sourceRoot":"","sources":["../../../lib/codex-native/catalog-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAGrE,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,QAAwB,EACxB,gBAAyB,EACzB,gBAAmC;IAEnC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,eAAe,EAAE,CAAA;QACpC,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QACnD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,EAAE,CAAA;QACX,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAEtB,MAAM,QAAQ,GAAG,aAAa,CAAC;YAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,gBAAgB,IAAI,MAAM,CAAC,QAAQ;YAC7C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,GAAG;YACH,eAAe,EAAE,gBAAgB;SAClC,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;YACtB,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAA;QAC3C,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAA;QAChC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC;YAC/E,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAA;QAC1C,CAAC;QAED,OAAO;YACL,WAAW,EAAE,QAAQ,CAAC,MAAM;YAC5B,SAAS,EAAE,QAAQ,CAAC,SAAS;SAC9B,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,qCAAqC;QACvC,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC"}
@@ -1,10 +0,0 @@
1
- export declare function sanitizeDebugMeta(value: unknown): unknown;
2
- export declare function resolveDebugLogMaxBytes(): number;
3
- export declare function rotateDebugLogIfNeeded(debugLogFile: string, maxBytes: number): void;
4
- export declare function appendDebugLine(input: {
5
- debugLogDir: string;
6
- debugLogFile: string;
7
- debugLogMaxBytes: number;
8
- line: string;
9
- }): void;
10
- //# sourceMappingURL=oauth-server-debug.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oauth-server-debug.d.ts","sourceRoot":"","sources":["../../../lib/codex-native/oauth-server-debug.ts"],"names":[],"mappings":"AA4BA,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CA0BzD;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAMhD;AAED,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAoBnF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE;IACrC,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,gBAAgB,EAAE,MAAM,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;CACb,GAAG,IAAI,CAYP"}
@@ -1,92 +0,0 @@
1
- import { appendFileSync, chmodSync, mkdirSync, renameSync, statSync, unlinkSync } from "node:fs";
2
- import { isFsErrorCode } from "../cache-io.js";
3
- const DEFAULT_DEBUG_LOG_MAX_BYTES = 1_000_000;
4
- const REDACTED = "[redacted]";
5
- const REDACTED_DEBUG_META_KEY_FRAGMENTS = [
6
- "token",
7
- "secret",
8
- "password",
9
- "authorization",
10
- "cookie",
11
- "id_token",
12
- "refresh_token",
13
- "access_token",
14
- "authorization_code",
15
- "auth_code",
16
- "code_verifier",
17
- "pkce",
18
- "verifier"
19
- ];
20
- function shouldRedactDebugMetaKey(key) {
21
- const lower = key.trim().toLowerCase();
22
- if (!lower)
23
- return false;
24
- return REDACTED_DEBUG_META_KEY_FRAGMENTS.some((fragment) => lower.includes(fragment));
25
- }
26
- export function sanitizeDebugMeta(value) {
27
- if (typeof value === "string") {
28
- return value
29
- .replace(/\b(access_token|refresh_token|id_token|authorization_code|auth_code|code_verifier|pkce_verifier)=([^\s&]+)/gi, `$1=${REDACTED}`)
30
- .replace(/"(access_token|refresh_token|id_token|authorization_code|auth_code|code_verifier|pkce_verifier)"\s*:\s*"[^"]*"/gi, `"$1":"${REDACTED}"`)
31
- .replace(/([?&])(code|state|access_token|refresh_token|id_token|code_verifier|pkce_verifier)=([^&]+)/gi, (_match, prefix, key) => {
32
- return `${prefix}${key}=${REDACTED}`;
33
- });
34
- }
35
- if (Array.isArray(value))
36
- return value.map((item) => sanitizeDebugMeta(item));
37
- if (!value || typeof value !== "object")
38
- return value;
39
- const out = {};
40
- for (const [key, entry] of Object.entries(value)) {
41
- out[key] = shouldRedactDebugMetaKey(key) ? REDACTED : sanitizeDebugMeta(entry);
42
- }
43
- return out;
44
- }
45
- export function resolveDebugLogMaxBytes() {
46
- const raw = process.env.CODEX_AUTH_DEBUG_MAX_BYTES;
47
- if (!raw)
48
- return DEFAULT_DEBUG_LOG_MAX_BYTES;
49
- const parsed = Number(raw);
50
- if (!Number.isFinite(parsed))
51
- return DEFAULT_DEBUG_LOG_MAX_BYTES;
52
- return Math.max(16_384, Math.floor(parsed));
53
- }
54
- export function rotateDebugLogIfNeeded(debugLogFile, maxBytes) {
55
- try {
56
- const stat = statSync(debugLogFile);
57
- if (stat.size < maxBytes)
58
- return;
59
- const rotatedPath = `${debugLogFile}.1`;
60
- try {
61
- unlinkSync(rotatedPath);
62
- }
63
- catch (error) {
64
- if (!isFsErrorCode(error, "ENOENT")) {
65
- // ignore missing previous rotation file
66
- }
67
- // ignore missing previous rotation file
68
- }
69
- renameSync(debugLogFile, rotatedPath);
70
- }
71
- catch (error) {
72
- if (!isFsErrorCode(error, "ENOENT")) {
73
- // ignore when file does not exist or cannot be inspected
74
- }
75
- // ignore when file does not exist or cannot be inspected
76
- }
77
- }
78
- export function appendDebugLine(input) {
79
- try {
80
- mkdirSync(input.debugLogDir, { recursive: true, mode: 0o700 });
81
- rotateDebugLogIfNeeded(input.debugLogFile, input.debugLogMaxBytes);
82
- appendFileSync(input.debugLogFile, `${input.line}\n`, { encoding: "utf8", mode: 0o600 });
83
- chmodSync(input.debugLogFile, 0o600);
84
- }
85
- catch (error) {
86
- if (error instanceof Error) {
87
- // best effort file logging
88
- }
89
- // best effort file logging
90
- }
91
- }
92
- //# sourceMappingURL=oauth-server-debug.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oauth-server-debug.js","sourceRoot":"","sources":["../../../lib/codex-native/oauth-server-debug.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- export declare function isLoopbackRemoteAddress(remoteAddress: string | undefined): boolean;
2
- export declare function resolveListenHosts(loopbackHost: string): string[];
3
- export declare function shouldRetryListenWithFallback(error: unknown): boolean;
4
- export declare function rewriteCallbackUriHost(callbackUri: string, host: string): string;
5
- //# sourceMappingURL=oauth-server-network.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oauth-server-network.d.ts","sourceRoot":"","sources":["../../../lib/codex-native/oauth-server-network.ts"],"names":[],"mappings":"AAEA,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAQlF;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CAMjE;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAIrE;AAED,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAWhF"}
@@ -1,39 +0,0 @@
1
- import { isFsErrorCode } from "../cache-io.js";
2
- export function isLoopbackRemoteAddress(remoteAddress) {
3
- if (!remoteAddress)
4
- return false;
5
- const normalized = remoteAddress.split("%")[0]?.toLowerCase();
6
- if (!normalized)
7
- return false;
8
- if (normalized === "::1")
9
- return true;
10
- if (normalized.startsWith("127."))
11
- return true;
12
- if (normalized.startsWith("::ffff:127."))
13
- return true;
14
- return false;
15
- }
16
- export function resolveListenHosts(loopbackHost) {
17
- const normalized = loopbackHost.trim().toLowerCase();
18
- if (normalized === "localhost") {
19
- return ["localhost", "127.0.0.1", "::1"];
20
- }
21
- return [loopbackHost];
22
- }
23
- export function shouldRetryListenWithFallback(error) {
24
- return (isFsErrorCode(error, "EADDRNOTAVAIL") || isFsErrorCode(error, "EAFNOSUPPORT") || isFsErrorCode(error, "ENOTFOUND"));
25
- }
26
- export function rewriteCallbackUriHost(callbackUri, host) {
27
- try {
28
- const url = new URL(callbackUri);
29
- url.hostname = host;
30
- return url.toString();
31
- }
32
- catch (error) {
33
- if (error instanceof Error) {
34
- // fallback to configured callback URI when URL parsing fails
35
- }
36
- return callbackUri;
37
- }
38
- }
39
- //# sourceMappingURL=oauth-server-network.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oauth-server-network.js","sourceRoot":"","sources":["../../../lib/codex-native/oauth-server-network.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE9C,MAAM,UAAU,uBAAuB,CAAC,aAAiC;IACvE,IAAI,CAAC,aAAa;QAAE,OAAO,KAAK,CAAA;IAChC,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAA;IAC7D,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAA;IAC7B,IAAI,UAAU,KAAK,KAAK;QAAE,OAAO,IAAI,CAAA;IACrC,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAA;IAC9C,IAAI,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,IAAI,CAAA;IACrD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,YAAoB;IACrD,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IACpD,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;QAC/B,OAAO,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA;IAC1C,CAAC;IACD,OAAO,CAAC,YAAY,CAAC,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,KAAc;IAC1D,OAAO,CACL,aAAa,CAAC,KAAK,EAAE,eAAe,CAAC,IAAI,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,aAAa,CAAC,KAAK,EAAE,WAAW,CAAC,CACnH,CAAA;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,WAAmB,EAAE,IAAY;IACtE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAA;QAChC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAA;QACnB,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAA;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,6DAA6D;QAC/D,CAAC;QACD,OAAO,WAAW,CAAA;IACpB,CAAC;AACH,CAAC"}
@@ -1,24 +0,0 @@
1
- import type { OpenAIAuthMode } from "../types.js";
2
- export type OAuthServerStopReason = "success" | "error" | "other";
3
- export type OAuthServerControllerInput<TPkce, TTokens> = {
4
- port: number;
5
- loopbackHost: string;
6
- callbackOrigin: string;
7
- callbackUri: string;
8
- callbackPath: string;
9
- callbackTimeoutMs: number;
10
- debugLogDir?: string;
11
- debugLogFile?: string;
12
- buildOAuthErrorHtml: (error: string) => string;
13
- buildOAuthSuccessHtml: (mode: "native" | "codex") => string;
14
- composeCodexSuccessRedirectUrl: (tokens: TTokens) => string;
15
- exchangeCodeForTokens: (code: string, redirectUri: string, pkce: TPkce) => Promise<TTokens>;
16
- };
17
- export type PendingOAuth<TPkce, TTokens> = {
18
- pkce: TPkce;
19
- state: string;
20
- authMode: OpenAIAuthMode;
21
- resolve: (tokens: TTokens) => void;
22
- reject: (error: Error) => void;
23
- };
24
- //# sourceMappingURL=oauth-server-types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oauth-server-types.d.ts","sourceRoot":"","sources":["../../../lib/codex-native/oauth-server-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAA;AAEjE,MAAM,MAAM,0BAA0B,CAAC,KAAK,EAAE,OAAO,IAAI;IACvD,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,MAAM,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IAC9C,qBAAqB,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,KAAK,MAAM,CAAA;IAC3D,8BAA8B,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,CAAA;IAC3D,qBAAqB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAC5F,CAAA;AAED,MAAM,MAAM,YAAY,CAAC,KAAK,EAAE,OAAO,IAAI;IACzC,IAAI,EAAE,KAAK,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,cAAc,CAAA;IACxB,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IAClC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CAC/B,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=oauth-server-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oauth-server-types.js","sourceRoot":"","sources":["../../../lib/codex-native/oauth-server-types.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export declare function applyGpt54LongContextClampsToPayload(payload: Record<string, unknown>): boolean;
2
- //# sourceMappingURL=request-transform-gpt54-limits.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-transform-gpt54-limits.d.ts","sourceRoot":"","sources":["../../../lib/codex-native/request-transform-gpt54-limits.ts"],"names":[],"mappings":"AAOA,wBAAgB,oCAAoC,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAwC9F"}
@@ -1,40 +0,0 @@
1
- import { getModelLookupCandidates } from "./request-transform-model.js";
2
- import { asString } from "./request-transform-shared.js";
3
- const GPT_5_4_MAX_CONTEXT_WINDOW = 1_050_000;
4
- const GPT_5_4_MAX_OUTPUT_TOKENS = 128_000;
5
- const GPT_5_4_MAX_PRACTICAL_INPUT_TOKENS = GPT_5_4_MAX_CONTEXT_WINDOW - GPT_5_4_MAX_OUTPUT_TOKENS;
6
- export function applyGpt54LongContextClampsToPayload(payload) {
7
- const modelSlug = asString(payload.model);
8
- if (!modelSlug)
9
- return false;
10
- const modelCandidates = getModelLookupCandidates({
11
- id: modelSlug,
12
- api: { id: modelSlug }
13
- });
14
- const isGpt54 = modelCandidates.some((candidate) => candidate.trim().toLowerCase().startsWith("gpt-5.4"));
15
- if (!isGpt54)
16
- return false;
17
- let changed = false;
18
- const contextWindow = asFiniteNumber(payload.model_context_window);
19
- if (contextWindow !== undefined && contextWindow > GPT_5_4_MAX_CONTEXT_WINDOW) {
20
- payload.model_context_window = GPT_5_4_MAX_CONTEXT_WINDOW;
21
- changed = true;
22
- }
23
- const effectiveContextWindowMax = Math.min(GPT_5_4_MAX_CONTEXT_WINDOW, asFiniteNumber(payload.model_context_window) ?? GPT_5_4_MAX_CONTEXT_WINDOW);
24
- const autoCompactMax = Math.max(0, Math.min(GPT_5_4_MAX_PRACTICAL_INPUT_TOKENS, effectiveContextWindowMax - GPT_5_4_MAX_OUTPUT_TOKENS));
25
- const autoCompact = asFiniteNumber(payload.model_auto_compact_token_limit);
26
- if (autoCompact !== undefined && autoCompact > autoCompactMax) {
27
- payload.model_auto_compact_token_limit = autoCompactMax;
28
- changed = true;
29
- }
30
- const maxOutputTokens = asFiniteNumber(payload.max_output_tokens);
31
- if (maxOutputTokens !== undefined && maxOutputTokens > GPT_5_4_MAX_OUTPUT_TOKENS) {
32
- payload.max_output_tokens = GPT_5_4_MAX_OUTPUT_TOKENS;
33
- changed = true;
34
- }
35
- return changed;
36
- }
37
- function asFiniteNumber(value) {
38
- return typeof value === "number" && Number.isFinite(value) ? value : undefined;
39
- }
40
- //# sourceMappingURL=request-transform-gpt54-limits.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-transform-gpt54-limits.js","sourceRoot":"","sources":["../../../lib/codex-native/request-transform-gpt54-limits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AAExD,MAAM,0BAA0B,GAAG,SAAS,CAAA;AAC5C,MAAM,yBAAyB,GAAG,OAAO,CAAA;AACzC,MAAM,kCAAkC,GAAG,0BAA0B,GAAG,yBAAyB,CAAA;AAEjG,MAAM,UAAU,oCAAoC,CAAC,OAAgC;IACnF,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACzC,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAA;IAE5B,MAAM,eAAe,GAAG,wBAAwB,CAAC;QAC/C,EAAE,EAAE,SAAS;QACb,GAAG,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;KACvB,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAA;IACzG,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAA;IAE1B,IAAI,OAAO,GAAG,KAAK,CAAA;IAEnB,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAClE,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,GAAG,0BAA0B,EAAE,CAAC;QAC9E,OAAO,CAAC,oBAAoB,GAAG,0BAA0B,CAAA;QACzD,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC;IAED,MAAM,yBAAyB,GAAG,IAAI,CAAC,GAAG,CACxC,0BAA0B,EAC1B,cAAc,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,0BAA0B,CAC3E,CAAA;IACD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAC7B,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,kCAAkC,EAAE,yBAAyB,GAAG,yBAAyB,CAAC,CACpG,CAAA;IACD,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAA;IAC1E,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,GAAG,cAAc,EAAE,CAAC;QAC9D,OAAO,CAAC,8BAA8B,GAAG,cAAc,CAAA;QACvD,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC;IAED,MAAM,eAAe,GAAG,cAAc,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;IACjE,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,GAAG,yBAAyB,EAAE,CAAC;QACjF,OAAO,CAAC,iBAAiB,GAAG,yBAAyB,CAAA;QACrD,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AAChF,CAAC"}
@@ -1,8 +0,0 @@
1
- export declare const EFFORT_SUFFIX_REGEX: RegExp;
2
- export declare function asString(value: unknown): string | undefined;
3
- export declare function asStringArray(value: unknown): string[] | undefined;
4
- export declare function normalizeReasoningSummaryOption(value: unknown): "auto" | "concise" | "detailed" | undefined;
5
- export declare function normalizeTextVerbosity(value: unknown): "low" | "medium" | "high" | undefined;
6
- export declare function normalizeVerbositySetting(value: unknown): "default" | "low" | "medium" | "high" | undefined;
7
- export declare function mergeUnique(values: string[]): string[];
8
- //# sourceMappingURL=request-transform-shared.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-transform-shared.d.ts","sourceRoot":"","sources":["../../../lib/codex-native/request-transform-shared.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,QAA4C,CAAA;AAE5E,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAI3D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAGlE;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAK3G;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAK5F;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAO3G;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAStD"}
@@ -1,49 +0,0 @@
1
- export const EFFORT_SUFFIX_REGEX = /-(none|minimal|low|medium|high|xhigh)$/i;
2
- export function asString(value) {
3
- if (typeof value !== "string")
4
- return undefined;
5
- const trimmed = value.trim();
6
- return trimmed ? trimmed : undefined;
7
- }
8
- export function asStringArray(value) {
9
- if (!Array.isArray(value))
10
- return undefined;
11
- return value.filter((item) => typeof item === "string" && item.trim().length > 0);
12
- }
13
- export function normalizeReasoningSummaryOption(value) {
14
- const normalized = asString(value)?.toLowerCase();
15
- if (!normalized || normalized === "none")
16
- return undefined;
17
- if (normalized === "auto" || normalized === "concise" || normalized === "detailed")
18
- return normalized;
19
- return undefined;
20
- }
21
- export function normalizeTextVerbosity(value) {
22
- const normalized = asString(value)?.toLowerCase();
23
- if (!normalized)
24
- return undefined;
25
- if (normalized === "low" || normalized === "medium" || normalized === "high")
26
- return normalized;
27
- return undefined;
28
- }
29
- export function normalizeVerbositySetting(value) {
30
- const normalized = asString(value)?.toLowerCase();
31
- if (!normalized)
32
- return undefined;
33
- if (normalized === "default" || normalized === "low" || normalized === "medium" || normalized === "high") {
34
- return normalized;
35
- }
36
- return undefined;
37
- }
38
- export function mergeUnique(values) {
39
- const out = [];
40
- const seen = new Set();
41
- for (const value of values) {
42
- if (seen.has(value))
43
- continue;
44
- seen.add(value);
45
- out.push(value);
46
- }
47
- return out;
48
- }
49
- //# sourceMappingURL=request-transform-shared.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-transform-shared.js","sourceRoot":"","sources":["../../../lib/codex-native/request-transform-shared.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG,yCAAyC,CAAA;AAE5E,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAA;IAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC5B,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;AACtC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAC3C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AACnG,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,KAAc;IAC5D,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAA;IACjD,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,MAAM;QAAE,OAAO,SAAS,CAAA;IAC1D,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,UAAU;QAAE,OAAO,UAAU,CAAA;IACrG,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAA;IACjD,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAA;IACjC,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,MAAM;QAAE,OAAO,UAAU,CAAA;IAC/F,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAA;IACjD,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAA;IACjC,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACzG,OAAO,UAAU,CAAA;IACnB,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAgB;IAC1C,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,SAAQ;QAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACf,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjB,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC"}
@@ -1,4 +0,0 @@
1
- export { applyCodexRuntimeDefaultsToParams, findCatalogModelForCandidates, getModelLookupCandidates, getModelThinkingSummariesOverride, getModelVerbosityEnabledOverride, getModelVerbosityOverride, getVariantLookupCandidates, resolvePersonalityForModel } from "./request-transform-model.js";
2
- export { getModelServiceTierOverride, getRequestBodyVariantCandidates, resolveServiceTierForModel } from "./request-transform-model-service-tier.js";
3
- export { applyPromptCacheKeyOverrideToRequest, remapDeveloperMessagesToUserOnRequest, sanitizeOutboundRequestIfNeeded, stripStaleCatalogScopedDefaultsFromRequest, stripReasoningReplayFromRequest, transformOutboundRequestPayload, type ServiceTierTransformResult, type OutboundRequestPayloadTransformResult } from "./request-transform-payload.js";
4
- //# sourceMappingURL=request-transform.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-transform.d.ts","sourceRoot":"","sources":["../../../lib/codex-native/request-transform.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,6BAA6B,EAC7B,wBAAwB,EACxB,iCAAiC,EACjC,gCAAgC,EAChC,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC3B,MAAM,8BAA8B,CAAA;AAErC,OAAO,EACL,2BAA2B,EAC3B,+BAA+B,EAC/B,0BAA0B,EAC3B,MAAM,2CAA2C,CAAA;AAElD,OAAO,EACL,oCAAoC,EACpC,qCAAqC,EACrC,+BAA+B,EAC/B,0CAA0C,EAC1C,+BAA+B,EAC/B,+BAA+B,EAC/B,KAAK,0BAA0B,EAC/B,KAAK,qCAAqC,EAC3C,MAAM,gCAAgC,CAAA"}
@@ -1,4 +0,0 @@
1
- export { applyCodexRuntimeDefaultsToParams, findCatalogModelForCandidates, getModelLookupCandidates, getModelThinkingSummariesOverride, getModelVerbosityEnabledOverride, getModelVerbosityOverride, getVariantLookupCandidates, resolvePersonalityForModel } from "./request-transform-model.js";
2
- export { getModelServiceTierOverride, getRequestBodyVariantCandidates, resolveServiceTierForModel } from "./request-transform-model-service-tier.js";
3
- export { applyPromptCacheKeyOverrideToRequest, remapDeveloperMessagesToUserOnRequest, sanitizeOutboundRequestIfNeeded, stripStaleCatalogScopedDefaultsFromRequest, stripReasoningReplayFromRequest, transformOutboundRequestPayload } from "./request-transform-payload.js";
4
- //# sourceMappingURL=request-transform.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-transform.js","sourceRoot":"","sources":["../../../lib/codex-native/request-transform.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,6BAA6B,EAC7B,wBAAwB,EACxB,iCAAiC,EACjC,gCAAgC,EAChC,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC3B,MAAM,8BAA8B,CAAA;AAErC,OAAO,EACL,2BAA2B,EAC3B,+BAA+B,EAC/B,0BAA0B,EAC3B,MAAM,2CAA2C,CAAA;AAElD,OAAO,EACL,oCAAoC,EACpC,qCAAqC,EACrC,+BAA+B,EAC/B,0CAA0C,EAC1C,+BAA+B,EAC/B,+BAA+B,EAGhC,MAAM,gCAAgC,CAAA"}
@@ -1,3 +0,0 @@
1
- import type { BehaviorSettings } from "./types.js";
2
- export declare function cloneBehaviorSettings(input: BehaviorSettings | undefined): BehaviorSettings | undefined;
3
- //# sourceMappingURL=behavior-settings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"behavior-settings.d.ts","sourceRoot":"","sources":["../../../lib/config/behavior-settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAOlD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,GAAG,gBAAgB,GAAG,SAAS,CA6BvG"}