github-issue-tower-defence-management 2.152.0 → 2.152.2

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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"}
@@ -9,7 +9,7 @@ const ProcClaudeHandoverSessionRepository_1 = require("../../repositories/ProcCl
9
9
  const NodeProcessSignalRepository_1 = require("../../repositories/NodeProcessSignalRepository");
10
10
  const FileHandoverStateRepository_1 = require("../../repositories/FileHandoverStateRepository");
11
11
  const handleTokenExhaustionHandover = async (params) => {
12
- const { enabled, tokenListJsonPath, handoverMessage, bareNameLeaderHandoverMessage, tokenRateLimitSnapshotBaseDir, gracePeriodSeconds, stateFilePath, localCommandRunner, now, } = params;
12
+ const { enabled, tokenListJsonPath, tokenRateLimitSnapshotBaseDir, stateFilePath, localCommandRunner, now, } = params;
13
13
  if (tokenListJsonPath === null) {
14
14
  console.log('Token exhaustion handover: skipped (no claudeCodeOauthTokenListJsonPath configured).');
15
15
  return;
@@ -19,10 +19,6 @@ const handleTokenExhaustionHandover = async (params) => {
19
19
  const useCase = new TokenExhaustionHandoverUseCase_1.TokenExhaustionHandoverUseCase(new ProcClaudeHandoverSessionRepository_1.ProcClaudeHandoverSessionRepository(), snapshotRepository, new NodeTmuxSessionRepository_1.NodeTmuxSessionRepository(localCommandRunner), new NodeProcessSignalRepository_1.NodeProcessSignalRepository(), new GitHubIssueCheckpointRepository_1.GitHubIssueCheckpointRepository(process.env.GH_TOKEN ?? ''));
20
20
  const result = await useCase.run({
21
21
  enabled,
22
- issueUrlLeaderMessage: handoverMessage ?? TokenExhaustionHandoverUseCase_1.DEFAULT_TOKEN_EXHAUSTION_HANDOVER_MESSAGE,
23
- bareNameLeaderMessage: bareNameLeaderHandoverMessage ??
24
- TokenExhaustionHandoverUseCase_1.DEFAULT_TOKEN_EXHAUSTION_HANDOVER_MESSAGE_BARE_NAME_LEADER,
25
- gracePeriodSeconds: gracePeriodSeconds ?? TokenExhaustionHandoverUseCase_1.DEFAULT_TOKEN_EXHAUSTION_GRACE_PERIOD_SECONDS,
26
22
  state: stateRepository.load(),
27
23
  now,
28
24
  });
@@ -1 +1 @@
1
- {"version":3,"file":"tokenExhaustionHandover.js","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/tokenExhaustionHandover.ts"],"names":[],"mappings":";;;AACA,4GAKiE;AACjE,wGAAqG;AACrG,4FAAyF;AACzF,gGAA6F;AAC7F,gHAA6G;AAC7G,gGAA6F;AAC7F,gGAGwD;AAcjD,MAAM,6BAA6B,GAAG,KAAK,EAChD,MAAqC,EACtB,EAAE;IACjB,MAAM,EACJ,OAAO,EACP,iBAAiB,EACjB,eAAe,EACf,6BAA6B,EAC7B,6BAA6B,EAC7B,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,GAAG,GACJ,GAAG,MAAM,CAAC;IAEX,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CACT,sFAAsF,CACvF,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,kBAAkB,GAAG,IAAI,yDAA2B,CACxD,iBAAiB,EACjB,6BAA6B,IAAI,SAAS,CAC3C,CAAC;IACF,MAAM,eAAe,GAAG,IAAI,yDAA2B,CACrD,aAAa,IAAI,IAAA,0DAA4B,GAAE,CAChD,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,+DAA8B,CAChD,IAAI,yEAAmC,EAAE,EACzC,kBAAkB,EAClB,IAAI,qDAAyB,CAAC,kBAAkB,CAAC,EACjD,IAAI,yDAA2B,EAAE,EACjC,IAAI,iEAA+B,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAChE,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC/B,OAAO;QACP,qBAAqB,EACnB,eAAe,IAAI,0EAAyC;QAC9D,qBAAqB,EACnB,6BAA6B;YAC7B,2FAA0D;QAC5D,kBAAkB,EAChB,kBAAkB,IAAI,8EAA6C;QACrE,KAAK,EAAE,eAAe,CAAC,IAAI,EAAE;QAC7B,GAAG;KACJ,CAAC,CAAC;IAEH,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAnDW,QAAA,6BAA6B,iCAmDxC"}
1
+ {"version":3,"file":"tokenExhaustionHandover.js","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/tokenExhaustionHandover.ts"],"names":[],"mappings":";;;AACA,4GAAyG;AACzG,wGAAqG;AACrG,4FAAyF;AACzF,gGAA6F;AAC7F,gHAA6G;AAC7G,gGAA6F;AAC7F,gGAGwD;AAcjD,MAAM,6BAA6B,GAAG,KAAK,EAChD,MAAqC,EACtB,EAAE;IACjB,MAAM,EACJ,OAAO,EACP,iBAAiB,EACjB,6BAA6B,EAC7B,aAAa,EACb,kBAAkB,EAClB,GAAG,GACJ,GAAG,MAAM,CAAC;IAEX,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CACT,sFAAsF,CACvF,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,kBAAkB,GAAG,IAAI,yDAA2B,CACxD,iBAAiB,EACjB,6BAA6B,IAAI,SAAS,CAC3C,CAAC;IACF,MAAM,eAAe,GAAG,IAAI,yDAA2B,CACrD,aAAa,IAAI,IAAA,0DAA4B,GAAE,CAChD,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,+DAA8B,CAChD,IAAI,yEAAmC,EAAE,EACzC,kBAAkB,EAClB,IAAI,qDAAyB,CAAC,kBAAkB,CAAC,EACjD,IAAI,yDAA2B,EAAE,EACjC,IAAI,iEAA+B,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAChE,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC/B,OAAO;QACP,KAAK,EAAE,eAAe,CAAC,IAAI,EAAE;QAC7B,GAAG;KACJ,CAAC,CAAC;IAEH,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAzCW,QAAA,6BAA6B,iCAyCxC"}
@@ -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,13 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TokenExhaustionHandoverUseCase = exports.TOKEN_EXHAUSTION_SEVEN_DAY_WARNING_FREE_THRESHOLD = exports.TOKEN_EXHAUSTION_FIVE_HOUR_WARNING_FREE_THRESHOLD = exports.TOKEN_EXHAUSTION_SEVEN_DAY_FREE_THRESHOLD = exports.TOKEN_EXHAUSTION_FIVE_HOUR_FREE_THRESHOLD = exports.TOKEN_EXHAUSTION_SNAPSHOT_HARD_STALE_THRESHOLD_SECONDS = exports.TOKEN_EXHAUSTION_SNAPSHOT_STALE_THRESHOLD_SECONDS = exports.DEFAULT_TOKEN_EXHAUSTION_GRACE_PERIOD_SECONDS = exports.DEFAULT_TOKEN_EXHAUSTION_HANDOVER_MESSAGE_BARE_NAME_LEADER = exports.DEFAULT_TOKEN_EXHAUSTION_HANDOVER_MESSAGE = void 0;
4
- exports.DEFAULT_TOKEN_EXHAUSTION_HANDOVER_MESSAGE = 'TOKEN NEAR EXHAUSTION. Within 2 minutes, write a CHECKPOINT to your assigned task issue: the in-flight subagents and what each is doing, their durable refs (branch and pull request URLs), the working directory and branch, the single concrete next action to resume, and the reason (token near exhaustion). Do this WITHOUT waiting for long-running or CI-watching subagents. Then self-kill your own tmux session with `tmux kill-session`.';
5
- exports.DEFAULT_TOKEN_EXHAUSTION_HANDOVER_MESSAGE_BARE_NAME_LEADER = 'TOKEN NEAR EXHAUSTION. You are a resident leader with no assigned task issue. Within 2 minutes, write a CHECKPOINT for every in-flight subagent (what each is doing and its durable refs = branch and pull request URLs, plus the single concrete next action to resume and the working directory and branch) into the GitHub issue that each subagent is working on, WITHOUT waiting for long-running or CI-watching subagents. Then stop and stay idle; do NOT self-kill. This session will be terminated and relaunched on a token that still has quota so its work is preserved.';
6
- exports.DEFAULT_TOKEN_EXHAUSTION_GRACE_PERIOD_SECONDS = 180;
3
+ exports.TokenExhaustionHandoverUseCase = exports.TOKEN_EXHAUSTION_SEVEN_DAY_WARNING_FREE_THRESHOLD = exports.TOKEN_EXHAUSTION_FIVE_HOUR_WARNING_FREE_THRESHOLD = exports.TOKEN_EXHAUSTION_SNAPSHOT_HARD_STALE_THRESHOLD_SECONDS = exports.TOKEN_EXHAUSTION_SNAPSHOT_STALE_THRESHOLD_SECONDS = void 0;
7
4
  exports.TOKEN_EXHAUSTION_SNAPSHOT_STALE_THRESHOLD_SECONDS = 900;
8
5
  exports.TOKEN_EXHAUSTION_SNAPSHOT_HARD_STALE_THRESHOLD_SECONDS = 3600;
9
- exports.TOKEN_EXHAUSTION_FIVE_HOUR_FREE_THRESHOLD = 0.1;
10
- exports.TOKEN_EXHAUSTION_SEVEN_DAY_FREE_THRESHOLD = 0.05;
11
6
  exports.TOKEN_EXHAUSTION_FIVE_HOUR_WARNING_FREE_THRESHOLD = 0.25;
12
7
  exports.TOKEN_EXHAUSTION_SEVEN_DAY_WARNING_FREE_THRESHOLD = 0.15;
13
8
  class TokenExhaustionHandoverUseCase {
@@ -22,11 +17,9 @@ class TokenExhaustionHandoverUseCase {
22
17
  const sessions = this.handoverSessionRepository.listHandoverSessions();
23
18
  const snapshots = this.snapshotRepository.listSnapshots();
24
19
  const snapshotByToken = new Map(snapshots.map((snapshot) => [snapshot.token, snapshot]));
25
- const liveSessionNames = new Set(await this.tmuxSessionRepository.listLiveSessionNames());
26
20
  const nextEntries = {
27
21
  ...input.state.entries,
28
22
  };
29
- const newlyHandoverSentSessionNames = [];
30
23
  const killedSessionNames = [];
31
24
  const terminatedPids = [];
32
25
  const relaunchedLeaderNames = [];
@@ -45,7 +38,7 @@ class TokenExhaustionHandoverUseCase {
45
38
  continue;
46
39
  }
47
40
  const hasTmux = session.kind !== 'implSubagent';
48
- const verdict = this.evaluateSnapshot(snapshot, nowEpochSeconds, hasTmux);
41
+ const verdict = this.evaluateSnapshot(snapshot, nowEpochSeconds);
49
42
  const stateKey = this.stateKeyFor(session);
50
43
  if (verdict.stale) {
51
44
  continue;
@@ -59,77 +52,33 @@ class TokenExhaustionHandoverUseCase {
59
52
  leftAliveSessionNames.push(this.displayName(session));
60
53
  continue;
61
54
  }
62
- if (session.kind === 'bareNameLeader') {
63
- if (!input.enabled) {
64
- console.log(`Token exhaustion handover: would kill and relaunch ${this.displayName(session)} kind=${session.kind} reason=${verdict.reason} (dry-run, enabled=false)`);
65
- delete nextEntries[stateKey];
66
- continue;
67
- }
68
- await this.forceKill(session, {
69
- signaledAtEpoch: nowEpochSeconds,
70
- pid: session.pid,
71
- });
72
- await this.relaunchBareNameLeader(session, relaunchedLeaderNames);
73
- killedSessionNames.push(this.displayName(session));
74
- console.log(`Token exhaustion handover: killed and relaunched ${this.displayName(session)} kind=${session.kind} reason=${verdict.reason} enabled=${input.enabled}`);
75
- delete nextEntries[stateKey];
76
- continue;
77
- }
78
- const entry = nextEntries[stateKey];
79
- if (entry === undefined) {
80
- if (input.enabled) {
81
- await this.sendHandover(session, input);
82
- }
83
- console.log(`Token exhaustion handover: signaled ${this.displayName(session)} kind=${session.kind} reason=${verdict.reason} enabled=${input.enabled}`);
84
- nextEntries[stateKey] = {
85
- signaledAtEpoch: nowEpochSeconds,
86
- pid: session.pid,
87
- };
88
- newlyHandoverSentSessionNames.push(this.displayName(session));
89
- continue;
90
- }
91
- if (nowEpochSeconds - entry.signaledAtEpoch <
92
- input.gracePeriodSeconds) {
93
- console.log(`Token exhaustion handover: waiting for grace period for ${this.displayName(session)} remainingSeconds=${input.gracePeriodSeconds - (nowEpochSeconds - entry.signaledAtEpoch)}`);
94
- continue;
95
- }
96
- const alive = hasTmux
97
- ? session.sessionName !== null &&
98
- liveSessionNames.has(session.sessionName) &&
99
- session.pid === entry.pid
100
- : this.processSignalRepository.isProcessAlive(entry.pid);
101
- if (!alive) {
102
- if (input.enabled && this.needsRelaunch(session)) {
103
- await this.relaunchBareNameLeader(session, relaunchedLeaderNames);
104
- }
105
- delete nextEntries[stateKey];
106
- continue;
107
- }
108
55
  if (!input.enabled) {
109
- console.log(`Token exhaustion handover: would force-kill ${this.displayName(session)} kind=${session.kind} (dry-run, enabled=false)`);
56
+ console.log(`Token exhaustion handover: would kill${this.needsRelaunch(session) ? ' and relaunch' : ''} ${this.displayName(session)} kind=${session.kind} reason=${verdict.reason} (dry-run, enabled=false)`);
110
57
  delete nextEntries[stateKey];
111
58
  continue;
112
59
  }
113
- await this.forceKill(session, entry);
60
+ await this.forceKill(session, {
61
+ signaledAtEpoch: nowEpochSeconds,
62
+ pid: session.pid,
63
+ });
114
64
  if (this.needsRelaunch(session)) {
115
65
  await this.relaunchBareNameLeader(session, relaunchedLeaderNames);
116
66
  }
117
- console.log(`Token exhaustion handover: force-killed ${this.displayName(session)} kind=${session.kind}`);
118
67
  if (hasTmux) {
119
68
  killedSessionNames.push(this.displayName(session));
120
69
  }
121
70
  else {
122
- terminatedPids.push(entry.pid);
71
+ terminatedPids.push(session.pid);
123
72
  }
73
+ console.log(`Token exhaustion handover: killed${this.needsRelaunch(session) ? ' and relaunched' : ''} ${this.displayName(session)} kind=${session.kind} reason=${verdict.reason} enabled=${input.enabled}`);
124
74
  delete nextEntries[stateKey];
125
75
  }
126
76
  catch (error) {
127
77
  console.error(`Token exhaustion handover: error processing ${this.displayName(session)}: ${error instanceof Error ? error.message : String(error)}`);
128
78
  }
129
79
  }
130
- console.log(`Token exhaustion handover: cycle summary evaluated=${sessions.length} enabled=${input.enabled} signaled=${newlyHandoverSentSessionNames.length} killed=${killedSessionNames.length} terminatedPids=${terminatedPids.length} relaunched=${relaunchedLeaderNames.length} leftAlive=${leftAliveSessionNames.length} skippedWorkspacePreparation=${skippedWorkspacePreparationSessionNames.length}`);
80
+ console.log(`Token exhaustion handover: cycle summary evaluated=${sessions.length} enabled=${input.enabled} killed=${killedSessionNames.length} terminatedPids=${terminatedPids.length} relaunched=${relaunchedLeaderNames.length} leftAlive=${leftAliveSessionNames.length} skippedWorkspacePreparation=${skippedWorkspacePreparationSessionNames.length}`);
131
81
  return {
132
- newlyHandoverSentSessionNames,
133
82
  killedSessionNames,
134
83
  terminatedPids,
135
84
  relaunchedLeaderNames,
@@ -146,25 +95,6 @@ class TokenExhaustionHandoverUseCase {
146
95
  await this.tmuxSessionRepository.launchBareNameLeaderSession(session.name);
147
96
  relaunchedLeaderNames.push(session.name);
148
97
  };
149
- this.sendHandover = async (session, input) => {
150
- if (session.kind === 'implSubagent') {
151
- if (session.issueUrl !== null) {
152
- await this.issueCheckpointRepository.postCheckpoint(session.issueUrl);
153
- }
154
- else {
155
- console.log(`Token exhaustion handover: sending SIGTERM to impl subagent pid=${session.pid} (no issue URL, cannot post checkpoint)`);
156
- this.processSignalRepository.terminateProcess(session.pid);
157
- }
158
- return;
159
- }
160
- if (session.sessionName === null) {
161
- return;
162
- }
163
- const message = session.kind === 'issueUrlLeader'
164
- ? input.issueUrlLeaderMessage
165
- : input.bareNameLeaderMessage;
166
- await this.tmuxSessionRepository.sendKeys(session.sessionName, message);
167
- };
168
98
  this.forceKill = async (session, entry) => {
169
99
  if (session.kind === 'implSubagent') {
170
100
  this.processSignalRepository.terminateProcess(entry.pid);
@@ -190,14 +120,14 @@ class TokenExhaustionHandoverUseCase {
190
120
  if (snapshot.token === currentToken) {
191
121
  continue;
192
122
  }
193
- const verdict = this.evaluateSnapshot(snapshot, nowEpochSeconds, true);
123
+ const verdict = this.evaluateSnapshot(snapshot, nowEpochSeconds);
194
124
  if (!verdict.stale && !verdict.exhausted) {
195
125
  return true;
196
126
  }
197
127
  }
198
128
  return false;
199
129
  };
200
- this.evaluateSnapshot = (snapshot, nowEpochSeconds, hasTmux) => {
130
+ this.evaluateSnapshot = (snapshot, nowEpochSeconds) => {
201
131
  const age = nowEpochSeconds - snapshot.lastUpdatedEpoch;
202
132
  const fiveHourFree = this.freeRatio(snapshot.fiveHourUtilization, snapshot.fiveHourReset, nowEpochSeconds);
203
133
  const sevenDayFree = this.freeRatio(snapshot.sevenDayUtilization, snapshot.sevenDayReset, nowEpochSeconds);
@@ -232,19 +162,12 @@ class TokenExhaustionHandoverUseCase {
232
162
  weeklyCapped,
233
163
  };
234
164
  }
235
- const exhausted = fiveHourFree < exports.TOKEN_EXHAUSTION_FIVE_HOUR_FREE_THRESHOLD ||
236
- (hasTmux && sevenDayFree < exports.TOKEN_EXHAUSTION_SEVEN_DAY_FREE_THRESHOLD) ||
237
- blocked ||
238
- weeklyCapped;
165
+ const exhausted = blocked || weeklyCapped;
239
166
  const reason = weeklyCapped
240
167
  ? 'weekly_hard_cap_rejected'
241
- : fiveHourFree < exports.TOKEN_EXHAUSTION_FIVE_HOUR_FREE_THRESHOLD
242
- ? 'five_hour_free_below_threshold'
243
- : hasTmux && sevenDayFree < exports.TOKEN_EXHAUSTION_SEVEN_DAY_FREE_THRESHOLD
244
- ? 'seven_day_free_below_threshold'
245
- : blocked
246
- ? 'blocked_or_rejected'
247
- : 'healthy';
168
+ : blocked
169
+ ? 'blocked_or_rejected'
170
+ : 'healthy';
248
171
  return {
249
172
  stale: false,
250
173
  exhausted,
@@ -1 +1 @@
1
- {"version":3,"file":"TokenExhaustionHandoverUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/TokenExhaustionHandoverUseCase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TokenExhaustionHandoverUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/TokenExhaustionHandoverUseCase.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "github-issue-tower-defence-management",
3
- "version": "2.152.0",
3
+ "version": "2.152.2",
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 +1 @@
1
- {"version":3,"file":"tokenExhaustionHandover.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/tokenExhaustionHandover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gEAAgE,CAAC;AAiBpG,MAAM,MAAM,6BAA6B,GAAG;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,6BAA6B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,6BAA6B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,GAAG,EAAE,IAAI,CAAC;CACX,CAAC;AAEF,eAAO,MAAM,6BAA6B,GACxC,QAAQ,6BAA6B,KACpC,OAAO,CAAC,IAAI,CAiDd,CAAC"}
1
+ {"version":3,"file":"tokenExhaustionHandover.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/tokenExhaustionHandover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gEAAgE,CAAC;AAYpG,MAAM,MAAM,6BAA6B,GAAG;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,6BAA6B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,6BAA6B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,GAAG,EAAE,IAAI,CAAC;CACX,CAAC;AAEF,eAAO,MAAM,6BAA6B,GACxC,QAAQ,6BAA6B,KACpC,OAAO,CAAC,IAAI,CAuCd,CAAC"}
@@ -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"}
@@ -4,25 +4,16 @@ import { IssueCheckpointRepository } from './adapter-interfaces/IssueCheckpointR
4
4
  import { ProcessSignalRepository } from './adapter-interfaces/ProcessSignalRepository';
5
5
  import { TmuxSessionRepository } from './adapter-interfaces/TmuxSessionRepository';
6
6
  import { TokenRateLimitSnapshotRepository } from './adapter-interfaces/TokenRateLimitSnapshotRepository';
7
- export declare const DEFAULT_TOKEN_EXHAUSTION_HANDOVER_MESSAGE = "TOKEN NEAR EXHAUSTION. Within 2 minutes, write a CHECKPOINT to your assigned task issue: the in-flight subagents and what each is doing, their durable refs (branch and pull request URLs), the working directory and branch, the single concrete next action to resume, and the reason (token near exhaustion). Do this WITHOUT waiting for long-running or CI-watching subagents. Then self-kill your own tmux session with `tmux kill-session`.";
8
- export declare const DEFAULT_TOKEN_EXHAUSTION_HANDOVER_MESSAGE_BARE_NAME_LEADER = "TOKEN NEAR EXHAUSTION. You are a resident leader with no assigned task issue. Within 2 minutes, write a CHECKPOINT for every in-flight subagent (what each is doing and its durable refs = branch and pull request URLs, plus the single concrete next action to resume and the working directory and branch) into the GitHub issue that each subagent is working on, WITHOUT waiting for long-running or CI-watching subagents. Then stop and stay idle; do NOT self-kill. This session will be terminated and relaunched on a token that still has quota so its work is preserved.";
9
- export declare const DEFAULT_TOKEN_EXHAUSTION_GRACE_PERIOD_SECONDS = 180;
10
7
  export declare const TOKEN_EXHAUSTION_SNAPSHOT_STALE_THRESHOLD_SECONDS = 900;
11
8
  export declare const TOKEN_EXHAUSTION_SNAPSHOT_HARD_STALE_THRESHOLD_SECONDS = 3600;
12
- export declare const TOKEN_EXHAUSTION_FIVE_HOUR_FREE_THRESHOLD = 0.1;
13
- export declare const TOKEN_EXHAUSTION_SEVEN_DAY_FREE_THRESHOLD = 0.05;
14
9
  export declare const TOKEN_EXHAUSTION_FIVE_HOUR_WARNING_FREE_THRESHOLD = 0.25;
15
10
  export declare const TOKEN_EXHAUSTION_SEVEN_DAY_WARNING_FREE_THRESHOLD = 0.15;
16
11
  export type TokenExhaustionHandoverInput = {
17
12
  enabled: boolean;
18
- issueUrlLeaderMessage: string;
19
- bareNameLeaderMessage: string;
20
- gracePeriodSeconds: number;
21
13
  state: TokenExhaustionHandoverState;
22
14
  now: Date;
23
15
  };
24
16
  export type TokenExhaustionHandoverResult = {
25
- newlyHandoverSentSessionNames: string[];
26
17
  killedSessionNames: string[];
27
18
  terminatedPids: number[];
28
19
  relaunchedLeaderNames: string[];
@@ -40,7 +31,6 @@ export declare class TokenExhaustionHandoverUseCase {
40
31
  run: (input: TokenExhaustionHandoverInput) => Promise<TokenExhaustionHandoverResult>;
41
32
  private needsRelaunch;
42
33
  private relaunchBareNameLeader;
43
- private sendHandover;
44
34
  private forceKill;
45
35
  private stateKeyFor;
46
36
  private displayName;
@@ -1 +1 @@
1
- {"version":3,"file":"TokenExhaustionHandoverUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/TokenExhaustionHandoverUseCase.ts"],"names":[],"mappings":"AACA,OAAO,EACL,4BAA4B,EAE7B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AACvG,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAGL,gCAAgC,EACjC,MAAM,uDAAuD,CAAC;AAE/D,eAAO,MAAM,yCAAyC,ubACgY,CAAC;AAEvb,eAAO,MAAM,0DAA0D,yjBACif,CAAC;AAEzjB,eAAO,MAAM,6CAA6C,MAAM,CAAC;AACjE,eAAO,MAAM,iDAAiD,MAAM,CAAC;AACrE,eAAO,MAAM,sDAAsD,OAAO,CAAC;AAC3E,eAAO,MAAM,yCAAyC,MAAM,CAAC;AAC7D,eAAO,MAAM,yCAAyC,OAAO,CAAC;AAC9D,eAAO,MAAM,iDAAiD,OAAO,CAAC;AACtE,eAAO,MAAM,iDAAiD,OAAO,CAAC;AAYtE,MAAM,MAAM,4BAA4B,GAAG;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,4BAA4B,CAAC;IACpC,GAAG,EAAE,IAAI,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,6BAA6B,EAAE,MAAM,EAAE,CAAC;IACxC,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,uCAAuC,EAAE,MAAM,EAAE,CAAC;IAClD,KAAK,EAAE,4BAA4B,CAAC;CACrC,CAAC;AAEF,qBAAa,8BAA8B;IAEvC,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAI1C,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAInC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IAOtC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,yBAAyB;gBAhBzB,yBAAyB,EAAE,IAAI,CAC9C,+BAA+B,EAC/B,sBAAsB,CACvB,EACgB,kBAAkB,EAAE,IAAI,CACvC,gCAAgC,EAChC,eAAe,CAChB,EACgB,qBAAqB,EAAE,IAAI,CAC1C,qBAAqB,EACnB,UAAU,GACV,aAAa,GACb,sBAAsB,GACtB,6BAA6B,CAChC,EACgB,uBAAuB,EAAE,uBAAuB,EAChD,yBAAyB,EAAE,IAAI,CAC9C,yBAAyB,EACzB,gBAAgB,CACjB;IAGH,GAAG,GACD,OAAO,4BAA4B,KAClC,OAAO,CAAC,6BAA6B,CAAC,CAyKvC;IAEF,OAAO,CAAC,aAAa,CACwC;IAE7D,OAAO,CAAC,sBAAsB,CAS5B;IAEF,OAAO,CAAC,YAAY,CAuBlB;IAEF,OAAO,CAAC,SAAS,CAqBf;IAEF,OAAO,CAAC,WAAW,CAGiC;IAEpD,OAAO,CAAC,WAAW,CAC2B;IAE9C,OAAO,CAAC,uBAAuB,CAe7B;IAEF,OAAO,CAAC,gBAAgB,CAgFtB;IAEF,OAAO,CAAC,SAAS,CASf;IAEF,OAAO,CAAC,OAAO,CAQb;IAEF,OAAO,CAAC,cAAc,CAcpB;CACH"}
1
+ {"version":3,"file":"TokenExhaustionHandoverUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/TokenExhaustionHandoverUseCase.ts"],"names":[],"mappings":"AACA,OAAO,EACL,4BAA4B,EAE7B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AACvG,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAGL,gCAAgC,EACjC,MAAM,uDAAuD,CAAC;AAE/D,eAAO,MAAM,iDAAiD,MAAM,CAAC;AACrE,eAAO,MAAM,sDAAsD,OAAO,CAAC;AAC3E,eAAO,MAAM,iDAAiD,OAAO,CAAC;AACtE,eAAO,MAAM,iDAAiD,OAAO,CAAC;AAYtE,MAAM,MAAM,4BAA4B,GAAG;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,4BAA4B,CAAC;IACpC,GAAG,EAAE,IAAI,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,uCAAuC,EAAE,MAAM,EAAE,CAAC;IAClD,KAAK,EAAE,4BAA4B,CAAC;CACrC,CAAC;AAEF,qBAAa,8BAA8B;IAEvC,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAI1C,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAInC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IAOtC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,yBAAyB;gBAhBzB,yBAAyB,EAAE,IAAI,CAC9C,+BAA+B,EAC/B,sBAAsB,CACvB,EACgB,kBAAkB,EAAE,IAAI,CACvC,gCAAgC,EAChC,eAAe,CAChB,EACgB,qBAAqB,EAAE,IAAI,CAC1C,qBAAqB,EACnB,UAAU,GACV,aAAa,GACb,sBAAsB,GACtB,6BAA6B,CAChC,EACgB,uBAAuB,EAAE,uBAAuB,EAChD,yBAAyB,EAAE,IAAI,CAC9C,yBAAyB,EACzB,gBAAgB,CACjB;IAGH,GAAG,GACD,OAAO,4BAA4B,KAClC,OAAO,CAAC,6BAA6B,CAAC,CAsGvC;IAEF,OAAO,CAAC,aAAa,CACwC;IAE7D,OAAO,CAAC,sBAAsB,CAS5B;IAEF,OAAO,CAAC,SAAS,CAqBf;IAEF,OAAO,CAAC,WAAW,CAGiC;IAEpD,OAAO,CAAC,WAAW,CAC2B;IAE9C,OAAO,CAAC,uBAAuB,CAe7B;IAEF,OAAO,CAAC,gBAAgB,CAuEtB;IAEF,OAAO,CAAC,SAAS,CASf;IAEF,OAAO,CAAC,OAAO,CAQb;IAEF,OAAO,CAAC,cAAc,CAcpB;CACH"}