@iam-brain/opencode-codex-auth 1.4.2 → 1.5.0

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 (163) hide show
  1. package/README.md +1 -1
  2. package/dist/lib/codex-native/auth-menu-flow.js +2 -2
  3. package/dist/lib/codex-native/auth-menu-flow.js.map +1 -1
  4. package/dist/lib/codex-native/catalog-sync.d.ts +12 -6
  5. package/dist/lib/codex-native/catalog-sync.d.ts.map +1 -1
  6. package/dist/lib/codex-native/catalog-sync.js +42 -15
  7. package/dist/lib/codex-native/catalog-sync.js.map +1 -1
  8. package/dist/lib/codex-native/chat-hooks.d.ts +4 -1
  9. package/dist/lib/codex-native/chat-hooks.d.ts.map +1 -1
  10. package/dist/lib/codex-native/chat-hooks.js +18 -1
  11. package/dist/lib/codex-native/chat-hooks.js.map +1 -1
  12. package/dist/lib/codex-native/oauth-server.d.ts +17 -2
  13. package/dist/lib/codex-native/oauth-server.d.ts.map +1 -1
  14. package/dist/lib/codex-native/oauth-server.js +123 -3
  15. package/dist/lib/codex-native/oauth-server.js.map +1 -1
  16. package/dist/lib/codex-native/openai-loader-fetch-state.d.ts.map +1 -1
  17. package/dist/lib/codex-native/openai-loader-fetch-state.js +2 -0
  18. package/dist/lib/codex-native/openai-loader-fetch-state.js.map +1 -1
  19. package/dist/lib/codex-native/openai-loader-fetch.d.ts +10 -1
  20. package/dist/lib/codex-native/openai-loader-fetch.d.ts.map +1 -1
  21. package/dist/lib/codex-native/openai-loader-fetch.js +79 -70
  22. package/dist/lib/codex-native/openai-loader-fetch.js.map +1 -1
  23. package/dist/lib/codex-native/request-transform-model-service-tier.d.ts.map +1 -1
  24. package/dist/lib/codex-native/request-transform-model-service-tier.js +7 -1
  25. package/dist/lib/codex-native/request-transform-model-service-tier.js.map +1 -1
  26. package/dist/lib/codex-native/request-transform-model.d.ts +18 -0
  27. package/dist/lib/codex-native/request-transform-model.d.ts.map +1 -1
  28. package/dist/lib/codex-native/request-transform-model.js +65 -6
  29. package/dist/lib/codex-native/request-transform-model.js.map +1 -1
  30. package/dist/lib/codex-native/request-transform-payload-helpers.d.ts.map +1 -1
  31. package/dist/lib/codex-native/request-transform-payload-helpers.js +6 -1
  32. package/dist/lib/codex-native/request-transform-payload-helpers.js.map +1 -1
  33. package/dist/lib/codex-native/request-transform-payload.d.ts +16 -5
  34. package/dist/lib/codex-native/request-transform-payload.d.ts.map +1 -1
  35. package/dist/lib/codex-native/request-transform-payload.js +368 -62
  36. package/dist/lib/codex-native/request-transform-payload.js.map +1 -1
  37. package/dist/lib/codex-native.d.ts.map +1 -1
  38. package/dist/lib/codex-native.js +70 -11
  39. package/dist/lib/codex-native.js.map +1 -1
  40. package/dist/lib/codex-status-tool.js +1 -1
  41. package/dist/lib/codex-status-tool.js.map +1 -1
  42. package/dist/lib/codex-status-ui.js +1 -1
  43. package/dist/lib/codex-status-ui.js.map +1 -1
  44. package/dist/lib/config/file.d.ts +33 -0
  45. package/dist/lib/config/file.d.ts.map +1 -0
  46. package/dist/lib/config/file.js +503 -0
  47. package/dist/lib/config/file.js.map +1 -0
  48. package/dist/lib/config/resolve.d.ts +10 -1
  49. package/dist/lib/config/resolve.d.ts.map +1 -1
  50. package/dist/lib/config/resolve.js +62 -1
  51. package/dist/lib/config/resolve.js.map +1 -1
  52. package/dist/lib/config.d.ts +2 -5
  53. package/dist/lib/config.d.ts.map +1 -1
  54. package/dist/lib/config.js +2 -5
  55. package/dist/lib/config.js.map +1 -1
  56. package/dist/lib/model-catalog/cache-helpers.d.ts +2 -4
  57. package/dist/lib/model-catalog/cache-helpers.d.ts.map +1 -1
  58. package/dist/lib/model-catalog/cache-helpers.js +18 -52
  59. package/dist/lib/model-catalog/cache-helpers.js.map +1 -1
  60. package/dist/lib/model-catalog/catalog-fetch.d.ts.map +1 -1
  61. package/dist/lib/model-catalog/catalog-fetch.js +30 -14
  62. package/dist/lib/model-catalog/catalog-fetch.js.map +1 -1
  63. package/dist/lib/model-catalog/provider.d.ts.map +1 -1
  64. package/dist/lib/model-catalog/provider.js +169 -99
  65. package/dist/lib/model-catalog/provider.js.map +1 -1
  66. package/dist/lib/model-catalog/shared.d.ts +4 -1
  67. package/dist/lib/model-catalog/shared.d.ts.map +1 -1
  68. package/dist/lib/model-catalog/shared.js +48 -0
  69. package/dist/lib/model-catalog/shared.js.map +1 -1
  70. package/dist/lib/storage/{domain-state.d.ts → auth-state.d.ts} +13 -2
  71. package/dist/lib/storage/auth-state.d.ts.map +1 -0
  72. package/dist/lib/storage/{domain-state.js → auth-state.js} +246 -26
  73. package/dist/lib/storage/auth-state.js.map +1 -0
  74. package/dist/lib/storage.d.ts +1 -1
  75. package/dist/lib/storage.d.ts.map +1 -1
  76. package/dist/lib/storage.js +2 -3
  77. package/dist/lib/storage.js.map +1 -1
  78. package/dist/lib/ui/auth-menu.d.ts +18 -1
  79. package/dist/lib/ui/auth-menu.d.ts.map +1 -1
  80. package/dist/lib/ui/auth-menu.js +78 -3
  81. package/dist/lib/ui/auth-menu.js.map +1 -1
  82. package/dist/lib/ui/tty.d.ts +40 -0
  83. package/dist/lib/ui/tty.d.ts.map +1 -0
  84. package/dist/lib/ui/{tty/select.js → tty.js} +57 -6
  85. package/dist/lib/ui/tty.js.map +1 -0
  86. package/package.json +3 -4
  87. package/dist/lib/codex-native/catalog-auth.d.ts +0 -6
  88. package/dist/lib/codex-native/catalog-auth.d.ts.map +0 -1
  89. package/dist/lib/codex-native/catalog-auth.js +0 -37
  90. package/dist/lib/codex-native/catalog-auth.js.map +0 -1
  91. package/dist/lib/codex-native/oauth-server-debug.d.ts +0 -10
  92. package/dist/lib/codex-native/oauth-server-debug.d.ts.map +0 -1
  93. package/dist/lib/codex-native/oauth-server-debug.js +0 -92
  94. package/dist/lib/codex-native/oauth-server-debug.js.map +0 -1
  95. package/dist/lib/codex-native/oauth-server-network.d.ts +0 -5
  96. package/dist/lib/codex-native/oauth-server-network.d.ts.map +0 -1
  97. package/dist/lib/codex-native/oauth-server-network.js +0 -39
  98. package/dist/lib/codex-native/oauth-server-network.js.map +0 -1
  99. package/dist/lib/codex-native/oauth-server-types.d.ts +0 -24
  100. package/dist/lib/codex-native/oauth-server-types.d.ts.map +0 -1
  101. package/dist/lib/codex-native/oauth-server-types.js +0 -2
  102. package/dist/lib/codex-native/oauth-server-types.js.map +0 -1
  103. package/dist/lib/codex-native/request-transform-gpt54-limits.d.ts +0 -2
  104. package/dist/lib/codex-native/request-transform-gpt54-limits.d.ts.map +0 -1
  105. package/dist/lib/codex-native/request-transform-gpt54-limits.js +0 -40
  106. package/dist/lib/codex-native/request-transform-gpt54-limits.js.map +0 -1
  107. package/dist/lib/codex-native/request-transform-instructions.d.ts +0 -16
  108. package/dist/lib/codex-native/request-transform-instructions.d.ts.map +0 -1
  109. package/dist/lib/codex-native/request-transform-instructions.js +0 -96
  110. package/dist/lib/codex-native/request-transform-instructions.js.map +0 -1
  111. package/dist/lib/codex-native/request-transform-pipeline.d.ts +0 -28
  112. package/dist/lib/codex-native/request-transform-pipeline.d.ts.map +0 -1
  113. package/dist/lib/codex-native/request-transform-pipeline.js +0 -35
  114. package/dist/lib/codex-native/request-transform-pipeline.js.map +0 -1
  115. package/dist/lib/codex-native/request-transform-shared.d.ts +0 -8
  116. package/dist/lib/codex-native/request-transform-shared.d.ts.map +0 -1
  117. package/dist/lib/codex-native/request-transform-shared.js +0 -49
  118. package/dist/lib/codex-native/request-transform-shared.js.map +0 -1
  119. package/dist/lib/codex-native/request-transform.d.ts +0 -5
  120. package/dist/lib/codex-native/request-transform.d.ts.map +0 -1
  121. package/dist/lib/codex-native/request-transform.js +0 -5
  122. package/dist/lib/codex-native/request-transform.js.map +0 -1
  123. package/dist/lib/codex-native/static-fallback-models.d.ts +0 -2
  124. package/dist/lib/codex-native/static-fallback-models.d.ts.map +0 -1
  125. package/dist/lib/codex-native/static-fallback-models.js +0 -15
  126. package/dist/lib/codex-native/static-fallback-models.js.map +0 -1
  127. package/dist/lib/config/behavior-settings.d.ts +0 -3
  128. package/dist/lib/config/behavior-settings.d.ts.map +0 -1
  129. package/dist/lib/config/behavior-settings.js +0 -33
  130. package/dist/lib/config/behavior-settings.js.map +0 -1
  131. package/dist/lib/config/io.d.ts +0 -16
  132. package/dist/lib/config/io.d.ts.map +0 -1
  133. package/dist/lib/config/io.js +0 -64
  134. package/dist/lib/config/io.js.map +0 -1
  135. package/dist/lib/config/parse.d.ts +0 -22
  136. package/dist/lib/config/parse.d.ts.map +0 -1
  137. package/dist/lib/config/parse.js +0 -327
  138. package/dist/lib/config/parse.js.map +0 -1
  139. package/dist/lib/config/validation.d.ts +0 -6
  140. package/dist/lib/config/validation.d.ts.map +0 -1
  141. package/dist/lib/config/validation.js +0 -171
  142. package/dist/lib/config/validation.js.map +0 -1
  143. package/dist/lib/storage/domain-state.d.ts.map +0 -1
  144. package/dist/lib/storage/domain-state.js.map +0 -1
  145. package/dist/lib/storage/migration.d.ts +0 -13
  146. package/dist/lib/storage/migration.d.ts.map +0 -1
  147. package/dist/lib/storage/migration.js +0 -225
  148. package/dist/lib/storage/migration.js.map +0 -1
  149. package/dist/lib/ui/auth-menu-runner.d.ts +0 -19
  150. package/dist/lib/ui/auth-menu-runner.d.ts.map +0 -1
  151. package/dist/lib/ui/auth-menu-runner.js +0 -79
  152. package/dist/lib/ui/auth-menu-runner.js.map +0 -1
  153. package/dist/lib/ui/tty/ansi.d.ts +0 -18
  154. package/dist/lib/ui/tty/ansi.d.ts.map +0 -1
  155. package/dist/lib/ui/tty/ansi.js +0 -37
  156. package/dist/lib/ui/tty/ansi.js.map +0 -1
  157. package/dist/lib/ui/tty/confirm.d.ts +0 -7
  158. package/dist/lib/ui/tty/confirm.d.ts.map +0 -1
  159. package/dist/lib/ui/tty/confirm.js +0 -20
  160. package/dist/lib/ui/tty/confirm.js.map +0 -1
  161. package/dist/lib/ui/tty/select.d.ts +0 -17
  162. package/dist/lib/ui/tty/select.d.ts.map +0 -1
  163. 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":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,WAAW;IACjB,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG;IAC3B,SAAS,EAAE,SAAS;IACpB,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,UAAU;IACjB,GAAG,EAAE,UAAU;IACf,MAAM,EAAE,UAAU;IAClB,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,SAAS;CACR,CAAA;AA2BV,MAAM,iBAAiB,GAAG,EAAE,CAAA;AAC5B,MAAM,YAAY,GAAG,yBAAyB,CAAA;AAE9C,SAAS,YAAY,CAAC,KAAwB;IAC5C,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,KAAK;YACR,OAAO,IAAI,CAAC,GAAG,CAAA;QACjB,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,KAAK,CAAA;QACnB,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,MAAM,CAAA;QACpB,KAAK,MAAM;YACT,OAAO,IAAI,CAAC,IAAI,CAAA;QAClB;YACE,OAAO,EAAE,CAAA;IACb,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC,MAAM,CAAA;AAC3D,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,UAAkB;IACpD,IAAI,UAAU,IAAI,CAAC;QAAE,OAAO,EAAE,CAAA;IAC9B,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,UAAU;QAAE,OAAO,IAAI,CAAA;IAClD,MAAM,QAAQ,GAAG,KAAK,CAAA;IACtB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;IACvD,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,IAAI,OAAO,GAAG,KAAK,CAAA;IAEnB,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,GAAG,KAAK,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;YAC/C,IAAI,KAAK,EAAE,CAAC;gBACV,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAA;gBACf,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;gBACpB,OAAO,GAAG,IAAI,CAAA;gBACd,SAAQ;YACV,CAAC;QACH,CAAC;QACD,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA;QACd,OAAO,IAAI,CAAC,CAAA;QACZ,CAAC,IAAI,CAAC,CAAA;IACR,CAAC;IAED,GAAG,IAAI,QAAQ,CAAA;IACf,IAAI,OAAO;QAAE,GAAG,IAAI,IAAI,CAAC,KAAK,CAAA;IAC9B,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,eAAe,CAAC,IAAuB,EAAE,QAAiB,EAAE,QAAiB,EAAE,QAAgB;IACtG,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1D,IAAI,SAAiB,CAAA;IAErB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,iBAAiB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,gBAAgB,CAAA;IAC9G,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QACpB,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAA;QAC7E,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAA;QACnF,CAAC;IACH,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,QAAQ;YAClB,CAAC,CAAC,SAAS;gBACT,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;gBACrD,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;YAC3C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAA;QACd,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAA;QACnF,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;AAC1C,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;IACzB,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IACjD,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAA;IACnD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,OAAO,CAAA;IAC5C,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,QAAQ,CAAA;IACjC,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,cAAc,CAAA;IACvC,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,QAA2B,OAAO,CAAC,KAAK,EAAE,SAA6B,OAAO,CAAC,MAAM;IACzG,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAA;IACpC,IAAI,OAAO,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,KAAK,CAAA;IAC5C,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAI,KAAoB,EAAE,OAAsB;IAC1E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAA;IAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAA;IAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,cAAc,EAAE,CAAA;IAErD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC;QAAE,OAAO,IAAI,CAAA;IACtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAEnC,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC9E,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAC1C,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,CAAA;IAEpE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAA;IACrC,IAAI,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACzE,IAAI,MAAM,KAAK,CAAC,CAAC;QAAE,MAAM,GAAG,CAAC,CAAA;IAC7B,IAAI,aAAa,GAAyC,IAAI,CAAA;IAC9D,IAAI,WAAW,GAAG,KAAK,CAAA;IACvB,IAAI,aAAa,GAAG,IAAI,CAAA;IAExB,MAAM,aAAa,GAAG,GAAW,EAAE;QACjC,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACtC,OAAO,CAAC,GAAG,aAAa,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAA;IACjD,CAAC,CAAA;IAED,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;QAClC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAA;QACpC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,GAAG,CAAC,CAAC,CAAA;QAE9C,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAA;QAC1C,CAAC;QACD,aAAa,GAAG,KAAK,CAAA;QAErB,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,IAAI,CAAC,CAAA;QAExG,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;YAC5F,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,CAAA;YAC1G,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,CAAA;QACrC,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YACrB,IAAI,CAAC,IAAI;gBAAE,SAAQ;YAEnB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;gBAC5F,SAAQ;YACV,CAAC;YAED,MAAM,UAAU,GAAG,CAAC,KAAK,MAAM,CAAA;YAC/B,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;YAC3E,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CACV,GAAG,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,SAAS,IAAI,CAC1J,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CACV,GAAG,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,SAAS,IAAI,CACxJ,CAAA;YACH,CAAC;QACH,CAAC;QAED,MAAM,CAAC,KAAK,CACV,GAAG,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,iCAAiC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CACxK,CAAA;QACD,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAC/F,CAAC,CAAA;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;QAErE,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,IAAI,WAAW;gBAAE,OAAM;YACvB,WAAW,GAAG,IAAI,CAAA;YAElB,IAAI,aAAa,EAAE,CAAC;gBAClB,YAAY,CAAC,aAAa,CAAC,CAAA;gBAC3B,aAAa,GAAG,IAAI,CAAA;YACtB,CAAC;YAED,IAAI,CAAC;gBACH,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;gBACnC,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;oBAC3C,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;gBAC1B,CAAC;gBACD,KAAK,CAAC,KAAK,EAAE,CAAA;gBACb,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACzB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;oBAC3B,sBAAsB;gBACxB,CAAC;YACH,CAAC;YAED,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;YAC1C,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QAC7C,CAAC,CAAA;QAED,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,OAAO,EAAE,CAAA;YACT,OAAO,CAAC,IAAI,CAAC,CAAA;QACf,CAAC,CAAA;QAED,MAAM,eAAe,GAAG,CAAC,KAAe,EAAE,EAAE;YAC1C,OAAO,EAAE,CAAA;YACT,OAAO,CAAC,KAAK,CAAC,CAAA;QAChB,CAAC,CAAA;QAED,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,SAAiB,EAAU,EAAE;YACrE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAA;YACnC,IAAI,IAAI,GAAG,IAAI,CAAA;YACf,GAAG,CAAC;gBACF,IAAI,GAAG,CAAC,IAAI,GAAG,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;YACzD,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAC;YACzD,OAAO,IAAI,CAAA;QACb,CAAC,CAAA;QAED,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAE;YAC7B,IAAI,aAAa,EAAE,CAAC;gBAClB,YAAY,CAAC,aAAa,CAAC,CAAA;gBAC3B,aAAa,GAAG,IAAI,CAAA;YACtB,CAAC;YAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;YAC7B,QAAQ,MAAM,EAAE,CAAC;gBACf,KAAK,IAAI;oBACP,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAA;oBACvC,MAAM,EAAE,CAAA;oBACR,OAAM;gBACR,KAAK,MAAM;oBACT,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;oBACtC,MAAM,EAAE,CAAA;oBACR,OAAM;gBACR,KAAK,OAAO;oBACV,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,CAAA;oBAC7C,OAAM;gBACR,KAAK,QAAQ;oBACX,eAAe,CAAC,IAAI,CAAC,CAAA;oBACrB,OAAM;gBACR,KAAK,cAAc;oBACjB,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;wBAC9B,eAAe,CAAC,IAAI,CAAC,CAAA;oBACvB,CAAC,EAAE,iBAAiB,CAAC,CAAA;oBACrB,OAAM;gBACR;oBACE,OAAM;YACV,CAAC;QACH,CAAC,CAAA;QAED,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAChC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QAEjC,IAAI,CAAC;YACH,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;gBAC3C,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YACxB,CAAC;YACD,KAAK,CAAC,MAAM,EAAE,CAAA;YACd,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACvB,MAAM,EAAE,CAAA;YACR,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,2DAA2D;YAC7D,CAAC;YACD,eAAe,CAAC,IAAI,CAAC,CAAA;QACvB,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAe,EAAE,UAAU,GAAG,KAAK,EAAE,UAA0B,EAAE;IAC7F,MAAM,KAAK,GAAG,UAAU;QACtB,CAAC,CAAC;YACE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;YAC7B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;SAC9B;QACH,CAAC,CAAC;YACE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;YAC7B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;SAC9B,CAAA;IAEL,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE;QACjC,OAAO;QACP,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC,CAAA;IACF,OAAO,MAAM,IAAI,KAAK,CAAA;AACxB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iam-brain/opencode-codex-auth",
3
- "version": "1.4.2",
3
+ "version": "1.5.0",
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",
@@ -43,12 +43,11 @@
43
43
  "test": "vitest run",
44
44
  "test:coverage": "vitest run --coverage.enabled true --coverage.provider=v8",
45
45
  "test:anti-mock": "node scripts/check-test-mocking.mjs",
46
- "check:file-size": "node scripts/check-file-size.mjs",
47
46
  "check:coverage-ratchet": "node scripts/check-coverage-ratchet.mjs",
48
47
  "check:docs": "node scripts/check-docs-references.mjs",
49
- "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:file-size && npm run check:docs && npm run build && npm run check:dist-esm-imports && npm run smoke:cli:dist",
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",
50
49
  "check:esm-imports": "node scripts/check-esm-import-specifiers.mjs",
51
- "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",
52
51
  "smoke:cli": "npm run build && npm run smoke:cli:dist",
53
52
  "smoke:cli:dist": "node ./dist/bin/opencode-codex-auth.js --help",
54
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,16 +0,0 @@
1
- import type { BehaviorSettings, PersonalityOption } from "../config.js";
2
- import type { CodexModelInfo } from "../model-catalog.js";
3
- export declare function applyCatalogInstructionOverrideToRequest(input: {
4
- request: Request;
5
- enabled: boolean;
6
- catalogModels: CodexModelInfo[] | undefined;
7
- behaviorSettings: BehaviorSettings | undefined;
8
- fallbackPersonality: PersonalityOption | undefined;
9
- preserveOrchestratorInstructions?: boolean;
10
- replaceCodexToolCalls?: boolean;
11
- }): Promise<{
12
- request: Request;
13
- changed: boolean;
14
- reason: string;
15
- }>;
16
- //# sourceMappingURL=request-transform-instructions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-transform-instructions.d.ts","sourceRoot":"","sources":["../../../lib/codex-native/request-transform-instructions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAoCzD,wBAAsB,wCAAwC,CAAC,KAAK,EAAE;IACpE,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,cAAc,EAAE,GAAG,SAAS,CAAA;IAC3C,gBAAgB,EAAE,gBAAgB,GAAG,SAAS,CAAA;IAC9C,mBAAmB,EAAE,iBAAiB,GAAG,SAAS,CAAA;IAClD,gCAAgC,CAAC,EAAE,OAAO,CAAA;IAC1C,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAoElE"}
@@ -1,96 +0,0 @@
1
- import { resolveInstructionsForModel } from "../model-catalog.js";
2
- import { isRecord } from "../util.js";
3
- import { isOrchestratorInstructions, replaceCodexToolCallsForOpenCode } from "./collaboration.js";
4
- import { findCatalogModelForCandidates, getModelLookupCandidates, resolvePersonalityForModel } from "./request-transform-model.js";
5
- import { getRequestBodyVariantCandidates } from "./request-transform-model-service-tier.js";
6
- import { rebuildRequestWithJsonBody } from "./request-transform-payload-helpers.js";
7
- import { asString } from "./request-transform-shared.js";
8
- const COLLABORATION_INSTRUCTION_MARKERS = [
9
- "# Plan Mode",
10
- "# Plan Mode (Conversational)",
11
- "# Sub-agents",
12
- "# Tooling Compatibility ("
13
- ];
14
- function extractCollaborationInstructionTail(instructions) {
15
- const normalized = instructions.trim();
16
- if (!normalized)
17
- return undefined;
18
- let markerIndex;
19
- for (const marker of COLLABORATION_INSTRUCTION_MARKERS) {
20
- const index = normalized.indexOf(marker);
21
- if (index < 0)
22
- continue;
23
- if (markerIndex === undefined || index < markerIndex)
24
- markerIndex = index;
25
- }
26
- if (markerIndex === undefined)
27
- return undefined;
28
- const tail = normalized.slice(markerIndex).trim();
29
- return tail.length > 0 ? tail : undefined;
30
- }
31
- export async function applyCatalogInstructionOverrideToRequest(input) {
32
- if (!input.enabled)
33
- return { request: input.request, changed: false, reason: "disabled" };
34
- const method = input.request.method.toUpperCase();
35
- if (method !== "POST")
36
- return { request: input.request, changed: false, reason: "non_post" };
37
- let payload;
38
- try {
39
- const raw = await input.request.clone().text();
40
- if (!raw)
41
- return { request: input.request, changed: false, reason: "empty_body" };
42
- payload = JSON.parse(raw);
43
- }
44
- catch (error) {
45
- if (!(error instanceof SyntaxError)) {
46
- // request body could not be parsed as JSON
47
- }
48
- return { request: input.request, changed: false, reason: "invalid_json" };
49
- }
50
- if (!isRecord(payload))
51
- return { request: input.request, changed: false, reason: "non_object_body" };
52
- const modelSlugRaw = asString(payload.model);
53
- if (!modelSlugRaw)
54
- return { request: input.request, changed: false, reason: "missing_model" };
55
- const modelCandidates = getModelLookupCandidates({
56
- id: modelSlugRaw,
57
- api: { id: modelSlugRaw }
58
- });
59
- const variantCandidates = getRequestBodyVariantCandidates({
60
- body: payload,
61
- modelSlug: modelSlugRaw
62
- });
63
- const effectivePersonality = resolvePersonalityForModel({
64
- behaviorSettings: input.behaviorSettings,
65
- modelCandidates,
66
- variantCandidates,
67
- fallback: input.fallbackPersonality
68
- });
69
- const catalogModel = findCatalogModelForCandidates(input.catalogModels, modelCandidates);
70
- if (!catalogModel)
71
- return { request: input.request, changed: false, reason: "catalog_model_not_found" };
72
- const rendered = resolveInstructionsForModel(catalogModel, effectivePersonality);
73
- if (!rendered)
74
- return { request: input.request, changed: false, reason: "rendered_empty_or_unsafe" };
75
- const renderedForRequest = input.replaceCodexToolCalls === true ? (replaceCodexToolCallsForOpenCode(rendered) ?? rendered) : rendered;
76
- const currentInstructions = asString(payload.instructions);
77
- const preserveOrchestratorInstructions = input.preserveOrchestratorInstructions !== false;
78
- if (preserveOrchestratorInstructions && isOrchestratorInstructions(currentInstructions)) {
79
- return { request: input.request, changed: false, reason: "orchestrator_instructions_preserved" };
80
- }
81
- if (currentInstructions === renderedForRequest) {
82
- return { request: input.request, changed: false, reason: "already_matches" };
83
- }
84
- const collaborationTail = currentInstructions ? extractCollaborationInstructionTail(currentInstructions) : undefined;
85
- const preservedInstructions = collaborationTail ?? currentInstructions?.trim();
86
- const nextInstructions = preservedInstructions
87
- ? `${renderedForRequest}\n\n${preservedInstructions}`
88
- : renderedForRequest;
89
- if (currentInstructions === nextInstructions) {
90
- return { request: input.request, changed: false, reason: "already_matches" };
91
- }
92
- payload.instructions = nextInstructions;
93
- const updatedRequest = rebuildRequestWithJsonBody(input.request, payload);
94
- return { request: updatedRequest, changed: true, reason: "updated" };
95
- }
96
- //# sourceMappingURL=request-transform-instructions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-transform-instructions.js","sourceRoot":"","sources":["../../../lib/codex-native/request-transform-instructions.ts"],"names":[],"mappings":"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"}