@telora/daemon 0.21.134 → 0.21.144

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (268) hide show
  1. package/build-info.json +2 -2
  2. package/dist/audit/audit-hooks.d.ts +15 -6
  3. package/dist/audit/audit-hooks.d.ts.map +1 -1
  4. package/dist/audit/audit-hooks.js +56 -28
  5. package/dist/audit/audit-hooks.js.map +1 -1
  6. package/dist/ci/ci-escalation.js +1 -1
  7. package/dist/ci/ci-escalation.js.map +1 -1
  8. package/dist/ci/ci-sensor-loop.d.ts +24 -0
  9. package/dist/ci/ci-sensor-loop.d.ts.map +1 -1
  10. package/dist/ci/ci-sensor-loop.js +35 -9
  11. package/dist/ci/ci-sensor-loop.js.map +1 -1
  12. package/dist/cli/connect/config-write.d.ts +87 -0
  13. package/dist/cli/connect/config-write.d.ts.map +1 -0
  14. package/dist/cli/connect/config-write.js +255 -0
  15. package/dist/cli/connect/config-write.js.map +1 -0
  16. package/dist/cli/connect/registration.d.ts +76 -0
  17. package/dist/cli/connect/registration.d.ts.map +1 -0
  18. package/dist/cli/connect/registration.js +207 -0
  19. package/dist/cli/connect/registration.js.map +1 -0
  20. package/dist/cli/connect.d.ts +3 -141
  21. package/dist/cli/connect.d.ts.map +1 -1
  22. package/dist/cli/connect.js +9 -441
  23. package/dist/cli/connect.js.map +1 -1
  24. package/dist/completion/coverage-stabilized.d.ts +1 -1
  25. package/dist/completion/coverage-stabilized.d.ts.map +1 -1
  26. package/dist/completion/coverage-stabilized.js +1 -1
  27. package/dist/completion/coverage-stabilized.js.map +1 -1
  28. package/dist/completion/escalation-provenance.d.ts +2 -1
  29. package/dist/completion/escalation-provenance.d.ts.map +1 -1
  30. package/dist/completion/escalation-provenance.js +2 -1
  31. package/dist/completion/escalation-provenance.js.map +1 -1
  32. package/dist/completion/escalations.js +1 -1
  33. package/dist/completion/escalations.js.map +1 -1
  34. package/dist/completion/event-escalations.d.ts +1 -1
  35. package/dist/completion/event-escalations.d.ts.map +1 -1
  36. package/dist/completion/event-escalations.js +1 -1
  37. package/dist/completion/event-escalations.js.map +1 -1
  38. package/dist/completion/event.d.ts +1 -1
  39. package/dist/completion/event.d.ts.map +1 -1
  40. package/dist/completion/event.js +2 -2
  41. package/dist/completion/event.js.map +1 -1
  42. package/dist/completion/machine-remediable-demotion.d.ts +1 -1
  43. package/dist/completion/machine-remediable-demotion.d.ts.map +1 -1
  44. package/dist/completion/machine-remediable-demotion.js +2 -1
  45. package/dist/completion/machine-remediable-demotion.js.map +1 -1
  46. package/dist/completion/read-only-pristine.d.ts +1 -1
  47. package/dist/completion/read-only-pristine.d.ts.map +1 -1
  48. package/dist/completion/read-only-pristine.js +1 -1
  49. package/dist/completion/read-only-pristine.js.map +1 -1
  50. package/dist/completion/review-exit-escalations.d.ts +1 -1
  51. package/dist/completion/review-exit-escalations.d.ts.map +1 -1
  52. package/dist/completion/review-exit-phase.d.ts +5 -2
  53. package/dist/completion/review-exit-phase.d.ts.map +1 -1
  54. package/dist/completion/review-exit-phase.js +5 -2
  55. package/dist/completion/review-exit-phase.js.map +1 -1
  56. package/dist/completion/state-cascade.js +1 -1
  57. package/dist/completion/state-cascade.js.map +1 -1
  58. package/dist/completion/status-advance-phase.d.ts.map +1 -1
  59. package/dist/completion/status-advance-phase.js +2 -1
  60. package/dist/completion/status-advance-phase.js.map +1 -1
  61. package/dist/completion/team-lifecycle.d.ts.map +1 -1
  62. package/dist/completion/team-lifecycle.js +2 -1
  63. package/dist/completion/team-lifecycle.js.map +1 -1
  64. package/dist/delivery/delivery-advance-block.d.ts +1 -1
  65. package/dist/delivery/delivery-advance-block.d.ts.map +1 -1
  66. package/dist/delivery/delivery-advance-block.js +1 -1
  67. package/dist/delivery/delivery-advance-block.js.map +1 -1
  68. package/dist/delivery/delivery-lifecycle.js +1 -1
  69. package/dist/delivery/delivery-lifecycle.js.map +1 -1
  70. package/dist/delivery/delivery-merge-ops.js +1 -1
  71. package/dist/delivery/delivery-merge-ops.js.map +1 -1
  72. package/dist/delivery/delivery-reconciler-shadow.d.ts +1 -1
  73. package/dist/delivery/delivery-reconciler-shadow.d.ts.map +1 -1
  74. package/dist/delivery/delivery-reconciler-shadow.js +1 -1
  75. package/dist/delivery/delivery-reconciler-shadow.js.map +1 -1
  76. package/dist/delivery/operator-hold.d.ts +1 -1
  77. package/dist/delivery/operator-hold.d.ts.map +1 -1
  78. package/dist/delivery/paused-revival.d.ts.map +1 -1
  79. package/dist/delivery/paused-revival.js +2 -1
  80. package/dist/delivery/paused-revival.js.map +1 -1
  81. package/dist/directive/directive-dispatch.d.ts +1 -1
  82. package/dist/directive/directive-dispatch.d.ts.map +1 -1
  83. package/dist/directive/directive-dispatch.js +1 -1
  84. package/dist/directive/directive-dispatch.js.map +1 -1
  85. package/dist/directive/directive-executor.js +1 -1
  86. package/dist/directive/directive-executor.js.map +1 -1
  87. package/dist/drift/staleness-sensor.js +1 -1
  88. package/dist/drift/staleness-sensor.js.map +1 -1
  89. package/dist/focus/focus-engine.js +3 -2
  90. package/dist/focus/focus-engine.js.map +1 -1
  91. package/dist/focus/focus-lifecycle.d.ts.map +1 -1
  92. package/dist/focus/focus-lifecycle.js +2 -1
  93. package/dist/focus/focus-lifecycle.js.map +1 -1
  94. package/dist/focus/focus-respawn-guard.d.ts +1 -1
  95. package/dist/focus/focus-respawn-guard.d.ts.map +1 -1
  96. package/dist/focus/focus-respawn-guard.js +1 -1
  97. package/dist/focus/focus-respawn-guard.js.map +1 -1
  98. package/dist/focus/listener-auto-advance.d.ts +4 -45
  99. package/dist/focus/listener-auto-advance.d.ts.map +1 -1
  100. package/dist/focus/listener-auto-advance.js +5 -238
  101. package/dist/focus/listener-auto-advance.js.map +1 -1
  102. package/dist/focus/listener-spawn.d.ts +62 -0
  103. package/dist/focus/listener-spawn.d.ts.map +1 -0
  104. package/dist/focus/listener-spawn.js +418 -0
  105. package/dist/focus/listener-spawn.js.map +1 -0
  106. package/dist/focus/listener-state.d.ts +57 -0
  107. package/dist/focus/listener-state.d.ts.map +1 -0
  108. package/dist/focus/listener-state.js +63 -0
  109. package/dist/focus/listener-state.js.map +1 -0
  110. package/dist/focus/listener.d.ts +0 -58
  111. package/dist/focus/listener.d.ts.map +1 -1
  112. package/dist/focus/listener.js +25 -453
  113. package/dist/focus/listener.js.map +1 -1
  114. package/dist/focus/verify-open-issues.d.ts +62 -0
  115. package/dist/focus/verify-open-issues.d.ts.map +1 -0
  116. package/dist/focus/verify-open-issues.js +265 -0
  117. package/dist/focus/verify-open-issues.js.map +1 -0
  118. package/dist/focus-stage-lifecycle/index.d.ts +1 -1
  119. package/dist/focus-stage-lifecycle/index.d.ts.map +1 -1
  120. package/dist/focus-stage-lifecycle/index.js +1 -1
  121. package/dist/focus-stage-lifecycle/index.js.map +1 -1
  122. package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts +1 -1
  123. package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts.map +1 -1
  124. package/dist/focus-stage-lifecycle/wedge-watchdog.js +1 -1
  125. package/dist/focus-stage-lifecycle/wedge-watchdog.js.map +1 -1
  126. package/dist/git/index.d.ts +2 -0
  127. package/dist/git/index.d.ts.map +1 -1
  128. package/dist/git/index.js +2 -0
  129. package/dist/git/index.js.map +1 -1
  130. package/dist/git/merge-strategies.d.ts +80 -0
  131. package/dist/git/merge-strategies.d.ts.map +1 -0
  132. package/dist/git/merge-strategies.js +218 -0
  133. package/dist/git/merge-strategies.js.map +1 -0
  134. package/dist/git/merge-to-main.d.ts +76 -0
  135. package/dist/git/merge-to-main.d.ts.map +1 -0
  136. package/dist/git/merge-to-main.js +256 -0
  137. package/dist/git/merge-to-main.js.map +1 -0
  138. package/dist/git/merge.d.ts +27 -81
  139. package/dist/git/merge.d.ts.map +1 -1
  140. package/dist/git/merge.js +4 -448
  141. package/dist/git/merge.js.map +1 -1
  142. package/dist/git/state-detector.js +1 -1
  143. package/dist/git/state-detector.js.map +1 -1
  144. package/dist/loops/engine.js +1 -1
  145. package/dist/loops/engine.js.map +1 -1
  146. package/dist/merge/focus-merge.d.ts +1 -1
  147. package/dist/merge/focus-merge.d.ts.map +1 -1
  148. package/dist/merge/focus-merge.js +1 -1
  149. package/dist/merge/focus-merge.js.map +1 -1
  150. package/dist/merge/merge-back-loop.d.ts +1 -1
  151. package/dist/merge/merge-back-loop.d.ts.map +1 -1
  152. package/dist/merge/merge-back-loop.js +2 -2
  153. package/dist/merge/merge-back-loop.js.map +1 -1
  154. package/dist/merge/merge-detector.js +1 -1
  155. package/dist/merge/merge-detector.js.map +1 -1
  156. package/dist/nexus/return.js +1 -1
  157. package/dist/nexus/return.js.map +1 -1
  158. package/dist/prd/controller-shared.d.ts +223 -0
  159. package/dist/prd/controller-shared.d.ts.map +1 -0
  160. package/dist/prd/controller-shared.js +77 -0
  161. package/dist/prd/controller-shared.js.map +1 -0
  162. package/dist/prd/controller.d.ts +5 -256
  163. package/dist/prd/controller.d.ts.map +1 -1
  164. package/dist/prd/controller.js +9 -166
  165. package/dist/prd/controller.js.map +1 -1
  166. package/dist/prd/done-sweep.d.ts +55 -0
  167. package/dist/prd/done-sweep.d.ts.map +1 -0
  168. package/dist/prd/done-sweep.js +112 -0
  169. package/dist/prd/done-sweep.js.map +1 -0
  170. package/dist/prompt-sections/execution-sections.d.ts +1 -1
  171. package/dist/prompt-sections/execution-sections.d.ts.map +1 -1
  172. package/dist/prompt-sections/execution-sections.js +12 -2
  173. package/dist/prompt-sections/execution-sections.js.map +1 -1
  174. package/dist/prompt-sections/shared.d.ts +1 -1
  175. package/dist/prompt-sections/shared.d.ts.map +1 -1
  176. package/dist/queries/agent-resolvable-promotion.d.ts +1 -1
  177. package/dist/queries/agent-resolvable-promotion.d.ts.map +1 -1
  178. package/dist/queries/agent-resolvable-promotion.js +2 -1
  179. package/dist/queries/agent-resolvable-promotion.js.map +1 -1
  180. package/dist/queries/deliveries.d.ts +0 -195
  181. package/dist/queries/deliveries.d.ts.map +1 -1
  182. package/dist/queries/deliveries.js +1 -83
  183. package/dist/queries/deliveries.js.map +1 -1
  184. package/dist/queries/escalation-consumption.d.ts +120 -0
  185. package/dist/queries/escalation-consumption.d.ts.map +1 -0
  186. package/dist/queries/escalation-consumption.js +143 -0
  187. package/dist/queries/escalation-consumption.js.map +1 -0
  188. package/dist/queries/escalation-dispositions.d.ts +19 -0
  189. package/dist/queries/escalation-dispositions.d.ts.map +1 -0
  190. package/dist/queries/escalation-dispositions.js +18 -0
  191. package/dist/queries/escalation-dispositions.js.map +1 -0
  192. package/dist/queries/escalation-suppression.d.ts +1 -1
  193. package/dist/queries/escalation-suppression.d.ts.map +1 -1
  194. package/dist/queries/escalation-suppression.js +1 -1
  195. package/dist/queries/escalation-suppression.js.map +1 -1
  196. package/dist/queries/escalations.d.ts +343 -0
  197. package/dist/queries/escalations.d.ts.map +1 -0
  198. package/dist/queries/escalations.js +493 -0
  199. package/dist/queries/escalations.js.map +1 -0
  200. package/dist/queries/focus-discovery.d.ts +204 -0
  201. package/dist/queries/focus-discovery.d.ts.map +1 -0
  202. package/dist/queries/focus-discovery.js +92 -0
  203. package/dist/queries/focus-discovery.js.map +1 -0
  204. package/dist/queries/index.d.ts +4 -2
  205. package/dist/queries/index.d.ts.map +1 -1
  206. package/dist/queries/index.js +4 -2
  207. package/dist/queries/index.js.map +1 -1
  208. package/dist/queries/issues.d.ts +8 -436
  209. package/dist/queries/issues.d.ts.map +1 -1
  210. package/dist/queries/issues.js +7 -615
  211. package/dist/queries/issues.js.map +1 -1
  212. package/dist/resolvers/agent-escalations.d.ts +20 -0
  213. package/dist/resolvers/agent-escalations.d.ts.map +1 -1
  214. package/dist/resolvers/agent-escalations.js +40 -10
  215. package/dist/resolvers/agent-escalations.js.map +1 -1
  216. package/dist/resolvers/index.d.ts +2 -2
  217. package/dist/resolvers/index.d.ts.map +1 -1
  218. package/dist/resolvers/index.js +1 -1
  219. package/dist/resolvers/index.js.map +1 -1
  220. package/dist/resolvers/shared/git-diff.d.ts +99 -18
  221. package/dist/resolvers/shared/git-diff.d.ts.map +1 -1
  222. package/dist/resolvers/shared/git-diff.js +98 -27
  223. package/dist/resolvers/shared/git-diff.js.map +1 -1
  224. package/dist/shell/control-state.d.ts +1 -1
  225. package/dist/shell/control-state.d.ts.map +1 -1
  226. package/dist/shell/control-state.js +1 -1
  227. package/dist/shell/control-state.js.map +1 -1
  228. package/dist/shell/crash-recovery.d.ts +1 -1
  229. package/dist/shell/crash-recovery.d.ts.map +1 -1
  230. package/dist/shell/crash-recovery.js +2 -2
  231. package/dist/shell/crash-recovery.js.map +1 -1
  232. package/dist/shell/install-probe-tick.d.ts +1 -1
  233. package/dist/shell/install-probe-tick.d.ts.map +1 -1
  234. package/dist/shell/install-probe-tick.js +1 -1
  235. package/dist/shell/install-probe-tick.js.map +1 -1
  236. package/dist/shell/unified-shell.js +1 -1
  237. package/dist/shell/unified-shell.js.map +1 -1
  238. package/dist/spawn/model-routing.d.ts +1 -1
  239. package/dist/spawn/model-routing.d.ts.map +1 -1
  240. package/dist/spawn/model-routing.js +1 -1
  241. package/dist/spawn/model-routing.js.map +1 -1
  242. package/dist/spawn/prompt-assembly.d.ts +1 -1
  243. package/dist/spawn/prompt-assembly.d.ts.map +1 -1
  244. package/dist/spawn/prompt-assembly.js +1 -1
  245. package/dist/spawn/prompt-assembly.js.map +1 -1
  246. package/dist/spawn/spawn-decision.js +1 -1
  247. package/dist/spawn/spawn-decision.js.map +1 -1
  248. package/dist/spawn/worktree-session.d.ts +1 -1
  249. package/dist/spawn/worktree-session.d.ts.map +1 -1
  250. package/dist/spawn/worktree-session.js +1 -1
  251. package/dist/spawn/worktree-session.js.map +1 -1
  252. package/dist/templates/claude-md.d.ts +1 -1
  253. package/dist/templates/claude-md.d.ts.map +1 -1
  254. package/dist/templates/claude-md.js +12 -0
  255. package/dist/templates/claude-md.js.map +1 -1
  256. package/dist/verify/verification-default-on.d.ts +1 -1
  257. package/dist/verify/verification-default-on.d.ts.map +1 -1
  258. package/dist/verify/verification-deps.d.ts +1 -1
  259. package/dist/verify/verification-deps.d.ts.map +1 -1
  260. package/dist/verify/verification-engine.d.ts.map +1 -1
  261. package/dist/verify/verification-engine.js +20 -12
  262. package/dist/verify/verification-engine.js.map +1 -1
  263. package/dist/worktree/provision.js +1 -1
  264. package/dist/worktree/provision.js.map +1 -1
  265. package/dist/worktree/scratch-guard.d.ts.map +1 -1
  266. package/dist/worktree/scratch-guard.js +23 -2
  267. package/dist/worktree/scratch-guard.js.map +1 -1
  268. package/package.json +1 -1
@@ -0,0 +1,204 @@
1
+ /**
2
+ * Focus-DISCOVERY queries: the ready / active focus reads the poll loop uses to
3
+ * decide which focuses to spawn or keep alive. Split out of queries/deliveries.ts
4
+ * (file-size limit); distinct from queries/focuses.ts, which holds focus-DETAIL
5
+ * reads (getFocusDeliveries / getFocusIssues / scanAllFocuses). Importers
6
+ * reference this module directly (no re-export facade).
7
+ */
8
+ import type { PipelineConfig } from '../types/index.js';
9
+ import type { DeliveryAdvancementStatePersisted } from './schemas.js';
10
+ /**
11
+ * Get focuses with agent assignments that have ready deliveries.
12
+ * Returns the next ready delivery per focus.
13
+ *
14
+ * delivery_id and delivery_name are null when the focus has zero
15
+ * deliveries -- the team is expected to scope deliveries as its first act.
16
+ */
17
+ export declare function getReadyFocuses(_organizationId: string, productId?: string): Promise<Array<{
18
+ focus_id: string;
19
+ focus_name: string;
20
+ delivery_id: string | null;
21
+ delivery_name: string | null;
22
+ product_id: string | null;
23
+ pipeline_config: PipelineConfig | null;
24
+ read_only: boolean;
25
+ /** Immutable audit-origin provenance (injection #7). See isAuditPhaseFocus. */
26
+ audit_origin: boolean;
27
+ /**
28
+ * Human ratification signal (product_focuses.ratified_at). Non-null => the
29
+ * remediation plan was ratified. The execute-phase discriminator for the
30
+ * second discovery-only signal at spawn (TEL-3): an audit_origin focus that is
31
+ * NOT yet ratified spawns read-only even when read_only is absent. Null on
32
+ * backends predating the column. See isAuditPhaseFocus.
33
+ */
34
+ ratified_at: string | null;
35
+ last_claude_session_id: string | null;
36
+ /** Per-lineage session-id map (INJ-A); keyed by session lineage. */
37
+ claude_session_ids: Record<string, string>;
38
+ /** Per-focus engine override (per-pass map); null = inherit org default (D3). */
39
+ engine_override: Record<string, string | null> | null;
40
+ /**
41
+ * Per-focus selected local model (per-pass map {coding?, review?} of
42
+ * local_models ids); null = none selected. Resolved to coordinates at spawn.
43
+ */
44
+ local_model_override: Record<string, string | null> | null;
45
+ /** Org-level default engine id; null = the global default ('claude') (D3). */
46
+ org_default_engine: string | null;
47
+ assigned_agent_role_id: string;
48
+ agent_role_name: string;
49
+ /**
50
+ * Escalation answer re-arm signal. Non-null => surfaced to consume a pending
51
+ * escalation answer even with no actionable deliveries; the daemon force-spawns
52
+ * (bypassing findActionableDeliveries) and clears the flag for idempotency.
53
+ */
54
+ answer_rearm_requested_at: string | null;
55
+ /**
56
+ * Pinned git branch identity (product_focuses.branch_name). Non-null => read
57
+ * this instead of re-deriving agent/<role>/<name>-<id> from the live role, so
58
+ * a mid-flight role rename cannot change which branch spawns address. Null on
59
+ * legacy focuses / focuses whose branch has not been created yet -- the daemon
60
+ * derives-and-pins on first creation.
61
+ */
62
+ branch_name: string | null;
63
+ }>>;
64
+ /**
65
+ * Clear the escalation answer re-arm signal on a focus once the daemon has
66
+ * spawned/handled the re-arm. Set-once write (answer path) + clear-on-handle
67
+ * here = single-answer -> single-respawn idempotency.
68
+ */
69
+ export declare function clearAnswerRearm(focusId: string): Promise<void>;
70
+ /**
71
+ * Get focuses with agent role assignments that are active.
72
+ *
73
+ * Unlike getReadyFocuses(), this does NOT filter by delivery state.
74
+ * Returns all focuses with status='active' and an assigned agent role.
75
+ * Used by the focus lifecycle to determine which worktrees to keep alive
76
+ * (QA environments, idle queues waiting for new deliveries, etc.) and by
77
+ * orphan worktree cleanup to avoid incorrectly removing active worktrees.
78
+ */
79
+ export declare function getActiveFocuses(_organizationId: string, productId?: string): Promise<Array<{
80
+ focus_id: string;
81
+ focus_name: string;
82
+ /**
83
+ * Focus.description -- the apex statement consumed by the close_loop
84
+ * drift check. May be null when the focus has no description set or
85
+ * when the backend pre-dates the focus.description passthrough.
86
+ */
87
+ focus_description: string | null;
88
+ status: string;
89
+ product_id: string | null;
90
+ pipeline_config: PipelineConfig | null;
91
+ read_only: boolean;
92
+ /**
93
+ * Immutable audit-origin provenance (product_focuses.audit_origin). Second
94
+ * discovery-only signal (injection #7): true => the focus was authored as an
95
+ * audit. False on backends predating the column. See isAuditPhaseFocus.
96
+ */
97
+ audit_origin: boolean;
98
+ /**
99
+ * Human ratification signal (product_focuses.ratified_at). Non-null => the
100
+ * remediation plan was ratified. Read by the ratify-to-execute release
101
+ * (focus-stage-lifecycle): read_only && ratified_at => flip + queue held
102
+ * planning deliveries. Null on older backends or unratified focuses.
103
+ */
104
+ ratified_at: string | null;
105
+ assigned_agent_role_id: string | null;
106
+ agent_role_name: string | null;
107
+ /**
108
+ * Operator STOP marker (product_focuses.operator_stopped_at). Non-null => an
109
+ * operator halted this focus by clearing the role via the update path (the
110
+ * Play toggle), distinct from auto_terminate_focus_team()'s lifecycle clear.
111
+ * Null on backends predating the column, on a never-stopped focus, and after
112
+ * resume. Read by the null-role spawn decision so the stop wins over the
113
+ * review fallback.
114
+ */
115
+ operator_stopped_at: string | null;
116
+ current_workflow_stage_id: string | null;
117
+ review_requested_at: string | null;
118
+ /**
119
+ * Review coverage watermark (product_focuses.reviewed_through_sha). The
120
+ * branch SHA the last COMPLETED review cycle covered. Null when no review
121
+ * has completed or on backends predating the watermark migration. Read by
122
+ * evidence-bearing auto-approve (gate on watermark == branch tip) and the
123
+ * review resume-delta derivation (reviewed_through_sha..tip).
124
+ */
125
+ reviewed_through_sha: string | null;
126
+ /**
127
+ * Focus-level review-cycle churn meter (product_focuses.review_cycle_count):
128
+ * count of COMPLETED review cycles (any routed outcome, incl. auto-approve).
129
+ * 0 on backends predating the migration. Read by the review-cycle cap
130
+ * escalation (review_cycle_cap_exceeded at TELORA_REVIEW_CYCLE_CAP).
131
+ */
132
+ review_cycle_count: number;
133
+ /**
134
+ * Durable count of consecutive routes-nothing review-exit hand-offs to an
135
+ * incoming team (product_focuses.review_handoff_count). Durable rather than
136
+ * in-process so the hand-off bound survives a daemon restart -- an in-memory
137
+ * counter would look fresh each cycle and never reach the cap. 0 on backends
138
+ * predating the migration. Read by the review-exit hand-off bound; reset to 0
139
+ * on any routed review exit, and at the cap the window closes + a
140
+ * review_handoff_exhausted escalation is filed instead of re-asserting.
141
+ */
142
+ review_handoff_count: number;
143
+ /**
144
+ * Durable count of scoped shortfall-disposition passes armed while this focus
145
+ * has undisposed shortfall drift proposals (product_focuses.
146
+ * shortfall_disposition_attempts). Durable rather than in-process so the
147
+ * bound survives a daemon restart -- an in-memory counter would re-arm
148
+ * forever across restarts and never escalate. 0 on backends predating the
149
+ * migration. Read by the shortfall_undisposed cap escalation.
150
+ */
151
+ shortfall_disposition_attempts: number;
152
+ /**
153
+ * Durable spawn-cooldown teardown streak + `exhausted` latch
154
+ * (product_focuses.spawn_teardown_first_at / _last_at / _count /
155
+ * spawn_cooldown_exhausted). The daemon hydrates the in-memory spawn-cooldown
156
+ * map from these the first time it sees a focus, so a deliberate halt and a
157
+ * spent terminating budget survive a daemon re-exec. null/0/false on backends
158
+ * predating the migration or on a focus with no active streak.
159
+ */
160
+ spawn_teardown_first_at: string | null;
161
+ spawn_teardown_last_at: string | null;
162
+ spawn_teardown_count: number;
163
+ spawn_cooldown_exhausted: boolean;
164
+ /**
165
+ * Durable cross-respawn no-progress watchdog state + below-coverage drift
166
+ * budget (product_focuses.delivery_advancement_state /
167
+ * below_coverage_drift_count). The daemon hydrates the in-memory guards from
168
+ * these on first sight of a focus, so a spent terminating budget survives a
169
+ * daemon re-exec. null/0 on backends predating the migration or an unbounded
170
+ * focus.
171
+ */
172
+ delivery_advancement_state: DeliveryAdvancementStatePersisted | null;
173
+ below_coverage_drift_count: number;
174
+ /**
175
+ * Denormalized focus lifecycle stage (product_focuses.stage). The new
176
+ * stage transition detector reads this in preference to inferring phase
177
+ * from delivery aggregates plus review_requested_at; the legacy phase
178
+ * derivation is kept as a fallback for backends that have not yet
179
+ * applied the focus workflow lifecycle migration.
180
+ */
181
+ stage: string;
182
+ /**
183
+ * Per-lineage Claude session-id map (INJ-A). Empty on backends that
184
+ * predate the lineage map migration; always present after it lands.
185
+ */
186
+ claude_session_ids: Record<string, string>;
187
+ /** Per-focus engine override (per-pass map); null = inherit org default (D3). */
188
+ engine_override: Record<string, string | null> | null;
189
+ /**
190
+ * Per-focus selected local model (per-pass map of local_models ids); null =
191
+ * none selected. Resolved to coordinates at spawn.
192
+ */
193
+ local_model_override: Record<string, string | null> | null;
194
+ /** Org-level default engine id; null = the global default ('claude') (D3). */
195
+ org_default_engine: string | null;
196
+ /**
197
+ * Pinned git branch identity (product_focuses.branch_name). Non-null => the
198
+ * branch identity was pinned at first creation; consumers (worktree-dir
199
+ * resolution, orphan detection) read it instead of re-deriving from the live
200
+ * role. Null on backends predating the column / unpinned focuses.
201
+ */
202
+ branch_name: string | null;
203
+ }>>;
204
+ //# sourceMappingURL=focus-discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"focus-discovery.d.ts","sourceRoot":"","sources":["../../src/queries/focus-discovery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Focus-DISCOVERY queries: the ready / active focus reads the poll loop uses to
3
+ * decide which focuses to spawn or keep alive. Split out of queries/deliveries.ts
4
+ * (file-size limit); distinct from queries/focuses.ts, which holds focus-DETAIL
5
+ * reads (getFocusDeliveries / getFocusIssues / scanAllFocuses). Importers
6
+ * reference this module directly (no re-export facade).
7
+ */
8
+ import { callApi, callApiValidated } from './shared.js';
9
+ import { ReadyFocusesResponseSchema, ActiveFocusesResponseSchema } from './schemas.js';
10
+ /**
11
+ * Get focuses with agent assignments that have ready deliveries.
12
+ * Returns the next ready delivery per focus.
13
+ *
14
+ * delivery_id and delivery_name are null when the focus has zero
15
+ * deliveries -- the team is expected to scope deliveries as its first act.
16
+ */
17
+ export async function getReadyFocuses(_organizationId, productId) {
18
+ const result = await callApiValidated('daemon_get_ready_focuses', ReadyFocusesResponseSchema, productId ? { productId } : {});
19
+ return result.focuses.map((s) => ({
20
+ focus_id: s.focusId,
21
+ focus_name: s.focusName,
22
+ delivery_id: s.deliveryId,
23
+ delivery_name: s.deliveryName,
24
+ product_id: s.productId,
25
+ pipeline_config: s.pipelineConfig ?? null,
26
+ read_only: s.readOnly ?? false,
27
+ audit_origin: s.auditOrigin ?? false,
28
+ ratified_at: s.ratifiedAt ?? null,
29
+ last_claude_session_id: s.lastClaudeSessionId ?? null,
30
+ claude_session_ids: s.claudeSessionIds ?? {},
31
+ engine_override: s.engineOverride ?? null,
32
+ local_model_override: s.localModelOverride ?? null,
33
+ org_default_engine: s.orgDefaultEngine ?? null,
34
+ assigned_agent_role_id: s.assignedAgentRoleId,
35
+ agent_role_name: s.agentRoleName,
36
+ answer_rearm_requested_at: s.answerRearmRequestedAt ?? null,
37
+ branch_name: s.branchName ?? null,
38
+ }));
39
+ }
40
+ /**
41
+ * Clear the escalation answer re-arm signal on a focus once the daemon has
42
+ * spawned/handled the re-arm. Set-once write (answer path) + clear-on-handle
43
+ * here = single-answer -> single-respawn idempotency.
44
+ */
45
+ export async function clearAnswerRearm(focusId) {
46
+ await callApi('daemon_clear_answer_rearm', { focusId });
47
+ }
48
+ /**
49
+ * Get focuses with agent role assignments that are active.
50
+ *
51
+ * Unlike getReadyFocuses(), this does NOT filter by delivery state.
52
+ * Returns all focuses with status='active' and an assigned agent role.
53
+ * Used by the focus lifecycle to determine which worktrees to keep alive
54
+ * (QA environments, idle queues waiting for new deliveries, etc.) and by
55
+ * orphan worktree cleanup to avoid incorrectly removing active worktrees.
56
+ */
57
+ export async function getActiveFocuses(_organizationId, productId) {
58
+ const result = await callApiValidated('daemon_get_active_focuses', ActiveFocusesResponseSchema, productId ? { productId } : {});
59
+ return result.focuses.map((s) => ({
60
+ focus_id: s.focusId,
61
+ focus_name: s.focusName,
62
+ focus_description: s.focusDescription ?? null,
63
+ status: s.status ?? 'active',
64
+ product_id: s.productId,
65
+ pipeline_config: s.pipelineConfig ?? null,
66
+ read_only: s.readOnly ?? false,
67
+ audit_origin: s.auditOrigin ?? false,
68
+ ratified_at: s.ratifiedAt ?? null,
69
+ assigned_agent_role_id: s.assignedAgentRoleId,
70
+ agent_role_name: s.agentRoleName,
71
+ operator_stopped_at: s.operatorStoppedAt ?? null,
72
+ current_workflow_stage_id: s.currentWorkflowStageId ?? null,
73
+ review_requested_at: s.reviewRequestedAt ?? null,
74
+ reviewed_through_sha: s.reviewedThroughSha ?? null,
75
+ review_cycle_count: s.reviewCycleCount ?? 0,
76
+ review_handoff_count: s.reviewHandoffCount ?? 0,
77
+ shortfall_disposition_attempts: s.shortfallDispositionAttempts ?? 0,
78
+ spawn_teardown_first_at: s.spawnTeardownFirstAt ?? null,
79
+ spawn_teardown_last_at: s.spawnTeardownLastAt ?? null,
80
+ spawn_teardown_count: s.spawnTeardownCount ?? 0,
81
+ spawn_cooldown_exhausted: s.spawnCooldownExhausted ?? false,
82
+ delivery_advancement_state: s.deliveryAdvancementState ?? null,
83
+ below_coverage_drift_count: s.belowCoverageDriftCount ?? 0,
84
+ stage: s.stage ?? 'planning',
85
+ claude_session_ids: s.claudeSessionIds ?? {},
86
+ engine_override: s.engineOverride ?? null,
87
+ local_model_override: s.localModelOverride ?? null,
88
+ org_default_engine: s.orgDefaultEngine ?? null,
89
+ branch_name: s.branchName ?? null,
90
+ }));
91
+ }
92
+ //# sourceMappingURL=focus-discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"focus-discovery.js","sourceRoot":"","sources":["../../src/queries/focus-discovery.ts"],"names":[],"mappings":"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"}
@@ -7,10 +7,12 @@
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, recordDeliveryTransition, getDoneDeliveries, getReadyFocuses, getActiveFocuses, reportGitState, clearAnswerRearm, } from './deliveries.js';
10
+ export { getReadyDeliveries, getDeliveryContext, updateDeliveryStatus, recordDeliveryTransition, getDoneDeliveries, reportGitState, } from './deliveries.js';
11
11
  export type { TransitionRecord } from './deliveries.js';
12
+ export { getReadyFocuses, getActiveFocuses, clearAnswerRearm } from './focus-discovery.js';
12
13
  export { fetchEffectiveWorkflow, fetchEffectiveWorkflowWithTransitions } from './workflows.js';
13
- export { getDeliveryIssues, getDeliverySessionCount, updateIssueStatus, createEscalation, createIssue, } from './issues.js';
14
+ export { getDeliveryIssues, getDeliverySessionCount, updateIssueStatus, createIssue, } from './issues.js';
15
+ export { createEscalation } from './escalations.js';
14
16
  export { sendHeartbeat, sendDisconnect } from './daemon-connection.js';
15
17
  export { fetchTransitionGuards, createTransitionEvaluation, createTransitionBlock, getActiveTransitionBlock, getResolvedTransitionBlockForDelivery, } from './guards.js';
16
18
  export { getFocusDeliveries, getFocusIssues, updateFocusClaudeSessionId, scanAllFocuses, } from './focuses.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/queries/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/queries/index.ts"],"names":[],"mappings":"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"}
@@ -7,9 +7,11 @@
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, recordDeliveryTransition, getDoneDeliveries, getReadyFocuses, getActiveFocuses, reportGitState, clearAnswerRearm, } from './deliveries.js';
10
+ export { getReadyDeliveries, getDeliveryContext, updateDeliveryStatus, recordDeliveryTransition, getDoneDeliveries, reportGitState, } from './deliveries.js';
11
+ export { getReadyFocuses, getActiveFocuses, clearAnswerRearm } from './focus-discovery.js';
11
12
  export { fetchEffectiveWorkflow, fetchEffectiveWorkflowWithTransitions } from './workflows.js';
12
- export { getDeliveryIssues, getDeliverySessionCount, updateIssueStatus, createEscalation, createIssue, } from './issues.js';
13
+ export { getDeliveryIssues, getDeliverySessionCount, updateIssueStatus, createIssue, } from './issues.js';
14
+ export { createEscalation } from './escalations.js';
13
15
  export { sendHeartbeat, sendDisconnect } from './daemon-connection.js';
14
16
  export { fetchTransitionGuards, createTransitionEvaluation, createTransitionBlock, getActiveTransitionBlock, getResolvedTransitionBlockForDelivery, } from './guards.js';
15
17
  export { getFocusDeliveries, getFocusIssues, updateFocusClaudeSessionId, scanAllFocuses, } from './focuses.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/queries/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EACL,iBAAiB,EACjB,2BAA2B,EAC3B,aAAa,EACb,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,sBAAsB,EAAE,qCAAqC,EAAE,MAAM,gBAAgB,CAAC;AAC/F,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,qBAAqB,EACrB,wBAAwB,EACxB,qCAAqC,GACtC,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,0BAA0B,EAC1B,cAAc,GACf,MAAM,cAAc,CAAC;AAMtB,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjE,OAAO,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAEzG,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAErF,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EACL,uBAAuB,EACvB,iCAAiC,EACjC,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,mBAAmB,CAAC;AAO3B,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAEjG,OAAO,EAAE,8BAA8B,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjG,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE9E,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAExF,OAAO,EACL,6BAA6B,EAC7B,gCAAgC,GACjC,MAAM,8BAA8B,CAAC;AAEtC,8EAA8E;AAC9E,gFAAgF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/queries/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EACL,iBAAiB,EACjB,2BAA2B,EAC3B,aAAa,EACb,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EACjB,cAAc,GACf,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,sBAAsB,EAAE,qCAAqC,EAAE,MAAM,gBAAgB,CAAC;AAC/F,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,qBAAqB,EACrB,wBAAwB,EACxB,qCAAqC,GACtC,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,0BAA0B,EAC1B,cAAc,GACf,MAAM,cAAc,CAAC;AAMtB,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjE,OAAO,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAEzG,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAErF,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EACL,uBAAuB,EACvB,iCAAiC,EACjC,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,mBAAmB,CAAC;AAO3B,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAEjG,OAAO,EAAE,8BAA8B,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjG,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE9E,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAExF,OAAO,EACL,6BAA6B,EAC7B,gCAAgC,GACjC,MAAM,8BAA8B,CAAC;AAEtC,8EAA8E;AAC9E,gFAAgF"}