github-issue-tower-defence-management 1.82.0 → 1.83.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -54,7 +54,12 @@ jobs:
54
54
  loose-matching: true
55
55
  - name: Install commitlint
56
56
  run: |
57
- npm install --save-dev @commitlint/{config-conventional,cli}
57
+ mkdir -p /tmp/commitlint-run
58
+ cd /tmp/commitlint-run
59
+ npm init -y
60
+ npm install --no-audit --no-fund --save-dev @commitlint/cli @commitlint/config-conventional
58
61
  - name: Lint commits
62
+ env:
63
+ NODE_PATH: /tmp/commitlint-run/node_modules
59
64
  run: |
60
- npx commitlint --from=origin/main --to=HEAD --config ./.github/workflows/configs/commitlint.config.js
65
+ /tmp/commitlint-run/node_modules/.bin/commitlint --from=origin/main --to=HEAD --config $GITHUB_WORKSPACE/.github/workflows/configs/commitlint.config.js
@@ -76,18 +76,36 @@ jobs:
76
76
  - name: Enable Auto Merge for PR
77
77
  if: steps.resolve_pr.outputs.pr_number
78
78
  run: |
79
+ RULESET_METHOD=$(gh api "repos/${{ github.repository }}/rules/branches/main" \
80
+ --jq '[.[] | select(.type == "pull_request") | .parameters.allowed_merge_methods // empty][0][0]' 2>/dev/null || echo "")
81
+ if [ -n "$RULESET_METHOD" ] && [ "$RULESET_METHOD" != "null" ]; then
82
+ MERGE_METHOD=$(echo "$RULESET_METHOD" | tr '[:lower:]' '[:upper:]')
83
+ else
84
+ ALLOW_SQUASH=$(gh api "repos/${{ github.repository }}" --jq '.allow_squash_merge')
85
+ ALLOW_REBASE=$(gh api "repos/${{ github.repository }}" --jq '.allow_rebase_merge')
86
+ if [ "$ALLOW_SQUASH" = "true" ]; then
87
+ MERGE_METHOD="SQUASH"
88
+ elif [ "$ALLOW_REBASE" = "true" ]; then
89
+ MERGE_METHOD="REBASE"
90
+ else
91
+ MERGE_METHOD="MERGE"
92
+ fi
93
+ fi
79
94
  RESPONSE=$(curl -s -X POST \
80
95
  -H "Authorization: bearer ${{ steps.app-token.outputs.token }}" \
81
96
  -H "Content-Type: application/json" \
82
- -d '{
83
- "query": "mutation($id: ID!) { enablePullRequestAutoMerge(input: { pullRequestId: $id }) { clientMutationId } }",
84
- "variables": {
85
- "id": "'"${{ steps.get_pr_id.outputs.node_id }}"'"
97
+ -d "{
98
+ \"query\": \"mutation(\$id: ID!, \$mergeMethod: PullRequestMergeMethod!) { enablePullRequestAutoMerge(input: { pullRequestId: \$id, mergeMethod: \$mergeMethod }) { clientMutationId } }\",
99
+ \"variables\": {
100
+ \"id\": \"${{ steps.get_pr_id.outputs.node_id }}\",
101
+ \"mergeMethod\": \"$MERGE_METHOD\"
86
102
  }
87
- }' \
103
+ }" \
88
104
  "https://api.github.com/graphql")
89
105
  echo "$RESPONSE"
90
106
  if echo "$RESPONSE" | jq -e '.errors' >/dev/null; then
91
107
  echo "Failed to enable auto merge"
92
108
  exit 1
93
109
  fi
110
+ env:
111
+ GH_TOKEN: ${{ steps.app-token.outputs.token }}
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ # [1.83.0](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.82.1...v1.83.0) (2026-06-14)
2
+
3
+
4
+ ### Features
5
+
6
+ * **core:** route spawn model per token from each token's weekly availability ([#829](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/829)) ([d270a26](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/commit/d270a2609ed17fff33e010a236af17d9838928be)), closes [#828](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/828)
7
+
8
+ ## [1.82.1](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.82.0...v1.82.1) (2026-06-12)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * **core:** make per-spawn token assignment prefer the soonest-reset token, not just the least-loaded one ([ad09404](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/commit/ad09404f2e16afb892075d1715deba5e1e02718f))
14
+
1
15
  # [1.82.0](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.81.0...v1.82.0) (2026-06-12)
2
16
 
3
17
 
package/README.md CHANGED
@@ -33,7 +33,7 @@ Options for startDaemon:
33
33
  --projectUrl <url> GitHub project URL
34
34
  --defaultAgentName <name> Default agent name
35
35
  --defaultLlmModelName <name> Default LLM model name
36
- --fallbackLlmModelName <name> LLM model to fall back to when the default Sonnet model is selected but its 7-day weekly limit is exhausted across all tokens (default: claude-opus-4-8)
36
+ --fallbackLlmModelName <name> LLM model a token falls back to when the default Sonnet model's 7-day weekly limit is exhausted for that token while its fallback weekly window still has capacity; routing is decided per token, so tokens with Sonnet headroom keep using Sonnet in the same pass (default: claude-opus-4-8)
37
37
  --defaultLlmAgentName <name> Default LLM agent name
38
38
  --maximumPreparingIssuesCount <count> Maximum number of issues in preparation status (default: 6 per available Claude OAuth token, otherwise 6)
39
39
  --allowIssueCacheMinutes <minutes> Allow cache for issues in minutes (default: 10)
@@ -108,7 +108,7 @@ startPreparation?: # Optional: Enable automatic issue preparation workflow
108
108
  defaultAgentName: string # Default agent name to assign for preparation
109
109
  configFilePath: string # Path to config file passed to the aw command
110
110
  defaultLlmModelName?: string | null # Optional: Default LLM model name (overridable via llm-model: label)
111
- fallbackLlmModelName?: string | null # Optional: LLM model to fall back to when defaultLlmModelName is a Sonnet model and its 7-day weekly limit is exhausted across all tokens while the fallback model still has capacity (default: claude-opus-4-8). Per-issue llm-model: labels remain authoritative and are never overridden by the fallback
111
+ fallbackLlmModelName?: string | null # Optional: LLM model a token falls back to when defaultLlmModelName is a Sonnet model and that token's 7-day Sonnet weekly limit is exhausted while its fallback weekly window still has capacity (default: claude-opus-4-8). Routing is decided per token, so tokens with Sonnet headroom keep using Sonnet in the same pass. Per-issue llm-model: labels remain authoritative and are never overridden by the fallback
112
112
  defaultLlmAgentName?: string | null # Optional: Default LLM agent name (overridable via llm-agent: label)
113
113
  maximumPreparingIssuesCount: number | null # Max concurrent preparing issues. When token rotation is active, effective concurrency is also capped at 6 per available token. When null, the default is 6 per available token, or 6 without token rotation
114
114
  utilizationPercentageThreshold?: number # Optional: 5-hour utilization hard threshold (percentage, default 90). Tokens at or above this value are excluded from rotation
@@ -185,7 +185,7 @@ projectUrl: string # URL of the GitHub project
185
185
  projectName: string # Project name (used for cache directory path)
186
186
  defaultAgentName: string # Default agent name for issue preparation
187
187
  defaultLlmModelName?: string # Optional: Default LLM model name
188
- fallbackLlmModelName?: string # Optional: LLM model to fall back to when defaultLlmModelName is a Sonnet model and its 7-day weekly limit is exhausted across all tokens while the fallback model still has capacity (default: claude-opus-4-8). Per-issue llm-model: labels remain authoritative
188
+ fallbackLlmModelName?: string # Optional: LLM model a token falls back to when defaultLlmModelName is a Sonnet model and that token's 7-day Sonnet weekly limit is exhausted while its fallback weekly window still has capacity (default: claude-opus-4-8). Routing is decided per token, so tokens with Sonnet headroom keep using Sonnet in the same pass. Per-issue llm-model: labels remain authoritative
189
189
  defaultLlmAgentName?: string # Optional: Default LLM agent name
190
190
  maximumPreparingIssuesCount?: number # Optional: Max concurrent preparing issues. When token rotation is active, effective concurrency is also capped at 6 per available token. Omitted defaults to 6 per available token, or 6 without token rotation
191
191
  allowIssueCacheMinutes?: number # Optional: Allow cache for issues in minutes (default: 10)
@@ -246,7 +246,7 @@ When `claudeCodeOauthTokenListJsonPath` is set, `startDaemon` distributes prepar
246
246
 
247
247
  2. Local reverse proxy (`127.0.0.1:8787`): on each `startDaemon` run, the daemon TCP-probes the port. If nothing responds, it spawns a detached child running `bin/adapter/proxy/proxyEntry.js`. The proxy forwards every request to `api.anthropic.com`, observes the `anthropic-ratelimit-unified-*` response headers, and writes them to a per-token cache file at `${XDG_CACHE_HOME:-~/.cache}/tdpm/ratelimit/<sha256-of-token>.json`. The cache file stores the latest 5-hour and 7-day utilization, reset epochs, and the unified, 5-hour, and 7-day statuses (used to detect `blocked` and `rejected` state per window). In addition to the unified headers, the proxy inspects the streamed response body for `rate_limit` events (objects carrying `rateLimitType`, `status`, and `resetsAt`) and records the model-specific weekly limits — at minimum `seven_day_sonnet` and `seven_day` — per token. These model-specific weekly limits are exposed only in the response body, never in the unified headers, so a token can appear healthy on `anthropic-ratelimit-unified-7d-*` while its Sonnet weekly limit is exhausted. When a response is an HTTP 429 that carries no `anthropic-ratelimit-*` headers at all (for example a `rate_limit_error` with `x-should-retry: true`), the proxy records a short-lived per-token cooldown as a `blockedUntilEpoch` field on that token's cache file without discarding the last-good snapshot: the cooldown end is `now + Retry-After` seconds when the `Retry-After` header is present (clamped to a maximum of 600 seconds), otherwise a fixed default of 90 seconds. A later response that does carry `anthropic-ratelimit-*` headers overwrites the cache and clears the cooldown.
248
248
 
249
- 3. Selection: before spawning each `aw` job, the daemon reads every token's cache file. A cached observation is treated as expired once its reset epoch has passed: when the current time is past the 5-hour reset, that token's 5-hour utilization is treated as `0` and any 5-hour-window rejection is cleared; likewise, when the 7-day reset has passed, the 7-day utilization is treated as `0` and any 7-day-window rejection is cleared; a model-specific weekly limit rejection is cleared once that limit's `resetsAt` has passed. This stale-reset expiry prevents a token that has actually recovered from being locked out of rotation forever (an excluded token receives no new requests, so the proxy never re-observes it). After expiry normalization, tokens whose status is `blocked`, whose remaining (non-expired) rejection is still active, whose `blockedUntilEpoch` cooldown is still in the future, whose 5-hour utilization meets or exceeds the configured threshold, or whose weekly limit for the model that will be used is rejected are excluded. A cooled-down token becomes selectable again automatically once its `blockedUntilEpoch` has passed. The model name maps to a limit type: a model name containing `sonnet` maps to `seven_day_sonnet`, one containing `opus` maps to `seven_day_opus`, otherwise `seven_day`; the generic `seven_day` rejection also excludes regardless of model. The remaining eligible tokens are sorted by time until the 7-day reset deadline ascending (soonest 7-day reset first, so quota that would otherwise expire unused is consumed first), with 5-hour utilization ascending as the tiebreaker. The 7-day reset deadline for a given spawn is read from the per-model weekly limit entry in `modelWeeklyLimits` matching the model that will be used (`seven_day_sonnet`, `seven_day_opus`, or the generic `seven_day`); when no model-specific or generic `seven_day` entry exists but the cache snapshot recorded a non-expired top-level `anthropic-ratelimit-unified-7d-reset` deadline, that header value is bridged into a synthesized generic `seven_day` entry whose `rejected` flag matches the (non-expired) `anthropic-ratelimit-unified-7d-status` rejection. When neither source supplies a deadline, the token is treated as having an infinite deadline and sorts last. Each token's per-run concurrent preparation slot count is determined by both its 5-hour and 7-day utilization, taking the more restrictive (minimum) of the two so concurrency ramps down as either window fills: for each window, at or below 80% the token receives the full six concurrent slots; above 80%, the slot count is reduced proportionally — specifically `ceil(6 × (1 − util) / 0.2)` — with a minimum of 1 slot at any utilization level, so near-exhausted tokens still participate rather than being cut off entirely. The final slot count is the minimum of the 5-hour-derived and 7-day-derived counts. Tokens are dispatched round-robin across their available slots, with the token whose 7-day reset is soonest selected preferentially. The effective preparation limit for a run is the lesser of the sum of all eligible tokens' slot counts and the explicit `maximumPreparingIssuesCount` (which defaults to 6). When a token list is configured but no eligible token remains after filtering, preparation is skipped for that run. The selected token and the proxy URL (`http://127.0.0.1:8787`) are passed to the child `aw` process as `CLAUDE_CODE_OAUTH_TOKEN` and `ANTHROPIC_BASE_URL` environment variables. The child inherits the parent process's environment, so no further wiring is required inside `aw`.
249
+ 3. Selection: before spawning each `aw` job, the daemon reads every token's cache file. A cached observation is treated as expired once its reset epoch has passed: when the current time is past the 5-hour reset, that token's 5-hour utilization is treated as `0` and any 5-hour-window rejection is cleared; likewise, when the 7-day reset has passed, the 7-day utilization is treated as `0` and any 7-day-window rejection is cleared; a model-specific weekly limit rejection is cleared once that limit's `resetsAt` has passed. This stale-reset expiry prevents a token that has actually recovered from being locked out of rotation forever (an excluded token receives no new requests, so the proxy never re-observes it). After expiry normalization, tokens whose status is `blocked`, whose remaining (non-expired) rejection is still active, whose `blockedUntilEpoch` cooldown is still in the future, or whose 5-hour utilization meets or exceeds the configured threshold are excluded. The model for each remaining token is then routed independently: the configured default model is preferred when that token's matching weekly window is not rejected, otherwise the configured fallback model (default `claude-opus-4-8`) is used when its matching weekly window is not rejected; a token is excluded for weekly limits only when every candidate model's weekly window is rejected or the generic `seven_day` window is rejected. This routing is per token, so within a single pass a token whose `seven_day_sonnet` window is exhausted is spawned on the fallback Opus model while sibling tokens that still have Sonnet headroom keep using Sonnet. A cooled-down token becomes selectable again automatically once its `blockedUntilEpoch` has passed. The model name maps to a limit type: a model name containing `sonnet` maps to `seven_day_sonnet`, one containing `opus` maps to `seven_day_opus`, otherwise `seven_day`; the generic `seven_day` rejection excludes a token regardless of model. The remaining eligible tokens are sorted by time until the 7-day reset deadline ascending (soonest 7-day reset first, so quota that would otherwise expire unused is consumed first), with 5-hour utilization ascending as the tiebreaker. The 7-day reset deadline for a given spawn is read from the per-model weekly limit entry in `modelWeeklyLimits` matching the model that will be used (`seven_day_sonnet`, `seven_day_opus`, or the generic `seven_day`); when no model-specific or generic `seven_day` entry exists but the cache snapshot recorded a non-expired top-level `anthropic-ratelimit-unified-7d-reset` deadline, that header value is bridged into a synthesized generic `seven_day` entry whose `rejected` flag matches the (non-expired) `anthropic-ratelimit-unified-7d-status` rejection. When neither source supplies a deadline, the token is treated as having an infinite deadline and sorts last. Each token's per-run concurrent preparation slot count is determined by both its 5-hour and 7-day utilization, taking the more restrictive (minimum) of the two so concurrency ramps down as either window fills: for each window, at or below 80% the token receives the full six concurrent slots; above 80%, the slot count is reduced proportionally — specifically `ceil(6 × (1 − util) / 0.2)` — with a minimum of 1 slot at any utilization level, so near-exhausted tokens still participate rather than being cut off entirely. The final slot count is the minimum of the 5-hour-derived and 7-day-derived counts. Before each `aw` spawn, among the tokens that still have an available slot (slot count minus the in-flight count minus the count already spawned this run, greater than zero), the token whose 7-day reset is soonest is selected; in-flight slot count from prior runs no longer routes new work away from a soon-reset token, so a soon-reset token's slots are filled before a later-reset token receives any, and remaining slot count is used only as the tiebreaker when two candidates share the same 7-day reset. The effective preparation limit for a run is the lesser of the sum of all eligible tokens' slot counts and the explicit `maximumPreparingIssuesCount` (which defaults to 6). When a token list is configured but no eligible token remains after filtering, preparation is skipped for that run. The selected token and the proxy URL (`http://127.0.0.1:8787`) are passed to the child `aw` process as `CLAUDE_CODE_OAUTH_TOKEN` and `ANTHROPIC_BASE_URL` environment variables. The child inherits the parent process's environment, so no further wiring is required inside `aw`.
250
250
 
251
251
  When `claudeCodeOauthTokenListJsonPath` is unset, no proxy is started and `aw` runs with whatever `CLAUDE_CODE_OAUTH_TOKEN` and `ANTHROPIC_BASE_URL` are already in the environment.
252
252
 
@@ -28,6 +28,21 @@ class StartPreparationUseCase {
28
28
  const general = usage.modelWeeklyLimits['seven_day'];
29
29
  return general !== undefined && general.rejected;
30
30
  };
31
+ this.selectModelForToken = (usage, defaultModelName, fallbackModelName) => {
32
+ const generalWeeklyLimit = usage.modelWeeklyLimits['seven_day'];
33
+ if (generalWeeklyLimit !== undefined && generalWeeklyLimit.rejected) {
34
+ return null;
35
+ }
36
+ const candidateModelNames = [defaultModelName, fallbackModelName].filter((modelName) => modelName !== null && modelName !== '');
37
+ for (const candidateModelName of candidateModelNames) {
38
+ const weeklyLimitType = this.weeklyLimitTypeForModel(candidateModelName);
39
+ const specificWeeklyLimit = usage.modelWeeklyLimits[weeklyLimitType];
40
+ if (specificWeeklyLimit === undefined || !specificWeeklyLimit.rejected) {
41
+ return candidateModelName;
42
+ }
43
+ }
44
+ return null;
45
+ };
31
46
  this.secondsUntilSevenDayReset = (usage, weeklyLimitType, nowEpochSeconds) => {
32
47
  const specific = usage.modelWeeklyLimits[weeklyLimitType];
33
48
  if (specific !== undefined) {
@@ -39,9 +54,9 @@ class StartPreparationUseCase {
39
54
  }
40
55
  return Number.POSITIVE_INFINITY;
41
56
  };
42
- this.compareBySevenDayDeadlineThenUtilization = (a, b, weeklyLimitType, nowEpochSeconds) => {
43
- const aSecondsUntilReset = this.secondsUntilSevenDayReset(a, weeklyLimitType, nowEpochSeconds);
44
- const bSecondsUntilReset = this.secondsUntilSevenDayReset(b, weeklyLimitType, nowEpochSeconds);
57
+ this.compareBySevenDayDeadlineThenUtilization = (a, aWeeklyLimitType, b, bWeeklyLimitType, nowEpochSeconds) => {
58
+ const aSecondsUntilReset = this.secondsUntilSevenDayReset(a, aWeeklyLimitType, nowEpochSeconds);
59
+ const bSecondsUntilReset = this.secondsUntilSevenDayReset(b, bWeeklyLimitType, nowEpochSeconds);
45
60
  if (aSecondsUntilReset !== bSecondsUntilReset) {
46
61
  return aSecondsUntilReset - bSecondsUntilReset;
47
62
  }
@@ -59,22 +74,28 @@ class StartPreparationUseCase {
59
74
  const fiveHourLimit = this.taperedConcurrentLimit(fiveHourUtilization, FIVE_HOUR_THROTTLE_START_THRESHOLD);
60
75
  return Math.min(sevenDayLimit, fiveHourLimit);
61
76
  };
62
- this.selectRotationTokens = (tokenUsages, utilizationPercentageThreshold, modelName, maxConcurrent) => {
63
- const weeklyLimitType = this.weeklyLimitTypeForModel(modelName);
77
+ this.selectRotationTokens = (tokenUsages, utilizationPercentageThreshold, defaultModelName, fallbackModelName, maxConcurrent) => {
64
78
  const nowEpochSeconds = Date.now() / 1000;
65
79
  const eligibleTokens = tokenUsages
66
80
  .filter((usage) => !usage.blocked)
67
81
  .filter((usage) => !usage.rejected)
68
82
  .filter((usage) => !this.isWithinCooldown(usage, nowEpochSeconds))
69
- .filter((usage) => !this.isModelWeeklyLimitRejected(usage, weeklyLimitType))
70
83
  .filter((usage) => usage.fiveHourUtilization * 100 < utilizationPercentageThreshold)
71
- .sort((a, b) => this.compareBySevenDayDeadlineThenUtilization(a, b, weeklyLimitType, nowEpochSeconds));
84
+ .flatMap((usage) => {
85
+ const model = this.selectModelForToken(usage, defaultModelName, fallbackModelName);
86
+ if (model === null)
87
+ return [];
88
+ return [{ usage, model }];
89
+ })
90
+ .sort((a, b) => this.compareBySevenDayDeadlineThenUtilization(a.usage, this.weeklyLimitTypeForModel(a.model), b.usage, this.weeklyLimitTypeForModel(b.model), nowEpochSeconds));
72
91
  if (eligibleTokens.length === 0) {
73
92
  return { tokens: [], effectiveCap: 0, tokensWithLimits: [] };
74
93
  }
75
- const tokensWithLimits = eligibleTokens.map((usage) => ({
94
+ const tokensWithLimits = eligibleTokens.map(({ usage, model }) => ({
76
95
  token: usage.token,
96
+ model,
77
97
  limit: this.getTokenConcurrentLimit(usage.fiveHourUtilization, usage.sevenDayUtilization),
98
+ secondsUntilSevenDayReset: this.secondsUntilSevenDayReset(usage, this.weeklyLimitTypeForModel(model), nowEpochSeconds),
78
99
  }));
79
100
  const totalCapacity = tokensWithLimits.reduce((sum, t) => sum + t.limit, 0);
80
101
  const effectiveCap = Math.min(maxConcurrent, totalCapacity);
@@ -98,7 +119,7 @@ class StartPreparationUseCase {
98
119
  .filter((usage) => !this.isWithinCooldown(usage, nowEpochSeconds))
99
120
  .filter((usage) => !this.isModelWeeklyLimitRejected(usage, weeklyLimitType))
100
121
  .filter((usage) => usage.fiveHourUtilization * 100 < utilizationPercentageThreshold)
101
- .sort((a, b) => this.compareBySevenDayDeadlineThenUtilization(a, b, weeklyLimitType, nowEpochSeconds));
122
+ .sort((a, b) => this.compareBySevenDayDeadlineThenUtilization(a, weeklyLimitType, b, weeklyLimitType, nowEpochSeconds));
102
123
  const selectedTokenValues = new Set(selectedTokens.map((u) => u.token));
103
124
  const excluded = tokenUsages
104
125
  .filter((usage) => !selectedTokenValues.has(usage.token))
@@ -137,27 +158,11 @@ class StartPreparationUseCase {
137
158
  : null;
138
159
  const maximumPreparingIssuesCount = params.maximumPreparingIssuesCount ?? NORMAL_CONCURRENT_LIMIT;
139
160
  let effectiveMaxPreparingIssuesCount = maximumPreparingIssuesCount;
140
- let effectiveDefaultLlmModelName = params.defaultLlmModelName;
161
+ const fallbackLlmModelName = params.fallbackLlmModelName ?? exports.DEFAULT_FALLBACK_LLM_MODEL_NAME;
141
162
  if (tokenUsages.length > 0) {
142
- const { tokens: ranked, effectiveCap, tokensWithLimits: rankedTokensWithLimits, } = this.selectRotationTokens(tokenUsages, params.utilizationPercentageThreshold, params.defaultLlmModelName, maximumPreparingIssuesCount);
143
- let selectedTokens = ranked;
144
- let selectedCap = effectiveCap;
145
- let selectedTokensWithLimitsLocal = rankedTokensWithLimits;
146
- if (selectedTokens.length === 0 &&
147
- this.weeklyLimitTypeForModel(params.defaultLlmModelName) ===
148
- 'seven_day_sonnet') {
149
- const fallbackModelName = params.fallbackLlmModelName ?? exports.DEFAULT_FALLBACK_LLM_MODEL_NAME;
150
- const { tokens: fallbackRanked, effectiveCap: fallbackCap, tokensWithLimits: fallbackTokensWithLimits, } = this.selectRotationTokens(tokenUsages, params.utilizationPercentageThreshold, fallbackModelName, maximumPreparingIssuesCount);
151
- if (fallbackRanked.length > 0) {
152
- console.warn(`Sonnet 7-day weekly limit (${this.weeklyLimitTypeForModel(params.defaultLlmModelName)}) is exhausted across all configured Claude OAuth token(s). Falling back to ${fallbackModelName}.`);
153
- selectedTokens = fallbackRanked;
154
- selectedCap = fallbackCap;
155
- selectedTokensWithLimitsLocal = fallbackTokensWithLimits;
156
- effectiveDefaultLlmModelName = fallbackModelName;
157
- }
158
- }
163
+ const { tokens: selectedTokens, effectiveCap: selectedCap, tokensWithLimits: selectedTokensWithLimitsLocal, } = this.selectRotationTokens(tokenUsages, params.utilizationPercentageThreshold, params.defaultLlmModelName, fallbackLlmModelName, maximumPreparingIssuesCount);
159
164
  if (selectedTokens.length === 0) {
160
- console.warn(`All ${tokenUsages.length} configured Claude OAuth token(s) are unavailable (blocked, rejected, weekly limit for ${this.weeklyLimitTypeForModel(params.defaultLlmModelName)} exhausted, or 5h utilization >= ${params.utilizationPercentageThreshold}%). Skipping starting preparation.`);
165
+ console.warn(`All ${tokenUsages.length} configured Claude OAuth token(s) are unavailable (blocked, rejected, weekly limits for the configured model(s) exhausted, or 5h utilization >= ${params.utilizationPercentageThreshold}%). Skipping starting preparation.`);
161
166
  return { rotationOrder };
162
167
  }
163
168
  await this.claudeTokenUsageRepository.ensureObservable();
@@ -220,11 +225,13 @@ class StartPreparationUseCase {
220
225
  .trim() ||
221
226
  params.defaultLlmAgentName ||
222
227
  params.defaultAgentName;
223
- const model = issue.labels
228
+ const labelModelName = issue.labels
224
229
  .find((label) => label.startsWith('llm-model:'))
225
230
  ?.replace('llm-model:', '')
226
- .trim() || effectiveDefaultLlmModelName;
227
- if (!model) {
231
+ .trim();
232
+ if (!labelModelName &&
233
+ !params.defaultLlmModelName &&
234
+ rotationTokens === null) {
228
235
  console.error(`No LLM model configured for issue ${issue.url}. Provide --defaultLlmModelName or add an llm-model: label.`);
229
236
  continue;
230
237
  }
@@ -280,35 +287,30 @@ class StartPreparationUseCase {
280
287
  }
281
288
  await this.issueRepository.updateStatus(project, issue, preparationStatusOption.id);
282
289
  issue.status = WorkflowStatus_1.PREPARATION_STATUS_NAME;
283
- const awArgs = [
284
- issue.url,
285
- agent,
286
- model,
287
- '--configFilePath',
288
- params.configFilePath,
289
- '--branch',
290
- branchName,
291
- ];
292
- if (params.codexHomeCandidates !== null &&
293
- params.codexHomeCandidates.length > 0) {
294
- const codexHome = params.codexHomeCandidates[startedInThisRunCount % params.codexHomeCandidates.length];
295
- awArgs.push('--codexHome', codexHome);
296
- }
297
290
  let spawnEnv;
291
+ let routedModelName = null;
298
292
  if (rotationTokens !== null && proxyBaseUrl !== null) {
299
- const tokenWithMostRemainingCapacity = selectedTokensWithLimits
293
+ const tokenWithSoonestResetAmongAvailable = selectedTokensWithLimits
300
294
  .map((t) => ({
301
295
  token: t.token,
296
+ model: t.model,
302
297
  remaining: t.limit -
303
298
  (tokenInFlightCounts[t.token] ?? 0) -
304
299
  (spawnedInThisRunByToken[t.token] ?? 0),
300
+ secondsUntilSevenDayReset: t.secondsUntilSevenDayReset,
305
301
  }))
306
302
  .filter((t) => t.remaining > 0)
307
- .sort((a, b) => b.remaining - a.remaining)[0];
308
- if (tokenWithMostRemainingCapacity === undefined) {
303
+ .sort((a, b) => {
304
+ if (a.secondsUntilSevenDayReset !== b.secondsUntilSevenDayReset) {
305
+ return a.secondsUntilSevenDayReset - b.secondsUntilSevenDayReset;
306
+ }
307
+ return b.remaining - a.remaining;
308
+ })[0];
309
+ if (tokenWithSoonestResetAmongAvailable === undefined) {
309
310
  break;
310
311
  }
311
- const selected = tokenWithMostRemainingCapacity.token;
312
+ const selected = tokenWithSoonestResetAmongAvailable.token;
313
+ routedModelName = tokenWithSoonestResetAmongAvailable.model;
312
314
  spawnedInThisRunByToken[selected] =
313
315
  (spawnedInThisRunByToken[selected] ?? 0) + 1;
314
316
  spawnEnv = {
@@ -316,6 +318,25 @@ class StartPreparationUseCase {
316
318
  ANTHROPIC_BASE_URL: proxyBaseUrl,
317
319
  };
318
320
  }
321
+ const model = labelModelName || routedModelName || params.defaultLlmModelName;
322
+ if (!model) {
323
+ console.error(`No LLM model configured for issue ${issue.url}. Provide --defaultLlmModelName or add an llm-model: label.`);
324
+ continue;
325
+ }
326
+ const awArgs = [
327
+ issue.url,
328
+ agent,
329
+ model,
330
+ '--configFilePath',
331
+ params.configFilePath,
332
+ '--branch',
333
+ branchName,
334
+ ];
335
+ if (params.codexHomeCandidates !== null &&
336
+ params.codexHomeCandidates.length > 0) {
337
+ const codexHome = params.codexHomeCandidates[startedInThisRunCount % params.codexHomeCandidates.length];
338
+ awArgs.push('--codexHome', codexHome);
339
+ }
319
340
  await this.localCommandRunner.runCommand('aw', awArgs, spawnEnv ? { env: spawnEnv } : undefined);
320
341
  startedInThisRunCount++;
321
342
  updatedCurrentPreparationIssueCount++;
@@ -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":";;;AAKA,+DAGoC;AAEpC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAClC,MAAM,kCAAkC,GAAG,GAAG,CAAC;AAC/C,MAAM,kCAAkC,GAAG,GAAG,CAAC;AAClC,QAAA,+BAA+B,GAAG,iBAAiB,CAAC;AAWjE,MAAa,uBAAuB;IAClC,YACmB,iBAAsD,EACtD,eAShB,EACgB,kBAAsC,EACtC,0BAAsD;QAZtD,sBAAiB,GAAjB,iBAAiB,CAAqC;QACtD,oBAAe,GAAf,eAAe,CAS/B;QACgB,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,+BAA0B,GAA1B,0BAA0B,CAA4B;QAGjE,4BAAuB,GAAG,CAAC,SAAwB,EAAU,EAAE;YACrE,MAAM,UAAU,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YACnD,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,OAAO,kBAAkB,CAAC;YAC7D,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,OAAO,gBAAgB,CAAC;YACzD,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC;QAEM,qBAAgB,GAAG,CACzB,KAAuB,EACvB,eAAuB,EACd,EAAE,CAAC,KAAK,CAAC,iBAAiB,GAAG,eAAe,CAAC;QAEhD,+BAA0B,GAAG,CACnC,KAAuB,EACvB,eAAuB,EACd,EAAE;YACX,MAAM,QAAQ,GAAG,KAAK,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;YAC1D,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YACrD,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC;QACnD,CAAC,CAAC;QAEM,wBAAmB,GAAG,CAC5B,KAAuB,EACvB,gBAA+B,EAC/B,iBAAgC,EACjB,EAAE;YACjB,MAAM,kBAAkB,GAAG,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAChE,IAAI,kBAAkB,KAAK,SAAS,IAAI,kBAAkB,CAAC,QAAQ,EAAE,CAAC;gBACpE,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,mBAAmB,GAAG,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,MAAM,CACtE,CAAC,SAAS,EAAuB,EAAE,CACjC,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,EAAE,CACzC,CAAC;YACF,KAAK,MAAM,kBAAkB,IAAI,mBAAmB,EAAE,CAAC;gBACrD,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;gBACzE,MAAM,mBAAmB,GAAG,KAAK,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;gBACrE,IAAI,mBAAmB,KAAK,SAAS,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;oBACvE,OAAO,kBAAkB,CAAC;gBAC5B,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEM,8BAAyB,GAAG,CAClC,KAAuB,EACvB,eAAuB,EACvB,eAAuB,EACf,EAAE;YACV,MAAM,QAAQ,GAAG,KAAK,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;YAC1D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,OAAO,QAAQ,CAAC,QAAQ,GAAG,eAAe,CAAC;YAC7C,CAAC;YACD,MAAM,OAAO,GAAG,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YACrD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,OAAO,CAAC,QAAQ,GAAG,eAAe,CAAC;YAC5C,CAAC;YACD,OAAO,MAAM,CAAC,iBAAiB,CAAC;QAClC,CAAC,CAAC;QAEM,6CAAwC,GAAG,CACjD,CAAmB,EACnB,gBAAwB,EACxB,CAAmB,EACnB,gBAAwB,EACxB,eAAuB,EACf,EAAE;YACV,MAAM,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,CACvD,CAAC,EACD,gBAAgB,EAChB,eAAe,CAChB,CAAC;YACF,MAAM,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,CACvD,CAAC,EACD,gBAAgB,EAChB,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,EACtB,EAAE;YACV,IAAI,WAAW,GAAG,sBAAsB,EAAE,CAAC;gBACzC,OAAO,uBAAuB,CAAC;YACjC,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,uBAAuB,GAAG,SAAS,CAAC,CAAC,CAAC;QACrE,CAAC,CAAC;QAEF,4BAAuB,GAAG,CACxB,mBAA2B,EAC3B,mBAA2B,EACnB,EAAE;YACV,MAAM,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAC/C,mBAAmB,EACnB,kCAAkC,CACnC,CAAC;YACF,MAAM,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAC/C,mBAAmB,EACnB,kCAAkC,CACnC,CAAC;YACF,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QAChD,CAAC,CAAC;QAEM,yBAAoB,GAAG,CAC7B,WAA+B,EAC/B,8BAAsC,EACtC,gBAA+B,EAC/B,iBAAgC,EAChC,aAAqB,EAUrB,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,QAAQ,CAAC;iBAClC,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,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC,EACrC,CAAC,CAAC,KAAK,EACP,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC,EACrC,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,CAC1B;gBACD,yBAAyB,EAAE,IAAI,CAAC,yBAAyB,CACvD,KAAK,EACL,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,EACnC,eAAe,CAChB;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,EACtC,SAAwB,EACF,EAAE;YACxB,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;YAChE,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,QAAQ,CAAC;iBAClC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;iBACjE,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,eAAe,CAAC,CACpE;iBACA,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,CAC3C,CAAC,EACD,eAAe,EACf,CAAC,EACD,eAAe,EACf,eAAe,CAChB,CACF,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,QAAQ;gBACxB,iBAAiB,EACf,CAAC,KAAK,CAAC,OAAO;oBACd,CAAC,KAAK,CAAC,QAAQ;oBACf,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,eAAe,CAAC;oBAC9C,CAAC,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,eAAe,CAAC;oBACxD,KAAK,CAAC,mBAAmB,GAAG,GAAG,IAAI,8BAA8B;gBACnE,gBAAgB,EACd,CAAC,KAAK,CAAC,OAAO;oBACd,CAAC,KAAK,CAAC,QAAQ;oBACf,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,MAaZ,EAA2D,EAAE;YAC5D,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,GAKvB,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,EACrC,MAAM,CAAC,mBAAmB,CAC3B;gBACH,CAAC,CAAC,IAAI,CAAC;YACX,MAAM,2BAA2B,GAC/B,MAAM,CAAC,2BAA2B,IAAI,uBAAuB,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,CAC5B,CAAC;gBACF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAChC,OAAO,CAAC,IAAI,CACV,OAAO,WAAW,CAAC,MAAM,mJAAmJ,MAAM,CAAC,8BAA8B,oCAAoC,CACtP,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,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CACjE,OAAO,EACP,MAAM,CAAC,sBAAsB,CAC9B,CAAC;YAEF,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;YAED,MAAM,uBAAuB,GAAG,eAAe;iBAC5C,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,MAAM,KAAK,+CAA8B,IAAI,CAAC,KAAK,CAAC,QAAQ,CACrE;iBACA,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;YAClC,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;YAE3D,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,IAAI,IAAI,CACzB,GAAG,CAAC,WAAW,EAAE,EACjB,GAAG,CAAC,QAAQ,EAAE,EACd,GAAG,CAAC,OAAO,EAAE,CACd,CAAC;YACF,MAAM,aAAa,GAAG,IAAI,IAAI,CAC5B,UAAU,CAAC,WAAW,EAAE,EACxB,UAAU,CAAC,QAAQ,EAAE,EACrB,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CACzB,CAAC;YAEF,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,SAAS;gBACX,CAAC;gBACD,IACE,KAAK,CAAC,cAAc,KAAK,IAAI;oBAC7B,KAAK,CAAC,cAAc,IAAI,aAAa,EACrC,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,IAAI,KAAK,CAAC,cAAc,KAAK,IAAI,IAAI,WAAW,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;oBACxE,SAAS;gBACX,CAAC;gBACD,IACE,MAAM,CAAC,mBAAmB,KAAK,IAAI;oBACnC,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAClD,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,MAAM,oBAAoB,GACxB,MAAM,CAAC,oBAAoB,KAAK,IAAI;oBAClC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAa,EAAE,EAAE,CAClC,MAAM,CAAC,oBAAoB,KAAK,IAAI;wBAClC,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC;wBAC7C,CAAC,CAAC,KAAK,CACV;oBACH,CAAC,CAAC,SAAS,CAAC;gBAChB,MAAM,KAAK,GACT,KAAK,CAAC,MAAM;qBACT,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;oBACT,oBAAoB;oBACpB,KAAK,CAAC,MAAM;yBACT,IAAI,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;wBACvD,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;yBACzB,IAAI,EAAE;oBACT,MAAM,CAAC,mBAAmB;oBAC1B,MAAM,CAAC,gBAAgB,CAAC;gBAC1B,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,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpE,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,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAC9D,KAAK,CAAC,GAAG,CACV,CAAC;oBACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC1B,MAAM,SAAS,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CACpC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CACxD,CAAC;wBACF,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;wBACjC,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBACxC,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,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAC3C,WAAW,CAAC,GAAG,EACf,oFAAoF,KAAK,CAAC,GAAG,iCAAiC,WAAW,CAAC,GAAG,GAAG,CACjJ,CAAC;wBACJ,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,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAC3C,KAAK,CAAC,GAAG,EACT,GAAG,YAAY,CAAC,MAAM,qGAAqG,aAAa,iBAAiB,WAAW,CAAC,GAAG,EAAE,CAC3K,CAAC;wBACF,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,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACnC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;4BACtC,OAAO,CAAC,IAAI,CACV,kBAAkB,KAAK,CAAC,GAAG,gDAAgD,CAC5E,CAAC;4BACF,SAAS;wBACX,CAAC;wBACD,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACxC,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,IAAI,CAAC,eAAe,CAAC,YAAY,CACrC,OAAO,EACP,KAAK,EACL,uBAAuB,CAAC,EAAE,CAC3B,CAAC;gBACF,KAAK,CAAC,MAAM,GAAG,wCAAuB,CAAC;gBAEvC,IAAI,QAA4C,CAAC;gBACjD,IAAI,eAAe,GAAkB,IAAI,CAAC;gBAC1C,IAAI,cAAc,KAAK,IAAI,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;oBACrD,MAAM,mCAAmC,GAAG,wBAAwB;yBACjE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACX,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,SAAS,EACP,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;wBACzC,yBAAyB,EAAE,CAAC,CAAC,yBAAyB;qBACvD,CAAC,CAAC;yBACF,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;yBAC9B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;wBACb,IAAI,CAAC,CAAC,yBAAyB,KAAK,CAAC,CAAC,yBAAyB,EAAE,CAAC;4BAChE,OAAO,CAAC,CAAC,yBAAyB,GAAG,CAAC,CAAC,yBAAyB,CAAC;wBACnE,CAAC;wBACD,OAAO,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;oBACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACR,IAAI,mCAAmC,KAAK,SAAS,EAAE,CAAC;wBACtD,MAAM;oBACR,CAAC;oBACD,MAAM,QAAQ,GAAG,mCAAmC,CAAC,KAAK,CAAC;oBAC3D,eAAe,GAAG,mCAAmC,CAAC,KAAK,CAAC;oBAC5D,uBAAuB,CAAC,QAAQ,CAAC;wBAC/B,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;oBAC/C,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,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,IAAI,CAAC,kBAAkB,CAAC,UAAU,CACtC,IAAI,EACJ,MAAM,EACN,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CACzC,CAAC;gBACF,qBAAqB,EAAE,CAAC;gBACxB,mCAAmC,EAAE,CAAC;YACxC,CAAC;YACD,OAAO,EAAE,aAAa,EAAE,CAAC;QAC3B,CAAC,CAAC;IAnjBC,CAAC;CAojBL;AAnkBD,0DAmkBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "github-issue-tower-defence-management",
3
- "version": "1.82.0",
3
+ "version": "1.83.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "scripts": {