github-issue-tower-defence-management 2.110.2 → 2.111.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.
Files changed (31) hide show
  1. package/README.md +1 -1
  2. package/bin/adapter/entry-points/console/ui-dist/assets/index-GTUSYIY9.js +91 -0
  3. package/bin/adapter/entry-points/console/ui-dist/index.html +1 -1
  4. package/bin/domain/usecases/CheckIssueReviewReadinessUseCase.js +0 -29
  5. package/bin/domain/usecases/CheckIssueReviewReadinessUseCase.js.map +1 -1
  6. package/bin/domain/usecases/NotifyFinishedIssuePreparationUseCase.js +20 -36
  7. package/bin/domain/usecases/NotifyFinishedIssuePreparationUseCase.js.map +1 -1
  8. package/bin/domain/usecases/RevertOrphanedPreparationUseCase.js +0 -26
  9. package/bin/domain/usecases/RevertOrphanedPreparationUseCase.js.map +1 -1
  10. package/bin/domain/usecases/StartPreparationUseCase.js +7 -0
  11. package/bin/domain/usecases/StartPreparationUseCase.js.map +1 -1
  12. package/bin/domain/usecases/isHumanComment.js +2 -2
  13. package/bin/domain/usecases/isHumanComment.js.map +1 -1
  14. package/bin/domain/usecases/resolveNextStepAgentDispatchRepetition.js +42 -21
  15. package/bin/domain/usecases/resolveNextStepAgentDispatchRepetition.js.map +1 -1
  16. package/package.json +1 -1
  17. package/types/domain/usecases/CheckIssueReviewReadinessUseCase.d.ts +1 -2
  18. package/types/domain/usecases/CheckIssueReviewReadinessUseCase.d.ts.map +1 -1
  19. package/types/domain/usecases/NotifyFinishedIssuePreparationUseCase.d.ts +0 -1
  20. package/types/domain/usecases/NotifyFinishedIssuePreparationUseCase.d.ts.map +1 -1
  21. package/types/domain/usecases/RevertOrphanedPreparationUseCase.d.ts +0 -1
  22. package/types/domain/usecases/RevertOrphanedPreparationUseCase.d.ts.map +1 -1
  23. package/types/domain/usecases/StartPreparationUseCase.d.ts.map +1 -1
  24. package/types/domain/usecases/isHumanComment.d.ts.map +1 -1
  25. package/types/domain/usecases/resolveNextStepAgentDispatchRepetition.d.ts +0 -2
  26. package/types/domain/usecases/resolveNextStepAgentDispatchRepetition.d.ts.map +1 -1
  27. package/bin/adapter/entry-points/console/ui-dist/assets/index-CKKKKFNO.js +0 -91
  28. package/bin/domain/usecases/nextStepAgentDispatchRepeatedMessage.js +0 -5
  29. package/bin/domain/usecases/nextStepAgentDispatchRepeatedMessage.js.map +0 -1
  30. package/types/domain/usecases/nextStepAgentDispatchRepeatedMessage.d.ts +0 -2
  31. package/types/domain/usecases/nextStepAgentDispatchRepeatedMessage.d.ts.map +0 -1
package/README.md CHANGED
@@ -155,7 +155,7 @@ consoleGithubTokens:
155
155
 
156
156
  In the example above, `my-project`'s token is used for `my-org` and `other-project`'s token is used for `other-org`. The fleet-wide `GH_TOKEN` is still required for the `startDaemon` preparation cycle; only the console HTTP server routes go through the per-project token map.
157
157
 
158
- The `checkIssueReviewReadiness` sub-command lets an agent self-check whether an issue is currently review-ready. It does NOT change the issue Status field and does NOT post any comment. It writes a single JSON line to stdout of the shape `{ "reviewReady": boolean, "rejections": [{ "type": string, "detail": string }] }` and exits 0 on a successful evaluation regardless of readiness; a non-zero exit indicates an operational error (auth failure, network error). The rejection types include: `ISSUE_NOT_FOUND`, `NO_REPORT_FROM_AGENT_BOT`, `REPORT_HAS_NEXT_STEP`, `PULL_REQUEST_NOT_FOUND`, `PULL_REQUEST_IS_DRAFT`, `PULL_REQUEST_CONFLICTED`, `ANY_CI_JOB_FAILED_OR_IN_PROGRESS`, `REQUIRED_CI_JOB_NEVER_STARTED`, `ANY_REVIEW_COMMENT_NOT_RESOLVED`, and `MULTIPLE_PULL_REQUESTS_FOUND`. The `--projectUrl` option is optional; when omitted the command still runs using only the issue URL.
158
+ The `checkIssueReviewReadiness` sub-command lets an agent self-check whether an issue is currently review-ready. It does NOT change the issue Status field and does NOT post any comment. It writes a single JSON line to stdout of the shape `{ "reviewReady": boolean, "rejections": [{ "type": string, "detail": string }] }` and exits 0 on a successful evaluation regardless of readiness; a non-zero exit indicates an operational error (auth failure, network error). The rejection types include: `ISSUE_NOT_FOUND`, `NO_REPORT_FROM_AGENT_BOT`, `PULL_REQUEST_NOT_FOUND`, `PULL_REQUEST_IS_DRAFT`, `PULL_REQUEST_CONFLICTED`, `ANY_CI_JOB_FAILED_OR_IN_PROGRESS`, `REQUIRED_CI_JOB_NEVER_STARTED`, `ANY_REVIEW_COMMENT_NOT_RESOLVED`, and `MULTIPLE_PULL_REQUESTS_FOUND`. The `--projectUrl` option is optional; when omitted the command still runs using only the issue URL.
159
159
 
160
160
  The `selectOauthToken` sub-command reads the same per-token rate-limit cache that the `startDaemon` proxy writes (see "Claude OAuth Token Rotation" below) and prints exactly one token string to stdout so a caller can choose an appropriate token before launching Claude Code. It is read-only: it never starts the proxy, never mutates any cache file, and never writes the token anywhere. Selection runs in two stages. First, a candidate filter keeps tokens whose 5-hour window is at least 60% free (5-hour utilization at most 0.40) AND whose 7-day window is at least 14% free (7-day utilization at most 0.86), where "% free" is `1 - utilization`. A token with no cache file, or whose window reset epoch has already passed, is treated as fully free (utilization 0) for these checks. The filter additionally excludes any token carrying a non-expired reactive `seven_day_fable` rejection marker — set when a `fable`-model request on that token was rejected with HTTP 429 (see "Claude OAuth Token Rotation" below) — because these interactive sessions run on the `fable` model; a token without the marker is treated as `fable`-usable, and the marker is ignored once its stored reset epoch has passed. Second, among the surviving candidates it selects the single token whose 7-day window reset epoch is nearest in the future (soonest reset), so weekly quota that would otherwise reset unused is consumed first; a candidate with no active 7-day window is treated as having the farthest reset (now + 7 days) and therefore sorts last. Each token entry may carry an optional `selectionWeight` (a positive number, default `1`); when the eligible candidates carry differing weights the selection among them becomes weighted-random by that weight, so a token with a smaller weight is chosen proportionally less often, while a token that is the only eligible candidate is always chosen regardless of its weight. When every eligible candidate shares the same weight (the default), the deterministic soonest-reset selection above is used unchanged. The selected token string is written to stdout (pipeable) and the per-candidate decision trace is written to stderr. When no token passes the filter, nothing is written to stdout and the command exits non-zero with an explanatory message on stderr. The token-list path comes from `--tokenListJsonPath` or the `CLAUDE_CODE_OAUTH_TOKEN_LIST_JSON_PATH` environment variable; the cache directory comes from `--cacheDir` or the `TDPM_RATELIMIT_CACHE_DIR` environment variable, defaulting to `${XDG_CACHE_HOME:-~/.cache}/tdpm/ratelimit`.
161
161