opencode-codex-auth-rotation 1.0.1 → 1.0.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 +14 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -10
- package/dist/index.js.map +1 -1
- package/dist/lib/config.d.ts +1 -1
- package/dist/lib/config.js +2 -2
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/logger.js +1 -1
- package/dist/lib/logger.js.map +1 -1
- package/dist/src/plugin/accounts.d.ts +8 -7
- package/dist/src/plugin/accounts.d.ts.map +1 -1
- package/dist/src/plugin/accounts.js +6 -6
- package/dist/src/plugin/accounts.js.map +1 -1
- package/dist/src/plugin/usage.js +1 -1
- package/dist/src/plugin/usage.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -77,24 +77,25 @@ Account credentials are stored in `~/.config/opencode/codex-accounts.json`:
|
|
|
77
77
|
|
|
78
78
|
```jsonc
|
|
79
79
|
// ~/.config/opencode/codex-accounts.json
|
|
80
|
+
// auth.json과 동일한 형식 - 수동으로 추가 계정 입력
|
|
80
81
|
{
|
|
81
82
|
"version": 1,
|
|
82
83
|
"accounts": [
|
|
83
84
|
{
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
"
|
|
85
|
+
"type": "oauth",
|
|
86
|
+
"access": "eyJhbGci...",
|
|
87
|
+
"refresh": "v1.MjE0...",
|
|
88
|
+
"expires": 1770555836476,
|
|
89
|
+
"accountId": "130e685f-610e-4a52-8c8b-f57bcabcea35",
|
|
90
|
+
"email": "user1@example.com"
|
|
90
91
|
},
|
|
91
92
|
{
|
|
92
|
-
"
|
|
93
|
-
"
|
|
94
|
-
"
|
|
95
|
-
"
|
|
96
|
-
"
|
|
97
|
-
"
|
|
93
|
+
"type": "oauth",
|
|
94
|
+
"access": "eyJhbGci...",
|
|
95
|
+
"refresh": "v1.MjE0...",
|
|
96
|
+
"expires": 1770555836476,
|
|
97
|
+
"accountId": "another-account-id",
|
|
98
|
+
"email": "user2@example.com"
|
|
98
99
|
}
|
|
99
100
|
],
|
|
100
101
|
"activeIndex": 0
|
|
@@ -112,7 +113,7 @@ The plugin supports two rotation strategies:
|
|
|
112
113
|
|
|
113
114
|
Environment variable: `CODEX_ACCOUNT_STRATEGY=sticky|round-robin`
|
|
114
115
|
|
|
115
|
-
Plugin config (`~/.opencode/
|
|
116
|
+
Plugin config (`~/.config/opencode/codex-auth-config.json`):
|
|
116
117
|
```json
|
|
117
118
|
{
|
|
118
119
|
"strategy": "round-robin"
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,qBAAqB,CAAC;AA2C/D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,qBAAqB,CAAC;AA2C/D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAoU9B,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -115,16 +115,17 @@ export const OpenAIAuthPlugin = async ({ client }) => {
|
|
|
115
115
|
let pidOffsetApplied = false;
|
|
116
116
|
// Add current OAuth account first
|
|
117
117
|
accountManager.addAccount({
|
|
118
|
-
|
|
118
|
+
type: "oauth",
|
|
119
|
+
access: auth.access,
|
|
120
|
+
refresh: auth.refresh,
|
|
121
|
+
expires: auth.expires,
|
|
122
|
+
accountId: accountId,
|
|
119
123
|
email: decoded?.email || "",
|
|
120
|
-
accessToken: auth.access,
|
|
121
|
-
refreshToken: auth.refresh,
|
|
122
|
-
chatgptAccountId: accountId,
|
|
123
124
|
enabled: true,
|
|
124
125
|
});
|
|
125
126
|
// Add previously stored accounts (excluding current to avoid duplicates)
|
|
126
127
|
for (const account of storedAccounts) {
|
|
127
|
-
if (account.
|
|
128
|
+
if (account.accountId !== accountId) {
|
|
128
129
|
accountManager.addAccount(account);
|
|
129
130
|
}
|
|
130
131
|
}
|
|
@@ -182,8 +183,8 @@ export const OpenAIAuthPlugin = async ({ client }) => {
|
|
|
182
183
|
if (shouldRefreshToken(currentAuth)) {
|
|
183
184
|
currentAuth = await refreshAndUpdateToken(currentAuth, client);
|
|
184
185
|
if (currentAuth.type === "oauth") {
|
|
185
|
-
currentAccount.
|
|
186
|
-
currentAccount.
|
|
186
|
+
currentAccount.access = currentAuth.access;
|
|
187
|
+
currentAccount.refresh = currentAuth.refresh;
|
|
187
188
|
}
|
|
188
189
|
}
|
|
189
190
|
const originalUrl = extractRequestUrl(input);
|
|
@@ -192,7 +193,7 @@ export const OpenAIAuthPlugin = async ({ client }) => {
|
|
|
192
193
|
const isStreaming = originalBody.stream === true;
|
|
193
194
|
const transformation = await transformRequestForCodex(init, url, userConfig, codexMode);
|
|
194
195
|
const requestInit = transformation?.updatedInit ?? init;
|
|
195
|
-
const headers = createCodexHeaders(requestInit, currentAccount.
|
|
196
|
+
const headers = createCodexHeaders(requestInit, currentAccount.accountId, currentAccount.access, {
|
|
196
197
|
model: transformation?.body.model,
|
|
197
198
|
promptCacheKey: transformation?.body?.prompt_cache_key,
|
|
198
199
|
});
|
|
@@ -211,7 +212,7 @@ export const OpenAIAuthPlugin = async ({ client }) => {
|
|
|
211
212
|
const resetTime = retryAfter
|
|
212
213
|
? Date.now() + parseInt(retryAfter, 10) * 1000
|
|
213
214
|
: Date.now() + 60000;
|
|
214
|
-
accountManager.updateRateLimitResetTime(currentAccount.
|
|
215
|
+
accountManager.updateRateLimitResetTime(currentAccount.accountId, resetTime);
|
|
215
216
|
accountManager.rotateAccount();
|
|
216
217
|
if (strategy === "sticky") {
|
|
217
218
|
currentAccountIndex = null;
|
|
@@ -229,7 +230,7 @@ export const OpenAIAuthPlugin = async ({ client }) => {
|
|
|
229
230
|
}
|
|
230
231
|
const successResponse = await handleSuccessResponse(response, isStreaming);
|
|
231
232
|
// 성공 응답 후 백그라운드에서 사용량 캐시를 갱신합니다.
|
|
232
|
-
fetchUsageBackground(currentAccount.
|
|
233
|
+
fetchUsageBackground(currentAccount.access, currentAccount.accountId, pid);
|
|
233
234
|
return successResponse;
|
|
234
235
|
}
|
|
235
236
|
throw lastError || new Error("All retry attempts failed");
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/config.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { PluginConfig, AccountSelectionStrategy } from "./types.js";
|
|
2
2
|
/**
|
|
3
|
-
* Load plugin configuration from ~/.opencode/
|
|
3
|
+
* Load plugin configuration from ~/.config/opencode/codex-auth-config.json
|
|
4
4
|
* Falls back to defaults if file doesn't exist or is invalid
|
|
5
5
|
*
|
|
6
6
|
* @returns Plugin configuration
|
package/dist/lib/config.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { readFileSync, existsSync } from "node:fs";
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import { homedir } from "node:os";
|
|
4
|
-
const CONFIG_PATH = join(homedir(), ".opencode", "
|
|
4
|
+
const CONFIG_PATH = join(homedir(), ".config/opencode", "codex-auth-config.json");
|
|
5
5
|
/**
|
|
6
6
|
* Default plugin configuration
|
|
7
7
|
* CODEX_MODE is enabled by default for better Codex CLI parity
|
|
@@ -12,7 +12,7 @@ const DEFAULT_CONFIG = {
|
|
|
12
12
|
pidOffset: false,
|
|
13
13
|
};
|
|
14
14
|
/**
|
|
15
|
-
* Load plugin configuration from ~/.opencode/
|
|
15
|
+
* Load plugin configuration from ~/.config/opencode/codex-auth-config.json
|
|
16
16
|
* Falls back to defaults if file doesn't exist or is invalid
|
|
17
17
|
*
|
|
18
18
|
* @returns Plugin configuration
|
package/dist/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,kBAAkB,EAAE,wBAAwB,CAAC,CAAC;AAElF;;;GAGG;AACH,MAAM,cAAc,GAAiB;IACpC,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,KAAK;CAChB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB;IAC/B,IAAI,CAAC;QACJ,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9B,OAAO,cAAc,CAAC;QACvB,CAAC;QAED,MAAM,WAAW,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAA0B,CAAC;QAEpE,sBAAsB;QACtB,OAAO;YACN,GAAG,cAAc;YACjB,GAAG,UAAU;SACb,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CACX,oDAAoD,WAAW,GAAG,EACjE,KAAe,CAAC,OAAO,CACxB,CAAC;QACF,OAAO,cAAc,CAAC;IACvB,CAAC;AACF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,YAA0B;IACtD,wCAAwC;IACxC,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC;IACvC,CAAC;IAED,wCAAwC;IACxC,OAAO,YAAY,CAAC,SAAS,IAAI,IAAI,CAAC;AACvC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,YAA0B;IACrD,wCAAwC;IACxC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;IACvD,IAAI,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,aAAa,EAAE,CAAC;QAC/D,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,4CAA4C;IAC5C,OAAO,YAAY,CAAC,QAAQ,IAAI,QAAQ,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,YAA0B;IACtD,wCAAwC;IACxC,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QAChD,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,GAAG,CAAC;IAC7C,CAAC;IAED,yCAAyC;IACzC,OAAO,YAAY,CAAC,SAAS,IAAI,KAAK,CAAC;AACxC,CAAC"}
|
package/dist/lib/logger.js
CHANGED
|
@@ -5,7 +5,7 @@ import { PLUGIN_NAME } from "./constants.js";
|
|
|
5
5
|
// Logging configuration
|
|
6
6
|
export const LOGGING_ENABLED = process.env.ENABLE_PLUGIN_REQUEST_LOGGING === "1";
|
|
7
7
|
export const DEBUG_ENABLED = process.env.DEBUG_CODEX_PLUGIN === "1" || LOGGING_ENABLED;
|
|
8
|
-
const LOG_DIR = join(homedir(), ".opencode", "logs", "codex-plugin");
|
|
8
|
+
const LOG_DIR = join(homedir(), ".local/share/opencode", "logs", "codex-plugin");
|
|
9
9
|
// Log startup message about logging state
|
|
10
10
|
if (LOGGING_ENABLED) {
|
|
11
11
|
console.log(`[${PLUGIN_NAME}] Request logging ENABLED - logs will be saved to:`, LOG_DIR);
|
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,
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../lib/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
export interface CodexAccount {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
type?: "oauth";
|
|
3
|
+
access: string;
|
|
4
|
+
refresh: string;
|
|
5
|
+
expires?: number;
|
|
6
|
+
accountId: string;
|
|
7
|
+
email?: string;
|
|
7
8
|
rateLimitResetTime?: number;
|
|
8
|
-
enabled
|
|
9
|
+
enabled?: boolean;
|
|
9
10
|
}
|
|
10
11
|
export declare class AccountManager {
|
|
11
12
|
private accounts;
|
|
12
13
|
private currentIndex;
|
|
13
14
|
addAccount(account: CodexAccount): void;
|
|
14
|
-
getAccount(
|
|
15
|
+
getAccount(accountId: string): CodexAccount | undefined;
|
|
15
16
|
getCurrentAccount(): CodexAccount | null;
|
|
16
17
|
rotateAccount(): void;
|
|
17
18
|
getAccountCount(): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../../src/plugin/accounts.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../../src/plugin/accounts.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,cAAc;IAC1B,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,YAAY,CAAK;IAEzB,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IASvC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIvD,iBAAiB,IAAI,YAAY,GAAG,IAAI;IAYxC,aAAa,IAAI,IAAI;IASrB,eAAe,IAAI,MAAM;IAIzB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAOpE,OAAO,CAAC,oBAAoB;CAY5B"}
|
|
@@ -2,15 +2,15 @@ export class AccountManager {
|
|
|
2
2
|
accounts = [];
|
|
3
3
|
currentIndex = 0;
|
|
4
4
|
addAccount(account) {
|
|
5
|
-
const existingIndex = this.accounts.findIndex(acc => acc.
|
|
5
|
+
const existingIndex = this.accounts.findIndex(acc => acc.accountId === account.accountId);
|
|
6
6
|
if (existingIndex >= 0) {
|
|
7
7
|
this.accounts[existingIndex] = account;
|
|
8
8
|
return;
|
|
9
9
|
}
|
|
10
10
|
this.accounts.push(account);
|
|
11
11
|
}
|
|
12
|
-
getAccount(
|
|
13
|
-
return this.accounts.find(acc => acc.
|
|
12
|
+
getAccount(accountId) {
|
|
13
|
+
return this.accounts.find(acc => acc.accountId === accountId);
|
|
14
14
|
}
|
|
15
15
|
getCurrentAccount() {
|
|
16
16
|
const available = this.getAvailableAccounts();
|
|
@@ -18,8 +18,8 @@ export class AccountManager {
|
|
|
18
18
|
return null;
|
|
19
19
|
}
|
|
20
20
|
const validIndex = this.currentIndex % available.length;
|
|
21
|
-
const
|
|
22
|
-
return this.accounts.find(acc => acc.
|
|
21
|
+
const currentAccountId = available[validIndex]?.accountId;
|
|
22
|
+
return this.accounts.find(acc => acc.accountId === currentAccountId) ?? null;
|
|
23
23
|
}
|
|
24
24
|
rotateAccount() {
|
|
25
25
|
const available = this.getAvailableAccounts();
|
|
@@ -40,7 +40,7 @@ export class AccountManager {
|
|
|
40
40
|
getAvailableAccounts() {
|
|
41
41
|
const now = Date.now();
|
|
42
42
|
return this.accounts.filter(acc => {
|
|
43
|
-
if (
|
|
43
|
+
if (acc.enabled === false) {
|
|
44
44
|
return false;
|
|
45
45
|
}
|
|
46
46
|
if (acc.rateLimitResetTime && acc.rateLimitResetTime > now) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../../src/plugin/accounts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../../src/plugin/accounts.ts"],"names":[],"mappings":"AAWA,MAAM,OAAO,cAAc;IAClB,QAAQ,GAAmB,EAAE,CAAC;IAC9B,YAAY,GAAG,CAAC,CAAC;IAEzB,UAAU,CAAC,OAAqB;QAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1F,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC;YACvC,OAAO;QACR,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,UAAU,CAAC,SAAiB;QAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;IAC/D,CAAC;IAED,iBAAiB;QAChB,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACb,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC;QACxD,MAAM,gBAAgB,GAAG,SAAS,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC;QAE1D,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,KAAK,gBAAgB,CAAC,IAAI,IAAI,CAAC;IAC9E,CAAC;IAED,aAAa;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9C,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC3B,OAAO;QACR,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;IAChE,CAAC;IAED,eAAe;QACd,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC,MAAM,CAAC;IAC3C,CAAC;IAED,wBAAwB,CAAC,SAAiB,EAAE,SAAiB;QAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;QACxC,CAAC;IACF,CAAC;IAEO,oBAAoB;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YACjC,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBAC3B,OAAO,KAAK,CAAC;YACd,CAAC;YACD,IAAI,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,kBAAkB,GAAG,GAAG,EAAE,CAAC;gBAC5D,OAAO,KAAK,CAAC;YACd,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC,CAAC,CAAC;IACJ,CAAC;CACD"}
|
package/dist/src/plugin/usage.js
CHANGED
|
@@ -47,7 +47,7 @@ export function selectAccountByUsage(accounts, cache) {
|
|
|
47
47
|
if (accounts.length === 1)
|
|
48
48
|
return 0;
|
|
49
49
|
const accountsWithUsage = accounts.map((acc, index) => {
|
|
50
|
-
const usage = cache.accounts[acc.
|
|
50
|
+
const usage = cache.accounts[acc.accountId];
|
|
51
51
|
return {
|
|
52
52
|
index,
|
|
53
53
|
primaryUsage: usage?.primaryUsage ?? 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../src/plugin/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnG,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,MAAM,aAAa,GAAG,4CAA4C,CAAC;AAEnE,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAa,EAAE,SAAiB;IAC/D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE;QACrC,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,KAAK,EAAE;YAChC,eAAe,EAAE,SAAS;SAC3B;KACF,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9B,OAAO,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,YAAY,CAAC,GAAW;IAC/B,OAAO,oBAAoB,GAAG,OAAO,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACxD,OAAO,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,IAAgB;IAC1D,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,CAAC,CAAC;IAC3B,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,CAAC,CAAC;IAC3B,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,CAAC,CAAC;IAC3B,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,QAAwB,EACxB,KAAiB;IAEjB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC;IACrC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAEpC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACpD,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../src/plugin/usage.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opencode-codex-auth-rotation",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "OpenAI ChatGPT (Codex backend) OAuth auth plugin for opencode with multi-account rotation - use your ChatGPT Plus/Pro subscription instead of API credits",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|