oc-codex-multi-auth 6.12.1 → 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 +9 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +319 -50
- package/dist/index.js.map +1 -1
- package/dist/lib/accounts/persistence.d.ts.map +1 -1
- package/dist/lib/accounts/persistence.js +1 -0
- package/dist/lib/accounts/persistence.js.map +1 -1
- package/dist/lib/accounts/pool-identity.d.ts +14 -0
- package/dist/lib/accounts/pool-identity.d.ts.map +1 -0
- package/dist/lib/accounts/pool-identity.js +45 -0
- package/dist/lib/accounts/pool-identity.js.map +1 -0
- package/dist/lib/accounts/recovery.d.ts.map +1 -1
- package/dist/lib/accounts/recovery.js +15 -1
- package/dist/lib/accounts/recovery.js.map +1 -1
- package/dist/lib/accounts/rotation.d.ts.map +1 -1
- package/dist/lib/accounts/rotation.js +2 -3
- package/dist/lib/accounts/rotation.js.map +1 -1
- package/dist/lib/accounts/stale-state.d.ts +14 -0
- package/dist/lib/accounts/stale-state.d.ts.map +1 -1
- package/dist/lib/accounts/stale-state.js +38 -0
- package/dist/lib/accounts/stale-state.js.map +1 -1
- package/dist/lib/accounts/state.d.ts +1 -0
- package/dist/lib/accounts/state.d.ts.map +1 -1
- package/dist/lib/accounts/state.js +114 -13
- package/dist/lib/accounts/state.js.map +1 -1
- package/dist/lib/auth/auth.d.ts.map +1 -1
- package/dist/lib/auth/auth.js +26 -3
- package/dist/lib/auth/auth.js.map +1 -1
- package/dist/lib/auth/login-runner.d.ts +1 -0
- package/dist/lib/auth/login-runner.d.ts.map +1 -1
- package/dist/lib/auth/login-runner.js +74 -8
- package/dist/lib/auth/login-runner.js.map +1 -1
- package/dist/lib/auth/token-utils.d.ts +8 -0
- package/dist/lib/auth/token-utils.d.ts.map +1 -1
- package/dist/lib/auth/token-utils.js +16 -0
- package/dist/lib/auth/token-utils.js.map +1 -1
- package/dist/lib/codex-usage.d.ts +9 -7
- package/dist/lib/codex-usage.d.ts.map +1 -1
- package/dist/lib/codex-usage.js +30 -71
- package/dist/lib/codex-usage.js.map +1 -1
- package/dist/lib/config.d.ts +6 -4
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +12 -4
- package/dist/lib/config.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/logger.d.ts.map +1 -1
- package/dist/lib/logger.js +2 -0
- package/dist/lib/logger.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/schemas.d.ts +8 -1
- package/dist/lib/schemas.d.ts.map +1 -1
- package/dist/lib/schemas.js +4 -1
- package/dist/lib/schemas.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 +16 -3
- package/dist/lib/storage/flagged.js.map +1 -1
- package/dist/lib/storage/identity.d.ts +10 -7
- package/dist/lib/storage/identity.d.ts.map +1 -1
- package/dist/lib/storage/identity.js +82 -8
- package/dist/lib/storage/identity.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/migrations.d.ts +4 -0
- package/dist/lib/storage/migrations.d.ts.map +1 -1
- package/dist/lib/storage/migrations.js +1 -0
- package/dist/lib/storage/migrations.js.map +1 -1
- package/dist/lib/storage/normalize.d.ts.map +1 -1
- package/dist/lib/storage/normalize.js +8 -1
- package/dist/lib/storage/normalize.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-diff.d.ts.map +1 -1
- package/dist/lib/tools/codex-diff.js +2 -0
- package/dist/lib/tools/codex-diff.js.map +1 -1
- package/dist/lib/tools/codex-doctor.d.ts.map +1 -1
- package/dist/lib/tools/codex-doctor.js +15 -1
- package/dist/lib/tools/codex-doctor.js.map +1 -1
- package/dist/lib/tools/codex-health.d.ts.map +1 -1
- package/dist/lib/tools/codex-health.js +7 -1
- package/dist/lib/tools/codex-health.js.map +1 -1
- 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-pool.d.ts.map +1 -1
- package/dist/lib/tools/codex-pool.js +49 -12
- package/dist/lib/tools/codex-pool.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 +6 -15
- package/dist/lib/tools/refresh-account.d.ts.map +1 -1
- package/dist/lib/tools/refresh-account.js +19 -106
- package/dist/lib/tools/refresh-account.js.map +1 -1
- package/dist/lib/types.d.ts +1 -0
- package/dist/lib/types.d.ts.map +1 -1
- package/package.json +3 -5
package/dist/lib/schemas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../lib/schemas.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../lib/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { TokenResult } from "../types.js";
|
|
2
|
+
import type { AccountMetadataV3 } from "./migrations.js";
|
|
3
|
+
export type PersistedRefreshIdentity = Pick<AccountMetadataV3, "organizationId" | "accountId" | "accountUserId" | "refreshToken">;
|
|
4
|
+
export type CoordinatedRefreshSuccess = Extract<TokenResult, {
|
|
5
|
+
type: "success";
|
|
6
|
+
}> & {
|
|
7
|
+
readonly adopted: boolean;
|
|
8
|
+
readonly rotatedAt?: number;
|
|
9
|
+
};
|
|
10
|
+
export type CoordinatedRefreshResult = CoordinatedRefreshSuccess | Exclude<TokenResult, {
|
|
11
|
+
type: "success";
|
|
12
|
+
}>;
|
|
13
|
+
export declare function coordinatePersistedRefresh(identity: PersistedRefreshIdentity): Promise<CoordinatedRefreshResult>;
|
|
14
|
+
export declare function coordinateFlaggedPersistedRefresh(identity: PersistedRefreshIdentity): Promise<CoordinatedRefreshResult>;
|
|
15
|
+
//# sourceMappingURL=coordinated-refresh.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordinated-refresh.d.ts","sourceRoot":"","sources":["../../../lib/storage/coordinated-refresh.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAa/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAC1C,iBAAiB,EACjB,gBAAgB,GAAG,WAAW,GAAG,eAAe,GAAG,cAAc,CACjE,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,GAAG;IACnF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GACjC,yBAAyB,GACzB,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC;AA6T7C,wBAAsB,0BAA0B,CAC/C,QAAQ,EAAE,wBAAwB,GAChC,OAAO,CAAC,wBAAwB,CAAC,CAEnC;AAED,wBAAsB,iCAAiC,CACtD,QAAQ,EAAE,wBAAwB,GAChC,OAAO,CAAC,wBAAwB,CAAC,CAEnC"}
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
import { extractAccountUserId } from "../auth/token-utils.js";
|
|
2
|
+
import { queuedRefresh } from "../refresh-queue.js";
|
|
3
|
+
import { logWarn } from "../logger.js";
|
|
4
|
+
import { StorageTransactionContentionError } from "../errors.js";
|
|
5
|
+
import { findAccountIndexByIdentityKeys, toAccountIdentityKeys, } from "./identity.js";
|
|
6
|
+
import { getStoragePath, withAccountStorageTransaction, withFlaggedAccountStorageTransaction, } from "../storage.js";
|
|
7
|
+
import { withRefreshLease } from "./transaction-lock.js";
|
|
8
|
+
/**
|
|
9
|
+
* How many times the durable commit is retried after the provider exchange has
|
|
10
|
+
* already consumed the single-use refresh token. Losing the replacement at this
|
|
11
|
+
* point would leave the account dead until the user logs in again, so the commit
|
|
12
|
+
* is far more worth retrying than the acquisition was.
|
|
13
|
+
*/
|
|
14
|
+
const COMMIT_ATTEMPTS = 3;
|
|
15
|
+
function stableIdentityKeys(identity) {
|
|
16
|
+
return toAccountIdentityKeys(identity).filter((key) => !key.startsWith("refreshToken:"));
|
|
17
|
+
}
|
|
18
|
+
function indexesMatchingKey(accounts, key) {
|
|
19
|
+
return accounts.flatMap((account, index) => toAccountIdentityKeys(account).includes(key) ? [index] : []);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Resolve the single stored record that a rotated refresh token must be written
|
|
23
|
+
* to.
|
|
24
|
+
*
|
|
25
|
+
* Exact refresh-token matches are tried first: the caller is holding that token,
|
|
26
|
+
* so a record carrying it is unambiguously the right target. Identity keys are
|
|
27
|
+
* only a fallback for the case where the token has already rotated on disk, and
|
|
28
|
+
* are only trusted when they resolve to exactly ONE record. A bare
|
|
29
|
+
* `organizationId:` key routinely matches several records — a Business org with
|
|
30
|
+
* two seats is stored as two accounts — and guessing there would exchange and
|
|
31
|
+
* overwrite a different seat's credentials.
|
|
32
|
+
*/
|
|
33
|
+
function findRefreshTarget(accounts, identity) {
|
|
34
|
+
const keys = stableIdentityKeys(identity);
|
|
35
|
+
// A seat key (`organizationId|accountId|accountUserId`) pins exactly one
|
|
36
|
+
// member, so when the caller has one it is the ONLY key considered. Widening
|
|
37
|
+
// to a workspace-level key here would resolve a *different* seat in the same
|
|
38
|
+
// org, and a miss must stay a miss: the account really was removed.
|
|
39
|
+
const seatKey = keys.find((key) => key.startsWith("seat:"));
|
|
40
|
+
if (seatKey) {
|
|
41
|
+
return findAccountIndexByIdentityKeys(accounts, [seatKey]);
|
|
42
|
+
}
|
|
43
|
+
for (const key of keys) {
|
|
44
|
+
const matches = indexesMatchingKey(accounts, key);
|
|
45
|
+
if (matches.length === 1)
|
|
46
|
+
return matches[0] ?? -1;
|
|
47
|
+
if (matches.length > 1) {
|
|
48
|
+
// A bare `organizationId:` key matches every seat in a Business org, so
|
|
49
|
+
// picking the first would exchange and overwrite another member's
|
|
50
|
+
// credentials. The exact token the caller holds is the only safe
|
|
51
|
+
// tiebreaker; without it, refuse rather than guess.
|
|
52
|
+
const tokenMatch = matches.find((index) => accounts[index]?.refreshToken === identity.refreshToken);
|
|
53
|
+
if (tokenMatch !== undefined)
|
|
54
|
+
return tokenMatch;
|
|
55
|
+
throw new Error("Refresh identity is ambiguous after the persisted token rotated");
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
// No stable identity at all: the refresh token is the only handle available.
|
|
59
|
+
const tokenMatches = accounts.flatMap((account, index) => account.refreshToken === identity.refreshToken ? [index] : []);
|
|
60
|
+
if (tokenMatches.length > 0)
|
|
61
|
+
return tokenMatches[0] ?? -1;
|
|
62
|
+
throw new Error("Refresh identity is ambiguous after the persisted token rotated");
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* A stored record can be adopted instead of exchanged when another process has
|
|
66
|
+
* already rotated the token AND left a usable access token behind.
|
|
67
|
+
*/
|
|
68
|
+
function canAdopt(target, identity) {
|
|
69
|
+
return (target.refreshToken !== identity.refreshToken &&
|
|
70
|
+
Boolean(target.accessToken) &&
|
|
71
|
+
target.expiresAt !== undefined &&
|
|
72
|
+
target.expiresAt > Date.now());
|
|
73
|
+
}
|
|
74
|
+
function adoptPersistedRotation(target) {
|
|
75
|
+
if (!target.accessToken || target.expiresAt === undefined) {
|
|
76
|
+
throw new Error("Persisted rotated credentials are incomplete");
|
|
77
|
+
}
|
|
78
|
+
return {
|
|
79
|
+
type: "success",
|
|
80
|
+
access: target.accessToken,
|
|
81
|
+
refresh: target.refreshToken,
|
|
82
|
+
expires: target.expiresAt,
|
|
83
|
+
// Carried so consumers that read these off a refresh result behave the same
|
|
84
|
+
// on the adopt path as on the exchange path. There is no `idToken` to carry
|
|
85
|
+
// — nothing persists one — but `extractAccountEmail` falls back to the
|
|
86
|
+
// access token, so email hydration still resolves; `scope` has no such
|
|
87
|
+
// fallback, and `proactive-refresh.ts` rebuilds a TokenResult from both.
|
|
88
|
+
...(target.oauthScope ? { scope: target.oauthScope } : {}),
|
|
89
|
+
multiAccount: true,
|
|
90
|
+
adopted: true,
|
|
91
|
+
rotatedAt: target.tokenRotatedAt,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
function nextRotationTimestamp(accounts) {
|
|
95
|
+
const latest = accounts.reduce((maximum, account) => Math.max(maximum, account.tokenRotatedAt ?? 0), 0);
|
|
96
|
+
return Math.max(Date.now(), latest + 1);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Apply a completed exchange to the freshly loaded storage.
|
|
100
|
+
*
|
|
101
|
+
* `persistAccessToken` is false for flagged storage: `normalizeFlaggedStorage`
|
|
102
|
+
* intentionally keeps quarantined records credential-light, so writing a live
|
|
103
|
+
* access token there would put it on disk only for it to be dropped on the next
|
|
104
|
+
* read.
|
|
105
|
+
*/
|
|
106
|
+
function commitRotation(current, identity, exchangedToken, refreshResult, persistAccessToken) {
|
|
107
|
+
const index = findRefreshTarget(current.accounts, identity);
|
|
108
|
+
const target = current.accounts[index];
|
|
109
|
+
if (!target) {
|
|
110
|
+
throw new Error("Account was removed before its token could refresh");
|
|
111
|
+
}
|
|
112
|
+
const rotated = refreshResult.refresh !== exchangedToken;
|
|
113
|
+
const targetMemberId = identity.accountUserId?.trim() || target.accountUserId?.trim();
|
|
114
|
+
const siblings = current.accounts.filter((account) => account.refreshToken === exchangedToken &&
|
|
115
|
+
(!targetMemberId ||
|
|
116
|
+
!account.accountUserId?.trim() ||
|
|
117
|
+
account.accountUserId.trim() === targetMemberId));
|
|
118
|
+
const rotatedAt = rotated ? nextRotationTimestamp(current.accounts) : undefined;
|
|
119
|
+
if (rotated) {
|
|
120
|
+
for (const sibling of siblings) {
|
|
121
|
+
// Siblings share the OAuth grant but can belong to distinct orgs, so they
|
|
122
|
+
// get the rotated refresh token and an expired access token — never the
|
|
123
|
+
// target's access token, which is scoped to the target's workspace. The
|
|
124
|
+
// zeroed expiry forces each sibling to run its own exchange with the
|
|
125
|
+
// now-current token when it is next selected.
|
|
126
|
+
sibling.refreshToken = refreshResult.refresh;
|
|
127
|
+
sibling.expiresAt = 0;
|
|
128
|
+
sibling.tokenRotatedAt = rotatedAt;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
target.refreshToken = refreshResult.refresh;
|
|
132
|
+
target.accountUserId =
|
|
133
|
+
extractAccountUserId(refreshResult.access) ?? target.accountUserId;
|
|
134
|
+
if (persistAccessToken) {
|
|
135
|
+
target.accessToken = refreshResult.access;
|
|
136
|
+
target.expiresAt = refreshResult.expires;
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
delete target.accessToken;
|
|
140
|
+
delete target.expiresAt;
|
|
141
|
+
}
|
|
142
|
+
if (refreshResult.scope) {
|
|
143
|
+
target.oauthScope = refreshResult.scope;
|
|
144
|
+
}
|
|
145
|
+
if (rotatedAt !== undefined) {
|
|
146
|
+
target.tokenRotatedAt = rotatedAt;
|
|
147
|
+
}
|
|
148
|
+
return rotatedAt;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Refresh a persisted credential without holding a storage lease across the
|
|
152
|
+
* provider round trip.
|
|
153
|
+
*
|
|
154
|
+
* Under the refresh lease, which serializes the exchange across processes
|
|
155
|
+
* because refresh tokens are single-use:
|
|
156
|
+
* 1. a short storage transaction adopts a rotation another process already
|
|
157
|
+
* committed, or else reports the authoritative current token;
|
|
158
|
+
* 2. the provider exchange runs with NO storage lease held;
|
|
159
|
+
* 3. a short storage transaction commits the rotation.
|
|
160
|
+
*
|
|
161
|
+
* Steps 1 and 3 hold the storage lease only for a local read/write, so
|
|
162
|
+
* unrelated writers (`codex-note`, `codex-tag`, account toggles, rotation
|
|
163
|
+
* stamps, TUI quota writes) never queue behind the network call.
|
|
164
|
+
*
|
|
165
|
+
* The refresh lease is keyed on the *accounts* storage path even for flagged
|
|
166
|
+
* storage. That is deliberate: a quarantined record and an active one can share
|
|
167
|
+
* a refresh token, and one lease over both keeps them from exchanging it twice.
|
|
168
|
+
*/
|
|
169
|
+
async function coordinateRefresh(identity, runTransaction, persistAccessToken) {
|
|
170
|
+
const probe = () => runTransaction((current) => {
|
|
171
|
+
const index = findRefreshTarget(current.accounts, identity);
|
|
172
|
+
const target = current.accounts[index];
|
|
173
|
+
if (!target) {
|
|
174
|
+
throw new Error("Account was removed before its token could refresh");
|
|
175
|
+
}
|
|
176
|
+
if (canAdopt(target, identity)) {
|
|
177
|
+
return Promise.resolve({
|
|
178
|
+
kind: "adopt",
|
|
179
|
+
result: adoptPersistedRotation(target),
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
return Promise.resolve({
|
|
183
|
+
kind: "exchange",
|
|
184
|
+
token: target.refreshToken,
|
|
185
|
+
});
|
|
186
|
+
});
|
|
187
|
+
return withRefreshLease(getStoragePath(), async (lease) => {
|
|
188
|
+
// Probed INSIDE the lease, not before it: whoever held the lease may have
|
|
189
|
+
// just committed a rotation, and reading first would race with them. The
|
|
190
|
+
// lease is a local file operation, so paying for it up front is cheaper
|
|
191
|
+
// than an avoidable second exchange of a single-use token.
|
|
192
|
+
const probed = await probe();
|
|
193
|
+
if (probed.kind === "adopt")
|
|
194
|
+
return probed.result;
|
|
195
|
+
const exchangedToken = probed.token;
|
|
196
|
+
// The probe reads from disk, which on a starved event loop or a slow
|
|
197
|
+
// network volume can outlast the lease heartbeat. If the lease was
|
|
198
|
+
// reclaimed in that window another process may be exchanging this exact
|
|
199
|
+
// token right now, and going ahead would leave one of us with
|
|
200
|
+
// `refresh_token_reused` and a dead account. Bail out instead: the error
|
|
201
|
+
// is classified retryable, so the caller retries with a fresh lease.
|
|
202
|
+
lease.assertValid();
|
|
203
|
+
const refreshResult = await queuedRefresh(exchangedToken);
|
|
204
|
+
if (refreshResult.type !== "success") {
|
|
205
|
+
return refreshResult;
|
|
206
|
+
}
|
|
207
|
+
// The provider has now invalidated `exchangedToken`, so losing the
|
|
208
|
+
// replacement here would kill the account until the user logs in again.
|
|
209
|
+
// Contention is the one failure worth retrying: a real I/O error (a full
|
|
210
|
+
// disk, a read-only volume) will not resolve itself, and swallowing it
|
|
211
|
+
// behind retries would just delay reporting it.
|
|
212
|
+
let rotatedAt;
|
|
213
|
+
for (let attempt = 1;; attempt += 1) {
|
|
214
|
+
try {
|
|
215
|
+
rotatedAt = await runTransaction(async (current, persist) => {
|
|
216
|
+
const stamp = commitRotation(current, identity, exchangedToken, refreshResult, persistAccessToken);
|
|
217
|
+
await persist(current);
|
|
218
|
+
return stamp;
|
|
219
|
+
});
|
|
220
|
+
break;
|
|
221
|
+
}
|
|
222
|
+
catch (error) {
|
|
223
|
+
const retryable = error instanceof StorageTransactionContentionError &&
|
|
224
|
+
attempt < COMMIT_ATTEMPTS;
|
|
225
|
+
if (!retryable)
|
|
226
|
+
throw error;
|
|
227
|
+
logWarn(`Retrying the commit of a rotated refresh token (attempt ${attempt}/${COMMIT_ATTEMPTS}): ${error instanceof Error ? error.message : String(error)}`);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
return { ...refreshResult, adopted: false, rotatedAt };
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
const runAccountTransaction = (handler) => withAccountStorageTransaction(async (current, persist) => {
|
|
234
|
+
if (!current) {
|
|
235
|
+
throw new Error("Account storage is unavailable");
|
|
236
|
+
}
|
|
237
|
+
return handler(current, persist);
|
|
238
|
+
});
|
|
239
|
+
const runFlaggedTransaction = (handler) => withFlaggedAccountStorageTransaction((current, persist) => handler(current, persist));
|
|
240
|
+
export async function coordinatePersistedRefresh(identity) {
|
|
241
|
+
return coordinateRefresh(identity, runAccountTransaction, true);
|
|
242
|
+
}
|
|
243
|
+
export async function coordinateFlaggedPersistedRefresh(identity) {
|
|
244
|
+
return coordinateRefresh(identity, runFlaggedTransaction, false);
|
|
245
|
+
}
|
|
246
|
+
//# sourceMappingURL=coordinated-refresh.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordinated-refresh.js","sourceRoot":"","sources":["../../../lib/storage/coordinated-refresh.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flagged.d.ts","sourceRoot":"","sources":["../../../lib/storage/flagged.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"flagged.d.ts","sourceRoot":"","sources":["../../../lib/storage/flagged.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAmBH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAKzD,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,EAAE,wBAAwB,EAAE,CAAC;CACtC;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AA8OD,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAE5E;AAED;;;GAGG;AACH,wBAAsB,oCAAoC,CAAC,CAAC,EAC1D,OAAO,EAAE,CACP,OAAO,EAAE,uBAAuB,EAChC,OAAO,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,OAAO,CAAC,IAAI,CAAC,KACzD,OAAO,CAAC,CAAC,CAAC,GACd,OAAO,CAAC,CAAC,CAAC,CAOZ;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAIzF;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAW1D"}
|
|
@@ -11,10 +11,12 @@ import { promises as fs, existsSync } from "node:fs";
|
|
|
11
11
|
import { dirname, join } from "node:path";
|
|
12
12
|
import { FLAGGED_ACCOUNTS_FILE_NAME, LEGACY_BLOCKED_ACCOUNTS_FILE_NAME, LEGACY_FLAGGED_ACCOUNTS_FILE_NAME, } from "../constants.js";
|
|
13
13
|
import { createLogger } from "../logger.js";
|
|
14
|
+
import { extractAccountUserId } from "../auth/token-utils.js";
|
|
14
15
|
import { renameWithWindowsRetry } from "./atomic-write.js";
|
|
15
16
|
import { getWorkspaceIdentityKey, isRecord } from "./identity.js";
|
|
16
17
|
import { getStoragePath, getCurrentProjectStorageKey, withStorageLock } from "./state.js";
|
|
17
18
|
import { isKeychainOptInEnabled, readFlaggedFromKeychain, writeFlaggedToKeychain, } from "./keychain.js";
|
|
19
|
+
import { withStorageTransaction } from "./transaction-lock.js";
|
|
18
20
|
const log = createLogger("storage");
|
|
19
21
|
export function getFlaggedAccountsPath() {
|
|
20
22
|
return join(dirname(getStoragePath()), FLAGGED_ACCOUNTS_FILE_NAME);
|
|
@@ -80,6 +82,8 @@ function normalizeFlaggedStorage(data) {
|
|
|
80
82
|
lastUsed: typeof rawAccount.lastUsed === "number" ? rawAccount.lastUsed : flaggedAt,
|
|
81
83
|
organizationId: typeof rawAccount.organizationId === "string" ? rawAccount.organizationId : undefined,
|
|
82
84
|
accountId: typeof rawAccount.accountId === "string" ? rawAccount.accountId : undefined,
|
|
85
|
+
accountUserId: (typeof rawAccount.accountUserId === "string" && rawAccount.accountUserId.trim()) ||
|
|
86
|
+
extractAccountUserId(typeof rawAccount.accessToken === "string" ? rawAccount.accessToken : undefined),
|
|
83
87
|
accountIdSource,
|
|
84
88
|
accountLabel: typeof rawAccount.accountLabel === "string" ? rawAccount.accountLabel : undefined,
|
|
85
89
|
accountTags,
|
|
@@ -93,6 +97,13 @@ function normalizeFlaggedStorage(data) {
|
|
|
93
97
|
flaggedAt,
|
|
94
98
|
flaggedReason: typeof rawAccount.flaggedReason === "string" ? rawAccount.flaggedReason : undefined,
|
|
95
99
|
lastError: typeof rawAccount.lastError === "string" ? rawAccount.lastError : undefined,
|
|
100
|
+
// Rotation ordering has to survive a round trip through this file, or a
|
|
101
|
+
// rotated refresh token committed by `coordinateFlaggedPersistedRefresh`
|
|
102
|
+
// looks older than a stale in-memory snapshot and gets clobbered.
|
|
103
|
+
// `accessToken`/`expiresAt` are deliberately NOT carried: quarantined
|
|
104
|
+
// records stay credential-light, so a live OAuth access token is never
|
|
105
|
+
// written to flagged-accounts.json.
|
|
106
|
+
tokenRotatedAt: typeof rawAccount.tokenRotatedAt === "number" ? rawAccount.tokenRotatedAt : undefined,
|
|
96
107
|
};
|
|
97
108
|
// Keep flagged dedup aligned with active cleanup so sibling workspaces only
|
|
98
109
|
// collapse when they resolve to the same shared workspace identity.
|
|
@@ -227,9 +238,11 @@ export async function loadFlaggedAccounts() {
|
|
|
227
238
|
* shared storage lock so concurrent callers cannot lose updates.
|
|
228
239
|
*/
|
|
229
240
|
export async function withFlaggedAccountStorageTransaction(handler) {
|
|
230
|
-
return
|
|
231
|
-
|
|
232
|
-
|
|
241
|
+
return withStorageTransaction({
|
|
242
|
+
storagePath: getFlaggedAccountsPath(),
|
|
243
|
+
load: () => loadFlaggedAccountsUnlocked(saveFlaggedAccountsUnlocked),
|
|
244
|
+
persist: saveFlaggedAccountsUnlocked,
|
|
245
|
+
handler,
|
|
233
246
|
});
|
|
234
247
|
}
|
|
235
248
|
export async function saveFlaggedAccounts(storage) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flagged.js","sourceRoot":"","sources":["../../../lib/storage/flagged.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACL,0BAA0B,EAC1B,iCAAiC,EACjC,iCAAiC,GAClC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC1F,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"flagged.js","sourceRoot":"","sources":["../../../lib/storage/flagged.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Account identity + dedup helpers.
|
|
3
3
|
*
|
|
4
4
|
* Split out of `lib/storage.ts` in RC-2. This module is pure and synchronous:
|
|
5
|
-
* it owns the identity-key hierarchy (`organizationId`
|
|
6
|
-
* `refreshToken`) and the dedup + merge rules used by `normalizeAccountStorage`
|
|
5
|
+
* it owns the identity-key hierarchy (`organizationId` + `accountId` +
|
|
6
|
+
* `accountUserId`, then `refreshToken`) and the dedup + merge rules used by `normalizeAccountStorage`
|
|
7
7
|
* and the import transaction.
|
|
8
8
|
*
|
|
9
9
|
* The two public exports that were already re-exported from `lib/storage.ts`
|
|
@@ -15,6 +15,7 @@ import type { AccountMetadataV3 } from "./migrations.js";
|
|
|
15
15
|
export type AccountLike = {
|
|
16
16
|
organizationId?: string;
|
|
17
17
|
accountId?: string;
|
|
18
|
+
accountUserId?: string;
|
|
18
19
|
accountIdSource?: AccountMetadataV3["accountIdSource"];
|
|
19
20
|
accountLabel?: string;
|
|
20
21
|
email?: string;
|
|
@@ -26,23 +27,25 @@ export type AccountLike = {
|
|
|
26
27
|
export declare function getWorkspaceIdentityKey(account: {
|
|
27
28
|
organizationId?: string;
|
|
28
29
|
accountId?: string;
|
|
30
|
+
accountUserId?: string;
|
|
29
31
|
refreshToken: string;
|
|
30
32
|
}): string;
|
|
31
33
|
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
32
34
|
export declare function clampIndex(index: number, length: number): number;
|
|
33
|
-
export declare function toAccountIdentityKeys(account: Pick<AccountMetadataV3, "organizationId" | "accountId" | "refreshToken">): string[];
|
|
34
|
-
export declare function toAccountIdentityKey(account: Pick<AccountMetadataV3, "organizationId" | "accountId" | "refreshToken">): string | undefined;
|
|
35
|
+
export declare function toAccountIdentityKeys(account: Pick<AccountMetadataV3, "organizationId" | "accountId" | "accountUserId" | "refreshToken">): string[];
|
|
36
|
+
export declare function toAccountIdentityKey(account: Pick<AccountMetadataV3, "organizationId" | "accountId" | "accountUserId" | "refreshToken">): string | undefined;
|
|
35
37
|
export declare function extractActiveKeys(accounts: unknown[], activeIndex: number): string[];
|
|
36
|
-
export declare function findAccountIndexByIdentityKeys(accounts: Pick<AccountMetadataV3, "organizationId" | "accountId" | "refreshToken">[], identityKeys: string[]): number;
|
|
38
|
+
export declare function findAccountIndexByIdentityKeys(accounts: Pick<AccountMetadataV3, "organizationId" | "accountId" | "accountUserId" | "refreshToken">[], identityKeys: string[]): number;
|
|
37
39
|
/**
|
|
38
40
|
* Removes duplicate accounts, keeping the most recently used entry for each unique key.
|
|
39
|
-
* Deduplication identity hierarchy:
|
|
41
|
+
* Deduplication identity hierarchy: workspace + member identity, then refreshToken.
|
|
40
42
|
* @param accounts - Array of accounts to deduplicate
|
|
41
43
|
* @returns New array with duplicates removed
|
|
42
44
|
*/
|
|
43
45
|
export declare function deduplicateAccounts<T extends {
|
|
44
46
|
organizationId?: string;
|
|
45
47
|
accountId?: string;
|
|
48
|
+
accountUserId?: string;
|
|
46
49
|
refreshToken: string;
|
|
47
50
|
lastUsed?: number;
|
|
48
51
|
addedAt?: number;
|
|
@@ -63,7 +66,7 @@ export declare function deduplicateAccountsByEmail<T extends {
|
|
|
63
66
|
}>(accounts: T[]): T[];
|
|
64
67
|
/**
|
|
65
68
|
* Applies storage deduplication semantics used by normalize/import paths.
|
|
66
|
-
* 1) Dedupe only exact identity duplicates
|
|
69
|
+
* 1) Dedupe only exact workspace/member identity duplicates, then refreshToken,
|
|
67
70
|
* preserving distinct workspace variants that share a refresh token.
|
|
68
71
|
* 2) Then apply legacy email dedupe only for entries that still do not have organizationId/accountId.
|
|
69
72
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../lib/storage/identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../lib/storage/identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGzD,MAAM,MAAM,WAAW,GAAG;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAKF,wBAAgB,uBAAuB,CAAC,OAAO,EAAE;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,MAAM,CAmBT;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAGhE;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,gBAAgB,GAAG,WAAW,GAAG,eAAe,GAAG,cAAc,CAAC,GAClG,MAAM,EAAE,CAkCV;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,gBAAgB,GAAG,WAAW,GAAG,eAAe,GAAG,cAAc,CAAC,GAClG,MAAM,GAAG,SAAS,CAEpB;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAepF;AAED,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,gBAAgB,GAAG,WAAW,GAAG,eAAe,GAAG,cAAc,CAAC,EAAE,EACtG,YAAY,EAAE,MAAM,EAAE,GACrB,MAAM,CASR;AAuPD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS;IAAE,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,EAC9K,QAAQ,EAAE,CAAC,EAAE,GACZ,CAAC,EAAE,CAEL;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,SAAS;IAAE,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,EACvJ,QAAQ,EAAE,CAAC,EAAE,GACZ,CAAC,EAAE,CAiEL;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,CAAC,SAAS,WAAW,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAE5G"}
|