github-issue-tower-defence-management 2.151.6 → 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.
@@ -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(`No eligible token: all tokens are below the live session thresholds (5h >= ${Math.round(settings.minFiveHourFreeRatio * 100)}% free, 7d >= ${Math.round(settings.minSevenDayFreeRatio * 100)}% free) and no token met the ${Math.round(LiveSessionOauthTokenSelectUseCase_1.LIVE_SESSION_FALLBACK_SEVEN_DAY_MIN_FREE_RATIO * 100)}% 7d fallback condition either.`);
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 (highest 5h free ratio among non-excluded tokens with 7d >= ${Math.round(LiveSessionOauthTokenSelectUseCase_1.LIVE_SESSION_FALLBACK_SEVEN_DAY_MIN_FREE_RATIO * 100)}% free; no token met the live session thresholds of 5h >= ${Math.round(settings.minFiveHourFreeRatio * 100)}% and 7d >= ${Math.round(settings.minSevenDayFreeRatio * 100)}%).`);
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 soonest-resetting 7d window among tokens still under their concurrent session limit, 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).`);
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":"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"}
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.LIVE_SESSION_FALLBACK_SEVEN_DAY_MIN_FREE_RATIO = void 0;
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.LIVE_SESSION_FALLBACK_SEVEN_DAY_MIN_FREE_RATIO = 0.03;
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 snapshot = candidate.snapshot;
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 eligible = evaluated.filter((entry) => entry.metric.eligible);
82
- if (eligible.length === 0) {
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 selected = eligible.reduce((bestEntry, currentEntry) => this.preferred(currentEntry.metric, bestEntry.metric)
107
- ? currentEntry
108
- : bestEntry);
109
- return { selected: selected.candidate, metrics };
110
- };
111
- this.liveSessionExclusionReason = (rateLimitExclusionReason, fiveHourFreeRatio, sevenDayFreeRatio, settings, fiveHourDeadlinePassed, sevenDayDeadlinePassed) => {
112
- if (rateLimitExclusionReason !== null) {
113
- return rateLimitExclusionReason;
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":"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"}
1
+ {"version":3,"file":"LiveSessionOauthTokenSelectUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/LiveSessionOauthTokenSelectUseCase.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OauthTokenSelectUseCase = exports.selectWeightedCandidate = exports.sevenDayUrgencyFactor = exports.FIVE_HOUR_SPEND_DEADLINE_HOURS = exports.SEVEN_DAY_SPEND_DEADLINE_HOURS = exports.MIN_HOURS_TO_RESET = exports.SEVEN_DAY_WINDOW_HOURS = exports.CL_SCRIPT_OAUTH_TOKEN_SELECTION_THRESHOLDS = exports.DEFAULT_OAUTH_TOKEN_SELECTION_THRESHOLDS = exports.SEVEN_DAY_MIN_FREE_RATIO = exports.FIVE_HOUR_MIN_FREE_RATIO = exports.selectionWeightOf = exports.DEFAULT_SELECTION_WEIGHT = void 0;
3
+ exports.OauthTokenSelectUseCase = exports.selectWeightedCandidate = exports.sevenDayUrgencyFactor = exports.oauthTokenFillTargetSelect = exports.oauthTokenDrainOrderSort = exports.isSevenDayBudgetUnspendableBeforeSpendDeadline = exports.sevenDayFreeRatioSpendableBeforeSpendDeadlineOf = exports.windowFreeRatioOfUtilization = exports.SEVEN_DAY_FREE_RATIO_SPENT_PER_FULLY_SPENT_FIVE_HOUR_WINDOW = exports.FIVE_HOUR_WINDOW_HOURS = exports.FIVE_HOUR_SPEND_DEADLINE_HOURS = exports.SEVEN_DAY_SPEND_DEADLINE_HOURS = exports.MIN_HOURS_TO_RESET = exports.SEVEN_DAY_WINDOW_HOURS = exports.CL_SCRIPT_OAUTH_TOKEN_SELECTION_THRESHOLDS = exports.OAUTH_TOKEN_SELECTION_WITHOUT_FREE_RATIO_CUTOFF = exports.selectionWeightOf = exports.DEFAULT_SELECTION_WEIGHT = void 0;
4
4
  exports.DEFAULT_SELECTION_WEIGHT = 1;
5
5
  const selectionWeightOf = (candidate) => {
6
6
  const weight = candidate.selectionWeight ?? exports.DEFAULT_SELECTION_WEIGHT;
@@ -9,11 +9,9 @@ const selectionWeightOf = (candidate) => {
9
9
  exports.selectionWeightOf = selectionWeightOf;
10
10
  const SECONDS_PER_DAY = 86400;
11
11
  const SEVEN_DAYS_IN_SECONDS = 7 * SECONDS_PER_DAY;
12
- exports.FIVE_HOUR_MIN_FREE_RATIO = 0.25;
13
- exports.SEVEN_DAY_MIN_FREE_RATIO = 0.01;
14
- exports.DEFAULT_OAUTH_TOKEN_SELECTION_THRESHOLDS = {
15
- fiveHourMinFreeRatio: exports.FIVE_HOUR_MIN_FREE_RATIO,
16
- sevenDayMinFreeRatio: exports.SEVEN_DAY_MIN_FREE_RATIO,
12
+ exports.OAUTH_TOKEN_SELECTION_WITHOUT_FREE_RATIO_CUTOFF = {
13
+ fiveHourMinFreeRatio: 0,
14
+ sevenDayMinFreeRatio: 0,
17
15
  };
18
16
  exports.CL_SCRIPT_OAUTH_TOKEN_SELECTION_THRESHOLDS = {
19
17
  fiveHourMinFreeRatio: 0.6,
@@ -24,6 +22,40 @@ exports.MIN_HOURS_TO_RESET = 1;
24
22
  exports.SEVEN_DAY_SPEND_DEADLINE_HOURS = 48;
25
23
  exports.FIVE_HOUR_SPEND_DEADLINE_HOURS = 1;
26
24
  const SECONDS_PER_HOUR = 3600;
25
+ exports.FIVE_HOUR_WINDOW_HOURS = 5;
26
+ exports.SEVEN_DAY_FREE_RATIO_SPENT_PER_FULLY_SPENT_FIVE_HOUR_WINDOW = 0.14;
27
+ const windowFreeRatioOfUtilization = (utilization) => 1 - Math.min(Math.max(utilization, 0), 1);
28
+ exports.windowFreeRatioOfUtilization = windowFreeRatioOfUtilization;
29
+ const sevenDayFreeRatioSpendableBeforeSpendDeadlineOf = (secondsUntilSevenDayReset) => {
30
+ const hoursUntilSpendDeadline = secondsUntilSevenDayReset / SECONDS_PER_HOUR -
31
+ exports.SEVEN_DAY_SPEND_DEADLINE_HOURS;
32
+ return ((Math.max(0, hoursUntilSpendDeadline) / exports.FIVE_HOUR_WINDOW_HOURS) *
33
+ exports.SEVEN_DAY_FREE_RATIO_SPENT_PER_FULLY_SPENT_FIVE_HOUR_WINDOW);
34
+ };
35
+ exports.sevenDayFreeRatioSpendableBeforeSpendDeadlineOf = sevenDayFreeRatioSpendableBeforeSpendDeadlineOf;
36
+ const isSevenDayBudgetUnspendableBeforeSpendDeadline = (budget) => budget.sevenDayFreeRatio >
37
+ (0, exports.sevenDayFreeRatioSpendableBeforeSpendDeadlineOf)(budget.secondsUntilSevenDayReset);
38
+ exports.isSevenDayBudgetUnspendableBeforeSpendDeadline = isSevenDayBudgetUnspendableBeforeSpendDeadline;
39
+ const drainOrderComparison = (first, second) => {
40
+ const firstPromoted = (0, exports.isSevenDayBudgetUnspendableBeforeSpendDeadline)(first);
41
+ const secondPromoted = (0, exports.isSevenDayBudgetUnspendableBeforeSpendDeadline)(second);
42
+ if (firstPromoted !== secondPromoted) {
43
+ return firstPromoted ? -1 : 1;
44
+ }
45
+ if (first.sevenDayFreeRatio !== second.sevenDayFreeRatio) {
46
+ return first.sevenDayFreeRatio < second.sevenDayFreeRatio ? -1 : 1;
47
+ }
48
+ if (first.secondsUntilSevenDayReset !== second.secondsUntilSevenDayReset) {
49
+ return first.secondsUntilSevenDayReset < second.secondsUntilSevenDayReset
50
+ ? -1
51
+ : 1;
52
+ }
53
+ return 0;
54
+ };
55
+ const oauthTokenDrainOrderSort = (budgets) => [...budgets].sort(drainOrderComparison);
56
+ exports.oauthTokenDrainOrderSort = oauthTokenDrainOrderSort;
57
+ const oauthTokenFillTargetSelect = (budgets) => (0, exports.oauthTokenDrainOrderSort)(budgets).find((budget) => budget.remainingConcurrentSlotCount > 0) ?? null;
58
+ exports.oauthTokenFillTargetSelect = oauthTokenFillTargetSelect;
27
59
  const sevenDayUrgencyFactor = (sevenDayFreeRatio, sevenDayEndEpoch, nowEpochSeconds) => {
28
60
  const hoursToReset = (sevenDayEndEpoch - nowEpochSeconds) / SECONDS_PER_HOUR;
29
61
  const hoursToDeadline = Math.max(hoursToReset - exports.SEVEN_DAY_SPEND_DEADLINE_HOURS, exports.MIN_HOURS_TO_RESET);
@@ -52,7 +84,7 @@ const selectWeightedCandidate = (eligible, weightOf, deterministicBest, random)
52
84
  exports.selectWeightedCandidate = selectWeightedCandidate;
53
85
  class OauthTokenSelectUseCase {
54
86
  constructor() {
55
- this.run = (candidates, nowEpochSeconds, random = Math.random, thresholds = exports.DEFAULT_OAUTH_TOKEN_SELECTION_THRESHOLDS) => {
87
+ this.run = (candidates, nowEpochSeconds, random = Math.random, thresholds = exports.OAUTH_TOKEN_SELECTION_WITHOUT_FREE_RATIO_CUTOFF) => {
56
88
  const evaluated = candidates.map((candidate) => {
57
89
  const evaluatedMetric = this.evaluate(candidate, nowEpochSeconds, thresholds);
58
90
  return {
@@ -127,7 +159,7 @@ class OauthTokenSelectUseCase {
127
159
  if (this.windowExpired(snapshot.fiveHourReset, nowEpochSeconds)) {
128
160
  return 1;
129
161
  }
130
- return this.freeRatioFromUtilization(snapshot.fiveHourUtilization);
162
+ return (0, exports.windowFreeRatioOfUtilization)(snapshot.fiveHourUtilization);
131
163
  };
132
164
  this.sevenDayFreeRatio = (snapshot, nowEpochSeconds) => {
133
165
  if (snapshot === null) {
@@ -136,7 +168,7 @@ class OauthTokenSelectUseCase {
136
168
  if (this.windowExpired(snapshot.sevenDayReset, nowEpochSeconds)) {
137
169
  return 1;
138
170
  }
139
- return this.freeRatioFromUtilization(snapshot.sevenDayUtilization);
171
+ return (0, exports.windowFreeRatioOfUtilization)(snapshot.sevenDayUtilization);
140
172
  };
141
173
  this.sevenDayEndEpoch = (snapshot, nowEpochSeconds) => {
142
174
  if (snapshot === null) {
@@ -151,10 +183,6 @@ class OauthTokenSelectUseCase {
151
183
  return snapshot.sevenDayReset;
152
184
  };
153
185
  this.windowExpired = (resetEpoch, nowEpochSeconds) => resetEpoch > 0 && nowEpochSeconds > resetEpoch;
154
- this.freeRatioFromUtilization = (utilization) => {
155
- const bounded = Math.min(Math.max(utilization, 0), 1);
156
- return 1 - bounded;
157
- };
158
186
  this.toPercent = (ratio) => Math.round(ratio * 100);
159
187
  }
160
188
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OauthTokenSelectUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/OauthTokenSelectUseCase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OauthTokenSelectUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/OauthTokenSelectUseCase.ts"],"names":[],"mappings":"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"}
@@ -159,6 +159,7 @@ class StartPreparationUseCase {
159
159
  model,
160
160
  limit: this.getTokenConcurrentLimit(usage.fiveHourUtilization, usage.sevenDayUtilization, usage.selectionWeight, normalConcurrentLimit),
161
161
  secondsUntilSevenDayReset: this.secondsUntilSevenDayReset(usage, nowEpochSeconds),
162
+ sevenDayFreeRatio: (0, OauthTokenSelectUseCase_1.windowFreeRatioOfUtilization)(usage.sevenDayUtilization),
162
163
  }));
163
164
  const totalCapacity = tokensWithLimits.reduce((sum, t) => sum + t.limit, 0);
164
165
  const effectiveCap = Math.min(maxConcurrent, totalCapacity);
@@ -519,37 +520,28 @@ class StartPreparationUseCase {
519
520
  let routedModelName = null;
520
521
  let selectedTokenName = null;
521
522
  if (rotationTokens !== null && proxyBaseUrl !== null) {
522
- const tokenWithSoonestResetAmongAvailableOf = () => selectedTokensWithLimits
523
- .map((t) => ({
523
+ const tokenToFillOf = () => (0, OauthTokenSelectUseCase_1.oauthTokenFillTargetSelect)(selectedTokensWithLimits.map((t) => ({
524
524
  token: t.token,
525
525
  model: t.model,
526
- remaining: t.limit -
526
+ sevenDayFreeRatio: t.sevenDayFreeRatio,
527
+ secondsUntilSevenDayReset: t.secondsUntilSevenDayReset,
528
+ remainingConcurrentSlotCount: t.limit -
527
529
  (tokenInFlightCounts[t.token] ?? 0) -
528
530
  (spawnedInThisRunByToken[t.token] ?? 0),
529
- secondsUntilSevenDayReset: t.secondsUntilSevenDayReset,
530
- }))
531
- .filter((t) => t.remaining > 0)
532
- .sort((a, b) => {
533
- if (a.secondsUntilSevenDayReset !== b.secondsUntilSevenDayReset) {
534
- return (a.secondsUntilSevenDayReset - b.secondsUntilSevenDayReset);
535
- }
536
- return b.remaining - a.remaining;
537
- })[0];
538
- let tokenWithSoonestResetAmongAvailable = tokenWithSoonestResetAmongAvailableOf();
539
- if (tokenWithSoonestResetAmongAvailable === undefined &&
540
- !tokenInFlightCountsRefreshed) {
531
+ })));
532
+ let tokenToFill = tokenToFillOf();
533
+ if (tokenToFill === null && !tokenInFlightCountsRefreshed) {
541
534
  tokenInFlightCountsRefreshed = true;
542
535
  tokenInFlightCounts =
543
536
  await this.claudeTokenUsageRepository.getTokenInFlightCounts();
544
- tokenWithSoonestResetAmongAvailable =
545
- tokenWithSoonestResetAmongAvailableOf();
537
+ tokenToFill = tokenToFillOf();
546
538
  }
547
- if (tokenWithSoonestResetAmongAvailable === undefined) {
539
+ if (tokenToFill === null) {
548
540
  await revertToAwaitingWorkspace('every Claude OAuth token reached its concurrent worker limit');
549
541
  break;
550
542
  }
551
- const selected = tokenWithSoonestResetAmongAvailable.token;
552
- routedModelName = tokenWithSoonestResetAmongAvailable.model;
543
+ const selected = tokenToFill.token;
544
+ routedModelName = tokenToFill.model;
553
545
  selectedTokenName = selected;
554
546
  spawnEnv = {
555
547
  CLAUDE_CODE_OAUTH_TOKEN: selected,
@@ -1 +1 @@
1
- {"version":3,"file":"StartPreparationUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/StartPreparationUseCase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StartPreparationUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/StartPreparationUseCase.ts"],"names":[],"mappings":";;;AAEA,2EAAuE;AACvE,+DAIoC;AACpC,2EAA2E;AAC3E,2FAAsF;AACtF,uFAA0E;AAW1E,6EAGsC;AACtC,2EAAwE;AACxE,iGAA8F;AAC9F,2FAAwF;AACxF,+EAA4E;AAC5E,uEAImC;AAEtB,QAAA,uBAAuB,GAAG,CAAC,CAAC;AACzC,MAAM,kCAAkC,GAAG,GAAG,CAAC;AAC/C,MAAM,kCAAkC,GAAG,GAAG,CAAC;AAClC,QAAA,+BAA+B,GAAG,iBAAiB,CAAC;AACjE,MAAM,sBAAsB,GAAG,YAAY,CAAC;AAC/B,QAAA,yCAAyC,GAAG,CAAC,CAAC;AAcpD,MAAM,wBAAwB,GAAG,CAAC,WAAmB,EAAU,EAAE,CACtE,WAAW,CAAC,UAAU,CAAC,sBAAsB,CAAC;IAC5C,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE;IACzD,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;AAHZ,QAAA,wBAAwB,4BAGZ;AAWzB,MAAM,0CAA0C,GAAG,CAAC,EAClD,oBAAoB,EACpB,cAAc,GACgB,EAAiB,EAAE,CACjD,cAAc,KAAK,uBAAuB;IACxC,CAAC,CAAC,wFAAwF,oBAAoB,CAAC,UAAU,iBAAiB;IAC1I,CAAC,CAAC,IAAI,CAAC;AAEX,MAAa,uBAAuB;IAClC,YACmB,iBAGhB,EACgB,eAchB,EACgB,kBAAsC,EACtC,0BAAsD,EACtD,4BAA0D,EAC1D,gCAAkE,EAClE,kCAAsE;QAvBtE,sBAAiB,GAAjB,iBAAiB,CAGjC;QACgB,oBAAe,GAAf,eAAe,CAc/B;QACgB,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,+BAA0B,GAA1B,0BAA0B,CAA4B;QACtD,iCAA4B,GAA5B,4BAA4B,CAA8B;QAC1D,qCAAgC,GAAhC,gCAAgC,CAAkC;QAClE,uCAAkC,GAAlC,kCAAkC,CAAoC;QAGjF,qBAAgB,GAAG,CACzB,KAAuB,EACvB,eAAuB,EACd,EAAE,CAAC,KAAK,CAAC,iBAAiB,GAAG,eAAe,CAAC;QAEhD,+BAA0B,GAAG,CAAC,KAAuB,EAAW,EAAE;YACxE,MAAM,KAAK,GAAG,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YACnD,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC;QAC/C,CAAC,CAAC;QAEM,wBAAmB,GAAG,CAC5B,KAAuB,EACvB,gBAA+B,EAC/B,iBAAgC,EACjB,EAAE;YACjB,MAAM,aAAa,GAAG,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAC3D,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;gBAC1D,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,CACL,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,IAAI,CACxC,CAAC,SAAS,EAAuB,EAAE,CACjC,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,EAAE,CACzC,IAAI,IAAI,CACV,CAAC;QACJ,CAAC,CAAC;QAEM,8BAAyB,GAAG,CAClC,KAAuB,EACvB,eAAuB,EACf,EAAE;YACV,MAAM,KAAK,GAAG,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YACnD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC,QAAQ,GAAG,eAAe,CAAC;YAC1C,CAAC;YACD,OAAO,MAAM,CAAC,iBAAiB,CAAC;QAClC,CAAC,CAAC;QAEM,6CAAwC,GAAG,CACjD,CAAmB,EACnB,CAAmB,EACnB,eAAuB,EACf,EAAE;YACV,MAAM,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,CACvD,CAAC,EACD,eAAe,CAChB,CAAC;YACF,MAAM,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,CACvD,CAAC,EACD,eAAe,CAChB,CAAC;YACF,IAAI,kBAAkB,KAAK,kBAAkB,EAAE,CAAC;gBAC9C,OAAO,kBAAkB,GAAG,kBAAkB,CAAC;YACjD,CAAC;YACD,OAAO,CAAC,CAAC,mBAAmB,GAAG,CAAC,CAAC,mBAAmB,CAAC;QACvD,CAAC,CAAC;QAEM,2BAAsB,GAAG,CAC/B,WAAmB,EACnB,sBAA8B,EAC9B,qBAA6B,EACrB,EAAE;YACV,IAAI,WAAW,GAAG,sBAAsB,EAAE,CAAC;gBACzC,OAAO,qBAAqB,CAAC;YAC/B,CAAC;YACD,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,sBAAsB,CAAC,CAAC;YACnE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC,CAAC;QACnE,CAAC,CAAC;QAEF,4BAAuB,GAAG,CACxB,mBAA2B,EAC3B,mBAA2B,EAC3B,eAAwB,EACxB,wBAAgC,+BAAuB,EAC/C,EAAE;YACV,MAAM,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAC/C,mBAAmB,EACnB,kCAAkC,EAClC,qBAAqB,CACtB,CAAC;YACF,MAAM,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAC/C,mBAAmB,EACnB,kCAAkC,EAClC,qBAAqB,CACtB,CAAC;YACF,MAAM,MAAM,GAAG,eAAe,IAAI,kDAAwB,CAAC;YAC3D,OAAO,IAAI,CAAC,GAAG,CACb,CAAC,EACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC,GAAG,MAAM,CAAC,CAC5D,CAAC;QACJ,CAAC,CAAC;QAEF,oCAA+B,GAAG,CAChC,KAAY,EACZ,mBAAoC,EACpC,OAAe,EACf,GAAS,EAC6B,EAAE;YACxC,IAAI,KAAK,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,OAAO,mBAAmB,CAAC;YAC7B,CAAC;YACD,IAAI,IAAA,qEAAiC,EAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;gBAClD,MAAM,eAAe,GAAG,IAAI,IAAI,CAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CACxE,CAAC;gBACF,OAAO,KAAK,CAAC,cAAc,KAAK,IAAI;oBAClC,KAAK,CAAC,cAAc,IAAI,eAAe;oBACvC,CAAC,CAAC,sBAAsB;oBACxB,CAAC,CAAC,0BAA0B,CAAC;YACjC,CAAC;YACD,IACE,CAAC,IAAA,2EAAoC,EAAC,KAAK,CAAC,MAAM,EAAE,mBAAmB,CAAC,EACxE,CAAC;gBACD,OAAO,kBAAkB,CAAC;YAC5B,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvC,OAAO,sBAAsB,CAAC;YAChC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEM,8BAAyB,GAAG,CAAC,MAAe,EAAe,EAAE;YACnE,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;YAC/C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAClC,SAAS;gBACX,CAAC;gBACD,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,yBAAyB,EAAE,CAAC;oBACvD,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;YACD,OAAO,oBAAoB,CAAC;QAC9B,CAAC,CAAC;QAEF,qCAAgC,GAAG,KAAK,EACtC,SAAmB,EACnB,yBAA8C,EACI,EAAE;YACpD,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAGnC,CAAC;YACJ,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,MAAM,iBAAiB,GAAG,KAAK,IAAmB,EAAE;gBAClD,OAAO,SAAS,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;oBACpC,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;oBACtC,SAAS,IAAI,CAAC,CAAC;oBACf,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAChC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE;4BACnC,eAAe,EACb,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,QAAQ,CAAC;4BACzD,uBAAuB,EAAE,EAAE;yBAC5B,CAAC,CAAC;oBACL,CAAC;yBAAM,IAAI,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACnD,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE;4BACnC,eAAe,EAAE,IAAI;4BACrB,uBAAuB,EACrB,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,QAAQ,CAAC;yBAC1D,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE;4BACnC,eAAe,EAAE,IAAI;4BACrB,uBAAuB,EAAE,EAAE;yBAC5B,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC,CAAC;YACF,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,IAAI,CACR;gBACE,MAAM,EAAE,IAAI,CAAC,GAAG,CACd,iDAAyC,EACzC,SAAS,CAAC,MAAM,CACjB;aACF,EACD,iBAAiB,CAClB,CACF,CAAC;YACF,OAAO,sBAAsB,CAAC;QAChC,CAAC,CAAC;QAEM,yBAAoB,GAAG,CAC7B,WAA+B,EAC/B,8BAAsC,EACtC,gBAA+B,EAC/B,iBAAgC,EAChC,aAAqB,EACrB,qBAA6B,EAW7B,EAAE;YACF,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YAC1C,MAAM,cAAc,GAAG,WAAW;iBAC/B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;iBACjC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;iBAC1C,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;iBACjE,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,mBAAmB,GAAG,GAAG,GAAG,8BAA8B,CACnE;iBACA,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CACpC,KAAK,EACL,gBAAgB,EAChB,iBAAiB,CAClB,CAAC;gBACF,IAAI,KAAK,KAAK,IAAI;oBAAE,OAAO,EAAE,CAAC;gBAC9B,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5B,CAAC,CAAC;iBACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACb,IAAI,CAAC,wCAAwC,CAC3C,CAAC,CAAC,KAAK,EACP,CAAC,CAAC,KAAK,EACP,eAAe,CAChB,CACF,CAAC;YAEJ,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC;YAC/D,CAAC;YAED,MAAM,gBAAgB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;gBACjE,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,KAAK;gBACL,KAAK,EAAE,IAAI,CAAC,uBAAuB,CACjC,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,eAAe,EACrB,qBAAqB,CACtB;gBACD,yBAAyB,EAAE,IAAI,CAAC,yBAAyB,CACvD,KAAK,EACL,eAAe,CAChB;gBACD,iBAAiB,EAAE,IAAA,sDAA4B,EAC7C,KAAK,CAAC,mBAAmB,CAC1B;aACF,CAAC,CAAC,CAAC;YAEJ,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;YAE5D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACnE,MAAM,YAAY,GAAa,EAAE,CAAC;YAClC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC9C,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;oBACjC,IAAI,CAAC,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC;wBACpB,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBAC7B,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC;QAClE,CAAC,CAAC;QAEF,uBAAkB,GAAG,CACnB,WAA+B,EAC/B,8BAAsC,EAChB,EAAE;YACxB,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YAC1C,MAAM,cAAc,GAAG,WAAW;iBAC/B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;iBACjC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;iBAC1C,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;iBACjE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;iBAC1D,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,mBAAmB,GAAG,GAAG,GAAG,8BAA8B,CACnE;iBACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACb,IAAI,CAAC,wCAAwC,CAAC,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,CACrE,CAAC;YACJ,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACxE,MAAM,QAAQ,GAAyB,WAAW;iBAC/C,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBACxD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACf,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;gBACtB,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;gBAC9C,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ,EAAE,KAAK,CAAC,gBAAgB;gBAChC,iBAAiB,EACf,CAAC,KAAK,CAAC,OAAO;oBACd,CAAC,KAAK,CAAC,gBAAgB;oBACvB,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,eAAe,CAAC;oBAC9C,CAAC,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC;oBACvC,KAAK,CAAC,mBAAmB,GAAG,GAAG,IAAI,8BAA8B;gBACnE,gBAAgB,EACd,CAAC,KAAK,CAAC,OAAO;oBACd,CAAC,KAAK,CAAC,gBAAgB;oBACvB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,eAAe,CAAC;aAChD,CAAC,CAAC,CAAC;YACN,MAAM,eAAe,GAAyB,cAAc,CAAC,GAAG,CAC9D,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACV,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;gBACtB,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;gBAC9C,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,KAAK;gBACf,iBAAiB,EAAE,KAAK;gBACxB,gBAAgB,EAAE,KAAK;aACxB,CAAC,CACH,CAAC;YACF,OAAO,CAAC,GAAG,eAAe,EAAE,GAAG,QAAQ,CAAC,CAAC;QAC3C,CAAC,CAAC;QAEF,QAAG,GAAG,KAAK,EAAE,MAiBZ,EAA2D,EAAE;YAC5D,MAAM,qBAAqB,GACzB,MAAM,CAAC,qBAAqB,IAAI,+BAAuB,CAAC;YAC1D,MAAM,WAAW,GACf,MAAM,IAAI,CAAC,0BAA0B,CAAC,uBAAuB,EAAE,CAAC;YAClE,IAAI,cAAc,GAAoB,IAAI,CAAC;YAC3C,IAAI,YAAY,GAAkB,IAAI,CAAC;YACvC,IAAI,wBAAwB,GAMvB,EAAE,CAAC;YACR,IAAI,mBAAmB,GAA2B,EAAE,CAAC;YACrD,MAAM,aAAa,GACjB,WAAW,CAAC,MAAM,GAAG,CAAC;gBACpB,CAAC,CAAC,IAAI,CAAC,kBAAkB,CACrB,WAAW,EACX,MAAM,CAAC,8BAA8B,CACtC;gBACH,CAAC,CAAC,IAAI,CAAC;YACX,MAAM,2BAA2B,GAC/B,MAAM,CAAC,2BAA2B,IAAI,+BAAuB,CAAC;YAChE,IAAI,gCAAgC,GAAG,2BAA2B,CAAC;YACnE,MAAM,oBAAoB,GACxB,MAAM,CAAC,oBAAoB,IAAI,uCAA+B,CAAC;YACjE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,EACJ,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,WAAW,EACzB,gBAAgB,EAAE,6BAA6B,GAChD,GAAG,IAAI,CAAC,oBAAoB,CAC3B,WAAW,EACX,MAAM,CAAC,8BAA8B,EACrC,MAAM,CAAC,mBAAmB,EAC1B,oBAAoB,EACpB,2BAA2B,EAC3B,qBAAqB,CACtB,CAAC;gBACF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAChC,OAAO,CAAC,IAAI,CACV,OAAO,WAAW,CAAC,MAAM,4KAA4K,MAAM,CAAC,8BAA8B,oCAAoC,CAC/Q,CAAC;oBACF,OAAO,EAAE,aAAa,EAAE,CAAC;gBAC3B,CAAC;gBACD,MAAM,IAAI,CAAC,0BAA0B,CAAC,gBAAgB,EAAE,CAAC;gBACzD,mBAAmB;oBACjB,MAAM,IAAI,CAAC,0BAA0B,CAAC,sBAAsB,EAAE,CAAC;gBACjE,cAAc,GAAG,cAAc,CAAC;gBAChC,wBAAwB,GAAG,6BAA6B,CAAC;gBACzD,gCAAgC,GAAG,WAAW,CAAC;gBAC/C,YAAY,GAAG,IAAI,CAAC,0BAA0B,CAAC,YAAY,EAAE,CAAC;YAChE,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACzE,MAAM,cAAc,GAClB,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAExD,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CACjE,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CACpC,CAAC;YACF,MAAM,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAC1D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,wCAAuB,CAC1C,CAAC;YACF,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAC7B,OAAO,CAAC,KAAK,CACX,8BAA8B,wCAAuB,yBAAyB,CAC/E,CAAC;gBACF,OAAO,EAAE,aAAa,EAAE,CAAC;YAC3B,CAAC;YACD,MAAM,6BAA6B,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAChE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,+CAA8B,CACjD,CAAC;YACF,MAAM,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAC1D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iCAAgB,CACnC,CAAC;YAEF,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAC9B,IAAI,CAAC,4BAA4B,CAAC,oBAAoB,EAAE,CACzD,CAAC;YACF,MAAM,oBAAoB,GACxB,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACnD,MAAM,4BAA4B,GAAG,eAAe,CAAC,MAAM,CACzD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,wCAAuB,CACpD,CAAC,MAAM,CAAC;YACT,IAAI,mCAAmC,GAAG,4BAA4B,CAAC;YACvE,IAAI,qBAAqB,GAAG,CAAC,CAAC;YAC9B,MAAM,uBAAuB,GAA2B,EAAE,CAAC;YAC3D,IAAI,4BAA4B,GAAG,KAAK,CAAC;YACzC,MAAM,eAAe,GAAG;gBACtB,iBAAiB,EAAE,CAAC;gBACpB,oBAAoB,EAAE,CAAC;gBACvB,wBAAwB,EAAE,CAAC;gBAC3B,gBAAgB,EAAE,CAAC;gBACnB,oBAAoB,EAAE,CAAC;aACxB,CAAC;YAEF,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YAEvB,MAAM,iCAAiC,GAAG,CAAC,KAAY,EAAW,EAAE,CAClE,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,0CAAmB,CAAC,CAAC;YAEtE,MAAM,8BAA8B,GAAG,eAAe,CAAC,MAAM,CAC3D,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,MAAM,KAAK,+CAA8B;gBAC/C,CAAC,KAAK,CAAC,QAAQ;gBACf,CAAC,iCAAiC,CAAC,KAAK,CAAC,CAC5C,CAAC;YACF,MAAM,2CAA2C,GAAG,oBAAoB;iBACrE,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,MAAM,KAAK,+CAA8B;gBAC/C,CAAC,KAAK,CAAC,QAAQ;gBACf,iCAAiC,CAAC,KAAK,CAAC,CAC3C;iBACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;YACjE,MAAM,+BAA+B,GACnC,2CAA2C,CAAC,SAAS,CACnD,CAAC,KAAK,EAAE,EAAE,CACR,IAAI,CAAC,+BAA+B,CAClC,KAAK,EACL,MAAM,CAAC,mBAAmB,EAC1B,MAAM,CAAC,OAAO,EACd,GAAG,CACJ,KAAK,IAAI,CACb,CAAC;YACJ,MAAM,uBAAuB,GAC3B,+BAA+B,KAAK,CAAC,CAAC;gBACpC,CAAC,CAAC;oBACE,GAAG,8BAA8B;oBACjC,GAAG,2CAA2C;iBAC/C;gBACH,CAAC,CAAC;oBACE,2CAA2C,CACzC,+BAA+B,CAChC;oBACD,GAAG,8BAA8B;oBACjC,GAAG,2CAA2C,CAAC,KAAK,CAClD,CAAC,EACD,+BAA+B,CAChC;oBACD,GAAG,2CAA2C,CAAC,KAAK,CAClD,+BAA+B,GAAG,CAAC,CACpC;iBACF,CAAC;YAER,MAAM,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,IAAI,IAAI,CAAC;YACjE,MAAM,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,IAAI,IAAI,CAAC;YAEnE,IAAI,qBAAqB,KAAK,IAAI,EAAE,CAAC;gBACnC,MAAM,gBAAgB,GACpB,MAAM,IAAI,CAAC,gCAAgC,CAAC,wBAAwB,EAAE,CAAC;gBACzE,IACE,gBAAgB,KAAK,IAAI;oBACzB,gBAAgB,GAAG,qBAAqB,EACxC,CAAC;oBACD,OAAO,CAAC,IAAI,CACV,2BAA2B,gBAAgB,sBAAsB,qBAAqB,gCAAgC,CACvH,CAAC;oBACF,OAAO,EAAE,aAAa,EAAE,CAAC;gBAC3B,CAAC;gBACD,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;oBAC9B,OAAO,CAAC,IAAI,CACV,4DAA4D,CAC7D,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,oBAAoB,GAAG,IAAI,CAAC,yBAAyB,CAAC;gBAC1D,GAAG,eAAe;gBAClB,GAAG,oBAAoB;aACxB,CAAC,CAAC;YACH,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,gCAAgC,CACxE,uBAAuB;iBACpB,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CACR,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;gBAChC,IAAI,CAAC,+BAA+B,CAClC,KAAK,EACL,MAAM,CAAC,mBAAmB,EAC1B,MAAM,CAAC,OAAO,EACd,GAAG,CACJ,KAAK,IAAI,CACb;iBACA,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;iBACzB,KAAK,CACJ,CAAC,EACD,IAAI,CAAC,GAAG,CACN,CAAC,EACD,gCAAgC,GAAG,4BAA4B,CAChE,CACF,EACH,oBAAoB,CACrB,CAAC;YAEF,IACE,uBAAuB;gBACvB,MAAM,CAAC,mBAAmB,KAAK,IAAI;gBACnC,MAAM,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EACrC,CAAC;gBACD,KAAK,MAAM,KAAK,IAAI,uBAAuB,EAAE,CAAC;oBAC5C,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;wBAAE,SAAS;oBAC9C,MAAM,eAAe,GAAG,IAAI,CAAC,+BAA+B,CAC1D,KAAK,EACL,MAAM,CAAC,mBAAmB,EAC1B,MAAM,CAAC,OAAO,EACd,GAAG,CACJ,CAAC;oBACF,IAAI,eAAe,KAAK,kBAAkB;wBAAE,SAAS;oBACrD,MAAM,WAAW,GAAG,wBAAwB,KAAK,CAAC,MAAM,6DAA6D,CAAC;oBACtH,MAAM,gBAAgB,GACpB,MAAM,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACtE,IACE,CAAC,IAAA,8CAAuB,EACtB,WAAW,EACX,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC3B,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,SAAS,EAAE,CAAC,CAAC,SAAS;qBACvB,CAAC,CAAC,EACH,GAAG,CACJ,EACD,CAAC;wBACD,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;oBACxE,CAAC;oBACD,MAAM,SAAS,GAAG,MAAM,IAAA,yDAA2B,EAAC;wBAClD,eAAe,EAAE,IAAI,CAAC,eAAe;wBACrC,OAAO;wBACP,aAAa,EAAE,KAAK;wBACpB,iBAAiB,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;wBACzC,uBAAuB,EAAE,gEAAgE;qBAC1F,CAAC,CAAC;oBACH,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBACjC,SAAS;oBACX,CAAC;oBACD,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CACrC,OAAO,EACP,KAAK,EACL,uBAAuB,CAAC,EAAE,CAC3B,CAAC;oBACJ,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAI,CAAC,CAAC,KAAK,YAAY,uDAAqB,CAAC;4BAAE,MAAM,KAAK,CAAC;wBAC3D,OAAO,CAAC,IAAI,CACV,mEAAmE,KAAK,CAAC,GAAG,EAAE,CAC/E,CAAC;wBACF,SAAS;oBACX,CAAC;gBACH,CAAC;YACH,CAAC;YAED,KACE,IAAI,CAAC,GAAG,CAAC,EACT,CAAC,GAAG,uBAAuB,CAAC,MAAM;gBAClC,mCAAmC,GAAG,gCAAgC,EACtE,CAAC,EAAE,EACH,CAAC;gBACD,MAAM,KAAK,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;gBACzC,IAAI,KAAK,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvC,eAAe,CAAC,iBAAiB,EAAE,CAAC;oBACpC,SAAS;gBACX,CAAC;gBACD,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;oBACpC,OAAO,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,GAAG,2BAA2B,CAAC,CAAC;oBAC/D,SAAS;gBACX,CAAC;gBACD,IAAI,oBAAoB,KAAK,IAAI,EAAE,CAAC;oBAClC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,IAAI,GAAG,qBAAqB,CAAC;oBACxE,IAAI,iBAAiB,IAAI,oBAAoB,EAAE,CAAC;wBAC9C,OAAO,CAAC,IAAI,CACV,sBAAsB,iBAAiB,IAAI,oBAAoB,kDAAkD,CAClH,CAAC;wBACF,MAAM;oBACR,CAAC;gBACH,CAAC;gBACD,MAAM,eAAe,GAAG,IAAI,CAAC,+BAA+B,CAC1D,KAAK,EACL,MAAM,CAAC,mBAAmB,EAC1B,MAAM,CAAC,OAAO,EACd,GAAG,CACJ,CAAC;gBACF,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;oBAC7B,eAAe,CAAC,eAAe,CAAC,EAAE,CAAC;oBACnC,SAAS;gBACX,CAAC;gBACD,MAAM,YAAY,GAAG,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3D,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC/B,OAAO,CAAC,KAAK,CACX,YAAY,KAAK,CAAC,GAAG,6DAA6D,CACnF,CAAC;oBACF,SAAS;gBACX,CAAC;gBACD,MAAM,IAAA,mEAA+B,EACnC,KAAK,EACL,OAAO,EACP,MAAM,CAAC,MAAM,IAAI,EAAE,EACnB,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,eAAe,CACrB,CAAC;gBACF,MAAM,SAAS,GAAG,iCAAiC,CAAC,KAAK,CAAC,CAAC;gBAC3D,MAAM,KAAK,GACT,CAAC,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI;oBAChC,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,IAAA,gCAAwB,EAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;oBAChD,MAAM,CAAC,gBAAgB,CAAC;gBAC1B,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACvC,MAAM,SAAS,GAAG,MAAM,IAAA,yDAA2B,EAAC;wBAClD,eAAe,EAAE,IAAI,CAAC,eAAe;wBACrC,OAAO;wBACP,aAAa,EAAE,KAAK;wBACpB,iBAAiB,EAAE,CAAC,OAAO,CAAC;wBAC5B,uBAAuB,EAAE,+CAA+C;qBACzE,CAAC,CAAC;oBACH,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBACjC,MAAM,aAAa,GAAG,MAAM,IAAA,qDAAyB,EACnD,IAAI,CAAC,iBAAiB,EACtB,OAAO,EACP,KAAK,CACN,CAAC;wBACF,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;4BAC3B,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAC3C,KAAK,CAAC,GAAG,EACT,OAAO,EACP,aAAa,CACd,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM;qBAChC,IAAI,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;oBACxD,EAAE,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;qBAC1B,IAAI,EAAE,CAAC;gBACV,IACE,CAAC,cAAc;oBACf,CAAC,MAAM,CAAC,mBAAmB;oBAC3B,cAAc,KAAK,IAAI,EACvB,CAAC;oBACD,OAAO,CAAC,KAAK,CACX,qCAAqC,KAAK,CAAC,GAAG,6DAA6D,CAC5G,CAAC;oBACF,SAAS;gBACX,CAAC;gBACD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC7C,IAAI,UAAkB,CAAC;gBACvB,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,EAAE,GAAG,YAAY,CAAC,eAAe,CAAC;oBACxC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;wBAChB,OAAO,CAAC,IAAI,CACV,wBAAwB,KAAK,CAAC,GAAG,gCAAgC,CAClE,CAAC;wBACF,SAAS;oBACX,CAAC;oBACD,IAAI,EAAE,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;wBAC3B,OAAO,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,GAAG,+BAA+B,CAAC,CAAC;wBACtE,SAAS;oBACX,CAAC;oBACD,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACN,MAAM,UAAU,GAAG,YAAY,CAAC,uBAAuB,CAAC;oBACxD,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;wBAClD,MAAM,KAAK,GAAG,qCAAqC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;wBACjE,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,aAAa,CAAC;oBAC5D,CAAC,CAAC,CAAC;oBACH,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAClC,MAAM,uBAAuB,GAC3B,MAAM,IAAI,CAAC,kCAAkC,CAAC,qBAAqB,CACjE,KAAK,CACN,CAAC;wBACJ,MAAM,6BAA6B,GAAG,IAAA,uDAA0B,EAC9D,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACvD,uBAAuB,CACxB,CAAC;wBACF,MAAM,WAAW,GACf,6BAA6B,CAAC,oBAAoB,CAAC;wBACrD,MAAM,YAAY,GAChB,6BAA6B,CAAC,qBAAqB,CAAC;wBACtD,MAAM,sBAAsB,GAC1B,0CAA0C,CACxC,6BAA6B,CAC9B,CAAC;wBACJ,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;4BACvC,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;4BAC7D,IAAI,WAAW,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;gCACpC,MAAM,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAChD,WAAW,CAAC,GAAG,EACf,WAAW,CAAC,UAAU,CACvB,CAAC;4BACJ,CAAC;4BACD,MAAM,sBAAsB,GAAG;gCAC7B,oFAAoF,KAAK,CAAC,GAAG,iCAAiC,WAAW,CAAC,GAAG,GAAG;gCAChJ,GAAG,CAAC,sBAAsB,KAAK,IAAI;oCACjC,CAAC,CAAC,EAAE;oCACJ,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;6BAC9B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BACZ,MAAM,2BAA2B,GAC/B,MAAM,IAAI,CAAC,eAAe,CAAC,6BAA6B,CACtD,WAAW,CAAC,GAAG,CAChB,CAAC;4BACJ,IACE,CAAC,IAAA,8CAAuB,EACtB,sBAAsB,EACtB,2BAA2B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gCACtC,IAAI,EAAE,CAAC,CAAC,IAAI;gCACZ,SAAS,EAAE,CAAC,CAAC,SAAS;6BACvB,CAAC,CAAC,EACH,IAAI,IAAI,EAAE,CACX,EACD,CAAC;gCACD,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAC3C,WAAW,CAAC,GAAG,EACf,sBAAsB,CACvB,CAAC;4BACJ,CAAC;wBACH,CAAC;wBACD,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAClE,MAAM,gBAAgB,GAAG;4BACvB,GAAG,YAAY,CAAC,MAAM,qGAAqG,aAAa,iBAAiB,WAAW,CAAC,GAAG,EAAE;4BAC1K,GAAG,CAAC,sBAAsB,KAAK,IAAI;gCACjC,CAAC,CAAC,EAAE;gCACJ,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;yBAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACb,MAAM,qBAAqB,GACzB,MAAM,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACtE,IACE,CAAC,IAAA,8CAAuB,EACtB,gBAAgB,EAChB,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4BAChC,IAAI,EAAE,CAAC,CAAC,IAAI;4BACZ,SAAS,EAAE,CAAC,CAAC,SAAS;yBACvB,CAAC,CAAC,EACH,IAAI,IAAI,EAAE,CACX,EACD,CAAC;4BACD,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAC3C,KAAK,CAAC,GAAG,EACT,gBAAgB,CACjB,CAAC;wBACJ,CAAC;wBACD,IAAI,WAAW,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;4BACpC,OAAO,CAAC,IAAI,CACV,kBAAkB,KAAK,CAAC,GAAG,qDAAqD,CACjF,CAAC;4BACF,SAAS;wBACX,CAAC;wBACD,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;oBACtC,CAAC;yBAAM,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC3C,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;4BAC9C,OAAO,CAAC,IAAI,CACV,kBAAkB,KAAK,CAAC,GAAG,gDAAgD,CAC5E,CAAC;4BACF,SAAS;wBACX,CAAC;wBACD,UAAU,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBAChD,CAAC;yBAAM,CAAC;wBACN,UAAU,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBAClC,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oBACnC,OAAO,CAAC,KAAK,CACX,kBAAkB,KAAK,CAAC,GAAG,iDAAiD,UAAU,EAAE,CACzF,CAAC;oBACF,SAAS;gBACX,CAAC;gBAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC1E,IACE,cAAc,KAAK,IAAI;oBACvB,cAAc,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;oBAC3C,cAAc,CAAC,MAAM,KAAK,+CAA8B,EACxD,CAAC;oBACD,OAAO,CAAC,IAAI,CACV,YAAY,KAAK,CAAC,GAAG,4DAA4D,CAClF,CAAC;oBACF,SAAS;gBACX,CAAC;gBAED,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CACrC,OAAO,EACP,KAAK,EACL,uBAAuB,CAAC,EAAE,CAC3B,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,CAAC,KAAK,YAAY,uDAAqB,CAAC;wBAAE,MAAM,KAAK,CAAC;oBAC3D,OAAO,CAAC,IAAI,CACV,iEAAiE,KAAK,CAAC,GAAG,EAAE,CAC7E,CAAC;oBACF,SAAS;gBACX,CAAC;gBACD,KAAK,CAAC,MAAM,GAAG,wCAAuB,CAAC;gBAEvC,MAAM,yBAAyB,GAAG,KAAK,EACrC,MAAc,EACC,EAAE;oBACjB,OAAO,CAAC,KAAK,CACX,aAAa,KAAK,CAAC,GAAG,OAAO,+CAA8B,mCAAmC,MAAM,EAAE,CACvG,CAAC;oBACF,IAAI,CAAC,6BAA6B,EAAE,CAAC;wBACnC,OAAO,CAAC,KAAK,CACX,qCAAqC,+CAA8B,2BAA2B,KAAK,CAAC,GAAG,aAAa,wCAAuB,oBAAoB,CAChK,CAAC;wBACF,OAAO;oBACT,CAAC;oBACD,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CACrC,OAAO,EACP,KAAK,EACL,6BAA6B,CAAC,EAAE,CACjC,CAAC;oBACJ,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAI,CAAC,CAAC,KAAK,YAAY,uDAAqB,CAAC;4BAAE,MAAM,KAAK,CAAC;wBAC3D,OAAO,CAAC,IAAI,CACV,kDAAkD,+CAA8B,0EAA0E,KAAK,CAAC,GAAG,EAAE,CACtK,CAAC;wBACF,OAAO;oBACT,CAAC;oBACD,KAAK,CAAC,MAAM,GAAG,+CAA8B,CAAC;gBAChD,CAAC,CAAC;gBAEF,IAAI,QAA4C,CAAC;gBACjD,IAAI,eAAe,GAAkB,IAAI,CAAC;gBAC1C,IAAI,iBAAiB,GAAkB,IAAI,CAAC;gBAC5C,IAAI,cAAc,KAAK,IAAI,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;oBACrD,MAAM,aAAa,GAAG,GAGb,EAAE,CACT,IAAA,oDAA0B,EACxB,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACnC,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;wBACtC,yBAAyB,EAAE,CAAC,CAAC,yBAAyB;wBACtD,4BAA4B,EAC1B,CAAC,CAAC,KAAK;4BACP,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BACnC,CAAC,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;qBAC1C,CAAC,CAAC,CACJ,CAAC;oBACJ,IAAI,WAAW,GAAG,aAAa,EAAE,CAAC;oBAClC,IAAI,WAAW,KAAK,IAAI,IAAI,CAAC,4BAA4B,EAAE,CAAC;wBAC1D,4BAA4B,GAAG,IAAI,CAAC;wBACpC,mBAAmB;4BACjB,MAAM,IAAI,CAAC,0BAA0B,CAAC,sBAAsB,EAAE,CAAC;wBACjE,WAAW,GAAG,aAAa,EAAE,CAAC;oBAChC,CAAC;oBACD,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;wBACzB,MAAM,yBAAyB,CAC7B,8DAA8D,CAC/D,CAAC;wBACF,MAAM;oBACR,CAAC;oBACD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC;oBACnC,eAAe,GAAG,WAAW,CAAC,KAAK,CAAC;oBACpC,iBAAiB,GAAG,QAAQ,CAAC;oBAC7B,QAAQ,GAAG;wBACT,uBAAuB,EAAE,QAAQ;wBACjC,kBAAkB,EAAE,YAAY;qBACjC,CAAC;gBACJ,CAAC;gBACD,MAAM,KAAK,GACT,cAAc,IAAI,eAAe,IAAI,MAAM,CAAC,mBAAmB,CAAC;gBAClE,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,CAAC,KAAK,CACX,qCAAqC,KAAK,CAAC,GAAG,6DAA6D,CAC5G,CAAC;oBACF,MAAM,yBAAyB,CAAC,4BAA4B,CAAC,CAAC;oBAC9D,SAAS;gBACX,CAAC;gBACD,MAAM,MAAM,GAAa;oBACvB,KAAK,CAAC,GAAG;oBACT,KAAK;oBACL,KAAK;oBACL,kBAAkB;oBAClB,MAAM,CAAC,cAAc;oBACrB,UAAU;oBACV,UAAU;iBACX,CAAC;gBACF,IACE,MAAM,CAAC,mBAAmB,KAAK,IAAI;oBACnC,MAAM,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EACrC,CAAC;oBACD,MAAM,SAAS,GACb,MAAM,CAAC,mBAAmB,CACxB,qBAAqB,GAAG,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAC1D,CAAC;oBACJ,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;gBACxC,CAAC;gBACD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAC1D,IAAI,EACJ,MAAM,EACN,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CACzC,CAAC;gBACF,IAAI,WAAW,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;oBAC/B,MAAM,yBAAyB,CAC7B,kBAAkB,WAAW,CAAC,QAAQ,aAAa,WAAW,CAAC,MAAM,YAAY,WAAW,CAAC,MAAM,EAAE,CACtG,CAAC;oBACF,SAAS;gBACX,CAAC;gBACD,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;oBAC/B,uBAAuB,CAAC,iBAAiB,CAAC;wBACxC,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC1D,CAAC;gBACD,qBAAqB,EAAE,CAAC;gBACxB,mCAAmC,EAAE,CAAC;YACxC,CAAC;YACD,OAAO,CAAC,GAAG,CACT,yCAAyC,MAAM,CAAC,UAAU,uBAAuB,eAAe,CAAC,iBAAiB,0BAA0B,eAAe,CAAC,oBAAoB,8BAA8B,eAAe,CAAC,wBAAwB,sBAAsB,eAAe,CAAC,gBAAgB,0BAA0B,eAAe,CAAC,oBAAoB,EAAE,CAC7W,CAAC;YACF,OAAO,EAAE,aAAa,EAAE,CAAC;QAC3B,CAAC,CAAC;IA96BC,CAAC;CA+6BL;AAz8BD,0DAy8BC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "github-issue-tower-defence-management",
3
- "version": "2.151.6",
3
+ "version": "2.152.1",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "scripts": {
@@ -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,EAEL,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
+ {"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 LIVE_SESSION_FALLBACK_SEVEN_DAY_MIN_FREE_RATIO = 0.03;
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,EAEL,KAAK,mBAAmB,EACxB,uBAAuB,EAKxB,MAAM,2BAA2B,CAAC;AAEnC,eAAO,MAAM,8CAA8C,OAAO,CAAC;AAEnE,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,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,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,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,CAiHlC;IAEF,OAAO,CAAC,0BAA0B,CA+BhC;IAEF,OAAO,CAAC,SAAS,CAyBf;IAEF,OAAO,CAAC,uBAAuB,CAe7B;CACH"}
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"}
@@ -34,14 +34,26 @@ export type OauthTokenSelectionThresholds = {
34
34
  fiveHourMinFreeRatio: number;
35
35
  sevenDayMinFreeRatio: number;
36
36
  };
37
- export declare const FIVE_HOUR_MIN_FREE_RATIO = 0.25;
38
- export declare const SEVEN_DAY_MIN_FREE_RATIO = 0.01;
39
- export declare const DEFAULT_OAUTH_TOKEN_SELECTION_THRESHOLDS: OauthTokenSelectionThresholds;
37
+ export declare const OAUTH_TOKEN_SELECTION_WITHOUT_FREE_RATIO_CUTOFF: OauthTokenSelectionThresholds;
40
38
  export declare const CL_SCRIPT_OAUTH_TOKEN_SELECTION_THRESHOLDS: OauthTokenSelectionThresholds;
41
39
  export declare const SEVEN_DAY_WINDOW_HOURS = 168;
42
40
  export declare const MIN_HOURS_TO_RESET = 1;
43
41
  export declare const SEVEN_DAY_SPEND_DEADLINE_HOURS = 48;
44
42
  export declare const FIVE_HOUR_SPEND_DEADLINE_HOURS = 1;
43
+ export declare const FIVE_HOUR_WINDOW_HOURS = 5;
44
+ export declare const SEVEN_DAY_FREE_RATIO_SPENT_PER_FULLY_SPENT_FIVE_HOUR_WINDOW = 0.14;
45
+ export declare const windowFreeRatioOfUtilization: (utilization: number) => number;
46
+ export declare const sevenDayFreeRatioSpendableBeforeSpendDeadlineOf: (secondsUntilSevenDayReset: number) => number;
47
+ export type OauthTokenSevenDayBudget = {
48
+ sevenDayFreeRatio: number;
49
+ secondsUntilSevenDayReset: number;
50
+ };
51
+ export type OauthTokenSevenDayBudgetWithRemainingConcurrentSlots = OauthTokenSevenDayBudget & {
52
+ remainingConcurrentSlotCount: number;
53
+ };
54
+ export declare const isSevenDayBudgetUnspendableBeforeSpendDeadline: (budget: OauthTokenSevenDayBudget) => boolean;
55
+ export declare const oauthTokenDrainOrderSort: <Budget extends OauthTokenSevenDayBudget>(budgets: readonly Budget[]) => Budget[];
56
+ export declare const oauthTokenFillTargetSelect: <Budget extends OauthTokenSevenDayBudgetWithRemainingConcurrentSlots>(budgets: readonly Budget[]) => Budget | null;
45
57
  export declare const sevenDayUrgencyFactor: (sevenDayFreeRatio: number, sevenDayEndEpoch: number, nowEpochSeconds: number) => number;
46
58
  export declare const selectWeightedCandidate: <Entry>(eligible: Entry[], weightOf: (entry: Entry) => number, deterministicBest: Entry, random: SelectionRandom) => Entry;
47
59
  export declare class OauthTokenSelectUseCase {
@@ -53,7 +65,6 @@ export declare class OauthTokenSelectUseCase {
53
65
  private sevenDayFreeRatio;
54
66
  private sevenDayEndEpoch;
55
67
  private windowExpired;
56
- private freeRatioFromUtilization;
57
68
  private toPercent;
58
69
  }
59
70
  //# sourceMappingURL=OauthTokenSelectUseCase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OauthTokenSelectUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/OauthTokenSelectUseCase.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,wBAAwB,GAAG;IACrC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAC1C,oBAAoB,EAAE,OAAO,CAAC;IAC9B,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC;AAE3C,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,eAAO,MAAM,iBAAiB,GAAI,WAAW,mBAAmB,KAAG,MAGlE,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACrC,OAAO,EAAE,0BAA0B,EAAE,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC;AAKF,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAC7C,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C,eAAO,MAAM,wCAAwC,EAAE,6BAIpD,CAAC;AAEJ,eAAO,MAAM,0CAA0C,EAAE,6BAItD,CAAC;AAEJ,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,8BAA8B,KAAK,CAAC;AACjD,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAGhD,eAAO,MAAM,qBAAqB,GAChC,mBAAmB,MAAM,EACzB,kBAAkB,MAAM,EACxB,iBAAiB,MAAM,KACtB,MAOF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,KAAK,EAC3C,UAAU,KAAK,EAAE,EACjB,UAAU,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,EAClC,mBAAmB,KAAK,EACxB,QAAQ,eAAe,KACtB,KAkBF,CAAC;AAEF,qBAAa,uBAAuB;IAClC,GAAG,GACD,YAAY,mBAAmB,EAAE,EACjC,iBAAiB,MAAM,EACvB,SAAQ,eAA6B,EACrC,aAAY,6BAAwE,KACnF,sBAAsB,CA4CvB;IAEF,OAAO,CAAC,QAAQ,CAqDd;IAEF,OAAO,CAAC,eAAe,CAqCrB;IAEF,OAAO,CAAC,cAAc,CAM6C;IAEnE,OAAO,CAAC,iBAAiB,CAWvB;IAEF,OAAO,CAAC,iBAAiB,CAWvB;IAEF,OAAO,CAAC,gBAAgB,CActB;IAEF,OAAO,CAAC,aAAa,CAGwC;IAE7D,OAAO,CAAC,wBAAwB,CAG9B;IAEF,OAAO,CAAC,SAAS,CAAsD;CACxE"}
1
+ {"version":3,"file":"OauthTokenSelectUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/OauthTokenSelectUseCase.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"StartPreparationUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/StartPreparationUseCase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StartPreparationUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/StartPreparationUseCase.ts"],"names":[],"mappings":"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"}