@telora/daemon 0.12.33

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 (473) hide show
  1. package/.env.example +64 -0
  2. package/README.md +229 -0
  3. package/build-info.json +4 -0
  4. package/dist/activity-tracker.d.ts +13 -0
  5. package/dist/activity-tracker.d.ts.map +1 -0
  6. package/dist/activity-tracker.js +19 -0
  7. package/dist/activity-tracker.js.map +1 -0
  8. package/dist/agent-state.d.ts +45 -0
  9. package/dist/agent-state.d.ts.map +1 -0
  10. package/dist/agent-state.js +61 -0
  11. package/dist/agent-state.js.map +1 -0
  12. package/dist/audit-hooks.d.ts +12 -0
  13. package/dist/audit-hooks.d.ts.map +1 -0
  14. package/dist/audit-hooks.js +45 -0
  15. package/dist/audit-hooks.js.map +1 -0
  16. package/dist/auto-update.d.ts +42 -0
  17. package/dist/auto-update.d.ts.map +1 -0
  18. package/dist/auto-update.js +96 -0
  19. package/dist/auto-update.js.map +1 -0
  20. package/dist/branch-status.d.ts +40 -0
  21. package/dist/branch-status.d.ts.map +1 -0
  22. package/dist/branch-status.js +107 -0
  23. package/dist/branch-status.js.map +1 -0
  24. package/dist/completion-detector.d.ts +87 -0
  25. package/dist/completion-detector.d.ts.map +1 -0
  26. package/dist/completion-detector.js +160 -0
  27. package/dist/completion-detector.js.map +1 -0
  28. package/dist/completion-handler.d.ts +48 -0
  29. package/dist/completion-handler.d.ts.map +1 -0
  30. package/dist/completion-handler.js +200 -0
  31. package/dist/completion-handler.js.map +1 -0
  32. package/dist/condition-evaluators.d.ts +31 -0
  33. package/dist/condition-evaluators.d.ts.map +1 -0
  34. package/dist/condition-evaluators.js +416 -0
  35. package/dist/condition-evaluators.js.map +1 -0
  36. package/dist/config.d.ts +55 -0
  37. package/dist/config.d.ts.map +1 -0
  38. package/dist/config.js +311 -0
  39. package/dist/config.js.map +1 -0
  40. package/dist/control-state.d.ts +41 -0
  41. package/dist/control-state.d.ts.map +1 -0
  42. package/dist/control-state.js +204 -0
  43. package/dist/control-state.js.map +1 -0
  44. package/dist/crash-recovery-cleanup.d.ts +21 -0
  45. package/dist/crash-recovery-cleanup.d.ts.map +1 -0
  46. package/dist/crash-recovery-cleanup.js +198 -0
  47. package/dist/crash-recovery-cleanup.js.map +1 -0
  48. package/dist/crash-recovery-scan.d.ts +19 -0
  49. package/dist/crash-recovery-scan.d.ts.map +1 -0
  50. package/dist/crash-recovery-scan.js +145 -0
  51. package/dist/crash-recovery-scan.js.map +1 -0
  52. package/dist/crash-recovery-types.d.ts +54 -0
  53. package/dist/crash-recovery-types.d.ts.map +1 -0
  54. package/dist/crash-recovery-types.js +13 -0
  55. package/dist/crash-recovery-types.js.map +1 -0
  56. package/dist/crash-recovery.d.ts +88 -0
  57. package/dist/crash-recovery.d.ts.map +1 -0
  58. package/dist/crash-recovery.js +448 -0
  59. package/dist/crash-recovery.js.map +1 -0
  60. package/dist/daemon-logs.d.ts +19 -0
  61. package/dist/daemon-logs.d.ts.map +1 -0
  62. package/dist/daemon-logs.js +81 -0
  63. package/dist/daemon-logs.js.map +1 -0
  64. package/dist/daemon-process.d.ts +154 -0
  65. package/dist/daemon-process.d.ts.map +1 -0
  66. package/dist/daemon-process.js +427 -0
  67. package/dist/daemon-process.js.map +1 -0
  68. package/dist/dag-validator.d.ts +52 -0
  69. package/dist/dag-validator.d.ts.map +1 -0
  70. package/dist/dag-validator.js +199 -0
  71. package/dist/dag-validator.js.map +1 -0
  72. package/dist/delivery-guards.d.ts +41 -0
  73. package/dist/delivery-guards.d.ts.map +1 -0
  74. package/dist/delivery-guards.js +195 -0
  75. package/dist/delivery-guards.js.map +1 -0
  76. package/dist/delivery-lifecycle.d.ts +110 -0
  77. package/dist/delivery-lifecycle.d.ts.map +1 -0
  78. package/dist/delivery-lifecycle.js +353 -0
  79. package/dist/delivery-lifecycle.js.map +1 -0
  80. package/dist/delivery-merge.d.ts +17 -0
  81. package/dist/delivery-merge.d.ts.map +1 -0
  82. package/dist/delivery-merge.js +89 -0
  83. package/dist/delivery-merge.js.map +1 -0
  84. package/dist/dependency-resolver.d.ts +77 -0
  85. package/dist/dependency-resolver.d.ts.map +1 -0
  86. package/dist/dependency-resolver.js +337 -0
  87. package/dist/dependency-resolver.js.map +1 -0
  88. package/dist/evaluation-context.d.ts +49 -0
  89. package/dist/evaluation-context.d.ts.map +1 -0
  90. package/dist/evaluation-context.js +98 -0
  91. package/dist/evaluation-context.js.map +1 -0
  92. package/dist/git-activity.d.ts +24 -0
  93. package/dist/git-activity.d.ts.map +1 -0
  94. package/dist/git-activity.js +97 -0
  95. package/dist/git-activity.js.map +1 -0
  96. package/dist/git-branch.d.ts +33 -0
  97. package/dist/git-branch.d.ts.map +1 -0
  98. package/dist/git-branch.js +88 -0
  99. package/dist/git-branch.js.map +1 -0
  100. package/dist/git-integration.d.ts +27 -0
  101. package/dist/git-integration.d.ts.map +1 -0
  102. package/dist/git-integration.js +82 -0
  103. package/dist/git-integration.js.map +1 -0
  104. package/dist/git-merge-helpers.d.ts +48 -0
  105. package/dist/git-merge-helpers.d.ts.map +1 -0
  106. package/dist/git-merge-helpers.js +105 -0
  107. package/dist/git-merge-helpers.js.map +1 -0
  108. package/dist/git-merge-lock.d.ts +67 -0
  109. package/dist/git-merge-lock.d.ts.map +1 -0
  110. package/dist/git-merge-lock.js +157 -0
  111. package/dist/git-merge-lock.js.map +1 -0
  112. package/dist/git-merge-strategies.d.ts +39 -0
  113. package/dist/git-merge-strategies.d.ts.map +1 -0
  114. package/dist/git-merge-strategies.js +127 -0
  115. package/dist/git-merge-strategies.js.map +1 -0
  116. package/dist/git-merge.d.ts +80 -0
  117. package/dist/git-merge.d.ts.map +1 -0
  118. package/dist/git-merge.js +373 -0
  119. package/dist/git-merge.js.map +1 -0
  120. package/dist/git-state-detector.d.ts +24 -0
  121. package/dist/git-state-detector.d.ts.map +1 -0
  122. package/dist/git-state-detector.js +122 -0
  123. package/dist/git-state-detector.js.map +1 -0
  124. package/dist/git-types.d.ts +40 -0
  125. package/dist/git-types.d.ts.map +1 -0
  126. package/dist/git-types.js +23 -0
  127. package/dist/git-types.js.map +1 -0
  128. package/dist/git-utils.d.ts +28 -0
  129. package/dist/git-utils.d.ts.map +1 -0
  130. package/dist/git-utils.js +57 -0
  131. package/dist/git-utils.js.map +1 -0
  132. package/dist/git.d.ts +24 -0
  133. package/dist/git.d.ts.map +1 -0
  134. package/dist/git.js +64 -0
  135. package/dist/git.js.map +1 -0
  136. package/dist/guard-engine.d.ts +19 -0
  137. package/dist/guard-engine.d.ts.map +1 -0
  138. package/dist/guard-engine.js +21 -0
  139. package/dist/guard-engine.js.map +1 -0
  140. package/dist/guard-evaluator.d.ts +47 -0
  141. package/dist/guard-evaluator.d.ts.map +1 -0
  142. package/dist/guard-evaluator.js +193 -0
  143. package/dist/guard-evaluator.js.map +1 -0
  144. package/dist/heartbeat.d.ts +73 -0
  145. package/dist/heartbeat.d.ts.map +1 -0
  146. package/dist/heartbeat.js +306 -0
  147. package/dist/heartbeat.js.map +1 -0
  148. package/dist/index.d.ts +32 -0
  149. package/dist/index.d.ts.map +1 -0
  150. package/dist/index.js +493 -0
  151. package/dist/index.js.map +1 -0
  152. package/dist/listener-auto-advance.d.ts +29 -0
  153. package/dist/listener-auto-advance.d.ts.map +1 -0
  154. package/dist/listener-auto-advance.js +172 -0
  155. package/dist/listener-auto-advance.js.map +1 -0
  156. package/dist/listener-review.d.ts +37 -0
  157. package/dist/listener-review.d.ts.map +1 -0
  158. package/dist/listener-review.js +217 -0
  159. package/dist/listener-review.js.map +1 -0
  160. package/dist/listener.d.ts +57 -0
  161. package/dist/listener.d.ts.map +1 -0
  162. package/dist/listener.js +361 -0
  163. package/dist/listener.js.map +1 -0
  164. package/dist/log-manager.d.ts +18 -0
  165. package/dist/log-manager.d.ts.map +1 -0
  166. package/dist/log-manager.js +18 -0
  167. package/dist/log-manager.js.map +1 -0
  168. package/dist/otlp-log-parser.d.ts +21 -0
  169. package/dist/otlp-log-parser.d.ts.map +1 -0
  170. package/dist/otlp-log-parser.js +143 -0
  171. package/dist/otlp-log-parser.js.map +1 -0
  172. package/dist/otlp-metric-parser.d.ts +20 -0
  173. package/dist/otlp-metric-parser.d.ts.map +1 -0
  174. package/dist/otlp-metric-parser.js +113 -0
  175. package/dist/otlp-metric-parser.js.map +1 -0
  176. package/dist/otlp-port-manager.d.ts +26 -0
  177. package/dist/otlp-port-manager.d.ts.map +1 -0
  178. package/dist/otlp-port-manager.js +130 -0
  179. package/dist/otlp-port-manager.js.map +1 -0
  180. package/dist/otlp-receiver.d.ts +51 -0
  181. package/dist/otlp-receiver.d.ts.map +1 -0
  182. package/dist/otlp-receiver.js +663 -0
  183. package/dist/otlp-receiver.js.map +1 -0
  184. package/dist/otlp-types.d.ts +92 -0
  185. package/dist/otlp-types.d.ts.map +1 -0
  186. package/dist/otlp-types.js +133 -0
  187. package/dist/otlp-types.js.map +1 -0
  188. package/dist/output-monitor.d.ts +33 -0
  189. package/dist/output-monitor.d.ts.map +1 -0
  190. package/dist/output-monitor.js +67 -0
  191. package/dist/output-monitor.js.map +1 -0
  192. package/dist/planning-prompt-builder.d.ts +67 -0
  193. package/dist/planning-prompt-builder.d.ts.map +1 -0
  194. package/dist/planning-prompt-builder.js +515 -0
  195. package/dist/planning-prompt-builder.js.map +1 -0
  196. package/dist/prompt-builder.d.ts +14 -0
  197. package/dist/prompt-builder.d.ts.map +1 -0
  198. package/dist/prompt-builder.js +174 -0
  199. package/dist/prompt-builder.js.map +1 -0
  200. package/dist/qa-crash-recovery.d.ts +77 -0
  201. package/dist/qa-crash-recovery.d.ts.map +1 -0
  202. package/dist/qa-crash-recovery.js +243 -0
  203. package/dist/qa-crash-recovery.js.map +1 -0
  204. package/dist/qa-dev-server.d.ts +73 -0
  205. package/dist/qa-dev-server.d.ts.map +1 -0
  206. package/dist/qa-dev-server.js +279 -0
  207. package/dist/qa-dev-server.js.map +1 -0
  208. package/dist/qa-orchestrator.d.ts +79 -0
  209. package/dist/qa-orchestrator.d.ts.map +1 -0
  210. package/dist/qa-orchestrator.js +349 -0
  211. package/dist/qa-orchestrator.js.map +1 -0
  212. package/dist/qa-port-allocator.d.ts +34 -0
  213. package/dist/qa-port-allocator.d.ts.map +1 -0
  214. package/dist/qa-port-allocator.js +75 -0
  215. package/dist/qa-port-allocator.js.map +1 -0
  216. package/dist/qa-provisioner.d.ts +33 -0
  217. package/dist/qa-provisioner.d.ts.map +1 -0
  218. package/dist/qa-provisioner.js +141 -0
  219. package/dist/qa-provisioner.js.map +1 -0
  220. package/dist/qa-state.d.ts +93 -0
  221. package/dist/qa-state.d.ts.map +1 -0
  222. package/dist/qa-state.js +74 -0
  223. package/dist/qa-state.js.map +1 -0
  224. package/dist/queries/control-state.d.ts +25 -0
  225. package/dist/queries/control-state.d.ts.map +1 -0
  226. package/dist/queries/control-state.js +34 -0
  227. package/dist/queries/control-state.js.map +1 -0
  228. package/dist/queries/daemon-connection.d.ts +25 -0
  229. package/dist/queries/daemon-connection.d.ts.map +1 -0
  230. package/dist/queries/daemon-connection.js +28 -0
  231. package/dist/queries/daemon-connection.js.map +1 -0
  232. package/dist/queries/deliveries.d.ts +100 -0
  233. package/dist/queries/deliveries.d.ts.map +1 -0
  234. package/dist/queries/deliveries.js +184 -0
  235. package/dist/queries/deliveries.js.map +1 -0
  236. package/dist/queries/git-activity.d.ts +20 -0
  237. package/dist/queries/git-activity.d.ts.map +1 -0
  238. package/dist/queries/git-activity.js +22 -0
  239. package/dist/queries/git-activity.js.map +1 -0
  240. package/dist/queries/guards.d.ts +47 -0
  241. package/dist/queries/guards.d.ts.map +1 -0
  242. package/dist/queries/guards.js +138 -0
  243. package/dist/queries/guards.js.map +1 -0
  244. package/dist/queries/index.d.ts +19 -0
  245. package/dist/queries/index.d.ts.map +1 -0
  246. package/dist/queries/index.js +17 -0
  247. package/dist/queries/index.js.map +1 -0
  248. package/dist/queries/issues.d.ts +41 -0
  249. package/dist/queries/issues.d.ts.map +1 -0
  250. package/dist/queries/issues.js +67 -0
  251. package/dist/queries/issues.js.map +1 -0
  252. package/dist/queries/qa.d.ts +79 -0
  253. package/dist/queries/qa.d.ts.map +1 -0
  254. package/dist/queries/qa.js +85 -0
  255. package/dist/queries/qa.js.map +1 -0
  256. package/dist/queries/roles.d.ts +13 -0
  257. package/dist/queries/roles.d.ts.map +1 -0
  258. package/dist/queries/roles.js +39 -0
  259. package/dist/queries/roles.js.map +1 -0
  260. package/dist/queries/schemas.d.ts +777 -0
  261. package/dist/queries/schemas.d.ts.map +1 -0
  262. package/dist/queries/schemas.js +391 -0
  263. package/dist/queries/schemas.js.map +1 -0
  264. package/dist/queries/sessions.d.ts +64 -0
  265. package/dist/queries/sessions.d.ts.map +1 -0
  266. package/dist/queries/sessions.js +100 -0
  267. package/dist/queries/sessions.js.map +1 -0
  268. package/dist/queries/shared.d.ts +61 -0
  269. package/dist/queries/shared.d.ts.map +1 -0
  270. package/dist/queries/shared.js +187 -0
  271. package/dist/queries/shared.js.map +1 -0
  272. package/dist/queries/strategies.d.ts +69 -0
  273. package/dist/queries/strategies.d.ts.map +1 -0
  274. package/dist/queries/strategies.js +80 -0
  275. package/dist/queries/strategies.js.map +1 -0
  276. package/dist/queries/workflows.d.ts +17 -0
  277. package/dist/queries/workflows.d.ts.map +1 -0
  278. package/dist/queries/workflows.js +49 -0
  279. package/dist/queries/workflows.js.map +1 -0
  280. package/dist/queries/worktrees.d.ts +38 -0
  281. package/dist/queries/worktrees.d.ts.map +1 -0
  282. package/dist/queries/worktrees.js +37 -0
  283. package/dist/queries/worktrees.js.map +1 -0
  284. package/dist/self-update.d.ts +94 -0
  285. package/dist/self-update.d.ts.map +1 -0
  286. package/dist/self-update.js +438 -0
  287. package/dist/self-update.js.map +1 -0
  288. package/dist/session-lifecycle.d.ts +77 -0
  289. package/dist/session-lifecycle.d.ts.map +1 -0
  290. package/dist/session-lifecycle.js +379 -0
  291. package/dist/session-lifecycle.js.map +1 -0
  292. package/dist/shutdown-state.d.ts +17 -0
  293. package/dist/shutdown-state.d.ts.map +1 -0
  294. package/dist/shutdown-state.js +22 -0
  295. package/dist/shutdown-state.js.map +1 -0
  296. package/dist/spawn-cooldown.d.ts +14 -0
  297. package/dist/spawn-cooldown.d.ts.map +1 -0
  298. package/dist/spawn-cooldown.js +34 -0
  299. package/dist/spawn-cooldown.js.map +1 -0
  300. package/dist/spawn-environment.d.ts +35 -0
  301. package/dist/spawn-environment.d.ts.map +1 -0
  302. package/dist/spawn-environment.js +48 -0
  303. package/dist/spawn-environment.js.map +1 -0
  304. package/dist/spawner-liveness.d.ts +23 -0
  305. package/dist/spawner-liveness.d.ts.map +1 -0
  306. package/dist/spawner-liveness.js +99 -0
  307. package/dist/spawner-liveness.js.map +1 -0
  308. package/dist/spawner-resolution.d.ts +27 -0
  309. package/dist/spawner-resolution.d.ts.map +1 -0
  310. package/dist/spawner-resolution.js +99 -0
  311. package/dist/spawner-resolution.js.map +1 -0
  312. package/dist/spawner-timeout.d.ts +32 -0
  313. package/dist/spawner-timeout.d.ts.map +1 -0
  314. package/dist/spawner-timeout.js +124 -0
  315. package/dist/spawner-timeout.js.map +1 -0
  316. package/dist/spawner.d.ts +77 -0
  317. package/dist/spawner.d.ts.map +1 -0
  318. package/dist/spawner.js +734 -0
  319. package/dist/spawner.js.map +1 -0
  320. package/dist/strategy-completion.d.ts +110 -0
  321. package/dist/strategy-completion.d.ts.map +1 -0
  322. package/dist/strategy-completion.js +434 -0
  323. package/dist/strategy-completion.js.map +1 -0
  324. package/dist/strategy-engine.d.ts +47 -0
  325. package/dist/strategy-engine.d.ts.map +1 -0
  326. package/dist/strategy-engine.js +419 -0
  327. package/dist/strategy-engine.js.map +1 -0
  328. package/dist/strategy-executor.d.ts +93 -0
  329. package/dist/strategy-executor.d.ts.map +1 -0
  330. package/dist/strategy-executor.js +775 -0
  331. package/dist/strategy-executor.js.map +1 -0
  332. package/dist/strategy-lifecycle.d.ts +61 -0
  333. package/dist/strategy-lifecycle.d.ts.map +1 -0
  334. package/dist/strategy-lifecycle.js +516 -0
  335. package/dist/strategy-lifecycle.js.map +1 -0
  336. package/dist/strategy-merge.d.ts +72 -0
  337. package/dist/strategy-merge.d.ts.map +1 -0
  338. package/dist/strategy-merge.js +371 -0
  339. package/dist/strategy-merge.js.map +1 -0
  340. package/dist/strategy-prompt-builder.d.ts +62 -0
  341. package/dist/strategy-prompt-builder.d.ts.map +1 -0
  342. package/dist/strategy-prompt-builder.js +538 -0
  343. package/dist/strategy-prompt-builder.js.map +1 -0
  344. package/dist/strategy-provisioning.d.ts +16 -0
  345. package/dist/strategy-provisioning.d.ts.map +1 -0
  346. package/dist/strategy-provisioning.js +119 -0
  347. package/dist/strategy-provisioning.js.map +1 -0
  348. package/dist/strategy-team-state.d.ts +24 -0
  349. package/dist/strategy-team-state.d.ts.map +1 -0
  350. package/dist/strategy-team-state.js +43 -0
  351. package/dist/strategy-team-state.js.map +1 -0
  352. package/dist/strategy-teardown.d.ts +24 -0
  353. package/dist/strategy-teardown.d.ts.map +1 -0
  354. package/dist/strategy-teardown.js +158 -0
  355. package/dist/strategy-teardown.js.map +1 -0
  356. package/dist/strategy-worktree-state.d.ts +47 -0
  357. package/dist/strategy-worktree-state.d.ts.map +1 -0
  358. package/dist/strategy-worktree-state.js +104 -0
  359. package/dist/strategy-worktree-state.js.map +1 -0
  360. package/dist/supabase.d.ts +36 -0
  361. package/dist/supabase.d.ts.map +1 -0
  362. package/dist/supabase.js +50 -0
  363. package/dist/supabase.js.map +1 -0
  364. package/dist/task-converter.d.ts +61 -0
  365. package/dist/task-converter.d.ts.map +1 -0
  366. package/dist/task-converter.js +286 -0
  367. package/dist/task-converter.js.map +1 -0
  368. package/dist/task-dag-builder.d.ts +14 -0
  369. package/dist/task-dag-builder.d.ts.map +1 -0
  370. package/dist/task-dag-builder.js +17 -0
  371. package/dist/task-dag-builder.js.map +1 -0
  372. package/dist/team-prompt-base.d.ts +114 -0
  373. package/dist/team-prompt-base.d.ts.map +1 -0
  374. package/dist/team-prompt-base.js +531 -0
  375. package/dist/team-prompt-base.js.map +1 -0
  376. package/dist/team-prompt-variants.d.ts +27 -0
  377. package/dist/team-prompt-variants.d.ts.map +1 -0
  378. package/dist/team-prompt-variants.js +134 -0
  379. package/dist/team-prompt-variants.js.map +1 -0
  380. package/dist/team-spawner.d.ts +50 -0
  381. package/dist/team-spawner.d.ts.map +1 -0
  382. package/dist/team-spawner.js +410 -0
  383. package/dist/team-spawner.js.map +1 -0
  384. package/dist/telemetry-writer.d.ts +66 -0
  385. package/dist/telemetry-writer.d.ts.map +1 -0
  386. package/dist/telemetry-writer.js +96 -0
  387. package/dist/telemetry-writer.js.map +1 -0
  388. package/dist/trigger-executor.d.ts +56 -0
  389. package/dist/trigger-executor.d.ts.map +1 -0
  390. package/dist/trigger-executor.js +313 -0
  391. package/dist/trigger-executor.js.map +1 -0
  392. package/dist/types/config.d.ts +60 -0
  393. package/dist/types/config.d.ts.map +1 -0
  394. package/dist/types/config.js +5 -0
  395. package/dist/types/config.js.map +1 -0
  396. package/dist/types/dag.d.ts +53 -0
  397. package/dist/types/dag.d.ts.map +1 -0
  398. package/dist/types/dag.js +5 -0
  399. package/dist/types/dag.js.map +1 -0
  400. package/dist/types/delivery.d.ts +71 -0
  401. package/dist/types/delivery.d.ts.map +1 -0
  402. package/dist/types/delivery.js +5 -0
  403. package/dist/types/delivery.js.map +1 -0
  404. package/dist/types/index.d.ts +15 -0
  405. package/dist/types/index.d.ts.map +1 -0
  406. package/dist/types/index.js +15 -0
  407. package/dist/types/index.js.map +1 -0
  408. package/dist/types/issue.d.ts +22 -0
  409. package/dist/types/issue.d.ts.map +1 -0
  410. package/dist/types/issue.js +5 -0
  411. package/dist/types/issue.js.map +1 -0
  412. package/dist/types/merge.d.ts +28 -0
  413. package/dist/types/merge.d.ts.map +1 -0
  414. package/dist/types/merge.js +5 -0
  415. package/dist/types/merge.js.map +1 -0
  416. package/dist/types/session.d.ts +98 -0
  417. package/dist/types/session.d.ts.map +1 -0
  418. package/dist/types/session.js +5 -0
  419. package/dist/types/session.js.map +1 -0
  420. package/dist/types/strategy.d.ts +175 -0
  421. package/dist/types/strategy.d.ts.map +1 -0
  422. package/dist/types/strategy.js +5 -0
  423. package/dist/types/strategy.js.map +1 -0
  424. package/dist/types/workflow.d.ts +34 -0
  425. package/dist/types/workflow.d.ts.map +1 -0
  426. package/dist/types/workflow.js +9 -0
  427. package/dist/types/workflow.js.map +1 -0
  428. package/dist/types.d.ts +9 -0
  429. package/dist/types.d.ts.map +1 -0
  430. package/dist/types.js +9 -0
  431. package/dist/types.js.map +1 -0
  432. package/dist/unified-init.d.ts +16 -0
  433. package/dist/unified-init.d.ts.map +1 -0
  434. package/dist/unified-init.js +183 -0
  435. package/dist/unified-init.js.map +1 -0
  436. package/dist/unified-shell-config.d.ts +34 -0
  437. package/dist/unified-shell-config.d.ts.map +1 -0
  438. package/dist/unified-shell-config.js +238 -0
  439. package/dist/unified-shell-config.js.map +1 -0
  440. package/dist/unified-shell-status.d.ts +15 -0
  441. package/dist/unified-shell-status.d.ts.map +1 -0
  442. package/dist/unified-shell-status.js +100 -0
  443. package/dist/unified-shell-status.js.map +1 -0
  444. package/dist/unified-shell.d.ts +50 -0
  445. package/dist/unified-shell.d.ts.map +1 -0
  446. package/dist/unified-shell.js +682 -0
  447. package/dist/unified-shell.js.map +1 -0
  448. package/dist/version-check.d.ts +19 -0
  449. package/dist/version-check.d.ts.map +1 -0
  450. package/dist/version-check.js +67 -0
  451. package/dist/version-check.js.map +1 -0
  452. package/dist/workflow-engine.d.ts +95 -0
  453. package/dist/workflow-engine.d.ts.map +1 -0
  454. package/dist/workflow-engine.js +165 -0
  455. package/dist/workflow-engine.js.map +1 -0
  456. package/dist/worktree-merge.d.ts +23 -0
  457. package/dist/worktree-merge.d.ts.map +1 -0
  458. package/dist/worktree-merge.js +57 -0
  459. package/dist/worktree-merge.js.map +1 -0
  460. package/dist/worktree-safety.d.ts +48 -0
  461. package/dist/worktree-safety.d.ts.map +1 -0
  462. package/dist/worktree-safety.js +113 -0
  463. package/dist/worktree-safety.js.map +1 -0
  464. package/dist/worktree-strategy.d.ts +69 -0
  465. package/dist/worktree-strategy.d.ts.map +1 -0
  466. package/dist/worktree-strategy.js +214 -0
  467. package/dist/worktree-strategy.js.map +1 -0
  468. package/dist/worktree.d.ts +159 -0
  469. package/dist/worktree.d.ts.map +1 -0
  470. package/dist/worktree.js +512 -0
  471. package/dist/worktree.js.map +1 -0
  472. package/package.json +76 -0
  473. package/scripts/telora-daemon-wrapper.sh +31 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qa-provisioner.js","sourceRoot":"","sources":["../src/qa-provisioner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC/F,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEpD,kEAAkE;AAClE,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,wBAAwB,CAAU,CAAC;AAE5E;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAoB,EACpB,kBAA0B,EAC1B,UAAkB;IAElB,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE9E,0CAA0C;IAC1C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QACpC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,gDAAgD,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,4EAA4E;IAC5E,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,0DAA0D,YAAY,EAAE,CAAC,CAAC;QAEtF,wEAAwE;QACxE,UAAU,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,kBAAkB,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrE,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,kBAAkB,CAAC,EAAE,YAAY,CAAC,CAAC;QAC3F,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CACV,sDAAsD,kBAAkB,KAAK,WAAW,CAAC,KAAK,EAAE,CACjG,CAAC;QACJ,CAAC;QAED,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC/C,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,yDAAyD;IACzD,UAAU,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEnD,gEAAgE;IAChE,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvD,OAAO,CAAC,GAAG,CACT,2BAA2B,kBAAkB,6CAA6C,CAC3F,CAAC;QACF,MAAM,WAAW,GAAG,UAAU,CAC5B,CAAC,OAAO,EAAE,QAAQ,EAAE,kBAAkB,CAAC,EACvC,MAAM,CAAC,QAAQ,CAChB,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,2CAA2C,kBAAkB,iBAAiB,WAAW,CAAC,KAAK,EAAE,CAClG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,iFAAiF;IACjF,OAAO,CAAC,GAAG,CACT,4CAA4C,YAAY,iBAAiB,kBAAkB,GAAG,CAC/F,CAAC;IACF,MAAM,SAAS,GAAG,UAAU,CAC1B,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,kBAAkB,CAAC,EACjE,MAAM,CAAC,QAAQ,CAChB,CAAC;IACF,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,kDAAkD,SAAS,CAAC,KAAK,EAAE,CACpE,CAAC;IACJ,CAAC;IAED,0CAA0C;IAC1C,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,YAAY,CAAC,CAAC;IACnE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CACV,mEAAmE,UAAU,CAAC,KAAK,EAAE,CACtF,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC/C,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAgB,EAChB,YAAoB;IAEpB,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,iDAAiD,YAAY,EAAE,CAAC,CAAC;YAC7E,UAAU,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,0CAA0C,YAAY,EAAE,CAAC,CAAC;QAEtE,MAAM,MAAM,GAAG,UAAU,CACvB,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,EAC/C,QAAQ,CACT,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CACV,wEAAwE,MAAM,CAAC,KAAK,EAAE,CACvF,CAAC;YACF,MAAM,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,qCAAqC;YACrC,UAAU,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,8DAA8D,YAAY,EAAE,CAAC,CAAC;QAC5F,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,yCAAyC,YAAY,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,8CAA8C,EAC9C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CACjD,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,QAAgB,EAChB,YAAoB;IAEpB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAEnD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,SAAS;QACX,CAAC;QAED,wEAAwE;QACxE,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;gBAC5C,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,UAAU,EAAE,CAAC;oBACvC,8BAA8B;oBAC9B,SAAS;gBACX,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,4DAA4D;gBAC5D,OAAO,CAAC,GAAG,CACT,6BAA6B,QAAQ,gDAAgD,CACtF,CAAC;gBACF,SAAS;YACX,CAAC;YAED,mEAAmE;YACnE,IAAI,CAAC;gBACH,UAAU,CAAC,UAAU,CAAC,CAAC;YACzB,CAAC;YAAC,OAAO,SAAS,EAAE,CAAC;gBACnB,OAAO,CAAC,IAAI,CACV,uDAAuD,QAAQ,KAAK,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CACzI,CAAC;gBACF,SAAS;YACX,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,8BAA8B,QAAQ,OAAO,UAAU,EAAE,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CACV,sCAAsC,QAAQ,KAAK,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAC3H,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * QA environment state management.
3
+ *
4
+ * Tracks active QA environments in memory and provides
5
+ * query/mutation helpers for the active environments map.
6
+ */
7
+ /** QA environment status in daemon memory. */
8
+ export type QaEnvironmentStatus = 'provisioning' | 'ready' | 'stopping' | 'failed';
9
+ /** In-memory state for a QA environment. */
10
+ export interface QaEnvironmentState {
11
+ /** Strategy UUID this QA environment is for. */
12
+ strategyId: string;
13
+ /** Strategy name for logging. */
14
+ strategyName: string;
15
+ /** Filesystem path to the QA worktree. */
16
+ worktreePath: string;
17
+ /** PID of the dev server process. */
18
+ pid: number | null;
19
+ /** Allocated port for the dev server. */
20
+ port: number;
21
+ /** Full URL to access the QA environment. */
22
+ url: string;
23
+ /** Current status. */
24
+ status: QaEnvironmentStatus;
25
+ /** When the environment was created. */
26
+ createdAt: Date;
27
+ /** Last error message if status is 'failed'. */
28
+ lastError: string | null;
29
+ }
30
+ /**
31
+ * Get all active QA environments.
32
+ */
33
+ export declare function getActiveQaEnvironments(): Map<string, QaEnvironmentState>;
34
+ /**
35
+ * Get a single QA environment by strategy ID.
36
+ */
37
+ export declare function getQaEnvironment(strategyId: string): QaEnvironmentState | undefined;
38
+ /**
39
+ * Check if a strategy already has an active QA environment.
40
+ */
41
+ export declare function hasActiveQaEnvironment(strategyId: string): boolean;
42
+ /**
43
+ * Get count of active QA environments.
44
+ */
45
+ export declare function getQaEnvironmentCount(): number;
46
+ /**
47
+ * Add or update a QA environment entry.
48
+ */
49
+ export declare function setQaEnvironment(strategyId: string, state: QaEnvironmentState): void;
50
+ /**
51
+ * Remove a QA environment entry.
52
+ * Returns whether the entry existed.
53
+ */
54
+ export declare function removeQaEnvironment(strategyId: string): boolean;
55
+ /** In-memory state for a product-level QA environment. */
56
+ export interface ProductQaEnvironmentState {
57
+ /** Product UUID this QA environment is for. */
58
+ productId: string;
59
+ /** Product name for logging. */
60
+ productName: string;
61
+ /** Filesystem path to the QA worktree (on integration branch). */
62
+ worktreePath: string;
63
+ /** PID of the dev server process. */
64
+ pid: number | null;
65
+ /** Allocated port for the dev server. */
66
+ port: number;
67
+ /** Full URL to access the QA environment. */
68
+ url: string;
69
+ /** Current status. */
70
+ status: QaEnvironmentStatus;
71
+ /** When the environment was created. */
72
+ createdAt: Date;
73
+ /** Last error message if status is 'failed'. */
74
+ lastError: string | null;
75
+ }
76
+ /**
77
+ * Get a product QA environment by product ID.
78
+ */
79
+ export declare function getProductQaEnvironment(productId: string): ProductQaEnvironmentState | undefined;
80
+ /**
81
+ * Check if a product already has an active QA environment.
82
+ */
83
+ export declare function hasActiveProductQaEnvironment(productId: string): boolean;
84
+ /**
85
+ * Add or update a product QA environment entry.
86
+ */
87
+ export declare function setProductQaEnvironment(productId: string, state: ProductQaEnvironmentState): void;
88
+ /**
89
+ * Remove a product QA environment entry.
90
+ * Returns whether the entry existed.
91
+ */
92
+ export declare function removeProductQaEnvironment(productId: string): boolean;
93
+ //# sourceMappingURL=qa-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qa-state.d.ts","sourceRoot":"","sources":["../src/qa-state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,8CAA8C;AAC9C,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEnF,4CAA4C;AAC5C,MAAM,WAAW,kBAAkB;IACjC,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,sBAAsB;IACtB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,wCAAwC;IACxC,SAAS,EAAE,IAAI,CAAC;IAChB,gDAAgD;IAChD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAOD;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAEzE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAEnF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAElE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAEpF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE/D;AAID,0DAA0D;AAC1D,MAAM,WAAW,yBAAyB;IACxC,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,YAAY,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,sBAAsB;IACtB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,wCAAwC;IACxC,SAAS,EAAE,IAAI,CAAC;IAChB,gDAAgD;IAChD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAKD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,yBAAyB,GAAG,SAAS,CAEhG;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAExE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,GAAG,IAAI,CAEjG;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAErE"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * QA environment state management.
3
+ *
4
+ * Tracks active QA environments in memory and provides
5
+ * query/mutation helpers for the active environments map.
6
+ */
7
+ // ── Active environments tracking ─────────────────────────────────────
8
+ /** Active QA environments: strategyId -> QaEnvironmentState */
9
+ const activeEnvironments = new Map();
10
+ /**
11
+ * Get all active QA environments.
12
+ */
13
+ export function getActiveQaEnvironments() {
14
+ return activeEnvironments;
15
+ }
16
+ /**
17
+ * Get a single QA environment by strategy ID.
18
+ */
19
+ export function getQaEnvironment(strategyId) {
20
+ return activeEnvironments.get(strategyId);
21
+ }
22
+ /**
23
+ * Check if a strategy already has an active QA environment.
24
+ */
25
+ export function hasActiveQaEnvironment(strategyId) {
26
+ return activeEnvironments.has(strategyId);
27
+ }
28
+ /**
29
+ * Get count of active QA environments.
30
+ */
31
+ export function getQaEnvironmentCount() {
32
+ return activeEnvironments.size;
33
+ }
34
+ /**
35
+ * Add or update a QA environment entry.
36
+ */
37
+ export function setQaEnvironment(strategyId, state) {
38
+ activeEnvironments.set(strategyId, state);
39
+ }
40
+ /**
41
+ * Remove a QA environment entry.
42
+ * Returns whether the entry existed.
43
+ */
44
+ export function removeQaEnvironment(strategyId) {
45
+ return activeEnvironments.delete(strategyId);
46
+ }
47
+ /** Active product QA environments: productId -> ProductQaEnvironmentState */
48
+ const activeProductEnvironments = new Map();
49
+ /**
50
+ * Get a product QA environment by product ID.
51
+ */
52
+ export function getProductQaEnvironment(productId) {
53
+ return activeProductEnvironments.get(productId);
54
+ }
55
+ /**
56
+ * Check if a product already has an active QA environment.
57
+ */
58
+ export function hasActiveProductQaEnvironment(productId) {
59
+ return activeProductEnvironments.has(productId);
60
+ }
61
+ /**
62
+ * Add or update a product QA environment entry.
63
+ */
64
+ export function setProductQaEnvironment(productId, state) {
65
+ activeProductEnvironments.set(productId, state);
66
+ }
67
+ /**
68
+ * Remove a product QA environment entry.
69
+ * Returns whether the entry existed.
70
+ */
71
+ export function removeProductQaEnvironment(productId) {
72
+ return activeProductEnvironments.delete(productId);
73
+ }
74
+ //# sourceMappingURL=qa-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qa-state.js","sourceRoot":"","sources":["../src/qa-state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA6BH,wEAAwE;AAExE,+DAA+D;AAC/D,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,UAAkB;IACjD,OAAO,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,UAAkB;IACvD,OAAO,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,kBAAkB,CAAC,IAAI,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAkB,EAAE,KAAyB;IAC5E,kBAAkB,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB;IACpD,OAAO,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAC/C,CAAC;AA0BD,6EAA6E;AAC7E,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAqC,CAAC;AAE/E;;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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Control state queries for the daemon.
3
+ *
4
+ * Polls for strategies and factory instances with non-running control states
5
+ * so the daemon can suspend, resume, or stop agents accordingly.
6
+ */
7
+ /**
8
+ * A control state change entry from the API.
9
+ */
10
+ export interface ControlStateChange {
11
+ entityType: 'strategy' | 'factory_instance';
12
+ entityId: string;
13
+ entityName?: string;
14
+ controlState: 'stopped' | 'human_control' | 'resuming';
15
+ controlNote: string | null;
16
+ }
17
+ /**
18
+ * Fetch all strategies and factory instances with non-running control states.
19
+ */
20
+ export declare function getControlStateChanges(productId?: string): Promise<ControlStateChange[]>;
21
+ /**
22
+ * Update a strategy's control state to 'running' (after resuming).
23
+ */
24
+ export declare function setControlStateRunning(entityType: 'strategy' | 'factory_instance', entityId: string): Promise<void>;
25
+ //# sourceMappingURL=control-state.d.ts.map
@@ -0,0 +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,UAAU,GAAG,kBAAkB,CAAC;IAC5C,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,UAAU,GAAG,kBAAkB,EAC3C,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAQf"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Control state queries for the daemon.
3
+ *
4
+ * Polls for strategies and factory instances with non-running control states
5
+ * so the daemon can suspend, resume, or stop agents accordingly.
6
+ */
7
+ import { callApi } from './shared.js';
8
+ /**
9
+ * Fetch all strategies and factory instances with non-running control states.
10
+ */
11
+ export async function getControlStateChanges(productId) {
12
+ const params = {};
13
+ if (productId) {
14
+ params.productId = productId;
15
+ }
16
+ const result = await callApi('daemon_get_control_state_changes', params);
17
+ return [
18
+ ...(result.strategies ?? []),
19
+ ...(result.factoryInstances ?? []),
20
+ ];
21
+ }
22
+ /**
23
+ * Update a strategy's control state to 'running' (after resuming).
24
+ */
25
+ export async function setControlStateRunning(entityType, entityId) {
26
+ await callApi('set_execution_unit_control_state', {
27
+ fields: {
28
+ entityType,
29
+ entityId,
30
+ status: 'running',
31
+ },
32
+ });
33
+ }
34
+ //# sourceMappingURL=control-state.js.map
@@ -0,0 +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,UAAU,IAAI,EAAE,CAAC;QAC5B,GAAG,CAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC;KACnC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,UAA2C,EAC3C,QAAgB;IAEhB,MAAM,OAAO,CAAC,kCAAkC,EAAE;QAChD,MAAM,EAAE;YACN,UAAU;YACV,QAAQ;YACR,MAAM,EAAE,SAAS;SAClB;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Daemon heartbeat and connection queries.
3
+ */
4
+ /**
5
+ * Send a heartbeat to register/update this daemon's connection.
6
+ */
7
+ export declare function sendHeartbeat(pid: number, hostname: string, repoPath: string, daemonVersion: string, counters: {
8
+ activeSessions: number;
9
+ completedSessions: number;
10
+ plannedIssues: number;
11
+ inProgressIssues: number;
12
+ completedIssues: number;
13
+ totalTokensUsed: number;
14
+ totalCost: number;
15
+ daemonStartedAt: string;
16
+ lastActivityAt: string;
17
+ eventLoopLagMs: number;
18
+ productId?: string;
19
+ productIds?: string[];
20
+ }, metadata?: Record<string, unknown>): Promise<void>;
21
+ /**
22
+ * Mark this daemon as disconnected (graceful shutdown).
23
+ */
24
+ export declare function sendDisconnect(pid: number): Promise<void>;
25
+ //# sourceMappingURL=daemon-connection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemon-connection.d.ts","sourceRoot":"","sources":["../../src/queries/daemon-connection.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE;IACR,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB,EACD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC,CAWf;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI/D"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Daemon heartbeat and connection queries.
3
+ */
4
+ import { callApi } from './shared.js';
5
+ /**
6
+ * Send a heartbeat to register/update this daemon's connection.
7
+ */
8
+ export async function sendHeartbeat(pid, hostname, repoPath, daemonVersion, counters, metadata) {
9
+ await callApi('daemon_heartbeat', {
10
+ fields: {
11
+ pid,
12
+ hostname,
13
+ repoPath,
14
+ daemonVersion,
15
+ ...counters,
16
+ ...(metadata ? { metadata } : {}),
17
+ },
18
+ });
19
+ }
20
+ /**
21
+ * Mark this daemon as disconnected (graceful shutdown).
22
+ */
23
+ export async function sendDisconnect(pid) {
24
+ await callApi('daemon_disconnect', {
25
+ fields: { pid },
26
+ });
27
+ }
28
+ //# sourceMappingURL=daemon-connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemon-connection.js","sourceRoot":"","sources":["../../src/queries/daemon-connection.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAW,EACX,QAAgB,EAChB,QAAgB,EAChB,aAAqB,EACrB,QAaC,EACD,QAAkC;IAElC,MAAM,OAAO,CAAC,kBAAkB,EAAE;QAChC,MAAM,EAAE;YACN,GAAG;YACH,QAAQ;YACR,QAAQ;YACR,aAAa;YACb,GAAG,QAAQ;YACX,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW;IAC9C,MAAM,OAAO,CAAC,mBAAmB,EAAE;QACjC,MAAM,EAAE,EAAE,GAAG,EAAE;KAChB,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Delivery and strategy queries.
3
+ */
4
+ import type { DeliveryContext, PipelineConfig, GitState } from '../types.js';
5
+ /**
6
+ * @deprecated Use getReadyStrategies instead. Kept for backward compatibility.
7
+ * Get deliveries ready for agent work (assigned to role, no active session).
8
+ */
9
+ export declare function getReadyDeliveries(_organizationId: string, productId?: string): Promise<Array<{
10
+ delivery_id: string;
11
+ delivery_name: string;
12
+ product_id: string | null;
13
+ assigned_agent_role_id: string;
14
+ agent_role_name: string;
15
+ }>>;
16
+ /**
17
+ * Get full delivery context including product, context groups, and tasks.
18
+ *
19
+ * Note: The API returns camelCase fields for nested objects (product, strategy,
20
+ * issues). The validated result is cast to DeliveryContext, preserving the
21
+ * existing runtime behavior where camelCase field names are used.
22
+ */
23
+ export declare function getDeliveryContext(deliveryId: string): Promise<DeliveryContext | null>;
24
+ /**
25
+ * Update a delivery's execution status.
26
+ * When currentWorkflowStageId is provided, the sync trigger
27
+ * automatically updates execution_status to the stage name.
28
+ */
29
+ export declare function updateDeliveryStatus(deliveryId: string, executionStatus: string, currentWorkflowStageId?: string | null): Promise<void>;
30
+ /**
31
+ * Get deliveries in 'done' status. Used to detect when to advance main.
32
+ */
33
+ export declare function getDoneDeliveries(_organizationId: string, productId?: string): Promise<Array<{
34
+ delivery_id: string;
35
+ delivery_name: string;
36
+ product_id: string | null;
37
+ strategy_id: string | null;
38
+ pipeline_config: PipelineConfig | null;
39
+ }>>;
40
+ /**
41
+ * Get strategies with agent assignments that have ready deliveries.
42
+ * Returns the next ready delivery per strategy.
43
+ */
44
+ export declare function getReadyStrategies(_organizationId: string, productId?: string): Promise<Array<{
45
+ strategy_id: string;
46
+ strategy_name: string;
47
+ delivery_id: string;
48
+ delivery_name: string;
49
+ product_id: string | null;
50
+ pipeline_config: PipelineConfig | null;
51
+ read_only: boolean;
52
+ last_claude_session_id: string | null;
53
+ assigned_agent_role_id: string;
54
+ agent_role_name: string;
55
+ }>>;
56
+ /**
57
+ * Get strategies with agent role assignments that are active.
58
+ *
59
+ * Unlike getReadyStrategies(), this does NOT filter by delivery state.
60
+ * Returns all strategies with status='active' and an assigned agent role.
61
+ * Used by the strategy lifecycle to determine which worktrees to keep alive
62
+ * (QA environments, idle queues waiting for new deliveries, etc.) and by
63
+ * orphan worktree cleanup to avoid incorrectly removing active worktrees.
64
+ */
65
+ export declare function getActiveStrategies(_organizationId: string, productId?: string): Promise<Array<{
66
+ strategy_id: string;
67
+ strategy_name: string;
68
+ product_id: string | null;
69
+ pipeline_config: PipelineConfig | null;
70
+ read_only: boolean;
71
+ assigned_agent_role_id: string | null;
72
+ agent_role_name: string | null;
73
+ }>>;
74
+ /**
75
+ * Write the squash merge commit SHA to a delivery record.
76
+ *
77
+ * Called after a successful delivery→strategy squash merge so the
78
+ * commit can be traced back to the delivery.
79
+ */
80
+ export declare function updateDeliveryMergeCommitSha(deliveryId: string, commitSha: string): Promise<void>;
81
+ /**
82
+ * Report a git lifecycle state transition for a delivery.
83
+ *
84
+ * Fire-and-forget: catches and logs errors, never throws.
85
+ * State reporting is observability, not control flow.
86
+ * Escalates to ERROR level after 3+ consecutive failures per delivery.
87
+ */
88
+ export declare function reportGitState(deliveryId: string, gitState: GitState, gitBranchName?: string): Promise<void>;
89
+ /**
90
+ * Get deliveries with merge_conflict git state.
91
+ * Used to retry merges after human conflict resolution.
92
+ */
93
+ export declare function getMergeConflictDeliveries(_organizationId: string, productId?: string): Promise<Array<{
94
+ delivery_id: string;
95
+ delivery_name: string;
96
+ git_branch_name: string | null;
97
+ strategy_id: string | null;
98
+ pipeline_config: PipelineConfig | null;
99
+ }>>;
100
+ //# sourceMappingURL=deliveries.d.ts.map
@@ -0,0 +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,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,eAAe,EAAE,cAAc,GAAG,IAAI,CAAC;CACxC,CAAC,CAAC,CAcF;AAED;;;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,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,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,mBAAmB,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IACpG,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,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;CAChC,CAAC,CAAC,CAgBF;AAED;;;;;GAKG;AACH,wBAAsB,4BAA4B,CAChD,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAKf;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,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,eAAe,EAAE,cAAc,GAAG,IAAI,CAAC;CACxC,CAAC,CAAC,CAcF"}
@@ -0,0 +1,184 @@
1
+ /**
2
+ * Delivery and strategy queries.
3
+ */
4
+ import { callApi, callApiValidated, createTransform } from './shared.js';
5
+ import { ReadyDeliveriesResponseSchema, DeliveryContextResponseSchema, DoneDeliveriesResponseSchema, ReadyStrategiesResponseSchema, ActiveStrategiesResponseSchema, MergeConflictDeliveriesResponseSchema, } from './schemas.js';
6
+ const transformDeliveryFromApi = createTransform({
7
+ id: 'id',
8
+ name: 'name',
9
+ description: 'description',
10
+ organization_id: 'organizationId',
11
+ product_id: 'productId',
12
+ parent_id: 'parentId',
13
+ type: { value: 'delivery' },
14
+ assigned_agent_role_id: 'assignedAgentRoleId',
15
+ agent_assigned_at: 'agentAssignedAt',
16
+ });
17
+ /**
18
+ * @deprecated Use getReadyStrategies instead. Kept for backward compatibility.
19
+ * Get deliveries ready for agent work (assigned to role, no active session).
20
+ */
21
+ export async function getReadyDeliveries(_organizationId, productId) {
22
+ const result = await callApiValidated('daemon_get_ready_deliveries', ReadyDeliveriesResponseSchema, productId ? { productId } : {});
23
+ // Transform camelCase to snake_case for daemon's expected format
24
+ return result.deliveries.map((d) => ({
25
+ delivery_id: d.deliveryId,
26
+ delivery_name: d.deliveryName,
27
+ product_id: d.productId,
28
+ assigned_agent_role_id: d.assignedAgentRoleId,
29
+ agent_role_name: d.agentRoleName,
30
+ }));
31
+ }
32
+ /**
33
+ * Get full delivery context including product, context groups, and tasks.
34
+ *
35
+ * Note: The API returns camelCase fields for nested objects (product, strategy,
36
+ * issues). The validated result is cast to DeliveryContext, preserving the
37
+ * existing runtime behavior where camelCase field names are used.
38
+ */
39
+ export async function getDeliveryContext(deliveryId) {
40
+ try {
41
+ const result = await callApiValidated('daemon_get_delivery_context', DeliveryContextResponseSchema, { deliveryId });
42
+ const context = result.context;
43
+ return {
44
+ ...context,
45
+ delivery: transformDeliveryFromApi(result.context.delivery),
46
+ };
47
+ }
48
+ catch (error) {
49
+ if (error.message?.includes('not found')) {
50
+ return null;
51
+ }
52
+ throw error;
53
+ }
54
+ }
55
+ /**
56
+ * Update a delivery's execution status.
57
+ * When currentWorkflowStageId is provided, the sync trigger
58
+ * automatically updates execution_status to the stage name.
59
+ */
60
+ export async function updateDeliveryStatus(deliveryId, executionStatus, currentWorkflowStageId) {
61
+ const fields = { executionStatus };
62
+ if (currentWorkflowStageId !== undefined) {
63
+ fields.currentWorkflowStageId = currentWorkflowStageId;
64
+ }
65
+ await callApi('daemon_update_delivery_status', {
66
+ deliveryId,
67
+ fields,
68
+ });
69
+ }
70
+ /**
71
+ * Get deliveries in 'done' status. Used to detect when to advance main.
72
+ */
73
+ export async function getDoneDeliveries(_organizationId, productId) {
74
+ const result = await callApiValidated('daemon_get_done_deliveries', DoneDeliveriesResponseSchema, productId ? { productId } : {});
75
+ return result.deliveries.map((d) => ({
76
+ delivery_id: d.deliveryId,
77
+ delivery_name: d.deliveryName,
78
+ product_id: d.productId,
79
+ strategy_id: d.strategyId,
80
+ pipeline_config: d.pipelineConfig ?? null,
81
+ }));
82
+ }
83
+ /**
84
+ * Get strategies with agent assignments that have ready deliveries.
85
+ * Returns the next ready delivery per strategy.
86
+ */
87
+ export async function getReadyStrategies(_organizationId, productId) {
88
+ const result = await callApiValidated('daemon_get_ready_strategies', ReadyStrategiesResponseSchema, productId ? { productId } : {});
89
+ return result.strategies.map((s) => ({
90
+ strategy_id: s.strategyId,
91
+ strategy_name: s.strategyName,
92
+ delivery_id: s.deliveryId,
93
+ delivery_name: s.deliveryName,
94
+ product_id: s.productId,
95
+ pipeline_config: s.pipelineConfig ?? null,
96
+ read_only: s.readOnly ?? false,
97
+ last_claude_session_id: s.lastClaudeSessionId ?? null,
98
+ assigned_agent_role_id: s.assignedAgentRoleId,
99
+ agent_role_name: s.agentRoleName,
100
+ }));
101
+ }
102
+ /**
103
+ * Get strategies with agent role assignments that are active.
104
+ *
105
+ * Unlike getReadyStrategies(), this does NOT filter by delivery state.
106
+ * Returns all strategies with status='active' and an assigned agent role.
107
+ * Used by the strategy lifecycle to determine which worktrees to keep alive
108
+ * (QA environments, idle queues waiting for new deliveries, etc.) and by
109
+ * orphan worktree cleanup to avoid incorrectly removing active worktrees.
110
+ */
111
+ export async function getActiveStrategies(_organizationId, productId) {
112
+ const result = await callApiValidated('daemon_get_active_strategies', ActiveStrategiesResponseSchema, productId ? { productId } : {});
113
+ return result.strategies.map((s) => ({
114
+ strategy_id: s.strategyId,
115
+ strategy_name: s.strategyName,
116
+ product_id: s.productId,
117
+ pipeline_config: s.pipelineConfig ?? null,
118
+ read_only: s.readOnly ?? false,
119
+ assigned_agent_role_id: s.assignedAgentRoleId,
120
+ agent_role_name: s.agentRoleName,
121
+ }));
122
+ }
123
+ /**
124
+ * Write the squash merge commit SHA to a delivery record.
125
+ *
126
+ * Called after a successful delivery→strategy squash merge so the
127
+ * commit can be traced back to the delivery.
128
+ */
129
+ export async function updateDeliveryMergeCommitSha(deliveryId, commitSha) {
130
+ await callApi('delivery_update', {
131
+ deliveryId,
132
+ fields: { mergeCommitSha: commitSha },
133
+ });
134
+ }
135
+ /**
136
+ * Track consecutive failures per delivery to detect systematic issues.
137
+ * After FAILURE_THRESHOLD consecutive failures, log at ERROR level.
138
+ */
139
+ const gitStateFailures = new Map();
140
+ const FAILURE_THRESHOLD = 3;
141
+ /**
142
+ * Report a git lifecycle state transition for a delivery.
143
+ *
144
+ * Fire-and-forget: catches and logs errors, never throws.
145
+ * State reporting is observability, not control flow.
146
+ * Escalates to ERROR level after 3+ consecutive failures per delivery.
147
+ */
148
+ export async function reportGitState(deliveryId, gitState, gitBranchName) {
149
+ try {
150
+ const fields = { gitState };
151
+ if (gitBranchName !== undefined) {
152
+ fields.gitBranchName = gitBranchName;
153
+ }
154
+ await callApi('delivery_git_state_update', { deliveryId, fields });
155
+ gitStateFailures.delete(deliveryId);
156
+ console.log(`Reported git state: ${gitState} for delivery ${deliveryId.slice(0, 8)}`);
157
+ }
158
+ catch (err) {
159
+ const count = (gitStateFailures.get(deliveryId) ?? 0) + 1;
160
+ gitStateFailures.set(deliveryId, count);
161
+ const msg = `Failed to report git state ${gitState} for delivery ${deliveryId.slice(0, 8)}: ${err.message}`;
162
+ if (count >= FAILURE_THRESHOLD) {
163
+ console.error(`[git-state] SYSTEMATIC FAILURE (${count} consecutive): ${msg}`);
164
+ }
165
+ else {
166
+ console.warn(msg);
167
+ }
168
+ }
169
+ }
170
+ /**
171
+ * Get deliveries with merge_conflict git state.
172
+ * Used to retry merges after human conflict resolution.
173
+ */
174
+ export async function getMergeConflictDeliveries(_organizationId, productId) {
175
+ const result = await callApiValidated('daemon_get_merge_conflict_deliveries', MergeConflictDeliveriesResponseSchema, productId ? { productId } : {});
176
+ return result.deliveries.map((d) => ({
177
+ delivery_id: d.deliveryId,
178
+ delivery_name: d.deliveryName,
179
+ git_branch_name: d.gitBranchName,
180
+ strategy_id: d.strategyId,
181
+ pipeline_config: d.pipelineConfig ?? null,
182
+ }));
183
+ }
184
+ //# sourceMappingURL=deliveries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deliveries.js","sourceRoot":"","sources":["../../src/queries/deliveries.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Git activity snapshot queries.
3
+ */
4
+ export interface GitActivitySnapshot {
5
+ intervalStart: string;
6
+ intervalMinutes: number;
7
+ linesAdded: number;
8
+ linesRemoved: number;
9
+ commitCount: number;
10
+ }
11
+ /**
12
+ * Batch upsert git activity snapshots for a product.
13
+ */
14
+ export declare function upsertGitActivity(productId: string, snapshots: GitActivitySnapshot[]): Promise<void>;
15
+ /**
16
+ * Get the most recent snapshot interval_start for a product.
17
+ * Returns null if no snapshots exist.
18
+ */
19
+ export declare function getLatestGitActivityTimestamp(productId: string): Promise<string | null>;
20
+ //# sourceMappingURL=git-activity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-activity.d.ts","sourceRoot":"","sources":["../../src/queries/git-activity.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,mBAAmB,EAAE,GAC/B,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;;GAGG;AACH,wBAAsB,6BAA6B,CACjD,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAMxB"}