github-issue-tower-defence-management 1.143.1 → 1.143.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.
Files changed (32) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +2 -2
  3. package/bin/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.js +2 -9
  4. package/bin/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.js.map +1 -1
  5. package/bin/adapter/entry-points/handlers/notifySilentTmuxSessions.js +2 -5
  6. package/bin/adapter/entry-points/handlers/notifySilentTmuxSessions.js.map +1 -1
  7. package/bin/adapter/repositories/TmuxSilentSessionNotificationRepository.js +2 -1
  8. package/bin/adapter/repositories/TmuxSilentSessionNotificationRepository.js.map +1 -1
  9. package/bin/domain/usecases/DefaultSilentSessionMessageComposer.js +1 -1
  10. package/bin/domain/usecases/DefaultSilentSessionMessageComposer.js.map +1 -1
  11. package/bin/domain/usecases/NotifySilentLiveSessionsUseCase.js +1 -35
  12. package/bin/domain/usecases/NotifySilentLiveSessionsUseCase.js.map +1 -1
  13. package/package.json +1 -1
  14. package/src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.ts +0 -5
  15. package/src/adapter/entry-points/handlers/notifySilentTmuxSessions.test.ts +3 -8
  16. package/src/adapter/entry-points/handlers/notifySilentTmuxSessions.ts +0 -8
  17. package/src/adapter/repositories/TmuxSilentSessionNotificationRepository.test.ts +35 -4
  18. package/src/adapter/repositories/TmuxSilentSessionNotificationRepository.ts +2 -1
  19. package/src/adapter/repositories/TranscriptOwnerCallStatusProvider.test.ts +0 -6
  20. package/src/domain/usecases/DefaultSilentSessionMessageComposer.test.ts +21 -1
  21. package/src/domain/usecases/DefaultSilentSessionMessageComposer.ts +1 -1
  22. package/src/domain/usecases/NotifySilentLiveSessionsUseCase.test.ts +21 -98
  23. package/src/domain/usecases/NotifySilentLiveSessionsUseCase.ts +0 -44
  24. package/types/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.d.ts.map +1 -1
  25. package/types/adapter/entry-points/handlers/notifySilentTmuxSessions.d.ts +0 -1
  26. package/types/adapter/entry-points/handlers/notifySilentTmuxSessions.d.ts.map +1 -1
  27. package/types/adapter/repositories/TmuxSilentSessionNotificationRepository.d.ts.map +1 -1
  28. package/types/domain/usecases/NotifySilentLiveSessionsUseCase.d.ts +1 -3
  29. package/types/domain/usecases/NotifySilentLiveSessionsUseCase.d.ts.map +1 -1
  30. package/src/adapter/repositories/FileSystemSilentSessionNotifiedStateRepository.test.ts +0 -127
  31. package/src/adapter/repositories/FileSystemSilentSessionNotifiedStateRepository.ts +0 -108
  32. package/src/domain/usecases/adapter-interfaces/SilentSessionNotifiedStateRepository.ts +0 -10
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [1.143.2](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.143.1...v1.143.2) (2026-08-04)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **silent-monitor:** deliver the self-check reminder as a single line so no blank lines remain in the input box ([#1358](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/1358)) ([08f4894](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/commit/08f489429da0136cb527efe3df2acb2b886f9a4e)), closes [#1357](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/1357)
7
+
1
8
  ## [1.143.1](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.143.0...v1.143.1) (2026-08-04)
2
9
 
3
10
 
package/README.md CHANGED
@@ -597,11 +597,11 @@ The main-session stalled section is sent when the session's main output has been
597
597
 
598
598
  The waiting-on-the-owner suppression is unconditional: whenever the session's latest owner call is newer than its latest genuine owner reply, the main-session stalled section is suppressed with no age or grace expiry, because the persistent unread indicator in the owner's app already covers a missed call. `unansweredOwnerCallGraceSeconds` (default 3600) is retained only for backward compatibility of the configuration surface and is no longer consulted, so the stale-owner-call reminder variant and its `silentMainStalledStaleOwnerCallMessage` override are currently never composed. The transcript-based owner-call detection still exposes the epoch timestamp of the latest unanswered owner call per session.
599
599
 
600
- The sub-process section is sent, regardless of main output, when at least one sub-process of the session has been output-idle for `subAgentSilentThresholdSeconds` or has been running for `subAgentRunningThresholdSeconds`. It is composed of up to two distinct messages, one per condition: an idle message that lists each sub-process that produced no output for at least `subAgentSilentThresholdSeconds` with its no-output minutes, tells the agent to treat that system-detected idle duration as the authoritative signal rather than re-deriving whether the sub-process is alive, forbids dismissing the signal from speculation, and requires the agent to determine the cause by a concrete check (whether there is genuinely no recent activity anywhere, including a very recent push or commit or output from nested sub-processes it started, versus being legitimately blocked on an external dependency such as a continuous-integration run, an external API, or another process), to act if stuck or state the waiting conclusion with concrete evidence if waiting, and to output that investigation result into the session as a log even though owner notification is not required, and a long-running message that lists each sub-process that has been running for at least `subAgentRunningThresholdSeconds` with its running minutes and asks the agent to verify it is genuinely advancing rather than caught in an infinite loop, a task that is too large, or a stuck approach. The long-running message foregrounds the running duration and does not surface the short idle time, so a sub-process flagged only for running long is not dismissed because its silent time looks small; a sub-process that matches both conditions appears in both messages. The long-running threshold is overridable per project via `subAgentRunningThresholdSeconds` (default 900 seconds) for repositories whose continuous integration legitimately runs longer. Sub-processes are discovered in one of two ways: when `subAgentTranscriptRootDirectory` is configured, each session's `subagents/agent-<id>.jsonl` transcripts are scanned. The sub-agent directory is the `subagents/` directory that sits next to the session's already-resolved main-session transcript file under `projects/<cwd-slug>/<sessionId>/subagents/`, derived by stripping the `.jsonl` suffix from the main-session transcript path and appending `subagents`; this on-disk path is keyed by the session's working-directory slug and session id, not by the tmux session name. Finished sub-agents are skipped, determined from the last meaningful transcript entry rather than from the last non-null `stop_reason` seen anywhere in the file. A sub-agent is treated as finished when its last entry is a completion or termination marker: an assistant message whose `stop_reason` is `end_turn` or `stop_sequence`, an assistant message whose final content block is `text` (a final answer returned to the parent, which Claude Code often writes with a `null` `stop_reason`), a user message whose final content block is `text` (a terminal user entry such as `[Request interrupted by user]`), a user message whose final content block is a `tool_result`, or a user message with no content blocks. The `tool_result` and empty-user terminal shapes are the ones a sub-agent leaves when it ends right after its last tool call completes — for example the `tool_result` of the final `StructuredOutput` call a sub-agent uses to return its result, the launch acknowledgement of a background command, or any other tool whose result is written but no assistant turn follows because the sub-agent's process is gone (killed, crashed, or token-exhausted). Recognizing these shapes as terminal is what lets a marker-less dead transcript be excluded by the completion signal itself rather than by an age cap. Only a sub-agent whose last entry is an assistant message with a pending `tool_use` block and no following tool result is still considered active and subject to the idle and running thresholds; this is the genuinely-incomplete shape — the sub-agent requested a tool that never returned and is hung mid-work. Idle time is taken from the transcript file modification time (following symlinks) while running time is taken from its first entry timestamp. Beyond the completion-or-termination marker at the end of the transcript, finished sub-agents are also excluded by two positive signals: a parent-transcript task notification whose `<status>` is a terminal value (`completed`, `killed`, `stopped`, or `failed`) drops every `<task-id>` it lists, and, when `subAgentRuntimeRootDirectory` is configured, a process-liveness gate drops any sub-agent id absent from the harness running set (`running-subagents.txt`); the gate is skipped (fail-open) when the running set cannot be read, leaving the terminal-status and completion-marker exclusions as the sole guards. There is no age cap: a sub-agent that is past the idle or running threshold and does not end in a completion or termination marker is flagged regardless of how long it has been silent, so a genuinely-stuck sub-agent that has been hung on a pending tool call for hours or days is still reported instead of being silently dropped. Otherwise sub-processes are discovered by matching `subAgentProcessMatchPattern` against process command lines. Because a sub-agent inside a single blocking call (for example a continuous-integration watch) is otherwise indistinguishable from a hung one, the transcript-based discovery additionally judges the sub-agent's actual wait state instead of applying any time-window suppression. A sub-agent whose transcript tail is an in-flight tool call — the last entry is an assistant tool-use with no following tool result — carrying a command string is classified as WAITING when a live process matching that command exists on the host: each pending tool command is normalized (whitespace collapsed, first 60 characters) and searched as a substring of the normalized host process command lines (`ps -eo etimes=,args=`, supplied through the injectable process lister). A WAITING sub-agent never produces an idle (no-output) reminder, no matter how long its transcript has been silent. A sub-agent whose in-flight tool call has no matching live process is genuinely hung and its session is re-selected as a candidate on every qualifying cycle. Whether a candidate session is actually re-injected is governed by the session-level fire-once latch described below, so a session with a persistent sub-process advisory is reminded once per silent episode rather than every cycle. A reminder that includes the main-session-stalled section is subject to the same fire-once latch and input-state gating, and main-session stall detection behavior is otherwise unchanged.
600
+ The sub-process section is sent, regardless of main output, when at least one sub-process of the session has been output-idle for `subAgentSilentThresholdSeconds` or has been running for `subAgentRunningThresholdSeconds`. It is composed of up to two distinct messages, one per condition: an idle message that lists each sub-process that produced no output for at least `subAgentSilentThresholdSeconds` with its no-output minutes, tells the agent to treat that system-detected idle duration as the authoritative signal rather than re-deriving whether the sub-process is alive, forbids dismissing the signal from speculation, and requires the agent to determine the cause by a concrete check (whether there is genuinely no recent activity anywhere, including a very recent push or commit or output from nested sub-processes it started, versus being legitimately blocked on an external dependency such as a continuous-integration run, an external API, or another process), to act if stuck or state the waiting conclusion with concrete evidence if waiting, and to output that investigation result into the session as a log even though owner notification is not required, and a long-running message that lists each sub-process that has been running for at least `subAgentRunningThresholdSeconds` with its running minutes and asks the agent to verify it is genuinely advancing rather than caught in an infinite loop, a task that is too large, or a stuck approach. The long-running message foregrounds the running duration and does not surface the short idle time, so a sub-process flagged only for running long is not dismissed because its silent time looks small; a sub-process that matches both conditions appears in both messages. The long-running threshold is overridable per project via `subAgentRunningThresholdSeconds` (default 900 seconds) for repositories whose continuous integration legitimately runs longer. Sub-processes are discovered in one of two ways: when `subAgentTranscriptRootDirectory` is configured, each session's `subagents/agent-<id>.jsonl` transcripts are scanned. The sub-agent directory is the `subagents/` directory that sits next to the session's already-resolved main-session transcript file under `projects/<cwd-slug>/<sessionId>/subagents/`, derived by stripping the `.jsonl` suffix from the main-session transcript path and appending `subagents`; this on-disk path is keyed by the session's working-directory slug and session id, not by the tmux session name. Finished sub-agents are skipped, determined from the last meaningful transcript entry rather than from the last non-null `stop_reason` seen anywhere in the file. A sub-agent is treated as finished when its last entry is a completion or termination marker: an assistant message whose `stop_reason` is `end_turn` or `stop_sequence`, an assistant message whose final content block is `text` (a final answer returned to the parent, which Claude Code often writes with a `null` `stop_reason`), a user message whose final content block is `text` (a terminal user entry such as `[Request interrupted by user]`), a user message whose final content block is a `tool_result`, or a user message with no content blocks. The `tool_result` and empty-user terminal shapes are the ones a sub-agent leaves when it ends right after its last tool call completes — for example the `tool_result` of the final `StructuredOutput` call a sub-agent uses to return its result, the launch acknowledgement of a background command, or any other tool whose result is written but no assistant turn follows because the sub-agent's process is gone (killed, crashed, or token-exhausted). Recognizing these shapes as terminal is what lets a marker-less dead transcript be excluded by the completion signal itself rather than by an age cap. Only a sub-agent whose last entry is an assistant message with a pending `tool_use` block and no following tool result is still considered active and subject to the idle and running thresholds; this is the genuinely-incomplete shape — the sub-agent requested a tool that never returned and is hung mid-work. Idle time is taken from the transcript file modification time (following symlinks) while running time is taken from its first entry timestamp. Beyond the completion-or-termination marker at the end of the transcript, finished sub-agents are also excluded by two positive signals: a parent-transcript task notification whose `<status>` is a terminal value (`completed`, `killed`, `stopped`, or `failed`) drops every `<task-id>` it lists, and, when `subAgentRuntimeRootDirectory` is configured, a process-liveness gate drops any sub-agent id absent from the harness running set (`running-subagents.txt`); the gate is skipped (fail-open) when the running set cannot be read, leaving the terminal-status and completion-marker exclusions as the sole guards. There is no age cap: a sub-agent that is past the idle or running threshold and does not end in a completion or termination marker is flagged regardless of how long it has been silent, so a genuinely-stuck sub-agent that has been hung on a pending tool call for hours or days is still reported instead of being silently dropped. Otherwise sub-processes are discovered by matching `subAgentProcessMatchPattern` against process command lines. Because a sub-agent inside a single blocking call (for example a continuous-integration watch) is otherwise indistinguishable from a hung one, the transcript-based discovery additionally judges the sub-agent's actual wait state instead of applying any time-window suppression. A sub-agent whose transcript tail is an in-flight tool call — the last entry is an assistant tool-use with no following tool result — carrying a command string is classified as WAITING when a live process matching that command exists on the host: each pending tool command is normalized (whitespace collapsed, first 60 characters) and searched as a substring of the normalized host process command lines (`ps -eo etimes=,args=`, supplied through the injectable process lister). A WAITING sub-agent never produces an idle (no-output) reminder, no matter how long its transcript has been silent. A sub-agent whose in-flight tool call has no matching live process is genuinely hung and its session is re-selected as a candidate on every qualifying cycle. A session that stays a candidate is re-injected on every qualifying cycle: there is no per-episode cap, so a session with a persistent sub-process advisory, and a session whose main output stays silent, are both reminded again each cycle until the condition clears. Main-session stall detection behavior is otherwise unchanged.
601
601
 
602
602
  A two-consecutive-cycle debounce guards against transient false positives: a session is notified only when it meets the silent-target condition (output silent at or beyond the threshold and not waiting on the owner) in the current cycle and it was also a notification candidate in the immediately previous cycle. The set of candidate session names is persisted across cycles, keyed by the globally-unique session name, in a state file written atomically (the default path is `${XDG_CACHE_HOME:-~/.cache}/tdpm/silent-session-candidates.json`, overridable via `candidateDebounceStateFilePath`). The monitor runs as a fresh process each schedule cycle, so this on-disk state is what carries the previous cycle's candidate set forward. Each cycle loads the candidate set recorded within `candidateDebounceRecencyWindowSeconds` of now (default 900, a small multiple of the schedule interval to tolerate interval jitter), then records the current candidate set with the current timestamp; entries that age past the retention window are dropped on the next save, and a save merges with other recently-recorded session names so concurrent per-project runs do not clobber each other. A candidate that appears for only one isolated cycle — for example because the owner's reply has not yet been flushed to the transcript when the monitor reads it, or because a transient hub-task status resolution error fails open for a single cycle — is therefore deferred and never notified, while a genuine stall that persists across cycles is still caught, one cycle later. Because silence is measured from the latest transcript entry of any type — including the monitor's own injected reminder and the owner's reply — a notified session's measured silence resets as soon as it produces any activity, so a session that has resumed is not re-flagged. When more than one session is notified in the same cycle, the sends are spaced out sequentially with `silentNotificationStaggerSeconds` between consecutive sends (no wait before the first or after the last) so the targets are not all triggered at once. When `activeHubTaskStatus` is configured, each notification is gated on the latest GitHub state and Project Status of the session's hub task: a session whose name identifies a github.com issue or pull request — accepted both as a clean `https://github.com/{owner}/{repo}/issues/{N}` URL and as the real tmux session-name form `https_//github_com/{owner}/{repo}/issues/{N}` produced by replacing `.` and `:` with `_` (the `pull` path is accepted in both forms too) — is notified only while that hub task is open and in the configured active Status, so a session whose hub task has been closed, merged, or moved to another Status (for example Done) is suppressed; sessions whose name does not identify a github.com issue or pull request are never gated. To cut GitHub query load and remove most fail-opens, each resolved status is cached by issue URL in a state file written atomically (the default path is `${XDG_CACHE_HOME:-~/.cache}/tdpm/silent-session-hub-task-status.json`, overridable via `hubTaskStatusCacheStateFilePath`). On each cycle the gate reads the cache first: a cached entry recorded within `hubTaskStatusCacheTtlSeconds` of now (default 300) decides the gate without any GitHub query, and otherwise the hub task is re-resolved and the result written back to the cache. When live resolution fails — the resolver returns no tracked task (a closed or Done issue filtered out of the active project), or a transient API error is thrown — the gate falls back to the cached status even after it has expired: a cached active entry keeps the notification (still notified if genuinely stalled) and a cached closed or non-active entry suppresses it, each logged with a distinct warning. Only when there is no cached status at all and live resolution fails does the gate fail open once (a closed issue and a transient error are indistinguishable in that case without an extra network call), logging a distinct warning, so the next cycle can populate the cache. When `activeHubTaskStatus` is unset, this hub-task check is a no-op. Process-snapshot collection, transcript resolution, owner-call detection, the wait between sends, and the message wording are all performed through injectable ports, so the logic is unit-testable without touching the host, and the host-specific process and environment access, sub-process pattern, and message wording are supplied through adapters or configuration. When `silentNotificationEnabled` is not true the step is a no-op, and any error during the step is logged and swallowed so the schedule cycle is never affected.
603
603
 
604
- Each config key above has a matching environment variable read when the config key is unset: `TDPM_SILENT_NOTIFICATION_ENABLED` (the string `true` enables the step), `TDPM_SILENT_OWNER_CALL_MARKER`, `TDPM_SUBAGENT_OUTPUT_ROOT_DIRECTORY`, `TDPM_SUBAGENT_PROCESS_MATCH_PATTERN`, `TDPM_SUBAGENT_TRANSCRIPT_ROOT_DIRECTORY`, `TDPM_SUBAGENT_RUNTIME_ROOT_DIRECTORY`, `TDPM_MAIN_SILENT_THRESHOLD_SECONDS`, `TDPM_SILENT_UNANSWERED_OWNER_CALL_GRACE_SECONDS`, `TDPM_SUBAGENT_SILENT_THRESHOLD_SECONDS`, `TDPM_SUBAGENT_RUNNING_THRESHOLD_SECONDS`, `TDPM_SILENT_NOTIFICATION_STAGGER_SECONDS`, `TDPM_SILENT_CANDIDATE_DEBOUNCE_RECENCY_WINDOW_SECONDS`, `TDPM_SILENT_CANDIDATE_DEBOUNCE_STATE_FILE_PATH`, `TDPM_SILENT_NOTIFIED_STATE_FILE_PATH`, `TDPM_ACTIVE_HUB_TASK_STATUS`, `TDPM_SILENT_HUB_TASK_STATUS_CACHE_STATE_FILE_PATH`, `TDPM_SILENT_HUB_TASK_STATUS_CACHE_TTL_SECONDS`, `TDPM_SILENT_MAIN_STALLED_MESSAGE`, `TDPM_SILENT_MAIN_STALLED_STALE_OWNER_CALL_MESSAGE`, `TDPM_SILENT_SUBAGENT_IDLE_MESSAGE_HEADER`, `TDPM_SILENT_SUBAGENT_IDLE_MESSAGE_FOOTER`, `TDPM_SILENT_SUBAGENT_LONG_RUNNING_MESSAGE_HEADER`, and `TDPM_SILENT_SUBAGENT_LONG_RUNNING_MESSAGE_FOOTER`.
604
+ Each config key above has a matching environment variable read when the config key is unset: `TDPM_SILENT_NOTIFICATION_ENABLED` (the string `true` enables the step), `TDPM_SILENT_OWNER_CALL_MARKER`, `TDPM_SUBAGENT_OUTPUT_ROOT_DIRECTORY`, `TDPM_SUBAGENT_PROCESS_MATCH_PATTERN`, `TDPM_SUBAGENT_TRANSCRIPT_ROOT_DIRECTORY`, `TDPM_SUBAGENT_RUNTIME_ROOT_DIRECTORY`, `TDPM_MAIN_SILENT_THRESHOLD_SECONDS`, `TDPM_SILENT_UNANSWERED_OWNER_CALL_GRACE_SECONDS`, `TDPM_SUBAGENT_SILENT_THRESHOLD_SECONDS`, `TDPM_SUBAGENT_RUNNING_THRESHOLD_SECONDS`, `TDPM_SILENT_NOTIFICATION_STAGGER_SECONDS`, `TDPM_SILENT_CANDIDATE_DEBOUNCE_RECENCY_WINDOW_SECONDS`, `TDPM_SILENT_CANDIDATE_DEBOUNCE_STATE_FILE_PATH`, `TDPM_ACTIVE_HUB_TASK_STATUS`, `TDPM_SILENT_HUB_TASK_STATUS_CACHE_STATE_FILE_PATH`, `TDPM_SILENT_HUB_TASK_STATUS_CACHE_TTL_SECONDS`, `TDPM_SILENT_MAIN_STALLED_MESSAGE`, `TDPM_SILENT_MAIN_STALLED_STALE_OWNER_CALL_MESSAGE`, `TDPM_SILENT_SUBAGENT_IDLE_MESSAGE_HEADER`, `TDPM_SILENT_SUBAGENT_IDLE_MESSAGE_FOOTER`, `TDPM_SILENT_SUBAGENT_LONG_RUNNING_MESSAGE_HEADER`, and `TDPM_SILENT_SUBAGENT_LONG_RUNNING_MESSAGE_FOOTER`.
605
605
 
606
606
  Each schedule cycle, when `outputDegenerationResetEnabled` is true, also inspects every live interactive Claude Code session named after a github.com issue or pull-request URL and resets a session whose output has collapsed into a repeat loop. A session is detected as degenerated when either of two independent conditions holds. The intra-turn condition looks at the session's most recent assistant turn and fires on any of three signatures: the longest consecutive run of an identical short token (at most 32 characters) is at least 5 and dominates at least 0.8 of the turn's tokens; or, after fenced code blocks, table rows, and list items are removed, an absolute consecutive run reaches at least 15 identical short tokens; or the duplicated 4-gram density of the filtered turn is at least 0.3 over at least 40 tokens. The cross-turn condition looks at the last 10 assistant turns and fires when the same isolated short purely-alphabetic trailing token recurs as the appended token in at least 4 of them. These thresholds are ported unchanged from the empirically-validated standalone monitor: healthy sessions never exceed 2 to 3 consecutive repeats of a single token in one turn and end turns with varied content, so both conditions have measured zero false positives. When a session is detected, a checkpoint warning is sent via `tmux send-keys`, the grace period is awaited, and the tmux session is killed so it is relaunched fresh; a per-session cooldown (default 300 seconds) prevents re-resetting the same session before its fresh relaunch completes. When `outputDegenerationResetEnabled` is not true the detection still runs and logs what it would do, but no warning or kill is performed, and any error during the step is logged and swallowed so the schedule cycle is never affected. Each config key above has a matching environment variable read when the config key is unset: `TDPM_OUTPUT_DEGENERATION_RESET_ENABLED` (the string `true` enables the step), `TDPM_OUTPUT_DEGENERATION_WARNING_MESSAGE`, `TDPM_OUTPUT_DEGENERATION_GRACE_SECONDS`, `TDPM_OUTPUT_DEGENERATION_COOLDOWN_SECONDS`, and `TDPM_OUTPUT_DEGENERATION_COOLDOWN_STATE_FILE_PATH`.
607
607
 
@@ -112,13 +112,13 @@ class HandleScheduledEventUseCaseHandler {
112
112
  this.handle = async (configFilePath, _verbose, inTmuxProjectOrderOverride = null) => {
113
113
  const configFileContent = fs_1.default.readFileSync(configFilePath, 'utf8');
114
114
  const input = yaml_1.default.parse(configFileContent);
115
- if (!(() => { const _io0 = input => (undefined === input.thresholdForAutoReject || "number" === typeof input.thresholdForAutoReject) && (null === input.changeTargetPathAliases || undefined === input.changeTargetPathAliases || "object" === typeof input.changeTargetPathAliases && null !== input.changeTargetPathAliases && false === Array.isArray(input.changeTargetPathAliases) && _io1(input.changeTargetPathAliases)) && "string" === typeof input.projectUrl && "string" === typeof input.manager && "string" === typeof input.projectName && (null === input.labelsAsLlmAgentName || undefined === input.labelsAsLlmAgentName || Array.isArray(input.labelsAsLlmAgentName) && input.labelsAsLlmAgentName.every(elem => "string" === typeof elem)) && "string" === typeof input.org && ("object" === typeof input.workingReport && null !== input.workingReport && _io2(input.workingReport)) && "string" === typeof input.urlOfStoryView && "boolean" === typeof input.disabled && (null === input.startPreparation || undefined === input.startPreparation || "object" === typeof input.startPreparation && null !== input.startPreparation && _io3(input.startPreparation)) && (undefined === input.createTaskFromStoryBodyCheckboxEnabled || "boolean" === typeof input.createTaskFromStoryBodyCheckboxEnabled) && (null === input.dailySecurityScan || undefined === input.dailySecurityScan || "object" === typeof input.dailySecurityScan && null !== input.dailySecurityScan && _io4(input.dailySecurityScan)) && (null === input.allowedIssueAuthors || undefined === input.allowedIssueAuthors || "string" === typeof input.allowedIssueAuthors || Array.isArray(input.allowedIssueAuthors) && input.allowedIssueAuthors.every(elem => "string" === typeof elem)) && (null === input.autoAssignManagerAuthors || undefined === input.autoAssignManagerAuthors || "string" === typeof input.autoAssignManagerAuthors || Array.isArray(input.autoAssignManagerAuthors) && input.autoAssignManagerAuthors.every(elem => "string" === typeof elem)) && (undefined === input.claudeCodeOauthTokenListJsonPath || "string" === typeof input.claudeCodeOauthTokenListJsonPath) && (undefined === input.consoleDataOutputDir || "string" === typeof input.consoleDataOutputDir) && (undefined === input.dashboardDataDir || "string" === typeof input.dashboardDataDir) && (undefined === input.disks || Array.isArray(input.disks) && input.disks.every(elem => "object" === typeof elem && null !== elem && _io5(elem))) && (undefined === input.workflowBlockerStoryName || "string" === typeof input.workflowBlockerStoryName) && (undefined === input.inTmuxDataOutputDir || "string" === typeof input.inTmuxDataOutputDir) && (undefined === input.newIssueRepo || "string" === typeof input.newIssueRepo) && (undefined === input.inTmuxConsoleBaseUrl || "string" === typeof input.inTmuxConsoleBaseUrl) && (undefined === input.inTmuxConsoleToken || "string" === typeof input.inTmuxConsoleToken) && (undefined === input.inTmuxProjectOrder || Array.isArray(input.inTmuxProjectOrder) && input.inTmuxProjectOrder.every(elem => "string" === typeof elem)) && (undefined === input.inTmuxLauncherCommand || "string" === typeof input.inTmuxLauncherCommand) && (undefined === input.tokenExhaustionHandoverEnabled || "boolean" === typeof input.tokenExhaustionHandoverEnabled) && (undefined === input.tokenExhaustionHandoverMessage || "string" === typeof input.tokenExhaustionHandoverMessage) && (undefined === input.tokenExhaustionHandoverBareNameLeaderMessage || "string" === typeof input.tokenExhaustionHandoverBareNameLeaderMessage) && (undefined === input.tokenRateLimitSnapshotBaseDir || "string" === typeof input.tokenRateLimitSnapshotBaseDir) && (undefined === input.tokenExhaustionGracePeriodSeconds || "number" === typeof input.tokenExhaustionGracePeriodSeconds) && (undefined === input.tokenExhaustionHandoverStateFilePath || "string" === typeof input.tokenExhaustionHandoverStateFilePath) && (undefined === input.silentNotificationEnabled || "boolean" === typeof input.silentNotificationEnabled) && (undefined === input.ownerCallMarker || "string" === typeof input.ownerCallMarker) && (undefined === input.subAgentOutputRootDirectory || "string" === typeof input.subAgentOutputRootDirectory) && (undefined === input.subAgentProcessMatchPattern || "string" === typeof input.subAgentProcessMatchPattern) && (undefined === input.subAgentTranscriptRootDirectory || "string" === typeof input.subAgentTranscriptRootDirectory) && (undefined === input.subAgentRuntimeRootDirectory || "string" === typeof input.subAgentRuntimeRootDirectory) && (undefined === input.mainSilentThresholdSeconds || "number" === typeof input.mainSilentThresholdSeconds) && (undefined === input.unansweredOwnerCallGraceSeconds || "number" === typeof input.unansweredOwnerCallGraceSeconds) && (undefined === input.subAgentSilentThresholdSeconds || "number" === typeof input.subAgentSilentThresholdSeconds) && (undefined === input.subAgentRunningThresholdSeconds || "number" === typeof input.subAgentRunningThresholdSeconds) && (undefined === input.silentNotificationStaggerSeconds || "number" === typeof input.silentNotificationStaggerSeconds) && (undefined === input.candidateDebounceRecencyWindowSeconds || "number" === typeof input.candidateDebounceRecencyWindowSeconds) && (undefined === input.candidateDebounceStateFilePath || "string" === typeof input.candidateDebounceStateFilePath) && (undefined === input.notifiedStateFilePath || "string" === typeof input.notifiedStateFilePath) && (undefined === input.activeHubTaskStatus || "string" === typeof input.activeHubTaskStatus) && (undefined === input.hubTaskStatusCacheStateFilePath || "string" === typeof input.hubTaskStatusCacheStateFilePath) && (undefined === input.hubTaskStatusCacheTtlSeconds || "number" === typeof input.hubTaskStatusCacheTtlSeconds) && (undefined === input.silentMainStalledMessage || "string" === typeof input.silentMainStalledMessage) && (undefined === input.silentMainStalledStaleOwnerCallMessage || "string" === typeof input.silentMainStalledStaleOwnerCallMessage) && (undefined === input.silentSubAgentIdleMessageHeader || "string" === typeof input.silentSubAgentIdleMessageHeader) && (undefined === input.silentSubAgentIdleMessageFooter || "string" === typeof input.silentSubAgentIdleMessageFooter) && (undefined === input.silentSubAgentLongRunningMessageHeader || "string" === typeof input.silentSubAgentLongRunningMessageHeader) && (undefined === input.silentSubAgentLongRunningMessageFooter || "string" === typeof input.silentSubAgentLongRunningMessageFooter) && (undefined === input.outputDegenerationResetEnabled || "boolean" === typeof input.outputDegenerationResetEnabled) && (undefined === input.outputDegenerationWarningMessage || "string" === typeof input.outputDegenerationWarningMessage) && (undefined === input.outputDegenerationGraceSeconds || "number" === typeof input.outputDegenerationGraceSeconds) && (undefined === input.outputDegenerationCooldownSeconds || "number" === typeof input.outputDegenerationCooldownSeconds) && (undefined === input.outputDegenerationCooldownStateFilePath || "string" === typeof input.outputDegenerationCooldownStateFilePath) && ("object" === typeof input.credentials && null !== input.credentials && _io6(input.credentials)); const _io1 = input => Object.keys(input).every(key => {
115
+ if (!(() => { const _io0 = input => (undefined === input.thresholdForAutoReject || "number" === typeof input.thresholdForAutoReject) && (null === input.changeTargetPathAliases || undefined === input.changeTargetPathAliases || "object" === typeof input.changeTargetPathAliases && null !== input.changeTargetPathAliases && false === Array.isArray(input.changeTargetPathAliases) && _io1(input.changeTargetPathAliases)) && "string" === typeof input.projectUrl && "string" === typeof input.manager && "string" === typeof input.projectName && (null === input.labelsAsLlmAgentName || undefined === input.labelsAsLlmAgentName || Array.isArray(input.labelsAsLlmAgentName) && input.labelsAsLlmAgentName.every(elem => "string" === typeof elem)) && "string" === typeof input.org && ("object" === typeof input.workingReport && null !== input.workingReport && _io2(input.workingReport)) && "string" === typeof input.urlOfStoryView && "boolean" === typeof input.disabled && (null === input.startPreparation || undefined === input.startPreparation || "object" === typeof input.startPreparation && null !== input.startPreparation && _io3(input.startPreparation)) && (undefined === input.createTaskFromStoryBodyCheckboxEnabled || "boolean" === typeof input.createTaskFromStoryBodyCheckboxEnabled) && (null === input.dailySecurityScan || undefined === input.dailySecurityScan || "object" === typeof input.dailySecurityScan && null !== input.dailySecurityScan && _io4(input.dailySecurityScan)) && (null === input.allowedIssueAuthors || undefined === input.allowedIssueAuthors || "string" === typeof input.allowedIssueAuthors || Array.isArray(input.allowedIssueAuthors) && input.allowedIssueAuthors.every(elem => "string" === typeof elem)) && (null === input.autoAssignManagerAuthors || undefined === input.autoAssignManagerAuthors || "string" === typeof input.autoAssignManagerAuthors || Array.isArray(input.autoAssignManagerAuthors) && input.autoAssignManagerAuthors.every(elem => "string" === typeof elem)) && (undefined === input.claudeCodeOauthTokenListJsonPath || "string" === typeof input.claudeCodeOauthTokenListJsonPath) && (undefined === input.consoleDataOutputDir || "string" === typeof input.consoleDataOutputDir) && (undefined === input.dashboardDataDir || "string" === typeof input.dashboardDataDir) && (undefined === input.disks || Array.isArray(input.disks) && input.disks.every(elem => "object" === typeof elem && null !== elem && _io5(elem))) && (undefined === input.workflowBlockerStoryName || "string" === typeof input.workflowBlockerStoryName) && (undefined === input.inTmuxDataOutputDir || "string" === typeof input.inTmuxDataOutputDir) && (undefined === input.newIssueRepo || "string" === typeof input.newIssueRepo) && (undefined === input.inTmuxConsoleBaseUrl || "string" === typeof input.inTmuxConsoleBaseUrl) && (undefined === input.inTmuxConsoleToken || "string" === typeof input.inTmuxConsoleToken) && (undefined === input.inTmuxProjectOrder || Array.isArray(input.inTmuxProjectOrder) && input.inTmuxProjectOrder.every(elem => "string" === typeof elem)) && (undefined === input.inTmuxLauncherCommand || "string" === typeof input.inTmuxLauncherCommand) && (undefined === input.tokenExhaustionHandoverEnabled || "boolean" === typeof input.tokenExhaustionHandoverEnabled) && (undefined === input.tokenExhaustionHandoverMessage || "string" === typeof input.tokenExhaustionHandoverMessage) && (undefined === input.tokenExhaustionHandoverBareNameLeaderMessage || "string" === typeof input.tokenExhaustionHandoverBareNameLeaderMessage) && (undefined === input.tokenRateLimitSnapshotBaseDir || "string" === typeof input.tokenRateLimitSnapshotBaseDir) && (undefined === input.tokenExhaustionGracePeriodSeconds || "number" === typeof input.tokenExhaustionGracePeriodSeconds) && (undefined === input.tokenExhaustionHandoverStateFilePath || "string" === typeof input.tokenExhaustionHandoverStateFilePath) && (undefined === input.silentNotificationEnabled || "boolean" === typeof input.silentNotificationEnabled) && (undefined === input.ownerCallMarker || "string" === typeof input.ownerCallMarker) && (undefined === input.subAgentOutputRootDirectory || "string" === typeof input.subAgentOutputRootDirectory) && (undefined === input.subAgentProcessMatchPattern || "string" === typeof input.subAgentProcessMatchPattern) && (undefined === input.subAgentTranscriptRootDirectory || "string" === typeof input.subAgentTranscriptRootDirectory) && (undefined === input.subAgentRuntimeRootDirectory || "string" === typeof input.subAgentRuntimeRootDirectory) && (undefined === input.mainSilentThresholdSeconds || "number" === typeof input.mainSilentThresholdSeconds) && (undefined === input.unansweredOwnerCallGraceSeconds || "number" === typeof input.unansweredOwnerCallGraceSeconds) && (undefined === input.subAgentSilentThresholdSeconds || "number" === typeof input.subAgentSilentThresholdSeconds) && (undefined === input.subAgentRunningThresholdSeconds || "number" === typeof input.subAgentRunningThresholdSeconds) && (undefined === input.silentNotificationStaggerSeconds || "number" === typeof input.silentNotificationStaggerSeconds) && (undefined === input.candidateDebounceRecencyWindowSeconds || "number" === typeof input.candidateDebounceRecencyWindowSeconds) && (undefined === input.candidateDebounceStateFilePath || "string" === typeof input.candidateDebounceStateFilePath) && (undefined === input.activeHubTaskStatus || "string" === typeof input.activeHubTaskStatus) && (undefined === input.hubTaskStatusCacheStateFilePath || "string" === typeof input.hubTaskStatusCacheStateFilePath) && (undefined === input.hubTaskStatusCacheTtlSeconds || "number" === typeof input.hubTaskStatusCacheTtlSeconds) && (undefined === input.silentMainStalledMessage || "string" === typeof input.silentMainStalledMessage) && (undefined === input.silentMainStalledStaleOwnerCallMessage || "string" === typeof input.silentMainStalledStaleOwnerCallMessage) && (undefined === input.silentSubAgentIdleMessageHeader || "string" === typeof input.silentSubAgentIdleMessageHeader) && (undefined === input.silentSubAgentIdleMessageFooter || "string" === typeof input.silentSubAgentIdleMessageFooter) && (undefined === input.silentSubAgentLongRunningMessageHeader || "string" === typeof input.silentSubAgentLongRunningMessageHeader) && (undefined === input.silentSubAgentLongRunningMessageFooter || "string" === typeof input.silentSubAgentLongRunningMessageFooter) && (undefined === input.outputDegenerationResetEnabled || "boolean" === typeof input.outputDegenerationResetEnabled) && (undefined === input.outputDegenerationWarningMessage || "string" === typeof input.outputDegenerationWarningMessage) && (undefined === input.outputDegenerationGraceSeconds || "number" === typeof input.outputDegenerationGraceSeconds) && (undefined === input.outputDegenerationCooldownSeconds || "number" === typeof input.outputDegenerationCooldownSeconds) && (undefined === input.outputDegenerationCooldownStateFilePath || "string" === typeof input.outputDegenerationCooldownStateFilePath) && ("object" === typeof input.credentials && null !== input.credentials && _io6(input.credentials)); const _io1 = input => Object.keys(input).every(key => {
116
116
  const value = input[key];
117
117
  if (undefined === value)
118
118
  return true;
119
119
  return "string" === typeof value;
120
120
  }); const _io2 = input => "string" === typeof input.repo && (Array.isArray(input.members) && input.members.every(elem => "string" === typeof elem)) && "string" === typeof input.spreadsheetUrl; const _io3 = input => "string" === typeof input.defaultAgentName && (null === input.defaultLlmModelName || undefined === input.defaultLlmModelName || "string" === typeof input.defaultLlmModelName) && (null === input.fallbackLlmModelName || undefined === input.fallbackLlmModelName || "string" === typeof input.fallbackLlmModelName) && (null === input.defaultLlmAgentName || undefined === input.defaultLlmAgentName || "string" === typeof input.defaultLlmAgentName) && "string" === typeof input.configFilePath && (null === input.maximumPreparingIssuesCount || "number" === typeof input.maximumPreparingIssuesCount) && (undefined === input.utilizationPercentageThreshold || "number" === typeof input.utilizationPercentageThreshold) && (null === input.allowedIssueAuthors || undefined === input.allowedIssueAuthors || Array.isArray(input.allowedIssueAuthors) && input.allowedIssueAuthors.every(elem => "string" === typeof elem)) && (undefined === input.preparationProcessCheckCommand || "string" === typeof input.preparationProcessCheckCommand) && (null === input.codexHomeCandidates || undefined === input.codexHomeCandidates || Array.isArray(input.codexHomeCandidates) && input.codexHomeCandidates.every(elem => "string" === typeof elem)) && (undefined === input.awLogDirectoryPath || "string" === typeof input.awLogDirectoryPath) && (undefined === input.awLogStaleThresholdMinutes || "number" === typeof input.awLogStaleThresholdMinutes) && (null === input.awaitingQualityCheckStatus || undefined === input.awaitingQualityCheckStatus || "string" === typeof input.awaitingQualityCheckStatus) && (null === input.labelsAsLlmAgentName || undefined === input.labelsAsLlmAgentName || Array.isArray(input.labelsAsLlmAgentName) && input.labelsAsLlmAgentName.every(elem => "string" === typeof elem)); const _io4 = input => "string" === typeof input.scanBaseDirectory && "number" === typeof input.targetHourUtc && (undefined === input.enableKevNvdReport || "boolean" === typeof input.enableKevNvdReport) && (undefined === input.kevReportRepo || "string" === typeof input.kevReportRepo); const _io5 = input => "string" === typeof input.title && "string" === typeof input.mountpoint; const _io6 = input => "object" === typeof input.manager && null !== input.manager && _io7(input.manager) && ("object" === typeof input.bot && null !== input.bot && _io11(input.bot)); const _io7 = input => "object" === typeof input.github && null !== input.github && _io8(input.github) && ("object" === typeof input.slack && null !== input.slack && _io9(input.slack)) && ("object" === typeof input.googleServiceAccount && null !== input.googleServiceAccount && _io10(input.googleServiceAccount)); const _io8 = input => "string" === typeof input.token; const _io9 = input => "string" === typeof input.userToken; const _io10 = input => "string" === typeof input.serviceAccountKey; const _io11 = input => "object" === typeof input.github && null !== input.github && _io12(input.github); const _io12 = input => "string" === typeof input.token; return input => "object" === typeof input && null !== input && _io0(input); })()(input)) {
121
- throw new Error(`Invalid input: ${JSON.stringify(input)}\n\n${JSON.stringify((() => { const _io0 = input => (undefined === input.thresholdForAutoReject || "number" === typeof input.thresholdForAutoReject) && (null === input.changeTargetPathAliases || undefined === input.changeTargetPathAliases || "object" === typeof input.changeTargetPathAliases && null !== input.changeTargetPathAliases && false === Array.isArray(input.changeTargetPathAliases) && _io1(input.changeTargetPathAliases)) && "string" === typeof input.projectUrl && "string" === typeof input.manager && "string" === typeof input.projectName && (null === input.labelsAsLlmAgentName || undefined === input.labelsAsLlmAgentName || Array.isArray(input.labelsAsLlmAgentName) && input.labelsAsLlmAgentName.every(elem => "string" === typeof elem)) && "string" === typeof input.org && ("object" === typeof input.workingReport && null !== input.workingReport && _io2(input.workingReport)) && "string" === typeof input.urlOfStoryView && "boolean" === typeof input.disabled && (null === input.startPreparation || undefined === input.startPreparation || "object" === typeof input.startPreparation && null !== input.startPreparation && _io3(input.startPreparation)) && (undefined === input.createTaskFromStoryBodyCheckboxEnabled || "boolean" === typeof input.createTaskFromStoryBodyCheckboxEnabled) && (null === input.dailySecurityScan || undefined === input.dailySecurityScan || "object" === typeof input.dailySecurityScan && null !== input.dailySecurityScan && _io4(input.dailySecurityScan)) && (null === input.allowedIssueAuthors || undefined === input.allowedIssueAuthors || "string" === typeof input.allowedIssueAuthors || Array.isArray(input.allowedIssueAuthors) && input.allowedIssueAuthors.every(elem => "string" === typeof elem)) && (null === input.autoAssignManagerAuthors || undefined === input.autoAssignManagerAuthors || "string" === typeof input.autoAssignManagerAuthors || Array.isArray(input.autoAssignManagerAuthors) && input.autoAssignManagerAuthors.every(elem => "string" === typeof elem)) && (undefined === input.claudeCodeOauthTokenListJsonPath || "string" === typeof input.claudeCodeOauthTokenListJsonPath) && (undefined === input.consoleDataOutputDir || "string" === typeof input.consoleDataOutputDir) && (undefined === input.dashboardDataDir || "string" === typeof input.dashboardDataDir) && (undefined === input.disks || Array.isArray(input.disks) && input.disks.every(elem => "object" === typeof elem && null !== elem && _io5(elem))) && (undefined === input.workflowBlockerStoryName || "string" === typeof input.workflowBlockerStoryName) && (undefined === input.inTmuxDataOutputDir || "string" === typeof input.inTmuxDataOutputDir) && (undefined === input.newIssueRepo || "string" === typeof input.newIssueRepo) && (undefined === input.inTmuxConsoleBaseUrl || "string" === typeof input.inTmuxConsoleBaseUrl) && (undefined === input.inTmuxConsoleToken || "string" === typeof input.inTmuxConsoleToken) && (undefined === input.inTmuxProjectOrder || Array.isArray(input.inTmuxProjectOrder) && input.inTmuxProjectOrder.every(elem => "string" === typeof elem)) && (undefined === input.inTmuxLauncherCommand || "string" === typeof input.inTmuxLauncherCommand) && (undefined === input.tokenExhaustionHandoverEnabled || "boolean" === typeof input.tokenExhaustionHandoverEnabled) && (undefined === input.tokenExhaustionHandoverMessage || "string" === typeof input.tokenExhaustionHandoverMessage) && (undefined === input.tokenExhaustionHandoverBareNameLeaderMessage || "string" === typeof input.tokenExhaustionHandoverBareNameLeaderMessage) && (undefined === input.tokenRateLimitSnapshotBaseDir || "string" === typeof input.tokenRateLimitSnapshotBaseDir) && (undefined === input.tokenExhaustionGracePeriodSeconds || "number" === typeof input.tokenExhaustionGracePeriodSeconds) && (undefined === input.tokenExhaustionHandoverStateFilePath || "string" === typeof input.tokenExhaustionHandoverStateFilePath) && (undefined === input.silentNotificationEnabled || "boolean" === typeof input.silentNotificationEnabled) && (undefined === input.ownerCallMarker || "string" === typeof input.ownerCallMarker) && (undefined === input.subAgentOutputRootDirectory || "string" === typeof input.subAgentOutputRootDirectory) && (undefined === input.subAgentProcessMatchPattern || "string" === typeof input.subAgentProcessMatchPattern) && (undefined === input.subAgentTranscriptRootDirectory || "string" === typeof input.subAgentTranscriptRootDirectory) && (undefined === input.subAgentRuntimeRootDirectory || "string" === typeof input.subAgentRuntimeRootDirectory) && (undefined === input.mainSilentThresholdSeconds || "number" === typeof input.mainSilentThresholdSeconds) && (undefined === input.unansweredOwnerCallGraceSeconds || "number" === typeof input.unansweredOwnerCallGraceSeconds) && (undefined === input.subAgentSilentThresholdSeconds || "number" === typeof input.subAgentSilentThresholdSeconds) && (undefined === input.subAgentRunningThresholdSeconds || "number" === typeof input.subAgentRunningThresholdSeconds) && (undefined === input.silentNotificationStaggerSeconds || "number" === typeof input.silentNotificationStaggerSeconds) && (undefined === input.candidateDebounceRecencyWindowSeconds || "number" === typeof input.candidateDebounceRecencyWindowSeconds) && (undefined === input.candidateDebounceStateFilePath || "string" === typeof input.candidateDebounceStateFilePath) && (undefined === input.notifiedStateFilePath || "string" === typeof input.notifiedStateFilePath) && (undefined === input.activeHubTaskStatus || "string" === typeof input.activeHubTaskStatus) && (undefined === input.hubTaskStatusCacheStateFilePath || "string" === typeof input.hubTaskStatusCacheStateFilePath) && (undefined === input.hubTaskStatusCacheTtlSeconds || "number" === typeof input.hubTaskStatusCacheTtlSeconds) && (undefined === input.silentMainStalledMessage || "string" === typeof input.silentMainStalledMessage) && (undefined === input.silentMainStalledStaleOwnerCallMessage || "string" === typeof input.silentMainStalledStaleOwnerCallMessage) && (undefined === input.silentSubAgentIdleMessageHeader || "string" === typeof input.silentSubAgentIdleMessageHeader) && (undefined === input.silentSubAgentIdleMessageFooter || "string" === typeof input.silentSubAgentIdleMessageFooter) && (undefined === input.silentSubAgentLongRunningMessageHeader || "string" === typeof input.silentSubAgentLongRunningMessageHeader) && (undefined === input.silentSubAgentLongRunningMessageFooter || "string" === typeof input.silentSubAgentLongRunningMessageFooter) && (undefined === input.outputDegenerationResetEnabled || "boolean" === typeof input.outputDegenerationResetEnabled) && (undefined === input.outputDegenerationWarningMessage || "string" === typeof input.outputDegenerationWarningMessage) && (undefined === input.outputDegenerationGraceSeconds || "number" === typeof input.outputDegenerationGraceSeconds) && (undefined === input.outputDegenerationCooldownSeconds || "number" === typeof input.outputDegenerationCooldownSeconds) && (undefined === input.outputDegenerationCooldownStateFilePath || "string" === typeof input.outputDegenerationCooldownStateFilePath) && ("object" === typeof input.credentials && null !== input.credentials && _io6(input.credentials)); const _io1 = input => Object.keys(input).every(key => {
121
+ throw new Error(`Invalid input: ${JSON.stringify(input)}\n\n${JSON.stringify((() => { const _io0 = input => (undefined === input.thresholdForAutoReject || "number" === typeof input.thresholdForAutoReject) && (null === input.changeTargetPathAliases || undefined === input.changeTargetPathAliases || "object" === typeof input.changeTargetPathAliases && null !== input.changeTargetPathAliases && false === Array.isArray(input.changeTargetPathAliases) && _io1(input.changeTargetPathAliases)) && "string" === typeof input.projectUrl && "string" === typeof input.manager && "string" === typeof input.projectName && (null === input.labelsAsLlmAgentName || undefined === input.labelsAsLlmAgentName || Array.isArray(input.labelsAsLlmAgentName) && input.labelsAsLlmAgentName.every(elem => "string" === typeof elem)) && "string" === typeof input.org && ("object" === typeof input.workingReport && null !== input.workingReport && _io2(input.workingReport)) && "string" === typeof input.urlOfStoryView && "boolean" === typeof input.disabled && (null === input.startPreparation || undefined === input.startPreparation || "object" === typeof input.startPreparation && null !== input.startPreparation && _io3(input.startPreparation)) && (undefined === input.createTaskFromStoryBodyCheckboxEnabled || "boolean" === typeof input.createTaskFromStoryBodyCheckboxEnabled) && (null === input.dailySecurityScan || undefined === input.dailySecurityScan || "object" === typeof input.dailySecurityScan && null !== input.dailySecurityScan && _io4(input.dailySecurityScan)) && (null === input.allowedIssueAuthors || undefined === input.allowedIssueAuthors || "string" === typeof input.allowedIssueAuthors || Array.isArray(input.allowedIssueAuthors) && input.allowedIssueAuthors.every(elem => "string" === typeof elem)) && (null === input.autoAssignManagerAuthors || undefined === input.autoAssignManagerAuthors || "string" === typeof input.autoAssignManagerAuthors || Array.isArray(input.autoAssignManagerAuthors) && input.autoAssignManagerAuthors.every(elem => "string" === typeof elem)) && (undefined === input.claudeCodeOauthTokenListJsonPath || "string" === typeof input.claudeCodeOauthTokenListJsonPath) && (undefined === input.consoleDataOutputDir || "string" === typeof input.consoleDataOutputDir) && (undefined === input.dashboardDataDir || "string" === typeof input.dashboardDataDir) && (undefined === input.disks || Array.isArray(input.disks) && input.disks.every(elem => "object" === typeof elem && null !== elem && _io5(elem))) && (undefined === input.workflowBlockerStoryName || "string" === typeof input.workflowBlockerStoryName) && (undefined === input.inTmuxDataOutputDir || "string" === typeof input.inTmuxDataOutputDir) && (undefined === input.newIssueRepo || "string" === typeof input.newIssueRepo) && (undefined === input.inTmuxConsoleBaseUrl || "string" === typeof input.inTmuxConsoleBaseUrl) && (undefined === input.inTmuxConsoleToken || "string" === typeof input.inTmuxConsoleToken) && (undefined === input.inTmuxProjectOrder || Array.isArray(input.inTmuxProjectOrder) && input.inTmuxProjectOrder.every(elem => "string" === typeof elem)) && (undefined === input.inTmuxLauncherCommand || "string" === typeof input.inTmuxLauncherCommand) && (undefined === input.tokenExhaustionHandoverEnabled || "boolean" === typeof input.tokenExhaustionHandoverEnabled) && (undefined === input.tokenExhaustionHandoverMessage || "string" === typeof input.tokenExhaustionHandoverMessage) && (undefined === input.tokenExhaustionHandoverBareNameLeaderMessage || "string" === typeof input.tokenExhaustionHandoverBareNameLeaderMessage) && (undefined === input.tokenRateLimitSnapshotBaseDir || "string" === typeof input.tokenRateLimitSnapshotBaseDir) && (undefined === input.tokenExhaustionGracePeriodSeconds || "number" === typeof input.tokenExhaustionGracePeriodSeconds) && (undefined === input.tokenExhaustionHandoverStateFilePath || "string" === typeof input.tokenExhaustionHandoverStateFilePath) && (undefined === input.silentNotificationEnabled || "boolean" === typeof input.silentNotificationEnabled) && (undefined === input.ownerCallMarker || "string" === typeof input.ownerCallMarker) && (undefined === input.subAgentOutputRootDirectory || "string" === typeof input.subAgentOutputRootDirectory) && (undefined === input.subAgentProcessMatchPattern || "string" === typeof input.subAgentProcessMatchPattern) && (undefined === input.subAgentTranscriptRootDirectory || "string" === typeof input.subAgentTranscriptRootDirectory) && (undefined === input.subAgentRuntimeRootDirectory || "string" === typeof input.subAgentRuntimeRootDirectory) && (undefined === input.mainSilentThresholdSeconds || "number" === typeof input.mainSilentThresholdSeconds) && (undefined === input.unansweredOwnerCallGraceSeconds || "number" === typeof input.unansweredOwnerCallGraceSeconds) && (undefined === input.subAgentSilentThresholdSeconds || "number" === typeof input.subAgentSilentThresholdSeconds) && (undefined === input.subAgentRunningThresholdSeconds || "number" === typeof input.subAgentRunningThresholdSeconds) && (undefined === input.silentNotificationStaggerSeconds || "number" === typeof input.silentNotificationStaggerSeconds) && (undefined === input.candidateDebounceRecencyWindowSeconds || "number" === typeof input.candidateDebounceRecencyWindowSeconds) && (undefined === input.candidateDebounceStateFilePath || "string" === typeof input.candidateDebounceStateFilePath) && (undefined === input.activeHubTaskStatus || "string" === typeof input.activeHubTaskStatus) && (undefined === input.hubTaskStatusCacheStateFilePath || "string" === typeof input.hubTaskStatusCacheStateFilePath) && (undefined === input.hubTaskStatusCacheTtlSeconds || "number" === typeof input.hubTaskStatusCacheTtlSeconds) && (undefined === input.silentMainStalledMessage || "string" === typeof input.silentMainStalledMessage) && (undefined === input.silentMainStalledStaleOwnerCallMessage || "string" === typeof input.silentMainStalledStaleOwnerCallMessage) && (undefined === input.silentSubAgentIdleMessageHeader || "string" === typeof input.silentSubAgentIdleMessageHeader) && (undefined === input.silentSubAgentIdleMessageFooter || "string" === typeof input.silentSubAgentIdleMessageFooter) && (undefined === input.silentSubAgentLongRunningMessageHeader || "string" === typeof input.silentSubAgentLongRunningMessageHeader) && (undefined === input.silentSubAgentLongRunningMessageFooter || "string" === typeof input.silentSubAgentLongRunningMessageFooter) && (undefined === input.outputDegenerationResetEnabled || "boolean" === typeof input.outputDegenerationResetEnabled) && (undefined === input.outputDegenerationWarningMessage || "string" === typeof input.outputDegenerationWarningMessage) && (undefined === input.outputDegenerationGraceSeconds || "number" === typeof input.outputDegenerationGraceSeconds) && (undefined === input.outputDegenerationCooldownSeconds || "number" === typeof input.outputDegenerationCooldownSeconds) && (undefined === input.outputDegenerationCooldownStateFilePath || "string" === typeof input.outputDegenerationCooldownStateFilePath) && ("object" === typeof input.credentials && null !== input.credentials && _io6(input.credentials)); const _io1 = input => Object.keys(input).every(key => {
122
122
  const value = input[key];
123
123
  if (undefined === value)
124
124
  return true;
@@ -363,10 +363,6 @@ class HandleScheduledEventUseCaseHandler {
363
363
  path: _path + ".candidateDebounceStateFilePath",
364
364
  expected: "(string | undefined)",
365
365
  value: input.candidateDebounceStateFilePath
366
- }), undefined === input.notifiedStateFilePath || "string" === typeof input.notifiedStateFilePath || _report(_exceptionable, {
367
- path: _path + ".notifiedStateFilePath",
368
- expected: "(string | undefined)",
369
- value: input.notifiedStateFilePath
370
366
  }), undefined === input.activeHubTaskStatus || "string" === typeof input.activeHubTaskStatus || _report(_exceptionable, {
371
367
  path: _path + ".activeHubTaskStatus",
372
368
  expected: "(string | undefined)",
@@ -934,9 +930,6 @@ class HandleScheduledEventUseCaseHandler {
934
930
  candidateDebounceStateFilePath: mergedInput.candidateDebounceStateFilePath ??
935
931
  process.env.TDPM_SILENT_CANDIDATE_DEBOUNCE_STATE_FILE_PATH ??
936
932
  null,
937
- notifiedStateFilePath: mergedInput.notifiedStateFilePath ??
938
- process.env.TDPM_SILENT_NOTIFIED_STATE_FILE_PATH ??
939
- null,
940
933
  activeHubTaskStatus: mergedInput.activeHubTaskStatus ??
941
934
  process.env.TDPM_ACTIVE_HUB_TASK_STATUS ??
942
935
  null,
@@ -1 +1 @@
1
- {"version":3,"file":"HandleScheduledEventUseCaseHandler.js","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HandleScheduledEventUseCaseHandler.js","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,6 @@ const FileSystemSubAgentSilentSecondsResolver_1 = require("../../repositories/Fi
20
20
  const ConfigurableSilentSessionMessageComposer_1 = require("../../repositories/ConfigurableSilentSessionMessageComposer");
21
21
  const RealSleeper_1 = require("../../repositories/RealSleeper");
22
22
  const FileSystemSilentSessionCandidateStateRepository_1 = require("../../repositories/FileSystemSilentSessionCandidateStateRepository");
23
- const FileSystemSilentSessionNotifiedStateRepository_1 = require("../../repositories/FileSystemSilentSessionNotifiedStateRepository");
24
23
  const FileSystemSilentSessionHubTaskStatusCacheRepository_1 = require("../../repositories/FileSystemSilentSessionHubTaskStatusCacheRepository");
25
24
  const createOwnerCallStatusProvider = (ownerCallMarker) => {
26
25
  if (ownerCallMarker !== null && ownerCallMarker.length > 0) {
@@ -35,7 +34,7 @@ const createSubAgentActivityRepository = (subAgentTranscriptRootDirectory, subAg
35
34
  return new ProcessListSessionSubAgentActivityRepository_1.ProcessListSessionSubAgentActivityRepository(subAgentProcessMatchPattern, new NodeSubAgentProcessLister_1.NodeSubAgentProcessLister(localCommandRunner), new FileSystemSubAgentSilentSecondsResolver_1.FileSystemSubAgentSilentSecondsResolver(subAgentOutputRootDirectory, now));
36
35
  };
37
36
  const notifySilentTmuxSessions = async (params) => {
38
- const { enabled, localCommandRunner, processEnvironReader, ownerCallMarker, subAgentOutputRootDirectory, subAgentProcessMatchPattern, subAgentTranscriptRootDirectory, subAgentRuntimeRootDirectory, mainSilentThresholdSeconds, unansweredOwnerCallGraceSeconds, subAgentSilentThresholdSeconds, subAgentRunningThresholdSeconds, staggerSeconds, candidateDebounceRecencyWindowSeconds, candidateDebounceStateFilePath, notifiedStateFilePath, activeHubTaskStatus, hubTaskStatusResolver, hubTaskStatusCacheStateFilePath, hubTaskStatusCacheTtlSeconds, messageTemplates, now, } = params;
37
+ const { enabled, localCommandRunner, processEnvironReader, ownerCallMarker, subAgentOutputRootDirectory, subAgentProcessMatchPattern, subAgentTranscriptRootDirectory, subAgentRuntimeRootDirectory, mainSilentThresholdSeconds, unansweredOwnerCallGraceSeconds, subAgentSilentThresholdSeconds, subAgentRunningThresholdSeconds, staggerSeconds, candidateDebounceRecencyWindowSeconds, candidateDebounceStateFilePath, activeHubTaskStatus, hubTaskStatusResolver, hubTaskStatusCacheStateFilePath, hubTaskStatusCacheTtlSeconds, messageTemplates, now, } = params;
39
38
  if (!enabled) {
40
39
  console.log('Silent live session notification skipped: not enabled (set silentNotificationEnabled or TDPM_SILENT_NOTIFICATION_ENABLED=true to enable).');
41
40
  return;
@@ -43,9 +42,7 @@ const notifySilentTmuxSessions = async (params) => {
43
42
  const messageComposer = new ConfigurableSilentSessionMessageComposer_1.ConfigurableSilentSessionMessageComposer(messageTemplates, new DefaultSilentSessionMessageComposer_1.DefaultSilentSessionMessageComposer());
44
43
  const useCase = new NotifySilentLiveSessionsUseCase_1.NotifySilentLiveSessionsUseCase(new LocalProcessLiveSessionProcessSnapshotProvider_1.LocalProcessLiveSessionProcessSnapshotProvider(localCommandRunner, processEnvironReader ?? new ProcFsProcessEnvironReader_1.ProcFsProcessEnvironReader()), new FileSystemInteractiveLiveSessionTranscriptResolver_1.FileSystemInteractiveLiveSessionTranscriptResolver(), new FileSystemSessionOutputActivityRepository_1.FileSystemSessionOutputActivityRepository(), createSubAgentActivityRepository(subAgentTranscriptRootDirectory, subAgentRuntimeRootDirectory, subAgentProcessMatchPattern, subAgentOutputRootDirectory, localCommandRunner, now), createOwnerCallStatusProvider(ownerCallMarker), new TmuxSilentSessionNotificationRepository_1.TmuxSilentSessionNotificationRepository(localCommandRunner), candidateDebounceStateFilePath !== null
45
44
  ? new FileSystemSilentSessionCandidateStateRepository_1.FileSystemSilentSessionCandidateStateRepository(candidateDebounceStateFilePath)
46
- : new FileSystemSilentSessionCandidateStateRepository_1.FileSystemSilentSessionCandidateStateRepository(), notifiedStateFilePath !== null
47
- ? new FileSystemSilentSessionNotifiedStateRepository_1.FileSystemSilentSessionNotifiedStateRepository(notifiedStateFilePath)
48
- : new FileSystemSilentSessionNotifiedStateRepository_1.FileSystemSilentSessionNotifiedStateRepository(), messageComposer, new RealSleeper_1.RealSleeper(), hubTaskStatusResolver, hubTaskStatusCacheStateFilePath !== null
45
+ : new FileSystemSilentSessionCandidateStateRepository_1.FileSystemSilentSessionCandidateStateRepository(), messageComposer, new RealSleeper_1.RealSleeper(), hubTaskStatusResolver, hubTaskStatusCacheStateFilePath !== null
49
46
  ? new FileSystemSilentSessionHubTaskStatusCacheRepository_1.FileSystemSilentSessionHubTaskStatusCacheRepository(hubTaskStatusCacheStateFilePath)
50
47
  : new FileSystemSilentSessionHubTaskStatusCacheRepository_1.FileSystemSilentSessionHubTaskStatusCacheRepository(), new TranscriptRefusalTailStatusProvider_1.TranscriptRefusalTailStatusProvider());
51
48
  await useCase.run({
@@ -1 +1 @@
1
- {"version":3,"file":"notifySilentTmuxSessions.js","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/notifySilentTmuxSessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notifySilentTmuxSessions.js","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/notifySilentTmuxSessions.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,8 @@ class TmuxSilentSessionNotificationRepository {
7
7
  constructor(localCommandRunner) {
8
8
  this.localCommandRunner = localCommandRunner;
9
9
  this.sendSelfCheckNotification = async (sessionName, message) => {
10
- const framedMessage = `${BRACKETED_PASTE_START}${message}${BRACKETED_PASTE_END}`;
10
+ const singleLineMessage = message.replace(/\s*[\r\n]+\s*/g, ' ').trim();
11
+ const framedMessage = `${BRACKETED_PASTE_START}${singleLineMessage}${BRACKETED_PASTE_END}`;
11
12
  const literalResult = await this.localCommandRunner.runCommand('tmux', [
12
13
  'send-keys',
13
14
  '-t',
@@ -1 +1 @@
1
- {"version":3,"file":"TmuxSilentSessionNotificationRepository.js","sourceRoot":"","sources":["../../../src/adapter/repositories/TmuxSilentSessionNotificationRepository.ts"],"names":[],"mappings":";;;AAGA,MAAM,qBAAqB,GAAG,WAAW,CAAC;AAC1C,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAExC,MAAa,uCAAuC;IAClD,YAA6B,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;QAEnE,8BAAyB,GAAG,KAAK,EAC/B,WAAmB,EACnB,OAAe,EACA,EAAE;YACjB,MAAM,aAAa,GAAG,GAAG,qBAAqB,GAAG,OAAO,GAAG,mBAAmB,EAAE,CAAC;YACjF,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,EAAE;gBACrE,WAAW;gBACX,IAAI;gBACJ,WAAW;gBACX,IAAI;gBACJ,aAAa;aACd,CAAC,CAAC;YACH,IAAI,aAAa,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CACb,gDAAgD,WAAW,gBAAgB,aAAa,CAAC,QAAQ,GAC/F,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EACvD,EAAE,CACH,CAAC;YACJ,CAAC;YACD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,EAAE;gBACpE,WAAW;gBACX,IAAI;gBACJ,WAAW;gBACX,OAAO;aACR,CAAC,CAAC;YACH,IAAI,YAAY,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CACb,gDAAgD,WAAW,gBAAgB,YAAY,CAAC,QAAQ,GAC9F,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EACrD,EAAE,CACH,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;IAlCoE,CAAC;CAmCxE;AApCD,0FAoCC"}
1
+ {"version":3,"file":"TmuxSilentSessionNotificationRepository.js","sourceRoot":"","sources":["../../../src/adapter/repositories/TmuxSilentSessionNotificationRepository.ts"],"names":[],"mappings":";;;AAGA,MAAM,qBAAqB,GAAG,WAAW,CAAC;AAC1C,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAExC,MAAa,uCAAuC;IAClD,YAA6B,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;QAEnE,8BAAyB,GAAG,KAAK,EAC/B,WAAmB,EACnB,OAAe,EACA,EAAE;YACjB,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACxE,MAAM,aAAa,GAAG,GAAG,qBAAqB,GAAG,iBAAiB,GAAG,mBAAmB,EAAE,CAAC;YAC3F,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,EAAE;gBACrE,WAAW;gBACX,IAAI;gBACJ,WAAW;gBACX,IAAI;gBACJ,aAAa;aACd,CAAC,CAAC;YACH,IAAI,aAAa,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CACb,gDAAgD,WAAW,gBAAgB,aAAa,CAAC,QAAQ,GAC/F,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EACvD,EAAE,CACH,CAAC;YACJ,CAAC;YACD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,EAAE;gBACpE,WAAW;gBACX,IAAI;gBACJ,WAAW;gBACX,OAAO;aACR,CAAC,CAAC;YACH,IAAI,YAAY,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CACb,gDAAgD,WAAW,gBAAgB,YAAY,CAAC,QAAQ,GAC9F,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EACrD,EAAE,CACH,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;IAnCoE,CAAC;CAoCxE;AArCD,0FAqCC"}
@@ -37,7 +37,7 @@ exports.composeMainStalledSelfDiagnosisGuidance = composeMainStalledSelfDiagnosi
37
37
  const composeMainStalledMessage = (mainSilentSeconds) => {
38
38
  const minutes = Math.floor(mainSilentSeconds / 60);
39
39
  return [
40
- `${silentSessionReminderSentinel_1.SILENT_SESSION_REMINDER_SENTINEL} This is an automated status check. No output has been observed for ${minutes} minutes. If you are waiting on an external process, no action is needed please log one line explaining the wait. Otherwise please continue with the next step, with these points in mind:`,
40
+ `${silentSessionReminderSentinel_1.SILENT_SESSION_REMINDER_SENTINEL} This is an automated status check. No output has been observed for ${minutes} minutes. If you are waiting on an automated process that runs without the owner - a continuous-integration run, an external API, or another process - no action is needed beyond logging one line explaining the wait. If you are waiting on something only the owner can supply - a decision, an approval, a credential, or an answer - please raise an owner-call now, because that wait is resolved only after the owner has been notified. Otherwise please continue with the next step, with these points in mind:`,
41
41
  `1. Keep the session task list current, marking finished items as done.`,
42
42
  `2. Run independent pieces of work in parallel across sub-agents.`,
43
43
  `3. Keep a monitor in place that notices when a sub-agent has produced no output for about 5 minutes.`,
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultSilentSessionMessageComposer.js","sourceRoot":"","sources":["../../../src/domain/usecases/DefaultSilentSessionMessageComposer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DefaultSilentSessionMessageComposer.js","sourceRoot":"","sources":["../../../src/domain/usecases/DefaultSilentSessionMessageComposer.ts"],"names":[],"mappings":"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"}
@@ -32,7 +32,7 @@ const GITHUB_ISSUE_OR_PULL_REQUEST_SESSION_NAME_PATTERN = /^https(:\/\/|_\/\/)gi
32
32
  const isGitHubIssueOrPullRequestSessionName = (sessionName) => GITHUB_ISSUE_OR_PULL_REQUEST_SESSION_NAME_PATTERN.test(sessionName);
33
33
  exports.isGitHubIssueOrPullRequestSessionName = isGitHubIssueOrPullRequestSessionName;
34
34
  class NotifySilentLiveSessionsUseCase {
35
- constructor(liveSessionProcessSnapshotProvider, interactiveLiveSessionTranscriptResolver, sessionOutputActivityRepository, subAgentActivityRepository, ownerCallStatusProvider, notificationRepository, candidateStateRepository, notifiedStateRepository, messageComposer, sleeper, hubTaskStatusResolver = null, hubTaskStatusCacheRepository = null, refusalTailStatusProvider = null) {
35
+ constructor(liveSessionProcessSnapshotProvider, interactiveLiveSessionTranscriptResolver, sessionOutputActivityRepository, subAgentActivityRepository, ownerCallStatusProvider, notificationRepository, candidateStateRepository, messageComposer, sleeper, hubTaskStatusResolver = null, hubTaskStatusCacheRepository = null, refusalTailStatusProvider = null) {
36
36
  this.liveSessionProcessSnapshotProvider = liveSessionProcessSnapshotProvider;
37
37
  this.interactiveLiveSessionTranscriptResolver = interactiveLiveSessionTranscriptResolver;
38
38
  this.sessionOutputActivityRepository = sessionOutputActivityRepository;
@@ -40,7 +40,6 @@ class NotifySilentLiveSessionsUseCase {
40
40
  this.ownerCallStatusProvider = ownerCallStatusProvider;
41
41
  this.notificationRepository = notificationRepository;
42
42
  this.candidateStateRepository = candidateStateRepository;
43
- this.notifiedStateRepository = notifiedStateRepository;
44
43
  this.messageComposer = messageComposer;
45
44
  this.sleeper = sleeper;
46
45
  this.hubTaskStatusResolver = hubTaskStatusResolver;
@@ -112,24 +111,8 @@ class NotifySilentLiveSessionsUseCase {
112
111
  const debouncedCandidates = candidates.filter((candidate) => previousCandidateSessionNames.has(candidate.sessionName));
113
112
  const suppressedFirstCycleCount = candidates.length - debouncedCandidates.length;
114
113
  console.log(`Silent live session notification: ${debouncedCandidates.length} debounced candidate(s) of ${candidates.length} current candidate(s) across ${interactiveSessions.length} interactive session(s); ${suppressedFirstCycleCount} first-cycle candidate(s) deferred until they persist into the next cycle.`);
115
- // Fire-once latch: the set of sessions already reminded during their
116
- // current silent episode. A session that is still a candidate this cycle
117
- // and was already reminded is NOT re-injected, so a continuous silent
118
- // episode produces exactly one reminder instead of one every schedule
119
- // cycle. The latch is keyed by the globally-unique session name and
120
- // persisted across the per-cycle fresh monitor process on disk.
121
- const currentCandidateSessionNames = new Set(candidates.map((candidate) => candidate.sessionName));
122
- const previouslyNotifiedSessionNames = await this.notifiedStateRepository.loadRecentNotifiedSessionNames({
123
- now: params.now,
124
- recencyWindowSeconds: params.candidateDebounceRecencyWindowSeconds,
125
- });
126
114
  let sentCount = 0;
127
- const notifiedThisCycleSessionNames = [];
128
115
  for (const candidate of debouncedCandidates) {
129
- if (previouslyNotifiedSessionNames.has(candidate.sessionName)) {
130
- console.log(`Skipping ${candidate.sessionName}: the current silent-episode reminder was already delivered; not re-injecting until the condition resolves and re-arises.`);
131
- continue;
132
- }
133
116
  if (!(await this.isHubTaskActive(candidate.sessionName, params.activeHubTaskStatus, params.hubTaskStatusCacheTtlSeconds, params.now))) {
134
117
  continue;
135
118
  }
@@ -138,28 +121,11 @@ class NotifySilentLiveSessionsUseCase {
138
121
  }
139
122
  await this.notificationRepository.sendSelfCheckNotification(candidate.sessionName, candidate.message);
140
123
  sentCount += 1;
141
- notifiedThisCycleSessionNames.push(candidate.sessionName);
142
124
  // One line per send, grep-stable on the `Notified ` prefix: the
143
125
  // ISO-8601 UTC timestamp disambiguates concurrent schedule runs and
144
126
  // the section list records what the message actually contained.
145
127
  console.log(`Notified ${candidate.sessionName} at=${params.now.toISOString()} sections=[${candidate.sectionLabels.join(',')}]`);
146
128
  }
147
- // Persist the latch for the next cycle: keep every already-latched session
148
- // that is STILL a candidate (refreshing its timestamp so a continuous
149
- // episode stays latched) plus the sessions notified this cycle, and prune
150
- // any latched session that is no longer a candidate so its episode ends and
151
- // a later re-qualification fires a fresh reminder.
152
- const retainedNotifiedSessionNames = [
153
- ...previouslyNotifiedSessionNames,
154
- ].filter((sessionName) => currentCandidateSessionNames.has(sessionName));
155
- const notifiedSessionNamesToPersist = Array.from(new Set([
156
- ...retainedNotifiedSessionNames,
157
- ...notifiedThisCycleSessionNames,
158
- ]));
159
- await this.notifiedStateRepository.saveNotifiedSessionNames({
160
- sessionNames: notifiedSessionNamesToPersist,
161
- now: params.now,
162
- });
163
129
  };
164
130
  this.isHubTaskActive = async (sessionName, activeHubTaskStatus, hubTaskStatusCacheTtlSeconds, now) => {
165
131
  if (activeHubTaskStatus === null || this.hubTaskStatusResolver === null) {
@@ -1 +1 @@
1
- {"version":3,"file":"NotifySilentLiveSessionsUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/NotifySilentLiveSessionsUseCase.ts"],"names":[],"mappings":";;;AAeA,mGAAgG;AAEnF,QAAA,qCAAqC,GAAG,EAAE,GAAG,EAAE,CAAC;AAC7D,wEAAwE;AACxE,4EAA4E;AAC5E,yEAAyE;AACzE,wEAAwE;AAC3D,QAAA,2CAA2C,GAAG,EAAE,GAAG,EAAE,CAAC;AACtD,QAAA,yCAAyC,GAAG,CAAC,GAAG,EAAE,CAAC;AACnD,QAAA,0CAA0C,GAAG,EAAE,GAAG,EAAE,CAAC;AACrD,QAAA,oCAAoC,GAAG,EAAE,CAAC;AAC1C,QAAA,iDAAiD,GAAG,EAAE,GAAG,EAAE,CAAC;AAC5D,QAAA,yCAAyC,GAAG,CAAC,GAAG,EAAE,CAAC;AAEhE,MAAM,gCAAgC,GACpC,mEAAmE,CAAC;AAEtE,MAAM,gCAAgC,GACpC,kEAAkE,CAAC;AAE9D,MAAM,mCAAmC,GAAG,CACjD,WAAmB,EACJ,EAAE;IACjB,IAAI,gCAAgC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACvD,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,MAAM,SAAS,GAAG,gCAAgC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACrE,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAC1C,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAClE,OAAO,sBAAsB,KAAK,IAAI,IAAI,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;AACnE,CAAC,CAAC;AAbW,QAAA,mCAAmC,uCAa9C;AAEF,MAAM,iDAAiD,GACrD,0EAA0E,CAAC;AAEtE,MAAM,qCAAqC,GAAG,CACnD,WAAmB,EACV,EAAE,CACX,iDAAiD,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAHzD,QAAA,qCAAqC,yCAGoB;AAUtE,MAAa,+BAA+B;IAI1C,YACmB,kCAAsE,EACtE,wCAAkF,EAClF,+BAAgE,EAChE,0BAA6D,EAC7D,uBAAgD,EAChD,sBAA2D,EAC3D,wBAA+D,EAC/D,uBAA6D,EAC7D,eAA6C,EAC7C,OAAgB,EAChB,wBAAsD,IAAI,EAC1D,+BAAiF,IAAI,EACrF,4BAA8D,IAAI;QAZlE,uCAAkC,GAAlC,kCAAkC,CAAoC;QACtE,6CAAwC,GAAxC,wCAAwC,CAA0C;QAClF,oCAA+B,GAA/B,+BAA+B,CAAiC;QAChE,+BAA0B,GAA1B,0BAA0B,CAAmC;QAC7D,4BAAuB,GAAvB,uBAAuB,CAAyB;QAChD,2BAAsB,GAAtB,sBAAsB,CAAqC;QAC3D,6BAAwB,GAAxB,wBAAwB,CAAuC;QAC/D,4BAAuB,GAAvB,uBAAuB,CAAsC;QAC7D,oBAAe,GAAf,eAAe,CAA8B;QAC7C,YAAO,GAAP,OAAO,CAAS;QAChB,0BAAqB,GAArB,qBAAqB,CAAqC;QAC1D,iCAA4B,GAA5B,4BAA4B,CAAyD;QACrF,8BAAyB,GAAzB,yBAAyB,CAAyC;QAhBpE,mCAA8B,GAC7C,IAAI,6EAAqC,EAAE,CAAC;QAkB9C,QAAG,GAAG,KAAK,EAAE,MAUZ,EAAiB,EAAE;YAClB,MAAM,QAAQ,GACZ,MAAM,IAAI,CAAC,kCAAkC,CAAC,WAAW,EAAE,CAAC;YAC9D,MAAM,sBAAsB,GAC1B,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACxD,sEAAsE;YACtE,wEAAwE;YACxE,0EAA0E;YAC1E,4EAA4E;YAC5E,oBAAoB;YACpB,MAAM,2BAA2B,GAC/B,IAAI,CAAC,wCAAwC,CAAC,sBAAsB,CAClE,sBAAsB,CACvB,CAAC;YACJ,wEAAwE;YACxE,4EAA4E;YAC5E,0EAA0E;YAC1E,qEAAqE;YACrE,yEAAyE;YACzE,0EAA0E;YAC1E,0EAA0E;YAC1E,qEAAqE;YACrE,+BAA+B;YAC/B,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,MAAM,CACvD,CAAC,OAAO,EAAE,EAAE,CACV,IAAA,6CAAqC,EAAC,OAAO,CAAC,WAAW,CAAC;gBAC1D,2BAA2B,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CACvD,CAAC;YACF,MAAM,2BAA2B,GAC/B,sBAAsB,CAAC,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC;YAC7D,IAAI,2BAA2B,GAAG,CAAC,EAAE,CAAC;gBACpC,OAAO,CAAC,GAAG,CACT,8CAA8C,2BAA2B,4IAA4I,CACtN,CAAC;YACJ,CAAC;YAED,mEAAmE;YACnE,kEAAkE;YAClE,oEAAoE;YACpE,sEAAsE;YACtE,sEAAsE;YACtE,sEAAsE;YACtE,6BAA6B;YAC7B,MAAM,yBAAyB,GAC7B,IAAI,CAAC,yBAAyB,KAAK,IAAI;gBACrC,CAAC,CAAC,IAAI,GAAG,EAAU;gBACnB,CAAC,CAAC,MAAM,IAAI,CAAC,yBAAyB,CAAC,6BAA6B,CAChE,2BAA2B,CAC5B,CAAC;YACR,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC/D,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;oBACxD,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,CAAC,GAAG,CACT,YAAY,OAAO,CAAC,WAAW,oGAAoG,CACpI,CAAC;gBACF,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAC3C,iBAAiB,EACjB,2BAA2B,EAC3B,MAAM,CAAC,GAAG,CACX,CAAC;YAEF,MAAM,UAAU,GAAsB,EAAE,CAAC;YACzC,KAAK,MAAM,eAAe,IAAI,SAAS,EAAE,CAAC;gBACxC,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;gBACjE,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;oBACvB,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC9B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW;gBAClC,CAAC,CAAC,CAAC,CAAC;gBACJ,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW;oBACpC,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,CAAC,CACR,CAAC;YAEF,MAAM,6BAA6B,GACjC,MAAM,IAAI,CAAC,wBAAwB,CAAC,+BAA+B,CAAC;gBAClE,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,oBAAoB,EAAE,MAAM,CAAC,qCAAqC;aACnE,CAAC,CAAC;YACL,MAAM,IAAI,CAAC,wBAAwB,CAAC,yBAAyB,CAAC;gBAC5D,YAAY,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC;gBAClE,GAAG,EAAE,MAAM,CAAC,GAAG;aAChB,CAAC,CAAC;YAEH,MAAM,mBAAmB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAC1D,6BAA6B,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CACzD,CAAC;YACF,MAAM,yBAAyB,GAC7B,UAAU,CAAC,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC;YAEjD,OAAO,CAAC,GAAG,CACT,qCAAqC,mBAAmB,CAAC,MAAM,8BAA8B,UAAU,CAAC,MAAM,gCAAgC,mBAAmB,CAAC,MAAM,4BAA4B,yBAAyB,4EAA4E,CAC1S,CAAC;YAEF,qEAAqE;YACrE,yEAAyE;YACzE,sEAAsE;YACtE,sEAAsE;YACtE,oEAAoE;YACpE,gEAAgE;YAChE,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAC1C,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CACrD,CAAC;YACF,MAAM,8BAA8B,GAClC,MAAM,IAAI,CAAC,uBAAuB,CAAC,8BAA8B,CAAC;gBAChE,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,oBAAoB,EAAE,MAAM,CAAC,qCAAqC;aACnE,CAAC,CAAC;YAEL,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,MAAM,6BAA6B,GAAa,EAAE,CAAC;YACnD,KAAK,MAAM,SAAS,IAAI,mBAAmB,EAAE,CAAC;gBAC5C,IAAI,8BAA8B,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC9D,OAAO,CAAC,GAAG,CACT,YAAY,SAAS,CAAC,WAAW,2HAA2H,CAC7J,CAAC;oBACF,SAAS;gBACX,CAAC;gBACD,IACE,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAC1B,SAAS,CAAC,WAAW,EACrB,MAAM,CAAC,mBAAmB,EAC1B,MAAM,CAAC,4BAA4B,EACnC,MAAM,CAAC,GAAG,CACX,CAAC,EACF,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;oBAClB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;gBACzD,CAAC;gBACD,MAAM,IAAI,CAAC,sBAAsB,CAAC,yBAAyB,CACzD,SAAS,CAAC,WAAW,EACrB,SAAS,CAAC,OAAO,CAClB,CAAC;gBACF,SAAS,IAAI,CAAC,CAAC;gBACf,6BAA6B,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBAC1D,gEAAgE;gBAChE,oEAAoE;gBACpE,gEAAgE;gBAChE,OAAO,CAAC,GAAG,CACT,YAAY,SAAS,CAAC,WAAW,OAAO,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,cAAc,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CACnH,CAAC;YACJ,CAAC;YAED,2EAA2E;YAC3E,sEAAsE;YACtE,0EAA0E;YAC1E,4EAA4E;YAC5E,mDAAmD;YACnD,MAAM,4BAA4B,GAAG;gBACnC,GAAG,8BAA8B;aAClC,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,4BAA4B,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;YACzE,MAAM,6BAA6B,GAAG,KAAK,CAAC,IAAI,CAC9C,IAAI,GAAG,CAAC;gBACN,GAAG,4BAA4B;gBAC/B,GAAG,6BAA6B;aACjC,CAAC,CACH,CAAC;YACF,MAAM,IAAI,CAAC,uBAAuB,CAAC,wBAAwB,CAAC;gBAC1D,YAAY,EAAE,6BAA6B;gBAC3C,GAAG,EAAE,MAAM,CAAC,GAAG;aAChB,CAAC,CAAC;QACL,CAAC,CAAC;QAEM,oBAAe,GAAG,KAAK,EAC7B,WAAmB,EACnB,mBAAkC,EAClC,4BAAoC,EACpC,GAAS,EACS,EAAE;YACpB,IAAI,mBAAmB,KAAK,IAAI,IAAI,IAAI,CAAC,qBAAqB,KAAK,IAAI,EAAE,CAAC;gBACxE,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,eAAe,GAAG,IAAA,2CAAmC,EAAC,WAAW,CAAC,CAAC;YACzE,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;gBAC7B,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,WAAW,GACf,IAAI,CAAC,4BAA4B,KAAK,IAAI;gBACxC,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,MAAM,IAAI,CAAC,4BAA4B,CAAC,iBAAiB,CAAC;oBACxD,GAAG,EAAE,eAAe;iBACrB,CAAC,CAAC;YACT,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YACzD,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBACzB,MAAM,eAAe,GACnB,eAAe,GAAG,WAAW,CAAC,oBAAoB,CAAC;gBACrD,IAAI,eAAe,IAAI,4BAA4B,EAAE,CAAC;oBACpD,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CACxC,WAAW,CAAC,KAAK,EACjB,WAAW,CAAC,MAAM,EAClB,mBAAmB,CACpB,CAAC;oBACF,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,OAAO,CAAC,GAAG,CACT,YAAY,WAAW,cAAc,eAAe,kDAAkD,WAAW,CAAC,KAAK,cAAc,WAAW,CAAC,MAAM,IAAI,MAAM,qBAAqB,mBAAmB,KAAK,CAC/M,CAAC;oBACJ,CAAC;oBACD,OAAO,MAAM,CAAC;gBAChB,CAAC;YACH,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,yBAAyB,CACrD,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,GAAG,CACJ,CAAC;YACF,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;gBACxB,OAAO,UAAU,CAAC,MAAM,CAAC;YAC3B,CAAC;YAED,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CACxC,WAAW,CAAC,KAAK,EACjB,WAAW,CAAC,MAAM,EAClB,mBAAmB,CACpB,CAAC;gBACF,OAAO,CAAC,IAAI,CACV,YAAY,eAAe,gBAAgB,WAAW,2BAA2B,UAAU,CAAC,MAAM,oDAAoD,WAAW,CAAC,KAAK,cAAc,WAAW,CAAC,MAAM,IAAI,MAAM,8BAA8B,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,GAAG,CACjR,CAAC;gBACF,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,OAAO,CAAC,IAAI,CACV,YAAY,eAAe,gBAAgB,WAAW,gDAAgD,UAAU,CAAC,MAAM,sCAAsC,CAC9J,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEM,8BAAyB,GAAG,KAAK,EACvC,eAAuB,EACvB,mBAA2B,EAC3B,WAAmB,EACnB,GAAS,EAGT,EAAE;YACF,IAAI,IAAI,CAAC,qBAAqB,KAAK,IAAI,EAAE,CAAC;gBACxC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAC;YACnE,CAAC;YACD,IAAI,KAAkE,CAAC;YACvE,IAAI,CAAC;gBACH,KAAK,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YAC1E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,QAAQ,EAAE,KAAK;oBACf,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC/D,CAAC;YACJ,CAAC;YACD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,mCAAmC,EAAE,CAAC;YAC1E,CAAC;YACD,IAAI,IAAI,CAAC,4BAA4B,KAAK,IAAI,EAAE,CAAC;gBAC/C,MAAM,IAAI,CAAC,4BAA4B,CAAC,iBAAiB,CAAC;oBACxD,GAAG,EAAE,eAAe;oBACpB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,GAAG;iBACJ,CAAC,CAAC;YACL,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CACxC,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,MAAM,EACZ,mBAAmB,CACpB,CAAC;YACF,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CACT,YAAY,WAAW,cAAc,eAAe,gCAAgC,KAAK,CAAC,KAAK,cAAc,KAAK,CAAC,MAAM,IAAI,MAAM,qBAAqB,mBAAmB,KAAK,CACjL,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACpC,CAAC,CAAC;QAEM,2BAAsB,GAAG,CAC/B,KAAmC,EACnC,MAAqB,EACrB,mBAA2B,EAClB,EAAE,CAAC,KAAK,KAAK,MAAM,IAAI,MAAM,KAAK,mBAAmB,CAAC;QAEzD,qBAAgB,GAAG,KAAK,EAC9B,mBAA6C,EAC7C,2BAAgD,EAChD,GAAS,EAC+B,EAAE;YAC1C,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAC1C,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CACjC,CAAC;YAEF,MAAM,UAAU,GACd,MAAM,IAAI,CAAC,+BAA+B,CAAC,2BAA2B,CACpE,2BAA2B,CAC5B,CAAC;YACJ,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC1D,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;gBAClC,uBAAuB,CAAC,GAAG,CACzB,QAAQ,CAAC,WAAW,EACpB,QAAQ,CAAC,sBAAsB,CAChC,CAAC;YACJ,CAAC;YAED,MAAM,sBAAsB,GAC1B,MAAM,IAAI,CAAC,0BAA0B,CAAC,mCAAmC,CACvE,YAAY,EACZ,2BAA2B,CAC5B,CAAC;YAEJ,MAAM,4CAA4C,GAChD,MAAM,IAAI,CAAC,uBAAuB,CAAC,gDAAgD,CACjF,2BAA2B,CAC5B,CAAC;YAEJ,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YACzD,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;gBACtC,MAAM,sBAAsB,GAAG,uBAAuB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACxE,MAAM,iBAAiB,GACrB,sBAAsB,KAAK,SAAS;oBAClC,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,eAAe,GAAG,sBAAsB,CAAC;gBAC/C,MAAM,+BAA+B,GACnC,4CAA4C,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAChE,OAAO;oBACL,WAAW;oBACX,iBAAiB;oBACjB,SAAS,EAAE,sBAAsB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE;oBACxD,6BAA6B,EAC3B,+BAA+B,KAAK,SAAS;wBAC3C,CAAC,CAAC,IAAI;wBACN,CAAC,CAAC,eAAe,GAAG,+BAA+B;iBACxD,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEM,qBAAgB,GAAG,CACzB,QAAqC,EACrC,UAMC,EACuB,EAAE;YAC1B,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,MAAM,aAAa,GAAa,EAAE,CAAC;YAEnC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;YACrD,MAAM,6BAA6B,GACjC,QAAQ,CAAC,6BAA6B,CAAC;YACzC,uEAAuE;YACvE,mEAAmE;YACnE,oEAAoE;YACpE,sEAAsE;YACtE,iEAAiE;YACjE,uEAAuE;YACvE,uEAAuE;YACvE,qEAAqE;YACrE,MAAM,+BAA+B,GACnC,6BAA6B,KAAK,IAAI,CAAC;YACzC,0EAA0E;YAC1E,yEAAyE;YACzE,0EAA0E;YAC1E,0EAA0E;YAC1E,4EAA4E;YAC5E,yEAAyE;YACzE,8EAA8E;YAC9E,MAAM,aAAa,GACjB,iBAAiB,KAAK,IAAI;gBAC1B,iBAAiB,IAAI,UAAU,CAAC,0BAA0B;gBAC1D,CAAC,+BAA+B,CAAC;YACnC,IAAI,aAAa,EAAE,CAAC;gBAClB,QAAQ,CAAC,IAAI,CACX,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,CAClE,CAAC;gBACF,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACrC,CAAC;YAED,MAAM,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,CAC7C,CAAC,QAAQ,EAAE,EAAE,CACX,CAAC,QAAQ,CAAC,wBAAwB;gBAClC,QAAQ,CAAC,aAAa,IAAI,UAAU,CAAC,8BAA8B,CACtE,CAAC;YACF,sEAAsE;YACtE,wEAAwE;YACxE,uEAAuE;YACvE,sEAAsE;YACtE,yEAAyE;YACzE,wEAAwE;YACxE,sEAAsE;YACtE,MAAM,oBAAoB,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,CACpD,CAAC,QAAQ,EAAE,EAAE,CACX,CAAC,QAAQ,CAAC,wBAAwB;gBAClC,QAAQ,CAAC,cAAc,IAAI,UAAU,CAAC,+BAA+B;gBACrE,QAAQ,CAAC,aAAa,IAAI,UAAU,CAAC,8BAA8B,CACtE,CAAC;YACF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChE,QAAQ,CAAC,IAAI,CACX,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC;oBAC1C,aAAa;oBACb,oBAAoB;iBACrB,CAAC,CACH,CAAC;gBACF,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;oBACrC,aAAa,CAAC,IAAI,CAAC,kBAAkB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;gBACzD,CAAC;gBACD,KAAK,MAAM,QAAQ,IAAI,oBAAoB,EAAE,CAAC;oBAC5C,aAAa,CAAC,IAAI,CAAC,0BAA0B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO;gBACL,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC9B,aAAa;aACd,CAAC;QACJ,CAAC,CAAC;IAtbC,CAAC;CAubL;AAzcD,0EAycC"}
1
+ {"version":3,"file":"NotifySilentLiveSessionsUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/NotifySilentLiveSessionsUseCase.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": "1.143.1",
3
+ "version": "1.143.2",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "scripts": {
@@ -139,7 +139,6 @@ export class HandleScheduledEventUseCaseHandler {
139
139
  silentNotificationStaggerSeconds?: number;
140
140
  candidateDebounceRecencyWindowSeconds?: number;
141
141
  candidateDebounceStateFilePath?: string;
142
- notifiedStateFilePath?: string;
143
142
  activeHubTaskStatus?: string;
144
143
  hubTaskStatusCacheStateFilePath?: string;
145
144
  hubTaskStatusCacheTtlSeconds?: number;
@@ -696,10 +695,6 @@ export class HandleScheduledEventUseCaseHandler {
696
695
  mergedInput.candidateDebounceStateFilePath ??
697
696
  process.env.TDPM_SILENT_CANDIDATE_DEBOUNCE_STATE_FILE_PATH ??
698
697
  null,
699
- notifiedStateFilePath:
700
- mergedInput.notifiedStateFilePath ??
701
- process.env.TDPM_SILENT_NOTIFIED_STATE_FILE_PATH ??
702
- null,
703
698
  activeHubTaskStatus:
704
699
  mergedInput.activeHubTaskStatus ??
705
700
  process.env.TDPM_ACTIVE_HUB_TASK_STATUS ??
@@ -40,7 +40,6 @@ const createMockRunner = (): Mocked<LocalCommandRunner> => ({
40
40
  describe('notifySilentTmuxSessions', () => {
41
41
  let configDir: string;
42
42
  let candidateStateFilePath: string;
43
- let notifiedStateFilePath: string;
44
43
  let hubTaskStatusCacheStateFilePath: string;
45
44
 
46
45
  beforeEach(() => {
@@ -50,10 +49,6 @@ describe('notifySilentTmuxSessions', () => {
50
49
  configDir,
51
50
  'silent-session-candidates.json',
52
51
  );
53
- notifiedStateFilePath = path.join(
54
- configDir,
55
- 'silent-session-notified.json',
56
- );
57
52
  hubTaskStatusCacheStateFilePath = path.join(
58
53
  configDir,
59
54
  'silent-session-hub-task-status.json',
@@ -146,7 +141,6 @@ describe('notifySilentTmuxSessions', () => {
146
141
  subAgentTranscriptRootDirectory: null,
147
142
  subAgentRuntimeRootDirectory: null,
148
143
  candidateDebounceStateFilePath: candidateStateFilePath,
149
- notifiedStateFilePath: notifiedStateFilePath,
150
144
  activeHubTaskStatus: null,
151
145
  hubTaskStatusResolver: null,
152
146
  hubTaskStatusCacheStateFilePath: hubTaskStatusCacheStateFilePath,
@@ -171,7 +165,7 @@ describe('notifySilentTmuxSessions', () => {
171
165
  expect(sendCall?.[1][4].endsWith('\x1b[201~')).toBe(true);
172
166
  });
173
167
 
174
- it('notifies a persistent stall only once across repeated cycles (fire-once)', async () => {
168
+ it('notifies a persistent stall again on the next cycle while the session stays silent', async () => {
175
169
  silentAssistantTranscript();
176
170
  seedPreviousCandidates([SESSION_NAME]);
177
171
 
@@ -190,7 +184,8 @@ describe('notifySilentTmuxSessions', () => {
190
184
  const secondSendCall = secondRunner.runCommand.mock.calls.find(
191
185
  (call) => call[0] === 'tmux' && call[1][0] === 'send-keys',
192
186
  );
193
- expect(secondSendCall).toBeUndefined();
187
+ expect(secondSendCall?.[1][2]).toBe(SESSION_NAME);
188
+ expect(secondSendCall?.[1][4]).toContain('No output has been observed for');
194
189
  });
195
190
 
196
191
  it('does not notify a silent github-named live session on its first candidate cycle', async () => {