oc-codex-multi-auth 6.13.0 → 6.14.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.
- package/README.md +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +305 -47
- package/dist/index.js.map +1 -1
- package/dist/lib/accounts/state.d.ts.map +1 -1
- package/dist/lib/accounts/state.js +2 -2
- package/dist/lib/accounts/state.js.map +1 -1
- package/dist/lib/codex-usage.d.ts.map +1 -1
- package/dist/lib/codex-usage.js +14 -79
- package/dist/lib/codex-usage.js.map +1 -1
- package/dist/lib/errors.d.ts +7 -0
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/errors.js +14 -0
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/proactive-refresh.d.ts.map +1 -1
- package/dist/lib/proactive-refresh.js +14 -3
- package/dist/lib/proactive-refresh.js.map +1 -1
- 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 +17 -4
- package/dist/lib/request/fetch-helpers.js.map +1 -1
- package/dist/lib/storage/coordinated-refresh.d.ts +15 -0
- package/dist/lib/storage/coordinated-refresh.d.ts.map +1 -0
- package/dist/lib/storage/coordinated-refresh.js +246 -0
- package/dist/lib/storage/coordinated-refresh.js.map +1 -0
- package/dist/lib/storage/flagged.d.ts.map +1 -1
- package/dist/lib/storage/flagged.js +13 -3
- package/dist/lib/storage/flagged.js.map +1 -1
- package/dist/lib/storage/load-save.d.ts.map +1 -1
- package/dist/lib/storage/load-save.js +6 -3
- package/dist/lib/storage/load-save.js.map +1 -1
- package/dist/lib/storage/transaction-lock.d.ts +21 -0
- package/dist/lib/storage/transaction-lock.d.ts.map +1 -0
- package/dist/lib/storage/transaction-lock.js +194 -0
- package/dist/lib/storage/transaction-lock.js.map +1 -0
- package/dist/lib/tools/codex-note.d.ts.map +1 -1
- package/dist/lib/tools/codex-note.js +19 -9
- package/dist/lib/tools/codex-note.js.map +1 -1
- package/dist/lib/tools/codex-tag.d.ts.map +1 -1
- package/dist/lib/tools/codex-tag.js +23 -12
- package/dist/lib/tools/codex-tag.js.map +1 -1
- package/dist/lib/tools/refresh-account.d.ts +5 -15
- package/dist/lib/tools/refresh-account.d.ts.map +1 -1
- package/dist/lib/tools/refresh-account.js +17 -110
- package/dist/lib/tools/refresh-account.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-save.js","sourceRoot":"","sources":["../../../lib/storage/load-save.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"load-save.js","sourceRoot":"","sources":["../../../lib/storage/load-save.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface StorageTransactionLease {
|
|
2
|
+
assertValid(): void;
|
|
3
|
+
}
|
|
4
|
+
export interface StorageTransactionOptions<Current, Persisted extends Current, Result> {
|
|
5
|
+
readonly storagePath: string;
|
|
6
|
+
readonly load: () => Promise<Current>;
|
|
7
|
+
readonly persist: (storage: Persisted) => Promise<void>;
|
|
8
|
+
readonly handler: (current: Current, persist: (storage: Persisted) => Promise<void>) => Promise<Result>;
|
|
9
|
+
}
|
|
10
|
+
export declare function getStorageTransactionLockPath(storagePath: string): string;
|
|
11
|
+
export declare function getRefreshLeasePath(storagePath: string): string;
|
|
12
|
+
/**
|
|
13
|
+
* Serialize a refresh-token exchange for one storage file across processes.
|
|
14
|
+
*
|
|
15
|
+
* The callback runs with NO storage lease held, so it is free to perform the
|
|
16
|
+
* provider round trip and to open short storage transactions of its own for the
|
|
17
|
+
* pre-check and the commit.
|
|
18
|
+
*/
|
|
19
|
+
export declare function withRefreshLease<T>(storagePath: string, operation: (lease: StorageTransactionLease) => Promise<T>): Promise<T>;
|
|
20
|
+
export declare function withStorageTransaction<Current, Persisted extends Current, Result>(options: StorageTransactionOptions<Current, Persisted, Result>): Promise<Result>;
|
|
21
|
+
//# sourceMappingURL=transaction-lock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction-lock.d.ts","sourceRoot":"","sources":["../../../lib/storage/transaction-lock.ts"],"names":[],"mappings":"AAyDA,MAAM,WAAW,uBAAuB;IACvC,WAAW,IAAI,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB,CAAC,OAAO,EAAE,SAAS,SAAS,OAAO,EAAE,MAAM;IACpF,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,QAAQ,CAAC,OAAO,EAAE,CACjB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,CAAC,OAAO,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,KAC1C,OAAO,CAAC,MAAM,CAAC,CAAC;CACrB;AA+BD,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE/D;AA0FD;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EACvC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,OAAO,CAAC,CAAC,CAAC,GACvD,OAAO,CAAC,CAAC,CAAC,CAgCZ;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,SAAS,SAAS,OAAO,EAAE,MAAM,EAChF,OAAO,EAAE,yBAAyB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,GAC5D,OAAO,CAAC,MAAM,CAAC,CAUjB"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import { mkdir } from "node:fs/promises";
|
|
2
|
+
import { dirname } from "node:path";
|
|
3
|
+
import { lock } from "proper-lockfile";
|
|
4
|
+
import { StorageTransactionContentionError } from "../errors.js";
|
|
5
|
+
import { logWarn } from "../logger.js";
|
|
6
|
+
import { isWindowsLockError } from "./atomic-write.js";
|
|
7
|
+
import { withStorageLock } from "./state.js";
|
|
8
|
+
const TRANSACTION_LOCK_STALE_MS = 10_000;
|
|
9
|
+
const TRANSACTION_LOCK_UPDATE_MS = 2_000;
|
|
10
|
+
/**
|
|
11
|
+
* Wait budget for the *storage* lease. Every holder of this lease does local
|
|
12
|
+
* work only — read the file, mutate the object, atomically write it back — so
|
|
13
|
+
* the lease is held for milliseconds and the only reason to queue is another
|
|
14
|
+
* short write. The budget still sums to roughly five seconds so that a busy
|
|
15
|
+
* host, a slow network drive, or a Windows virus scanner cannot turn ordinary
|
|
16
|
+
* contention into a user-visible `StorageTransactionContentionError`.
|
|
17
|
+
*
|
|
18
|
+
* Network round trips deliberately do NOT happen under this lease; see
|
|
19
|
+
* `withRefreshLease` below.
|
|
20
|
+
*/
|
|
21
|
+
const TRANSACTION_LOCK_RETRIES = {
|
|
22
|
+
retries: 10,
|
|
23
|
+
factor: 1.6,
|
|
24
|
+
minTimeout: 50,
|
|
25
|
+
maxTimeout: 1_000,
|
|
26
|
+
randomize: true,
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* The refresh lease serializes the *OAuth exchange* itself across processes,
|
|
30
|
+
* because refresh tokens are single-use: two processes exchanging the same
|
|
31
|
+
* token means one of them gets `refresh_token_reused` and the account is dead
|
|
32
|
+
* until the user logs in again.
|
|
33
|
+
*
|
|
34
|
+
* It is deliberately a different lockfile from the storage lease. Holding the
|
|
35
|
+
* storage lease across a multi-second provider round trip would stall every
|
|
36
|
+
* unrelated storage write on the host (`codex-note`, `codex-tag`, account
|
|
37
|
+
* toggles, rotation stamps, TUI quota writes) behind a network call.
|
|
38
|
+
*
|
|
39
|
+
* `stale` therefore has to exceed a slow exchange rather than a slow write, and
|
|
40
|
+
* the wait budget has to cover another process performing a full exchange, so
|
|
41
|
+
* both are an order of magnitude larger than the storage lease's.
|
|
42
|
+
*/
|
|
43
|
+
const REFRESH_LEASE_STALE_MS = 60_000;
|
|
44
|
+
const REFRESH_LEASE_UPDATE_MS = 5_000;
|
|
45
|
+
const REFRESH_LEASE_RETRIES = {
|
|
46
|
+
retries: 15,
|
|
47
|
+
factor: 1.5,
|
|
48
|
+
minTimeout: 200,
|
|
49
|
+
maxTimeout: 5_000,
|
|
50
|
+
randomize: true,
|
|
51
|
+
};
|
|
52
|
+
function hasErrorCode(error, code) {
|
|
53
|
+
return (typeof error === "object" &&
|
|
54
|
+
error !== null &&
|
|
55
|
+
"code" in error &&
|
|
56
|
+
error.code === code);
|
|
57
|
+
}
|
|
58
|
+
function isContentionError(error) {
|
|
59
|
+
if (hasErrorCode(error, "ELOCKED"))
|
|
60
|
+
return true;
|
|
61
|
+
return process.platform === "win32" && isWindowsLockError(error);
|
|
62
|
+
}
|
|
63
|
+
async function releaseQuietly(release, lockPath) {
|
|
64
|
+
try {
|
|
65
|
+
await release();
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
logWarn(`Failed to release account storage transaction lease at ${lockPath}: ${error instanceof Error ? error.message : String(error)}`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
export function getStorageTransactionLockPath(storagePath) {
|
|
72
|
+
return `${storagePath}.transaction.lock`;
|
|
73
|
+
}
|
|
74
|
+
export function getRefreshLeasePath(storagePath) {
|
|
75
|
+
return `${storagePath}.refresh.lock`;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* The refresh lease is taken on a path DISTINCT from the storage file, because
|
|
79
|
+
* `proper-lockfile` keys its in-process registry by the target path rather than
|
|
80
|
+
* by `lockfilePath`. Locking the storage file twice (once for the refresh lease,
|
|
81
|
+
* once for the storage transaction nested inside it) silently overwrites that
|
|
82
|
+
* registry entry: releasing the inner lease deletes it, and releasing the outer
|
|
83
|
+
* one then fails with `ENOTACQUIRED`, leaking the refresh lockfile until it goes
|
|
84
|
+
* stale — which stalls every other process for the full stale window.
|
|
85
|
+
*
|
|
86
|
+
* The sentinel is only ever a registry key and a lockfile name; it is never
|
|
87
|
+
* created or read as a file.
|
|
88
|
+
*/
|
|
89
|
+
function getRefreshLeaseTargetPath(storagePath) {
|
|
90
|
+
return `${storagePath}.refresh`;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* `proper-lockfile` creates the lockfile with a non-recursive `mkdir`, so it
|
|
94
|
+
* fails with a raw `ENOENT` when the storage directory does not exist yet. The
|
|
95
|
+
* directory is otherwise only created lazily at write time, so the very first
|
|
96
|
+
* mutation on a fresh profile (or on a new `per_project_accounts` project) would
|
|
97
|
+
* otherwise blow up with an error that names neither the lock nor the cause.
|
|
98
|
+
*/
|
|
99
|
+
async function ensureLockDirectory(lockPath) {
|
|
100
|
+
await mkdir(dirname(lockPath), { recursive: true });
|
|
101
|
+
}
|
|
102
|
+
async function acquireLease(targetPath, lockPath, options) {
|
|
103
|
+
const storagePath = options.reportPath ?? targetPath;
|
|
104
|
+
await ensureLockDirectory(lockPath);
|
|
105
|
+
try {
|
|
106
|
+
return await lock(targetPath, {
|
|
107
|
+
realpath: false,
|
|
108
|
+
lockfilePath: lockPath,
|
|
109
|
+
stale: options.stale,
|
|
110
|
+
update: options.update,
|
|
111
|
+
retries: options.retries,
|
|
112
|
+
onCompromised: options.onCompromised,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
if (isContentionError(error)) {
|
|
117
|
+
throw new StorageTransactionContentionError(storagePath, error);
|
|
118
|
+
}
|
|
119
|
+
throw error;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
async function withStorageTransactionLease(storagePath, operation) {
|
|
123
|
+
const lockPath = getStorageTransactionLockPath(storagePath);
|
|
124
|
+
let compromised;
|
|
125
|
+
const release = await acquireLease(storagePath, lockPath, {
|
|
126
|
+
stale: TRANSACTION_LOCK_STALE_MS,
|
|
127
|
+
update: TRANSACTION_LOCK_UPDATE_MS,
|
|
128
|
+
retries: TRANSACTION_LOCK_RETRIES,
|
|
129
|
+
onCompromised: (error) => {
|
|
130
|
+
compromised = error;
|
|
131
|
+
logWarn(`Account storage transaction lease at ${lockPath} was compromised: ${error.message}`);
|
|
132
|
+
},
|
|
133
|
+
});
|
|
134
|
+
try {
|
|
135
|
+
return await operation({
|
|
136
|
+
assertValid() {
|
|
137
|
+
if (compromised) {
|
|
138
|
+
throw new StorageTransactionContentionError(storagePath, compromised);
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
finally {
|
|
144
|
+
await releaseQuietly(release, lockPath);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Serialize a refresh-token exchange for one storage file across processes.
|
|
149
|
+
*
|
|
150
|
+
* The callback runs with NO storage lease held, so it is free to perform the
|
|
151
|
+
* provider round trip and to open short storage transactions of its own for the
|
|
152
|
+
* pre-check and the commit.
|
|
153
|
+
*/
|
|
154
|
+
export async function withRefreshLease(storagePath, operation) {
|
|
155
|
+
const lockPath = getRefreshLeasePath(storagePath);
|
|
156
|
+
let compromised;
|
|
157
|
+
const release = await acquireLease(getRefreshLeaseTargetPath(storagePath), lockPath, {
|
|
158
|
+
stale: REFRESH_LEASE_STALE_MS,
|
|
159
|
+
update: REFRESH_LEASE_UPDATE_MS,
|
|
160
|
+
retries: REFRESH_LEASE_RETRIES,
|
|
161
|
+
reportPath: storagePath,
|
|
162
|
+
onCompromised: (error) => {
|
|
163
|
+
compromised = error;
|
|
164
|
+
logWarn(`Account refresh lease at ${lockPath} was compromised: ${error.message}`);
|
|
165
|
+
},
|
|
166
|
+
});
|
|
167
|
+
try {
|
|
168
|
+
return await operation({
|
|
169
|
+
// Callers MUST call this immediately before spending the single-use
|
|
170
|
+
// refresh token. A compromised lease means another process can reclaim
|
|
171
|
+
// it and exchange the same token, and the loser of that race gets
|
|
172
|
+
// `refresh_token_reused` — an unrecoverable state that forces the user
|
|
173
|
+
// to log in again. Aborting before the exchange is always cheaper.
|
|
174
|
+
assertValid() {
|
|
175
|
+
if (compromised) {
|
|
176
|
+
throw new StorageTransactionContentionError(storagePath, compromised);
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
finally {
|
|
182
|
+
await releaseQuietly(release, lockPath);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
export function withStorageTransaction(options) {
|
|
186
|
+
return withStorageLock(() => withStorageTransactionLease(options.storagePath, async (lease) => {
|
|
187
|
+
const current = await options.load();
|
|
188
|
+
return options.handler(current, async (storage) => {
|
|
189
|
+
lease.assertValid();
|
|
190
|
+
await options.persist(storage);
|
|
191
|
+
});
|
|
192
|
+
}));
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=transaction-lock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction-lock.js","sourceRoot":"","sources":["../../../lib/storage/transaction-lock.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-note.d.ts","sourceRoot":"","sources":["../../../lib/tools/codex-note.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"codex-note.d.ts","sourceRoot":"","sources":["../../../lib/tools/codex-note.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAKrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,WAAW,GAAG,cAAc,CAqGpE"}
|
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
* Extracted from `index.ts` per RC-1 Phase 2.
|
|
4
4
|
*/
|
|
5
5
|
import { tool } from "@opencode-ai/plugin/tool";
|
|
6
|
-
import { loadAccounts,
|
|
6
|
+
import { loadAccounts, withAccountStorageTransaction } from "../storage.js";
|
|
7
7
|
import { AccountManager } from "../accounts.js";
|
|
8
8
|
import { logWarn } from "../logger.js";
|
|
9
|
+
import { getWorkspaceIdentityKey } from "../storage/identity.js";
|
|
9
10
|
export function createCodexNoteTool(ctx) {
|
|
10
11
|
const { resolveUiRuntime, promptAccountIndexSelection, supportsInteractiveMenus, formatCommandAccountLabel, resolveMaskEmail, cachedAccountManagerRef, accountManagerPromiseRef, } = ctx;
|
|
11
12
|
return tool({
|
|
@@ -45,18 +46,27 @@ export function createCodexNoteTool(ctx) {
|
|
|
45
46
|
const account = storage.accounts[targetIndex];
|
|
46
47
|
if (!account)
|
|
47
48
|
return `Account ${resolvedIndex} not found.`;
|
|
49
|
+
const identityKey = getWorkspaceIdentityKey(account);
|
|
48
50
|
const normalizedNote = (note ?? "").trim();
|
|
49
51
|
if (normalizedNote.length > 240) {
|
|
50
52
|
return "Note is too long (max 240 characters).";
|
|
51
53
|
}
|
|
52
|
-
|
|
53
|
-
delete account.accountNote;
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
account.accountNote = normalizedNote;
|
|
57
|
-
}
|
|
54
|
+
let persistedAccount = account;
|
|
58
55
|
try {
|
|
59
|
-
await
|
|
56
|
+
await withAccountStorageTransaction(async (current, persist) => {
|
|
57
|
+
const currentAccount = current?.accounts.find((candidate) => getWorkspaceIdentityKey(candidate) === identityKey);
|
|
58
|
+
if (!current || !currentAccount) {
|
|
59
|
+
throw new Error("Account changed before its note could be updated");
|
|
60
|
+
}
|
|
61
|
+
if (normalizedNote.length === 0) {
|
|
62
|
+
delete currentAccount.accountNote;
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
currentAccount.accountNote = normalizedNote;
|
|
66
|
+
}
|
|
67
|
+
await persist(current);
|
|
68
|
+
persistedAccount = currentAccount;
|
|
69
|
+
});
|
|
60
70
|
}
|
|
61
71
|
catch (error) {
|
|
62
72
|
logWarn("Failed to save account note update", {
|
|
@@ -69,7 +79,7 @@ export function createCodexNoteTool(ctx) {
|
|
|
69
79
|
cachedAccountManagerRef.current = reloadedManager;
|
|
70
80
|
accountManagerPromiseRef.current = Promise.resolve(reloadedManager);
|
|
71
81
|
}
|
|
72
|
-
const accountLabel = formatCommandAccountLabel(
|
|
82
|
+
const accountLabel = formatCommandAccountLabel(persistedAccount, targetIndex, { maskEmail });
|
|
73
83
|
if (normalizedNote.length === 0) {
|
|
74
84
|
return `Cleared note for ${accountLabel}`;
|
|
75
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-note.js","sourceRoot":"","sources":["../../../lib/tools/codex-note.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAuB,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"codex-note.js","sourceRoot":"","sources":["../../../lib/tools/codex-note.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAuB,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAGjE,MAAM,UAAU,mBAAmB,CAAC,GAAgB;IACnD,MAAM,EACL,gBAAgB,EAChB,2BAA2B,EAC3B,wBAAwB,EACxB,yBAAyB,EACzB,gBAAgB,EAChB,uBAAuB,EACvB,wBAAwB,GACxB,GAAG,GAAG,CAAC;IACR,OAAO,IAAI,CAAC;QACX,WAAW,EAAE,6CAA6C;QAC1D,IAAI,EAAE;YACL,KAAK,EAAE,IAAI,CAAC,MAAM;iBAChB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACR,+DAA+D,CAC/D;YACF,IAAI,EAAE,IAAI,CAAC,MAAM;iBACf,MAAM,EAAE;iBACR,QAAQ,CAAC,2CAA2C,CAAC;SACvD;QACD,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAoC;YAC9D,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,MAAM,YAAY,EAAE,CAAC;YACrC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/C,OAAO,wDAAwD,CAAC;YACjE,CAAC;YAED,IAAI,aAAa,GAAG,KAAK,CAAC;YAC1B,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBACjC,MAAM,aAAa,GAAG,MAAM,2BAA2B,CACtD,EAAE,EACF,OAAO,EACP,kBAAkB,CAClB,CAAC;gBACF,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;oBAC5B,IAAI,wBAAwB,EAAE;wBAAE,OAAO,sBAAsB,CAAC;oBAC9D,OAAO,wEAAwE,CAAC;gBACjF,CAAC;gBACD,aAAa,GAAG,aAAa,GAAG,CAAC,CAAC;YACnC,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzD,IACC,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC7B,WAAW,GAAG,CAAC;gBACf,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,EACrC,CAAC;gBACF,OAAO,2BAA2B,aAAa,sBAAsB,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAChG,CAAC;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO;gBAAE,OAAO,WAAW,aAAa,aAAa,CAAC;YAC3D,MAAM,WAAW,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;YAErD,MAAM,cAAc,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3C,IAAI,cAAc,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;gBACjC,OAAO,wCAAwC,CAAC;YACjD,CAAC;YAED,IAAI,gBAAgB,GAAG,OAAO,CAAC;YAE/B,IAAI,CAAC;gBACJ,MAAM,6BAA6B,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;oBAC9D,MAAM,cAAc,GAAG,OAAO,EAAE,QAAQ,CAAC,IAAI,CAC5C,CAAC,SAAS,EAAE,EAAE,CAAC,uBAAuB,CAAC,SAAS,CAAC,KAAK,WAAW,CACjE,CAAC;oBACF,IAAI,CAAC,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;wBACjC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;oBACrE,CAAC;oBACD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACjC,OAAO,cAAc,CAAC,WAAW,CAAC;oBACnC,CAAC;yBAAM,CAAC;wBACP,cAAc,CAAC,WAAW,GAAG,cAAc,CAAC;oBAC7C,CAAC;oBACD,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;oBACvB,gBAAgB,GAAG,cAAc,CAAC;gBACnC,CAAC,CAAC,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,OAAO,CAAC,oCAAoC,EAAE;oBAC7C,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;iBACpB,CAAC,CAAC;gBACH,OAAO,gEAAgE,CAAC;YACzE,CAAC;YAED,IAAI,uBAAuB,CAAC,OAAO,EAAE,CAAC;gBACrC,MAAM,eAAe,GAAG,MAAM,cAAc,CAAC,YAAY,EAAE,CAAC;gBAC5D,uBAAuB,CAAC,OAAO,GAAG,eAAe,CAAC;gBAClD,wBAAwB,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YACrE,CAAC;YAED,MAAM,YAAY,GAAG,yBAAyB,CAAC,gBAAgB,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YAC7F,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjC,OAAO,oBAAoB,YAAY,EAAE,CAAC;YAC3C,CAAC;YACD,OAAO,kBAAkB,YAAY,KAAK,cAAc,EAAE,CAAC;QAC5D,CAAC;KACD,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-tag.d.ts","sourceRoot":"","sources":["../../../lib/tools/codex-tag.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"codex-tag.d.ts","sourceRoot":"","sources":["../../../lib/tools/codex-tag.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAUrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,cAAc,CAyInE"}
|
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
* Extracted from `index.ts` per RC-1 Phase 2.
|
|
4
4
|
*/
|
|
5
5
|
import { tool } from "@opencode-ai/plugin/tool";
|
|
6
|
-
import { loadAccounts,
|
|
6
|
+
import { loadAccounts, withAccountStorageTransaction } from "../storage.js";
|
|
7
7
|
import { AccountManager } from "../accounts.js";
|
|
8
8
|
import { logWarn } from "../logger.js";
|
|
9
|
+
import { getWorkspaceIdentityKey } from "../storage/identity.js";
|
|
9
10
|
import { formatUiHeader, formatUiItem, formatUiKeyValue, } from "../ui/format.js";
|
|
10
11
|
export function createCodexTagTool(ctx) {
|
|
11
12
|
const { resolveUiRuntime, promptAccountIndexSelection, supportsInteractiveMenus, formatCommandAccountLabel, resolveMaskEmail, getStatusMarker, normalizeAccountTags, cachedAccountManagerRef, accountManagerPromiseRef, } = ctx;
|
|
@@ -62,17 +63,27 @@ export function createCodexTagTool(ctx) {
|
|
|
62
63
|
if (!account)
|
|
63
64
|
return `Account ${resolvedIndex} not found.`;
|
|
64
65
|
const normalizedTags = normalizeAccountTags(tags ?? "");
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
if (normalizedTags.length === 0) {
|
|
69
|
-
delete account.accountTags;
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
account.accountTags = normalizedTags;
|
|
73
|
-
}
|
|
66
|
+
const identityKey = getWorkspaceIdentityKey(account);
|
|
67
|
+
let previousTags = [];
|
|
68
|
+
let persistedAccount = account;
|
|
74
69
|
try {
|
|
75
|
-
await
|
|
70
|
+
await withAccountStorageTransaction(async (current, persist) => {
|
|
71
|
+
const currentAccount = current?.accounts.find((candidate) => getWorkspaceIdentityKey(candidate) === identityKey);
|
|
72
|
+
if (!current || !currentAccount) {
|
|
73
|
+
throw new Error("Account changed before tags could be updated");
|
|
74
|
+
}
|
|
75
|
+
previousTags = Array.isArray(currentAccount.accountTags)
|
|
76
|
+
? [...currentAccount.accountTags]
|
|
77
|
+
: [];
|
|
78
|
+
if (normalizedTags.length === 0) {
|
|
79
|
+
delete currentAccount.accountTags;
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
currentAccount.accountTags = normalizedTags;
|
|
83
|
+
}
|
|
84
|
+
await persist(current);
|
|
85
|
+
persistedAccount = currentAccount;
|
|
86
|
+
});
|
|
76
87
|
}
|
|
77
88
|
catch (error) {
|
|
78
89
|
logWarn("Failed to save account tag update", { error: String(error) });
|
|
@@ -83,7 +94,7 @@ export function createCodexTagTool(ctx) {
|
|
|
83
94
|
cachedAccountManagerRef.current = reloadedManager;
|
|
84
95
|
accountManagerPromiseRef.current = Promise.resolve(reloadedManager);
|
|
85
96
|
}
|
|
86
|
-
const accountLabel = formatCommandAccountLabel(
|
|
97
|
+
const accountLabel = formatCommandAccountLabel(persistedAccount, targetIndex, { maskEmail });
|
|
87
98
|
const previousText = previousTags.length > 0 ? previousTags.join(", ") : "none";
|
|
88
99
|
const nextText = normalizedTags.length > 0 ? normalizedTags.join(", ") : "none";
|
|
89
100
|
if (ui.v2Enabled) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-tag.js","sourceRoot":"","sources":["../../../lib/tools/codex-tag.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAuB,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"codex-tag.js","sourceRoot":"","sources":["../../../lib/tools/codex-tag.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared token refresh persistence for the account-management tools.
|
|
3
3
|
*
|
|
4
|
-
* OpenAI refresh tokens are single-use and rotate on exchange.
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* reports `refresh_token_reused` for every account.
|
|
4
|
+
* OpenAI refresh tokens are single-use and rotate on exchange. Production
|
|
5
|
+
* refreshes flow through `coordinatePersistedRefresh()`, which owns the
|
|
6
|
+
* authoritative reload, exchange, and durable commit under one lease.
|
|
8
7
|
*/
|
|
9
|
-
import {
|
|
10
|
-
import type { TokenResult } from "../types.js";
|
|
8
|
+
import type { AccountMetadataV3 } from "../storage.js";
|
|
11
9
|
export interface RefreshAccountIdentity {
|
|
12
10
|
organizationId?: string;
|
|
13
11
|
accountId?: string;
|
|
@@ -44,20 +42,12 @@ export type AccountRefreshOutcome = {
|
|
|
44
42
|
result: PersistedRefreshResult;
|
|
45
43
|
};
|
|
46
44
|
export declare function findAccountIndexByIdentity(accounts: RefreshAccountIdentity[], identity: RefreshAccountIdentity): number;
|
|
47
|
-
/**
|
|
48
|
-
* Persists one successful refresh in a short storage transaction. The account
|
|
49
|
-
* is re-located from a freshly re-read snapshot, and sibling accounts that
|
|
50
|
-
* share the consumed single-use refresh token are rotated atomically with it.
|
|
51
|
-
*/
|
|
52
|
-
export declare function persistRefreshResult(index: number, identity: RefreshAccountIdentity, refreshResult: Extract<TokenResult, {
|
|
53
|
-
type: "success";
|
|
54
|
-
}>): Promise<PersistedRefreshResult>;
|
|
55
45
|
/**
|
|
56
46
|
* Refreshes one account and persists the rotated credential before reporting
|
|
57
47
|
* success. Disabled standalone accounts are skipped: refreshing them is wrong
|
|
58
48
|
* (they may intentionally retain a dead duplicate credential), while disabled
|
|
59
49
|
* siblings sharing an enabled account's consumed token are still updated by
|
|
60
|
-
* `
|
|
50
|
+
* `coordinatePersistedRefresh()` so the shared credential remains consistent.
|
|
61
51
|
*/
|
|
62
52
|
export declare function refreshAndPersistAccount(account: RefreshAccountInput): Promise<AccountRefreshOutcome>;
|
|
63
53
|
export declare function buildRefreshInputs(accounts: AccountMetadataV3[]): RefreshAccountInput[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refresh-account.d.ts","sourceRoot":"","sources":["../../../lib/tools/refresh-account.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"refresh-account.d.ts","sourceRoot":"","sources":["../../../lib/tools/refresh-account.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAOvD,MAAM,WAAW,sBAAsB;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,sBAAsB,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,sBAAsB,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,qBAAqB,GAC9B;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,sBAAsB,CAAA;CAAE,GACtE;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,sBAAsB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACpF;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,sBAAsB,CAAA;CAAE,CAAC;AAE1E,wBAAgB,0BAA0B,CACzC,QAAQ,EAAE,sBAAsB,EAAE,EAClC,QAAQ,EAAE,sBAAsB,GAC9B,MAAM,CAER;AAED;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAC7C,OAAO,EAAE,mBAAmB,GAC1B,OAAO,CAAC,qBAAqB,CAAC,CAyChC;AAED,wBAAgB,kBAAkB,CACjC,QAAQ,EAAE,iBAAiB,EAAE,GAC3B,mBAAmB,EAAE,CAYvB"}
|