github-issue-tower-defence-management 2.152.0 → 2.152.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/bin/adapter/entry-points/handlers/LiveSessionOauthTokenSelectHandler.js +4 -4
- package/bin/adapter/entry-points/handlers/LiveSessionOauthTokenSelectHandler.js.map +1 -1
- package/bin/domain/usecases/LiveSessionOauthTokenSelectUseCase.js +49 -58
- package/bin/domain/usecases/LiveSessionOauthTokenSelectUseCase.js.map +1 -1
- package/package.json +1 -1
- package/types/adapter/entry-points/handlers/LiveSessionOauthTokenSelectHandler.d.ts.map +1 -1
- package/types/domain/usecases/LiveSessionOauthTokenSelectUseCase.d.ts +5 -3
- package/types/domain/usecases/LiveSessionOauthTokenSelectUseCase.d.ts.map +1 -1
|
@@ -71,19 +71,19 @@ class LiveSessionOauthTokenSelectHandler {
|
|
|
71
71
|
const status = metric.eligible
|
|
72
72
|
? 'eligible'
|
|
73
73
|
: `excluded (${metric.exclusionReason})`;
|
|
74
|
-
return `${metric.name}: ${metric.liveSessionCount}/${metric.concurrentSessionLimit} live session(s), 5h ${Math.round(metric.fiveHourFreeRatio * 100)}% free, 7d ${Math.round(metric.sevenDayFreeRatio * 100)}% free, 7d-end in ${secondsUntilSevenDayEnd}s, weight ${metric.selectionWeight} -> ${status}`;
|
|
74
|
+
return `${metric.name}: ${metric.liveSessionCount}/${metric.concurrentSessionLimit} live session(s), 5h ${Math.round(metric.fiveHourFreeRatio * 100)}% free, 7d ${Math.round(metric.sevenDayFreeRatio * 100)}% free, 7d-end in ${secondsUntilSevenDayEnd}s, 7d budget drainable by 48h before reset: ${metric.sevenDayBudgetUndrainableBeforeSpendDeadline ? 'no' : 'yes'}, weight ${metric.selectionWeight} -> ${status}`;
|
|
75
75
|
});
|
|
76
76
|
if (result.selected === null) {
|
|
77
|
-
lines.push(
|
|
77
|
+
lines.push('No eligible token: every token is disabled for Claude Code subscription access or rejected by the API (unified status rejected or fable weekly limit exhausted), so no token can take a live session.');
|
|
78
78
|
}
|
|
79
79
|
else {
|
|
80
80
|
const selectedMetric = result.metrics.find((m) => m.name === result.selected?.name);
|
|
81
81
|
const usedFallback = selectedMetric !== undefined && !selectedMetric.eligible;
|
|
82
82
|
if (usedFallback) {
|
|
83
|
-
lines.push(`Selected ${result.selected.name} via fallback (
|
|
83
|
+
lines.push(`Selected ${result.selected.name} via fallback (every token is excluded; ${result.selected.name} has the highest 5h free ratio among the tokens excluded only by an HTTP 401 auth failure).`);
|
|
84
84
|
}
|
|
85
85
|
else {
|
|
86
|
-
lines.push(`Selected ${result.selected.name} (the
|
|
86
|
+
lines.push(`Selected ${result.selected.name} (eligible tokens are ordered with the tokens whose remaining 7d budget cannot be spent by 48h before the 7d reset at maxConcurrentSessionCount (${settings.maxConcurrentSessionCount}) sessions, one fully spent 5h window consuming 14% of the 7d window, moved to the front, then by 7d free ratio ascending; the first token still under its concurrent session limit is chosen, or the token least over its limit when none is under it; each limit is the lower of the 5h free-share throttle and the number of sessions the free 5h share sustains until the window resets at ${settings.fiveHourShareConsumedPerSessionHour} of the window per session-hour).`);
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
return lines;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiveSessionOauthTokenSelectHandler.js","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/LiveSessionOauthTokenSelectHandler.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"LiveSessionOauthTokenSelectHandler.js","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/LiveSessionOauthTokenSelectHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LiveSessionOauthTokenSelectUseCase = exports.liveSessionConcurrentLimitOf = exports.fiveHourSustainableSessionCountOf = exports.DEFAULT_LIVE_SESSION_OAUTH_TOKEN_SELECTION_SETTINGS = exports.
|
|
3
|
+
exports.LiveSessionOauthTokenSelectUseCase = exports.liveSessionOauthTokenCandidateMetricsInSelectionOrder = exports.sevenDayBudgetUndrainableBeforeSpendDeadlineOf = exports.sevenDayShareDrainableBeforeSpendDeadlineOf = exports.liveSessionConcurrentLimitOf = exports.fiveHourSustainableSessionCountOf = exports.DEFAULT_LIVE_SESSION_OAUTH_TOKEN_SELECTION_SETTINGS = exports.SEVEN_DAY_SHARE_CONSUMED_PER_FULLY_SPENT_FIVE_HOUR_WINDOW = void 0;
|
|
4
4
|
const OauthTokenSelectUseCase_1 = require("./OauthTokenSelectUseCase");
|
|
5
|
-
exports.
|
|
5
|
+
exports.SEVEN_DAY_SHARE_CONSUMED_PER_FULLY_SPENT_FIVE_HOUR_WINDOW = 0.14;
|
|
6
|
+
const RATE_LIMIT_SELECTION_THRESHOLDS_THAT_EXCLUDE_NO_FREE_RATIO = {
|
|
7
|
+
fiveHourMinFreeRatio: 0,
|
|
8
|
+
sevenDayMinFreeRatio: 0,
|
|
9
|
+
};
|
|
6
10
|
exports.DEFAULT_LIVE_SESSION_OAUTH_TOKEN_SELECTION_SETTINGS = {
|
|
7
11
|
maxConcurrentSessionCount: 10,
|
|
8
12
|
fullSpeedFiveHourFreeRatio: 0.5,
|
|
@@ -40,27 +44,45 @@ const liveSessionConcurrentLimitOf = (fiveHourFreeRatio, selectionWeight, settin
|
|
|
40
44
|
return Math.min(Math.floor(base * sevenDayUrgencyBoost), settings.maxConcurrentSessionCount);
|
|
41
45
|
};
|
|
42
46
|
exports.liveSessionConcurrentLimitOf = liveSessionConcurrentLimitOf;
|
|
47
|
+
const sevenDayShareDrainableBeforeSpendDeadlineOf = (sevenDayEndEpoch, nowEpochSeconds, settings) => {
|
|
48
|
+
const hoursUntilSevenDaySpendDeadline = Math.max((sevenDayEndEpoch - nowEpochSeconds) / SECONDS_PER_HOUR -
|
|
49
|
+
OauthTokenSelectUseCase_1.SEVEN_DAY_SPEND_DEADLINE_HOURS, 0);
|
|
50
|
+
const fiveHourShareSpentPerHourAtMaxConcurrency = Math.min(settings.maxConcurrentSessionCount *
|
|
51
|
+
settings.fiveHourShareConsumedPerSessionHour, 1 / FIVE_HOUR_WINDOW_LENGTH_HOURS);
|
|
52
|
+
return (hoursUntilSevenDaySpendDeadline *
|
|
53
|
+
fiveHourShareSpentPerHourAtMaxConcurrency *
|
|
54
|
+
exports.SEVEN_DAY_SHARE_CONSUMED_PER_FULLY_SPENT_FIVE_HOUR_WINDOW);
|
|
55
|
+
};
|
|
56
|
+
exports.sevenDayShareDrainableBeforeSpendDeadlineOf = sevenDayShareDrainableBeforeSpendDeadlineOf;
|
|
57
|
+
const sevenDayBudgetUndrainableBeforeSpendDeadlineOf = (sevenDayFreeRatio, sevenDayEndEpoch, nowEpochSeconds, settings) => sevenDayFreeRatio >
|
|
58
|
+
(0, exports.sevenDayShareDrainableBeforeSpendDeadlineOf)(sevenDayEndEpoch, nowEpochSeconds, settings);
|
|
59
|
+
exports.sevenDayBudgetUndrainableBeforeSpendDeadlineOf = sevenDayBudgetUndrainableBeforeSpendDeadlineOf;
|
|
60
|
+
const liveSessionOauthTokenCandidateMetricsInSelectionOrder = (metrics) => [...metrics].sort((left, right) => {
|
|
61
|
+
if (left.sevenDayBudgetUndrainableBeforeSpendDeadline !==
|
|
62
|
+
right.sevenDayBudgetUndrainableBeforeSpendDeadline) {
|
|
63
|
+
return left.sevenDayBudgetUndrainableBeforeSpendDeadline ? -1 : 1;
|
|
64
|
+
}
|
|
65
|
+
if (left.sevenDayFreeRatio !== right.sevenDayFreeRatio) {
|
|
66
|
+
return left.sevenDayFreeRatio - right.sevenDayFreeRatio;
|
|
67
|
+
}
|
|
68
|
+
if (left.sevenDayEndEpoch !== right.sevenDayEndEpoch) {
|
|
69
|
+
return left.sevenDayEndEpoch - right.sevenDayEndEpoch;
|
|
70
|
+
}
|
|
71
|
+
return left.liveSessionCount - right.liveSessionCount;
|
|
72
|
+
});
|
|
73
|
+
exports.liveSessionOauthTokenCandidateMetricsInSelectionOrder = liveSessionOauthTokenCandidateMetricsInSelectionOrder;
|
|
43
74
|
class LiveSessionOauthTokenSelectUseCase {
|
|
44
75
|
constructor(rateLimitSelectUseCase = new OauthTokenSelectUseCase_1.OauthTokenSelectUseCase()) {
|
|
45
76
|
this.rateLimitSelectUseCase = rateLimitSelectUseCase;
|
|
46
77
|
this.run = (candidates, liveSessions, nowEpochSeconds, settings) => {
|
|
47
|
-
const rateLimitResult = this.rateLimitSelectUseCase.run(candidates, nowEpochSeconds, () => 0);
|
|
78
|
+
const rateLimitResult = this.rateLimitSelectUseCase.run(candidates, nowEpochSeconds, () => 0, RATE_LIMIT_SELECTION_THRESHOLDS_THAT_EXCLUDE_NO_FREE_RATIO);
|
|
48
79
|
const liveSessionCountByToken = this.liveSessionCountByToken(liveSessions);
|
|
49
80
|
const evaluated = candidates.map((candidate, index) => {
|
|
50
81
|
const rateLimitMetric = rateLimitResult.metrics[index];
|
|
51
82
|
const liveSessionCount = liveSessionCountByToken.get(candidate.token) ?? 0;
|
|
52
83
|
const urgencyBoost = (0, OauthTokenSelectUseCase_1.sevenDayUrgencyFactor)(rateLimitMetric.sevenDayFreeRatio, rateLimitMetric.sevenDayEndEpoch, nowEpochSeconds);
|
|
53
84
|
const concurrentSessionLimit = Math.min((0, exports.liveSessionConcurrentLimitOf)(rateLimitMetric.fiveHourFreeRatio, (0, OauthTokenSelectUseCase_1.selectionWeightOf)(candidate), settings, urgencyBoost), (0, exports.fiveHourSustainableSessionCountOf)(rateLimitMetric.fiveHourFreeRatio, hoursUntilFiveHourResetOf(candidate.snapshot, nowEpochSeconds), settings));
|
|
54
|
-
const
|
|
55
|
-
const sevenDayDeadlinePassed = snapshot !== null &&
|
|
56
|
-
snapshot.sevenDayReset > 0 &&
|
|
57
|
-
nowEpochSeconds >=
|
|
58
|
-
snapshot.sevenDayReset - OauthTokenSelectUseCase_1.SEVEN_DAY_SPEND_DEADLINE_HOURS * 3600;
|
|
59
|
-
const fiveHourDeadlinePassed = snapshot !== null &&
|
|
60
|
-
snapshot.fiveHourReset > 0 &&
|
|
61
|
-
nowEpochSeconds >=
|
|
62
|
-
snapshot.fiveHourReset - OauthTokenSelectUseCase_1.FIVE_HOUR_SPEND_DEADLINE_HOURS * 3600;
|
|
63
|
-
const exclusionReason = this.liveSessionExclusionReason(rateLimitMetric.exclusionReason, rateLimitMetric.fiveHourFreeRatio, rateLimitMetric.sevenDayFreeRatio, settings, fiveHourDeadlinePassed, sevenDayDeadlinePassed);
|
|
85
|
+
const exclusionReason = rateLimitMetric.exclusionReason;
|
|
64
86
|
return {
|
|
65
87
|
candidate,
|
|
66
88
|
metric: {
|
|
@@ -68,6 +90,7 @@ class LiveSessionOauthTokenSelectUseCase {
|
|
|
68
90
|
fiveHourFreeRatio: rateLimitMetric.fiveHourFreeRatio,
|
|
69
91
|
sevenDayFreeRatio: rateLimitMetric.sevenDayFreeRatio,
|
|
70
92
|
sevenDayEndEpoch: rateLimitMetric.sevenDayEndEpoch,
|
|
93
|
+
sevenDayBudgetUndrainableBeforeSpendDeadline: (0, exports.sevenDayBudgetUndrainableBeforeSpendDeadlineOf)(rateLimitMetric.sevenDayFreeRatio, rateLimitMetric.sevenDayEndEpoch, nowEpochSeconds, settings),
|
|
71
94
|
liveSessionCount,
|
|
72
95
|
concurrentSessionLimit,
|
|
73
96
|
hasConcurrencyHeadroom: liveSessionCount < concurrentSessionLimit,
|
|
@@ -78,13 +101,12 @@ class LiveSessionOauthTokenSelectUseCase {
|
|
|
78
101
|
};
|
|
79
102
|
});
|
|
80
103
|
const metrics = evaluated.map((entry) => entry.metric);
|
|
81
|
-
const
|
|
82
|
-
|
|
104
|
+
const candidateByMetric = new Map(evaluated.map((entry) => [entry.metric, entry.candidate]));
|
|
105
|
+
const eligibleMetricsInSelectionOrder = (0, exports.liveSessionOauthTokenCandidateMetricsInSelectionOrder)(metrics.filter((metric) => metric.eligible));
|
|
106
|
+
if (eligibleMetricsInSelectionOrder.length === 0) {
|
|
83
107
|
const fallbackEligible = evaluated.filter((entry) => !entry.candidate.subscriptionDisabled &&
|
|
84
108
|
!entry.candidate.unifiedRejected &&
|
|
85
|
-
!entry.candidate.fableRejected
|
|
86
|
-
Math.round(entry.metric.sevenDayFreeRatio * 100) >
|
|
87
|
-
Math.round(exports.LIVE_SESSION_FALLBACK_SEVEN_DAY_MIN_FREE_RATIO * 100));
|
|
109
|
+
!entry.candidate.fableRejected);
|
|
88
110
|
if (fallbackEligible.length === 0) {
|
|
89
111
|
return { selected: null, metrics };
|
|
90
112
|
}
|
|
@@ -103,46 +125,15 @@ class LiveSessionOauthTokenSelectUseCase {
|
|
|
103
125
|
});
|
|
104
126
|
return { selected: fallbackSelected.candidate, metrics };
|
|
105
127
|
}
|
|
106
|
-
const
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
}
|
|
115
|
-
if (!fiveHourDeadlinePassed &&
|
|
116
|
-
fiveHourFreeRatio < settings.minFiveHourFreeRatio) {
|
|
117
|
-
return `5h window only ${Math.round(fiveHourFreeRatio * 100)}% free (requires >= ${Math.round(settings.minFiveHourFreeRatio * 100)}% for live session selection)`;
|
|
118
|
-
}
|
|
119
|
-
if (!sevenDayDeadlinePassed &&
|
|
120
|
-
sevenDayFreeRatio < settings.minSevenDayFreeRatio) {
|
|
121
|
-
return `7d window only ${Math.round(sevenDayFreeRatio * 100)}% free (requires >= ${Math.round(settings.minSevenDayFreeRatio * 100)}% for live session selection)`;
|
|
122
|
-
}
|
|
123
|
-
if (sevenDayDeadlinePassed &&
|
|
124
|
-
Math.round(sevenDayFreeRatio * 100) <=
|
|
125
|
-
Math.round(exports.LIVE_SESSION_FALLBACK_SEVEN_DAY_MIN_FREE_RATIO * 100)) {
|
|
126
|
-
return `7d window only ${Math.round(sevenDayFreeRatio * 100)}% free (budget exhausted; token ineligible even within 48-hour deadline window)`;
|
|
127
|
-
}
|
|
128
|
-
return null;
|
|
129
|
-
};
|
|
130
|
-
this.preferred = (candidateMetric, incumbentMetric) => {
|
|
131
|
-
if (candidateMetric.hasConcurrencyHeadroom !==
|
|
132
|
-
incumbentMetric.hasConcurrencyHeadroom) {
|
|
133
|
-
return candidateMetric.hasConcurrencyHeadroom;
|
|
134
|
-
}
|
|
135
|
-
if (!candidateMetric.hasConcurrencyHeadroom) {
|
|
136
|
-
const candidateOccupancyRatio = occupancyRatioAfterOneMoreSessionOf(candidateMetric);
|
|
137
|
-
const incumbentOccupancyRatio = occupancyRatioAfterOneMoreSessionOf(incumbentMetric);
|
|
138
|
-
if (candidateOccupancyRatio !== incumbentOccupancyRatio) {
|
|
139
|
-
return candidateOccupancyRatio < incumbentOccupancyRatio;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
if (candidateMetric.sevenDayEndEpoch !== incumbentMetric.sevenDayEndEpoch) {
|
|
143
|
-
return (candidateMetric.sevenDayEndEpoch < incumbentMetric.sevenDayEndEpoch);
|
|
144
|
-
}
|
|
145
|
-
return candidateMetric.liveSessionCount < incumbentMetric.liveSessionCount;
|
|
128
|
+
const selectedMetric = eligibleMetricsInSelectionOrder.find((metric) => metric.hasConcurrencyHeadroom) ??
|
|
129
|
+
eligibleMetricsInSelectionOrder.reduce((leastOccupied, current) => occupancyRatioAfterOneMoreSessionOf(current) <
|
|
130
|
+
occupancyRatioAfterOneMoreSessionOf(leastOccupied)
|
|
131
|
+
? current
|
|
132
|
+
: leastOccupied);
|
|
133
|
+
return {
|
|
134
|
+
selected: candidateByMetric.get(selectedMetric) ?? null,
|
|
135
|
+
metrics,
|
|
136
|
+
};
|
|
146
137
|
};
|
|
147
138
|
this.liveSessionCountByToken = (liveSessions) => {
|
|
148
139
|
const sessionKeysByToken = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiveSessionOauthTokenSelectUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/LiveSessionOauthTokenSelectUseCase.ts"],"names":[],"mappings":";;;AACA,uEAQmC;AAEtB,QAAA,
|
|
1
|
+
{"version":3,"file":"LiveSessionOauthTokenSelectUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/LiveSessionOauthTokenSelectUseCase.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiveSessionOauthTokenSelectHandler.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/LiveSessionOauthTokenSelectHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yEAAyE,CAAC;AAC3H,OAAO,
|
|
1
|
+
{"version":3,"file":"LiveSessionOauthTokenSelectHandler.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/LiveSessionOauthTokenSelectHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yEAAyE,CAAC;AAC3H,OAAO,EACL,KAAK,sCAAsC,EAE3C,kCAAkC,EACnC,MAAM,6DAA6D,CAAC;AAarE,MAAM,MAAM,uCAAuC,GAAG;IACpD,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,sCAAsC,CAAC;CAC3D,CAAC;AAEF,MAAM,MAAM,wCAAwC,GAAG;IACrD,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,qBAAa,kCAAkC;IAE3C,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,qBAAqB;gBADrB,OAAO,GAAE,kCAA6E,EACtF,qBAAqB,GAAE,2BAAmE;IAG7G,MAAM,GACJ,OAAO,uCAAuC,KAC7C,wCAAwC,CAwEzC;IAEF,OAAO,CAAC,iBAAiB,CAqCvB;CACH"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ClaudeLiveSession } from './adapter-interfaces/ClaudeLiveSessionRepository';
|
|
2
2
|
import { type OauthTokenCandidate, OauthTokenSelectUseCase } from './OauthTokenSelectUseCase';
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const SEVEN_DAY_SHARE_CONSUMED_PER_FULLY_SPENT_FIVE_HOUR_WINDOW = 0.14;
|
|
4
4
|
export type LiveSessionOauthTokenSelectionSettings = {
|
|
5
5
|
maxConcurrentSessionCount: number;
|
|
6
6
|
fullSpeedFiveHourFreeRatio: number;
|
|
@@ -11,11 +11,14 @@ export type LiveSessionOauthTokenSelectionSettings = {
|
|
|
11
11
|
export declare const DEFAULT_LIVE_SESSION_OAUTH_TOKEN_SELECTION_SETTINGS: LiveSessionOauthTokenSelectionSettings;
|
|
12
12
|
export declare const fiveHourSustainableSessionCountOf: (fiveHourFreeRatio: number, hoursUntilFiveHourReset: number, settings: LiveSessionOauthTokenSelectionSettings) => number;
|
|
13
13
|
export declare const liveSessionConcurrentLimitOf: (fiveHourFreeRatio: number, selectionWeight: number, settings: LiveSessionOauthTokenSelectionSettings, sevenDayUrgencyBoost?: number) => number;
|
|
14
|
+
export declare const sevenDayShareDrainableBeforeSpendDeadlineOf: (sevenDayEndEpoch: number, nowEpochSeconds: number, settings: LiveSessionOauthTokenSelectionSettings) => number;
|
|
15
|
+
export declare const sevenDayBudgetUndrainableBeforeSpendDeadlineOf: (sevenDayFreeRatio: number, sevenDayEndEpoch: number, nowEpochSeconds: number, settings: LiveSessionOauthTokenSelectionSettings) => boolean;
|
|
14
16
|
export type LiveSessionOauthTokenCandidateMetrics = {
|
|
15
17
|
name: string;
|
|
16
18
|
fiveHourFreeRatio: number;
|
|
17
19
|
sevenDayFreeRatio: number;
|
|
18
20
|
sevenDayEndEpoch: number;
|
|
21
|
+
sevenDayBudgetUndrainableBeforeSpendDeadline: boolean;
|
|
19
22
|
liveSessionCount: number;
|
|
20
23
|
concurrentSessionLimit: number;
|
|
21
24
|
hasConcurrencyHeadroom: boolean;
|
|
@@ -23,6 +26,7 @@ export type LiveSessionOauthTokenCandidateMetrics = {
|
|
|
23
26
|
exclusionReason: string | null;
|
|
24
27
|
selectionWeight: number;
|
|
25
28
|
};
|
|
29
|
+
export declare const liveSessionOauthTokenCandidateMetricsInSelectionOrder: (metrics: LiveSessionOauthTokenCandidateMetrics[]) => LiveSessionOauthTokenCandidateMetrics[];
|
|
26
30
|
export type LiveSessionOauthTokenSelectResult = {
|
|
27
31
|
selected: OauthTokenCandidate | null;
|
|
28
32
|
metrics: LiveSessionOauthTokenCandidateMetrics[];
|
|
@@ -31,8 +35,6 @@ export declare class LiveSessionOauthTokenSelectUseCase {
|
|
|
31
35
|
private readonly rateLimitSelectUseCase;
|
|
32
36
|
constructor(rateLimitSelectUseCase?: OauthTokenSelectUseCase);
|
|
33
37
|
run: (candidates: OauthTokenCandidate[], liveSessions: ClaudeLiveSession[], nowEpochSeconds: number, settings: LiveSessionOauthTokenSelectionSettings) => LiveSessionOauthTokenSelectResult;
|
|
34
|
-
private liveSessionExclusionReason;
|
|
35
|
-
private preferred;
|
|
36
38
|
private liveSessionCountByToken;
|
|
37
39
|
}
|
|
38
40
|
//# sourceMappingURL=LiveSessionOauthTokenSelectUseCase.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiveSessionOauthTokenSelectUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/LiveSessionOauthTokenSelectUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AAC1F,OAAO,
|
|
1
|
+
{"version":3,"file":"LiveSessionOauthTokenSelectUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/LiveSessionOauthTokenSelectUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AAC1F,OAAO,EACL,KAAK,mBAAmB,EACxB,uBAAuB,EAMxB,MAAM,2BAA2B,CAAC;AAEnC,eAAO,MAAM,yDAAyD,OAAO,CAAC;AAQ9E,MAAM,MAAM,sCAAsC,GAAG;IACnD,yBAAyB,EAAE,MAAM,CAAC;IAClC,0BAA0B,EAAE,MAAM,CAAC;IACnC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mCAAmC,EAAE,MAAM,CAAC;CAC7C,CAAC;AAEF,eAAO,MAAM,mDAAmD,EAAE,sCAO/D,CAAC;AAKJ,eAAO,MAAM,iCAAiC,GAC5C,mBAAmB,MAAM,EACzB,yBAAyB,MAAM,EAC/B,UAAU,sCAAsC,KAC/C,MAYF,CAAC;AAgBF,eAAO,MAAM,4BAA4B,GACvC,mBAAmB,MAAM,EACzB,iBAAiB,MAAM,EACvB,UAAU,sCAAsC,EAChD,6BAAwB,KACvB,MAoBF,CAAC;AAEF,eAAO,MAAM,2CAA2C,GACtD,kBAAkB,MAAM,EACxB,iBAAiB,MAAM,EACvB,UAAU,sCAAsC,KAC/C,MAgBF,CAAC;AAEF,eAAO,MAAM,8CAA8C,GACzD,mBAAmB,MAAM,EACzB,kBAAkB,MAAM,EACxB,iBAAiB,MAAM,EACvB,UAAU,sCAAsC,KAC/C,OAMA,CAAC;AAEJ,MAAM,MAAM,qCAAqC,GAAG;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,4CAA4C,EAAE,OAAO,CAAC;IACtD,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,sBAAsB,EAAE,OAAO,CAAC;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,qDAAqD,GAChE,SAAS,qCAAqC,EAAE,KAC/C,qCAAqC,EAepC,CAAC;AAEL,MAAM,MAAM,iCAAiC,GAAG;IAC9C,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACrC,OAAO,EAAE,qCAAqC,EAAE,CAAC;CAClD,CAAC;AAEF,qBAAa,kCAAkC;IAE3C,OAAO,CAAC,QAAQ,CAAC,sBAAsB;gBAAtB,sBAAsB,GAAE,uBAAuD;IAGlG,GAAG,GACD,YAAY,mBAAmB,EAAE,EACjC,cAAc,iBAAiB,EAAE,EACjC,iBAAiB,MAAM,EACvB,UAAU,sCAAsC,KAC/C,iCAAiC,CAmHlC;IAEF,OAAO,CAAC,uBAAuB,CAe7B;CACH"}
|