better-opencode-openai-codex-auth 0.1.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/config/README.md +19 -93
- package/config/opencode-modern.json +149 -42
- package/dist/index.d.ts +0 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +215 -109
- package/dist/index.js.map +1 -1
- package/dist/lib/account-pool.d.ts +29 -3
- package/dist/lib/account-pool.d.ts.map +1 -1
- package/dist/lib/account-pool.js +211 -44
- package/dist/lib/account-pool.js.map +1 -1
- package/dist/lib/auth/auth.d.ts +55 -4
- package/dist/lib/auth/auth.d.ts.map +1 -1
- package/dist/lib/auth/auth.js +142 -13
- package/dist/lib/auth/auth.js.map +1 -1
- package/dist/lib/auth/server.d.ts.map +1 -1
- package/dist/lib/auth/server.js +12 -8
- package/dist/lib/auth/server.js.map +1 -1
- package/dist/lib/auth/ui/account-menu.d.ts +50 -0
- package/dist/lib/auth/ui/account-menu.d.ts.map +1 -0
- package/dist/lib/auth/ui/account-menu.js +258 -0
- package/dist/lib/auth/ui/account-menu.js.map +1 -0
- package/dist/lib/auth/ui/ansi.d.ts +23 -0
- package/dist/lib/auth/ui/ansi.d.ts.map +1 -0
- package/dist/lib/auth/ui/ansi.js +37 -0
- package/dist/lib/auth/ui/ansi.js.map +1 -0
- package/dist/lib/auth/ui/confirm.d.ts +2 -0
- package/dist/lib/auth/ui/confirm.d.ts.map +1 -0
- package/dist/lib/auth/ui/confirm.js +8 -0
- package/dist/lib/auth/ui/confirm.js.map +1 -0
- package/dist/lib/auth/ui/select.d.ts +21 -0
- package/dist/lib/auth/ui/select.d.ts.map +1 -0
- package/dist/lib/auth/ui/select.js +208 -0
- package/dist/lib/auth/ui/select.js.map +1 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +13 -4
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/constants.d.ts +76 -3
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +80 -3
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/logger.d.ts +6 -0
- package/dist/lib/logger.d.ts.map +1 -1
- package/dist/lib/logger.js +11 -2
- package/dist/lib/logger.js.map +1 -1
- package/dist/lib/prompts/codex.d.ts +1 -1
- package/dist/lib/prompts/codex.d.ts.map +1 -1
- package/dist/lib/prompts/codex.js +15 -2
- package/dist/lib/prompts/codex.js.map +1 -1
- package/dist/lib/refresh-queue.d.ts +56 -0
- package/dist/lib/refresh-queue.d.ts.map +1 -0
- package/dist/lib/refresh-queue.js +148 -0
- package/dist/lib/refresh-queue.js.map +1 -0
- package/dist/lib/request/fetch-helpers.d.ts +2 -1
- package/dist/lib/request/fetch-helpers.d.ts.map +1 -1
- package/dist/lib/request/fetch-helpers.js +25 -5
- package/dist/lib/request/fetch-helpers.js.map +1 -1
- package/dist/lib/request/helpers/input-utils.d.ts.map +1 -1
- package/dist/lib/request/helpers/input-utils.js +12 -10
- package/dist/lib/request/helpers/input-utils.js.map +1 -1
- package/dist/lib/request/helpers/model-map.d.ts.map +1 -1
- package/dist/lib/request/helpers/model-map.js +14 -1
- package/dist/lib/request/helpers/model-map.js.map +1 -1
- package/dist/lib/request/request-transformer.d.ts.map +1 -1
- package/dist/lib/request/request-transformer.js +33 -29
- package/dist/lib/request/request-transformer.js.map +1 -1
- package/dist/lib/request/response-handler.d.ts.map +1 -1
- package/dist/lib/request/response-handler.js +17 -13
- package/dist/lib/request/response-handler.js.map +1 -1
- package/dist/lib/schemas.d.ts +85 -0
- package/dist/lib/schemas.d.ts.map +1 -0
- package/dist/lib/schemas.js +93 -0
- package/dist/lib/schemas.js.map +1 -0
- package/dist/lib/types.d.ts +18 -2
- package/dist/lib/types.d.ts.map +1 -1
- package/package.json +6 -7
- package/scripts/install-opencode-codex-auth.js +7 -27
- package/config/opencode-legacy.json +0 -571
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../lib/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,uDAAuD;AACvD,MAAM,CAAC,MAAM,WAAW,GAAG,qBAAqB,CAAC;AAEjD,uCAAuC;AACvC,MAAM,CAAC,MAAM,cAAc,GAAG,iCAAiC,CAAC;AAEhE,gEAAgE;AAChE,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;AAE7C,6CAA6C;AAC7C,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC;AAEpC,wBAAwB;AACxB,MAAM,CAAC,MAAM,WAAW,GAAG;IAC1B,EAAE,EAAE,GAAG;IACP,YAAY,EAAE,GAAG;IACjB,SAAS,EAAE,GAAG;IACd,iBAAiB,EAAE,GAAG;CACb,CAAC;AAEX,8BAA8B;AAC9B,MAAM,CAAC,MAAM,cAAc,GAAG;IAC7B,IAAI,EAAE,aAAa;IACnB,UAAU,EAAE,oBAAoB;IAChC,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;IACxB,eAAe,EAAE,iBAAiB;CACzB,CAAC;AAEX,oCAAoC;AACpC,MAAM,CAAC,MAAM,oBAAoB,GAAG;IACnC,cAAc,EAAE,wBAAwB;IACxC,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../lib/constants.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/logger.d.ts
CHANGED
|
@@ -18,4 +18,10 @@ export declare function logDebug(message: string, data?: unknown): void;
|
|
|
18
18
|
* @param data - Optional data to log
|
|
19
19
|
*/
|
|
20
20
|
export declare function logWarn(message: string, data?: unknown): void;
|
|
21
|
+
/**
|
|
22
|
+
* Log error (always enabled for errors)
|
|
23
|
+
* @param message - Error message
|
|
24
|
+
* @param error - Error object or data to log
|
|
25
|
+
*/
|
|
26
|
+
export declare function logError(message: string, error?: unknown): void;
|
|
21
27
|
//# sourceMappingURL=logger.d.ts.map
|
package/dist/lib/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../lib/logger.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,eAAe,SAAoD,CAAC;AACjF,eAAO,MAAM,aAAa,SAA4D,CAAC;AAavF;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAiC7E;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAQ9D;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAO7D"}
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../lib/logger.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,eAAe,SAAoD,CAAC;AACjF,eAAO,MAAM,aAAa,SAA4D,CAAC;AAavF;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAiC7E;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAQ9D;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAO7D;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAG/D"}
|
package/dist/lib/logger.js
CHANGED
|
@@ -40,8 +40,8 @@ export function logRequest(stage, data) {
|
|
|
40
40
|
console.log(`[${PLUGIN_NAME}] Logged ${stage} to ${filename}`);
|
|
41
41
|
}
|
|
42
42
|
catch (e) {
|
|
43
|
-
const
|
|
44
|
-
console.error(`[${PLUGIN_NAME}] Failed to write log:`,
|
|
43
|
+
const errMessage = e instanceof Error ? e.message : String(e);
|
|
44
|
+
console.error(`[${PLUGIN_NAME}] Failed to write log:`, errMessage);
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
/**
|
|
@@ -74,4 +74,13 @@ export function logWarn(message, data) {
|
|
|
74
74
|
console.warn(`[${PLUGIN_NAME}] ${message}`);
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* Log error (always enabled for errors)
|
|
79
|
+
* @param message - Error message
|
|
80
|
+
* @param error - Error object or data to log
|
|
81
|
+
*/
|
|
82
|
+
export function logError(message, error) {
|
|
83
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
84
|
+
console.error(`[${PLUGIN_NAME}] ${message}`, errorMessage);
|
|
85
|
+
}
|
|
77
86
|
//# sourceMappingURL=logger.js.map
|
package/dist/lib/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../lib/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,wBAAwB;AACxB,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,KAAK,GAAG,CAAC;AACjF,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,GAAG,IAAI,eAAe,CAAC;AACvF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;AAErE,0CAA0C;AAC1C,IAAI,eAAe,EAAE,CAAC;IACrB,OAAO,CAAC,GAAG,CAAC,IAAI,WAAW,oDAAoD,EAAE,OAAO,CAAC,CAAC;AAC3F,CAAC;AACD,IAAI,aAAa,IAAI,CAAC,eAAe,EAAE,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,IAAI,WAAW,yBAAyB,CAAC,CAAC;AACvD,CAAC;AAED,IAAI,cAAc,GAAG,CAAC,CAAC;AAEvB;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,IAA6B;IACtE,0DAA0D;IAC1D,IAAI,CAAC,eAAe;QAAE,OAAO;IAE7B,2CAA2C;IAC3C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,SAAS,GAAG,EAAE,cAAc,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,SAAS,IAAI,KAAK,OAAO,CAAC,CAAC;IAErE,IAAI,CAAC;QACJ,aAAa,CACZ,QAAQ,EACR,IAAI,CAAC,SAAS,CACb;YACC,SAAS;YACT,SAAS;YACT,KAAK;YACL,GAAG,IAAI;SACP,EACD,IAAI,EACJ,CAAC,CACD,EACD,MAAM,CACN,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,IAAI,WAAW,YAAY,KAAK,OAAO,QAAQ,EAAE,CAAC,CAAC;IAChE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,MAAM,
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../lib/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Model family type for prompt selection
|
|
3
3
|
* Maps to different system prompts in the Codex CLI
|
|
4
4
|
*/
|
|
5
|
-
export type ModelFamily = "gpt-5.3-codex" | "gpt-5.3" | "gpt-5.2-codex" | "codex-max" | "codex" | "gpt-5.2" | "gpt-5.1";
|
|
5
|
+
export type ModelFamily = "gpt-5.4-pro" | "gpt-5.4" | "gpt-5.3-codex" | "gpt-5.3" | "gpt-5.2-codex" | "codex-max" | "codex" | "gpt-5.2" | "gpt-5.1";
|
|
6
6
|
/**
|
|
7
7
|
* Determine the model family based on the normalized model name
|
|
8
8
|
* @param normalizedModel - The normalized model name (e.g., "gpt-5.3-codex", "gpt-5.2-codex", "gpt-5.1-codex-max", "gpt-5.1-codex", "gpt-5.1")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../lib/prompts/codex.ts"],"names":[],"mappings":"AAeA;;;GAGG;AACH,MAAM,MAAM,WAAW,GACpB,eAAe,GACf,SAAS,GACT,eAAe,GACf,WAAW,GACX,OAAO,GACP,SAAS,GACT,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../lib/prompts/codex.ts"],"names":[],"mappings":"AAeA;;;GAGG;AACH,MAAM,MAAM,WAAW,GACpB,aAAa,GACb,SAAS,GACT,eAAe,GACf,SAAS,GACT,eAAe,GACf,WAAW,GACX,OAAO,GACP,SAAS,GACT,SAAS,CAAC;AAiCb;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,eAAe,EAAE,MAAM,GAAG,WAAW,CA0CnE;AA4CD;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACzC,eAAe,SAAkB,GAC/B,OAAO,CAAC,MAAM,CAAC,CA2GjB;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,+mEA8DV,CAAC"}
|
|
@@ -12,6 +12,8 @@ const __dirname = dirname(__filename);
|
|
|
12
12
|
* Based on codex-rs/core/src/model_family.rs logic
|
|
13
13
|
*/
|
|
14
14
|
const PROMPT_FILES = {
|
|
15
|
+
"gpt-5.4-pro": "gpt_5_4_prompt.md",
|
|
16
|
+
"gpt-5.4": "gpt_5_4_prompt.md",
|
|
15
17
|
"gpt-5.3-codex": "gpt-5.3-codex_prompt.md",
|
|
16
18
|
"gpt-5.3": "gpt_5_3_prompt.md",
|
|
17
19
|
"gpt-5.2-codex": "gpt-5.2-codex_prompt.md",
|
|
@@ -24,6 +26,8 @@ const PROMPT_FILES = {
|
|
|
24
26
|
* Cache file mapping for each model family
|
|
25
27
|
*/
|
|
26
28
|
const CACHE_FILES = {
|
|
29
|
+
"gpt-5.4-pro": "gpt-5.4-instructions.md",
|
|
30
|
+
"gpt-5.4": "gpt-5.4-instructions.md",
|
|
27
31
|
"gpt-5.3-codex": "gpt-5.3-codex-instructions.md",
|
|
28
32
|
"gpt-5.3": "gpt-5.3-instructions.md",
|
|
29
33
|
"gpt-5.2-codex": "gpt-5.2-codex-instructions.md",
|
|
@@ -39,6 +43,14 @@ const CACHE_FILES = {
|
|
|
39
43
|
*/
|
|
40
44
|
export function getModelFamily(normalizedModel) {
|
|
41
45
|
// Order matters - check more specific patterns first
|
|
46
|
+
if (normalizedModel.includes("gpt-5.4-pro") ||
|
|
47
|
+
normalizedModel.includes("gpt 5.4 pro")) {
|
|
48
|
+
return "gpt-5.4-pro";
|
|
49
|
+
}
|
|
50
|
+
if (normalizedModel.includes("gpt-5.4") ||
|
|
51
|
+
normalizedModel.includes("gpt 5.4")) {
|
|
52
|
+
return "gpt-5.4";
|
|
53
|
+
}
|
|
42
54
|
if (normalizedModel.includes("gpt-5.3-codex") ||
|
|
43
55
|
normalizedModel.includes("gpt 5.3 codex")) {
|
|
44
56
|
return "gpt-5.3-codex";
|
|
@@ -77,6 +89,7 @@ async function getLatestReleaseTag() {
|
|
|
77
89
|
}
|
|
78
90
|
}
|
|
79
91
|
catch {
|
|
92
|
+
// API fetch failed — fall through to HTML scraping fallback below
|
|
80
93
|
}
|
|
81
94
|
const htmlResponse = await fetch(GITHUB_HTML_RELEASES);
|
|
82
95
|
if (!htmlResponse.ok) {
|
|
@@ -171,8 +184,8 @@ export async function getCodexInstructions(normalizedModel = "gpt-5.1-codex") {
|
|
|
171
184
|
throw new Error(`HTTP ${response.status}`);
|
|
172
185
|
}
|
|
173
186
|
catch (error) {
|
|
174
|
-
const
|
|
175
|
-
console.error(`[openai-codex-plugin] Failed to fetch ${modelFamily} instructions from GitHub:`,
|
|
187
|
+
const errMessage = error instanceof Error ? error.message : String(error);
|
|
188
|
+
console.error(`[openai-codex-plugin] Failed to fetch ${modelFamily} instructions from GitHub:`, errMessage);
|
|
176
189
|
// Try to use cached version even if stale
|
|
177
190
|
if (existsSync(cacheFile)) {
|
|
178
191
|
console.error(`[openai-codex-plugin] Using cached ${modelFamily} instructions`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../lib/prompts/codex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,MAAM,mBAAmB,GACxB,2DAA2D,CAAC;AAC7D,MAAM,oBAAoB,GACzB,iDAAiD,CAAC;AACnD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AAExD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../lib/prompts/codex.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Proactive Token Refresh Queue (#8)
|
|
3
|
+
*
|
|
4
|
+
* Runs as a background timer and refreshes OAuth tokens that are approaching
|
|
5
|
+
* expiry. This ensures user requests are never blocked by an in-flight token
|
|
6
|
+
* refresh — the pool always has fresh credentials ready.
|
|
7
|
+
*
|
|
8
|
+
* Adapted from the LLM-API-Key-Proxy pattern used in
|
|
9
|
+
* NoeFabris/opencode-antigravity-auth, stripped of Google-specific logic.
|
|
10
|
+
*
|
|
11
|
+
* Key properties:
|
|
12
|
+
* - Non-blocking: runs independently of the request path
|
|
13
|
+
* - Serialized: only one refresh pass runs at a time (no concurrent storms)
|
|
14
|
+
* - Per-account: skips expired or already-up-to-date tokens
|
|
15
|
+
* - Configurable: buffer window and check interval are tunable
|
|
16
|
+
*/
|
|
17
|
+
import type { AccountPool } from "./account-pool.js";
|
|
18
|
+
/** Configuration for the proactive refresh queue */
|
|
19
|
+
export interface ProactiveRefreshConfig {
|
|
20
|
+
/** Enable proactive token refresh (default: true) */
|
|
21
|
+
enabled: boolean;
|
|
22
|
+
/** Seconds before expiry to trigger proactive refresh (default: 1800 = 30 min) */
|
|
23
|
+
bufferSeconds: number;
|
|
24
|
+
/** Interval between refresh checks in seconds (default: 300 = 5 min) */
|
|
25
|
+
checkIntervalSeconds: number;
|
|
26
|
+
}
|
|
27
|
+
export declare const DEFAULT_PROACTIVE_REFRESH_CONFIG: ProactiveRefreshConfig;
|
|
28
|
+
/**
|
|
29
|
+
* Proactive Token Refresh Queue.
|
|
30
|
+
*
|
|
31
|
+
* Usage:
|
|
32
|
+
* const queue = new ProactiveRefreshQueue(accountPool);
|
|
33
|
+
* queue.start();
|
|
34
|
+
* // ... plugin runs ...
|
|
35
|
+
* queue.stop(); // optional, on process exit
|
|
36
|
+
*/
|
|
37
|
+
export declare class ProactiveRefreshQueue {
|
|
38
|
+
private readonly config;
|
|
39
|
+
private readonly pool;
|
|
40
|
+
private isRunning;
|
|
41
|
+
private isRefreshing;
|
|
42
|
+
private intervalHandle;
|
|
43
|
+
constructor(pool: AccountPool, config?: Partial<ProactiveRefreshConfig>);
|
|
44
|
+
/**
|
|
45
|
+
* Start the background refresh loop.
|
|
46
|
+
* An initial check runs 5 s after start (letting things settle).
|
|
47
|
+
*/
|
|
48
|
+
start(): void;
|
|
49
|
+
stop(): void;
|
|
50
|
+
/** Whether the queue is currently running */
|
|
51
|
+
get running(): boolean;
|
|
52
|
+
private needsRefresh;
|
|
53
|
+
private isAlreadyExpired;
|
|
54
|
+
private runRefreshCheck;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=refresh-queue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refresh-queue.d.ts","sourceRoot":"","sources":["../../lib/refresh-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIrD,oDAAoD;AACpD,MAAM,WAAW,sBAAsB;IACtC,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAC;IACjB,kFAAkF;IAClF,aAAa,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,oBAAoB,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,gCAAgC,EAAE,sBAI9C,CAAC;AAEF;;;;;;;;GAQG;AACH,qBAAa,qBAAqB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;IAChD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IAEnC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,cAAc,CAA+C;gBAEzD,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC;IAKvE;;;OAGG;IACH,KAAK,IAAI,IAAI;IA2Bb,IAAI,IAAI,IAAI;IAUZ,6CAA6C;IAC7C,IAAI,OAAO,IAAI,OAAO,CAErB;IAID,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,gBAAgB;YAKV,eAAe;CAoD7B"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Proactive Token Refresh Queue (#8)
|
|
3
|
+
*
|
|
4
|
+
* Runs as a background timer and refreshes OAuth tokens that are approaching
|
|
5
|
+
* expiry. This ensures user requests are never blocked by an in-flight token
|
|
6
|
+
* refresh — the pool always has fresh credentials ready.
|
|
7
|
+
*
|
|
8
|
+
* Adapted from the LLM-API-Key-Proxy pattern used in
|
|
9
|
+
* NoeFabris/opencode-antigravity-auth, stripped of Google-specific logic.
|
|
10
|
+
*
|
|
11
|
+
* Key properties:
|
|
12
|
+
* - Non-blocking: runs independently of the request path
|
|
13
|
+
* - Serialized: only one refresh pass runs at a time (no concurrent storms)
|
|
14
|
+
* - Per-account: skips expired or already-up-to-date tokens
|
|
15
|
+
* - Configurable: buffer window and check interval are tunable
|
|
16
|
+
*/
|
|
17
|
+
import { refreshAccessTokenShared } from "./auth/auth.js";
|
|
18
|
+
import { logDebug, logWarn } from "./logger.js";
|
|
19
|
+
export const DEFAULT_PROACTIVE_REFRESH_CONFIG = {
|
|
20
|
+
enabled: true,
|
|
21
|
+
bufferSeconds: 1800, // 30 minutes before expiry
|
|
22
|
+
checkIntervalSeconds: 300, // check every 5 minutes
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Proactive Token Refresh Queue.
|
|
26
|
+
*
|
|
27
|
+
* Usage:
|
|
28
|
+
* const queue = new ProactiveRefreshQueue(accountPool);
|
|
29
|
+
* queue.start();
|
|
30
|
+
* // ... plugin runs ...
|
|
31
|
+
* queue.stop(); // optional, on process exit
|
|
32
|
+
*/
|
|
33
|
+
export class ProactiveRefreshQueue {
|
|
34
|
+
config;
|
|
35
|
+
pool;
|
|
36
|
+
isRunning = false;
|
|
37
|
+
isRefreshing = false;
|
|
38
|
+
intervalHandle = null;
|
|
39
|
+
constructor(pool, config) {
|
|
40
|
+
this.pool = pool;
|
|
41
|
+
this.config = { ...DEFAULT_PROACTIVE_REFRESH_CONFIG, ...config };
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Start the background refresh loop.
|
|
45
|
+
* An initial check runs 5 s after start (letting things settle).
|
|
46
|
+
*/
|
|
47
|
+
start() {
|
|
48
|
+
if (this.isRunning || !this.config.enabled)
|
|
49
|
+
return;
|
|
50
|
+
this.isRunning = true;
|
|
51
|
+
// Initial check after a short settling delay
|
|
52
|
+
setTimeout(() => {
|
|
53
|
+
if (this.isRunning) {
|
|
54
|
+
this.runRefreshCheck().catch((err) => {
|
|
55
|
+
logWarn("ProactiveRefreshQueue: initial check failed", err);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}, 5_000);
|
|
59
|
+
// Periodic checks
|
|
60
|
+
const intervalMs = this.config.checkIntervalSeconds * 1000;
|
|
61
|
+
this.intervalHandle = setInterval(() => {
|
|
62
|
+
this.runRefreshCheck().catch((err) => {
|
|
63
|
+
logWarn("ProactiveRefreshQueue: periodic check failed", err);
|
|
64
|
+
});
|
|
65
|
+
}, intervalMs);
|
|
66
|
+
logDebug("ProactiveRefreshQueue started", {
|
|
67
|
+
checkIntervalSeconds: this.config.checkIntervalSeconds,
|
|
68
|
+
bufferSeconds: this.config.bufferSeconds,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
stop() {
|
|
72
|
+
if (!this.isRunning)
|
|
73
|
+
return;
|
|
74
|
+
this.isRunning = false;
|
|
75
|
+
if (this.intervalHandle) {
|
|
76
|
+
clearInterval(this.intervalHandle);
|
|
77
|
+
this.intervalHandle = null;
|
|
78
|
+
}
|
|
79
|
+
logDebug("ProactiveRefreshQueue stopped");
|
|
80
|
+
}
|
|
81
|
+
/** Whether the queue is currently running */
|
|
82
|
+
get running() {
|
|
83
|
+
return this.isRunning;
|
|
84
|
+
}
|
|
85
|
+
// ---------------------------------------------------------------------------
|
|
86
|
+
needsRefresh(account) {
|
|
87
|
+
if (!account.expires)
|
|
88
|
+
return false;
|
|
89
|
+
const bufferMs = this.config.bufferSeconds * 1000;
|
|
90
|
+
return account.expires <= Date.now() + bufferMs;
|
|
91
|
+
}
|
|
92
|
+
isAlreadyExpired(account) {
|
|
93
|
+
if (!account.expires)
|
|
94
|
+
return false;
|
|
95
|
+
return account.expires <= Date.now();
|
|
96
|
+
}
|
|
97
|
+
async runRefreshCheck() {
|
|
98
|
+
if (this.isRefreshing)
|
|
99
|
+
return; // previous pass still running
|
|
100
|
+
this.isRefreshing = true;
|
|
101
|
+
try {
|
|
102
|
+
const accounts = this.pool.getAccounts().filter((a) => {
|
|
103
|
+
// Skip accounts that are already expired — let the main fetch loop handle those
|
|
104
|
+
if (this.isAlreadyExpired(a))
|
|
105
|
+
return false;
|
|
106
|
+
return this.needsRefresh(a);
|
|
107
|
+
});
|
|
108
|
+
if (accounts.length === 0)
|
|
109
|
+
return;
|
|
110
|
+
logDebug(`ProactiveRefreshQueue: refreshing ${accounts.length} account(s)`);
|
|
111
|
+
// Refresh serially — prevents concurrent refresh storms
|
|
112
|
+
for (const account of accounts) {
|
|
113
|
+
if (!this.isRunning)
|
|
114
|
+
break; // stopped mid-pass
|
|
115
|
+
try {
|
|
116
|
+
const result = await refreshAccessTokenShared(account.accountId, account.refresh);
|
|
117
|
+
if (result.type === "success") {
|
|
118
|
+
this.pool.replaceAuth(account.accountId, result.access, result.refresh, result.expires);
|
|
119
|
+
try {
|
|
120
|
+
this.pool.save();
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
// Non-fatal — token is already updated in memory
|
|
124
|
+
}
|
|
125
|
+
logDebug("ProactiveRefreshQueue: refreshed account", {
|
|
126
|
+
accountId: account.accountId,
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
logWarn("ProactiveRefreshQueue: refresh failed for account", {
|
|
131
|
+
accountId: account.accountId,
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
catch (err) {
|
|
136
|
+
logWarn("ProactiveRefreshQueue: unexpected error refreshing account", {
|
|
137
|
+
accountId: account.accountId,
|
|
138
|
+
error: err instanceof Error ? err.message : String(err),
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
finally {
|
|
144
|
+
this.isRefreshing = false;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=refresh-queue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refresh-queue.js","sourceRoot":"","sources":["../../lib/refresh-queue.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,8 @@ export declare function refreshAndUpdateToken(currentAuth: Auth, client: Opencod
|
|
|
25
25
|
*/
|
|
26
26
|
export declare function extractRequestUrl(input: Request | string | URL): string;
|
|
27
27
|
/**
|
|
28
|
-
* Rewrites OpenAI API URLs to Codex backend URLs
|
|
28
|
+
* Rewrites OpenAI API URLs to Codex backend URLs.
|
|
29
|
+
* Handles both the Responses API path and the Chat Completions compat path (#7).
|
|
29
30
|
* @param url - Original URL
|
|
30
31
|
* @returns Rewritten URL for Codex backend
|
|
31
32
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-helpers.d.ts","sourceRoot":"","sources":["../../../lib/request/fetch-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"fetch-helpers.d.ts","sourceRoot":"","sources":["../../../lib/request/fetch-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAY3D;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAEtD;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAC1C,WAAW,EAAE,IAAI,EACjB,MAAM,EAAE,cAAc,GACpB,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,GAAG,GAAG,MAAM,CAIvE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAiBtD;AAED;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAC7C,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,UAAU,EACtB,SAAS,UAAO,GACd,OAAO,CAAC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,WAAW,EAAE,WAAW,CAAA;CAAE,GAAG,SAAS,CAAC,CA0DtE;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAC9B,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GACnD,OAAO,CAqBT;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACrC,QAAQ,EAAE,QAAQ,GACnB,OAAO,CAAC,QAAQ,CAAC,CAUnB;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACvC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,OAAO,GACrB,OAAO,CAAC,QAAQ,CAAC,CAcnB"}
|
|
@@ -7,7 +7,7 @@ import { logRequest } from "../logger.js";
|
|
|
7
7
|
import { getCodexInstructions, getModelFamily } from "../prompts/codex.js";
|
|
8
8
|
import { transformRequestBody, normalizeModel } from "./request-transformer.js";
|
|
9
9
|
import { convertSseToJson, ensureContentType } from "./response-handler.js";
|
|
10
|
-
import { PLUGIN_NAME, HTTP_STATUS, OPENAI_HEADERS, OPENAI_HEADER_VALUES, URL_PATHS, ERROR_MESSAGES, LOG_STAGES, } from "../constants.js";
|
|
10
|
+
import { PLUGIN_NAME, HTTP_STATUS, OPENAI_HEADERS, OPENAI_HEADER_VALUES, URL_PATHS, ERROR_MESSAGES, LOG_STAGES, USAGE_LIMIT_PATTERN, } from "../constants.js";
|
|
11
11
|
/**
|
|
12
12
|
* Determines if the current auth token needs to be refreshed
|
|
13
13
|
* @param auth - Current authentication state
|
|
@@ -59,12 +59,29 @@ export function extractRequestUrl(input) {
|
|
|
59
59
|
return input.url;
|
|
60
60
|
}
|
|
61
61
|
/**
|
|
62
|
-
* Rewrites OpenAI API URLs to Codex backend URLs
|
|
62
|
+
* Rewrites OpenAI API URLs to Codex backend URLs.
|
|
63
|
+
* Handles both the Responses API path and the Chat Completions compat path (#7).
|
|
63
64
|
* @param url - Original URL
|
|
64
65
|
* @returns Rewritten URL for Codex backend
|
|
65
66
|
*/
|
|
66
67
|
export function rewriteUrlForCodex(url) {
|
|
67
|
-
|
|
68
|
+
// /v1/responses or /responses → /codex/responses
|
|
69
|
+
if (url.includes(URL_PATHS.RESPONSES)) {
|
|
70
|
+
return url.replace(URL_PATHS.RESPONSES, URL_PATHS.CODEX_RESPONSES);
|
|
71
|
+
}
|
|
72
|
+
// /chat/completions (Chat Completions compat layer) → codex endpoint
|
|
73
|
+
if (url.includes(URL_PATHS.CHAT_COMPLETIONS)) {
|
|
74
|
+
try {
|
|
75
|
+
const parsed = new URL(url);
|
|
76
|
+
parsed.pathname = URL_PATHS.CODEX_RESPONSES;
|
|
77
|
+
return parsed.toString();
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
// Fallback for relative paths
|
|
81
|
+
return url.replace(URL_PATHS.CHAT_COMPLETIONS, URL_PATHS.CODEX_RESPONSES);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return url;
|
|
68
85
|
}
|
|
69
86
|
/**
|
|
70
87
|
* Transforms request body and logs the transformation
|
|
@@ -141,12 +158,15 @@ export function createCodexHeaders(init, accountId, accessToken, opts) {
|
|
|
141
158
|
headers.set(OPENAI_HEADERS.ORIGINATOR, OPENAI_HEADER_VALUES.ORIGINATOR_CODEX);
|
|
142
159
|
const cacheKey = opts?.promptCacheKey;
|
|
143
160
|
if (cacheKey) {
|
|
161
|
+
// Use prompt_cache_key for both conversation and session tracking
|
|
144
162
|
headers.set(OPENAI_HEADERS.CONVERSATION_ID, cacheKey);
|
|
145
163
|
headers.set(OPENAI_HEADERS.SESSION_ID, cacheKey);
|
|
146
164
|
}
|
|
147
165
|
else {
|
|
166
|
+
// No explicit cache key — remove conversation_id but preserve session_id
|
|
167
|
+
// if it was already injected by the chat.headers hook (#4: platform session ID)
|
|
148
168
|
headers.delete(OPENAI_HEADERS.CONVERSATION_ID);
|
|
149
|
-
|
|
169
|
+
// session_id is left as-is (may have been set to input.sessionID by chat.headers hook)
|
|
150
170
|
}
|
|
151
171
|
headers.set("accept", "text/event-stream");
|
|
152
172
|
return headers;
|
|
@@ -208,7 +228,7 @@ async function mapUsageLimit404(response) {
|
|
|
208
228
|
code = "";
|
|
209
229
|
}
|
|
210
230
|
const haystack = `${code} ${text}`.toLowerCase();
|
|
211
|
-
if (
|
|
231
|
+
if (!USAGE_LIMIT_PATTERN.test(haystack)) {
|
|
212
232
|
return null;
|
|
213
233
|
}
|
|
214
234
|
const headers = new Headers(response.headers);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-helpers.js","sourceRoot":"","sources":["../../../lib/request/fetch-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE5E,OAAO,EACN,WAAW,EACX,WAAW,EACX,cAAc,EACd,oBAAoB,EACpB,SAAS,EACT,cAAc,EACd,UAAU,
|
|
1
|
+
{"version":3,"file":"fetch-helpers.js","sourceRoot":"","sources":["../../../lib/request/fetch-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-utils.d.ts","sourceRoot":"","sources":["../../../../lib/request/helpers/input-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"input-utils.d.ts","sourceRoot":"","sources":["../../../../lib/request/helpers/input-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAkBhD,eAAO,MAAM,cAAc,GAAI,MAAM,SAAS,KAAG,MAWhD,CAAC;AA8BF,wBAAgB,sBAAsB,CACrC,IAAI,EAAE,SAAS,EACf,YAAY,EAAE,MAAM,GAAG,IAAI,GACzB,OAAO,CA6BT;AAED,wBAAgB,2CAA2C,CAC1D,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,EAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,GACzB,SAAS,EAAE,GAAG,SAAS,CAkBzB;AA+DD,eAAO,MAAM,4BAA4B,GACxC,OAAO,SAAS,EAAE,KAChB,SAAS,EAiCX,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { SIZE_LIMITS } from "../../constants.js";
|
|
1
2
|
const OPENCODE_PROMPT_SIGNATURES = [
|
|
2
3
|
"you are a coding agent running in the opencode",
|
|
3
4
|
"you are opencode, an agent",
|
|
@@ -91,27 +92,28 @@ export function filterOpenCodeSystemPromptsWithCachedPrompt(input, cachedPrompt)
|
|
|
91
92
|
});
|
|
92
93
|
}
|
|
93
94
|
const getCallId = (item) => {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
return null;
|
|
97
|
-
|
|
98
|
-
return
|
|
95
|
+
if ("call_id" in item && typeof item.call_id === "string") {
|
|
96
|
+
const trimmed = item.call_id.trim();
|
|
97
|
+
return trimmed.length > 0 ? trimmed : null;
|
|
98
|
+
}
|
|
99
|
+
return null;
|
|
99
100
|
};
|
|
100
101
|
const convertOrphanedOutputToMessage = (item, callId) => {
|
|
101
|
-
const toolName = typeof item.name === "string"
|
|
102
|
+
const toolName = "name" in item && typeof item.name === "string"
|
|
102
103
|
? item.name
|
|
103
104
|
: "tool";
|
|
104
105
|
const labelCallId = callId ?? "unknown";
|
|
105
106
|
let text;
|
|
106
107
|
try {
|
|
107
|
-
const out = item.output;
|
|
108
|
+
const out = "output" in item ? item.output : undefined;
|
|
108
109
|
text = typeof out === "string" ? out : JSON.stringify(out);
|
|
109
110
|
}
|
|
110
111
|
catch {
|
|
111
|
-
|
|
112
|
+
const out = "output" in item ? item.output : "";
|
|
113
|
+
text = String(out ?? "");
|
|
112
114
|
}
|
|
113
|
-
if (text.length >
|
|
114
|
-
text = text.slice(0,
|
|
115
|
+
if (text.length > SIZE_LIMITS.MAX_TOOL_OUTPUT_LENGTH) {
|
|
116
|
+
text = text.slice(0, SIZE_LIMITS.MAX_TOOL_OUTPUT_LENGTH) + "\n...[truncated]";
|
|
115
117
|
}
|
|
116
118
|
return {
|
|
117
119
|
type: "message",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-utils.js","sourceRoot":"","sources":["../../../../lib/request/helpers/input-utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"input-utils.js","sourceRoot":"","sources":["../../../../lib/request/helpers/input-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-map.d.ts","sourceRoot":"","sources":["../../../../lib/request/helpers/model-map.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"model-map.d.ts","sourceRoot":"","sources":["../../../../lib/request/helpers/model-map.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA4G5C,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAiBtE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAErD"}
|
|
@@ -11,7 +11,20 @@
|
|
|
11
11
|
* Value: The normalized model name to send to the API
|
|
12
12
|
*/
|
|
13
13
|
export const MODEL_MAP = {
|
|
14
|
-
|
|
14
|
+
"gpt-5.4": "gpt-5.4",
|
|
15
|
+
"gpt-5.4-2026-03-05": "gpt-5.4",
|
|
16
|
+
"gpt-5.4-none": "gpt-5.4",
|
|
17
|
+
"gpt-5.4-low": "gpt-5.4",
|
|
18
|
+
"gpt-5.4-medium": "gpt-5.4",
|
|
19
|
+
"gpt-5.4-high": "gpt-5.4",
|
|
20
|
+
"gpt-5.4-xhigh": "gpt-5.4",
|
|
21
|
+
"gpt-5.4-pro": "gpt-5.4-pro",
|
|
22
|
+
"gpt-5.4-pro-2026-03-05": "gpt-5.4-pro",
|
|
23
|
+
"gpt-5.4-pro-none": "gpt-5.4-pro",
|
|
24
|
+
"gpt-5.4-pro-low": "gpt-5.4-pro",
|
|
25
|
+
"gpt-5.4-pro-medium": "gpt-5.4-pro",
|
|
26
|
+
"gpt-5.4-pro-high": "gpt-5.4-pro",
|
|
27
|
+
"gpt-5.4-pro-xhigh": "gpt-5.4-pro",
|
|
15
28
|
// GPT-5.3 Models (supports none/low/medium/high/xhigh per OpenAI API docs)
|
|
16
29
|
// ============================================================================
|
|
17
30
|
"gpt-5.3": "gpt-5.3",
|