@iam-brain/opencode-codex-auth 1.2.5 → 1.4.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 (172) hide show
  1. package/README.md +42 -98
  2. package/dist/lib/accounts-tools.d.ts.map +1 -1
  3. package/dist/lib/accounts-tools.js +1 -3
  4. package/dist/lib/accounts-tools.js.map +1 -1
  5. package/dist/lib/codex-native/acquire-auth.d.ts.map +1 -1
  6. package/dist/lib/codex-native/acquire-auth.js +2 -1
  7. package/dist/lib/codex-native/acquire-auth.js.map +1 -1
  8. package/dist/lib/codex-native/catalog-sync.d.ts +1 -1
  9. package/dist/lib/codex-native/catalog-sync.d.ts.map +1 -1
  10. package/dist/lib/codex-native/chat-hooks.d.ts.map +1 -1
  11. package/dist/lib/codex-native/chat-hooks.js.map +1 -1
  12. package/dist/lib/codex-native/client-identity.js +1 -1
  13. package/dist/lib/codex-native/client-identity.js.map +1 -1
  14. package/dist/lib/codex-native/oauth-auth-methods.d.ts.map +1 -1
  15. package/dist/lib/codex-native/oauth-auth-methods.js +5 -2
  16. package/dist/lib/codex-native/oauth-auth-methods.js.map +1 -1
  17. package/dist/lib/codex-native/oauth-server-debug.d.ts +10 -0
  18. package/dist/lib/codex-native/oauth-server-debug.d.ts.map +1 -0
  19. package/dist/lib/codex-native/oauth-server-debug.js +92 -0
  20. package/dist/lib/codex-native/oauth-server-debug.js.map +1 -0
  21. package/dist/lib/codex-native/oauth-server-network.d.ts +5 -0
  22. package/dist/lib/codex-native/oauth-server-network.d.ts.map +1 -0
  23. package/dist/lib/codex-native/oauth-server-network.js +39 -0
  24. package/dist/lib/codex-native/oauth-server-network.js.map +1 -0
  25. package/dist/lib/codex-native/oauth-server-types.d.ts +24 -0
  26. package/dist/lib/codex-native/oauth-server-types.d.ts.map +1 -0
  27. package/dist/lib/codex-native/oauth-server-types.js +2 -0
  28. package/dist/lib/codex-native/oauth-server-types.js.map +1 -0
  29. package/dist/lib/codex-native/oauth-server.d.ts +2 -17
  30. package/dist/lib/codex-native/oauth-server.d.ts.map +1 -1
  31. package/dist/lib/codex-native/oauth-server.js +11 -130
  32. package/dist/lib/codex-native/oauth-server.js.map +1 -1
  33. package/dist/lib/codex-native/openai-loader-fetch-quota.d.ts +18 -0
  34. package/dist/lib/codex-native/openai-loader-fetch-quota.d.ts.map +1 -0
  35. package/dist/lib/codex-native/openai-loader-fetch-quota.js +71 -0
  36. package/dist/lib/codex-native/openai-loader-fetch-quota.js.map +1 -0
  37. package/dist/lib/codex-native/openai-loader-fetch-state.d.ts +27 -0
  38. package/dist/lib/codex-native/openai-loader-fetch-state.d.ts.map +1 -0
  39. package/dist/lib/codex-native/openai-loader-fetch-state.js +91 -0
  40. package/dist/lib/codex-native/openai-loader-fetch-state.js.map +1 -0
  41. package/dist/lib/codex-native/openai-loader-fetch.d.ts.map +1 -1
  42. package/dist/lib/codex-native/openai-loader-fetch.js +28 -163
  43. package/dist/lib/codex-native/openai-loader-fetch.js.map +1 -1
  44. package/dist/lib/codex-native/request-transform-instructions.d.ts +16 -0
  45. package/dist/lib/codex-native/request-transform-instructions.d.ts.map +1 -0
  46. package/dist/lib/codex-native/request-transform-instructions.js +96 -0
  47. package/dist/lib/codex-native/request-transform-instructions.js.map +1 -0
  48. package/dist/lib/codex-native/request-transform-model-service-tier.d.ts +12 -0
  49. package/dist/lib/codex-native/request-transform-model-service-tier.d.ts.map +1 -0
  50. package/dist/lib/codex-native/request-transform-model-service-tier.js +88 -0
  51. package/dist/lib/codex-native/request-transform-model-service-tier.js.map +1 -0
  52. package/dist/lib/codex-native/request-transform-model.d.ts +39 -0
  53. package/dist/lib/codex-native/request-transform-model.d.ts.map +1 -0
  54. package/dist/lib/codex-native/request-transform-model.js +276 -0
  55. package/dist/lib/codex-native/request-transform-model.js.map +1 -0
  56. package/dist/lib/codex-native/request-transform-payload-helpers.d.ts +26 -0
  57. package/dist/lib/codex-native/request-transform-payload-helpers.d.ts.map +1 -0
  58. package/dist/lib/codex-native/request-transform-payload-helpers.js +232 -0
  59. package/dist/lib/codex-native/request-transform-payload-helpers.js.map +1 -0
  60. package/dist/lib/codex-native/request-transform-payload.d.ts +66 -0
  61. package/dist/lib/codex-native/request-transform-payload.d.ts.map +1 -0
  62. package/dist/lib/codex-native/request-transform-payload.js +296 -0
  63. package/dist/lib/codex-native/request-transform-payload.js.map +1 -0
  64. package/dist/lib/codex-native/request-transform-pipeline.d.ts +2 -1
  65. package/dist/lib/codex-native/request-transform-pipeline.d.ts.map +1 -1
  66. package/dist/lib/codex-native/request-transform-pipeline.js +6 -0
  67. package/dist/lib/codex-native/request-transform-pipeline.js.map +1 -1
  68. package/dist/lib/codex-native/request-transform-shared.d.ts +8 -0
  69. package/dist/lib/codex-native/request-transform-shared.d.ts.map +1 -0
  70. package/dist/lib/codex-native/request-transform-shared.js +49 -0
  71. package/dist/lib/codex-native/request-transform-shared.js.map +1 -0
  72. package/dist/lib/codex-native/request-transform.d.ts +4 -122
  73. package/dist/lib/codex-native/request-transform.d.ts.map +1 -1
  74. package/dist/lib/codex-native/request-transform.js +4 -862
  75. package/dist/lib/codex-native/request-transform.js.map +1 -1
  76. package/dist/lib/codex-native/session-affinity-state.d.ts +13 -0
  77. package/dist/lib/codex-native/session-affinity-state.d.ts.map +1 -1
  78. package/dist/lib/codex-native/session-affinity-state.js +20 -8
  79. package/dist/lib/codex-native/session-affinity-state.js.map +1 -1
  80. package/dist/lib/codex-native/static-fallback-models.d.ts +2 -0
  81. package/dist/lib/codex-native/static-fallback-models.d.ts.map +1 -0
  82. package/dist/lib/codex-native/static-fallback-models.js +15 -0
  83. package/dist/lib/codex-native/static-fallback-models.js.map +1 -0
  84. package/dist/lib/codex-native.d.ts.map +1 -1
  85. package/dist/lib/codex-native.js +1 -8
  86. package/dist/lib/codex-native.js.map +1 -1
  87. package/dist/lib/codex-prompts-cache.d.ts.map +1 -1
  88. package/dist/lib/codex-prompts-cache.js.map +1 -1
  89. package/dist/lib/codex-quota-fetch.js +1 -1
  90. package/dist/lib/codex-quota-fetch.js.map +1 -1
  91. package/dist/lib/config/behavior-settings.d.ts +3 -0
  92. package/dist/lib/config/behavior-settings.d.ts.map +1 -0
  93. package/dist/lib/config/behavior-settings.js +33 -0
  94. package/dist/lib/config/behavior-settings.js.map +1 -0
  95. package/dist/lib/config/io.d.ts +16 -0
  96. package/dist/lib/config/io.d.ts.map +1 -0
  97. package/dist/lib/config/io.js +64 -0
  98. package/dist/lib/config/io.js.map +1 -0
  99. package/dist/lib/config/parse.d.ts +22 -0
  100. package/dist/lib/config/parse.d.ts.map +1 -0
  101. package/dist/lib/config/parse.js +327 -0
  102. package/dist/lib/config/parse.js.map +1 -0
  103. package/dist/lib/config/resolve.d.ts +27 -0
  104. package/dist/lib/config/resolve.d.ts.map +1 -0
  105. package/dist/lib/config/resolve.js +154 -0
  106. package/dist/lib/config/resolve.js.map +1 -0
  107. package/dist/lib/config/types.d.ts +74 -0
  108. package/dist/lib/config/types.d.ts.map +1 -0
  109. package/dist/lib/config/types.js +160 -0
  110. package/dist/lib/config/types.js.map +1 -0
  111. package/dist/lib/config/validation.d.ts +6 -0
  112. package/dist/lib/config/validation.d.ts.map +1 -0
  113. package/dist/lib/config/validation.js +171 -0
  114. package/dist/lib/config/validation.js.map +1 -0
  115. package/dist/lib/config.d.ts +6 -114
  116. package/dist/lib/config.d.ts.map +1 -1
  117. package/dist/lib/config.js +6 -855
  118. package/dist/lib/config.js.map +1 -1
  119. package/dist/lib/fetch-orchestrator-helpers.d.ts +13 -0
  120. package/dist/lib/fetch-orchestrator-helpers.d.ts.map +1 -0
  121. package/dist/lib/fetch-orchestrator-helpers.js +63 -0
  122. package/dist/lib/fetch-orchestrator-helpers.js.map +1 -0
  123. package/dist/lib/fetch-orchestrator-types.d.ts +71 -0
  124. package/dist/lib/fetch-orchestrator-types.d.ts.map +1 -0
  125. package/dist/lib/fetch-orchestrator-types.js +11 -0
  126. package/dist/lib/fetch-orchestrator-types.js.map +1 -0
  127. package/dist/lib/fetch-orchestrator.d.ts +2 -69
  128. package/dist/lib/fetch-orchestrator.d.ts.map +1 -1
  129. package/dist/lib/fetch-orchestrator.js +30 -79
  130. package/dist/lib/fetch-orchestrator.js.map +1 -1
  131. package/dist/lib/model-catalog/cache-helpers.d.ts +23 -0
  132. package/dist/lib/model-catalog/cache-helpers.d.ts.map +1 -0
  133. package/dist/lib/model-catalog/cache-helpers.js +210 -0
  134. package/dist/lib/model-catalog/cache-helpers.js.map +1 -0
  135. package/dist/lib/model-catalog/catalog-fetch.d.ts +3 -0
  136. package/dist/lib/model-catalog/catalog-fetch.d.ts.map +1 -0
  137. package/dist/lib/model-catalog/catalog-fetch.js +159 -0
  138. package/dist/lib/model-catalog/catalog-fetch.js.map +1 -0
  139. package/dist/lib/model-catalog/provider.d.ts +6 -0
  140. package/dist/lib/model-catalog/provider.d.ts.map +1 -0
  141. package/dist/lib/model-catalog/provider.js +280 -0
  142. package/dist/lib/model-catalog/provider.js.map +1 -0
  143. package/dist/lib/model-catalog/shared.d.ts +99 -0
  144. package/dist/lib/model-catalog/shared.d.ts.map +1 -0
  145. package/dist/lib/model-catalog/shared.js +157 -0
  146. package/dist/lib/model-catalog/shared.js.map +1 -0
  147. package/dist/lib/model-catalog.d.ts +3 -68
  148. package/dist/lib/model-catalog.d.ts.map +1 -1
  149. package/dist/lib/model-catalog.js +3 -767
  150. package/dist/lib/model-catalog.js.map +1 -1
  151. package/dist/lib/proactive-refresh.d.ts.map +1 -1
  152. package/dist/lib/proactive-refresh.js +2 -4
  153. package/dist/lib/proactive-refresh.js.map +1 -1
  154. package/dist/lib/quarantine.js.map +1 -1
  155. package/dist/lib/quota-threshold-alerts.d.ts.map +1 -1
  156. package/dist/lib/quota-threshold-alerts.js +3 -1
  157. package/dist/lib/quota-threshold-alerts.js.map +1 -1
  158. package/dist/lib/rotation.js.map +1 -1
  159. package/dist/lib/storage/domain-state.d.ts +23 -0
  160. package/dist/lib/storage/domain-state.d.ts.map +1 -0
  161. package/dist/lib/storage/domain-state.js +275 -0
  162. package/dist/lib/storage/domain-state.js.map +1 -0
  163. package/dist/lib/storage/migration.d.ts +13 -0
  164. package/dist/lib/storage/migration.d.ts.map +1 -0
  165. package/dist/lib/storage/migration.js +225 -0
  166. package/dist/lib/storage/migration.js.map +1 -0
  167. package/dist/lib/storage.d.ts +2 -9
  168. package/dist/lib/storage.d.ts.map +1 -1
  169. package/dist/lib/storage.js +12 -503
  170. package/dist/lib/storage.js.map +1 -1
  171. package/package.json +14 -13
  172. package/schemas/codex-config.schema.json +8 -0
@@ -0,0 +1,88 @@
1
+ import { isRecord } from "../util.js";
2
+ import { asString, EFFORT_SUFFIX_REGEX } from "./request-transform-shared.js";
3
+ function resolveCaseInsensitiveEntry(entries, candidate) {
4
+ if (!entries)
5
+ return undefined;
6
+ const direct = entries[candidate];
7
+ if (direct !== undefined)
8
+ return direct;
9
+ const lowered = entries[candidate.toLowerCase()];
10
+ if (lowered !== undefined)
11
+ return lowered;
12
+ const loweredCandidate = candidate.toLowerCase();
13
+ for (const [name, entry] of Object.entries(entries)) {
14
+ if (name.trim().toLowerCase() === loweredCandidate) {
15
+ return entry;
16
+ }
17
+ }
18
+ return undefined;
19
+ }
20
+ function normalizeServiceTierSetting(value) {
21
+ const normalized = asString(value)?.toLowerCase();
22
+ if (normalized === "default" || normalized === "priority" || normalized === "flex") {
23
+ return normalized;
24
+ }
25
+ return undefined;
26
+ }
27
+ function stripEffortSuffix(value) {
28
+ return value.replace(EFFORT_SUFFIX_REGEX, "");
29
+ }
30
+ export function getRequestBodyVariantCandidates(input) {
31
+ const out = [];
32
+ const seen = new Set();
33
+ const add = (value) => {
34
+ const trimmed = value?.trim().toLowerCase();
35
+ if (!trimmed)
36
+ return;
37
+ if (seen.has(trimmed))
38
+ return;
39
+ seen.add(trimmed);
40
+ out.push(trimmed);
41
+ };
42
+ const reasoning = isRecord(input.body.reasoning) ? input.body.reasoning : undefined;
43
+ add(asString(reasoning?.effort));
44
+ const normalizedSlug = input.modelSlug.trim().toLowerCase();
45
+ const suffix = normalizedSlug.match(EFFORT_SUFFIX_REGEX)?.[1];
46
+ add(suffix);
47
+ return out;
48
+ }
49
+ export function getModelServiceTierOverride(behaviorSettings, modelCandidates, variantCandidates) {
50
+ const models = behaviorSettings?.perModel;
51
+ if (!models)
52
+ return undefined;
53
+ const lookupCandidates = [];
54
+ const seen = new Set();
55
+ const addCandidate = (value) => {
56
+ const trimmed = value.trim();
57
+ if (!trimmed || seen.has(trimmed))
58
+ return;
59
+ seen.add(trimmed);
60
+ lookupCandidates.push(trimmed);
61
+ };
62
+ for (const candidate of modelCandidates) {
63
+ addCandidate(candidate);
64
+ addCandidate(stripEffortSuffix(candidate));
65
+ }
66
+ for (const candidate of lookupCandidates) {
67
+ const entry = resolveCaseInsensitiveEntry(models, candidate);
68
+ if (!entry)
69
+ continue;
70
+ for (const variantCandidate of variantCandidates) {
71
+ const variantEntry = resolveCaseInsensitiveEntry(entry.variants, variantCandidate);
72
+ const variantServiceTier = normalizeServiceTierSetting(variantEntry?.serviceTier);
73
+ if (variantServiceTier)
74
+ return variantServiceTier;
75
+ }
76
+ const modelServiceTier = normalizeServiceTierSetting(entry.serviceTier);
77
+ if (modelServiceTier)
78
+ return modelServiceTier;
79
+ }
80
+ return undefined;
81
+ }
82
+ export function resolveServiceTierForModel(input) {
83
+ const modelOverride = getModelServiceTierOverride(input.behaviorSettings, input.modelCandidates, input.variantCandidates);
84
+ if (modelOverride)
85
+ return modelOverride;
86
+ return normalizeServiceTierSetting(input.behaviorSettings?.global?.serviceTier);
87
+ }
88
+ //# sourceMappingURL=request-transform-model-service-tier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-transform-model-service-tier.js","sourceRoot":"","sources":["../../../lib/codex-native/request-transform-model-service-tier.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import type { BehaviorSettings, PersonalityOption } from "../config.js";
2
+ import type { CodexModelInfo } from "../model-catalog.js";
3
+ type ChatParamsOutput = {
4
+ temperature: number;
5
+ topP: number;
6
+ topK: number;
7
+ options: Record<string, unknown>;
8
+ };
9
+ export declare function getModelLookupCandidates(model: {
10
+ id?: string;
11
+ api?: {
12
+ id?: string;
13
+ };
14
+ }): string[];
15
+ export declare function getVariantLookupCandidates(input: {
16
+ message?: unknown;
17
+ modelCandidates: string[];
18
+ }): string[];
19
+ export declare function findCatalogModelForCandidates(catalogModels: CodexModelInfo[] | undefined, modelCandidates: string[]): CodexModelInfo | undefined;
20
+ export declare function getModelThinkingSummariesOverride(behaviorSettings: BehaviorSettings | undefined, modelCandidates: string[], variantCandidates: string[]): boolean | undefined;
21
+ export declare function getModelVerbosityEnabledOverride(behaviorSettings: BehaviorSettings | undefined, modelCandidates: string[], variantCandidates: string[]): boolean | undefined;
22
+ export declare function getModelVerbosityOverride(behaviorSettings: BehaviorSettings | undefined, modelCandidates: string[], variantCandidates: string[]): "default" | "low" | "medium" | "high" | undefined;
23
+ export declare function resolvePersonalityForModel(input: {
24
+ behaviorSettings?: BehaviorSettings;
25
+ modelCandidates: string[];
26
+ variantCandidates: string[];
27
+ fallback?: PersonalityOption;
28
+ }): string | undefined;
29
+ export declare function applyCodexRuntimeDefaultsToParams(input: {
30
+ modelOptions: Record<string, unknown>;
31
+ modelToolCallCapable: boolean | undefined;
32
+ thinkingSummariesOverride: boolean | undefined;
33
+ verbosityEnabledOverride: boolean | undefined;
34
+ verbosityOverride: "default" | "low" | "medium" | "high" | undefined;
35
+ preferCodexInstructions: boolean;
36
+ output: ChatParamsOutput;
37
+ }): void;
38
+ export {};
39
+ //# sourceMappingURL=request-transform-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-transform-model.d.ts","sourceRoot":"","sources":["../../../lib/codex-native/request-transform-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAYzD,KAAK,gBAAgB,GAAG;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC,CAAA;AAwCD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAAG,MAAM,EAAE,CAiBhG;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,eAAe,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,MAAM,EAAE,CAsB5G;AAMD,wBAAgB,6BAA6B,CAC3C,aAAa,EAAE,cAAc,EAAE,GAAG,SAAS,EAC3C,eAAe,EAAE,MAAM,EAAE,GACxB,cAAc,GAAG,SAAS,CAgB5B;AA8CD,wBAAgB,iCAAiC,CAC/C,gBAAgB,EAAE,gBAAgB,GAAG,SAAS,EAC9C,eAAe,EAAE,MAAM,EAAE,EACzB,iBAAiB,EAAE,MAAM,EAAE,GAC1B,OAAO,GAAG,SAAS,CAqBrB;AAED,wBAAgB,gCAAgC,CAC9C,gBAAgB,EAAE,gBAAgB,GAAG,SAAS,EAC9C,eAAe,EAAE,MAAM,EAAE,EACzB,iBAAiB,EAAE,MAAM,EAAE,GAC1B,OAAO,GAAG,SAAS,CAqBrB;AAED,wBAAgB,yBAAyB,CACvC,gBAAgB,EAAE,gBAAgB,GAAG,SAAS,EAC9C,eAAe,EAAE,MAAM,EAAE,EACzB,iBAAiB,EAAE,MAAM,EAAE,GAC1B,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAmBnD;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,iBAAiB,EAAE,MAAM,EAAE,CAAA;IAC3B,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC7B,GAAG,MAAM,GAAG,SAAS,CAYrB;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE;IACvD,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,oBAAoB,EAAE,OAAO,GAAG,SAAS,CAAA;IACzC,yBAAyB,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9C,wBAAwB,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7C,iBAAiB,EAAE,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAA;IACpE,uBAAuB,EAAE,OAAO,CAAA;IAChC,MAAM,EAAE,gBAAgB,CAAA;CACzB,GAAG,IAAI,CAoFP"}
@@ -0,0 +1,276 @@
1
+ import { isRecord } from "../util.js";
2
+ import { asString, asStringArray, EFFORT_SUFFIX_REGEX, mergeUnique, normalizeReasoningSummaryOption, normalizeTextVerbosity, normalizeVerbositySetting } from "./request-transform-shared.js";
3
+ function readModelRuntimeDefaults(options) {
4
+ const raw = options.codexRuntimeDefaults;
5
+ if (!isRecord(raw))
6
+ return {};
7
+ return {
8
+ applyPatchToolType: asString(raw.applyPatchToolType),
9
+ defaultReasoningEffort: asString(raw.defaultReasoningEffort),
10
+ supportsReasoningSummaries: typeof raw.supportsReasoningSummaries === "boolean" ? raw.supportsReasoningSummaries : undefined,
11
+ reasoningSummaryFormat: asString(raw.reasoningSummaryFormat),
12
+ supportsParallelToolCalls: typeof raw.supportsParallelToolCalls === "boolean" ? raw.supportsParallelToolCalls : undefined,
13
+ defaultVerbosity: raw.defaultVerbosity === "low" || raw.defaultVerbosity === "medium" || raw.defaultVerbosity === "high"
14
+ ? raw.defaultVerbosity
15
+ : undefined,
16
+ supportsVerbosity: typeof raw.supportsVerbosity === "boolean" ? raw.supportsVerbosity : undefined
17
+ };
18
+ }
19
+ function normalizePersonalityKey(value) {
20
+ const normalized = asString(value)?.toLowerCase();
21
+ if (!normalized)
22
+ return undefined;
23
+ if (normalized.includes("/") || normalized.includes("\\") || normalized.includes("..")) {
24
+ return undefined;
25
+ }
26
+ return normalized;
27
+ }
28
+ export function getModelLookupCandidates(model) {
29
+ const out = [];
30
+ const seen = new Set();
31
+ const add = (value) => {
32
+ const trimmed = value?.trim();
33
+ if (!trimmed)
34
+ return;
35
+ if (seen.has(trimmed))
36
+ return;
37
+ seen.add(trimmed);
38
+ out.push(trimmed);
39
+ };
40
+ add(model.id);
41
+ add(model.api?.id);
42
+ add(model.id?.split("/").pop());
43
+ add(model.api?.id?.split("/").pop());
44
+ return out;
45
+ }
46
+ export function getVariantLookupCandidates(input) {
47
+ const out = [];
48
+ const seen = new Set();
49
+ const add = (value) => {
50
+ const trimmed = value?.trim();
51
+ if (!trimmed)
52
+ return;
53
+ if (seen.has(trimmed))
54
+ return;
55
+ seen.add(trimmed);
56
+ out.push(trimmed);
57
+ };
58
+ if (isRecord(input.message)) {
59
+ add(asString(input.message.variant));
60
+ }
61
+ for (const candidate of input.modelCandidates) {
62
+ const slash = candidate.lastIndexOf("/");
63
+ if (slash <= 0 || slash >= candidate.length - 1)
64
+ continue;
65
+ add(candidate.slice(slash + 1));
66
+ }
67
+ return out;
68
+ }
69
+ function stripEffortSuffix(value) {
70
+ return value.replace(EFFORT_SUFFIX_REGEX, "");
71
+ }
72
+ export function findCatalogModelForCandidates(catalogModels, modelCandidates) {
73
+ if (!catalogModels || catalogModels.length === 0)
74
+ return undefined;
75
+ const wanted = new Set();
76
+ for (const candidate of modelCandidates) {
77
+ const normalized = candidate.trim().toLowerCase();
78
+ if (!normalized)
79
+ continue;
80
+ wanted.add(normalized);
81
+ wanted.add(stripEffortSuffix(normalized));
82
+ }
83
+ return catalogModels.find((model) => {
84
+ const slug = model.slug.trim().toLowerCase();
85
+ if (!slug)
86
+ return false;
87
+ return wanted.has(slug) || wanted.has(stripEffortSuffix(slug));
88
+ });
89
+ }
90
+ function resolveCaseInsensitiveEntry(entries, candidate) {
91
+ if (!entries)
92
+ return undefined;
93
+ const direct = entries[candidate];
94
+ if (direct !== undefined)
95
+ return direct;
96
+ const lowered = entries[candidate.toLowerCase()];
97
+ if (lowered !== undefined)
98
+ return lowered;
99
+ const loweredCandidate = candidate.toLowerCase();
100
+ for (const [name, entry] of Object.entries(entries)) {
101
+ if (name.trim().toLowerCase() === loweredCandidate) {
102
+ return entry;
103
+ }
104
+ }
105
+ return undefined;
106
+ }
107
+ function getModelPersonalityOverride(behaviorSettings, modelCandidates, variantCandidates) {
108
+ const models = behaviorSettings?.perModel;
109
+ if (!models)
110
+ return undefined;
111
+ for (const candidate of modelCandidates) {
112
+ const entry = resolveCaseInsensitiveEntry(models, candidate);
113
+ if (!entry)
114
+ continue;
115
+ for (const variantCandidate of variantCandidates) {
116
+ const variantEntry = resolveCaseInsensitiveEntry(entry.variants, variantCandidate);
117
+ const variantPersonality = normalizePersonalityKey(variantEntry?.personality);
118
+ if (variantPersonality)
119
+ return variantPersonality;
120
+ }
121
+ const modelPersonality = normalizePersonalityKey(entry.personality);
122
+ if (modelPersonality)
123
+ return modelPersonality;
124
+ }
125
+ return undefined;
126
+ }
127
+ export function getModelThinkingSummariesOverride(behaviorSettings, modelCandidates, variantCandidates) {
128
+ const models = behaviorSettings?.perModel;
129
+ if (!models)
130
+ return undefined;
131
+ for (const candidate of modelCandidates) {
132
+ const entry = resolveCaseInsensitiveEntry(models, candidate);
133
+ if (!entry)
134
+ continue;
135
+ for (const variantCandidate of variantCandidates) {
136
+ const variantEntry = resolveCaseInsensitiveEntry(entry.variants, variantCandidate);
137
+ if (typeof variantEntry?.thinkingSummaries === "boolean") {
138
+ return variantEntry.thinkingSummaries;
139
+ }
140
+ }
141
+ if (typeof entry.thinkingSummaries === "boolean") {
142
+ return entry.thinkingSummaries;
143
+ }
144
+ }
145
+ return undefined;
146
+ }
147
+ export function getModelVerbosityEnabledOverride(behaviorSettings, modelCandidates, variantCandidates) {
148
+ const models = behaviorSettings?.perModel;
149
+ if (!models)
150
+ return undefined;
151
+ for (const candidate of modelCandidates) {
152
+ const entry = resolveCaseInsensitiveEntry(models, candidate);
153
+ if (!entry)
154
+ continue;
155
+ for (const variantCandidate of variantCandidates) {
156
+ const variantEntry = resolveCaseInsensitiveEntry(entry.variants, variantCandidate);
157
+ if (typeof variantEntry?.verbosityEnabled === "boolean") {
158
+ return variantEntry.verbosityEnabled;
159
+ }
160
+ }
161
+ if (typeof entry.verbosityEnabled === "boolean") {
162
+ return entry.verbosityEnabled;
163
+ }
164
+ }
165
+ return undefined;
166
+ }
167
+ export function getModelVerbosityOverride(behaviorSettings, modelCandidates, variantCandidates) {
168
+ const models = behaviorSettings?.perModel;
169
+ if (!models)
170
+ return undefined;
171
+ for (const candidate of modelCandidates) {
172
+ const entry = resolveCaseInsensitiveEntry(models, candidate);
173
+ if (!entry)
174
+ continue;
175
+ for (const variantCandidate of variantCandidates) {
176
+ const variantEntry = resolveCaseInsensitiveEntry(entry.variants, variantCandidate);
177
+ const variantVerbosity = normalizeVerbositySetting(variantEntry?.verbosity);
178
+ if (variantVerbosity)
179
+ return variantVerbosity;
180
+ }
181
+ const modelVerbosity = normalizeVerbositySetting(entry.verbosity);
182
+ if (modelVerbosity)
183
+ return modelVerbosity;
184
+ }
185
+ return undefined;
186
+ }
187
+ export function resolvePersonalityForModel(input) {
188
+ const modelOverride = getModelPersonalityOverride(input.behaviorSettings, input.modelCandidates, input.variantCandidates);
189
+ if (modelOverride)
190
+ return modelOverride;
191
+ const globalOverride = normalizePersonalityKey(input.behaviorSettings?.global?.personality);
192
+ if (globalOverride)
193
+ return globalOverride;
194
+ return normalizePersonalityKey(input.fallback);
195
+ }
196
+ export function applyCodexRuntimeDefaultsToParams(input) {
197
+ const options = input.output.options;
198
+ const modelOptions = input.modelOptions;
199
+ const defaults = readModelRuntimeDefaults(modelOptions);
200
+ const codexInstructions = asString(modelOptions.codexInstructions);
201
+ if (codexInstructions && (input.preferCodexInstructions || asString(options.instructions) === undefined)) {
202
+ options.instructions = codexInstructions;
203
+ }
204
+ if (asString(options.reasoningEffort) === undefined && defaults.defaultReasoningEffort) {
205
+ options.reasoningEffort = defaults.defaultReasoningEffort;
206
+ }
207
+ const reasoningEffort = asString(options.reasoningEffort);
208
+ const hasReasoning = reasoningEffort !== undefined && reasoningEffort !== "none";
209
+ const rawReasoningSummary = asString(options.reasoningSummary);
210
+ const hadExplicitReasoningSummary = rawReasoningSummary !== undefined;
211
+ const currentReasoningSummary = normalizeReasoningSummaryOption(rawReasoningSummary);
212
+ if (rawReasoningSummary !== undefined) {
213
+ if (currentReasoningSummary) {
214
+ options.reasoningSummary = currentReasoningSummary;
215
+ }
216
+ else {
217
+ delete options.reasoningSummary;
218
+ }
219
+ }
220
+ if (!hadExplicitReasoningSummary && currentReasoningSummary === undefined) {
221
+ if (hasReasoning && (defaults.supportsReasoningSummaries === true || input.thinkingSummariesOverride === true)) {
222
+ if (input.thinkingSummariesOverride === false) {
223
+ delete options.reasoningSummary;
224
+ }
225
+ else {
226
+ if (defaults.reasoningSummaryFormat?.toLowerCase() === "none") {
227
+ delete options.reasoningSummary;
228
+ }
229
+ else {
230
+ options.reasoningSummary = defaults.reasoningSummaryFormat ?? "auto";
231
+ }
232
+ }
233
+ }
234
+ }
235
+ const rawTextVerbosity = asString(options.textVerbosity);
236
+ const explicitTextVerbosity = normalizeTextVerbosity(rawTextVerbosity);
237
+ if (rawTextVerbosity !== undefined && !explicitTextVerbosity) {
238
+ delete options.textVerbosity;
239
+ }
240
+ const verbosityEnabled = input.verbosityEnabledOverride ?? true;
241
+ const verbositySetting = input.verbosityOverride ?? "default";
242
+ const supportsVerbosity = defaults.supportsVerbosity !== false;
243
+ if (!supportsVerbosity || !verbosityEnabled) {
244
+ delete options.textVerbosity;
245
+ }
246
+ else if (normalizeTextVerbosity(options.textVerbosity) === undefined) {
247
+ if (verbositySetting === "default") {
248
+ if (defaults.defaultVerbosity) {
249
+ options.textVerbosity = defaults.defaultVerbosity;
250
+ }
251
+ }
252
+ else {
253
+ options.textVerbosity = verbositySetting;
254
+ }
255
+ }
256
+ if (asString(options.applyPatchToolType) === undefined && defaults.applyPatchToolType) {
257
+ options.applyPatchToolType = defaults.applyPatchToolType;
258
+ }
259
+ if (typeof options.parallelToolCalls !== "boolean") {
260
+ if (defaults.supportsParallelToolCalls !== undefined) {
261
+ options.parallelToolCalls = defaults.supportsParallelToolCalls;
262
+ }
263
+ else if (input.modelToolCallCapable !== undefined) {
264
+ options.parallelToolCalls = input.modelToolCallCapable;
265
+ }
266
+ }
267
+ const shouldIncludeReasoning = hasReasoning &&
268
+ ((asString(options.reasoningSummary) !== undefined &&
269
+ asString(options.reasoningSummary)?.toLowerCase() !== "none") ||
270
+ defaults.supportsReasoningSummaries === true);
271
+ if (shouldIncludeReasoning) {
272
+ const include = asStringArray(options.include) ?? [];
273
+ options.include = mergeUnique([...include, "reasoning.encrypted_content"]);
274
+ }
275
+ }
276
+ //# sourceMappingURL=request-transform-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-transform-model.js","sourceRoot":"","sources":["../../../lib/codex-native/request-transform-model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ export type TransformReason = "disabled" | "non_post" | "empty_body" | "invalid_json" | "non_object_body" | "missing_input_array" | "no_reasoning_replay" | "no_developer_messages" | "permissions_only" | "missing_key" | "already_matches" | "set" | "replaced" | "updated";
2
+ export type ReplayTransformResult = {
3
+ changed: boolean;
4
+ reason: TransformReason;
5
+ removedPartCount: number;
6
+ removedFieldCount: number;
7
+ };
8
+ export type DeveloperRoleRemapTransformResult = {
9
+ changed: boolean;
10
+ reason: TransformReason;
11
+ remappedCount: number;
12
+ preservedCount: number;
13
+ };
14
+ export type PromptCacheKeyTransformResult = {
15
+ changed: boolean;
16
+ reason: TransformReason;
17
+ };
18
+ export type CompatSanitizerTransformResult = {
19
+ changed: boolean;
20
+ reason: TransformReason;
21
+ };
22
+ export declare function stripReasoningReplayFromPayload(payload: Record<string, unknown>): ReplayTransformResult;
23
+ export declare function remapDeveloperMessagesToUserOnPayload(payload: Record<string, unknown>): DeveloperRoleRemapTransformResult;
24
+ export declare function applyPromptCacheKeyOverrideToPayload(payload: Record<string, unknown>, promptCacheKey: string | undefined): PromptCacheKeyTransformResult;
25
+ export declare function rebuildRequestWithJsonBody(request: Request, body: unknown): Request;
26
+ //# sourceMappingURL=request-transform-payload-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-transform-payload-helpers.d.ts","sourceRoot":"","sources":["../../../lib/codex-native/request-transform-payload-helpers.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,eAAe,GACvB,UAAU,GACV,UAAU,GACV,YAAY,GACZ,cAAc,GACd,iBAAiB,GACjB,qBAAqB,GACrB,qBAAqB,GACrB,uBAAuB,GACvB,kBAAkB,GAClB,aAAa,GACb,iBAAiB,GACjB,KAAK,GACL,UAAU,GACV,SAAS,CAAA;AAEb,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,eAAe,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;IACxB,iBAAiB,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,iCAAiC,GAAG;IAC9C,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,eAAe,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG;IAC1C,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,eAAe,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,8BAA8B,GAAG;IAC3C,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,eAAe,CAAA;CACxB,CAAA;AAED,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,qBAAqB,CAuEvG;AAED,wBAAgB,qCAAqC,CACnD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,iCAAiC,CA+CnC;AAED,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,cAAc,EAAE,MAAM,GAAG,SAAS,GACjC,6BAA6B,CAe/B;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAkBnF"}