@telora/daemon 0.15.2 → 0.15.4
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/README.md +11 -11
- package/build-info.json +2 -2
- package/dist/assembly-engine.d.ts +1 -1
- package/dist/assembly-engine.d.ts.map +1 -1
- package/dist/assembly-resolvers.js +41 -41
- package/dist/assembly-resolvers.js.map +1 -1
- package/dist/branch-status.d.ts +4 -4
- package/dist/branch-status.d.ts.map +1 -1
- package/dist/branch-status.js +23 -23
- package/dist/branch-status.js.map +1 -1
- package/dist/cli/connect.js +1 -1
- package/dist/cli/connect.js.map +1 -1
- package/dist/completion-detector.d.ts +1 -1
- package/dist/completion-detector.js +1 -1
- package/dist/completion-handler.d.ts +1 -1
- package/dist/completion-handler.js +4 -4
- package/dist/completion-handler.js.map +1 -1
- package/dist/condition-evaluators.js +4 -4
- package/dist/condition-evaluators.js.map +1 -1
- package/dist/control-state.d.ts +6 -6
- package/dist/control-state.d.ts.map +1 -1
- package/dist/control-state.js +43 -43
- package/dist/control-state.js.map +1 -1
- package/dist/crash-recovery-scan.d.ts +1 -1
- package/dist/crash-recovery-scan.js +20 -20
- package/dist/crash-recovery-scan.js.map +1 -1
- package/dist/crash-recovery-types.d.ts +3 -3
- package/dist/crash-recovery-types.d.ts.map +1 -1
- package/dist/crash-recovery-types.js +2 -2
- package/dist/crash-recovery-types.js.map +1 -1
- package/dist/crash-recovery.d.ts +3 -3
- package/dist/crash-recovery.d.ts.map +1 -1
- package/dist/crash-recovery.js +21 -21
- package/dist/crash-recovery.js.map +1 -1
- package/dist/daemon-process.d.ts +1 -1
- package/dist/daemon-process.d.ts.map +1 -1
- package/dist/dag-validator.d.ts +6 -6
- package/dist/dag-validator.d.ts.map +1 -1
- package/dist/dag-validator.js +2 -2
- package/dist/dag-validator.js.map +1 -1
- package/dist/delivery-guards.d.ts +1 -1
- package/dist/delivery-guards.js +1 -1
- package/dist/delivery-lifecycle.d.ts +5 -5
- package/dist/delivery-lifecycle.d.ts.map +1 -1
- package/dist/delivery-lifecycle.js +12 -12
- package/dist/delivery-lifecycle.js.map +1 -1
- package/dist/delivery-merge.js +1 -1
- package/dist/delivery-merge.js.map +1 -1
- package/dist/dependency-resolver.d.ts +7 -7
- package/dist/dependency-resolver.d.ts.map +1 -1
- package/dist/dependency-resolver.js.map +1 -1
- package/dist/directive-executor.d.ts +32 -17
- package/dist/directive-executor.d.ts.map +1 -1
- package/dist/directive-executor.js +119 -78
- package/dist/directive-executor.js.map +1 -1
- package/dist/evaluation-context.d.ts +2 -2
- package/dist/evaluation-context.d.ts.map +1 -1
- package/dist/evaluation-context.js +4 -4
- package/dist/evaluation-context.js.map +1 -1
- package/dist/focus-completion-event.d.ts +97 -0
- package/dist/focus-completion-event.d.ts.map +1 -0
- package/dist/focus-completion-event.js +257 -0
- package/dist/focus-completion-event.js.map +1 -0
- package/dist/{strategy-completion.d.ts → focus-completion.d.ts} +11 -11
- package/dist/focus-completion.d.ts.map +1 -0
- package/dist/{strategy-completion.js → focus-completion.js} +68 -68
- package/dist/focus-completion.js.map +1 -0
- package/dist/{strategy-engine.d.ts → focus-engine.d.ts} +5 -5
- package/dist/focus-engine.d.ts.map +1 -0
- package/dist/{strategy-engine.js → focus-engine.js} +35 -35
- package/dist/focus-engine.js.map +1 -0
- package/dist/focus-executor.d.ts +55 -0
- package/dist/focus-executor.d.ts.map +1 -0
- package/dist/{strategy-executor.js → focus-executor.js} +167 -120
- package/dist/focus-executor.js.map +1 -0
- package/dist/focus-lifecycle.d.ts +61 -0
- package/dist/focus-lifecycle.d.ts.map +1 -0
- package/dist/{strategy-lifecycle.js → focus-lifecycle.js} +164 -164
- package/dist/focus-lifecycle.js.map +1 -0
- package/dist/{strategy-merge.d.ts → focus-merge.d.ts} +10 -10
- package/dist/focus-merge.d.ts.map +1 -0
- package/dist/{strategy-merge.js → focus-merge.js} +51 -51
- package/dist/focus-merge.js.map +1 -0
- package/dist/focus-phase.d.ts +22 -0
- package/dist/focus-phase.d.ts.map +1 -0
- package/dist/focus-phase.js +54 -0
- package/dist/focus-phase.js.map +1 -0
- package/dist/focus-prompt-builder.d.ts +35 -0
- package/dist/focus-prompt-builder.d.ts.map +1 -0
- package/dist/{strategy-prompt-builder.js → focus-prompt-builder.js} +55 -4
- package/dist/focus-prompt-builder.js.map +1 -0
- package/dist/focus-provisioning.d.ts +16 -0
- package/dist/focus-provisioning.d.ts.map +1 -0
- package/dist/focus-provisioning.js +119 -0
- package/dist/focus-provisioning.js.map +1 -0
- package/dist/{strategy-spawn-helpers.d.ts → focus-spawn-helpers.d.ts} +15 -15
- package/dist/focus-spawn-helpers.d.ts.map +1 -0
- package/dist/{strategy-spawn-helpers.js → focus-spawn-helpers.js} +28 -28
- package/dist/focus-spawn-helpers.js.map +1 -0
- package/dist/{strategy-team-lifecycle.d.ts → focus-team-lifecycle.d.ts} +13 -13
- package/dist/focus-team-lifecycle.d.ts.map +1 -0
- package/dist/{strategy-team-lifecycle.js → focus-team-lifecycle.js} +57 -57
- package/dist/focus-team-lifecycle.js.map +1 -0
- package/dist/focus-team-state.d.ts +24 -0
- package/dist/focus-team-state.d.ts.map +1 -0
- package/dist/{strategy-team-state.js → focus-team-state.js} +9 -9
- package/dist/focus-team-state.js.map +1 -0
- package/dist/focus-worktree-state.d.ts +47 -0
- package/dist/focus-worktree-state.d.ts.map +1 -0
- package/dist/{strategy-worktree-state.js → focus-worktree-state.js} +29 -29
- package/dist/focus-worktree-state.js.map +1 -0
- package/dist/git-merge.d.ts +5 -5
- package/dist/git-merge.d.ts.map +1 -1
- package/dist/git-merge.js +5 -5
- package/dist/git-merge.js.map +1 -1
- package/dist/git-state-detector.d.ts +1 -1
- package/dist/git-state-detector.js +9 -9
- package/dist/git-state-detector.js.map +1 -1
- package/dist/git-utils.d.ts +1 -1
- package/dist/git-utils.js +1 -1
- package/dist/git.d.ts +2 -2
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +3 -3
- package/dist/git.js.map +1 -1
- package/dist/heartbeat.d.ts +4 -4
- package/dist/heartbeat.d.ts.map +1 -1
- package/dist/heartbeat.js +7 -7
- package/dist/heartbeat.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +10 -10
- package/dist/index.js.map +1 -1
- package/dist/listener-auto-advance.d.ts +2 -2
- package/dist/listener-auto-advance.js +21 -21
- package/dist/listener-auto-advance.js.map +1 -1
- package/dist/listener.d.ts +12 -12
- package/dist/listener.d.ts.map +1 -1
- package/dist/listener.js +80 -75
- package/dist/listener.js.map +1 -1
- package/dist/loop-engine.d.ts +20 -20
- package/dist/loop-engine.d.ts.map +1 -1
- package/dist/loop-engine.js +82 -82
- package/dist/loop-engine.js.map +1 -1
- package/dist/loop-event-bus.d.ts +5 -5
- package/dist/loop-event-bus.d.ts.map +1 -1
- package/dist/loop-event-bus.js +3 -3
- package/dist/loop-llm-client.d.ts +1 -1
- package/dist/loop-llm-client.js +1 -1
- package/dist/loop-variance.d.ts +1 -1
- package/dist/loop-variance.js +1 -1
- package/dist/merge-detector.d.ts +6 -6
- package/dist/merge-detector.d.ts.map +1 -1
- package/dist/merge-detector.js +47 -47
- package/dist/merge-detector.js.map +1 -1
- package/dist/otlp-log-parser.js +2 -2
- package/dist/otlp-log-parser.js.map +1 -1
- package/dist/otlp-metric-parser.js +1 -1
- package/dist/otlp-metric-parser.js.map +1 -1
- package/dist/otlp-receiver.d.ts +1 -1
- package/dist/otlp-receiver.js +7 -7
- package/dist/otlp-receiver.js.map +1 -1
- package/dist/otlp-types.d.ts +1 -1
- package/dist/otlp-types.d.ts.map +1 -1
- package/dist/otlp-types.js +3 -3
- package/dist/otlp-types.js.map +1 -1
- package/dist/output-monitor.d.ts +6 -6
- package/dist/output-monitor.d.ts.map +1 -1
- package/dist/output-monitor.js +11 -11
- package/dist/output-monitor.js.map +1 -1
- package/dist/planning-prompt-builder.d.ts +11 -11
- package/dist/planning-prompt-builder.d.ts.map +1 -1
- package/dist/planning-prompt-builder.js +28 -28
- package/dist/planning-prompt-builder.js.map +1 -1
- package/dist/pm/mitigation-correlator.d.ts +7 -7
- package/dist/pm/mitigation-correlator.d.ts.map +1 -1
- package/dist/pm/mitigation-correlator.js +33 -33
- package/dist/pm/mitigation-correlator.js.map +1 -1
- package/dist/pm-engine.js +1 -1
- package/dist/pm-engine.js.map +1 -1
- package/dist/prompt-builder.d.ts +1 -1
- package/dist/prompt-builder.js +9 -9
- package/dist/prompt-builder.js.map +1 -1
- package/dist/prompts/starter-prompt.d.ts +2 -2
- package/dist/prompts/starter-prompt.d.ts.map +1 -1
- package/dist/prompts/starter-prompt.js +6 -6
- package/dist/qa-crash-recovery.d.ts +10 -10
- package/dist/qa-crash-recovery.d.ts.map +1 -1
- package/dist/qa-crash-recovery.js +32 -32
- package/dist/qa-crash-recovery.js.map +1 -1
- package/dist/qa-dev-server.d.ts +3 -3
- package/dist/qa-dev-server.d.ts.map +1 -1
- package/dist/qa-dev-server.js +3 -3
- package/dist/qa-dev-server.js.map +1 -1
- package/dist/qa-orchestrator.d.ts +18 -18
- package/dist/qa-orchestrator.d.ts.map +1 -1
- package/dist/qa-orchestrator.js +47 -47
- package/dist/qa-orchestrator.js.map +1 -1
- package/dist/qa-provisioner.d.ts +3 -3
- package/dist/qa-provisioner.d.ts.map +1 -1
- package/dist/qa-provisioner.js +14 -14
- package/dist/qa-provisioner.js.map +1 -1
- package/dist/qa-state.d.ts +10 -10
- package/dist/qa-state.d.ts.map +1 -1
- package/dist/qa-state.js +11 -11
- package/dist/qa-state.js.map +1 -1
- package/dist/queries/control-state.d.ts +5 -5
- package/dist/queries/control-state.d.ts.map +1 -1
- package/dist/queries/control-state.js +4 -4
- package/dist/queries/control-state.js.map +1 -1
- package/dist/queries/deliveries.d.ts +24 -23
- package/dist/queries/deliveries.d.ts.map +1 -1
- package/dist/queries/deliveries.js +30 -29
- package/dist/queries/deliveries.js.map +1 -1
- package/dist/queries/{strategies.d.ts → focuses.d.ts} +24 -21
- package/dist/queries/focuses.d.ts.map +1 -0
- package/dist/queries/{strategies.js → focuses.js} +39 -31
- package/dist/queries/focuses.js.map +1 -0
- package/dist/queries/index.d.ts +3 -3
- package/dist/queries/index.d.ts.map +1 -1
- package/dist/queries/index.js +2 -2
- package/dist/queries/index.js.map +1 -1
- package/dist/queries/qa.d.ts +16 -16
- package/dist/queries/qa.d.ts.map +1 -1
- package/dist/queries/qa.js +22 -22
- package/dist/queries/qa.js.map +1 -1
- package/dist/queries/schemas.d.ts +36 -30
- package/dist/queries/schemas.d.ts.map +1 -1
- package/dist/queries/schemas.js +28 -25
- package/dist/queries/schemas.js.map +1 -1
- package/dist/queries/sessions.d.ts +1 -1
- package/dist/queries/sessions.d.ts.map +1 -1
- package/dist/queries/sessions.js +2 -2
- package/dist/queries/sessions.js.map +1 -1
- package/dist/queries/shared.js +10 -10
- package/dist/queries/shared.js.map +1 -1
- package/dist/queries/workflows.d.ts +1 -1
- package/dist/queries/workflows.js +1 -1
- package/dist/queries/worktrees.d.ts +7 -7
- package/dist/queries/worktrees.d.ts.map +1 -1
- package/dist/queries/worktrees.js +7 -7
- package/dist/queries/worktrees.js.map +1 -1
- package/dist/review-defect-detector.d.ts +125 -0
- package/dist/review-defect-detector.d.ts.map +1 -0
- package/dist/review-defect-detector.js +289 -0
- package/dist/review-defect-detector.js.map +1 -0
- package/dist/session-lifecycle.d.ts +17 -17
- package/dist/session-lifecycle.d.ts.map +1 -1
- package/dist/session-lifecycle.js +82 -82
- package/dist/session-lifecycle.js.map +1 -1
- package/dist/spawn-cooldown.d.ts +8 -8
- package/dist/spawn-cooldown.d.ts.map +1 -1
- package/dist/spawn-cooldown.js +15 -15
- package/dist/spawn-cooldown.js.map +1 -1
- package/dist/spawn-environment.d.ts +2 -2
- package/dist/spawn-environment.d.ts.map +1 -1
- package/dist/spawn-environment.js +3 -3
- package/dist/spawn-environment.js.map +1 -1
- package/dist/spawner-lifecycle.d.ts +2 -2
- package/dist/spawner-lifecycle.d.ts.map +1 -1
- package/dist/spawner-lifecycle.js +3 -3
- package/dist/spawner-lifecycle.js.map +1 -1
- package/dist/spawner-resolution.d.ts +3 -3
- package/dist/spawner-resolution.d.ts.map +1 -1
- package/dist/spawner-resolution.js +4 -4
- package/dist/spawner-resolution.js.map +1 -1
- package/dist/spawner-stream-handlers.js +2 -2
- package/dist/spawner-stream-handlers.js.map +1 -1
- package/dist/spawner.d.ts +1 -1
- package/dist/spawner.d.ts.map +1 -1
- package/dist/spawner.js +6 -6
- package/dist/spawner.js.map +1 -1
- package/dist/stage-classifier.d.ts +1 -1
- package/dist/stage-classifier.js +1 -1
- package/dist/state-cascade.d.ts +25 -25
- package/dist/state-cascade.d.ts.map +1 -1
- package/dist/state-cascade.js +89 -89
- package/dist/state-cascade.js.map +1 -1
- package/dist/supabase.d.ts +4 -4
- package/dist/supabase.d.ts.map +1 -1
- package/dist/supabase.js +5 -5
- package/dist/supabase.js.map +1 -1
- package/dist/task-converter.d.ts +4 -4
- package/dist/task-converter.d.ts.map +1 -1
- package/dist/task-converter.js +1 -1
- package/dist/task-converter.js.map +1 -1
- package/dist/team-prompt-base.d.ts +49 -22
- package/dist/team-prompt-base.d.ts.map +1 -1
- package/dist/team-prompt-base.js +96 -32
- package/dist/team-prompt-base.js.map +1 -1
- package/dist/team-spawner.d.ts +9 -9
- package/dist/team-spawner.d.ts.map +1 -1
- package/dist/team-spawner.js +84 -82
- package/dist/team-spawner.js.map +1 -1
- package/dist/telemetry-writer.d.ts +2 -2
- package/dist/telemetry-writer.d.ts.map +1 -1
- package/dist/templates/claude-md.js +8 -8
- package/dist/templates/claude-settings.d.ts +1 -1
- package/dist/templates/claude-settings.js +2 -2
- package/dist/templates/claude-settings.js.map +1 -1
- package/dist/trigger-executor.d.ts +4 -4
- package/dist/trigger-executor.d.ts.map +1 -1
- package/dist/trigger-executor.js +11 -11
- package/dist/trigger-executor.js.map +1 -1
- package/dist/types/dag.d.ts +1 -1
- package/dist/types/delivery.d.ts +3 -3
- package/dist/types/delivery.d.ts.map +1 -1
- package/dist/types/{strategy.d.ts → focus.d.ts} +65 -31
- package/dist/types/focus.d.ts.map +1 -0
- package/dist/types/focus.js +5 -0
- package/dist/types/focus.js.map +1 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/merge.d.ts +1 -1
- package/dist/types/session.d.ts +2 -2
- package/dist/types/session.d.ts.map +1 -1
- package/dist/unified-engine-lifecycle.js +11 -11
- package/dist/unified-engine-lifecycle.js.map +1 -1
- package/dist/unified-init.d.ts +1 -1
- package/dist/unified-init.js +9 -9
- package/dist/unified-init.js.map +1 -1
- package/dist/unified-shell-config.d.ts +4 -4
- package/dist/unified-shell-config.d.ts.map +1 -1
- package/dist/unified-shell-config.js +5 -5
- package/dist/unified-shell-config.js.map +1 -1
- package/dist/unified-shell-status.js +3 -3
- package/dist/unified-shell-status.js.map +1 -1
- package/dist/unified-shell.d.ts +1 -1
- package/dist/unified-shell.js +4 -4
- package/dist/unified-shell.js.map +1 -1
- package/dist/workflow-engine.d.ts +1 -1
- package/dist/workflow-engine.d.ts.map +1 -1
- package/dist/{worktree-strategy.d.ts → worktree-focus.d.ts} +15 -15
- package/dist/worktree-focus.d.ts.map +1 -0
- package/dist/{worktree-strategy.js → worktree-focus.js} +37 -37
- package/dist/worktree-focus.js.map +1 -0
- package/dist/worktree.d.ts +10 -10
- package/dist/worktree.d.ts.map +1 -1
- package/dist/worktree.js +39 -39
- package/dist/worktree.js.map +1 -1
- package/package.json +3 -3
- package/dist/listener-review.d.ts +0 -37
- package/dist/listener-review.d.ts.map +0 -1
- package/dist/listener-review.js +0 -217
- package/dist/listener-review.js.map +0 -1
- package/dist/queries/strategies.d.ts.map +0 -1
- package/dist/queries/strategies.js.map +0 -1
- package/dist/review-spawner.d.ts +0 -32
- package/dist/review-spawner.d.ts.map +0 -1
- package/dist/review-spawner.js +0 -170
- package/dist/review-spawner.js.map +0 -1
- package/dist/strategy-completion-event.d.ts +0 -63
- package/dist/strategy-completion-event.d.ts.map +0 -1
- package/dist/strategy-completion-event.js +0 -138
- package/dist/strategy-completion-event.js.map +0 -1
- package/dist/strategy-completion.d.ts.map +0 -1
- package/dist/strategy-completion.js.map +0 -1
- package/dist/strategy-engine.d.ts.map +0 -1
- package/dist/strategy-engine.js.map +0 -1
- package/dist/strategy-executor.d.ts +0 -55
- package/dist/strategy-executor.d.ts.map +0 -1
- package/dist/strategy-executor.js.map +0 -1
- package/dist/strategy-lifecycle.d.ts +0 -61
- package/dist/strategy-lifecycle.d.ts.map +0 -1
- package/dist/strategy-lifecycle.js.map +0 -1
- package/dist/strategy-merge.d.ts.map +0 -1
- package/dist/strategy-merge.js.map +0 -1
- package/dist/strategy-prompt-builder.d.ts +0 -24
- package/dist/strategy-prompt-builder.d.ts.map +0 -1
- package/dist/strategy-prompt-builder.js.map +0 -1
- package/dist/strategy-provisioning.d.ts +0 -16
- package/dist/strategy-provisioning.d.ts.map +0 -1
- package/dist/strategy-provisioning.js +0 -119
- package/dist/strategy-provisioning.js.map +0 -1
- package/dist/strategy-spawn-helpers.d.ts.map +0 -1
- package/dist/strategy-spawn-helpers.js.map +0 -1
- package/dist/strategy-team-lifecycle.d.ts.map +0 -1
- package/dist/strategy-team-lifecycle.js.map +0 -1
- package/dist/strategy-team-state.d.ts +0 -24
- package/dist/strategy-team-state.d.ts.map +0 -1
- package/dist/strategy-team-state.js.map +0 -1
- package/dist/strategy-teardown.d.ts +0 -24
- package/dist/strategy-teardown.d.ts.map +0 -1
- package/dist/strategy-teardown.js +0 -158
- package/dist/strategy-teardown.js.map +0 -1
- package/dist/strategy-worktree-state.d.ts +0 -47
- package/dist/strategy-worktree-state.d.ts.map +0 -1
- package/dist/strategy-worktree-state.js.map +0 -1
- package/dist/team-prompt-variants.d.ts +0 -17
- package/dist/team-prompt-variants.d.ts.map +0 -1
- package/dist/team-prompt-variants.js +0 -79
- package/dist/team-prompt-variants.js.map +0 -1
- package/dist/types/strategy.d.ts.map +0 -1
- package/dist/types/strategy.js +0 -5
- package/dist/types/strategy.js.map +0 -1
- package/dist/worktree-merge.d.ts +0 -23
- package/dist/worktree-merge.d.ts.map +0 -1
- package/dist/worktree-merge.js +0 -57
- package/dist/worktree-merge.js.map +0 -1
- package/dist/worktree-strategy.d.ts.map +0 -1
- package/dist/worktree-strategy.js.map +0 -1
|
@@ -1,31 +1,32 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Directive Executor.
|
|
3
3
|
*
|
|
4
|
-
* Detects
|
|
4
|
+
* Detects focus workflow stage changes and executes the stage's
|
|
5
5
|
* agent_directive. For inject mode: writes /compact + prompt via stdin.
|
|
6
6
|
* For spawn mode: terminates current session, assembles directive content,
|
|
7
7
|
* and stores it for the next spawn cycle to deliver.
|
|
8
8
|
*/
|
|
9
|
-
import { getActiveTeams } from './
|
|
9
|
+
import { getActiveTeams } from './focus-team-state.js';
|
|
10
10
|
import { resolveAssemblyRecipe } from './assembly-engine.js';
|
|
11
11
|
// Import resolvers to ensure they're registered
|
|
12
12
|
import './assembly-resolvers.js';
|
|
13
|
-
import {
|
|
13
|
+
import { fetchFocusWorkflow, fetchFocusWorkflowWithTransitions, getFocusDeliveries, updateFocusWorkflowStage, } from './queries/focuses.js';
|
|
14
|
+
import { deriveFocusPhase } from './focus-phase.js';
|
|
14
15
|
import { sendMessage } from '@telora/daemon-core';
|
|
15
|
-
import { terminateTeam, waitForTeamExit } from './
|
|
16
|
-
import {
|
|
16
|
+
import { terminateTeam, waitForTeamExit } from './focus-executor.js';
|
|
17
|
+
import { getActiveFocuses } from './supabase.js';
|
|
17
18
|
import { configForProduct } from './config.js';
|
|
18
19
|
import { fetchTransitionGuards } from './queries/guards.js';
|
|
19
20
|
import { executeAdvanceLinkedInjections } from './trigger-executor.js';
|
|
20
21
|
// ── Stage tracking ───────────────────────────────────────────────
|
|
21
22
|
/**
|
|
22
|
-
* Track the last-processed stage ID per
|
|
23
|
+
* Track the last-processed stage ID per focus to prevent
|
|
23
24
|
* double-injection on daemon restart or rapid poll cycles.
|
|
24
25
|
*/
|
|
25
26
|
const lastProcessedStages = new Map();
|
|
26
|
-
/** Seed the last-processed stage for a
|
|
27
|
-
export function seedLastProcessedStage(
|
|
28
|
-
lastProcessedStages.set(
|
|
27
|
+
/** Seed the last-processed stage for a focus (used on daemon startup). */
|
|
28
|
+
export function seedLastProcessedStage(focusId, stageId) {
|
|
29
|
+
lastProcessedStages.set(focusId, stageId);
|
|
29
30
|
}
|
|
30
31
|
/** Get the last-processed stages map (for persistence). */
|
|
31
32
|
export function getLastProcessedStages() {
|
|
@@ -33,38 +34,38 @@ export function getLastProcessedStages() {
|
|
|
33
34
|
}
|
|
34
35
|
const pendingSpawnDirectives = new Map();
|
|
35
36
|
/**
|
|
36
|
-
* Consume a pending spawn directive for a
|
|
37
|
+
* Consume a pending spawn directive for a focus.
|
|
37
38
|
* Returns the directive content and removes it from the map.
|
|
38
|
-
* Called by
|
|
39
|
+
* Called by spawnFocusTeam after spawning to send the directive.
|
|
39
40
|
*/
|
|
40
|
-
export function consumePendingSpawnDirective(
|
|
41
|
-
const directive = pendingSpawnDirectives.get(
|
|
41
|
+
export function consumePendingSpawnDirective(focusId) {
|
|
42
|
+
const directive = pendingSpawnDirectives.get(focusId);
|
|
42
43
|
if (directive) {
|
|
43
|
-
pendingSpawnDirectives.delete(
|
|
44
|
+
pendingSpawnDirectives.delete(focusId);
|
|
44
45
|
}
|
|
45
46
|
return directive;
|
|
46
47
|
}
|
|
47
48
|
/**
|
|
48
|
-
* Check if a
|
|
49
|
+
* Check if a focus has a pending spawn directive.
|
|
49
50
|
* Used by the spawn guard to skip actionable-delivery checks.
|
|
50
51
|
*/
|
|
51
|
-
export function hasPendingSpawnDirective(
|
|
52
|
-
return pendingSpawnDirectives.has(
|
|
52
|
+
export function hasPendingSpawnDirective(focusId) {
|
|
53
|
+
return pendingSpawnDirectives.has(focusId);
|
|
53
54
|
}
|
|
54
55
|
// ── Context assembly helper ──────────────────────────────────────
|
|
55
56
|
/**
|
|
56
57
|
* Assemble directive content from a StageDirective's recipe and prompt.
|
|
57
|
-
* Shared by both inject and spawn modes, and by
|
|
58
|
+
* Shared by both inject and spawn modes, and by focus-executor for
|
|
58
59
|
* initial spawn with a stage directive.
|
|
59
60
|
*/
|
|
60
|
-
export async function assembleDirectiveContent(config,
|
|
61
|
+
export async function assembleDirectiveContent(config, focusId, directive, worktreePath) {
|
|
61
62
|
const recipe = [...directive.assembly];
|
|
62
63
|
let assembledContext = '';
|
|
63
64
|
if (recipe.length > 0) {
|
|
64
65
|
try {
|
|
65
|
-
const deliveries = await
|
|
66
|
+
const deliveries = await getFocusDeliveries(focusId);
|
|
66
67
|
const assemblyContext = {
|
|
67
|
-
|
|
68
|
+
focusId,
|
|
68
69
|
deliveryIds: deliveries.map(d => d.id),
|
|
69
70
|
worktreePath,
|
|
70
71
|
config,
|
|
@@ -74,7 +75,7 @@ export async function assembleDirectiveContent(config, strategyId, directive, wo
|
|
|
74
75
|
assembledContext = await resolveAssemblyRecipe(recipe, assemblyContext);
|
|
75
76
|
}
|
|
76
77
|
catch (err) {
|
|
77
|
-
console.warn(`[directive-executor] Assembly resolution failed for
|
|
78
|
+
console.warn(`[directive-executor] Assembly resolution failed for focus ${focusId.slice(0, 8)}: ${err.message}`);
|
|
78
79
|
}
|
|
79
80
|
}
|
|
80
81
|
const parts = [];
|
|
@@ -102,40 +103,40 @@ export async function assembleDirectiveContent(config, strategyId, directive, wo
|
|
|
102
103
|
}
|
|
103
104
|
// ── Core execution ───────────────────────────────────────────────
|
|
104
105
|
/**
|
|
105
|
-
* Execute a stage directive for a
|
|
106
|
+
* Execute a stage directive for a focus.
|
|
106
107
|
*
|
|
107
108
|
* inject mode: sends /compact + assembled context + prompt to the active team's stdin.
|
|
108
109
|
* spawn mode: terminates the current team, assembles directive content, stores for respawn.
|
|
109
110
|
*/
|
|
110
|
-
async function executeDirective(config,
|
|
111
|
-
console.log(`[directive-executor] Executing ${directive.execution} directive for
|
|
112
|
-
`(stage ${
|
|
111
|
+
async function executeDirective(config, focusId, directive, focusWorkflowStageId, stageName) {
|
|
112
|
+
console.log(`[directive-executor] Executing ${directive.execution} directive for focus ${focusId.slice(0, 8)} ` +
|
|
113
|
+
`(stage ${focusWorkflowStageId.slice(0, 8)})`);
|
|
113
114
|
const sessionType = stageName === 'in_review' ? 'review' : 'coding';
|
|
114
115
|
if (directive.execution === 'inject') {
|
|
115
|
-
await executeInjectDirective(config,
|
|
116
|
+
await executeInjectDirective(config, focusId, directive, sessionType);
|
|
116
117
|
}
|
|
117
118
|
else if (directive.execution === 'spawn') {
|
|
118
|
-
await executeSpawnDirective(config,
|
|
119
|
+
await executeSpawnDirective(config, focusId, directive, sessionType);
|
|
119
120
|
}
|
|
120
121
|
else {
|
|
121
|
-
console.warn(`[directive-executor] Unknown execution mode "${directive.execution}" for
|
|
122
|
+
console.warn(`[directive-executor] Unknown execution mode "${directive.execution}" for focus ${focusId.slice(0, 8)}`);
|
|
122
123
|
}
|
|
123
124
|
}
|
|
124
125
|
/**
|
|
125
126
|
* Inject mode: send /compact + assembled context + prompt to the active team's stdin.
|
|
126
127
|
*/
|
|
127
|
-
async function executeInjectDirective(config,
|
|
128
|
+
async function executeInjectDirective(config, focusId, directive, sessionType = 'coding') {
|
|
128
129
|
const activeTeams = getActiveTeams();
|
|
129
|
-
const team = activeTeams.get(
|
|
130
|
+
const team = activeTeams.get(focusId);
|
|
130
131
|
if (!team || !team.leadStdin) {
|
|
131
132
|
// No active team -- fall back to spawn mode so the directive is
|
|
132
133
|
// delivered when the next team spawns (e.g., review triggered while
|
|
133
134
|
// pipeline was stopped; the pipeline gets activated but the team
|
|
134
135
|
// hasn't spawned yet by the time the directive executor runs).
|
|
135
|
-
console.log(`[directive-executor] No active team for
|
|
136
|
+
console.log(`[directive-executor] No active team for focus ${focusId.slice(0, 8)} -- ` +
|
|
136
137
|
`falling back to spawn directive for delivery on next spawn`);
|
|
137
|
-
const message = await assembleDirectiveContent(config,
|
|
138
|
-
pendingSpawnDirectives.set(
|
|
138
|
+
const message = await assembleDirectiveContent(config, focusId, directive, null);
|
|
139
|
+
pendingSpawnDirectives.set(focusId, {
|
|
139
140
|
message,
|
|
140
141
|
model: directive.model ?? null,
|
|
141
142
|
sessionType,
|
|
@@ -145,13 +146,13 @@ async function executeInjectDirective(config, strategyId, directive, sessionType
|
|
|
145
146
|
// Step 1: Send /compact command if recipe is specified
|
|
146
147
|
if (directive.compact) {
|
|
147
148
|
const compactMessage = `/compact Preserve: ${directive.compact.preserve}. Shed: ${directive.compact.shed}.`;
|
|
148
|
-
console.log(`[directive-executor] Sending /compact for
|
|
149
|
+
console.log(`[directive-executor] Sending /compact for focus ${focusId.slice(0, 8)}`);
|
|
149
150
|
sendMessage(team.leadStdin, compactMessage);
|
|
150
151
|
}
|
|
151
152
|
// Step 2: Assemble and send context + prompt
|
|
152
|
-
const fullMessage = await assembleDirectiveContent(config,
|
|
153
|
+
const fullMessage = await assembleDirectiveContent(config, focusId, directive, team.worktreePath);
|
|
153
154
|
if (fullMessage.trim()) {
|
|
154
|
-
console.log(`[directive-executor] Sending directive message to
|
|
155
|
+
console.log(`[directive-executor] Sending directive message to focus ${focusId.slice(0, 8)} ` +
|
|
155
156
|
`(${fullMessage.length} chars)`);
|
|
156
157
|
sendMessage(team.leadStdin, fullMessage);
|
|
157
158
|
}
|
|
@@ -160,15 +161,15 @@ async function executeInjectDirective(config, strategyId, directive, sessionType
|
|
|
160
161
|
* Spawn mode: terminate the current team, assemble directive content,
|
|
161
162
|
* and store it for the next spawn cycle to deliver.
|
|
162
163
|
*/
|
|
163
|
-
async function executeSpawnDirective(config,
|
|
164
|
+
async function executeSpawnDirective(config, focusId, directive, sessionType = 'coding') {
|
|
164
165
|
const activeTeams = getActiveTeams();
|
|
165
|
-
const team = activeTeams.get(
|
|
166
|
+
const team = activeTeams.get(focusId);
|
|
166
167
|
const worktreePath = team?.worktreePath ?? null;
|
|
167
168
|
// Assemble the directive content before terminating the team
|
|
168
169
|
// (the team's worktree path is needed for git diff resolution)
|
|
169
|
-
const message = await assembleDirectiveContent(config,
|
|
170
|
+
const message = await assembleDirectiveContent(config, focusId, directive, worktreePath);
|
|
170
171
|
// Store the assembled content for the next spawn to pick up
|
|
171
|
-
pendingSpawnDirectives.set(
|
|
172
|
+
pendingSpawnDirectives.set(focusId, {
|
|
172
173
|
message,
|
|
173
174
|
model: directive.model ?? null,
|
|
174
175
|
sessionType,
|
|
@@ -177,37 +178,37 @@ async function executeSpawnDirective(config, strategyId, directive, sessionType
|
|
|
177
178
|
// received this directive via the pending spawn directive mechanism.
|
|
178
179
|
// Don't terminate and respawn — that causes a wasteful kill/restart cycle.
|
|
179
180
|
if (team && team.startedAt && (Date.now() - team.startedAt.getTime()) < 60000) {
|
|
180
|
-
console.log(`[directive-executor] Team for
|
|
181
|
+
console.log(`[directive-executor] Team for focus ${focusId.slice(0, 8)} was recently spawned ` +
|
|
181
182
|
`(${Math.round((Date.now() - team.startedAt.getTime()) / 1000)}s ago) -- skipping spawn directive`);
|
|
182
183
|
return;
|
|
183
184
|
}
|
|
184
185
|
// Terminate existing team if one exists
|
|
185
186
|
if (team) {
|
|
186
|
-
console.log(`[directive-executor] Terminating existing team for
|
|
187
|
-
terminateTeam(
|
|
188
|
-
const exited = await waitForTeamExit(
|
|
187
|
+
console.log(`[directive-executor] Terminating existing team for focus ${focusId.slice(0, 8)} before spawn`);
|
|
188
|
+
terminateTeam(focusId);
|
|
189
|
+
const exited = await waitForTeamExit(focusId, 30000);
|
|
189
190
|
if (!exited) {
|
|
190
|
-
console.warn(`[directive-executor] Team for
|
|
191
|
+
console.warn(`[directive-executor] Team for focus ${focusId.slice(0, 8)} did not exit cleanly`);
|
|
191
192
|
}
|
|
192
193
|
}
|
|
193
|
-
console.log(`[directive-executor] Spawn directive stored for
|
|
194
|
+
console.log(`[directive-executor] Spawn directive stored for focus ${focusId.slice(0, 8)} ` +
|
|
194
195
|
`(${message.length} chars, model: ${directive.model ?? 'default'}) -- team will respawn on next poll cycle`);
|
|
195
196
|
}
|
|
196
|
-
// ──
|
|
197
|
+
// ── Focus transition trigger execution ────────────────────────
|
|
197
198
|
/**
|
|
198
|
-
* Fire on_enter triggers for a
|
|
199
|
+
* Fire on_enter triggers for a focus stage transition.
|
|
199
200
|
*
|
|
200
201
|
* Looks up the workflow transition from lastStageId to currentStageId,
|
|
201
202
|
* fetches triggers on that transition, and executes on_enter triggers.
|
|
202
203
|
* Currently supports advance_linked_injections; other action types
|
|
203
204
|
* are logged and skipped.
|
|
204
205
|
*/
|
|
205
|
-
async function
|
|
206
|
+
async function fireFocusTransitionTriggers(focusId, lastStageId, currentStageId) {
|
|
206
207
|
if (!lastStageId)
|
|
207
|
-
return; // First time seeing this
|
|
208
|
+
return; // First time seeing this focus, no transition to fire
|
|
208
209
|
try {
|
|
209
210
|
// Find the transition between the two stages
|
|
210
|
-
const workflow = await
|
|
211
|
+
const workflow = await fetchFocusWorkflowWithTransitions(focusId);
|
|
211
212
|
const transition = workflow.transitions?.find(t => t.from_stage_id === lastStageId && t.to_stage_id === currentStageId);
|
|
212
213
|
if (!transition)
|
|
213
214
|
return; // No transition found (possible for non-standard stage jumps)
|
|
@@ -219,73 +220,113 @@ async function fireStrategyTransitionTriggers(strategyId, lastStageId, currentSt
|
|
|
219
220
|
for (const trigger of onEnterTriggers) {
|
|
220
221
|
try {
|
|
221
222
|
if (trigger.action_type === 'advance_linked_injections') {
|
|
222
|
-
await executeAdvanceLinkedInjections(
|
|
223
|
+
await executeAdvanceLinkedInjections(focusId, trigger.action_config);
|
|
223
224
|
}
|
|
224
225
|
else {
|
|
225
|
-
console.log(`[directive-executor]
|
|
226
|
-
`skipped -- not supported in
|
|
226
|
+
console.log(`[directive-executor] Focus trigger "${trigger.name}" (${trigger.action_type}) ` +
|
|
227
|
+
`skipped -- not supported in focus context`);
|
|
227
228
|
}
|
|
228
229
|
}
|
|
229
230
|
catch (err) {
|
|
230
|
-
console.warn(`[directive-executor] Failed to execute
|
|
231
|
+
console.warn(`[directive-executor] Failed to execute focus trigger "${trigger.name}":`, err.message);
|
|
231
232
|
}
|
|
232
233
|
}
|
|
233
234
|
}
|
|
234
235
|
catch (err) {
|
|
235
|
-
console.warn(`[directive-executor] Failed to fire
|
|
236
|
+
console.warn(`[directive-executor] Failed to fire focus transition triggers for ${focusId.slice(0, 8)}:`, err.message);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
// ── Phase sync ───────────────────────────────────────────────────
|
|
240
|
+
/**
|
|
241
|
+
* Derive the focus's execution phase from its delivery aggregate and
|
|
242
|
+
* update product_focuses.current_workflow_stage_id if the derived phase
|
|
243
|
+
* differs from what's recorded.
|
|
244
|
+
*
|
|
245
|
+
* Returns the stage ID the focus should be in (post-sync). Falls back to
|
|
246
|
+
* the recorded stage id on error so callers don't have to handle a third
|
|
247
|
+
* "unknown" state.
|
|
248
|
+
*/
|
|
249
|
+
export async function syncFocusPhase(focus) {
|
|
250
|
+
try {
|
|
251
|
+
const deliveries = await getFocusDeliveries(focus.focus_id);
|
|
252
|
+
const phase = deriveFocusPhase({
|
|
253
|
+
deliveries: deliveries.map((d) => ({ executionStatus: d.executionStatus })),
|
|
254
|
+
reviewRequestedAt: focus.review_requested_at,
|
|
255
|
+
});
|
|
256
|
+
const workflow = await fetchFocusWorkflow(focus.focus_id);
|
|
257
|
+
const stage = workflow.stages.find((s) => s.name === phase);
|
|
258
|
+
if (!stage) {
|
|
259
|
+
console.warn(`[directive-executor] No "${phase}" stage in workflow for focus ` +
|
|
260
|
+
`${focus.focus_id.slice(0, 8)}; phase sync skipped.`);
|
|
261
|
+
return focus.current_workflow_stage_id;
|
|
262
|
+
}
|
|
263
|
+
if (stage.id !== focus.current_workflow_stage_id) {
|
|
264
|
+
await updateFocusWorkflowStage(focus.focus_id, stage.id);
|
|
265
|
+
console.log(`[directive-executor] Focus ${focus.focus_id.slice(0, 8)} phase -> ${phase}`);
|
|
266
|
+
}
|
|
267
|
+
return stage.id;
|
|
268
|
+
}
|
|
269
|
+
catch (err) {
|
|
270
|
+
console.warn(`[directive-executor] Phase sync failed for focus ${focus.focus_id.slice(0, 8)}:`, err.message);
|
|
271
|
+
return focus.current_workflow_stage_id;
|
|
236
272
|
}
|
|
237
273
|
}
|
|
238
274
|
// ── Poll loop integration ────────────────────────────────────────
|
|
239
275
|
/**
|
|
240
|
-
* Check all active
|
|
276
|
+
* Check all active focuses for stage changes with directives.
|
|
241
277
|
*
|
|
242
|
-
* Called from the daemon poll loop. For each active
|
|
243
|
-
* 1.
|
|
244
|
-
* 2.
|
|
245
|
-
* 3. If
|
|
278
|
+
* Called from the daemon poll loop. For each active focus:
|
|
279
|
+
* 1. Sync the focus's execution phase from its delivery aggregate
|
|
280
|
+
* 2. Get the focus's current_workflow_stage_id
|
|
281
|
+
* 3. If unchanged since last check, skip
|
|
282
|
+
* 4. If the stage has an agent_directive, execute it
|
|
246
283
|
*/
|
|
247
284
|
export async function checkDirectives(config) {
|
|
248
285
|
for (const product of config.products) {
|
|
249
286
|
const pc = configForProduct(config, product);
|
|
250
287
|
try {
|
|
251
|
-
const
|
|
252
|
-
for (const
|
|
253
|
-
|
|
254
|
-
//
|
|
288
|
+
const focuses = await getActiveFocuses(pc.organizationId, product.id);
|
|
289
|
+
for (const focus of focuses) {
|
|
290
|
+
// Derive the focus's execution phase from its delivery aggregate
|
|
291
|
+
// and update current_workflow_stage_id in the DB if it changed.
|
|
292
|
+
// The mutated value is used for the rest of this iteration.
|
|
293
|
+
focus.current_workflow_stage_id = await syncFocusPhase(focus);
|
|
294
|
+
const currentStageId = focus.current_workflow_stage_id;
|
|
295
|
+
// Skip focuses without a workflow stage
|
|
255
296
|
if (!currentStageId)
|
|
256
297
|
continue;
|
|
257
|
-
// Skip if we already processed this stage for this
|
|
258
|
-
const lastStageId = lastProcessedStages.get(
|
|
298
|
+
// Skip if we already processed this stage for this focus
|
|
299
|
+
const lastStageId = lastProcessedStages.get(focus.focus_id);
|
|
259
300
|
if (lastStageId === currentStageId)
|
|
260
301
|
continue;
|
|
261
302
|
// Stage has changed -- look up the stage's directive
|
|
262
303
|
try {
|
|
263
|
-
const workflow = await
|
|
304
|
+
const workflow = await fetchFocusWorkflow(focus.focus_id);
|
|
264
305
|
const stage = workflow.stages.find((s) => s.id === currentStageId);
|
|
265
306
|
// Update tracking regardless of whether there's a directive
|
|
266
|
-
lastProcessedStages.set(
|
|
307
|
+
lastProcessedStages.set(focus.focus_id, currentStageId);
|
|
267
308
|
if (!stage) {
|
|
268
309
|
console.warn(`[directive-executor] Stage ${currentStageId.slice(0, 8)} not found in workflow ` +
|
|
269
|
-
`for
|
|
310
|
+
`for focus "${focus.focus_name}"`);
|
|
270
311
|
continue;
|
|
271
312
|
}
|
|
272
313
|
if (!stage.agentDirective) {
|
|
273
314
|
// No directive on this stage -- silent entry
|
|
274
|
-
console.log(`[directive-executor]
|
|
315
|
+
console.log(`[directive-executor] Focus "${focus.focus_name}" entered stage "${stage.name}" (no directive)`);
|
|
275
316
|
// Still fire on_enter triggers even without a directive
|
|
276
|
-
await
|
|
317
|
+
await fireFocusTransitionTriggers(focus.focus_id, lastStageId, currentStageId);
|
|
277
318
|
continue;
|
|
278
319
|
}
|
|
279
|
-
console.log(`[directive-executor]
|
|
320
|
+
console.log(`[directive-executor] Focus "${focus.focus_name}" entered stage "${stage.name}" -- ` +
|
|
280
321
|
`executing ${stage.agentDirective.execution} directive`);
|
|
281
|
-
await executeDirective(pc,
|
|
322
|
+
await executeDirective(pc, focus.focus_id, stage.agentDirective, currentStageId, stage.name);
|
|
282
323
|
// Fire on_enter triggers for this stage transition (e.g. advance_linked_injections)
|
|
283
|
-
await
|
|
324
|
+
await fireFocusTransitionTriggers(focus.focus_id, lastStageId, currentStageId);
|
|
284
325
|
}
|
|
285
326
|
catch (err) {
|
|
286
327
|
// Update tracking even on error to avoid retry loops
|
|
287
|
-
lastProcessedStages.set(
|
|
288
|
-
console.warn(`[directive-executor] Failed to process directive for
|
|
328
|
+
lastProcessedStages.set(focus.focus_id, currentStageId);
|
|
329
|
+
console.warn(`[directive-executor] Failed to process directive for focus "${focus.focus_name}":`, err.message);
|
|
289
330
|
}
|
|
290
331
|
}
|
|
291
332
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directive-executor.js","sourceRoot":"","sources":["../src/directive-executor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"directive-executor.js","sourceRoot":"","sources":["../src/directive-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,12 +35,12 @@ export declare function buildFactoryEvaluationContext(params: {
|
|
|
35
35
|
status: string;
|
|
36
36
|
}>;
|
|
37
37
|
gateResults: Array<{
|
|
38
|
-
|
|
38
|
+
focusId: string;
|
|
39
39
|
gateType: string;
|
|
40
40
|
iteration: number;
|
|
41
41
|
passed: boolean;
|
|
42
42
|
}>;
|
|
43
|
-
|
|
43
|
+
focusId?: string;
|
|
44
44
|
}): EvaluationContext;
|
|
45
45
|
/**
|
|
46
46
|
* Build evaluation context by querying current delivery state.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluation-context.d.ts","sourceRoot":"","sources":["../src/evaluation-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAM7D;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE;IACpD,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,wBAAwB,EAAE,MAAM,CAAC;QACjC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;KACnC,CAAC;IACF,SAAS,EAAE;QACT,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;QACjC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;KACtC,CAAC;IACF,SAAS,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrC,WAAW,EAAE,KAAK,CAAC;QAAE,
|
|
1
|
+
{"version":3,"file":"evaluation-context.d.ts","sourceRoot":"","sources":["../src/evaluation-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAM7D;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE;IACpD,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,wBAAwB,EAAE,MAAM,CAAC;QACjC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;KACnC,CAAC;IACF,SAAS,EAAE;QACT,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;QACjC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;KACtC,CAAC;IACF,SAAS,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrC,WAAW,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC9F,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,iBAAiB,CAqDpB;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,iBAAiB,CAAC,CA4B5B"}
|
|
@@ -22,7 +22,7 @@ import { getDeliveryIssues, getDeliverySessionCount, } from './supabase.js';
|
|
|
22
22
|
* gate results from its own queries).
|
|
23
23
|
*/
|
|
24
24
|
export function buildFactoryEvaluationContext(params) {
|
|
25
|
-
const { instanceState, blueprint, workUnits, gateResults,
|
|
25
|
+
const { instanceState, blueprint, workUnits, gateResults, focusId } = params;
|
|
26
26
|
// Count work units by status
|
|
27
27
|
const workUnitsByStatus = {};
|
|
28
28
|
for (const wu of workUnits) {
|
|
@@ -37,9 +37,9 @@ export function buildFactoryEvaluationContext(params) {
|
|
|
37
37
|
const wallClockLimitSeconds = blueprint.maxWallClockHours != null
|
|
38
38
|
? blueprint.maxWallClockHours * 3600
|
|
39
39
|
: null;
|
|
40
|
-
// Filter gate results by
|
|
41
|
-
const scopedGateResults =
|
|
42
|
-
? gateResults.filter(r => r.
|
|
40
|
+
// Filter gate results by focus if scoped
|
|
41
|
+
const scopedGateResults = focusId
|
|
42
|
+
? gateResults.filter(r => r.focusId === focusId)
|
|
43
43
|
: gateResults;
|
|
44
44
|
// Build configValues for dynamic guard thresholds
|
|
45
45
|
const configValues = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluation-context.js","sourceRoot":"","sources":["../src/evaluation-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAMvB,+CAA+C;AAC/C,mBAAmB;AACnB,+CAA+C;AAE/C;;;;;;;GAOG;AACH,MAAM,UAAU,6BAA6B,CAAC,MAe7C;IACC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"evaluation-context.js","sourceRoot":"","sources":["../src/evaluation-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Focus completion event handler - reacts to CompletionDetector events.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from focus-executor.ts. Handles the decision logic when a
|
|
5
|
+
* team lead completes a work cycle: terminate if done, send more work, or
|
|
6
|
+
* (for planning teams) refresh from MCP-written deliveries / escalate.
|
|
7
|
+
*/
|
|
8
|
+
import type { ChildProcess } from 'node:child_process';
|
|
9
|
+
import type { FocusTeamState, FocusDeliveryInfo, FocusIssueInfo, ProgressSnapshot } from './types.js';
|
|
10
|
+
import { CompletionDetector, type CompletionInfo } from './completion-detector.js';
|
|
11
|
+
/** Reason string emitted when a planning team produces no deliveries. */
|
|
12
|
+
export declare const PLANNING_NO_DELIVERIES_REASON = "planning produced no deliveries";
|
|
13
|
+
/** Reason string emitted when re-engagement is bounded by no-progress limit. */
|
|
14
|
+
export declare const NO_PROGRESS_ESCALATION_REASON = "team unable to make progress on remaining deliveries";
|
|
15
|
+
/**
|
|
16
|
+
* Maximum consecutive re-engagement cycles with no measurable progress before
|
|
17
|
+
* the scope-coverage guard escalates. Configurable via env so operators can
|
|
18
|
+
* relax or tighten the bound without a code change.
|
|
19
|
+
*/
|
|
20
|
+
export declare const SCOPE_COVERAGE_NO_PROGRESS_LIMIT: number;
|
|
21
|
+
export interface CompletionEventContext {
|
|
22
|
+
focusId: string;
|
|
23
|
+
focusName: string;
|
|
24
|
+
teamState: FocusTeamState;
|
|
25
|
+
completionDetector: CompletionDetector;
|
|
26
|
+
proc: ChildProcess;
|
|
27
|
+
completionInfo: CompletionInfo;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Injectable dependencies. Defaults to the real implementations; tests can
|
|
31
|
+
* override them to assert behavior without spinning up Supabase/MCP.
|
|
32
|
+
*/
|
|
33
|
+
export interface CompletionEventDeps {
|
|
34
|
+
getFocusDeliveries: (focusId: string) => Promise<FocusDeliveryInfo[]>;
|
|
35
|
+
getFocusIssues: (focusId: string) => Promise<FocusIssueInfo[]>;
|
|
36
|
+
createEscalation: (params: {
|
|
37
|
+
organizationId: string;
|
|
38
|
+
sessionId: string;
|
|
39
|
+
issueId: string | null;
|
|
40
|
+
reasonType: string;
|
|
41
|
+
description: string;
|
|
42
|
+
whatWasTried?: string;
|
|
43
|
+
helpNeeded?: string;
|
|
44
|
+
}) => Promise<void>;
|
|
45
|
+
terminateTeam: (focusId: string) => boolean;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Escalate when a planning team finishes its initial turn without writing
|
|
49
|
+
* any deliveries via MCP. The team is then terminated -- no respawn.
|
|
50
|
+
*
|
|
51
|
+
* Exported so tests and sister deliveries can verify the contract.
|
|
52
|
+
*/
|
|
53
|
+
export declare function escalatePlanningFailure(params: {
|
|
54
|
+
organizationId: string;
|
|
55
|
+
sessionId: string;
|
|
56
|
+
focusId: string;
|
|
57
|
+
focusName: string;
|
|
58
|
+
agentRoleId: string;
|
|
59
|
+
}, deps?: Pick<CompletionEventDeps, 'createEscalation'>): Promise<void>;
|
|
60
|
+
/**
|
|
61
|
+
* Handle a 'complete' event from the CompletionDetector.
|
|
62
|
+
*
|
|
63
|
+
* Queries current delivery and issue state to decide whether to:
|
|
64
|
+
* - Terminate the team (all deliveries terminal or no open issues remain), or
|
|
65
|
+
* - Send a mid-focus handoff message with remaining work.
|
|
66
|
+
*
|
|
67
|
+
* Extracted from the inline event callback in spawnFocusTeam to eliminate
|
|
68
|
+
* deep nesting inside an async Promise chain inside an event listener.
|
|
69
|
+
*/
|
|
70
|
+
export declare function handleCompletionEvent(ctx: CompletionEventContext, deps?: CompletionEventDeps): Promise<void>;
|
|
71
|
+
/**
|
|
72
|
+
* Build a progress snapshot from the current focus state.
|
|
73
|
+
*
|
|
74
|
+
* Captures the two values that must change for the team to be making
|
|
75
|
+
* progress: each delivery's execution_status and the total issue count.
|
|
76
|
+
*/
|
|
77
|
+
export declare function takeProgressSnapshot(deliveries: Pick<FocusDeliveryInfo, 'id' | 'executionStatus'>[], issues: {
|
|
78
|
+
id: string;
|
|
79
|
+
}[]): ProgressSnapshot;
|
|
80
|
+
/** True when two snapshots have identical delivery statuses and issue count. */
|
|
81
|
+
export declare function snapshotsEqual(a: ProgressSnapshot, b: ProgressSnapshot): boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Escalate when the team has been re-engaged repeatedly without making
|
|
84
|
+
* any measurable progress on the remaining non-terminal deliveries.
|
|
85
|
+
*
|
|
86
|
+
* Exported so tests can verify the contract.
|
|
87
|
+
*/
|
|
88
|
+
export declare function escalateNoProgress(params: {
|
|
89
|
+
organizationId: string;
|
|
90
|
+
sessionId: string;
|
|
91
|
+
focusId: string;
|
|
92
|
+
focusName: string;
|
|
93
|
+
agentRoleId: string;
|
|
94
|
+
cycles: number;
|
|
95
|
+
remaining: FocusDeliveryInfo[];
|
|
96
|
+
}, deps?: Pick<CompletionEventDeps, 'createEscalation'>): Promise<void>;
|
|
97
|
+
//# sourceMappingURL=focus-completion-event.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focus-completion-event.d.ts","sourceRoot":"","sources":["../src/focus-completion-event.ts"],"names":[],"mappings":"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"}
|