@telora/daemon 0.16.33 → 0.16.44
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.
- package/build-info.json +2 -2
- package/dist/assembly-resolvers.d.ts +13 -65
- package/dist/assembly-resolvers.d.ts.map +1 -1
- package/dist/assembly-resolvers.js +15 -1915
- package/dist/assembly-resolvers.js.map +1 -1
- package/dist/audit-phase.d.ts +2 -2
- package/dist/audit-phase.d.ts.map +1 -1
- package/dist/audit-phase.js +1 -1
- package/dist/audit-phase.js.map +1 -1
- package/dist/{completion-handler.d.ts → completion/agent-completion.d.ts} +3 -3
- package/dist/completion/agent-completion.d.ts.map +1 -0
- package/dist/{completion-handler.js → completion/agent-completion.js} +7 -7
- package/dist/completion/agent-completion.js.map +1 -0
- package/dist/{completion-detector.d.ts → completion/detector.d.ts} +1 -1
- package/dist/completion/detector.d.ts.map +1 -0
- package/dist/{completion-detector.js → completion/detector.js} +1 -1
- package/dist/completion/detector.js.map +1 -0
- package/dist/{focus-completion-event.d.ts → completion/event.d.ts} +21 -3
- package/dist/completion/event.d.ts.map +1 -0
- package/dist/{focus-completion-event.js → completion/event.js} +55 -9
- package/dist/completion/event.js.map +1 -0
- package/dist/completion/index.d.ts +24 -0
- package/dist/completion/index.d.ts.map +1 -0
- package/dist/completion/index.js +25 -0
- package/dist/completion/index.js.map +1 -0
- package/dist/{focus-completion.d.ts → completion/team-completion.d.ts} +11 -11
- package/dist/completion/team-completion.d.ts.map +1 -0
- package/dist/{focus-completion.js → completion/team-completion.js} +37 -26
- package/dist/completion/team-completion.js.map +1 -0
- package/dist/{focus-team-lifecycle.d.ts → completion/team-lifecycle.d.ts} +2 -2
- package/dist/completion/team-lifecycle.d.ts.map +1 -0
- package/dist/{focus-team-lifecycle.js → completion/team-lifecycle.js} +12 -12
- package/dist/completion/team-lifecycle.js.map +1 -0
- package/dist/directive/directive-queue.d.ts +117 -0
- package/dist/directive/directive-queue.d.ts.map +1 -0
- package/dist/directive/directive-queue.js +114 -0
- package/dist/directive/directive-queue.js.map +1 -0
- package/dist/directive/stage-tracker.d.ts +23 -0
- package/dist/directive/stage-tracker.d.ts.map +1 -0
- package/dist/directive/stage-tracker.js +27 -0
- package/dist/directive/stage-tracker.js.map +1 -0
- package/dist/directive-executor.d.ts +3 -72
- package/dist/directive-executor.d.ts.map +1 -1
- package/dist/directive-executor.js +31 -83
- package/dist/directive-executor.js.map +1 -1
- package/dist/focus-engine.d.ts.map +1 -1
- package/dist/focus-engine.js +1 -2
- package/dist/focus-engine.js.map +1 -1
- package/dist/focus-executor.d.ts +4 -4
- package/dist/focus-executor.d.ts.map +1 -1
- package/dist/focus-executor.js +6 -5
- package/dist/focus-executor.js.map +1 -1
- package/dist/focus-merge.js +1 -1
- package/dist/focus-merge.js.map +1 -1
- package/dist/focus-prompt-builder.d.ts.map +1 -1
- package/dist/focus-prompt-builder.js +5 -39
- package/dist/focus-prompt-builder.js.map +1 -1
- package/dist/listener.js +1 -1
- package/dist/listener.js.map +1 -1
- package/dist/output-monitor.d.ts +1 -1
- package/dist/output-monitor.d.ts.map +1 -1
- package/dist/output-monitor.js +1 -1
- package/dist/output-monitor.js.map +1 -1
- package/dist/prompt-listing.d.ts +26 -0
- package/dist/prompt-listing.d.ts.map +1 -0
- package/dist/prompt-listing.js +55 -0
- package/dist/prompt-listing.js.map +1 -0
- package/dist/prompt-sections/context-sections.d.ts +32 -0
- package/dist/prompt-sections/context-sections.d.ts.map +1 -0
- package/dist/prompt-sections/context-sections.js +86 -0
- package/dist/prompt-sections/context-sections.js.map +1 -0
- package/dist/prompt-sections/execution-sections.d.ts +82 -0
- package/dist/prompt-sections/execution-sections.d.ts.map +1 -0
- package/dist/prompt-sections/execution-sections.js +601 -0
- package/dist/prompt-sections/execution-sections.js.map +1 -0
- package/dist/prompt-sections/persona-sections.d.ts +133 -0
- package/dist/prompt-sections/persona-sections.d.ts.map +1 -0
- package/dist/prompt-sections/persona-sections.js +317 -0
- package/dist/prompt-sections/persona-sections.js.map +1 -0
- package/dist/prompt-sections/role-sections.d.ts +24 -0
- package/dist/prompt-sections/role-sections.d.ts.map +1 -0
- package/dist/prompt-sections/role-sections.js +78 -0
- package/dist/prompt-sections/role-sections.js.map +1 -0
- package/dist/prompt-sections/shared.d.ts +66 -0
- package/dist/prompt-sections/shared.d.ts.map +1 -0
- package/dist/prompt-sections/shared.js +33 -0
- package/dist/prompt-sections/shared.js.map +1 -0
- package/dist/queries/index.d.ts +13 -0
- package/dist/queries/index.d.ts.map +1 -1
- package/dist/queries/index.js +9 -0
- package/dist/queries/index.js.map +1 -1
- package/dist/resolvers/agent-escalations.d.ts +2 -0
- package/dist/resolvers/agent-escalations.d.ts.map +1 -0
- package/dist/resolvers/agent-escalations.js +33 -0
- package/dist/resolvers/agent-escalations.js.map +1 -0
- package/dist/resolvers/agent-session-summaries.d.ts +2 -0
- package/dist/resolvers/agent-session-summaries.d.ts.map +1 -0
- package/dist/resolvers/agent-session-summaries.js +28 -0
- package/dist/resolvers/agent-session-summaries.js.map +1 -0
- package/dist/resolvers/delivery-acceptance-criteria.d.ts +2 -0
- package/dist/resolvers/delivery-acceptance-criteria.d.ts.map +1 -0
- package/dist/resolvers/delivery-acceptance-criteria.js +19 -0
- package/dist/resolvers/delivery-acceptance-criteria.js.map +1 -0
- package/dist/resolvers/delivery-description.d.ts +2 -0
- package/dist/resolvers/delivery-description.d.ts.map +1 -0
- package/dist/resolvers/delivery-description.js +19 -0
- package/dist/resolvers/delivery-description.js.map +1 -0
- package/dist/resolvers/delivery-issues.d.ts +2 -0
- package/dist/resolvers/delivery-issues.d.ts.map +1 -0
- package/dist/resolvers/delivery-issues.js +58 -0
- package/dist/resolvers/delivery-issues.js.map +1 -0
- package/dist/resolvers/delivery-listing.d.ts +2 -0
- package/dist/resolvers/delivery-listing.d.ts.map +1 -0
- package/dist/resolvers/delivery-listing.js +54 -0
- package/dist/resolvers/delivery-listing.js.map +1 -0
- package/dist/resolvers/delivery-tech-context.d.ts +2 -0
- package/dist/resolvers/delivery-tech-context.d.ts.map +1 -0
- package/dist/resolvers/delivery-tech-context.js +19 -0
- package/dist/resolvers/delivery-tech-context.js.map +1 -0
- package/dist/resolvers/deployment-profile.d.ts +2 -0
- package/dist/resolvers/deployment-profile.d.ts.map +1 -0
- package/dist/resolvers/deployment-profile.js +28 -0
- package/dist/resolvers/deployment-profile.js.map +1 -0
- package/dist/resolvers/focus-anchoring-injections.d.ts +2 -0
- package/dist/resolvers/focus-anchoring-injections.d.ts.map +1 -0
- package/dist/resolvers/focus-anchoring-injections.js +123 -0
- package/dist/resolvers/focus-anchoring-injections.js.map +1 -0
- package/dist/resolvers/focus-context.d.ts +2 -0
- package/dist/resolvers/focus-context.d.ts.map +1 -0
- package/dist/resolvers/focus-context.js +47 -0
- package/dist/resolvers/focus-context.js.map +1 -0
- package/dist/resolvers/focus-injections.d.ts +2 -0
- package/dist/resolvers/focus-injections.d.ts.map +1 -0
- package/dist/resolvers/focus-injections.js +75 -0
- package/dist/resolvers/focus-injections.js.map +1 -0
- package/dist/resolvers/focus-last-review-report.d.ts +2 -0
- package/dist/resolvers/focus-last-review-report.d.ts.map +1 -0
- package/dist/resolvers/focus-last-review-report.js +46 -0
- package/dist/resolvers/focus-last-review-report.js.map +1 -0
- package/dist/resolvers/focus-reality-tree.d.ts +2 -0
- package/dist/resolvers/focus-reality-tree.d.ts.map +1 -0
- package/dist/resolvers/focus-reality-tree.js +50 -0
- package/dist/resolvers/focus-reality-tree.js.map +1 -0
- package/dist/resolvers/git-diff-against-base.d.ts +2 -0
- package/dist/resolvers/git-diff-against-base.d.ts.map +1 -0
- package/dist/resolvers/git-diff-against-base.js +39 -0
- package/dist/resolvers/git-diff-against-base.js.map +1 -0
- package/dist/resolvers/guards-evaluation-results.d.ts +2 -0
- package/dist/resolvers/guards-evaluation-results.d.ts.map +1 -0
- package/dist/resolvers/guards-evaluation-results.js +31 -0
- package/dist/resolvers/guards-evaluation-results.js.map +1 -0
- package/dist/resolvers/index.d.ts +50 -0
- package/dist/resolvers/index.d.ts.map +1 -0
- package/dist/resolvers/index.js +51 -0
- package/dist/resolvers/index.js.map +1 -0
- package/dist/resolvers/loop-context.d.ts +2 -0
- package/dist/resolvers/loop-context.d.ts.map +1 -0
- package/dist/resolvers/loop-context.js +113 -0
- package/dist/resolvers/loop-context.js.map +1 -0
- package/dist/resolvers/loop-delivery-index.d.ts +2 -0
- package/dist/resolvers/loop-delivery-index.d.ts.map +1 -0
- package/dist/resolvers/loop-delivery-index.js +69 -0
- package/dist/resolvers/loop-delivery-index.js.map +1 -0
- package/dist/resolvers/loop-documents.d.ts +2 -0
- package/dist/resolvers/loop-documents.d.ts.map +1 -0
- package/dist/resolvers/loop-documents.js +30 -0
- package/dist/resolvers/loop-documents.js.map +1 -0
- package/dist/resolvers/loop-expected-effects.d.ts +2 -0
- package/dist/resolvers/loop-expected-effects.d.ts.map +1 -0
- package/dist/resolvers/loop-expected-effects.js +68 -0
- package/dist/resolvers/loop-expected-effects.js.map +1 -0
- package/dist/resolvers/loop-frt-statement.d.ts +2 -0
- package/dist/resolvers/loop-frt-statement.d.ts.map +1 -0
- package/dist/resolvers/loop-frt-statement.js +39 -0
- package/dist/resolvers/loop-frt-statement.js.map +1 -0
- package/dist/resolvers/loop-injection.d.ts +2 -0
- package/dist/resolvers/loop-injection.d.ts.map +1 -0
- package/dist/resolvers/loop-injection.js +48 -0
- package/dist/resolvers/loop-injection.js.map +1 -0
- package/dist/resolvers/loop-persona.d.ts +2 -0
- package/dist/resolvers/loop-persona.d.ts.map +1 -0
- package/dist/resolvers/loop-persona.js +40 -0
- package/dist/resolvers/loop-persona.js.map +1 -0
- package/dist/resolvers/loop-questions.d.ts +2 -0
- package/dist/resolvers/loop-questions.d.ts.map +1 -0
- package/dist/resolvers/loop-questions.js +49 -0
- package/dist/resolvers/loop-questions.js.map +1 -0
- package/dist/resolvers/loop-upstream-udes.d.ts +2 -0
- package/dist/resolvers/loop-upstream-udes.d.ts.map +1 -0
- package/dist/resolvers/loop-upstream-udes.js +88 -0
- package/dist/resolvers/loop-upstream-udes.js.map +1 -0
- package/dist/resolvers/reality-metrics.d.ts +2 -0
- package/dist/resolvers/reality-metrics.d.ts.map +1 -0
- package/dist/resolvers/reality-metrics.js +86 -0
- package/dist/resolvers/reality-metrics.js.map +1 -0
- package/dist/resolvers/reality-projections.d.ts +2 -0
- package/dist/resolvers/reality-projections.d.ts.map +1 -0
- package/dist/resolvers/reality-projections.js +44 -0
- package/dist/resolvers/reality-projections.js.map +1 -0
- package/dist/resolvers/reality-tree-snapshot.d.ts +2 -0
- package/dist/resolvers/reality-tree-snapshot.d.ts.map +1 -0
- package/dist/resolvers/reality-tree-snapshot.js +45 -0
- package/dist/resolvers/reality-tree-snapshot.js.map +1 -0
- package/dist/resolvers/retired-injections.d.ts +2 -0
- package/dist/resolvers/retired-injections.d.ts.map +1 -0
- package/dist/resolvers/retired-injections.js +83 -0
- package/dist/resolvers/retired-injections.js.map +1 -0
- package/dist/resolvers/review-outcomes.d.ts +2 -0
- package/dist/resolvers/review-outcomes.d.ts.map +1 -0
- package/dist/resolvers/review-outcomes.js +38 -0
- package/dist/resolvers/review-outcomes.js.map +1 -0
- package/dist/resolvers/security-advisory.d.ts +2 -0
- package/dist/resolvers/security-advisory.d.ts.map +1 -0
- package/dist/resolvers/security-advisory.js +97 -0
- package/dist/resolvers/security-advisory.js.map +1 -0
- package/dist/resolvers/shared/audit.d.ts +19 -0
- package/dist/resolvers/shared/audit.d.ts.map +1 -0
- package/dist/resolvers/shared/audit.js +28 -0
- package/dist/resolvers/shared/audit.js.map +1 -0
- package/dist/resolvers/shared/format.d.ts +6 -0
- package/dist/resolvers/shared/format.d.ts.map +1 -0
- package/dist/resolvers/shared/format.js +17 -0
- package/dist/resolvers/shared/format.js.map +1 -0
- package/dist/resolvers/shared/git-diff.d.ts +14 -0
- package/dist/resolvers/shared/git-diff.d.ts.map +1 -0
- package/dist/resolvers/shared/git-diff.js +30 -0
- package/dist/resolvers/shared/git-diff.js.map +1 -0
- package/dist/resolvers/shared/loop-items.d.ts +30 -0
- package/dist/resolvers/shared/loop-items.d.ts.map +1 -0
- package/dist/resolvers/shared/loop-items.js +7 -0
- package/dist/resolvers/shared/loop-items.js.map +1 -0
- package/dist/resolvers/shared/loop.d.ts +48 -0
- package/dist/resolvers/shared/loop.d.ts.map +1 -0
- package/dist/resolvers/shared/loop.js +38 -0
- package/dist/resolvers/shared/loop.js.map +1 -0
- package/dist/resolvers/shared/reality-metrics.d.ts +63 -0
- package/dist/resolvers/shared/reality-metrics.d.ts.map +1 -0
- package/dist/resolvers/shared/reality-metrics.js +6 -0
- package/dist/resolvers/shared/reality-metrics.js.map +1 -0
- package/dist/resolvers/shared/reality-tree.d.ts +51 -0
- package/dist/resolvers/shared/reality-tree.d.ts.map +1 -0
- package/dist/resolvers/shared/reality-tree.js +125 -0
- package/dist/resolvers/shared/reality-tree.js.map +1 -0
- package/dist/resolvers/shared/wiki.d.ts +60 -0
- package/dist/resolvers/shared/wiki.d.ts.map +1 -0
- package/dist/resolvers/shared/wiki.js +122 -0
- package/dist/resolvers/shared/wiki.js.map +1 -0
- package/dist/resolvers/wiki-search.d.ts +2 -0
- package/dist/resolvers/wiki-search.d.ts.map +1 -0
- package/dist/resolvers/wiki-search.js +23 -0
- package/dist/resolvers/wiki-search.js.map +1 -0
- package/dist/resolvers/wiki-topic.d.ts +2 -0
- package/dist/resolvers/wiki-topic.d.ts.map +1 -0
- package/dist/resolvers/wiki-topic.js +29 -0
- package/dist/resolvers/wiki-topic.js.map +1 -0
- package/dist/resolvers/workflow-stages.d.ts +2 -0
- package/dist/resolvers/workflow-stages.d.ts.map +1 -0
- package/dist/resolvers/workflow-stages.js +26 -0
- package/dist/resolvers/workflow-stages.js.map +1 -0
- package/dist/session-lifecycle.d.ts +2 -2
- package/dist/session-lifecycle.d.ts.map +1 -1
- package/dist/session-lifecycle.js +3 -3
- package/dist/session-lifecycle.js.map +1 -1
- package/dist/{pending-spawn-guard.d.ts → spawner/guards.d.ts} +1 -1
- package/dist/spawner/guards.d.ts.map +1 -0
- package/dist/{pending-spawn-guard.js → spawner/guards.js} +2 -2
- package/dist/spawner/guards.js.map +1 -0
- package/dist/{focus-spawn-helpers.d.ts → spawner/helpers.d.ts} +6 -6
- package/dist/spawner/helpers.d.ts.map +1 -0
- package/dist/{focus-spawn-helpers.js → spawner/helpers.js} +8 -8
- package/dist/spawner/helpers.js.map +1 -0
- package/dist/spawner/index.d.ts +30 -0
- package/dist/spawner/index.d.ts.map +1 -0
- package/dist/spawner/index.js +32 -0
- package/dist/spawner/index.js.map +1 -0
- package/dist/{spawner-lifecycle.d.ts → spawner/lifecycle.d.ts} +3 -3
- package/dist/spawner/lifecycle.d.ts.map +1 -0
- package/dist/{spawner-lifecycle.js → spawner/lifecycle.js} +6 -6
- package/dist/spawner/lifecycle.js.map +1 -0
- package/dist/{spawner-liveness.d.ts → spawner/liveness.d.ts} +2 -2
- package/dist/spawner/liveness.d.ts.map +1 -0
- package/dist/{spawner-liveness.js → spawner/liveness.js} +4 -4
- package/dist/spawner/liveness.js.map +1 -0
- package/dist/{spawner-resolution.d.ts → spawner/resolution.d.ts} +2 -2
- package/dist/spawner/resolution.d.ts.map +1 -0
- package/dist/{spawner-resolution.js → spawner/resolution.js} +2 -2
- package/dist/spawner/resolution.js.map +1 -0
- package/dist/{team-spawner.d.ts → spawner/spawn-team.d.ts} +4 -4
- package/dist/spawner/spawn-team.d.ts.map +1 -0
- package/dist/{team-spawner.js → spawner/spawn-team.js} +19 -19
- package/dist/spawner/spawn-team.js.map +1 -0
- package/dist/{spawner.d.ts → spawner/state.d.ts} +8 -8
- package/dist/spawner/state.d.ts.map +1 -0
- package/dist/{spawner.js → spawner/state.js} +8 -8
- package/dist/spawner/state.js.map +1 -0
- package/dist/{spawner-stream-handlers.d.ts → spawner/stream-handlers.d.ts} +4 -4
- package/dist/spawner/stream-handlers.d.ts.map +1 -0
- package/dist/{spawner-stream-handlers.js → spawner/stream-handlers.js} +7 -7
- package/dist/spawner/stream-handlers.js.map +1 -0
- package/dist/{spawner-timeout.d.ts → spawner/timeout.d.ts} +2 -2
- package/dist/spawner/timeout.d.ts.map +1 -0
- package/dist/{spawner-timeout.js → spawner/timeout.js} +1 -1
- package/dist/spawner/timeout.js.map +1 -0
- package/dist/team-prompt-base.d.ts +16 -287
- package/dist/team-prompt-base.d.ts.map +1 -1
- package/dist/team-prompt-base.js +20 -1112
- package/dist/team-prompt-base.js.map +1 -1
- package/dist/templates/claude-md.d.ts.map +1 -1
- package/dist/templates/claude-md.js +0 -1
- package/dist/templates/claude-md.js.map +1 -1
- package/dist/types/focus.d.ts +1 -1
- package/dist/types/focus.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/completion-detector.d.ts.map +0 -1
- package/dist/completion-detector.js.map +0 -1
- package/dist/completion-handler.d.ts.map +0 -1
- package/dist/completion-handler.js.map +0 -1
- package/dist/focus-completion-event.d.ts.map +0 -1
- package/dist/focus-completion-event.js.map +0 -1
- package/dist/focus-completion.d.ts.map +0 -1
- package/dist/focus-completion.js.map +0 -1
- package/dist/focus-spawn-helpers.d.ts.map +0 -1
- package/dist/focus-spawn-helpers.js.map +0 -1
- package/dist/focus-team-lifecycle.d.ts.map +0 -1
- package/dist/focus-team-lifecycle.js.map +0 -1
- package/dist/pending-spawn-guard.d.ts.map +0 -1
- package/dist/pending-spawn-guard.js.map +0 -1
- package/dist/prompt-builder.d.ts +0 -14
- package/dist/prompt-builder.d.ts.map +0 -1
- package/dist/prompt-builder.js +0 -174
- package/dist/prompt-builder.js.map +0 -1
- package/dist/spawner-lifecycle.d.ts.map +0 -1
- package/dist/spawner-lifecycle.js.map +0 -1
- package/dist/spawner-liveness.d.ts.map +0 -1
- package/dist/spawner-liveness.js.map +0 -1
- package/dist/spawner-resolution.d.ts.map +0 -1
- package/dist/spawner-resolution.js.map +0 -1
- package/dist/spawner-stream-handlers.d.ts.map +0 -1
- package/dist/spawner-stream-handlers.js.map +0 -1
- package/dist/spawner-timeout.d.ts.map +0 -1
- package/dist/spawner-timeout.js.map +0 -1
- package/dist/spawner.d.ts.map +0 -1
- package/dist/spawner.js.map +0 -1
- package/dist/team-spawner.d.ts.map +0 -1
- package/dist/team-spawner.js.map +0 -1
|
@@ -5,16 +5,16 @@
|
|
|
5
5
|
* based on issue completion, merging the focus branch, cleaning up
|
|
6
6
|
* worktrees, and updating session records.
|
|
7
7
|
*/
|
|
8
|
-
import type { DaemonConfig, FocusTeamState, FocusDeliveryInfo, FocusTeamPhase, Workflow, PolicyFailureMode } from '
|
|
9
|
-
import { getDeliveryIssues, fetchEffectiveWorkflow, updateDeliveryStatus, markDeliveryAutoApproved, getActiveFocuses } from '
|
|
10
|
-
import { hasPendingSpawnDirective } from '
|
|
11
|
-
import type { StageAdvanceResult } from '
|
|
12
|
-
import { mergeFocusBranch } from '
|
|
13
|
-
import { emitLoopTrigger } from '
|
|
14
|
-
import { branchHasUnmergedCommits } from '
|
|
15
|
-
import { getFocusDeliveries, getFocusIssues, clearReviewRequestedAt, getFocusReviewReportForSession } from '
|
|
16
|
-
import { createEscalation } from '
|
|
17
|
-
export { isStatusTerminal, isStatusAgentActionable } from '
|
|
8
|
+
import type { DaemonConfig, FocusTeamState, FocusDeliveryInfo, FocusTeamPhase, Workflow, PolicyFailureMode } from '../types.js';
|
|
9
|
+
import { getDeliveryIssues, fetchEffectiveWorkflow, updateDeliveryStatus, markDeliveryAutoApproved, getActiveFocuses } from '../supabase.js';
|
|
10
|
+
import { hasPendingSpawnDirective } from '../directive-executor.js';
|
|
11
|
+
import type { StageAdvanceResult } from '../delivery-lifecycle.js';
|
|
12
|
+
import { mergeFocusBranch } from '../focus-merge.js';
|
|
13
|
+
import { emitLoopTrigger } from '../loop-event-bus.js';
|
|
14
|
+
import { branchHasUnmergedCommits } from '../git.js';
|
|
15
|
+
import { getFocusDeliveries, getFocusIssues, clearReviewRequestedAt, getFocusReviewReportForSession } from '../queries/focuses.js';
|
|
16
|
+
import { createEscalation } from '../queries/issues.js';
|
|
17
|
+
export { isStatusTerminal, isStatusAgentActionable } from '../stage-classifier.js';
|
|
18
18
|
/**
|
|
19
19
|
* Decide whether to attempt mergeFocusBranch on team exit.
|
|
20
20
|
*
|
|
@@ -251,4 +251,4 @@ export interface AdvanceDeliveryDeps {
|
|
|
251
251
|
* - Open issues remain: re-queue to 'queued' so the next team session picks it up
|
|
252
252
|
*/
|
|
253
253
|
export declare function advanceDeliveryStatuses(config: DaemonConfig, teamState: FocusTeamState, sessionId: string, deps?: AdvanceDeliveryDeps): Promise<void>;
|
|
254
|
-
//# sourceMappingURL=
|
|
254
|
+
//# sourceMappingURL=team-completion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"team-completion.d.ts","sourceRoot":"","sources":["../../src/completion/team-completion.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,QAAQ,EACR,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAErB,OAAO,EAGL,iBAAiB,EAGjB,sBAAsB,EACtB,oBAAoB,EACpB,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAyB,MAAM,mBAAmB,CAAC;AAM5E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAmD,wBAAwB,EAAc,MAAM,WAAW,CAAC;AAElH,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,sBAAsB,EACtB,8BAA8B,EAC/B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAMxD,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAInF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,eAAe,GAAG,UAAU,CAAC,EAC7D,gBAAgB,EAAE,OAAO,GACxB,OAAO,CAIT;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,4BAA4B,EAAE,WAAW,CAAC,MAAM,CAI3D,CAAC;AAEH;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,SAAS;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,EACrE,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,GACjC,MAAM,EAAE,CAIV;AAID,MAAM,WAAW,qBAAqB;IACpC,wBAAwB,EAAE,OAAO,wBAAwB,CAAC;IAC1D,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;CAC3C;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,cAAc,EACzB,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,EAAE,EAC3B,IAAI,GAAE,qBAGL,GACA,OAAO,CAAC,uBAAuB,CAAC,CAqBlC;AAMD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,sBAAsB,EAAE,OAAO,sBAAsB,CAAC;IACtD,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,wBAAwB,EAAE,OAAO,wBAAwB,CAAC;IAC1D,sBAAsB,EAAE,OAAO,sBAAsB,CAAC;IACtD,wBAAwB,EAAE,OAAO,wBAAwB,CAAC;IAC1D,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,8BAA8B,EAAE,OAAO,8BAA8B,CAAC;IACtE,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;CAC3C;AAiBD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACjC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,gBAAgB,EACxB,IAAI,GAAE,cAAsC,GAC3C,OAAO,CAAC,IAAI,CAAC,CA2Kf;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,cAAc,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAID,4DAA4D;AAC5D,MAAM,WAAW,sBAAsB;IACrC,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,UAAU,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,qBAAqB,EAAE,OAAO,CAAC;IAC/B;;;;;;OAMG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,cAAc,CAAC;IAC1B,cAAc,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC;CAClD,GAAG,sBAAsB,CASzB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2StF;AAID;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACtE,iBAAiB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAC5H,uBAAuB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACjE,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,sBAAsB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClE,oBAAoB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7H,oBAAoB,EAAE,CAAC,MAAM,EAAE;QAC7B,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,QAAQ,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;QACrB,iBAAiB,EAAE,iBAAiB,CAAC;QACrC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,YAAY,CAAC;KACvB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACnC;AAYD;;;;;;;;;;;;GAYG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,cAAc,EACzB,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,mBAAiC,GACtC,OAAO,CAAC,IAAI,CAAC,CA+If"}
|
|
@@ -5,27 +5,27 @@
|
|
|
5
5
|
* based on issue completion, merging the focus branch, cleaning up
|
|
6
6
|
* worktrees, and updating session records.
|
|
7
7
|
*/
|
|
8
|
-
import { filterWorkIssues, filterContextGroups, ACTIVE_WORK_STATUSES, TERMINAL_ISSUE_STATUSES, planDeliveryCloseSweep } from '
|
|
9
|
-
import { updateSession, reportGitState, getDeliveryIssues, getDeliverySessionCount, updateIssueStatus, fetchEffectiveWorkflow, updateDeliveryStatus, markDeliveryAutoApproved, getActiveFocuses, } from '
|
|
10
|
-
import { hasPendingSpawnDirective } from '
|
|
11
|
-
import { advanceDeliveryStage, ensureWorktreeCommittedBeforeAdvance } from '
|
|
8
|
+
import { filterWorkIssues, filterContextGroups, ACTIVE_WORK_STATUSES, TERMINAL_ISSUE_STATUSES, planDeliveryCloseSweep } from '../constants.js';
|
|
9
|
+
import { updateSession, reportGitState, getDeliveryIssues, getDeliverySessionCount, updateIssueStatus, fetchEffectiveWorkflow, updateDeliveryStatus, markDeliveryAutoApproved, getActiveFocuses, } from '../supabase.js';
|
|
10
|
+
import { hasPendingSpawnDirective } from '../directive-executor.js';
|
|
11
|
+
import { advanceDeliveryStage, ensureWorktreeCommittedBeforeAdvance } from '../delivery-lifecycle.js';
|
|
12
12
|
import { withRetry, ESCALATION_REASONS } from '@telora/daemon-core';
|
|
13
|
-
import { mergeFocusBranch, escalateMergeConflict } from '
|
|
14
|
-
import { mergeIntegrationToMain } from '
|
|
15
|
-
import { resolveCiDecision } from '
|
|
16
|
-
import { fileCdPushEscalation, shouldFileCdPushEscalation } from '
|
|
17
|
-
import { recordSessionCompleted } from '
|
|
18
|
-
import { triggerCheck } from '
|
|
19
|
-
import { emitLoopTrigger } from '
|
|
20
|
-
import { getActiveTeams } from '
|
|
21
|
-
import { commitWipChanges, worktreeHasUncommittedChanges, branchHasUnmergedCommits, runGitSync } from '
|
|
22
|
-
import { computeGitDiffStats } from '
|
|
23
|
-
import { getFocusDeliveries, getFocusIssues, clearReviewRequestedAt, getFocusReviewReportForSession, } from '
|
|
24
|
-
import { createEscalation } from '
|
|
25
|
-
import { reviewFiledIssueExists } from '
|
|
13
|
+
import { mergeFocusBranch, escalateMergeConflict } from '../focus-merge.js';
|
|
14
|
+
import { mergeIntegrationToMain } from '../git-merge.js';
|
|
15
|
+
import { resolveCiDecision } from '../pipeline-config.js';
|
|
16
|
+
import { fileCdPushEscalation, shouldFileCdPushEscalation } from '../ci-escalation.js';
|
|
17
|
+
import { recordSessionCompleted } from '../agent-state.js';
|
|
18
|
+
import { triggerCheck } from '../listener.js';
|
|
19
|
+
import { emitLoopTrigger } from '../loop-event-bus.js';
|
|
20
|
+
import { getActiveTeams } from '../focus-team-state.js';
|
|
21
|
+
import { commitWipChanges, worktreeHasUncommittedChanges, branchHasUnmergedCommits, runGitSync } from '../git.js';
|
|
22
|
+
import { computeGitDiffStats } from '../git-utils.js';
|
|
23
|
+
import { getFocusDeliveries, getFocusIssues, clearReviewRequestedAt, getFocusReviewReportForSession, } from '../queries/focuses.js';
|
|
24
|
+
import { createEscalation } from '../queries/issues.js';
|
|
25
|
+
import { reviewFiledIssueExists } from '../review-defect-detector.js';
|
|
26
26
|
// ── Stage classification (re-exported for consumers) ─────────────────
|
|
27
|
-
import { isStatusAgentActionable } from '
|
|
28
|
-
export { isStatusTerminal, isStatusAgentActionable } from '
|
|
27
|
+
import { isStatusAgentActionable } from '../stage-classifier.js';
|
|
28
|
+
export { isStatusTerminal, isStatusAgentActionable } from '../stage-classifier.js';
|
|
29
29
|
// ── Merge gate ───────────────────────────────────────────────────────
|
|
30
30
|
/**
|
|
31
31
|
* Decide whether to attempt mergeFocusBranch on team exit.
|
|
@@ -171,12 +171,14 @@ export async function runReviewExitHandler(params, deps = defaultReviewExitDeps)
|
|
|
171
171
|
return;
|
|
172
172
|
}
|
|
173
173
|
const reviewRequestedAt = current.review_requested_at;
|
|
174
|
-
//
|
|
175
|
-
//
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
174
|
+
// NOTE: a pending spawn directive no longer short-circuits the handler.
|
|
175
|
+
// Delivery finalization (auto-approve verify->done, done-via-report, and
|
|
176
|
+
// verify_failed on open work) plus clearing review_requested_at and emitting
|
|
177
|
+
// review_completed must run unconditionally on a session exit -- otherwise a
|
|
178
|
+
// transiently-pending spawn strands the verify delivery and feeds the
|
|
179
|
+
// per-poll re-fire spin. The pending-spawn signal is consulted ONLY in the
|
|
180
|
+
// non-routed branch below, where leaving the flag set for an incoming team is
|
|
181
|
+
// the legitimate behavior.
|
|
180
182
|
// ── Gather evidence ──────────────────────────────────────────────
|
|
181
183
|
let reportExists = false;
|
|
182
184
|
try {
|
|
@@ -271,6 +273,15 @@ export async function runReviewExitHandler(params, deps = defaultReviewExitDeps)
|
|
|
271
273
|
detail: `review complete -- "${focusName}" routed via ${routeVia}`,
|
|
272
274
|
});
|
|
273
275
|
}
|
|
276
|
+
else if (deps.hasPendingSpawnDirective(focusId)) {
|
|
277
|
+
// Nothing routed AND a spawn directive is pending: the team was torn down
|
|
278
|
+
// to make room for an incoming team (e.g., the directive executor spawning
|
|
279
|
+
// a review team). Leave review_requested_at set so the incoming team's exit
|
|
280
|
+
// performs the routing. This is the ONLY case the pending-spawn signal
|
|
281
|
+
// gates -- it never blocks the finalization above.
|
|
282
|
+
console.log(`[focus-executor] "${focusName}" review exit routed nothing and a spawn directive ` +
|
|
283
|
+
`is pending -- leaving review_requested_at set for the incoming team.`);
|
|
284
|
+
}
|
|
274
285
|
else if (!reportExists && !hasIssueEvidence) {
|
|
275
286
|
// Strict gate: no routing happened AND no evidence. Warn-and-leave --
|
|
276
287
|
// the focus may simply be idle (no verify deliveries to route, no
|
|
@@ -763,4 +774,4 @@ export async function advanceDeliveryStatuses(config, teamState, sessionId, deps
|
|
|
763
774
|
}
|
|
764
775
|
}
|
|
765
776
|
}
|
|
766
|
-
//# sourceMappingURL=
|
|
777
|
+
//# sourceMappingURL=team-completion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"team-completion.js","sourceRoot":"","sources":["../../src/completion/team-completion.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Extracted from focus-executor.ts. These functions manage the lifecycle
|
|
5
5
|
* of running focus teams (shutdown, deactivation detection, merge checks).
|
|
6
6
|
*/
|
|
7
|
-
import type { DaemonConfig } from '
|
|
7
|
+
import type { DaemonConfig } from '../types.js';
|
|
8
8
|
/**
|
|
9
9
|
* Terminate a focus team.
|
|
10
10
|
*
|
|
@@ -47,4 +47,4 @@ export declare function detectDeactivatedFocuses(config: DaemonConfig): Promise<
|
|
|
47
47
|
* arrive later, the next poll cycle spawns a fresh team.
|
|
48
48
|
*/
|
|
49
49
|
export declare function checkAndMergeCompletedDeliveries(config: DaemonConfig): Promise<void>;
|
|
50
|
-
//# sourceMappingURL=
|
|
50
|
+
//# sourceMappingURL=team-lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"team-lifecycle.d.ts","sourceRoot":"","sources":["../../src/completion/team-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAkBhD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CA2CtD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,SAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAsB1F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAKxC;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,IAAI,CAAC,CAyBf;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,gCAAgC,CACpD,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,IAAI,CAAC,CAgKf"}
|
|
@@ -4,18 +4,18 @@
|
|
|
4
4
|
* Extracted from focus-executor.ts. These functions manage the lifecycle
|
|
5
5
|
* of running focus teams (shutdown, deactivation detection, merge checks).
|
|
6
6
|
*/
|
|
7
|
-
import { getReadyFocuses, } from '
|
|
7
|
+
import { getReadyFocuses, } from '../supabase.js';
|
|
8
8
|
import { sendMessage } from '@telora/daemon-core';
|
|
9
|
-
import { clearNarration } from '
|
|
10
|
-
import { getActiveTeams } from '
|
|
11
|
-
import { mergeFocusBranch, escalateMergeConflict } from '
|
|
12
|
-
import { mergeIntegrationToMain } from '
|
|
13
|
-
import { reportGitState } from '
|
|
14
|
-
import { isStatusAgentActionable, isStatusBlocking, isStatusExcludedFromCascade } from '
|
|
15
|
-
import { getFocusDeliveries } from '
|
|
16
|
-
import { configForProduct, findProduct } from '
|
|
17
|
-
import { resolveCiDecision } from '
|
|
18
|
-
import { fileCdPushEscalation, shouldFileCdPushEscalation } from '
|
|
9
|
+
import { clearNarration } from '../heartbeat.js';
|
|
10
|
+
import { getActiveTeams } from '../focus-team-state.js';
|
|
11
|
+
import { mergeFocusBranch, escalateMergeConflict } from '../focus-merge.js';
|
|
12
|
+
import { mergeIntegrationToMain } from '../git-merge.js';
|
|
13
|
+
import { reportGitState } from '../supabase.js';
|
|
14
|
+
import { isStatusAgentActionable, isStatusBlocking, isStatusExcludedFromCascade } from '../stage-classifier.js';
|
|
15
|
+
import { getFocusDeliveries } from '../queries/focuses.js';
|
|
16
|
+
import { configForProduct, findProduct } from '../config.js';
|
|
17
|
+
import { resolveCiDecision } from '../pipeline-config.js';
|
|
18
|
+
import { fileCdPushEscalation, shouldFileCdPushEscalation } from '../ci-escalation.js';
|
|
19
19
|
// ── Team lifecycle ──────────────────────────────────────────────────────
|
|
20
20
|
/**
|
|
21
21
|
* Terminate a focus team.
|
|
@@ -278,4 +278,4 @@ export async function checkAndMergeCompletedDeliveries(config) {
|
|
|
278
278
|
}
|
|
279
279
|
}
|
|
280
280
|
}
|
|
281
|
-
//# sourceMappingURL=
|
|
281
|
+
//# sourceMappingURL=team-lifecycle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"team-lifecycle.js","sourceRoot":"","sources":["../../src/completion/team-lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Directive queue: the pending spawn-directive store + its identity/guard logic.
|
|
3
|
+
*
|
|
4
|
+
* Holds the single shared `pendingSpawnDirectives` map (focusId ->
|
|
5
|
+
* PendingSpawnDirective) that executeSpawnDirective sets and spawnFocusTeam
|
|
6
|
+
* consumes, plus the pure helpers that compute a directive's identity hash and
|
|
7
|
+
* decide spawn-skip / re-fire suppression. Extracted from directive-executor.ts
|
|
8
|
+
* so the queue state and its accessors live in one focused module; the executor
|
|
9
|
+
* imports the map binding + helpers it calls in-line and re-exports the full
|
|
10
|
+
* surface (no duplicate instances).
|
|
11
|
+
*/
|
|
12
|
+
import type { StageDirective } from '../types.js';
|
|
13
|
+
import type { SessionContinuity } from '../session-lineage.js';
|
|
14
|
+
/**
|
|
15
|
+
* Pending spawn directive content, keyed by focusId.
|
|
16
|
+
* Set by executeSpawnDirective, consumed by spawnFocusTeam.
|
|
17
|
+
*/
|
|
18
|
+
export interface PendingSpawnDirective {
|
|
19
|
+
message: string;
|
|
20
|
+
model: string | null;
|
|
21
|
+
sessionType: 'coding' | 'review';
|
|
22
|
+
/** Session-id map slot this spawn reads/writes (INJ-B). */
|
|
23
|
+
lineage: string;
|
|
24
|
+
/** Resume-vs-fresh policy for this spawn's lineage (INJ-B). */
|
|
25
|
+
continuity: SessionContinuity;
|
|
26
|
+
/**
|
|
27
|
+
* SHA-256 hash of the directive's identity ({ prompt, assembly, model }).
|
|
28
|
+
* Recorded on FocusTeamState.lastConsumedDirectiveHash when the team
|
|
29
|
+
* consumes this directive, so the spawn-guard in executeSpawnDirective
|
|
30
|
+
* can detect divergent content within the 60s skip window.
|
|
31
|
+
*/
|
|
32
|
+
contentHash: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Single shared instance of the pending spawn directive store. The executor
|
|
36
|
+
* sets entries directly via this binding; external callers use the accessor
|
|
37
|
+
* functions below.
|
|
38
|
+
*/
|
|
39
|
+
export declare const pendingSpawnDirectives: Map<string, PendingSpawnDirective>;
|
|
40
|
+
/**
|
|
41
|
+
* Compute a stable hash for a stage directive's identity. Hashes only the
|
|
42
|
+
* fields that determine "what the agent is being told to do" -- prompt,
|
|
43
|
+
* assembly recipe, model -- not the assembled output, since that varies
|
|
44
|
+
* with git state and time.
|
|
45
|
+
*/
|
|
46
|
+
export declare function computeDirectiveHash(directive: StageDirective): string;
|
|
47
|
+
/** Window during which a freshly-spawned team is assumed to have consumed
|
|
48
|
+
* the directive that produced it. */
|
|
49
|
+
export declare const SPAWN_GUARD_WINDOW_MS = 60000;
|
|
50
|
+
/**
|
|
51
|
+
* Decide whether executeSpawnDirective should skip the terminate+respawn
|
|
52
|
+
* cycle for a recently-spawned team. Pure function so the divergence rule
|
|
53
|
+
* is unit-testable without mocking the active teams map.
|
|
54
|
+
*
|
|
55
|
+
* - skip: team is within the spawn window AND its last-consumed directive
|
|
56
|
+
* hash matches the new directive's hash. The team is already running
|
|
57
|
+
* under the same intent.
|
|
58
|
+
* - respawn: team is older than the window OR the hashes diverge. Both
|
|
59
|
+
* cases require terminate+respawn so the team picks up fresh intent.
|
|
60
|
+
*/
|
|
61
|
+
export declare function shouldSkipSpawnDirective(args: {
|
|
62
|
+
team: {
|
|
63
|
+
startedAt: Date;
|
|
64
|
+
lastConsumedDirectiveHash: string | null;
|
|
65
|
+
} | undefined;
|
|
66
|
+
contentHash: string;
|
|
67
|
+
now: number;
|
|
68
|
+
}): 'skip' | 'respawn';
|
|
69
|
+
/**
|
|
70
|
+
* Consume a pending spawn directive for a focus.
|
|
71
|
+
* Returns the directive content and removes it from the map.
|
|
72
|
+
* Called by spawnFocusTeam after spawning to send the directive.
|
|
73
|
+
*/
|
|
74
|
+
export declare function consumePendingSpawnDirective(focusId: string): PendingSpawnDirective | undefined;
|
|
75
|
+
/**
|
|
76
|
+
* Test-only helper: prime a pending spawn directive without going through
|
|
77
|
+
* executeSpawnDirective. Tests use this to verify consume semantics with
|
|
78
|
+
* a known contentHash.
|
|
79
|
+
*/
|
|
80
|
+
export declare function __setPendingSpawnDirectiveForTesting(focusId: string, directive: PendingSpawnDirective): void;
|
|
81
|
+
/**
|
|
82
|
+
* Check if a focus has a pending spawn directive.
|
|
83
|
+
* Used by the spawn guard to skip actionable-delivery checks.
|
|
84
|
+
*/
|
|
85
|
+
export declare function hasPendingSpawnDirective(focusId: string): boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Non-destructive read of a focus's pending spawn directive (unlike
|
|
88
|
+
* consumePendingSpawnDirective, this does NOT delete it). Used by the
|
|
89
|
+
* stranded-review re-fire bound to compare the queued directive's contentHash
|
|
90
|
+
* against the candidate about to be re-fired.
|
|
91
|
+
*/
|
|
92
|
+
export declare function getPendingSpawnDirective(focusId: string): PendingSpawnDirective | undefined;
|
|
93
|
+
export declare function getPendingSpawnFocusIds(): string[];
|
|
94
|
+
/**
|
|
95
|
+
* Decide whether to SUPPRESS a stranded-review re-fire because an equivalent
|
|
96
|
+
* spawn directive is already queued and unconsumed.
|
|
97
|
+
*
|
|
98
|
+
* The stranded-review recovery re-fires a review directive when the focus is
|
|
99
|
+
* stuck in the review stage with no active team. But executeSpawnDirective
|
|
100
|
+
* re-stores the directive into the pending map on every call, and when there is
|
|
101
|
+
* no team to consume it the directive simply sits there. Without this bound,
|
|
102
|
+
* each poll re-fires, re-stores the same directive, and holds the pending-spawn
|
|
103
|
+
* condition true forever (root cause #18 -- the per-poll spin). When a pending
|
|
104
|
+
* directive with the SAME contentHash already exists, the queued directive will
|
|
105
|
+
* be picked up by the next spawn, so re-firing is a no-op churn: suppress it.
|
|
106
|
+
* A diverged contentHash (an updated stage directive) is NOT suppressed -- the
|
|
107
|
+
* fresh intent must replace the stale queued directive.
|
|
108
|
+
*
|
|
109
|
+
* Pure and exported for unit testing.
|
|
110
|
+
*/
|
|
111
|
+
export declare function shouldSuppressRefireForPendingSpawn(input: {
|
|
112
|
+
pending: {
|
|
113
|
+
contentHash: string;
|
|
114
|
+
} | undefined;
|
|
115
|
+
candidateHash: string;
|
|
116
|
+
}): boolean;
|
|
117
|
+
//# sourceMappingURL=directive-queue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directive-queue.d.ts","sourceRoot":"","sources":["../../src/directive/directive-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAI/D;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACjC,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,UAAU,EAAE,iBAAiB,CAAC;IAC9B;;;;;OAKG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,oCAA2C,CAAC;AAE/E;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,cAAc,GAAG,MAAM,CAMtE;AAED;sCACsC;AACtC,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAE3C;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,IAAI,EAAE;QAAE,SAAS,EAAE,IAAI,CAAC;QAAC,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,SAAS,CAAC;IAChF,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,MAAM,GAAG,SAAS,CAMrB;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,CAM/F;AAED;;;;GAIG;AACH,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,qBAAqB,GAC/B,IAAI,CAEN;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,CAE3F;AAED,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CAElD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mCAAmC,CAAC,KAAK,EAAE;IACzD,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IAC7C,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAEV"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Directive queue: the pending spawn-directive store + its identity/guard logic.
|
|
3
|
+
*
|
|
4
|
+
* Holds the single shared `pendingSpawnDirectives` map (focusId ->
|
|
5
|
+
* PendingSpawnDirective) that executeSpawnDirective sets and spawnFocusTeam
|
|
6
|
+
* consumes, plus the pure helpers that compute a directive's identity hash and
|
|
7
|
+
* decide spawn-skip / re-fire suppression. Extracted from directive-executor.ts
|
|
8
|
+
* so the queue state and its accessors live in one focused module; the executor
|
|
9
|
+
* imports the map binding + helpers it calls in-line and re-exports the full
|
|
10
|
+
* surface (no duplicate instances).
|
|
11
|
+
*/
|
|
12
|
+
import { createHash } from 'node:crypto';
|
|
13
|
+
/**
|
|
14
|
+
* Single shared instance of the pending spawn directive store. The executor
|
|
15
|
+
* sets entries directly via this binding; external callers use the accessor
|
|
16
|
+
* functions below.
|
|
17
|
+
*/
|
|
18
|
+
export const pendingSpawnDirectives = new Map();
|
|
19
|
+
/**
|
|
20
|
+
* Compute a stable hash for a stage directive's identity. Hashes only the
|
|
21
|
+
* fields that determine "what the agent is being told to do" -- prompt,
|
|
22
|
+
* assembly recipe, model -- not the assembled output, since that varies
|
|
23
|
+
* with git state and time.
|
|
24
|
+
*/
|
|
25
|
+
export function computeDirectiveHash(directive) {
|
|
26
|
+
return createHash('sha256').update(JSON.stringify({
|
|
27
|
+
prompt: directive.prompt ?? null,
|
|
28
|
+
assembly: directive.assembly ?? [],
|
|
29
|
+
model: directive.model ?? null,
|
|
30
|
+
})).digest('hex');
|
|
31
|
+
}
|
|
32
|
+
/** Window during which a freshly-spawned team is assumed to have consumed
|
|
33
|
+
* the directive that produced it. */
|
|
34
|
+
export const SPAWN_GUARD_WINDOW_MS = 60000;
|
|
35
|
+
/**
|
|
36
|
+
* Decide whether executeSpawnDirective should skip the terminate+respawn
|
|
37
|
+
* cycle for a recently-spawned team. Pure function so the divergence rule
|
|
38
|
+
* is unit-testable without mocking the active teams map.
|
|
39
|
+
*
|
|
40
|
+
* - skip: team is within the spawn window AND its last-consumed directive
|
|
41
|
+
* hash matches the new directive's hash. The team is already running
|
|
42
|
+
* under the same intent.
|
|
43
|
+
* - respawn: team is older than the window OR the hashes diverge. Both
|
|
44
|
+
* cases require terminate+respawn so the team picks up fresh intent.
|
|
45
|
+
*/
|
|
46
|
+
export function shouldSkipSpawnDirective(args) {
|
|
47
|
+
const { team, contentHash, now } = args;
|
|
48
|
+
if (!team)
|
|
49
|
+
return 'respawn';
|
|
50
|
+
const age = now - team.startedAt.getTime();
|
|
51
|
+
if (age >= SPAWN_GUARD_WINDOW_MS)
|
|
52
|
+
return 'respawn';
|
|
53
|
+
return team.lastConsumedDirectiveHash === contentHash ? 'skip' : 'respawn';
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Consume a pending spawn directive for a focus.
|
|
57
|
+
* Returns the directive content and removes it from the map.
|
|
58
|
+
* Called by spawnFocusTeam after spawning to send the directive.
|
|
59
|
+
*/
|
|
60
|
+
export function consumePendingSpawnDirective(focusId) {
|
|
61
|
+
const directive = pendingSpawnDirectives.get(focusId);
|
|
62
|
+
if (directive) {
|
|
63
|
+
pendingSpawnDirectives.delete(focusId);
|
|
64
|
+
}
|
|
65
|
+
return directive;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Test-only helper: prime a pending spawn directive without going through
|
|
69
|
+
* executeSpawnDirective. Tests use this to verify consume semantics with
|
|
70
|
+
* a known contentHash.
|
|
71
|
+
*/
|
|
72
|
+
export function __setPendingSpawnDirectiveForTesting(focusId, directive) {
|
|
73
|
+
pendingSpawnDirectives.set(focusId, directive);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Check if a focus has a pending spawn directive.
|
|
77
|
+
* Used by the spawn guard to skip actionable-delivery checks.
|
|
78
|
+
*/
|
|
79
|
+
export function hasPendingSpawnDirective(focusId) {
|
|
80
|
+
return pendingSpawnDirectives.has(focusId);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Non-destructive read of a focus's pending spawn directive (unlike
|
|
84
|
+
* consumePendingSpawnDirective, this does NOT delete it). Used by the
|
|
85
|
+
* stranded-review re-fire bound to compare the queued directive's contentHash
|
|
86
|
+
* against the candidate about to be re-fired.
|
|
87
|
+
*/
|
|
88
|
+
export function getPendingSpawnDirective(focusId) {
|
|
89
|
+
return pendingSpawnDirectives.get(focusId);
|
|
90
|
+
}
|
|
91
|
+
export function getPendingSpawnFocusIds() {
|
|
92
|
+
return [...pendingSpawnDirectives.keys()];
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Decide whether to SUPPRESS a stranded-review re-fire because an equivalent
|
|
96
|
+
* spawn directive is already queued and unconsumed.
|
|
97
|
+
*
|
|
98
|
+
* The stranded-review recovery re-fires a review directive when the focus is
|
|
99
|
+
* stuck in the review stage with no active team. But executeSpawnDirective
|
|
100
|
+
* re-stores the directive into the pending map on every call, and when there is
|
|
101
|
+
* no team to consume it the directive simply sits there. Without this bound,
|
|
102
|
+
* each poll re-fires, re-stores the same directive, and holds the pending-spawn
|
|
103
|
+
* condition true forever (root cause #18 -- the per-poll spin). When a pending
|
|
104
|
+
* directive with the SAME contentHash already exists, the queued directive will
|
|
105
|
+
* be picked up by the next spawn, so re-firing is a no-op churn: suppress it.
|
|
106
|
+
* A diverged contentHash (an updated stage directive) is NOT suppressed -- the
|
|
107
|
+
* fresh intent must replace the stale queued directive.
|
|
108
|
+
*
|
|
109
|
+
* Pure and exported for unit testing.
|
|
110
|
+
*/
|
|
111
|
+
export function shouldSuppressRefireForPendingSpawn(input) {
|
|
112
|
+
return input.pending !== undefined && input.pending.contentHash === input.candidateHash;
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=directive-queue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directive-queue.js","sourceRoot":"","sources":["../../src/directive/directive-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA2BzC;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAiC,CAAC;AAE/E;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAyB;IAC5D,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;QAChD,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,IAAI;QAChC,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,EAAE;QAClC,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,IAAI;KAC/B,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACpB,CAAC;AAED;sCACsC;AACtC,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAE3C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAIxC;IACC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACxC,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC3C,IAAI,GAAG,IAAI,qBAAqB;QAAE,OAAO,SAAS,CAAC;IACnD,OAAO,IAAI,CAAC,yBAAyB,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAAC,OAAe;IAC1D,MAAM,SAAS,GAAG,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACtD,IAAI,SAAS,EAAE,CAAC;QACd,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oCAAoC,CAClD,OAAe,EACf,SAAgC;IAEhC,sBAAsB,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAe;IACtD,OAAO,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAe;IACtD,OAAO,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,OAAO,CAAC,GAAG,sBAAsB,CAAC,IAAI,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,mCAAmC,CAAC,KAGnD;IACC,OAAO,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,KAAK,KAAK,CAAC,aAAa,CAAC;AAC1F,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stage tracker: per-focus last-processed workflow stage state.
|
|
3
|
+
*
|
|
4
|
+
* Holds the single shared `lastProcessedStages` map (focusId -> stageId) that
|
|
5
|
+
* the directive edge-trigger uses to fire a stage directive exactly once per
|
|
6
|
+
* stage entry. Extracted from directive-executor.ts so the mutable state and
|
|
7
|
+
* its accessors live in one focused module; directive-executor imports the map
|
|
8
|
+
* binding for its in-loop reads/writes and re-exports the accessors.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Track the last-processed stage ID per focus to prevent
|
|
12
|
+
* double-injection on daemon restart or rapid poll cycles.
|
|
13
|
+
*
|
|
14
|
+
* This is the single shared instance. directive-executor's checkDirectives
|
|
15
|
+
* reads/writes it directly via this binding; external callers use the
|
|
16
|
+
* accessor functions below.
|
|
17
|
+
*/
|
|
18
|
+
export declare const lastProcessedStages: Map<string, string>;
|
|
19
|
+
/** Seed the last-processed stage for a focus (used on daemon startup). */
|
|
20
|
+
export declare function seedLastProcessedStage(focusId: string, stageId: string): void;
|
|
21
|
+
/** Get the last-processed stages map (for persistence). */
|
|
22
|
+
export declare function getLastProcessedStages(): ReadonlyMap<string, string>;
|
|
23
|
+
//# sourceMappingURL=stage-tracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stage-tracker.d.ts","sourceRoot":"","sources":["../../src/directive/stage-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,qBAA4B,CAAC;AAE7D,0EAA0E;AAC1E,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAE7E;AAED,2DAA2D;AAC3D,wBAAgB,sBAAsB,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAEpE"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stage tracker: per-focus last-processed workflow stage state.
|
|
3
|
+
*
|
|
4
|
+
* Holds the single shared `lastProcessedStages` map (focusId -> stageId) that
|
|
5
|
+
* the directive edge-trigger uses to fire a stage directive exactly once per
|
|
6
|
+
* stage entry. Extracted from directive-executor.ts so the mutable state and
|
|
7
|
+
* its accessors live in one focused module; directive-executor imports the map
|
|
8
|
+
* binding for its in-loop reads/writes and re-exports the accessors.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Track the last-processed stage ID per focus to prevent
|
|
12
|
+
* double-injection on daemon restart or rapid poll cycles.
|
|
13
|
+
*
|
|
14
|
+
* This is the single shared instance. directive-executor's checkDirectives
|
|
15
|
+
* reads/writes it directly via this binding; external callers use the
|
|
16
|
+
* accessor functions below.
|
|
17
|
+
*/
|
|
18
|
+
export const lastProcessedStages = new Map();
|
|
19
|
+
/** Seed the last-processed stage for a focus (used on daemon startup). */
|
|
20
|
+
export function seedLastProcessedStage(focusId, stageId) {
|
|
21
|
+
lastProcessedStages.set(focusId, stageId);
|
|
22
|
+
}
|
|
23
|
+
/** Get the last-processed stages map (for persistence). */
|
|
24
|
+
export function getLastProcessedStages() {
|
|
25
|
+
return lastProcessedStages;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=stage-tracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stage-tracker.js","sourceRoot":"","sources":["../../src/directive/stage-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;AAE7D,0EAA0E;AAC1E,MAAM,UAAU,sBAAsB,CAAC,OAAe,EAAE,OAAe;IACrE,mBAAmB,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,sBAAsB;IACpC,OAAO,mBAAmB,CAAC;AAC7B,CAAC"}
|