@telora/daemon 0.15.2 → 0.15.3
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 +15 -15
- package/dist/directive-executor.d.ts.map +1 -1
- package/dist/directive-executor.js +76 -76
- 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/focus-completion.d.ts +85 -0
- package/dist/focus-completion.d.ts.map +1 -0
- package/dist/focus-completion.js +459 -0
- package/dist/focus-completion.js.map +1 -0
- package/dist/focus-engine.d.ts +47 -0
- package/dist/focus-engine.d.ts.map +1 -0
- package/dist/focus-engine.js +421 -0
- 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/focus-executor.js +549 -0
- 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/focus-lifecycle.js +544 -0
- package/dist/focus-lifecycle.js.map +1 -0
- package/dist/focus-merge.d.ts +77 -0
- package/dist/focus-merge.d.ts.map +1 -0
- package/dist/focus-merge.js +378 -0
- package/dist/focus-merge.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/focus-prompt-builder.js +138 -0
- 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/focus-spawn-helpers.d.ts +67 -0
- package/dist/focus-spawn-helpers.d.ts.map +1 -0
- package/dist/focus-spawn-helpers.js +160 -0
- package/dist/focus-spawn-helpers.js.map +1 -0
- package/dist/focus-team-lifecycle.d.ts +50 -0
- package/dist/focus-team-lifecycle.d.ts.map +1 -0
- package/dist/focus-team-lifecycle.js +256 -0
- 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/focus-team-state.js +43 -0
- 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/focus-worktree-state.js +104 -0
- 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/focuses.d.ts +97 -0
- package/dist/queries/focuses.d.ts.map +1 -0
- package/dist/queries/focuses.js +136 -0
- 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/focus.d.ts +214 -0
- 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-focus.d.ts +69 -0
- package/dist/worktree-focus.d.ts.map +1 -0
- package/dist/worktree-focus.js +214 -0
- 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 +2 -2
package/dist/qa-state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qa-state.js","sourceRoot":"","sources":["../src/qa-state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA6BH,wEAAwE;AAExE
|
|
1
|
+
{"version":3,"file":"qa-state.js","sourceRoot":"","sources":["../src/qa-state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA6BH,wEAAwE;AAExE,4DAA4D;AAC5D,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA8B,CAAC;AAEjE;;GAEG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,OAAO,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,kBAAkB,CAAC,IAAI,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,KAAyB;IACzE,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,OAAO,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC;AA0BD,6EAA6E;AAC7E,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAqC,CAAC;AA0B/E,8DAA8D;AAC9D,MAAM,2BAA2B,GAAG,IAAI,GAAG,EAAuC,CAAC;AAEnF,MAAM,UAAU,yBAAyB,CAAC,WAAmB;IAC3D,OAAO,2BAA2B,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,WAAmB;IACjE,OAAO,2BAA2B,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,WAAmB,EAAE,KAAkC;IAC/F,2BAA2B,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,WAAmB;IAC9D,OAAO,2BAA2B,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAAiB;IACvD,OAAO,yBAAyB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAAC,SAAiB;IAC7D,OAAO,yBAAyB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAAiB,EAAE,KAAgC;IACzF,yBAAyB,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AAClD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,SAAiB;IAC1D,OAAO,yBAAyB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACrD,CAAC"}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Control state queries for the daemon.
|
|
3
3
|
*
|
|
4
|
-
* Polls for
|
|
4
|
+
* Polls for focuses and factory instances with non-running control states
|
|
5
5
|
* so the daemon can suspend, resume, or stop agents accordingly.
|
|
6
6
|
*/
|
|
7
7
|
/**
|
|
8
8
|
* A control state change entry from the API.
|
|
9
9
|
*/
|
|
10
10
|
export interface ControlStateChange {
|
|
11
|
-
entityType: '
|
|
11
|
+
entityType: 'focus' | 'factory_instance';
|
|
12
12
|
entityId: string;
|
|
13
13
|
entityName?: string;
|
|
14
14
|
controlState: 'stopped' | 'human_control' | 'resuming';
|
|
15
15
|
controlNote: string | null;
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
|
-
* Fetch all
|
|
18
|
+
* Fetch all focuses and factory instances with non-running control states.
|
|
19
19
|
*/
|
|
20
20
|
export declare function getControlStateChanges(productId?: string): Promise<ControlStateChange[]>;
|
|
21
21
|
/**
|
|
22
|
-
* Update a
|
|
22
|
+
* Update a focus's control state to 'running' (after resuming).
|
|
23
23
|
*/
|
|
24
|
-
export declare function setControlStateRunning(entityType: '
|
|
24
|
+
export declare function setControlStateRunning(entityType: 'focus' | 'factory_instance', entityId: string): Promise<void>;
|
|
25
25
|
//# sourceMappingURL=control-state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-state.d.ts","sourceRoot":"","sources":["../../src/queries/control-state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"control-state.d.ts","sourceRoot":"","sources":["../../src/queries/control-state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,OAAO,GAAG,kBAAkB,CAAC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,SAAS,GAAG,eAAe,GAAG,UAAU,CAAC;IACvD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAUD;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAe9F;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,OAAO,GAAG,kBAAkB,EACxC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAQf"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Control state queries for the daemon.
|
|
3
3
|
*
|
|
4
|
-
* Polls for
|
|
4
|
+
* Polls for focuses and factory instances with non-running control states
|
|
5
5
|
* so the daemon can suspend, resume, or stop agents accordingly.
|
|
6
6
|
*/
|
|
7
7
|
import { callApi } from './shared.js';
|
|
8
8
|
/**
|
|
9
|
-
* Fetch all
|
|
9
|
+
* Fetch all focuses and factory instances with non-running control states.
|
|
10
10
|
*/
|
|
11
11
|
export async function getControlStateChanges(productId) {
|
|
12
12
|
const params = {};
|
|
@@ -15,12 +15,12 @@ export async function getControlStateChanges(productId) {
|
|
|
15
15
|
}
|
|
16
16
|
const result = await callApi('daemon_get_control_state_changes', params);
|
|
17
17
|
return [
|
|
18
|
-
...(result.
|
|
18
|
+
...(result.focuses ?? []),
|
|
19
19
|
...(result.factoryInstances ?? []),
|
|
20
20
|
];
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
|
-
* Update a
|
|
23
|
+
* Update a focus's control state to 'running' (after resuming).
|
|
24
24
|
*/
|
|
25
25
|
export async function setControlStateRunning(entityType, entityId) {
|
|
26
26
|
await callApi('set_execution_unit_control_state', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-state.js","sourceRoot":"","sources":["../../src/queries/control-state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAqBtC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,SAAkB;IAC7D,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,kCAAkC,EAClC,MAAM,CACP,CAAC;IAEF,OAAO;QACL,GAAG,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"control-state.js","sourceRoot":"","sources":["../../src/queries/control-state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAqBtC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,SAAkB;IAC7D,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,kCAAkC,EAClC,MAAM,CACP,CAAC;IAEF,OAAO;QACL,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACzB,GAAG,CAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC;KACnC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,UAAwC,EACxC,QAAgB;IAEhB,MAAM,OAAO,CAAC,kCAAkC,EAAE;QAChD,MAAM,EAAE;YACN,UAAU;YACV,QAAQ;YACR,MAAM,EAAE,SAAS;SAClB;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Delivery and
|
|
2
|
+
* Delivery and focus queries.
|
|
3
3
|
*/
|
|
4
4
|
import type { DeliveryContext, PipelineConfig, GitState } from '../types.js';
|
|
5
5
|
/**
|
|
6
|
-
* @deprecated Use
|
|
6
|
+
* @deprecated Use getReadyFocuses instead. Kept for backward compatibility.
|
|
7
7
|
* Get deliveries ready for agent work (assigned to role, no active session).
|
|
8
8
|
*/
|
|
9
9
|
export declare function getReadyDeliveries(_organizationId: string, productId?: string): Promise<Array<{
|
|
@@ -16,7 +16,7 @@ export declare function getReadyDeliveries(_organizationId: string, productId?:
|
|
|
16
16
|
/**
|
|
17
17
|
* Get full delivery context including product, context groups, and tasks.
|
|
18
18
|
*
|
|
19
|
-
* Note: The API returns camelCase fields for nested objects (product,
|
|
19
|
+
* Note: The API returns camelCase fields for nested objects (product, focus,
|
|
20
20
|
* issues). The validated result is cast to DeliveryContext, preserving the
|
|
21
21
|
* existing runtime behavior where camelCase field names are used.
|
|
22
22
|
*/
|
|
@@ -34,19 +34,19 @@ export declare function getDoneDeliveries(_organizationId: string, productId?: s
|
|
|
34
34
|
delivery_id: string;
|
|
35
35
|
delivery_name: string;
|
|
36
36
|
product_id: string | null;
|
|
37
|
-
|
|
37
|
+
focus_id: string | null;
|
|
38
38
|
pipeline_config: PipelineConfig | null;
|
|
39
39
|
}>>;
|
|
40
40
|
/**
|
|
41
|
-
* Get
|
|
42
|
-
* Returns the next ready delivery per
|
|
41
|
+
* Get focuses with agent assignments that have ready deliveries.
|
|
42
|
+
* Returns the next ready delivery per focus.
|
|
43
43
|
*
|
|
44
|
-
* delivery_id and delivery_name are null when the
|
|
44
|
+
* delivery_id and delivery_name are null when the focus has zero
|
|
45
45
|
* deliveries -- the team is expected to scope deliveries as its first act.
|
|
46
46
|
*/
|
|
47
|
-
export declare function
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
export declare function getReadyFocuses(_organizationId: string, productId?: string): Promise<Array<{
|
|
48
|
+
focus_id: string;
|
|
49
|
+
focus_name: string;
|
|
50
50
|
delivery_id: string | null;
|
|
51
51
|
delivery_name: string | null;
|
|
52
52
|
product_id: string | null;
|
|
@@ -57,17 +57,17 @@ export declare function getReadyStrategies(_organizationId: string, productId?:
|
|
|
57
57
|
agent_role_name: string;
|
|
58
58
|
}>>;
|
|
59
59
|
/**
|
|
60
|
-
* Get
|
|
60
|
+
* Get focuses with agent role assignments that are active.
|
|
61
61
|
*
|
|
62
|
-
* Unlike
|
|
63
|
-
* Returns all
|
|
64
|
-
* Used by the
|
|
62
|
+
* Unlike getReadyFocuses(), this does NOT filter by delivery state.
|
|
63
|
+
* Returns all focuses with status='active' and an assigned agent role.
|
|
64
|
+
* Used by the focus lifecycle to determine which worktrees to keep alive
|
|
65
65
|
* (QA environments, idle queues waiting for new deliveries, etc.) and by
|
|
66
66
|
* orphan worktree cleanup to avoid incorrectly removing active worktrees.
|
|
67
67
|
*/
|
|
68
|
-
export declare function
|
|
69
|
-
|
|
70
|
-
|
|
68
|
+
export declare function getActiveFocuses(_organizationId: string, productId?: string): Promise<Array<{
|
|
69
|
+
focus_id: string;
|
|
70
|
+
focus_name: string;
|
|
71
71
|
status: string;
|
|
72
72
|
product_id: string | null;
|
|
73
73
|
pipeline_config: PipelineConfig | null;
|
|
@@ -75,23 +75,24 @@ export declare function getActiveStrategies(_organizationId: string, productId?:
|
|
|
75
75
|
assigned_agent_role_id: string | null;
|
|
76
76
|
agent_role_name: string | null;
|
|
77
77
|
current_workflow_stage_id: string | null;
|
|
78
|
+
review_requested_at: string | null;
|
|
78
79
|
}>>;
|
|
79
80
|
/**
|
|
80
81
|
* Write the squash merge commit SHA to a delivery record.
|
|
81
82
|
*
|
|
82
|
-
* Called after a successful delivery→
|
|
83
|
+
* Called after a successful delivery→focus squash merge so the
|
|
83
84
|
* commit can be traced back to the delivery.
|
|
84
85
|
*/
|
|
85
86
|
export declare function updateDeliveryMergeCommitSha(deliveryId: string, commitSha: string): Promise<void>;
|
|
86
87
|
/**
|
|
87
|
-
* Record a
|
|
88
|
+
* Record a focus merge in the focus_merges table.
|
|
88
89
|
*
|
|
89
90
|
* Fire-and-forget: the caller catches errors. Uses ON CONFLICT DO NOTHING
|
|
90
|
-
* on (
|
|
91
|
+
* on (focus_id, merge_commit_sha) for deduplication.
|
|
91
92
|
*/
|
|
92
|
-
export declare function
|
|
93
|
+
export declare function recordFocusMerge(params: {
|
|
93
94
|
organizationId: string;
|
|
94
|
-
|
|
95
|
+
focusId: string;
|
|
95
96
|
mergeCommitSha: string;
|
|
96
97
|
commitShas: string[];
|
|
97
98
|
branchName: string;
|
|
@@ -112,7 +113,7 @@ export declare function getMergeConflictDeliveries(_organizationId: string, prod
|
|
|
112
113
|
delivery_id: string;
|
|
113
114
|
delivery_name: string;
|
|
114
115
|
git_branch_name: string | null;
|
|
115
|
-
|
|
116
|
+
focus_id: string | null;
|
|
116
117
|
pipeline_config: PipelineConfig | null;
|
|
117
118
|
}>>;
|
|
118
119
|
//# sourceMappingURL=deliveries.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deliveries.d.ts","sourceRoot":"","sources":["../../src/queries/deliveries.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAY,eAAe,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA4BvF;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IACnG,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC,CAAC,CAeF;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAkB5F;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,GACrC,OAAO,CAAC,IAAI,CAAC,CASf;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAClG,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,
|
|
1
|
+
{"version":3,"file":"deliveries.d.ts","sourceRoot":"","sources":["../../src/queries/deliveries.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAY,eAAe,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA4BvF;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IACnG,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC,CAAC,CAeF;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAkB5F;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,GACrC,OAAO,CAAC,IAAI,CAAC,CASf;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAClG,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,eAAe,EAAE,cAAc,GAAG,IAAI,CAAC;CACxC,CAAC,CAAC,CAcF;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAChG,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,SAAS,EAAE,OAAO,CAAC;IACnB,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC,CAAC,CAmBF;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IACjG,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,SAAS,EAAE,OAAO,CAAC;IACnB,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC,CAAC,CAAC,CAmBF;AAED;;;;;GAKG;AACH,wBAAsB,4BAA4B,CAChD,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE;IAC7C,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,IAAI,CAAC,CAUhB;AASD;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,QAAQ,EAClB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CAmBf;AAED;;;GAGG;AACH,wBAAsB,0BAA0B,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAC3G,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,eAAe,EAAE,cAAc,GAAG,IAAI,CAAC;CACxC,CAAC,CAAC,CAcF"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Delivery and
|
|
2
|
+
* Delivery and focus queries.
|
|
3
3
|
*/
|
|
4
4
|
import { callApi, callApiValidated, createTransform } from './shared.js';
|
|
5
|
-
import { ReadyDeliveriesResponseSchema, DeliveryContextResponseSchema, DoneDeliveriesResponseSchema,
|
|
5
|
+
import { ReadyDeliveriesResponseSchema, DeliveryContextResponseSchema, DoneDeliveriesResponseSchema, ReadyFocusesResponseSchema, ActiveFocusesResponseSchema, MergeConflictDeliveriesResponseSchema, } from './schemas.js';
|
|
6
6
|
const transformDeliveryFromApi = createTransform({
|
|
7
7
|
id: 'id',
|
|
8
8
|
name: 'name',
|
|
@@ -15,7 +15,7 @@ const transformDeliveryFromApi = createTransform({
|
|
|
15
15
|
agent_assigned_at: 'agentAssignedAt',
|
|
16
16
|
});
|
|
17
17
|
/**
|
|
18
|
-
* @deprecated Use
|
|
18
|
+
* @deprecated Use getReadyFocuses instead. Kept for backward compatibility.
|
|
19
19
|
* Get deliveries ready for agent work (assigned to role, no active session).
|
|
20
20
|
*/
|
|
21
21
|
export async function getReadyDeliveries(_organizationId, productId) {
|
|
@@ -32,7 +32,7 @@ export async function getReadyDeliveries(_organizationId, productId) {
|
|
|
32
32
|
/**
|
|
33
33
|
* Get full delivery context including product, context groups, and tasks.
|
|
34
34
|
*
|
|
35
|
-
* Note: The API returns camelCase fields for nested objects (product,
|
|
35
|
+
* Note: The API returns camelCase fields for nested objects (product, focus,
|
|
36
36
|
* issues). The validated result is cast to DeliveryContext, preserving the
|
|
37
37
|
* existing runtime behavior where camelCase field names are used.
|
|
38
38
|
*/
|
|
@@ -76,22 +76,22 @@ export async function getDoneDeliveries(_organizationId, productId) {
|
|
|
76
76
|
delivery_id: d.deliveryId,
|
|
77
77
|
delivery_name: d.deliveryName,
|
|
78
78
|
product_id: d.productId,
|
|
79
|
-
|
|
79
|
+
focus_id: d.focusId,
|
|
80
80
|
pipeline_config: d.pipelineConfig ?? null,
|
|
81
81
|
}));
|
|
82
82
|
}
|
|
83
83
|
/**
|
|
84
|
-
* Get
|
|
85
|
-
* Returns the next ready delivery per
|
|
84
|
+
* Get focuses with agent assignments that have ready deliveries.
|
|
85
|
+
* Returns the next ready delivery per focus.
|
|
86
86
|
*
|
|
87
|
-
* delivery_id and delivery_name are null when the
|
|
87
|
+
* delivery_id and delivery_name are null when the focus has zero
|
|
88
88
|
* deliveries -- the team is expected to scope deliveries as its first act.
|
|
89
89
|
*/
|
|
90
|
-
export async function
|
|
91
|
-
const result = await callApiValidated('
|
|
92
|
-
return result.
|
|
93
|
-
|
|
94
|
-
|
|
90
|
+
export async function getReadyFocuses(_organizationId, productId) {
|
|
91
|
+
const result = await callApiValidated('daemon_get_ready_focuses', ReadyFocusesResponseSchema, productId ? { productId } : {});
|
|
92
|
+
return result.focuses.map((s) => ({
|
|
93
|
+
focus_id: s.focusId,
|
|
94
|
+
focus_name: s.focusName,
|
|
95
95
|
delivery_id: s.deliveryId,
|
|
96
96
|
delivery_name: s.deliveryName,
|
|
97
97
|
product_id: s.productId,
|
|
@@ -103,19 +103,19 @@ export async function getReadyStrategies(_organizationId, productId) {
|
|
|
103
103
|
}));
|
|
104
104
|
}
|
|
105
105
|
/**
|
|
106
|
-
* Get
|
|
106
|
+
* Get focuses with agent role assignments that are active.
|
|
107
107
|
*
|
|
108
|
-
* Unlike
|
|
109
|
-
* Returns all
|
|
110
|
-
* Used by the
|
|
108
|
+
* Unlike getReadyFocuses(), this does NOT filter by delivery state.
|
|
109
|
+
* Returns all focuses with status='active' and an assigned agent role.
|
|
110
|
+
* Used by the focus lifecycle to determine which worktrees to keep alive
|
|
111
111
|
* (QA environments, idle queues waiting for new deliveries, etc.) and by
|
|
112
112
|
* orphan worktree cleanup to avoid incorrectly removing active worktrees.
|
|
113
113
|
*/
|
|
114
|
-
export async function
|
|
115
|
-
const result = await callApiValidated('
|
|
116
|
-
return result.
|
|
117
|
-
|
|
118
|
-
|
|
114
|
+
export async function getActiveFocuses(_organizationId, productId) {
|
|
115
|
+
const result = await callApiValidated('daemon_get_active_focuses', ActiveFocusesResponseSchema, productId ? { productId } : {});
|
|
116
|
+
return result.focuses.map((s) => ({
|
|
117
|
+
focus_id: s.focusId,
|
|
118
|
+
focus_name: s.focusName,
|
|
119
119
|
status: s.status ?? 'active',
|
|
120
120
|
product_id: s.productId,
|
|
121
121
|
pipeline_config: s.pipelineConfig ?? null,
|
|
@@ -123,12 +123,13 @@ export async function getActiveStrategies(_organizationId, productId) {
|
|
|
123
123
|
assigned_agent_role_id: s.assignedAgentRoleId,
|
|
124
124
|
agent_role_name: s.agentRoleName,
|
|
125
125
|
current_workflow_stage_id: s.currentWorkflowStageId ?? null,
|
|
126
|
+
review_requested_at: s.reviewRequestedAt ?? null,
|
|
126
127
|
}));
|
|
127
128
|
}
|
|
128
129
|
/**
|
|
129
130
|
* Write the squash merge commit SHA to a delivery record.
|
|
130
131
|
*
|
|
131
|
-
* Called after a successful delivery→
|
|
132
|
+
* Called after a successful delivery→focus squash merge so the
|
|
132
133
|
* commit can be traced back to the delivery.
|
|
133
134
|
*/
|
|
134
135
|
export async function updateDeliveryMergeCommitSha(deliveryId, commitSha) {
|
|
@@ -138,14 +139,14 @@ export async function updateDeliveryMergeCommitSha(deliveryId, commitSha) {
|
|
|
138
139
|
});
|
|
139
140
|
}
|
|
140
141
|
/**
|
|
141
|
-
* Record a
|
|
142
|
+
* Record a focus merge in the focus_merges table.
|
|
142
143
|
*
|
|
143
144
|
* Fire-and-forget: the caller catches errors. Uses ON CONFLICT DO NOTHING
|
|
144
|
-
* on (
|
|
145
|
+
* on (focus_id, merge_commit_sha) for deduplication.
|
|
145
146
|
*/
|
|
146
|
-
export async function
|
|
147
|
-
await callApi('
|
|
148
|
-
|
|
147
|
+
export async function recordFocusMerge(params) {
|
|
148
|
+
await callApi('daemon_record_focus_merge', {
|
|
149
|
+
focusId: params.focusId,
|
|
149
150
|
fields: {
|
|
150
151
|
mergeCommitSha: params.mergeCommitSha,
|
|
151
152
|
commitShas: params.commitShas,
|
|
@@ -199,7 +200,7 @@ export async function getMergeConflictDeliveries(_organizationId, productId) {
|
|
|
199
200
|
delivery_id: d.deliveryId,
|
|
200
201
|
delivery_name: d.deliveryName,
|
|
201
202
|
git_branch_name: d.gitBranchName,
|
|
202
|
-
|
|
203
|
+
focus_id: d.focusId,
|
|
203
204
|
pipeline_config: d.pipelineConfig ?? null,
|
|
204
205
|
}));
|
|
205
206
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deliveries.js","sourceRoot":"","sources":["../../src/queries/deliveries.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAEL,6BAA6B,EAC7B,6BAA6B,EAC7B,4BAA4B,EAC5B,
|
|
1
|
+
{"version":3,"file":"deliveries.js","sourceRoot":"","sources":["../../src/queries/deliveries.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Focus-level queries for team execution.
|
|
3
|
+
*
|
|
4
|
+
* Fetches all deliveries and issues for a focus so the team lead
|
|
5
|
+
* can build a complete task DAG.
|
|
6
|
+
*/
|
|
7
|
+
import type { FocusDeliveryInfo, FocusIssueInfo, StageDirective, Workflow } from '../types.js';
|
|
8
|
+
/**
|
|
9
|
+
* A wiki page providing background information for AI agents.
|
|
10
|
+
*
|
|
11
|
+
* Currently returned as an empty list; the next delivery wires the
|
|
12
|
+
* resolver into wiki_search.
|
|
13
|
+
*/
|
|
14
|
+
export interface ProductContextDoc {
|
|
15
|
+
title: string;
|
|
16
|
+
content: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Fetch all deliveries for a focus, ordered by priority rank.
|
|
20
|
+
*/
|
|
21
|
+
export declare function getFocusDeliveries(focusId: string): Promise<FocusDeliveryInfo[]>;
|
|
22
|
+
/**
|
|
23
|
+
* Fetch all issues across all deliveries for a focus.
|
|
24
|
+
*/
|
|
25
|
+
export declare function getFocusIssues(focusId: string): Promise<FocusIssueInfo[]>;
|
|
26
|
+
/**
|
|
27
|
+
* Fetch wiki pages relevant to a focus.
|
|
28
|
+
*
|
|
29
|
+
* Stub: returns no pages. Wired up to wiki_search in the next delivery
|
|
30
|
+
* (Retrieval and Assembly API).
|
|
31
|
+
*/
|
|
32
|
+
export declare function getProductContextForFocus(_productId: string, _focusId: string): Promise<ProductContextDoc[]>;
|
|
33
|
+
/**
|
|
34
|
+
* Persist the Claude Code session ID on the focus row for --resume support.
|
|
35
|
+
*/
|
|
36
|
+
export declare function updateFocusClaudeSessionId(focusId: string, claudeSessionId: string): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* The deployment profile snapshot stored on a product.
|
|
39
|
+
*
|
|
40
|
+
* Derived from the deployment_profiles record at the time the profile was linked.
|
|
41
|
+
* Used to inject operating context into agent prompts without live lookups.
|
|
42
|
+
*/
|
|
43
|
+
export interface DeploymentProfileSnapshot {
|
|
44
|
+
name: string;
|
|
45
|
+
inceptionPrompt: string | null;
|
|
46
|
+
guidelines: string | null;
|
|
47
|
+
protectedPaths?: string[] | null;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Fetch the deployment profile snapshot for a product.
|
|
51
|
+
*
|
|
52
|
+
* Returns null if the product has no linked deployment profile or
|
|
53
|
+
* if the snapshot has not been stored yet.
|
|
54
|
+
*/
|
|
55
|
+
export declare function getProductDeploymentProfileSnapshot(productId: string): Promise<DeploymentProfileSnapshot | null>;
|
|
56
|
+
/**
|
|
57
|
+
* Update a focus's status and/or workflow stage.
|
|
58
|
+
* Used by the cascade engine to advance focus stages.
|
|
59
|
+
*/
|
|
60
|
+
export declare function updateFocusStatus(focusId: string, status: string, currentWorkflowStageId?: string | null, extraFields?: {
|
|
61
|
+
reviewRequestedAt?: string | null;
|
|
62
|
+
}): Promise<void>;
|
|
63
|
+
/** Clear review_requested_at without changing focus status or stage. */
|
|
64
|
+
export declare function clearReviewRequestedAt(focusId: string): Promise<void>;
|
|
65
|
+
/**
|
|
66
|
+
* A workflow stage with its optional agent directive.
|
|
67
|
+
* Mirrors WorkflowStage fields plus the directive payload used by the directive executor.
|
|
68
|
+
*/
|
|
69
|
+
export interface WorkflowStageWithDirective {
|
|
70
|
+
id: string;
|
|
71
|
+
name: string;
|
|
72
|
+
description: string | null;
|
|
73
|
+
sort_order: number;
|
|
74
|
+
is_terminal?: boolean;
|
|
75
|
+
is_agent_actionable?: boolean;
|
|
76
|
+
meta_bucket?: 'backlog' | 'active' | 'done' | null;
|
|
77
|
+
agentDirective: StageDirective | null;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Workflow with stages that include agent directives.
|
|
81
|
+
*/
|
|
82
|
+
export interface WorkflowWithDirectives {
|
|
83
|
+
id: string;
|
|
84
|
+
stages: WorkflowStageWithDirective[];
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Fetch the effective workflow for a focus, including ordered stages.
|
|
88
|
+
* Uses resolve_effective_workflow RPC to walk the assignment hierarchy.
|
|
89
|
+
* Returns stages with agentDirective for use by the directive executor.
|
|
90
|
+
*/
|
|
91
|
+
export declare function fetchFocusWorkflow(focusId: string): Promise<WorkflowWithDirectives>;
|
|
92
|
+
/**
|
|
93
|
+
* Fetch the effective workflow for a focus with transitions included.
|
|
94
|
+
* Used by the cascade engine for transition resolution.
|
|
95
|
+
*/
|
|
96
|
+
export declare function fetchFocusWorkflowWithTransitions(focusId: string): Promise<Workflow>;
|
|
97
|
+
//# sourceMappingURL=focuses.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focuses.d.ts","sourceRoot":"","sources":["../../src/queries/focuses.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAqC,MAAM,aAAa,CAAC;AAOlI;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAoBtF;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAQ/E;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAE9B;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAClC;AAED;;;;;GAKG;AACH,wBAAsB,mCAAmC,CACvD,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAM3C;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,EACtC,WAAW,CAAC,EAAE;IAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAClD,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,wEAAwE;AACxE,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK3E;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC;IACnD,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,0BAA0B,EAAE,CAAC;CACtC;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAgCzF;AAED;;;GAGG;AACH,wBAAsB,iCAAiC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CA8C1F"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Focus-level queries for team execution.
|
|
3
|
+
*
|
|
4
|
+
* Fetches all deliveries and issues for a focus so the team lead
|
|
5
|
+
* can build a complete task DAG.
|
|
6
|
+
*/
|
|
7
|
+
import { callApi, callApiValidated } from './shared.js';
|
|
8
|
+
import { FocusDeliveriesResponseSchema, FocusIssuesResponseSchema, } from './schemas.js';
|
|
9
|
+
/**
|
|
10
|
+
* Fetch all deliveries for a focus, ordered by priority rank.
|
|
11
|
+
*/
|
|
12
|
+
export async function getFocusDeliveries(focusId) {
|
|
13
|
+
const result = await callApiValidated('daemon_get_focus_deliveries', FocusDeliveriesResponseSchema, { focusId });
|
|
14
|
+
return result.deliveries.map((d) => ({
|
|
15
|
+
id: d.id,
|
|
16
|
+
name: d.name,
|
|
17
|
+
description: d.description,
|
|
18
|
+
priorityRank: d.priorityRank ?? 999,
|
|
19
|
+
executionStatus: d.executionStatus,
|
|
20
|
+
acceptanceCriteria: d.acceptanceCriteria,
|
|
21
|
+
techContext: d.techContext,
|
|
22
|
+
currentWorkflowStageId: d.currentWorkflowStageId ?? null,
|
|
23
|
+
mergeCommitSha: d.mergeCommitSha ?? null,
|
|
24
|
+
gitState: d.gitState ?? null,
|
|
25
|
+
stageDescription: d.stageDescription ?? null,
|
|
26
|
+
}));
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Fetch all issues across all deliveries for a focus.
|
|
30
|
+
*/
|
|
31
|
+
export async function getFocusIssues(focusId) {
|
|
32
|
+
const result = await callApiValidated('daemon_get_focus_issues', FocusIssuesResponseSchema, { focusId });
|
|
33
|
+
return result.issues;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Fetch wiki pages relevant to a focus.
|
|
37
|
+
*
|
|
38
|
+
* Stub: returns no pages. Wired up to wiki_search in the next delivery
|
|
39
|
+
* (Retrieval and Assembly API).
|
|
40
|
+
*/
|
|
41
|
+
export async function getProductContextForFocus(_productId, _focusId) {
|
|
42
|
+
return [];
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Persist the Claude Code session ID on the focus row for --resume support.
|
|
46
|
+
*/
|
|
47
|
+
export async function updateFocusClaudeSessionId(focusId, claudeSessionId) {
|
|
48
|
+
await callApi('daemon_update_focus_session_id', {
|
|
49
|
+
focusId,
|
|
50
|
+
claudeSessionId,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Fetch the deployment profile snapshot for a product.
|
|
55
|
+
*
|
|
56
|
+
* Returns null if the product has no linked deployment profile or
|
|
57
|
+
* if the snapshot has not been stored yet.
|
|
58
|
+
*/
|
|
59
|
+
export async function getProductDeploymentProfileSnapshot(productId) {
|
|
60
|
+
const result = await callApi('get_product_deployment_profile_snapshot', { productId });
|
|
61
|
+
return result.snapshot ?? null;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Update a focus's status and/or workflow stage.
|
|
65
|
+
* Used by the cascade engine to advance focus stages.
|
|
66
|
+
*/
|
|
67
|
+
export async function updateFocusStatus(focusId, status, currentWorkflowStageId, extraFields) {
|
|
68
|
+
const fields = { status };
|
|
69
|
+
if (currentWorkflowStageId !== undefined) {
|
|
70
|
+
fields.currentWorkflowStageId = currentWorkflowStageId;
|
|
71
|
+
}
|
|
72
|
+
if (extraFields?.reviewRequestedAt !== undefined) {
|
|
73
|
+
fields.reviewRequestedAt = extraFields.reviewRequestedAt;
|
|
74
|
+
}
|
|
75
|
+
await callApi('daemon_update_focus_status', {
|
|
76
|
+
focusId,
|
|
77
|
+
fields,
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
/** Clear review_requested_at without changing focus status or stage. */
|
|
81
|
+
export async function clearReviewRequestedAt(focusId) {
|
|
82
|
+
await callApi('daemon_update_focus_status', {
|
|
83
|
+
focusId,
|
|
84
|
+
fields: { reviewRequestedAt: null },
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Fetch the effective workflow for a focus, including ordered stages.
|
|
89
|
+
* Uses resolve_effective_workflow RPC to walk the assignment hierarchy.
|
|
90
|
+
* Returns stages with agentDirective for use by the directive executor.
|
|
91
|
+
*/
|
|
92
|
+
export async function fetchFocusWorkflow(focusId) {
|
|
93
|
+
const result = await callApi('daemon_get_focus_workflow', { focusId });
|
|
94
|
+
return {
|
|
95
|
+
id: result.workflow.id,
|
|
96
|
+
stages: result.workflow.stages.map((s) => ({
|
|
97
|
+
id: s.id,
|
|
98
|
+
name: s.name,
|
|
99
|
+
description: s.description,
|
|
100
|
+
sort_order: s.sortOrder,
|
|
101
|
+
is_terminal: s.isTerminal,
|
|
102
|
+
is_agent_actionable: s.isAgentActionable,
|
|
103
|
+
meta_bucket: s.metaBucket ?? null,
|
|
104
|
+
agentDirective: s.agentDirective ?? null,
|
|
105
|
+
})),
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Fetch the effective workflow for a focus with transitions included.
|
|
110
|
+
* Used by the cascade engine for transition resolution.
|
|
111
|
+
*/
|
|
112
|
+
export async function fetchFocusWorkflowWithTransitions(focusId) {
|
|
113
|
+
const result = await callApi('daemon_get_focus_workflow', { focusId, includeTransitions: true });
|
|
114
|
+
return {
|
|
115
|
+
id: result.workflow.id,
|
|
116
|
+
stages: result.workflow.stages.map((s) => ({
|
|
117
|
+
id: s.id,
|
|
118
|
+
name: s.name,
|
|
119
|
+
description: s.description,
|
|
120
|
+
sort_order: s.sortOrder,
|
|
121
|
+
is_terminal: s.isTerminal,
|
|
122
|
+
is_agent_actionable: s.isAgentActionable,
|
|
123
|
+
meta_bucket: s.metaBucket ?? undefined,
|
|
124
|
+
})),
|
|
125
|
+
transitions: (result.workflow.transitions ?? []).map((t) => ({
|
|
126
|
+
id: t.id,
|
|
127
|
+
workflow_id: t.workflowId,
|
|
128
|
+
from_stage_id: t.fromStageId,
|
|
129
|
+
to_stage_id: t.toStageId,
|
|
130
|
+
name: t.name,
|
|
131
|
+
is_automatic: t.isAutomatic,
|
|
132
|
+
sort_order: t.sortOrder,
|
|
133
|
+
})),
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=focuses.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focuses.js","sourceRoot":"","sources":["../../src/queries/focuses.ts"],"names":[],"mappings":"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"}
|
package/dist/queries/index.d.ts
CHANGED
|
@@ -7,13 +7,13 @@
|
|
|
7
7
|
export { initSupabase } from './shared.js';
|
|
8
8
|
export { getAgentRoles, getAgentRole } from './roles.js';
|
|
9
9
|
export { getActiveSessions, getActiveSessionCountByRole, createSession, updateSession, } from './sessions.js';
|
|
10
|
-
export { getReadyDeliveries, getDeliveryContext, updateDeliveryStatus, getDoneDeliveries,
|
|
10
|
+
export { getReadyDeliveries, getDeliveryContext, updateDeliveryStatus, getDoneDeliveries, getReadyFocuses, getActiveFocuses, reportGitState, } from './deliveries.js';
|
|
11
11
|
export { fetchEffectiveWorkflow, fetchEffectiveWorkflowWithTransitions } from './workflows.js';
|
|
12
12
|
export { getDeliveryIssues, getDeliverySessionCount, updateIssueStatus, createEscalation, createIssue, } from './issues.js';
|
|
13
13
|
export { sendHeartbeat, sendDisconnect } from './daemon-connection.js';
|
|
14
14
|
export { fetchTransitionGuards, createTransitionEvaluation, createTransitionBlock, getActiveTransitionBlock, getResolvedTransitionBlockForDelivery, } from './guards.js';
|
|
15
|
-
export {
|
|
16
|
-
export type { ProductContextDoc } from './
|
|
15
|
+
export { getFocusDeliveries, getFocusIssues, getProductContextForFocus, updateFocusClaudeSessionId, } from './focuses.js';
|
|
16
|
+
export type { ProductContextDoc } from './focuses.js';
|
|
17
17
|
export { getControlStateChanges, setControlStateRunning, } from './control-state.js';
|
|
18
18
|
export type { ControlStateChange } from './control-state.js';
|
|
19
19
|
export { getProductBranchConfig } from './products.js';
|