codex-multi-auth 2.0.2 → 2.1.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 +17 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +91 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/account-policy.d.ts +22 -0
- package/dist/lib/account-policy.d.ts.map +1 -0
- package/dist/lib/account-policy.js +159 -0
- package/dist/lib/account-policy.js.map +1 -0
- package/dist/lib/accounts.d.ts.map +1 -1
- package/dist/lib/accounts.js +2 -1
- package/dist/lib/accounts.js.map +1 -1
- package/dist/lib/budget-guard.d.ts +39 -0
- package/dist/lib/budget-guard.d.ts.map +1 -0
- package/dist/lib/budget-guard.js +201 -0
- package/dist/lib/budget-guard.js.map +1 -0
- package/dist/lib/codex-manager/commands/account.d.ts +13 -0
- package/dist/lib/codex-manager/commands/account.d.ts.map +1 -0
- package/dist/lib/codex-manager/commands/account.js +156 -0
- package/dist/lib/codex-manager/commands/account.js.map +1 -0
- package/dist/lib/codex-manager/commands/bridge.d.ts +6 -0
- package/dist/lib/codex-manager/commands/bridge.d.ts.map +1 -0
- package/dist/lib/codex-manager/commands/bridge.js +100 -0
- package/dist/lib/codex-manager/commands/bridge.js.map +1 -0
- package/dist/lib/codex-manager/commands/budget.d.ts +12 -0
- package/dist/lib/codex-manager/commands/budget.d.ts.map +1 -0
- package/dist/lib/codex-manager/commands/budget.js +123 -0
- package/dist/lib/codex-manager/commands/budget.js.map +1 -0
- package/dist/lib/codex-manager/commands/integrations.d.ts +6 -0
- package/dist/lib/codex-manager/commands/integrations.d.ts.map +1 -0
- package/dist/lib/codex-manager/commands/integrations.js +78 -0
- package/dist/lib/codex-manager/commands/integrations.js.map +1 -0
- package/dist/lib/codex-manager/commands/models.d.ts +14 -0
- package/dist/lib/codex-manager/commands/models.d.ts.map +1 -0
- package/dist/lib/codex-manager/commands/models.js +74 -0
- package/dist/lib/codex-manager/commands/models.js.map +1 -0
- package/dist/lib/codex-manager/commands/monitor.d.ts +22 -0
- package/dist/lib/codex-manager/commands/monitor.d.ts.map +1 -0
- package/dist/lib/codex-manager/commands/monitor.js +94 -0
- package/dist/lib/codex-manager/commands/monitor.js.map +1 -0
- package/dist/lib/codex-manager/commands/rotation.d.ts +1 -0
- package/dist/lib/codex-manager/commands/rotation.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/rotation.js +293 -10
- package/dist/lib/codex-manager/commands/rotation.js.map +1 -1
- package/dist/lib/codex-manager/commands/usage.d.ts +13 -0
- package/dist/lib/codex-manager/commands/usage.d.ts.map +1 -0
- package/dist/lib/codex-manager/commands/usage.js +347 -0
- package/dist/lib/codex-manager/commands/usage.js.map +1 -0
- package/dist/lib/codex-manager/help.d.ts.map +1 -1
- package/dist/lib/codex-manager/help.js +8 -0
- package/dist/lib/codex-manager/help.js.map +1 -1
- package/dist/lib/codex-manager.d.ts.map +1 -1
- package/dist/lib/codex-manager.js +42 -2
- package/dist/lib/codex-manager.js.map +1 -1
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +2 -22
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/constants.d.ts +1 -0
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +1 -0
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/env-parsing.d.ts +21 -0
- package/dist/lib/env-parsing.d.ts.map +1 -0
- package/dist/lib/env-parsing.js +34 -0
- package/dist/lib/env-parsing.js.map +1 -0
- package/dist/lib/index.d.ts +9 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +9 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/integration-generators.d.ts +14 -0
- package/dist/lib/integration-generators.d.ts.map +1 -0
- package/dist/lib/integration-generators.js +93 -0
- package/dist/lib/integration-generators.js.map +1 -0
- package/dist/lib/local-bridge.d.ts +17 -0
- package/dist/lib/local-bridge.d.ts.map +1 -0
- package/dist/lib/local-bridge.js +249 -0
- package/dist/lib/local-bridge.js.map +1 -0
- package/dist/lib/local-client-tokens.d.ts +37 -0
- package/dist/lib/local-client-tokens.d.ts.map +1 -0
- package/dist/lib/local-client-tokens.js +200 -0
- package/dist/lib/local-client-tokens.js.map +1 -0
- package/dist/lib/model-capability-matrix.d.ts +38 -0
- package/dist/lib/model-capability-matrix.d.ts.map +1 -0
- package/dist/lib/model-capability-matrix.js +89 -0
- package/dist/lib/model-capability-matrix.js.map +1 -0
- package/dist/lib/policy/runtime-policy.d.ts +59 -0
- package/dist/lib/policy/runtime-policy.d.ts.map +1 -0
- package/dist/lib/policy/runtime-policy.js +156 -0
- package/dist/lib/policy/runtime-policy.js.map +1 -0
- package/dist/lib/proactive-refresh.js +4 -4
- package/dist/lib/proactive-refresh.js.map +1 -1
- package/dist/lib/refresh-lease.d.ts.map +1 -1
- package/dist/lib/refresh-lease.js +1 -10
- package/dist/lib/refresh-lease.js.map +1 -1
- package/dist/lib/routing-profiles.d.ts +36 -0
- package/dist/lib/routing-profiles.d.ts.map +1 -0
- package/dist/lib/routing-profiles.js +203 -0
- package/dist/lib/routing-profiles.js.map +1 -0
- package/dist/lib/runtime-rotation-proxy.d.ts.map +1 -1
- package/dist/lib/runtime-rotation-proxy.js +96 -6
- package/dist/lib/runtime-rotation-proxy.js.map +1 -1
- package/dist/lib/usage/index.d.ts +5 -0
- package/dist/lib/usage/index.d.ts.map +1 -0
- package/dist/lib/usage/index.js +5 -0
- package/dist/lib/usage/index.js.map +1 -0
- package/dist/lib/usage/ledger.d.ts +12 -0
- package/dist/lib/usage/ledger.d.ts.map +1 -0
- package/dist/lib/usage/ledger.js +493 -0
- package/dist/lib/usage/ledger.js.map +1 -0
- package/dist/lib/usage/pricing.d.ts +11 -0
- package/dist/lib/usage/pricing.d.ts.map +1 -0
- package/dist/lib/usage/pricing.js +67 -0
- package/dist/lib/usage/pricing.js.map +1 -0
- package/dist/lib/usage/redaction.d.ts +10 -0
- package/dist/lib/usage/redaction.d.ts.map +1 -0
- package/dist/lib/usage/redaction.js +129 -0
- package/dist/lib/usage/redaction.js.map +1 -0
- package/dist/lib/usage/types.d.ts +89 -0
- package/dist/lib/usage/types.d.ts.map +1 -0
- package/dist/lib/usage/types.js +2 -0
- package/dist/lib/usage/types.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { CapabilityPolicyStore } from "../capability-policy.js";
|
|
2
|
+
import { type AccountPolicyStore } from "../account-policy.js";
|
|
3
|
+
import { type BudgetGuardEvaluation, type BudgetGuardStore } from "../budget-guard.js";
|
|
4
|
+
import { type ProjectRoutingProfileContext } from "../routing-profiles.js";
|
|
5
|
+
import { appendUsageLedgerRow, type UsageLedgerOperation, type UsageLedgerOutcome, type UsageLedgerSource } from "../usage/index.js";
|
|
6
|
+
export interface RuntimePolicyAccount {
|
|
7
|
+
index: number;
|
|
8
|
+
accountId?: string | null;
|
|
9
|
+
email?: string | null;
|
|
10
|
+
}
|
|
11
|
+
export interface RuntimePolicyDecision {
|
|
12
|
+
allowed: boolean;
|
|
13
|
+
statusCode: number;
|
|
14
|
+
errorCode: string | null;
|
|
15
|
+
reasons: string[];
|
|
16
|
+
projectKey: string | null;
|
|
17
|
+
blockedAccountIndexes: Set<number>;
|
|
18
|
+
scoreBoostByAccount: Record<number, number>;
|
|
19
|
+
budgetEvaluations: BudgetGuardEvaluation[];
|
|
20
|
+
}
|
|
21
|
+
export interface RuntimePolicyState {
|
|
22
|
+
accountPolicies: AccountPolicyStore;
|
|
23
|
+
budgets: BudgetGuardStore;
|
|
24
|
+
project: ProjectRoutingProfileContext;
|
|
25
|
+
}
|
|
26
|
+
export interface RuntimeUsageRecorder {
|
|
27
|
+
record: (input: RuntimeUsageRecordInput) => Promise<void>;
|
|
28
|
+
hasRecorded: () => boolean;
|
|
29
|
+
}
|
|
30
|
+
export interface RuntimeUsageRecordInput {
|
|
31
|
+
outcome: UsageLedgerOutcome;
|
|
32
|
+
statusCode?: number | null;
|
|
33
|
+
errorCode?: string | null;
|
|
34
|
+
durationMs?: number | null;
|
|
35
|
+
account?: RuntimePolicyAccount | null;
|
|
36
|
+
inputTokens?: number | null;
|
|
37
|
+
outputTokens?: number | null;
|
|
38
|
+
cachedInputTokens?: number | null;
|
|
39
|
+
reasoningTokens?: number | null;
|
|
40
|
+
totalTokens?: number | null;
|
|
41
|
+
}
|
|
42
|
+
export declare function loadRuntimePolicyState(startDir?: string): Promise<RuntimePolicyState>;
|
|
43
|
+
export declare function evaluateRuntimePolicy(input: {
|
|
44
|
+
state: RuntimePolicyState;
|
|
45
|
+
accounts: RuntimePolicyAccount[];
|
|
46
|
+
model: string | null;
|
|
47
|
+
capabilityPolicy?: CapabilityPolicyStore | null;
|
|
48
|
+
now?: number;
|
|
49
|
+
}): Promise<RuntimePolicyDecision>;
|
|
50
|
+
export declare function createRuntimeUsageRecorder(input: {
|
|
51
|
+
source: UsageLedgerSource;
|
|
52
|
+
operation: UsageLedgerOperation;
|
|
53
|
+
model: string | null;
|
|
54
|
+
projectKey: string | null;
|
|
55
|
+
requestId?: string | null;
|
|
56
|
+
startedAt?: number;
|
|
57
|
+
append?: typeof appendUsageLedgerRow;
|
|
58
|
+
}): RuntimeUsageRecorder;
|
|
59
|
+
//# sourceMappingURL=runtime-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-policy.d.ts","sourceRoot":"","sources":["../../../lib/policy/runtime-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { getAccountPolicyKey, loadAccountPolicyStore, } from "../account-policy.js";
|
|
2
|
+
import { evaluateBudgetGuard, getBudgetWindowStart, loadBudgetGuardStore, } from "../budget-guard.js";
|
|
3
|
+
import { resolveProjectRoutingProfile, } from "../routing-profiles.js";
|
|
4
|
+
import { appendUsageLedgerRow, summarizeUsageLedger, } from "../usage/index.js";
|
|
5
|
+
export async function loadRuntimePolicyState(startDir = process.cwd()) {
|
|
6
|
+
const [accountPolicies, budgets, project] = await Promise.all([
|
|
7
|
+
loadAccountPolicyStore(),
|
|
8
|
+
loadBudgetGuardStore(),
|
|
9
|
+
resolveProjectRoutingProfile(startDir),
|
|
10
|
+
]);
|
|
11
|
+
return { accountPolicies, budgets, project };
|
|
12
|
+
}
|
|
13
|
+
function normalizeToken(value) {
|
|
14
|
+
const trimmed = value?.trim().toLowerCase();
|
|
15
|
+
return trimmed && trimmed.length > 0 ? trimmed : null;
|
|
16
|
+
}
|
|
17
|
+
function matchesModel(patterns, model) {
|
|
18
|
+
const normalizedModel = normalizeToken(model);
|
|
19
|
+
if (!normalizedModel)
|
|
20
|
+
return false;
|
|
21
|
+
return patterns.some((pattern) => {
|
|
22
|
+
const normalizedPattern = normalizeToken(pattern);
|
|
23
|
+
if (!normalizedPattern)
|
|
24
|
+
return false;
|
|
25
|
+
return (normalizedModel === normalizedPattern ||
|
|
26
|
+
normalizedModel.includes(normalizedPattern));
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
function intersects(left, right) {
|
|
30
|
+
const rightSet = new Set(right);
|
|
31
|
+
return left.some((entry) => rightSet.has(entry));
|
|
32
|
+
}
|
|
33
|
+
async function evaluateBudgets(input) {
|
|
34
|
+
const keys = new Set();
|
|
35
|
+
keys.add("global");
|
|
36
|
+
if (input.state.project.projectKey) {
|
|
37
|
+
keys.add(`project:${input.state.project.projectKey}`);
|
|
38
|
+
}
|
|
39
|
+
if (input.state.project.profile?.budgetKey) {
|
|
40
|
+
keys.add(input.state.project.profile.budgetKey);
|
|
41
|
+
}
|
|
42
|
+
const evaluations = [];
|
|
43
|
+
for (const key of keys) {
|
|
44
|
+
const limit = input.state.budgets.limits[key];
|
|
45
|
+
if (!limit)
|
|
46
|
+
continue;
|
|
47
|
+
const summary = await summarizeUsageLedger({
|
|
48
|
+
since: getBudgetWindowStart(limit.window, input.now),
|
|
49
|
+
until: input.now,
|
|
50
|
+
});
|
|
51
|
+
evaluations.push(evaluateBudgetGuard(limit, summary));
|
|
52
|
+
}
|
|
53
|
+
return evaluations;
|
|
54
|
+
}
|
|
55
|
+
export async function evaluateRuntimePolicy(input) {
|
|
56
|
+
const now = input.now ?? Date.now();
|
|
57
|
+
const reasons = [];
|
|
58
|
+
const blockedAccountIndexes = new Set();
|
|
59
|
+
const scoreBoostByAccount = {};
|
|
60
|
+
const profile = input.state.project.profile;
|
|
61
|
+
if (profile?.modelDenylist.length && matchesModel(profile.modelDenylist, input.model)) {
|
|
62
|
+
reasons.push("routing profile denies requested model");
|
|
63
|
+
}
|
|
64
|
+
if (profile?.modelAllowlist.length &&
|
|
65
|
+
!matchesModel(profile.modelAllowlist, input.model)) {
|
|
66
|
+
reasons.push("routing profile does not allow requested model");
|
|
67
|
+
}
|
|
68
|
+
const budgetEvaluations = await evaluateBudgets({ state: input.state, now });
|
|
69
|
+
for (const evaluation of budgetEvaluations) {
|
|
70
|
+
if (!evaluation.allowed) {
|
|
71
|
+
reasons.push(`budget ${evaluation.key} blocked request: ${evaluation.reasons.join("; ")}`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
for (const account of input.accounts) {
|
|
75
|
+
const accountKey = getAccountPolicyKey({
|
|
76
|
+
accountId: account.accountId ?? undefined,
|
|
77
|
+
email: account.email ?? undefined,
|
|
78
|
+
}, account.index);
|
|
79
|
+
const accountPolicy = input.state.accountPolicies.accounts[accountKey];
|
|
80
|
+
let boost = 0;
|
|
81
|
+
if (accountPolicy?.paused) {
|
|
82
|
+
blockedAccountIndexes.add(account.index);
|
|
83
|
+
}
|
|
84
|
+
if (accountPolicy?.drained) {
|
|
85
|
+
blockedAccountIndexes.add(account.index);
|
|
86
|
+
}
|
|
87
|
+
if (accountPolicy) {
|
|
88
|
+
boost += (accountPolicy.weight - 1) * 2;
|
|
89
|
+
}
|
|
90
|
+
if (accountPolicy &&
|
|
91
|
+
profile?.preferredTags.length &&
|
|
92
|
+
intersects(accountPolicy.tags, profile.preferredTags)) {
|
|
93
|
+
boost += 8;
|
|
94
|
+
}
|
|
95
|
+
if (accountPolicy &&
|
|
96
|
+
profile?.avoidTags.length &&
|
|
97
|
+
intersects(accountPolicy.tags, profile.avoidTags)) {
|
|
98
|
+
boost -= 8;
|
|
99
|
+
}
|
|
100
|
+
if (profile?.accountWeightByKey[accountKey] !== undefined) {
|
|
101
|
+
boost += (profile.accountWeightByKey[accountKey] ?? 0) * 2;
|
|
102
|
+
}
|
|
103
|
+
const capabilitySnapshot = input.capabilityPolicy?.getSnapshot(accountKey, input.model ?? "unknown");
|
|
104
|
+
if (capabilitySnapshot && capabilitySnapshot.unsupported > 0) {
|
|
105
|
+
blockedAccountIndexes.add(account.index);
|
|
106
|
+
}
|
|
107
|
+
scoreBoostByAccount[account.index] = boost;
|
|
108
|
+
}
|
|
109
|
+
const blockedByBudget = budgetEvaluations.some((evaluation) => !evaluation.allowed);
|
|
110
|
+
const allowed = reasons.length === 0 && !blockedByBudget;
|
|
111
|
+
return {
|
|
112
|
+
allowed,
|
|
113
|
+
statusCode: blockedByBudget ? 429 : 403,
|
|
114
|
+
errorCode: allowed ? null : blockedByBudget ? "budget_blocked" : "policy_blocked",
|
|
115
|
+
reasons,
|
|
116
|
+
projectKey: input.state.project.projectKey,
|
|
117
|
+
blockedAccountIndexes,
|
|
118
|
+
scoreBoostByAccount,
|
|
119
|
+
budgetEvaluations,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
export function createRuntimeUsageRecorder(input) {
|
|
123
|
+
let recorded = false;
|
|
124
|
+
const startedAt = input.startedAt ?? Date.now();
|
|
125
|
+
const append = input.append ?? appendUsageLedgerRow;
|
|
126
|
+
return {
|
|
127
|
+
hasRecorded: () => recorded,
|
|
128
|
+
record: async (recordInput) => {
|
|
129
|
+
if (recorded)
|
|
130
|
+
return;
|
|
131
|
+
recorded = true;
|
|
132
|
+
const account = recordInput.account;
|
|
133
|
+
const row = {
|
|
134
|
+
source: input.source,
|
|
135
|
+
operation: input.operation,
|
|
136
|
+
outcome: recordInput.outcome,
|
|
137
|
+
model: input.model,
|
|
138
|
+
projectKey: input.projectKey,
|
|
139
|
+
requestId: input.requestId,
|
|
140
|
+
statusCode: recordInput.statusCode,
|
|
141
|
+
errorCode: recordInput.errorCode,
|
|
142
|
+
durationMs: recordInput.durationMs ?? Date.now() - startedAt,
|
|
143
|
+
accountId: account?.accountId,
|
|
144
|
+
email: account?.email,
|
|
145
|
+
accountIndex: account?.index,
|
|
146
|
+
inputTokens: recordInput.inputTokens,
|
|
147
|
+
outputTokens: recordInput.outputTokens,
|
|
148
|
+
cachedInputTokens: recordInput.cachedInputTokens,
|
|
149
|
+
reasoningTokens: recordInput.reasoningTokens,
|
|
150
|
+
totalTokens: recordInput.totalTokens,
|
|
151
|
+
};
|
|
152
|
+
await append(row).catch(() => undefined);
|
|
153
|
+
},
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=runtime-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-policy.js","sourceRoot":"","sources":["../../../lib/policy/runtime-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* - Works alongside the existing reactive refresh in fetch-helpers
|
|
11
11
|
*/
|
|
12
12
|
import { queuedRefresh } from "./refresh-queue.js";
|
|
13
|
-
import { createLogger } from "./logger.js";
|
|
13
|
+
import { createLogger, maskEmail } from "./logger.js";
|
|
14
14
|
import { extractAccountEmail, extractAccountId, sanitizeEmail, shouldUpdateAccountIdFromToken, } from "./auth/token-utils.js";
|
|
15
15
|
import { mutateRuntimeObservabilitySnapshot } from "./runtime/runtime-observability.js";
|
|
16
16
|
const log = createLogger("proactive-refresh");
|
|
@@ -75,7 +75,7 @@ export async function proactiveRefreshAccount(account, bufferMs = DEFAULT_PROACT
|
|
|
75
75
|
const timeUntilExpiry = getTimeUntilExpiry(account);
|
|
76
76
|
log.info("Proactively refreshing token", {
|
|
77
77
|
accountIndex: account.index,
|
|
78
|
-
email: account.email,
|
|
78
|
+
...(account.email ? { emailMasked: maskEmail(account.email) } : {}),
|
|
79
79
|
expiresInMs: timeUntilExpiry,
|
|
80
80
|
expiresInMinutes: Math.round(timeUntilExpiry / 60000),
|
|
81
81
|
});
|
|
@@ -87,13 +87,13 @@ export async function proactiveRefreshAccount(account, bufferMs = DEFAULT_PROACT
|
|
|
87
87
|
if (result.type === "success") {
|
|
88
88
|
log.info("Proactive refresh succeeded", {
|
|
89
89
|
accountIndex: account.index,
|
|
90
|
-
email: account.email,
|
|
90
|
+
...(account.email ? { emailMasked: maskEmail(account.email) } : {}),
|
|
91
91
|
});
|
|
92
92
|
return { refreshed: true, tokenResult: result, reason: "success" };
|
|
93
93
|
}
|
|
94
94
|
log.warn("Proactive refresh failed", {
|
|
95
95
|
accountIndex: account.index,
|
|
96
|
-
email: account.email,
|
|
96
|
+
...(account.email ? { emailMasked: maskEmail(account.email) } : {}),
|
|
97
97
|
failureReason: result.reason,
|
|
98
98
|
});
|
|
99
99
|
return { refreshed: true, tokenResult: result, reason: "failed" };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proactive-refresh.js","sourceRoot":"","sources":["../../lib/proactive-refresh.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"proactive-refresh.js","sourceRoot":"","sources":["../../lib/proactive-refresh.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refresh-lease.d.ts","sourceRoot":"","sources":["../../lib/refresh-lease.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"refresh-lease.d.ts","sourceRoot":"","sources":["../../lib/refresh-lease.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AAMrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAuB9C,KAAK,UAAU,GAAG,IAAI,CACrB,OAAO,EAAE,EACT,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CACtF,CAAC;AAEF,MAAM,WAAW,8BAA8B;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;IACtC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAyGD,qBAAa,uBAAuB;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;gBAEvB,OAAO,GAAE,8BAAmC;IAUxD,MAAM,CAAC,eAAe,IAAI,uBAAuB;IAgB3C,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA6EhE,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,iBAAiB;YAsBX,WAAW;YAmBX,eAAe;YAiBf,mBAAmB;YAuCnB,qBAAqB;CAsBnC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
2
|
import { existsSync, promises as fs } from "node:fs";
|
|
3
3
|
import { join } from "node:path";
|
|
4
|
+
import { parseBooleanEnv } from "./env-parsing.js";
|
|
4
5
|
import { createLogger } from "./logger.js";
|
|
5
6
|
import { getCodexMultiAuthDir } from "./runtime-paths.js";
|
|
6
7
|
import { safeParseTokenResult } from "./schemas.js";
|
|
@@ -10,16 +11,6 @@ const DEFAULT_WAIT_TIMEOUT_MS = 35_000;
|
|
|
10
11
|
const DEFAULT_POLL_INTERVAL_MS = 150;
|
|
11
12
|
const DEFAULT_RESULT_TTL_MS = 20_000;
|
|
12
13
|
const RETRYABLE_IO_ERRORS = new Set(["EBUSY", "EPERM", "EMFILE", "ENFILE"]);
|
|
13
|
-
function parseBooleanEnv(value) {
|
|
14
|
-
if (value === undefined)
|
|
15
|
-
return undefined;
|
|
16
|
-
const normalized = value.trim().toLowerCase();
|
|
17
|
-
if (normalized === "1" || normalized === "true" || normalized === "yes")
|
|
18
|
-
return true;
|
|
19
|
-
if (normalized === "0" || normalized === "false" || normalized === "no")
|
|
20
|
-
return false;
|
|
21
|
-
return undefined;
|
|
22
|
-
}
|
|
23
14
|
function parseEnvInt(value) {
|
|
24
15
|
if (value === undefined)
|
|
25
16
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refresh-lease.js","sourceRoot":"","sources":["../../lib/refresh-lease.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"refresh-lease.js","sourceRoot":"","sources":["../../lib/refresh-lease.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export interface RoutingProfile {
|
|
2
|
+
projectKey: string;
|
|
3
|
+
projectName: string;
|
|
4
|
+
identityRoot: string;
|
|
5
|
+
preferredTags: string[];
|
|
6
|
+
avoidTags: string[];
|
|
7
|
+
modelAllowlist: string[];
|
|
8
|
+
modelDenylist: string[];
|
|
9
|
+
accountWeightByKey: Record<string, number>;
|
|
10
|
+
budgetKey: string | null;
|
|
11
|
+
updatedAt: number;
|
|
12
|
+
}
|
|
13
|
+
export interface RoutingProfileStore {
|
|
14
|
+
version: 1;
|
|
15
|
+
profiles: Record<string, RoutingProfile>;
|
|
16
|
+
}
|
|
17
|
+
export interface ProjectRoutingProfileContext {
|
|
18
|
+
startDir: string;
|
|
19
|
+
projectRoot: string | null;
|
|
20
|
+
identityRoot: string | null;
|
|
21
|
+
projectKey: string | null;
|
|
22
|
+
profile: RoutingProfile | null;
|
|
23
|
+
}
|
|
24
|
+
export declare function getRoutingProfilesPath(): string;
|
|
25
|
+
export declare function loadRoutingProfileStore(): Promise<RoutingProfileStore>;
|
|
26
|
+
export declare function saveRoutingProfileStore(store: RoutingProfileStore): Promise<void>;
|
|
27
|
+
export declare function createDefaultRoutingProfile(input: {
|
|
28
|
+
projectKey: string;
|
|
29
|
+
projectName: string;
|
|
30
|
+
identityRoot: string;
|
|
31
|
+
now?: number;
|
|
32
|
+
}): RoutingProfile;
|
|
33
|
+
export declare function upsertRoutingProfile(store: RoutingProfileStore, profile: RoutingProfile, mutate?: (profile: RoutingProfile) => void, now?: number): RoutingProfile;
|
|
34
|
+
export declare function resolveProjectRoutingProfile(startDir?: string, storeLoader?: () => Promise<RoutingProfileStore>): Promise<ProjectRoutingProfileContext>;
|
|
35
|
+
export declare function resetRoutingProfileWriteQueueForTests(): void;
|
|
36
|
+
//# sourceMappingURL=routing-profiles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routing-profiles.d.ts","sourceRoot":"","sources":["../../lib/routing-profiles.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,cAAc;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IACnC,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,4BAA4B;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;CAC/B;AAoGD,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAa5E;AAED,wBAAsB,uBAAuB,CAC5C,KAAK,EAAE,mBAAmB,GACxB,OAAO,CAAC,IAAI,CAAC,CAsCf;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACb,GAAG,cAAc,CAajB;AAED,wBAAgB,oBAAoB,CACnC,KAAK,EAAE,mBAAmB,EAC1B,OAAO,EAAE,cAAc,EACvB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,EAC1C,GAAG,SAAa,GACd,cAAc,CAUhB;AAED,wBAAsB,4BAA4B,CACjD,QAAQ,SAAgB,EACxB,WAAW,GAAE,MAAM,OAAO,CAAC,mBAAmB,CAA2B,GACvE,OAAO,CAAC,4BAA4B,CAAC,CAqBvC;AAED,wBAAgB,qCAAqC,IAAI,IAAI,CAE5D"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import { existsSync, promises as fs } from "node:fs";
|
|
2
|
+
import { basename, join } from "node:path";
|
|
3
|
+
import { logWarn } from "./logger.js";
|
|
4
|
+
import { getCodexMultiAuthDir } from "./runtime-paths.js";
|
|
5
|
+
import { findProjectRoot, getProjectStorageKey, resolveProjectStorageIdentityRoot, } from "./storage/paths.js";
|
|
6
|
+
import { isRecord, sleep } from "./utils.js";
|
|
7
|
+
const ROUTING_PROFILES_FILE_NAME = "routing-profiles.json";
|
|
8
|
+
const RETRYABLE_FS_CODES = new Set(["EBUSY", "EPERM"]);
|
|
9
|
+
let writeQueue = Promise.resolve();
|
|
10
|
+
function isRetryableFsError(error) {
|
|
11
|
+
const code = error?.code;
|
|
12
|
+
return typeof code === "string" && RETRYABLE_FS_CODES.has(code);
|
|
13
|
+
}
|
|
14
|
+
function normalizeTokenList(value) {
|
|
15
|
+
if (!Array.isArray(value))
|
|
16
|
+
return [];
|
|
17
|
+
return [
|
|
18
|
+
...new Set(value
|
|
19
|
+
.filter((entry) => typeof entry === "string")
|
|
20
|
+
.map((entry) => entry.trim().toLowerCase())
|
|
21
|
+
.filter(Boolean)),
|
|
22
|
+
].sort();
|
|
23
|
+
}
|
|
24
|
+
function normalizeWeightMap(value) {
|
|
25
|
+
if (!isRecord(value))
|
|
26
|
+
return {};
|
|
27
|
+
const result = {};
|
|
28
|
+
for (const [key, raw] of Object.entries(value)) {
|
|
29
|
+
if (!key.startsWith("sha256:"))
|
|
30
|
+
continue;
|
|
31
|
+
if (typeof raw !== "number" || !Number.isFinite(raw))
|
|
32
|
+
continue;
|
|
33
|
+
result[key] = Math.max(0, Math.min(10, raw));
|
|
34
|
+
}
|
|
35
|
+
return result;
|
|
36
|
+
}
|
|
37
|
+
function normalizeProfile(key, value) {
|
|
38
|
+
if (!isRecord(value))
|
|
39
|
+
return null;
|
|
40
|
+
const projectKey = typeof value.projectKey === "string" && value.projectKey === key
|
|
41
|
+
? value.projectKey
|
|
42
|
+
: key;
|
|
43
|
+
const projectName = typeof value.projectName === "string" && value.projectName.trim()
|
|
44
|
+
? value.projectName.trim().slice(0, 80)
|
|
45
|
+
: "project";
|
|
46
|
+
const identityRoot = typeof value.identityRoot === "string" && value.identityRoot.trim()
|
|
47
|
+
? value.identityRoot.trim()
|
|
48
|
+
: "";
|
|
49
|
+
return {
|
|
50
|
+
projectKey,
|
|
51
|
+
projectName,
|
|
52
|
+
identityRoot,
|
|
53
|
+
preferredTags: normalizeTokenList(value.preferredTags),
|
|
54
|
+
avoidTags: normalizeTokenList(value.avoidTags),
|
|
55
|
+
modelAllowlist: normalizeTokenList(value.modelAllowlist),
|
|
56
|
+
modelDenylist: normalizeTokenList(value.modelDenylist),
|
|
57
|
+
accountWeightByKey: normalizeWeightMap(value.accountWeightByKey),
|
|
58
|
+
budgetKey: typeof value.budgetKey === "string" && value.budgetKey.trim()
|
|
59
|
+
? value.budgetKey.trim().slice(0, 80)
|
|
60
|
+
: null,
|
|
61
|
+
updatedAt: typeof value.updatedAt === "number" && Number.isFinite(value.updatedAt)
|
|
62
|
+
? value.updatedAt
|
|
63
|
+
: 0,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
function emptyStore() {
|
|
67
|
+
return { version: 1, profiles: {} };
|
|
68
|
+
}
|
|
69
|
+
function normalizeStore(value) {
|
|
70
|
+
if (!isRecord(value) || value.version !== 1)
|
|
71
|
+
return emptyStore();
|
|
72
|
+
const profiles = {};
|
|
73
|
+
if (isRecord(value.profiles)) {
|
|
74
|
+
for (const [key, raw] of Object.entries(value.profiles)) {
|
|
75
|
+
const profile = normalizeProfile(key, raw);
|
|
76
|
+
if (profile)
|
|
77
|
+
profiles[key] = profile;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return { version: 1, profiles };
|
|
81
|
+
}
|
|
82
|
+
async function readFileWithRetry(path) {
|
|
83
|
+
let lastError;
|
|
84
|
+
for (let attempt = 0; attempt < 5; attempt += 1) {
|
|
85
|
+
try {
|
|
86
|
+
return await fs.readFile(path, "utf8");
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
lastError = error;
|
|
90
|
+
if (!isRetryableFsError(error) || attempt >= 4)
|
|
91
|
+
throw error;
|
|
92
|
+
await sleep(10 * 2 ** attempt);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
throw lastError instanceof Error
|
|
96
|
+
? lastError
|
|
97
|
+
: new Error("routing profile read retry exhausted");
|
|
98
|
+
}
|
|
99
|
+
export function getRoutingProfilesPath() {
|
|
100
|
+
return join(getCodexMultiAuthDir(), ROUTING_PROFILES_FILE_NAME);
|
|
101
|
+
}
|
|
102
|
+
export async function loadRoutingProfileStore() {
|
|
103
|
+
const path = getRoutingProfilesPath();
|
|
104
|
+
if (!existsSync(path))
|
|
105
|
+
return emptyStore();
|
|
106
|
+
try {
|
|
107
|
+
return normalizeStore(JSON.parse(await readFileWithRetry(path)));
|
|
108
|
+
}
|
|
109
|
+
catch (error) {
|
|
110
|
+
logWarn(`Failed to load routing profiles from ${basename(path)}: ${error instanceof Error ? error.message : String(error)}`);
|
|
111
|
+
return emptyStore();
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
export async function saveRoutingProfileStore(store) {
|
|
115
|
+
const path = getRoutingProfilesPath();
|
|
116
|
+
const payload = normalizeStore(store);
|
|
117
|
+
const task = async () => {
|
|
118
|
+
await fs.mkdir(getCodexMultiAuthDir(), { recursive: true, mode: 0o700 });
|
|
119
|
+
const tempPath = `${path}.${process.pid}.${Date.now()}.${Math.random().toString(36).slice(2, 8)}.tmp`;
|
|
120
|
+
let moved = false;
|
|
121
|
+
try {
|
|
122
|
+
await fs.writeFile(tempPath, `${JSON.stringify(payload, null, 2)}\n`, {
|
|
123
|
+
encoding: "utf8",
|
|
124
|
+
mode: 0o600,
|
|
125
|
+
});
|
|
126
|
+
for (let attempt = 0; attempt < 5; attempt += 1) {
|
|
127
|
+
try {
|
|
128
|
+
await fs.rename(tempPath, path);
|
|
129
|
+
moved = true;
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
catch (error) {
|
|
133
|
+
if (!isRetryableFsError(error) || attempt >= 4)
|
|
134
|
+
throw error;
|
|
135
|
+
await sleep(10 * 2 ** attempt);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
finally {
|
|
140
|
+
if (!moved) {
|
|
141
|
+
try {
|
|
142
|
+
await fs.unlink(tempPath);
|
|
143
|
+
}
|
|
144
|
+
catch {
|
|
145
|
+
// Best-effort temp cleanup.
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
const queued = writeQueue.catch(() => undefined).then(task);
|
|
151
|
+
writeQueue = queued.then(() => undefined, () => undefined);
|
|
152
|
+
await queued;
|
|
153
|
+
}
|
|
154
|
+
export function createDefaultRoutingProfile(input) {
|
|
155
|
+
return {
|
|
156
|
+
projectKey: input.projectKey,
|
|
157
|
+
projectName: input.projectName,
|
|
158
|
+
identityRoot: input.identityRoot,
|
|
159
|
+
preferredTags: [],
|
|
160
|
+
avoidTags: [],
|
|
161
|
+
modelAllowlist: [],
|
|
162
|
+
modelDenylist: [],
|
|
163
|
+
accountWeightByKey: {},
|
|
164
|
+
budgetKey: null,
|
|
165
|
+
updatedAt: input.now ?? Date.now(),
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
export function upsertRoutingProfile(store, profile, mutate, now = Date.now()) {
|
|
169
|
+
const next = structuredClone(store.profiles[profile.projectKey] ?? profile);
|
|
170
|
+
mutate?.(next);
|
|
171
|
+
next.updatedAt = now;
|
|
172
|
+
const normalized = normalizeProfile(profile.projectKey, next);
|
|
173
|
+
if (!normalized)
|
|
174
|
+
throw new Error("Invalid routing profile");
|
|
175
|
+
store.profiles[profile.projectKey] = normalized;
|
|
176
|
+
return normalized;
|
|
177
|
+
}
|
|
178
|
+
export async function resolveProjectRoutingProfile(startDir = process.cwd(), storeLoader = loadRoutingProfileStore) {
|
|
179
|
+
const projectRoot = findProjectRoot(startDir);
|
|
180
|
+
if (!projectRoot) {
|
|
181
|
+
return {
|
|
182
|
+
startDir,
|
|
183
|
+
projectRoot: null,
|
|
184
|
+
identityRoot: null,
|
|
185
|
+
projectKey: null,
|
|
186
|
+
profile: null,
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
const identityRoot = resolveProjectStorageIdentityRoot(projectRoot);
|
|
190
|
+
const projectKey = getProjectStorageKey(identityRoot);
|
|
191
|
+
const store = await storeLoader();
|
|
192
|
+
return {
|
|
193
|
+
startDir,
|
|
194
|
+
projectRoot,
|
|
195
|
+
identityRoot,
|
|
196
|
+
projectKey,
|
|
197
|
+
profile: store.profiles[projectKey] ?? null,
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
export function resetRoutingProfileWriteQueueForTests() {
|
|
201
|
+
writeQueue = Promise.resolve();
|
|
202
|
+
}
|
|
203
|
+
//# sourceMappingURL=routing-profiles.js.map
|