@iam-brain/opencode-codex-auth 0.1.16 → 0.2.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 (106) hide show
  1. package/dist/lib/accounts-tools.d.ts.map +1 -1
  2. package/dist/lib/accounts-tools.js +8 -3
  3. package/dist/lib/accounts-tools.js.map +1 -1
  4. package/dist/lib/codex-native/browser.d.ts +12 -0
  5. package/dist/lib/codex-native/browser.d.ts.map +1 -0
  6. package/dist/lib/codex-native/browser.js +38 -0
  7. package/dist/lib/codex-native/browser.js.map +1 -0
  8. package/dist/lib/codex-native/catalog-auth.d.ts +6 -0
  9. package/dist/lib/codex-native/catalog-auth.d.ts.map +1 -0
  10. package/dist/lib/codex-native/catalog-auth.js +32 -0
  11. package/dist/lib/codex-native/catalog-auth.js.map +1 -0
  12. package/dist/lib/codex-native/client-identity.d.ts +13 -0
  13. package/dist/lib/codex-native/client-identity.d.ts.map +1 -0
  14. package/dist/lib/codex-native/client-identity.js +342 -0
  15. package/dist/lib/codex-native/client-identity.js.map +1 -0
  16. package/dist/lib/codex-native/collaboration.d.ts +19 -0
  17. package/dist/lib/codex-native/collaboration.d.ts.map +1 -0
  18. package/dist/lib/codex-native/collaboration.js +126 -0
  19. package/dist/lib/codex-native/collaboration.js.map +1 -0
  20. package/dist/lib/codex-native/oauth-server.d.ts +28 -0
  21. package/dist/lib/codex-native/oauth-server.d.ts.map +1 -0
  22. package/dist/lib/codex-native/oauth-server.js +267 -0
  23. package/dist/lib/codex-native/oauth-server.js.map +1 -0
  24. package/dist/lib/codex-native/originator.d.ts +4 -0
  25. package/dist/lib/codex-native/originator.d.ts.map +1 -0
  26. package/dist/lib/codex-native/originator.js +12 -0
  27. package/dist/lib/codex-native/originator.js.map +1 -0
  28. package/dist/lib/codex-native/request-transform.d.ts +50 -0
  29. package/dist/lib/codex-native/request-transform.d.ts.map +1 -0
  30. package/dist/lib/codex-native/request-transform.js +353 -0
  31. package/dist/lib/codex-native/request-transform.js.map +1 -0
  32. package/dist/lib/codex-native.d.ts +5 -13
  33. package/dist/lib/codex-native.d.ts.map +1 -1
  34. package/dist/lib/codex-native.js +145 -1035
  35. package/dist/lib/codex-native.js.map +1 -1
  36. package/dist/lib/codex-quota-fetch.d.ts +2 -0
  37. package/dist/lib/codex-quota-fetch.d.ts.map +1 -1
  38. package/dist/lib/codex-quota-fetch.js +17 -12
  39. package/dist/lib/codex-quota-fetch.js.map +1 -1
  40. package/dist/lib/codex-status-tool.d.ts +5 -1
  41. package/dist/lib/codex-status-tool.d.ts.map +1 -1
  42. package/dist/lib/codex-status-tool.js +8 -6
  43. package/dist/lib/codex-status-tool.js.map +1 -1
  44. package/dist/lib/codex-status-ui.d.ts +4 -0
  45. package/dist/lib/codex-status-ui.d.ts.map +1 -1
  46. package/dist/lib/codex-status-ui.js +91 -28
  47. package/dist/lib/codex-status-ui.js.map +1 -1
  48. package/dist/lib/compat-sanitizer.d.ts.map +1 -1
  49. package/dist/lib/compat-sanitizer.js +2 -1
  50. package/dist/lib/compat-sanitizer.js.map +1 -1
  51. package/dist/lib/config.d.ts.map +1 -1
  52. package/dist/lib/config.js +28 -70
  53. package/dist/lib/config.js.map +1 -1
  54. package/dist/lib/fetch-orchestrator.d.ts.map +1 -1
  55. package/dist/lib/fetch-orchestrator.js +2 -9
  56. package/dist/lib/fetch-orchestrator.js.map +1 -1
  57. package/dist/lib/identity.d.ts.map +1 -1
  58. package/dist/lib/identity.js.map +1 -1
  59. package/dist/lib/installer-cli.d.ts.map +1 -1
  60. package/dist/lib/installer-cli.js +1 -3
  61. package/dist/lib/installer-cli.js.map +1 -1
  62. package/dist/lib/logger.d.ts.map +1 -1
  63. package/dist/lib/logger.js +13 -5
  64. package/dist/lib/logger.js.map +1 -1
  65. package/dist/lib/model-catalog.d.ts +2 -0
  66. package/dist/lib/model-catalog.d.ts.map +1 -1
  67. package/dist/lib/model-catalog.js +117 -41
  68. package/dist/lib/model-catalog.js.map +1 -1
  69. package/dist/lib/orchestrator-agents.d.ts.map +1 -1
  70. package/dist/lib/orchestrator-agents.js.map +1 -1
  71. package/dist/lib/paths.d.ts.map +1 -1
  72. package/dist/lib/paths.js.map +1 -1
  73. package/dist/lib/persona-tool-cli.d.ts.map +1 -1
  74. package/dist/lib/persona-tool-cli.js.map +1 -1
  75. package/dist/lib/persona-tool.d.ts.map +1 -1
  76. package/dist/lib/persona-tool.js +10 -31
  77. package/dist/lib/persona-tool.js.map +1 -1
  78. package/dist/lib/personalities.d.ts.map +1 -1
  79. package/dist/lib/personalities.js.map +1 -1
  80. package/dist/lib/proactive-refresh.d.ts.map +1 -1
  81. package/dist/lib/proactive-refresh.js +3 -6
  82. package/dist/lib/proactive-refresh.js.map +1 -1
  83. package/dist/lib/refresh-queue.d.ts.map +1 -1
  84. package/dist/lib/refresh-queue.js +4 -2
  85. package/dist/lib/refresh-queue.js.map +1 -1
  86. package/dist/lib/request-snapshots.d.ts.map +1 -1
  87. package/dist/lib/request-snapshots.js.map +1 -1
  88. package/dist/lib/rotation.d.ts.map +1 -1
  89. package/dist/lib/rotation.js +2 -5
  90. package/dist/lib/rotation.js.map +1 -1
  91. package/dist/lib/session-affinity.d.ts.map +1 -1
  92. package/dist/lib/session-affinity.js.map +1 -1
  93. package/dist/lib/storage.d.ts.map +1 -1
  94. package/dist/lib/storage.js +2 -6
  95. package/dist/lib/storage.js.map +1 -1
  96. package/dist/lib/ui/auth-menu.d.ts.map +1 -1
  97. package/dist/lib/ui/auth-menu.js +1 -3
  98. package/dist/lib/ui/auth-menu.js.map +1 -1
  99. package/dist/lib/ui/tty/ansi.d.ts.map +1 -1
  100. package/dist/lib/ui/tty/ansi.js.map +1 -1
  101. package/dist/lib/ui/tty/confirm.d.ts.map +1 -1
  102. package/dist/lib/ui/tty/confirm.js.map +1 -1
  103. package/dist/lib/ui/tty/select.d.ts.map +1 -1
  104. package/dist/lib/ui/tty/select.js +1 -3
  105. package/dist/lib/ui/tty/select.js.map +1 -1
  106. package/package.json +9 -2
@@ -0,0 +1,353 @@
1
+ import { resolveInstructionsForModel } from "../model-catalog";
2
+ import { sanitizeRequestPayloadForCompat } from "../compat-sanitizer";
3
+ function isRecord(value) {
4
+ return typeof value === "object" && value !== null && !Array.isArray(value);
5
+ }
6
+ function asString(value) {
7
+ if (typeof value !== "string")
8
+ return undefined;
9
+ const trimmed = value.trim();
10
+ return trimmed ? trimmed : undefined;
11
+ }
12
+ function asStringArray(value) {
13
+ if (!Array.isArray(value))
14
+ return undefined;
15
+ return value.filter((item) => typeof item === "string" && item.trim().length > 0);
16
+ }
17
+ function normalizeReasoningSummaryOption(value) {
18
+ const normalized = asString(value)?.toLowerCase();
19
+ if (!normalized || normalized === "none")
20
+ return undefined;
21
+ if (normalized === "auto" || normalized === "concise" || normalized === "detailed")
22
+ return normalized;
23
+ return undefined;
24
+ }
25
+ function readModelRuntimeDefaults(options) {
26
+ const raw = options.codexRuntimeDefaults;
27
+ if (!isRecord(raw))
28
+ return {};
29
+ return {
30
+ applyPatchToolType: asString(raw.applyPatchToolType),
31
+ defaultReasoningEffort: asString(raw.defaultReasoningEffort),
32
+ supportsReasoningSummaries: typeof raw.supportsReasoningSummaries === "boolean" ? raw.supportsReasoningSummaries : undefined,
33
+ reasoningSummaryFormat: asString(raw.reasoningSummaryFormat),
34
+ defaultVerbosity: raw.defaultVerbosity === "low" || raw.defaultVerbosity === "medium" || raw.defaultVerbosity === "high"
35
+ ? raw.defaultVerbosity
36
+ : undefined,
37
+ supportsVerbosity: typeof raw.supportsVerbosity === "boolean" ? raw.supportsVerbosity : undefined
38
+ };
39
+ }
40
+ function mergeUnique(values) {
41
+ const out = [];
42
+ const seen = new Set();
43
+ for (const value of values) {
44
+ if (seen.has(value))
45
+ continue;
46
+ seen.add(value);
47
+ out.push(value);
48
+ }
49
+ return out;
50
+ }
51
+ function normalizePersonalityKey(value) {
52
+ const normalized = asString(value)?.toLowerCase();
53
+ if (!normalized)
54
+ return undefined;
55
+ if (normalized.includes("/") || normalized.includes("\\") || normalized.includes("..")) {
56
+ return undefined;
57
+ }
58
+ return normalized;
59
+ }
60
+ export function getModelLookupCandidates(model) {
61
+ const out = [];
62
+ const seen = new Set();
63
+ const add = (value) => {
64
+ const trimmed = value?.trim();
65
+ if (!trimmed)
66
+ return;
67
+ if (seen.has(trimmed))
68
+ return;
69
+ seen.add(trimmed);
70
+ out.push(trimmed);
71
+ };
72
+ add(model.id);
73
+ add(model.api?.id);
74
+ add(model.id?.split("/").pop());
75
+ add(model.api?.id?.split("/").pop());
76
+ return out;
77
+ }
78
+ export function getVariantLookupCandidates(input) {
79
+ const out = [];
80
+ const seen = new Set();
81
+ const add = (value) => {
82
+ const trimmed = value?.trim();
83
+ if (!trimmed)
84
+ return;
85
+ if (seen.has(trimmed))
86
+ return;
87
+ seen.add(trimmed);
88
+ out.push(trimmed);
89
+ };
90
+ if (isRecord(input.message)) {
91
+ add(asString(input.message.variant));
92
+ }
93
+ for (const candidate of input.modelCandidates) {
94
+ const slash = candidate.lastIndexOf("/");
95
+ if (slash <= 0 || slash >= candidate.length - 1)
96
+ continue;
97
+ add(candidate.slice(slash + 1));
98
+ }
99
+ return out;
100
+ }
101
+ const EFFORT_SUFFIX_REGEX = /-(none|minimal|low|medium|high|xhigh)$/i;
102
+ function stripEffortSuffix(value) {
103
+ return value.replace(EFFORT_SUFFIX_REGEX, "");
104
+ }
105
+ export function findCatalogModelForCandidates(catalogModels, modelCandidates) {
106
+ if (!catalogModels || catalogModels.length === 0)
107
+ return undefined;
108
+ const wanted = new Set();
109
+ for (const candidate of modelCandidates) {
110
+ const normalized = candidate.trim().toLowerCase();
111
+ if (!normalized)
112
+ continue;
113
+ wanted.add(normalized);
114
+ wanted.add(stripEffortSuffix(normalized));
115
+ }
116
+ return catalogModels.find((model) => {
117
+ const slug = model.slug.trim().toLowerCase();
118
+ if (!slug)
119
+ return false;
120
+ return wanted.has(slug) || wanted.has(stripEffortSuffix(slug));
121
+ });
122
+ }
123
+ function resolveCaseInsensitiveEntry(entries, candidate) {
124
+ if (!entries)
125
+ return undefined;
126
+ const direct = entries[candidate];
127
+ if (direct !== undefined)
128
+ return direct;
129
+ const lowered = entries[candidate.toLowerCase()];
130
+ if (lowered !== undefined)
131
+ return lowered;
132
+ const loweredCandidate = candidate.toLowerCase();
133
+ for (const [name, entry] of Object.entries(entries)) {
134
+ if (name.trim().toLowerCase() === loweredCandidate) {
135
+ return entry;
136
+ }
137
+ }
138
+ return undefined;
139
+ }
140
+ function getModelPersonalityOverride(customSettings, modelCandidates, variantCandidates) {
141
+ const models = customSettings?.models;
142
+ if (!models)
143
+ return undefined;
144
+ for (const candidate of modelCandidates) {
145
+ const entry = resolveCaseInsensitiveEntry(models, candidate);
146
+ if (!entry)
147
+ continue;
148
+ for (const variantCandidate of variantCandidates) {
149
+ const variantEntry = resolveCaseInsensitiveEntry(entry.variants, variantCandidate);
150
+ const variantPersonality = normalizePersonalityKey(variantEntry?.options?.personality);
151
+ if (variantPersonality)
152
+ return variantPersonality;
153
+ }
154
+ const modelPersonality = normalizePersonalityKey(entry.options?.personality);
155
+ if (modelPersonality)
156
+ return modelPersonality;
157
+ }
158
+ return undefined;
159
+ }
160
+ export function getModelThinkingSummariesOverride(customSettings, modelCandidates, variantCandidates) {
161
+ const models = customSettings?.models;
162
+ if (!models)
163
+ return undefined;
164
+ for (const candidate of modelCandidates) {
165
+ const entry = resolveCaseInsensitiveEntry(models, candidate);
166
+ if (!entry)
167
+ continue;
168
+ for (const variantCandidate of variantCandidates) {
169
+ const variantEntry = resolveCaseInsensitiveEntry(entry.variants, variantCandidate);
170
+ if (typeof variantEntry?.thinkingSummaries === "boolean") {
171
+ return variantEntry.thinkingSummaries;
172
+ }
173
+ }
174
+ if (typeof entry.thinkingSummaries === "boolean") {
175
+ return entry.thinkingSummaries;
176
+ }
177
+ }
178
+ return undefined;
179
+ }
180
+ export function resolvePersonalityForModel(input) {
181
+ const modelOverride = getModelPersonalityOverride(input.customSettings, input.modelCandidates, input.variantCandidates);
182
+ if (modelOverride)
183
+ return modelOverride;
184
+ const globalOverride = normalizePersonalityKey(input.customSettings?.options?.personality);
185
+ if (globalOverride)
186
+ return globalOverride;
187
+ return normalizePersonalityKey(input.fallback);
188
+ }
189
+ export function applyCodexRuntimeDefaultsToParams(input) {
190
+ const options = input.output.options;
191
+ const modelOptions = input.modelOptions;
192
+ const defaults = readModelRuntimeDefaults(modelOptions);
193
+ const codexInstructions = asString(modelOptions.codexInstructions);
194
+ if (codexInstructions && (input.preferCodexInstructions || asString(options.instructions) === undefined)) {
195
+ options.instructions = codexInstructions;
196
+ }
197
+ if (asString(options.reasoningEffort) === undefined && defaults.defaultReasoningEffort) {
198
+ options.reasoningEffort = defaults.defaultReasoningEffort;
199
+ }
200
+ const reasoningEffort = asString(options.reasoningEffort);
201
+ const hasReasoning = reasoningEffort !== undefined && reasoningEffort !== "none";
202
+ const rawReasoningSummary = asString(options.reasoningSummary);
203
+ const hadExplicitReasoningSummary = rawReasoningSummary !== undefined;
204
+ const currentReasoningSummary = normalizeReasoningSummaryOption(rawReasoningSummary);
205
+ if (rawReasoningSummary !== undefined) {
206
+ if (currentReasoningSummary) {
207
+ options.reasoningSummary = currentReasoningSummary;
208
+ }
209
+ else {
210
+ delete options.reasoningSummary;
211
+ }
212
+ }
213
+ if (!hadExplicitReasoningSummary && currentReasoningSummary === undefined) {
214
+ if (hasReasoning && (defaults.supportsReasoningSummaries === true || input.thinkingSummariesOverride === true)) {
215
+ if (input.thinkingSummariesOverride === false) {
216
+ delete options.reasoningSummary;
217
+ }
218
+ else {
219
+ if (defaults.reasoningSummaryFormat?.toLowerCase() === "none") {
220
+ delete options.reasoningSummary;
221
+ }
222
+ else {
223
+ options.reasoningSummary = defaults.reasoningSummaryFormat ?? "auto";
224
+ }
225
+ }
226
+ }
227
+ }
228
+ if (asString(options.textVerbosity) === undefined &&
229
+ defaults.defaultVerbosity &&
230
+ (defaults.supportsVerbosity ?? true)) {
231
+ options.textVerbosity = defaults.defaultVerbosity;
232
+ }
233
+ if (asString(options.applyPatchToolType) === undefined && defaults.applyPatchToolType) {
234
+ options.applyPatchToolType = defaults.applyPatchToolType;
235
+ }
236
+ if (typeof options.parallelToolCalls !== "boolean" && input.modelToolCallCapable !== undefined) {
237
+ options.parallelToolCalls = input.modelToolCallCapable;
238
+ }
239
+ const shouldIncludeReasoning = hasReasoning &&
240
+ ((asString(options.reasoningSummary) !== undefined &&
241
+ asString(options.reasoningSummary)?.toLowerCase() !== "none") ||
242
+ defaults.supportsReasoningSummaries === true);
243
+ if (shouldIncludeReasoning) {
244
+ const include = asStringArray(options.include) ?? [];
245
+ options.include = mergeUnique([...include, "reasoning.encrypted_content"]);
246
+ }
247
+ }
248
+ export async function sanitizeOutboundRequestIfNeeded(request, enabled) {
249
+ if (!enabled)
250
+ return { request, changed: false };
251
+ const method = request.method.toUpperCase();
252
+ if (method !== "POST")
253
+ return { request, changed: false };
254
+ let payload;
255
+ try {
256
+ const raw = await request.clone().text();
257
+ if (!raw)
258
+ return { request, changed: false };
259
+ payload = JSON.parse(raw);
260
+ }
261
+ catch {
262
+ return { request, changed: false };
263
+ }
264
+ if (!isRecord(payload))
265
+ return { request, changed: false };
266
+ const sanitized = sanitizeRequestPayloadForCompat(payload);
267
+ if (!sanitized.changed)
268
+ return { request, changed: false };
269
+ const headers = new Headers(request.headers);
270
+ headers.set("content-type", "application/json");
271
+ const sanitizedRequest = new Request(request.url, {
272
+ method: request.method,
273
+ headers,
274
+ body: JSON.stringify(sanitized.payload),
275
+ redirect: request.redirect
276
+ });
277
+ return { request: sanitizedRequest, changed: true };
278
+ }
279
+ function getVariantCandidatesFromBody(input) {
280
+ const out = [];
281
+ const seen = new Set();
282
+ const add = (value) => {
283
+ const trimmed = value?.trim().toLowerCase();
284
+ if (!trimmed)
285
+ return;
286
+ if (seen.has(trimmed))
287
+ return;
288
+ seen.add(trimmed);
289
+ out.push(trimmed);
290
+ };
291
+ const reasoning = isRecord(input.body.reasoning) ? input.body.reasoning : undefined;
292
+ add(asString(reasoning?.effort));
293
+ const normalizedSlug = input.modelSlug.trim().toLowerCase();
294
+ const suffix = normalizedSlug.match(EFFORT_SUFFIX_REGEX)?.[1];
295
+ add(suffix);
296
+ return out;
297
+ }
298
+ export async function applyCatalogInstructionOverrideToRequest(input) {
299
+ if (!input.enabled)
300
+ return { request: input.request, changed: false, reason: "disabled" };
301
+ const method = input.request.method.toUpperCase();
302
+ if (method !== "POST")
303
+ return { request: input.request, changed: false, reason: "non_post" };
304
+ let payload;
305
+ try {
306
+ const raw = await input.request.clone().text();
307
+ if (!raw)
308
+ return { request: input.request, changed: false, reason: "empty_body" };
309
+ payload = JSON.parse(raw);
310
+ }
311
+ catch {
312
+ return { request: input.request, changed: false, reason: "invalid_json" };
313
+ }
314
+ if (!isRecord(payload))
315
+ return { request: input.request, changed: false, reason: "non_object_body" };
316
+ const modelSlugRaw = asString(payload.model);
317
+ if (!modelSlugRaw)
318
+ return { request: input.request, changed: false, reason: "missing_model" };
319
+ const modelCandidates = getModelLookupCandidates({
320
+ id: modelSlugRaw,
321
+ api: { id: modelSlugRaw }
322
+ });
323
+ const variantCandidates = getVariantCandidatesFromBody({
324
+ body: payload,
325
+ modelSlug: modelSlugRaw
326
+ });
327
+ const effectivePersonality = resolvePersonalityForModel({
328
+ customSettings: input.customSettings,
329
+ modelCandidates,
330
+ variantCandidates,
331
+ fallback: input.fallbackPersonality
332
+ });
333
+ const catalogModel = findCatalogModelForCandidates(input.catalogModels, modelCandidates);
334
+ if (!catalogModel)
335
+ return { request: input.request, changed: false, reason: "catalog_model_not_found" };
336
+ const rendered = resolveInstructionsForModel(catalogModel, effectivePersonality);
337
+ if (!rendered)
338
+ return { request: input.request, changed: false, reason: "rendered_empty_or_unsafe" };
339
+ if (asString(payload.instructions) === rendered) {
340
+ return { request: input.request, changed: false, reason: "already_matches" };
341
+ }
342
+ payload.instructions = rendered;
343
+ const headers = new Headers(input.request.headers);
344
+ headers.set("content-type", "application/json");
345
+ const updatedRequest = new Request(input.request.url, {
346
+ method: input.request.method,
347
+ headers,
348
+ body: JSON.stringify(payload),
349
+ redirect: input.request.redirect
350
+ });
351
+ return { request: updatedRequest, changed: true, reason: "updated" };
352
+ }
353
+ //# sourceMappingURL=request-transform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-transform.js","sourceRoot":"","sources":["../../../lib/codex-native/request-transform.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,9 @@ import { type IdTokenClaims } from "./claims";
3
3
  import type { Logger } from "./logger";
4
4
  import type { AccountRecord, OpenAIAuthMode, OpenAIOAuthDomain, RotationStrategy } from "./types";
5
5
  import type { CodexSpoofMode, CustomSettings, PersonalityOption, PluginRuntimeMode } from "./config";
6
- type BrowserOpenInvocation = {
7
- command: string;
8
- args: string[];
9
- };
10
- export declare function browserOpenInvocationFor(url: string, platform?: NodeJS.Platform): BrowserOpenInvocation;
6
+ import { resolveCollaborationModeKind, resolveHookAgentName, resolveSubagentHeaderValue } from "./codex-native/collaboration";
7
+ import { buildCodexUserAgent, refreshCodexClientVersionFromGitHub, resolveCodexClientVersion, resolveRequestUserAgent } from "./codex-native/client-identity";
8
+ export { browserOpenInvocationFor } from "./codex-native/browser";
11
9
  export declare function tryOpenUrlInBrowser(url: string, log?: Logger): Promise<boolean>;
12
10
  type PkceCodes = {
13
11
  verifier: string;
@@ -36,6 +34,8 @@ export declare const __testOnly: {
36
34
  modeForRuntimeMode: typeof modeForRuntimeMode;
37
35
  buildCodexUserAgent: typeof buildCodexUserAgent;
38
36
  resolveRequestUserAgent: typeof resolveRequestUserAgent;
37
+ resolveCodexClientVersion: typeof resolveCodexClientVersion;
38
+ refreshCodexClientVersionFromGitHub: typeof refreshCodexClientVersionFromGitHub;
39
39
  resolveHookAgentName: typeof resolveHookAgentName;
40
40
  resolveCollaborationModeKind: typeof resolveCollaborationModeKind;
41
41
  resolveSubagentHeaderValue: typeof resolveSubagentHeaderValue;
@@ -53,13 +53,6 @@ declare function isOAuthDebugEnabled(): boolean;
53
53
  declare function stopOAuthServer(): void;
54
54
  declare function modeForRuntimeMode(runtimeMode: PluginRuntimeMode): OpenAIAuthMode;
55
55
  export declare function upsertAccount(openai: OpenAIOAuthDomain, incoming: AccountRecord): AccountRecord;
56
- type CodexOriginator = "opencode" | "codex_cli_rs" | "codex_exec";
57
- declare function buildCodexUserAgent(originator: CodexOriginator): string;
58
- declare function resolveRequestUserAgent(spoofMode: CodexSpoofMode, originator: CodexOriginator): string;
59
- type CodexCollaborationModeKind = "plan" | "code" | "execute" | "pair_programming";
60
- declare function resolveHookAgentName(agent: unknown): string | undefined;
61
- declare function resolveCollaborationModeKind(agent: unknown): CodexCollaborationModeKind;
62
- declare function resolveSubagentHeaderValue(agent: unknown): string | undefined;
63
56
  export type CodexAuthPluginOptions = {
64
57
  log?: Logger;
65
58
  personality?: PersonalityOption;
@@ -74,5 +67,4 @@ export type CodexAuthPluginOptions = {
74
67
  headerTransformDebug?: boolean;
75
68
  };
76
69
  export declare function CodexAuthPlugin(input: PluginInput, opts?: CodexAuthPluginOptions): Promise<Hooks>;
77
- export {};
78
70
  //# sourceMappingURL=codex-native.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codex-native.d.ts","sourceRoot":"","sources":["../../lib/codex-native.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAS7D,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,UAAU,CAAA;AA6BjB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,KAAK,EAEV,aAAa,EAEb,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,UAAU,CAAA;AA+FjB,KAAK,qBAAqB,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,EAAE,CAAA;CACf,CAAA;AAED,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,MAAM,EACX,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,qBAAqB,CAQvB;AAED,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,EACX,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CAoBlB;AAWD,KAAK,SAAS,GAAG;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,iBAAe,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC,CAKhD;AAcD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,GACxE,MAAM,GACN,SAAS,CAEZ;AAED,KAAK,gBAAgB,GAAG;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAazF;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAWD,iBAAS,iBAAiB,CACxB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,UAAU,GAAG,cAAc,GACtC,MAAM,CAiBR;AAED,eAAO,MAAM,UAAU;;;;;;;;;;;;;;CActB,CAAA;AAyBD,wBAAsB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAoCrF;AAsBD,iBAAS,8BAA8B,CACrC,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/C,MAAM,CAsBR;AAED,iBAAS,qBAAqB,CAAC,IAAI,GAAE,cAAwB,GAAG,MAAM,CAyCrE;AAED,iBAAS,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CA0ClD;AAcD,iBAAS,mBAAmB,IAAI,OAAO,CAGtC;AAyMD,iBAAS,eAAe,IAAI,IAAI,CAM/B;AA0DD,iBAAS,kBAAkB,CAAC,WAAW,EAAE,iBAAiB,GAAG,cAAc,CAE1E;AAiCD,wBAAgB,aAAa,CAC3B,MAAM,EAAE,iBAAiB,EACzB,QAAQ,EAAE,aAAa,GACtB,aAAa,CAyDf;AAuBD,KAAK,eAAe,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY,CAAA;AAuMjE,iBAAS,mBAAmB,CAAC,UAAU,EAAE,eAAe,GAAG,MAAM,CAMhE;AAED,iBAAS,uBAAuB,CAAC,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,GAAG,MAAM,CAG/F;AAED,KAAK,0BAA0B,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,kBAAkB,CAAA;AAOlF,iBAAS,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAKhE;AAwDD,iBAAS,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,0BAA0B,CAGhF;AAkBD,iBAAS,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CA6BtE;AAsMD,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,IAAI,CAAC,EAAE,iBAAiB,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,SAAS,CAAC,EAAE,cAAc,CAAA;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B,CAAA;AAgeD,wBAAsB,eAAe,CACnC,KAAK,EAAE,WAAW,EAClB,IAAI,GAAE,sBAA2B,GAChC,OAAO,CAAC,KAAK,CAAC,CAovChB"}
1
+ {"version":3,"file":"codex-native.d.ts","sourceRoot":"","sources":["../../lib/codex-native.ts"],"names":[],"mappings":"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"}