codex-multi-auth 2.1.13-beta.2 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.codex-plugin/plugin.json +9 -0
- package/README.md +5 -4
- package/dist/lib/accounts.d.ts.map +1 -1
- package/dist/lib/accounts.js +30 -1
- package/dist/lib/accounts.js.map +1 -1
- package/dist/lib/auth/device-auth.d.ts.map +1 -1
- package/dist/lib/auth/device-auth.js +15 -0
- package/dist/lib/auth/device-auth.js.map +1 -1
- package/dist/lib/auth/org-override.d.ts +19 -0
- package/dist/lib/auth/org-override.d.ts.map +1 -0
- package/dist/lib/auth/org-override.js +23 -0
- package/dist/lib/auth/org-override.js.map +1 -0
- package/dist/lib/auth/server.d.ts.map +1 -1
- package/dist/lib/auth/server.js +12 -7
- package/dist/lib/auth/server.js.map +1 -1
- package/dist/lib/capability-policy.d.ts.map +1 -1
- package/dist/lib/capability-policy.js +5 -0
- package/dist/lib/capability-policy.js.map +1 -1
- package/dist/lib/circuit-breaker.d.ts +6 -0
- package/dist/lib/circuit-breaker.d.ts.map +1 -1
- package/dist/lib/circuit-breaker.js +8 -0
- package/dist/lib/circuit-breaker.js.map +1 -1
- package/dist/lib/codex-cli/state.d.ts.map +1 -1
- package/dist/lib/codex-cli/state.js +28 -7
- package/dist/lib/codex-cli/state.js.map +1 -1
- package/dist/lib/codex-manager/account-manager-commands.d.ts +14 -0
- package/dist/lib/codex-manager/account-manager-commands.d.ts.map +1 -0
- package/dist/lib/codex-manager/account-manager-commands.js +43 -0
- package/dist/lib/codex-manager/account-manager-commands.js.map +1 -0
- package/dist/lib/codex-manager/commands/best.d.ts +1 -1
- package/dist/lib/codex-manager/commands/best.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/best.js +4 -3
- package/dist/lib/codex-manager/commands/best.js.map +1 -1
- package/dist/lib/codex-manager/commands/budget.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/budget.js +6 -0
- package/dist/lib/codex-manager/commands/budget.js.map +1 -1
- package/dist/lib/codex-manager/commands/debug-bundle.d.ts +16 -0
- package/dist/lib/codex-manager/commands/debug-bundle.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/debug-bundle.js +80 -5
- package/dist/lib/codex-manager/commands/debug-bundle.js.map +1 -1
- package/dist/lib/codex-manager/commands/forecast.d.ts +1 -1
- package/dist/lib/codex-manager/commands/forecast.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/forecast.js +11 -8
- package/dist/lib/codex-manager/commands/forecast.js.map +1 -1
- package/dist/lib/codex-manager/commands/integrations.js +2 -2
- package/dist/lib/codex-manager/commands/integrations.js.map +1 -1
- package/dist/lib/codex-manager/commands/models.js +3 -3
- package/dist/lib/codex-manager/commands/models.js.map +1 -1
- package/dist/lib/codex-manager/commands/report.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/report.js +11 -9
- package/dist/lib/codex-manager/commands/report.js.map +1 -1
- package/dist/lib/codex-manager/commands/status.d.ts +2 -0
- package/dist/lib/codex-manager/commands/status.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/status.js +84 -25
- package/dist/lib/codex-manager/commands/status.js.map +1 -1
- package/dist/lib/codex-manager/commands/switch.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/switch.js +7 -0
- package/dist/lib/codex-manager/commands/switch.js.map +1 -1
- package/dist/lib/codex-manager/commands/workspace.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/workspace.js +12 -1
- package/dist/lib/codex-manager/commands/workspace.js.map +1 -1
- package/dist/lib/codex-manager/experimental-settings-prompt.d.ts.map +1 -1
- package/dist/lib/codex-manager/experimental-settings-prompt.js +13 -3
- package/dist/lib/codex-manager/experimental-settings-prompt.js.map +1 -1
- package/dist/lib/codex-manager/forecast-report-commands.d.ts.map +1 -1
- package/dist/lib/codex-manager/forecast-report-commands.js +14 -13
- package/dist/lib/codex-manager/forecast-report-commands.js.map +1 -1
- package/dist/lib/codex-manager/help.d.ts.map +1 -1
- package/dist/lib/codex-manager/help.js +7 -5
- package/dist/lib/codex-manager/help.js.map +1 -1
- package/dist/lib/codex-manager/repair-commands.d.ts.map +1 -1
- package/dist/lib/codex-manager/repair-commands.js +18 -8
- package/dist/lib/codex-manager/repair-commands.js.map +1 -1
- package/dist/lib/codex-manager/settings-hub/experimental.d.ts.map +1 -1
- package/dist/lib/codex-manager/settings-hub/experimental.js +8 -0
- package/dist/lib/codex-manager/settings-hub/experimental.js.map +1 -1
- package/dist/lib/codex-manager.d.ts +3 -0
- package/dist/lib/codex-manager.d.ts.map +1 -1
- package/dist/lib/codex-manager.js +121 -93
- package/dist/lib/codex-manager.js.map +1 -1
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +327 -18
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/context-overflow.d.ts +7 -2
- package/dist/lib/context-overflow.d.ts.map +1 -1
- package/dist/lib/context-overflow.js +55 -37
- package/dist/lib/context-overflow.js.map +1 -1
- package/dist/lib/errors.d.ts +16 -0
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/errors.js +23 -0
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/forecast.d.ts +1 -0
- package/dist/lib/forecast.d.ts.map +1 -1
- package/dist/lib/forecast.js +25 -2
- package/dist/lib/forecast.js.map +1 -1
- package/dist/lib/integration-generators.d.ts.map +1 -1
- package/dist/lib/integration-generators.js +1 -1
- package/dist/lib/integration-generators.js.map +1 -1
- package/dist/lib/local-bridge.d.ts +8 -0
- package/dist/lib/local-bridge.d.ts.map +1 -1
- package/dist/lib/local-bridge.js +81 -7
- package/dist/lib/local-bridge.js.map +1 -1
- package/dist/lib/local-client-tokens.d.ts.map +1 -1
- package/dist/lib/local-client-tokens.js +117 -64
- package/dist/lib/local-client-tokens.js.map +1 -1
- package/dist/lib/logger.d.ts +9 -1
- package/dist/lib/logger.d.ts.map +1 -1
- package/dist/lib/logger.js +104 -19
- package/dist/lib/logger.js.map +1 -1
- package/dist/lib/model-capability-matrix.d.ts.map +1 -1
- package/dist/lib/model-capability-matrix.js +13 -10
- package/dist/lib/model-capability-matrix.js.map +1 -1
- package/dist/lib/oc-chatgpt-orchestrator.d.ts +7 -1
- package/dist/lib/oc-chatgpt-orchestrator.d.ts.map +1 -1
- package/dist/lib/oc-chatgpt-orchestrator.js +68 -9
- package/dist/lib/oc-chatgpt-orchestrator.js.map +1 -1
- package/dist/lib/policy/runtime-policy.d.ts.map +1 -1
- package/dist/lib/policy/runtime-policy.js +23 -1
- package/dist/lib/policy/runtime-policy.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 +128 -33
- package/dist/lib/prompts/codex.js.map +1 -1
- package/dist/lib/prompts/fetch-utils.d.ts +72 -0
- package/dist/lib/prompts/fetch-utils.d.ts.map +1 -0
- package/dist/lib/prompts/fetch-utils.js +165 -0
- package/dist/lib/prompts/fetch-utils.js.map +1 -0
- package/dist/lib/prompts/host-codex-prompt.d.ts.map +1 -1
- package/dist/lib/prompts/host-codex-prompt.js +24 -10
- package/dist/lib/prompts/host-codex-prompt.js.map +1 -1
- package/dist/lib/quota-cache.d.ts.map +1 -1
- package/dist/lib/quota-cache.js +26 -2
- package/dist/lib/quota-cache.js.map +1 -1
- package/dist/lib/quota-probe.d.ts +21 -0
- package/dist/lib/quota-probe.d.ts.map +1 -1
- package/dist/lib/quota-probe.js +41 -1
- package/dist/lib/quota-probe.js.map +1 -1
- package/dist/lib/quota-readiness.d.ts +3 -1
- package/dist/lib/quota-readiness.d.ts.map +1 -1
- package/dist/lib/quota-readiness.js +16 -3
- package/dist/lib/quota-readiness.js.map +1 -1
- package/dist/lib/recovery/storage.d.ts +7 -0
- package/dist/lib/recovery/storage.d.ts.map +1 -1
- package/dist/lib/recovery/storage.js +178 -10
- package/dist/lib/recovery/storage.js.map +1 -1
- package/dist/lib/refresh-lease.d.ts +1 -1
- package/dist/lib/refresh-lease.d.ts.map +1 -1
- package/dist/lib/refresh-lease.js +25 -3
- package/dist/lib/refresh-lease.js.map +1 -1
- package/dist/lib/refresh-queue.d.ts.map +1 -1
- package/dist/lib/refresh-queue.js +31 -17
- package/dist/lib/refresh-queue.js.map +1 -1
- package/dist/lib/request/fetch-helpers.d.ts +0 -5
- package/dist/lib/request/fetch-helpers.d.ts.map +1 -1
- package/dist/lib/request/fetch-helpers.js +39 -7
- package/dist/lib/request/fetch-helpers.js.map +1 -1
- package/dist/lib/request/helpers/model-map.d.ts +1 -0
- package/dist/lib/request/helpers/model-map.d.ts.map +1 -1
- package/dist/lib/request/helpers/model-map.js +10 -0
- package/dist/lib/request/helpers/model-map.js.map +1 -1
- package/dist/lib/rotation.d.ts +12 -0
- package/dist/lib/rotation.d.ts.map +1 -1
- package/dist/lib/rotation.js +36 -0
- package/dist/lib/rotation.js.map +1 -1
- package/dist/lib/routing-mutex.d.ts +12 -0
- package/dist/lib/routing-mutex.d.ts.map +1 -1
- package/dist/lib/routing-mutex.js +38 -1
- package/dist/lib/routing-mutex.js.map +1 -1
- package/dist/lib/runtime/account-check-types.d.ts +1 -0
- package/dist/lib/runtime/account-check-types.d.ts.map +1 -1
- package/dist/lib/runtime/account-check-types.js +1 -0
- package/dist/lib/runtime/account-check-types.js.map +1 -1
- package/dist/lib/runtime/account-check.d.ts.map +1 -1
- package/dist/lib/runtime/account-check.js +15 -4
- package/dist/lib/runtime/account-check.js.map +1 -1
- package/dist/lib/runtime/quota-probe.d.ts.map +1 -1
- package/dist/lib/runtime/quota-probe.js +2 -5
- package/dist/lib/runtime/quota-probe.js.map +1 -1
- package/dist/lib/runtime/runtime-observability.d.ts.map +1 -1
- package/dist/lib/runtime/runtime-observability.js +24 -2
- package/dist/lib/runtime/runtime-observability.js.map +1 -1
- package/dist/lib/runtime-rotation-proxy.d.ts +24 -1
- package/dist/lib/runtime-rotation-proxy.d.ts.map +1 -1
- package/dist/lib/runtime-rotation-proxy.js +289 -26
- package/dist/lib/runtime-rotation-proxy.js.map +1 -1
- package/dist/lib/storage/account-clear.d.ts.map +1 -1
- package/dist/lib/storage/account-clear.js +4 -2
- package/dist/lib/storage/account-clear.js.map +1 -1
- package/dist/lib/storage/account-persistence.d.ts.map +1 -1
- package/dist/lib/storage/account-persistence.js +11 -1
- package/dist/lib/storage/account-persistence.js.map +1 -1
- package/dist/lib/storage/flagged-storage-io.d.ts.map +1 -1
- package/dist/lib/storage/flagged-storage-io.js +4 -1
- package/dist/lib/storage/flagged-storage-io.js.map +1 -1
- package/dist/lib/storage/import-export.d.ts.map +1 -1
- package/dist/lib/storage/import-export.js +29 -9
- package/dist/lib/storage/import-export.js.map +1 -1
- package/dist/lib/storage/paths.d.ts.map +1 -1
- package/dist/lib/storage/paths.js +93 -0
- package/dist/lib/storage/paths.js.map +1 -1
- package/dist/lib/storage/record-utils.d.ts.map +1 -1
- package/dist/lib/storage/record-utils.js +6 -1
- package/dist/lib/storage/record-utils.js.map +1 -1
- package/dist/lib/storage/storage-parser.d.ts.map +1 -1
- package/dist/lib/storage/storage-parser.js +7 -1
- package/dist/lib/storage/storage-parser.js.map +1 -1
- package/dist/lib/storage/transactions.d.ts +8 -0
- package/dist/lib/storage/transactions.d.ts.map +1 -1
- package/dist/lib/storage/transactions.js +14 -1
- package/dist/lib/storage/transactions.js.map +1 -1
- package/dist/lib/storage.d.ts.map +1 -1
- package/dist/lib/storage.js +59 -18
- package/dist/lib/storage.js.map +1 -1
- package/dist/lib/table-formatter.d.ts.map +1 -1
- package/dist/lib/table-formatter.js +20 -2
- package/dist/lib/table-formatter.js.map +1 -1
- package/dist/lib/types.d.ts +7 -0
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/ui/auth-menu.d.ts.map +1 -1
- package/dist/lib/ui/auth-menu.js +8 -2
- package/dist/lib/ui/auth-menu.js.map +1 -1
- package/dist/lib/ui/display-width.d.ts +27 -0
- package/dist/lib/ui/display-width.d.ts.map +1 -0
- package/dist/lib/ui/display-width.js +194 -0
- package/dist/lib/ui/display-width.js.map +1 -0
- package/dist/lib/ui/select.d.ts +23 -0
- package/dist/lib/ui/select.d.ts.map +1 -1
- package/dist/lib/ui/select.js +64 -16
- package/dist/lib/ui/select.js.map +1 -1
- package/dist/lib/ui/theme.d.ts +13 -0
- package/dist/lib/ui/theme.d.ts.map +1 -1
- package/dist/lib/ui/theme.js +34 -1
- package/dist/lib/ui/theme.js.map +1 -1
- package/node_modules/@codex-ai/sdk/dist/index.d.ts +4 -0
- package/node_modules/@codex-ai/sdk/dist/index.js +2 -0
- package/node_modules/@codex-ai/sdk/package.json +8 -0
- package/package.json +10 -6
- package/scripts/codex-bin-resolver.js +28 -1
- package/scripts/codex-routing.js +3 -0
- package/scripts/codex.js +508 -1
- package/scripts/mcodex.js +367 -0
|
@@ -6,8 +6,31 @@ import { getCodexMultiAuthDir } from "./runtime-paths.js";
|
|
|
6
6
|
import { isRecord, sleep } from "./utils.js";
|
|
7
7
|
const TOKEN_FILE_NAME = "local-client-tokens.json";
|
|
8
8
|
const TOKEN_PREFIX = "cma_local";
|
|
9
|
-
|
|
9
|
+
// Debounce window for persisting a record's lastUsedAt. Bearer verification is
|
|
10
|
+
// on the auth hot path (every authenticated bridge request), so writing the
|
|
11
|
+
// store to disk on each verify serializes behind the shared write queue and
|
|
12
|
+
// triggers a temp-write+rename per request (with Windows rename-lock retries).
|
|
13
|
+
// lastUsedAt is informational only (surfaced by `bridge token list`), so we
|
|
14
|
+
// coalesce updates: advance it in-memory every verify but only flush to disk
|
|
15
|
+
// once it has moved at least this far past the persisted value.
|
|
16
|
+
const LAST_USED_PERSIST_THRESHOLD_MS = 60_000;
|
|
17
|
+
const RETRYABLE_FS_CODES = new Set([
|
|
18
|
+
"EBUSY",
|
|
19
|
+
"EPERM",
|
|
20
|
+
"EAGAIN",
|
|
21
|
+
"ENOTEMPTY",
|
|
22
|
+
"EACCES",
|
|
23
|
+
]);
|
|
10
24
|
let writeQueue = Promise.resolve();
|
|
25
|
+
// Serialize a task on the shared write queue so each task runs only after the
|
|
26
|
+
// previous one has fully settled. Routing the entire read-modify-write through
|
|
27
|
+
// here (not just the final write) ensures every mutation observes the prior
|
|
28
|
+
// committed state, preventing lost updates between concurrent public ops.
|
|
29
|
+
function enqueue(task) {
|
|
30
|
+
const queued = writeQueue.catch(() => undefined).then(task);
|
|
31
|
+
writeQueue = queued.then(() => undefined, () => undefined);
|
|
32
|
+
return queued;
|
|
33
|
+
}
|
|
11
34
|
function isRetryableFsError(error) {
|
|
12
35
|
const code = error?.code;
|
|
13
36
|
return typeof code === "string" && RETRYABLE_FS_CODES.has(code);
|
|
@@ -96,45 +119,58 @@ export async function loadLocalClientTokenStore() {
|
|
|
96
119
|
return emptyStore();
|
|
97
120
|
}
|
|
98
121
|
}
|
|
99
|
-
|
|
122
|
+
async function writeStoreToDisk(store) {
|
|
100
123
|
const path = getLocalClientTokenPath();
|
|
101
124
|
const payload = normalizeStore(store);
|
|
102
|
-
const
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
125
|
+
const dir = getCodexMultiAuthDir();
|
|
126
|
+
// This store holds token hashes, so keep the directory owner-only on POSIX
|
|
127
|
+
// (mode is a no-op on win32 / ACL-based).
|
|
128
|
+
await fs.mkdir(dir, { recursive: true, mode: 0o700 });
|
|
129
|
+
// mkdir's mode only applies to a freshly-created dir; an upgrade with a
|
|
130
|
+
// pre-existing multi-auth dir keeps its old (possibly world-listable) perms,
|
|
131
|
+
// so re-assert 0o700 on POSIX. Best-effort: a chmod failure must not break
|
|
132
|
+
// the write (the 0o600 file below still protects the hashes).
|
|
133
|
+
if (process.platform !== "win32") {
|
|
106
134
|
try {
|
|
107
|
-
await fs.
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
135
|
+
await fs.chmod(dir, 0o700);
|
|
136
|
+
}
|
|
137
|
+
catch {
|
|
138
|
+
// Best-effort hardening only.
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
const tempPath = `${path}.${process.pid}.${Date.now()}.${Math.random().toString(36).slice(2, 8)}.tmp`;
|
|
142
|
+
let moved = false;
|
|
143
|
+
try {
|
|
144
|
+
await fs.writeFile(tempPath, `${JSON.stringify(payload, null, 2)}\n`, {
|
|
145
|
+
encoding: "utf8",
|
|
146
|
+
mode: 0o600,
|
|
147
|
+
});
|
|
148
|
+
for (let attempt = 0; attempt < 5; attempt += 1) {
|
|
149
|
+
try {
|
|
150
|
+
await fs.rename(tempPath, path);
|
|
151
|
+
moved = true;
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
if (!isRetryableFsError(error) || attempt >= 4)
|
|
156
|
+
throw error;
|
|
157
|
+
await sleep(10 * 2 ** attempt);
|
|
122
158
|
}
|
|
123
159
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
160
|
+
}
|
|
161
|
+
finally {
|
|
162
|
+
if (!moved) {
|
|
163
|
+
try {
|
|
164
|
+
await fs.unlink(tempPath);
|
|
165
|
+
}
|
|
166
|
+
catch {
|
|
167
|
+
// Best-effort temp cleanup.
|
|
132
168
|
}
|
|
133
169
|
}
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
await
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
export async function saveLocalClientTokenStore(store) {
|
|
173
|
+
await enqueue(() => writeStoreToDisk(store));
|
|
138
174
|
}
|
|
139
175
|
export function createLocalClientTokenRecord(input = {}) {
|
|
140
176
|
const plainToken = createPlainToken();
|
|
@@ -150,35 +186,41 @@ export function createLocalClientTokenRecord(input = {}) {
|
|
|
150
186
|
return { plainToken, record };
|
|
151
187
|
}
|
|
152
188
|
export async function addLocalClientToken(input = {}) {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
189
|
+
return enqueue(async () => {
|
|
190
|
+
const store = await loadLocalClientTokenStore();
|
|
191
|
+
const created = createLocalClientTokenRecord(input);
|
|
192
|
+
store.tokens.push(created.record);
|
|
193
|
+
await writeStoreToDisk(store);
|
|
194
|
+
return created;
|
|
195
|
+
});
|
|
158
196
|
}
|
|
159
197
|
export async function rotateLocalClientToken(input) {
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
198
|
+
return enqueue(async () => {
|
|
199
|
+
const store = await loadLocalClientTokenStore();
|
|
200
|
+
const existing = store.tokens.find((record) => record.id === input.id);
|
|
201
|
+
if (!existing || existing.revokedAt !== null)
|
|
202
|
+
return null;
|
|
203
|
+
const now = input.now ?? Date.now();
|
|
204
|
+
existing.revokedAt = now;
|
|
205
|
+
const created = createLocalClientTokenRecord({
|
|
206
|
+
label: input.label ?? existing.label,
|
|
207
|
+
now,
|
|
208
|
+
});
|
|
209
|
+
store.tokens.push(created.record);
|
|
210
|
+
await writeStoreToDisk(store);
|
|
211
|
+
return created;
|
|
169
212
|
});
|
|
170
|
-
store.tokens.push(created.record);
|
|
171
|
-
await saveLocalClientTokenStore(store);
|
|
172
|
-
return created;
|
|
173
213
|
}
|
|
174
214
|
export async function revokeLocalClientToken(id, now = Date.now()) {
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
215
|
+
return enqueue(async () => {
|
|
216
|
+
const store = await loadLocalClientTokenStore();
|
|
217
|
+
const existing = store.tokens.find((record) => record.id === id);
|
|
218
|
+
if (!existing || existing.revokedAt !== null)
|
|
219
|
+
return false;
|
|
220
|
+
existing.revokedAt = now;
|
|
221
|
+
await writeStoreToDisk(store);
|
|
222
|
+
return true;
|
|
223
|
+
});
|
|
182
224
|
}
|
|
183
225
|
export async function verifyLocalClientBearerToken(authorizationHeader, now = Date.now()) {
|
|
184
226
|
const match = authorizationHeader?.match(/^Bearer\s+(.+)$/i);
|
|
@@ -186,13 +228,24 @@ export async function verifyLocalClientBearerToken(authorizationHeader, now = Da
|
|
|
186
228
|
if (!token)
|
|
187
229
|
return null;
|
|
188
230
|
const tokenHash = hashToken(token);
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
231
|
+
return enqueue(async () => {
|
|
232
|
+
const store = await loadLocalClientTokenStore();
|
|
233
|
+
const record = store.tokens.find((entry) => entry.revokedAt === null && entry.tokenHash === tokenHash);
|
|
234
|
+
if (!record)
|
|
235
|
+
return null;
|
|
236
|
+
// Token match (verification correctness) is decided above and never
|
|
237
|
+
// depends on lastUsedAt. Always advance lastUsedAt in-memory so callers
|
|
238
|
+
// see a fresh value, but only flush to disk when it has not been
|
|
239
|
+
// persisted yet, or has advanced past the debounce threshold. This keeps
|
|
240
|
+
// steady-state verifies off the disk-write path while still recording
|
|
241
|
+
// recent usage on a coarse (>=60s) cadence.
|
|
242
|
+
const persisted = record.lastUsedAt;
|
|
243
|
+
record.lastUsedAt = now;
|
|
244
|
+
if (persisted === null || now - persisted >= LAST_USED_PERSIST_THRESHOLD_MS) {
|
|
245
|
+
await writeStoreToDisk(store);
|
|
246
|
+
}
|
|
247
|
+
return record;
|
|
248
|
+
});
|
|
196
249
|
}
|
|
197
250
|
export function resetLocalClientTokenWriteQueueForTests() {
|
|
198
251
|
writeQueue = Promise.resolve();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-client-tokens.js","sourceRoot":"","sources":["../../lib/local-client-tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAsB7C,MAAM,eAAe,GAAG,0BAA0B,CAAC;AACnD,MAAM,YAAY,GAAG,WAAW,CAAC;AACjC,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC
|
|
1
|
+
{"version":3,"file":"local-client-tokens.js","sourceRoot":"","sources":["../../lib/local-client-tokens.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/logger.d.ts
CHANGED
|
@@ -11,11 +11,19 @@ export interface LogClient {
|
|
|
11
11
|
}) => unknown;
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
|
+
declare function maskToken(token: string): string;
|
|
14
15
|
declare function maskEmail(email: string): string;
|
|
16
|
+
declare function maskString(value: string): string;
|
|
17
|
+
declare function sanitizeValue(value: unknown, depth?: number): unknown;
|
|
15
18
|
export declare const LOGGING_ENABLED: boolean;
|
|
16
19
|
export declare const REQUEST_BODY_LOGGING_ENABLED: boolean;
|
|
17
20
|
export declare const DEBUG_ENABLED: boolean;
|
|
18
21
|
export declare const LOG_LEVEL: LogLevel;
|
|
22
|
+
/**
|
|
23
|
+
* Run `fn` with a correlation id bound to its async context. Concurrent-safe:
|
|
24
|
+
* each invocation gets an isolated id that does not leak across requests.
|
|
25
|
+
*/
|
|
26
|
+
export declare function runWithCorrelationId<T>(id: string | undefined, fn: () => T): T;
|
|
19
27
|
export declare function setCorrelationId(id?: string): string;
|
|
20
28
|
export declare function getCorrelationId(): string | null;
|
|
21
29
|
export declare function clearCorrelationId(): void;
|
|
@@ -36,5 +44,5 @@ export interface ScopedLogger {
|
|
|
36
44
|
}
|
|
37
45
|
export declare function createLogger(scope: string): ScopedLogger;
|
|
38
46
|
export declare function getRequestId(): number;
|
|
39
|
-
export { formatDuration, maskEmail };
|
|
47
|
+
export { formatDuration, maskEmail, maskString, maskToken, sanitizeValue };
|
|
40
48
|
//# 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":"
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../lib/logger.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/logger.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { writeFileSync, mkdirSync, existsSync } from "node:fs";
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import { randomUUID } from "node:crypto";
|
|
4
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
4
5
|
import { PLUGIN_NAME } from "./constants.js";
|
|
5
6
|
import { getCodexLogDir } from "./runtime-paths.js";
|
|
6
7
|
const LOG_LEVEL_PRIORITY = {
|
|
@@ -76,7 +77,18 @@ function sanitizeValue(value, depth = 0) {
|
|
|
76
77
|
for (const [key, val] of Object.entries(value)) {
|
|
77
78
|
const normalizedKey = key.toLowerCase().replace(/[-_]/g, "");
|
|
78
79
|
if (SENSITIVE_KEYS.has(normalizedKey)) {
|
|
79
|
-
|
|
80
|
+
if (typeof val !== "string") {
|
|
81
|
+
sanitized[key] = "***MASKED***";
|
|
82
|
+
}
|
|
83
|
+
else if (normalizedKey === "email") {
|
|
84
|
+
// An email value masked with maskToken leaks the local part and TLD
|
|
85
|
+
// (alice@example.com -> alice@....com). Use the dedicated email masker
|
|
86
|
+
// so structured `email` fields match the free-text path (maskString).
|
|
87
|
+
sanitized[key] = maskEmail(val);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
sanitized[key] = maskToken(val);
|
|
91
|
+
}
|
|
80
92
|
}
|
|
81
93
|
else {
|
|
82
94
|
sanitized[key] = sanitizeValue(val, depth + 1);
|
|
@@ -102,18 +114,54 @@ const CONSOLE_LOG_ENABLED = process.env.CODEX_CONSOLE_LOG === "1";
|
|
|
102
114
|
const LOG_DIR = join(getCodexLogDir(), "codex-plugin");
|
|
103
115
|
const LOG_DIR_RETRYABLE_ERRORS = new Set(["EBUSY", "EPERM"]);
|
|
104
116
|
const LOG_DIR_MAX_ATTEMPTS = 3;
|
|
105
|
-
const LOG_DIR_RETRY_BASE_DELAY_MS = 10;
|
|
106
117
|
let client = null;
|
|
107
|
-
|
|
118
|
+
// Correlation id storage (errors-logging-02).
|
|
119
|
+
//
|
|
120
|
+
// A single process-global was wrong for the concurrent runtime proxy: many
|
|
121
|
+
// requests are in flight at once, so a global last-writer-wins value tags log
|
|
122
|
+
// lines with the wrong request. AsyncLocalStorage scopes the id to the async
|
|
123
|
+
// context of each request. A module-global fallback is retained ONLY for the
|
|
124
|
+
// legacy set/clear callers (index.ts plugin-host path) that are effectively
|
|
125
|
+
// single-flight; new concurrent code should use runWithCorrelationId.
|
|
126
|
+
const correlationStore = new AsyncLocalStorage();
|
|
127
|
+
let fallbackCorrelationId = null;
|
|
128
|
+
/**
|
|
129
|
+
* Run `fn` with a correlation id bound to its async context. Concurrent-safe:
|
|
130
|
+
* each invocation gets an isolated id that does not leak across requests.
|
|
131
|
+
*/
|
|
132
|
+
export function runWithCorrelationId(id, fn) {
|
|
133
|
+
return correlationStore.run({ id: id ?? randomUUID() }, fn);
|
|
134
|
+
}
|
|
108
135
|
export function setCorrelationId(id) {
|
|
109
|
-
|
|
110
|
-
|
|
136
|
+
const resolved = id ?? randomUUID();
|
|
137
|
+
const store = correlationStore.getStore();
|
|
138
|
+
if (store) {
|
|
139
|
+
// Inside an ALS scope: update the scoped id in place.
|
|
140
|
+
store.id = resolved;
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
// Legacy single-flight path: keep the module-global fallback working.
|
|
144
|
+
fallbackCorrelationId = resolved;
|
|
145
|
+
}
|
|
146
|
+
return resolved;
|
|
111
147
|
}
|
|
112
148
|
export function getCorrelationId() {
|
|
113
|
-
|
|
149
|
+
// Inside an ALS scope the scoped id is authoritative (including a cleared
|
|
150
|
+
// null); only fall back to the module-global when no scope is active. This
|
|
151
|
+
// keeps the declared `string | null` contract honest after clearCorrelationId
|
|
152
|
+
// runs inside runWithCorrelationId — returning the empty sentinel would leak
|
|
153
|
+
// "" to callers doing an explicit `=== null` check.
|
|
154
|
+
const store = correlationStore.getStore();
|
|
155
|
+
return store ? store.id : fallbackCorrelationId;
|
|
114
156
|
}
|
|
115
157
|
export function clearCorrelationId() {
|
|
116
|
-
|
|
158
|
+
const store = correlationStore.getStore();
|
|
159
|
+
if (store) {
|
|
160
|
+
store.id = null;
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
fallbackCorrelationId = null;
|
|
164
|
+
}
|
|
117
165
|
}
|
|
118
166
|
export function initLogger(newClient) {
|
|
119
167
|
client = newClient;
|
|
@@ -124,7 +172,7 @@ function logToApp(level, message, data, service = PLUGIN_NAME) {
|
|
|
124
172
|
return;
|
|
125
173
|
const sanitizedMessage = maskString(message).replace(/[\r\n]+/g, " ");
|
|
126
174
|
const sanitizedData = data === undefined ? undefined : sanitizeValue(data);
|
|
127
|
-
const correlationId =
|
|
175
|
+
const correlationId = getCorrelationId();
|
|
128
176
|
const extraData = {};
|
|
129
177
|
if (correlationId) {
|
|
130
178
|
extraData.correlationId = correlationId;
|
|
@@ -153,8 +201,16 @@ function logToApp(level, message, data, service = PLUGIN_NAME) {
|
|
|
153
201
|
function logToConsole(level, message, data) {
|
|
154
202
|
if (!CONSOLE_LOG_ENABLED)
|
|
155
203
|
return;
|
|
156
|
-
|
|
204
|
+
// Strip CR/LF like logToApp does: a message carrying embedded newlines could
|
|
205
|
+
// otherwise forge extra log lines when console output is captured to a file
|
|
206
|
+
// or aggregator (log injection).
|
|
207
|
+
const sanitizedMessage = maskString(message).replace(/[\r\n]+/g, " ");
|
|
157
208
|
const sanitizedData = data === undefined ? undefined : sanitizeValue(data);
|
|
209
|
+
// This is the single sanctioned console sink for the whole package: every
|
|
210
|
+
// message is mask-sanitized above before it reaches the terminal. The
|
|
211
|
+
// no-console lint rule (request-10) intentionally points all other lib code
|
|
212
|
+
// here, so the direct console calls below are allowed.
|
|
213
|
+
/* eslint-disable no-console */
|
|
158
214
|
if (sanitizedData !== undefined) {
|
|
159
215
|
if (level === "warn")
|
|
160
216
|
console.warn(sanitizedMessage, sanitizedData);
|
|
@@ -170,6 +226,7 @@ function logToConsole(level, message, data) {
|
|
|
170
226
|
console.error(sanitizedMessage);
|
|
171
227
|
else
|
|
172
228
|
console.log(sanitizedMessage);
|
|
229
|
+
/* eslint-enable no-console */
|
|
173
230
|
}
|
|
174
231
|
if (LOGGING_ENABLED) {
|
|
175
232
|
logToConsole("info", REQUEST_BODY_LOGGING_ENABLED
|
|
@@ -215,28 +272,48 @@ function formatDuration(ms) {
|
|
|
215
272
|
const seconds = ((ms % 60000) / 1000).toFixed(1);
|
|
216
273
|
return `${minutes}m ${seconds}s`;
|
|
217
274
|
}
|
|
275
|
+
// Once the log dir is confirmed to exist we never need to stat/mkdir again for
|
|
276
|
+
// this process, so the hot logging path does no filesystem work after the first
|
|
277
|
+
// success.
|
|
278
|
+
let logDirReady = false;
|
|
279
|
+
/**
|
|
280
|
+
* Ensure the log directory exists (best-effort, synchronous, non-blocking).
|
|
281
|
+
*
|
|
282
|
+
* Logging is fire-and-forget on a concurrent request path, so this must never
|
|
283
|
+
* block the event loop. The previous implementation slept via `Atomics.wait`,
|
|
284
|
+
* which froze ALL in-flight requests for up to ~30ms on a transient Windows
|
|
285
|
+
* EBUSY/EPERM from antivirus/the indexer. Instead we retry the mkdir a few times
|
|
286
|
+
* immediately (no sleep); a directory lock is typically released within a tick,
|
|
287
|
+
* and if it genuinely persists we skip this one log line rather than stalling
|
|
288
|
+
* the proxy. Success is cached so the steady state does a single existsSync.
|
|
289
|
+
*/
|
|
218
290
|
function ensureLogDir(path) {
|
|
291
|
+
if (logDirReady)
|
|
292
|
+
return true;
|
|
293
|
+
let lastError;
|
|
219
294
|
for (let attempt = 0; attempt < LOG_DIR_MAX_ATTEMPTS; attempt += 1) {
|
|
220
295
|
try {
|
|
221
296
|
if (!existsSync(path)) {
|
|
222
297
|
mkdirSync(path, { recursive: true, mode: 0o700 });
|
|
223
298
|
}
|
|
299
|
+
logDirReady = true;
|
|
224
300
|
return true;
|
|
225
301
|
}
|
|
226
302
|
catch (error) {
|
|
303
|
+
lastError = error;
|
|
227
304
|
const code = error.code ?? "";
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
305
|
+
if (LOG_DIR_RETRYABLE_ERRORS.has(code) && attempt + 1 < LOG_DIR_MAX_ATTEMPTS) {
|
|
306
|
+
// Immediate retry (no event-loop-blocking sleep). A transient lock is
|
|
307
|
+
// usually gone by the next attempt; persistent contention falls through.
|
|
231
308
|
continue;
|
|
232
309
|
}
|
|
233
|
-
|
|
234
|
-
path,
|
|
235
|
-
error: error instanceof Error ? error.message : String(error),
|
|
236
|
-
});
|
|
237
|
-
return false;
|
|
310
|
+
break;
|
|
238
311
|
}
|
|
239
312
|
}
|
|
313
|
+
logToConsole("warn", `[${PLUGIN_NAME}] Failed to ensure log directory`, {
|
|
314
|
+
path,
|
|
315
|
+
error: lastError instanceof Error ? lastError.message : String(lastError),
|
|
316
|
+
});
|
|
240
317
|
return false;
|
|
241
318
|
}
|
|
242
319
|
export function logRequest(stage, data) {
|
|
@@ -247,7 +324,7 @@ export function logRequest(stage, data) {
|
|
|
247
324
|
}
|
|
248
325
|
const timestamp = new Date().toISOString();
|
|
249
326
|
const requestId = ++requestCounter;
|
|
250
|
-
const correlationId =
|
|
327
|
+
const correlationId = getCorrelationId();
|
|
251
328
|
const filename = join(LOG_DIR, `request-${requestId}-${stage}.json`);
|
|
252
329
|
const requestData = sanitizeRequestLogData(data);
|
|
253
330
|
const sanitizedData = sanitizeValue(requestData);
|
|
@@ -264,6 +341,14 @@ export function logRequest(stage, data) {
|
|
|
264
341
|
}
|
|
265
342
|
catch (e) {
|
|
266
343
|
const error = e;
|
|
344
|
+
// If the log dir vanished after we cached it as ready (deleted/rotated/moved
|
|
345
|
+
// out from under us), a write fails with ENOENT and would stay broken until
|
|
346
|
+
// restart because ensureLogDir is a no-op once ready. Invalidate the cache on
|
|
347
|
+
// a directory-missing failure so the next logRequest re-creates the dir.
|
|
348
|
+
const code = e?.code;
|
|
349
|
+
if (code === "ENOENT") {
|
|
350
|
+
logDirReady = false;
|
|
351
|
+
}
|
|
267
352
|
logToApp("error", `Failed to write log: ${error.message}`);
|
|
268
353
|
logToConsole("error", `[${PLUGIN_NAME}] Failed to write log: ${error.message}`);
|
|
269
354
|
}
|
|
@@ -361,5 +446,5 @@ export function createLogger(scope) {
|
|
|
361
446
|
export function getRequestId() {
|
|
362
447
|
return requestCounter;
|
|
363
448
|
}
|
|
364
|
-
export { formatDuration, maskEmail };
|
|
449
|
+
export { formatDuration, maskEmail, maskString, maskToken, sanitizeValue };
|
|
365
450
|
//# 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":"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"}
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../lib/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-capability-matrix.d.ts","sourceRoot":"","sources":["../../lib/model-capability-matrix.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAGN,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAEN,KAAK,wBAAwB,EAC7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EACX,wBAAwB,EACxB,qBAAqB,EACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGxE,MAAM,WAAW,0BAA0B;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,iBAAiB,CAAC;IAChC,sBAAsB,EAAE,oBAAoB,CAAC;IAC7C,yBAAyB,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC3D,YAAY,EAAE,iBAAiB,CAAC;IAChC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAClD,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,0BAA0B,EAAE,CAAC;CACtC;AAsBD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IACjD,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAC/C,gBAAgB,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAChD,UAAU,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;CACb,GAAG,qBAAqB,
|
|
1
|
+
{"version":3,"file":"model-capability-matrix.d.ts","sourceRoot":"","sources":["../../lib/model-capability-matrix.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAGN,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAEN,KAAK,wBAAwB,EAC7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EACX,wBAAwB,EACxB,qBAAqB,EACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGxE,MAAM,WAAW,0BAA0B;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,iBAAiB,CAAC;IAChC,sBAAsB,EAAE,oBAAoB,CAAC;IAC7C,yBAAyB,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC3D,YAAY,EAAE,iBAAiB,CAAC;IAChC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAClD,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,0BAA0B,EAAE,CAAC;CACtC;AAsBD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IACjD,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAC/C,gBAAgB,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAChD,UAAU,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;CACb,GAAG,qBAAqB,CAiFxB"}
|
|
@@ -28,22 +28,25 @@ export function buildModelCapabilityMatrix(input) {
|
|
|
28
28
|
const entries = [];
|
|
29
29
|
for (const [index, account] of accounts.entries()) {
|
|
30
30
|
const accountKey = getAccountPolicyKey(account, index);
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}),
|
|
38
|
-
];
|
|
31
|
+
const entitlementKey = resolveEntitlementAccountKey({
|
|
32
|
+
accountId: account.accountId,
|
|
33
|
+
email: account.email,
|
|
34
|
+
index,
|
|
35
|
+
});
|
|
36
|
+
const entitlementKeys = [accountKey, entitlementKey];
|
|
39
37
|
for (const model of models) {
|
|
40
38
|
const profile = MODEL_PROFILES[model] ?? MODEL_PROFILES[resolveNormalizedModel(model)];
|
|
41
39
|
if (!profile)
|
|
42
40
|
continue;
|
|
43
41
|
const entitlement = getEntitlementBlock(input.entitlements, entitlementKeys, profile.normalizedModel, now);
|
|
44
|
-
|
|
42
|
+
// quota-forecast-01: the capability store is WRITTEN under the
|
|
43
|
+
// entitlement key (resolveEntitlementAccountKey) at the
|
|
44
|
+
// recordUnsupported sites, so reads must use the same key. Previously
|
|
45
|
+
// this used getAccountPolicyKey ("sha256:…"), a different format, so
|
|
46
|
+
// getSnapshot/getBoost never matched and the capability signal was dead.
|
|
47
|
+
const capabilityPolicy = input.capabilityPolicy?.getSnapshot(entitlementKey, profile.normalizedModel) ??
|
|
45
48
|
null;
|
|
46
|
-
const capabilityBoost = input.capabilityPolicy?.getBoost(
|
|
49
|
+
const capabilityBoost = input.capabilityPolicy?.getBoost(entitlementKey, profile.normalizedModel, now) ??
|
|
47
50
|
0;
|
|
48
51
|
const quota = input.quotaCache && input.storage
|
|
49
52
|
? findQuotaCacheEntryForAccount(input.quotaCache, account, input.storage.accounts)
|