@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,50 @@
1
+ /**
2
+ * Telora API client for the daemon.
3
+ *
4
+ * This module re-exports all query functions from domain-specific modules
5
+ * under queries/. The API client infrastructure (callApi, circuit breaker,
6
+ * config) lives in queries/shared.ts.
7
+ *
8
+ * All existing imports from './supabase.js' continue to work unchanged.
9
+ */
10
+ // -- Core client initialization --
11
+ export { initSupabase, validateTrackerAuth } from './queries/shared.js';
12
+ // -- Agent Roles --
13
+ export { getAgentRoles, getAgentRole } from './queries/roles.js';
14
+ // -- Agent Sessions --
15
+ export { getActiveSessions, getActiveSessionCountByRole, getCompletedSessionAggregates, createSession, updateSession, } from './queries/sessions.js';
16
+ // -- Deliveries & Strategies --
17
+ export { getReadyDeliveries, getDeliveryContext, updateDeliveryStatus, updateDeliveryMergeCommitSha, getDoneDeliveries, getReadyStrategies, getActiveStrategies, getMergeConflictDeliveries, reportGitState, } from './queries/deliveries.js';
18
+ // -- Workflows --
19
+ export { fetchEffectiveWorkflow, fetchEffectiveWorkflowWithTransitions } from './queries/workflows.js';
20
+ // -- Issues & Escalations --
21
+ export { getDeliveryIssues, getDeliverySessionCount, updateIssueStatus, createEscalation, createIssue, } from './queries/issues.js';
22
+ // -- Guards (Workflow System) --
23
+ export { fetchTransitionGuards, createTransitionEvaluation, createTransitionBlock, getActiveTransitionBlock, getResolvedTransitionBlockForDelivery, } from './queries/guards.js';
24
+ // -- Daemon Connection --
25
+ export { sendHeartbeat, sendDisconnect } from './queries/daemon-connection.js';
26
+ // -- Strategy Queries (Team Execution) --
27
+ export { getStrategyDeliveries, getStrategyIssues, getReviewRequests, clearReviewRequest, } from './queries/strategies.js';
28
+ // -- Worktree State --
29
+ export { upsertWorktreeRecord, removeWorktreeRecord, listWorktreeRecords, } from './queries/worktrees.js';
30
+ // -- QA Environment --
31
+ export { getQaRequests, updateQaStatus, getDeactivatedQaStrategies, getQaStrategies } from './queries/qa.js';
32
+ // -- Product QA Environment --
33
+ export { getProductQaRequests, updateProductQaStatus, getProductQaStatus } from './queries/qa.js';
34
+ // -- Control State --
35
+ export { getControlStateChanges, setControlStateRunning, } from './queries/control-state.js';
36
+ // -- Legacy compatibility (no longer used) --
37
+ /**
38
+ * @deprecated Use getReadyDeliveries instead
39
+ */
40
+ export async function getAgentAssignedIssues(_organizationId) {
41
+ console.warn('getAgentAssignedIssues is deprecated - daemon uses delivery-level assignment');
42
+ return [];
43
+ }
44
+ /**
45
+ * @deprecated Not needed with HTTP API
46
+ */
47
+ export function getSupabase() {
48
+ throw new Error('getSupabase() is no longer available. Use the API functions directly.');
49
+ }
50
+ //# sourceMappingURL=supabase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supabase.js","sourceRoot":"","sources":["../src/supabase.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,mCAAmC;AACnC,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAExE,oBAAoB;AACpB,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEjE,uBAAuB;AACvB,OAAO,EACL,iBAAiB,EACjB,2BAA2B,EAC3B,6BAA6B,EAC7B,aAAa,EACb,aAAa,GACd,MAAM,uBAAuB,CAAC;AAG/B,gCAAgC;AAChC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,4BAA4B,EAC5B,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,0BAA0B,EAC1B,cAAc,GACf,MAAM,yBAAyB,CAAC;AAEjC,kBAAkB;AAClB,OAAO,EAAE,sBAAsB,EAAE,qCAAqC,EAAE,MAAM,wBAAwB,CAAC;AAEvG,6BAA6B;AAC7B,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAG7B,iCAAiC;AACjC,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,qBAAqB,EACrB,wBAAwB,EACxB,qCAAqC,GACtC,MAAM,qBAAqB,CAAC;AAE7B,0BAA0B;AAC1B,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAE/E,0CAA0C;AAC1C,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAGjC,uBAAuB;AACvB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAGhC,uBAAuB;AACvB,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,0BAA0B,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE7G,+BAA+B;AAC/B,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAElG,sBAAsB;AACtB,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,4BAA4B,CAAC;AAGpC,8CAA8C;AAE9C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,eAAuB;IAClE,OAAO,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;IAC7F,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;AAC3F,CAAC"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Delivery-to-task and issue-to-task conversion.
3
+ *
4
+ * Extracted from task-dag-builder.ts. Contains functions that transform
5
+ * database entities (deliveries, issues) into task graph nodes, and
6
+ * DAG query/manipulation helpers that operate on the resulting TaskDAG.
7
+ *
8
+ * Pure functions only (no side effects, no API calls).
9
+ */
10
+ import type { TaskDAG, TaskNode, StrategyDeliveryInfo, StrategyIssueInfo } from './types.js';
11
+ /**
12
+ * Build a task dependency graph from deliveries and issues.
13
+ *
14
+ * @param deliveries - All deliveries for the strategy, ordered by priorityRank
15
+ * @param issues - All issues across all deliveries
16
+ * @returns A TaskDAG with nodes and dependency edges
17
+ */
18
+ export declare function buildTaskDAG(deliveries: StrategyDeliveryInfo[], issues: StrategyIssueInfo[]): TaskDAG;
19
+ /**
20
+ * Get all task nodes that are ready to execute (no pending blockers).
21
+ */
22
+ export declare function getReadyTasks(dag: TaskDAG): TaskNode[];
23
+ /**
24
+ * Mark a task as completed and update blocked-by sets of dependent tasks.
25
+ * Returns the list of tasks that became newly ready.
26
+ */
27
+ export declare function completeTask(dag: TaskDAG, issueId: string): TaskNode[];
28
+ /**
29
+ * Mark a task as failed.
30
+ */
31
+ export declare function failTask(dag: TaskDAG, issueId: string): void;
32
+ /**
33
+ * Mark a task as in progress with a worker assignment.
34
+ */
35
+ export declare function claimTask(dag: TaskDAG, issueId: string, workerSessionId: string): void;
36
+ /**
37
+ * Check if all tasks for a specific delivery are completed.
38
+ */
39
+ export declare function isDeliveryComplete(dag: TaskDAG, deliveryId: string): boolean;
40
+ /**
41
+ * Get issue completion counts for a delivery.
42
+ */
43
+ export declare function getDeliveryIssueCounts(dag: TaskDAG, deliveryId: string): {
44
+ done: number;
45
+ total: number;
46
+ };
47
+ /**
48
+ * Check if all tasks in the DAG are in a terminal state (completed, failed, or skipped).
49
+ */
50
+ export declare function isDAGComplete(dag: TaskDAG): boolean;
51
+ /**
52
+ * Add new issues to an existing DAG (for dynamic delivery pickup).
53
+ * The new issues are integrated with proper cross-delivery, CG-level,
54
+ * and file-overlap dependencies.
55
+ */
56
+ export declare function addIssuesToDAG(dag: TaskDAG, newDelivery: StrategyDeliveryInfo, newIssues: StrategyIssueInfo[], existingDeliveries: StrategyDeliveryInfo[]): TaskNode[];
57
+ /**
58
+ * Get a summary of the DAG for logging.
59
+ */
60
+ export declare function getDAGSummary(dag: TaskDAG): string;
61
+ //# sourceMappingURL=task-converter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-converter.d.ts","sourceRoot":"","sources":["../src/task-converter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,QAAQ,EACR,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAWpB;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,oBAAoB,EAAE,EAClC,MAAM,EAAE,iBAAiB,EAAE,GAC1B,OAAO,CAmFT;AAID;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,QAAQ,EAAE,CAatD;AAeD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,QAAQ,EAAE,CAsBtE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAK5D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI,CAMtF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAO5E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAYxG;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAOnD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,oBAAoB,EACjC,SAAS,EAAE,iBAAiB,EAAE,EAC9B,kBAAkB,EAAE,oBAAoB,EAAE,GACzC,QAAQ,EAAE,CA4EZ;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAalD"}
@@ -0,0 +1,286 @@
1
+ /**
2
+ * Delivery-to-task and issue-to-task conversion.
3
+ *
4
+ * Extracted from task-dag-builder.ts. Contains functions that transform
5
+ * database entities (deliveries, issues) into task graph nodes, and
6
+ * DAG query/manipulation helpers that operate on the resulting TaskDAG.
7
+ *
8
+ * Pure functions only (no side effects, no API calls).
9
+ */
10
+ import { addCrossDeliveryDependencies, addCGDependencies, addFileOverlapDependencies, addCGDependenciesForDelivery, addFileOverlapForDelivery, } from './dependency-resolver.js';
11
+ // ── DAG builder ──────────────────────────────────────────────────
12
+ /**
13
+ * Build a task dependency graph from deliveries and issues.
14
+ *
15
+ * @param deliveries - All deliveries for the strategy, ordered by priorityRank
16
+ * @param issues - All issues across all deliveries
17
+ * @returns A TaskDAG with nodes and dependency edges
18
+ */
19
+ export function buildTaskDAG(deliveries, issues) {
20
+ const nodes = new Map();
21
+ const deliveryIds = new Set();
22
+ // Sort deliveries by priority rank (lower = higher priority)
23
+ const sortedDeliveries = [...deliveries].sort((a, b) => a.priorityRank - b.priorityRank);
24
+ // Group issues by delivery
25
+ const issuesByDelivery = new Map();
26
+ for (const issue of issues) {
27
+ const existing = issuesByDelivery.get(issue.deliveryId) ?? [];
28
+ existing.push(issue);
29
+ issuesByDelivery.set(issue.deliveryId, existing);
30
+ }
31
+ // Build context group lookup: contextGroupId -> context group issue
32
+ const contextGroups = new Map();
33
+ for (const issue of issues) {
34
+ if (issue.issueType === 'Context Group') {
35
+ contextGroups.set(issue.id, issue);
36
+ }
37
+ }
38
+ // Track which delivery rank each issue belongs to (for cross-delivery dependencies)
39
+ const issueDeliveryRank = new Map();
40
+ // Phase 1: Create task nodes for all actionable issues (not Context Groups)
41
+ for (let deliveryIndex = 0; deliveryIndex < sortedDeliveries.length; deliveryIndex++) {
42
+ const delivery = sortedDeliveries[deliveryIndex];
43
+ deliveryIds.add(delivery.id);
44
+ const deliveryIssues = issuesByDelivery.get(delivery.id) ?? [];
45
+ for (const issue of deliveryIssues) {
46
+ // Context Groups are organizational -- not tasks to execute
47
+ if (issue.issueType === 'Context Group')
48
+ continue;
49
+ // Skip already-done issues
50
+ if (issue.status === 'Done')
51
+ continue;
52
+ // Get context from parent context group
53
+ const parentGroup = issue.parentIssueId ? contextGroups.get(issue.parentIssueId) : null;
54
+ const node = {
55
+ issueId: issue.id,
56
+ issueKey: issue.key,
57
+ title: issue.title,
58
+ description: issue.description,
59
+ issueType: issue.issueType,
60
+ priority: issue.priority,
61
+ deliveryId: delivery.id,
62
+ deliveryName: delivery.name,
63
+ deliveryPriorityRank: delivery.priorityRank,
64
+ contextGroupId: issue.parentIssueId,
65
+ context: parentGroup?.context ?? null,
66
+ relevantFiles: parentGroup?.relevantFiles ?? issue.relevantFiles,
67
+ blockedBy: new Set(),
68
+ status: 'pending',
69
+ assignedWorkerSessionId: null,
70
+ };
71
+ nodes.set(issue.id, node);
72
+ issueDeliveryRank.set(issue.id, deliveryIndex);
73
+ }
74
+ }
75
+ // Phase 2: Add cross-delivery dependencies
76
+ addCrossDeliveryDependencies(nodes, sortedDeliveries, issuesByDelivery, issueDeliveryRank);
77
+ // Phase 2.5: Add CG-level dependency enforcement within each delivery
78
+ addCGDependencies(nodes, sortedDeliveries, issuesByDelivery, contextGroups);
79
+ // Phase 3: Add file overlap dependencies within the same delivery
80
+ addFileOverlapDependencies(nodes, sortedDeliveries, issuesByDelivery, contextGroups);
81
+ // Phase 4: Mark initially ready nodes
82
+ for (const node of nodes.values()) {
83
+ if (node.blockedBy.size === 0) {
84
+ node.status = 'ready';
85
+ }
86
+ }
87
+ return { nodes, deliveryIds };
88
+ }
89
+ // ── DAG query helpers ────────────────────────────────────────────
90
+ /**
91
+ * Get all task nodes that are ready to execute (no pending blockers).
92
+ */
93
+ export function getReadyTasks(dag) {
94
+ const ready = [];
95
+ for (const node of dag.nodes.values()) {
96
+ if (node.status === 'ready') {
97
+ ready.push(node);
98
+ }
99
+ }
100
+ // Sort by priority: P0 first, then by delivery rank
101
+ return ready.sort((a, b) => {
102
+ const priorityOrder = getPriorityOrder(a.priority) - getPriorityOrder(b.priority);
103
+ if (priorityOrder !== 0)
104
+ return priorityOrder;
105
+ return a.deliveryPriorityRank - b.deliveryPriorityRank;
106
+ });
107
+ }
108
+ /**
109
+ * Get priority sort order (lower = higher priority).
110
+ */
111
+ function getPriorityOrder(priority) {
112
+ switch (priority) {
113
+ case 'P0': return 0;
114
+ case 'P1': return 1;
115
+ case 'P2': return 2;
116
+ case 'P3': return 3;
117
+ default: return 4;
118
+ }
119
+ }
120
+ /**
121
+ * Mark a task as completed and update blocked-by sets of dependent tasks.
122
+ * Returns the list of tasks that became newly ready.
123
+ */
124
+ export function completeTask(dag, issueId) {
125
+ const completedNode = dag.nodes.get(issueId);
126
+ if (!completedNode)
127
+ return [];
128
+ completedNode.status = 'completed';
129
+ const newlyReady = [];
130
+ // Remove this task from all blockedBy sets
131
+ for (const node of dag.nodes.values()) {
132
+ if (node.blockedBy.has(issueId)) {
133
+ node.blockedBy.delete(issueId);
134
+ // If all blockers resolved and still pending, mark as ready
135
+ if (node.blockedBy.size === 0 && node.status === 'pending') {
136
+ node.status = 'ready';
137
+ newlyReady.push(node);
138
+ }
139
+ }
140
+ }
141
+ return newlyReady;
142
+ }
143
+ /**
144
+ * Mark a task as failed.
145
+ */
146
+ export function failTask(dag, issueId) {
147
+ const node = dag.nodes.get(issueId);
148
+ if (node) {
149
+ node.status = 'failed';
150
+ }
151
+ }
152
+ /**
153
+ * Mark a task as in progress with a worker assignment.
154
+ */
155
+ export function claimTask(dag, issueId, workerSessionId) {
156
+ const node = dag.nodes.get(issueId);
157
+ if (node) {
158
+ node.status = 'in_progress';
159
+ node.assignedWorkerSessionId = workerSessionId;
160
+ }
161
+ }
162
+ /**
163
+ * Check if all tasks for a specific delivery are completed.
164
+ */
165
+ export function isDeliveryComplete(dag, deliveryId) {
166
+ for (const node of dag.nodes.values()) {
167
+ if (node.deliveryId === deliveryId && node.status !== 'completed' && node.status !== 'skipped') {
168
+ return false;
169
+ }
170
+ }
171
+ return true;
172
+ }
173
+ /**
174
+ * Get issue completion counts for a delivery.
175
+ */
176
+ export function getDeliveryIssueCounts(dag, deliveryId) {
177
+ let done = 0;
178
+ let total = 0;
179
+ for (const node of dag.nodes.values()) {
180
+ if (node.deliveryId === deliveryId) {
181
+ total++;
182
+ if (node.status === 'completed' || node.status === 'skipped') {
183
+ done++;
184
+ }
185
+ }
186
+ }
187
+ return { done, total };
188
+ }
189
+ /**
190
+ * Check if all tasks in the DAG are in a terminal state (completed, failed, or skipped).
191
+ */
192
+ export function isDAGComplete(dag) {
193
+ for (const node of dag.nodes.values()) {
194
+ if (node.status !== 'completed' && node.status !== 'failed' && node.status !== 'skipped') {
195
+ return false;
196
+ }
197
+ }
198
+ return true;
199
+ }
200
+ /**
201
+ * Add new issues to an existing DAG (for dynamic delivery pickup).
202
+ * The new issues are integrated with proper cross-delivery, CG-level,
203
+ * and file-overlap dependencies.
204
+ */
205
+ export function addIssuesToDAG(dag, newDelivery, newIssues, existingDeliveries) {
206
+ const addedNodes = [];
207
+ // Build context group lookup for the new issues
208
+ const newContextGroups = new Map();
209
+ for (const issue of newIssues) {
210
+ if (issue.issueType === 'Context Group') {
211
+ newContextGroups.set(issue.id, issue);
212
+ }
213
+ }
214
+ // Find the highest priority delivery that's still in-progress
215
+ // to establish blocking dependencies
216
+ const sortedExisting = [...existingDeliveries].sort((a, b) => a.priorityRank - b.priorityRank);
217
+ // Find blocking issues from existing deliveries with higher priority
218
+ const blockingIssueIds = [];
219
+ for (const existingDelivery of sortedExisting) {
220
+ if (existingDelivery.priorityRank < newDelivery.priorityRank) {
221
+ for (const node of dag.nodes.values()) {
222
+ if (node.deliveryId === existingDelivery.id &&
223
+ node.status !== 'completed' && node.status !== 'skipped') {
224
+ blockingIssueIds.push(node.issueId);
225
+ }
226
+ }
227
+ }
228
+ }
229
+ // Create nodes for new actionable issues
230
+ for (const issue of newIssues) {
231
+ if (issue.issueType === 'Context Group')
232
+ continue;
233
+ if (issue.status === 'Done')
234
+ continue;
235
+ if (dag.nodes.has(issue.id))
236
+ continue; // Already in DAG
237
+ const parentGroup = issue.parentIssueId ? newContextGroups.get(issue.parentIssueId) : null;
238
+ const node = {
239
+ issueId: issue.id,
240
+ issueKey: issue.key,
241
+ title: issue.title,
242
+ description: issue.description,
243
+ issueType: issue.issueType,
244
+ priority: issue.priority,
245
+ deliveryId: newDelivery.id,
246
+ deliveryName: newDelivery.name,
247
+ deliveryPriorityRank: newDelivery.priorityRank,
248
+ contextGroupId: issue.parentIssueId,
249
+ context: parentGroup?.context ?? null,
250
+ relevantFiles: parentGroup?.relevantFiles ?? issue.relevantFiles,
251
+ blockedBy: new Set(blockingIssueIds),
252
+ status: blockingIssueIds.length === 0 ? 'ready' : 'pending',
253
+ assignedWorkerSessionId: null,
254
+ };
255
+ dag.nodes.set(issue.id, node);
256
+ addedNodes.push(node);
257
+ }
258
+ // Apply CG-level dependency enforcement within the new delivery.
259
+ // This mirrors Phase 2.5 of buildTaskDAG for dynamically added issues.
260
+ addCGDependenciesForDelivery(dag.nodes, newDelivery, newIssues, newContextGroups);
261
+ // Apply file-overlap dependencies within the new delivery.
262
+ // This mirrors Phase 3 of buildTaskDAG for dynamically added issues.
263
+ addFileOverlapForDelivery(dag.nodes, newIssues, newContextGroups);
264
+ // Re-evaluate ready status: some nodes may have gained new blockers
265
+ for (const node of addedNodes) {
266
+ node.status = node.blockedBy.size === 0 ? 'ready' : 'pending';
267
+ }
268
+ dag.deliveryIds.add(newDelivery.id);
269
+ return addedNodes;
270
+ }
271
+ /**
272
+ * Get a summary of the DAG for logging.
273
+ */
274
+ export function getDAGSummary(dag) {
275
+ const byStatus = new Map();
276
+ for (const node of dag.nodes.values()) {
277
+ byStatus.set(node.status, (byStatus.get(node.status) ?? 0) + 1);
278
+ }
279
+ const parts = [`Total tasks: ${dag.nodes.size}`];
280
+ for (const [status, count] of byStatus) {
281
+ parts.push(`${status}: ${count}`);
282
+ }
283
+ parts.push(`Deliveries: ${dag.deliveryIds.size}`);
284
+ return parts.join(', ');
285
+ }
286
+ //# sourceMappingURL=task-converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-converter.js","sourceRoot":"","sources":["../src/task-converter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,OAAO,EACL,4BAA4B,EAC5B,iBAAiB,EACjB,0BAA0B,EAC1B,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAElC,oEAAoE;AAEpE;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,UAAkC,EAClC,MAA2B;IAE3B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC1C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IAEtC,6DAA6D;IAC7D,MAAM,gBAAgB,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAC3C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAC1C,CAAC;IAEF,2BAA2B;IAC3B,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA+B,CAAC;IAChE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC9D,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC;IAED,oEAAoE;IACpE,MAAM,aAAa,GAAG,IAAI,GAAG,EAA6B,CAAC;IAC3D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,SAAS,KAAK,eAAe,EAAE,CAAC;YACxC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,oFAAoF;IACpF,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEpD,4EAA4E;IAC5E,KAAK,IAAI,aAAa,GAAG,CAAC,EAAE,aAAa,GAAG,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC;QACrF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;QACjD,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC7B,MAAM,cAAc,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAE/D,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACnC,4DAA4D;YAC5D,IAAI,KAAK,CAAC,SAAS,KAAK,eAAe;gBAAE,SAAS;YAClD,2BAA2B;YAC3B,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM;gBAAE,SAAS;YAEtC,wCAAwC;YACxC,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAExF,MAAM,IAAI,GAAa;gBACrB,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,QAAQ,EAAE,KAAK,CAAC,GAAG;gBACnB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,YAAY,EAAE,QAAQ,CAAC,IAAI;gBAC3B,oBAAoB,EAAE,QAAQ,CAAC,YAAY;gBAC3C,cAAc,EAAE,KAAK,CAAC,aAAa;gBACnC,OAAO,EAAE,WAAW,EAAE,OAAO,IAAI,IAAI;gBACrC,aAAa,EAAE,WAAW,EAAE,aAAa,IAAI,KAAK,CAAC,aAAa;gBAChE,SAAS,EAAE,IAAI,GAAG,EAAE;gBACpB,MAAM,EAAE,SAAS;gBACjB,uBAAuB,EAAE,IAAI;aAC9B,CAAC;YAEF,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAC1B,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,2CAA2C;IAC3C,4BAA4B,CAAC,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;IAE3F,sEAAsE;IACtE,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;IAE5E,kEAAkE;IAClE,0BAA0B,CAAC,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;IAErF,sCAAsC;IACtC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;AAChC,CAAC;AAED,oEAAoE;AAEpE;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,oDAAoD;IACpD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACzB,MAAM,aAAa,GAAG,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAClF,IAAI,aAAa,KAAK,CAAC;YAAE,OAAO,aAAa,CAAC;QAC9C,OAAO,CAAC,CAAC,oBAAoB,GAAG,CAAC,CAAC,oBAAoB,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,QAAuB;IAC/C,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;QACpB,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;QACpB,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;QACpB,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;QACpB,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,GAAY,EAAE,OAAe;IACxD,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,CAAC,aAAa;QAAE,OAAO,EAAE,CAAC;IAE9B,aAAa,CAAC,MAAM,GAAG,WAAW,CAAC;IAEnC,MAAM,UAAU,GAAe,EAAE,CAAC;IAElC,2CAA2C;IAC3C,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAE/B,4DAA4D;YAC5D,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC3D,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;gBACtB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAY,EAAE,OAAe;IACpD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;IACzB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,GAAY,EAAE,OAAe,EAAE,eAAuB;IAC9E,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;QAC5B,IAAI,CAAC,uBAAuB,GAAG,eAAe,CAAC;IACjD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAY,EAAE,UAAkB;IACjE,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/F,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAY,EAAE,UAAkB;IACrE,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YACnC,KAAK,EAAE,CAAC;YACR,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC7D,IAAI,EAAE,CAAC;YACT,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACzF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,GAAY,EACZ,WAAiC,EACjC,SAA8B,EAC9B,kBAA0C;IAE1C,MAAM,UAAU,GAAe,EAAE,CAAC;IAElC,gDAAgD;IAChD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA6B,CAAC;IAC9D,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,SAAS,KAAK,eAAe,EAAE,CAAC;YACxC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,8DAA8D;IAC9D,qCAAqC;IACrC,MAAM,cAAc,GAAG,CAAC,GAAG,kBAAkB,CAAC,CAAC,IAAI,CACjD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAC1C,CAAC;IAEF,qEAAqE;IACrE,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,KAAK,MAAM,gBAAgB,IAAI,cAAc,EAAE,CAAC;QAC9C,IAAI,gBAAgB,CAAC,YAAY,GAAG,WAAW,CAAC,YAAY,EAAE,CAAC;YAC7D,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBACtC,IAAI,IAAI,CAAC,UAAU,KAAK,gBAAgB,CAAC,EAAE;oBACvC,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC7D,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,SAAS,KAAK,eAAe;YAAE,SAAS;QAClD,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM;YAAE,SAAS;QACtC,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAAE,SAAS,CAAC,iBAAiB;QAExD,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE3F,MAAM,IAAI,GAAa;YACrB,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,QAAQ,EAAE,KAAK,CAAC,GAAG;YACnB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,UAAU,EAAE,WAAW,CAAC,EAAE;YAC1B,YAAY,EAAE,WAAW,CAAC,IAAI;YAC9B,oBAAoB,EAAE,WAAW,CAAC,YAAY;YAC9C,cAAc,EAAE,KAAK,CAAC,aAAa;YACnC,OAAO,EAAE,WAAW,EAAE,OAAO,IAAI,IAAI;YACrC,aAAa,EAAE,WAAW,EAAE,aAAa,IAAI,KAAK,CAAC,aAAa;YAChE,SAAS,EAAE,IAAI,GAAG,CAAC,gBAAgB,CAAC;YACpC,MAAM,EAAE,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;YAC3D,uBAAuB,EAAE,IAAI;SAC9B,CAAC;QAEF,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,iEAAiE;IACjE,uEAAuE;IACvE,4BAA4B,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAElF,2DAA2D;IAC3D,qEAAqE;IACrE,yBAAyB,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAElE,oEAAoE;IACpE,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAChE,CAAC;IAED,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAEpC,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QACtC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,KAAK,GAAa,CAAC,gBAAgB,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3D,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,KAAK,KAAK,EAAE,CAAC,CAAC;IACpC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAElD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Task DAG builder -- barrel re-export.
3
+ *
4
+ * The implementation has been split into focused modules:
5
+ * - dependency-resolver.ts -- file overlap detection, CG/cross-delivery dependency edges
6
+ * - dag-validator.ts -- delivery dependency inference, cycle detection
7
+ * - task-converter.ts -- DAG building, task operations, DAG queries
8
+ *
9
+ * This file preserves the original import path for consumers (tests, etc.).
10
+ */
11
+ export { parseRelevantFiles, hasFileOverlap, addCrossDeliveryDependencies, addCGDependencies, getCGExecutionWaves, addFileOverlapDependencies, addCGDependenciesForDelivery, addFileOverlapForDelivery, } from './dependency-resolver.js';
12
+ export { inferDeliveryDependencies, detectDeliveryCycles, buildDeliveryDAGFromCGDeps, } from './dag-validator.js';
13
+ export { buildTaskDAG, getReadyTasks, completeTask, failTask, claimTask, isDeliveryComplete, getDeliveryIssueCounts, isDAGComplete, addIssuesToDAG, getDAGSummary, } from './task-converter.js';
14
+ //# sourceMappingURL=task-dag-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-dag-builder.d.ts","sourceRoot":"","sources":["../src/task-dag-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,4BAA4B,EAC5B,iBAAiB,EACjB,mBAAmB,EACnB,0BAA0B,EAC1B,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,EACb,cAAc,EACd,aAAa,GACd,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Task DAG builder -- barrel re-export.
3
+ *
4
+ * The implementation has been split into focused modules:
5
+ * - dependency-resolver.ts -- file overlap detection, CG/cross-delivery dependency edges
6
+ * - dag-validator.ts -- delivery dependency inference, cycle detection
7
+ * - task-converter.ts -- DAG building, task operations, DAG queries
8
+ *
9
+ * This file preserves the original import path for consumers (tests, etc.).
10
+ */
11
+ // Dependency resolution: file overlap, CG deps, cross-delivery deps
12
+ export { parseRelevantFiles, hasFileOverlap, addCrossDeliveryDependencies, addCGDependencies, getCGExecutionWaves, addFileOverlapDependencies, addCGDependenciesForDelivery, addFileOverlapForDelivery, } from './dependency-resolver.js';
13
+ // DAG validation: delivery dependency inference, cycle detection
14
+ export { inferDeliveryDependencies, detectDeliveryCycles, buildDeliveryDAGFromCGDeps, } from './dag-validator.js';
15
+ // DAG building and task operations
16
+ export { buildTaskDAG, getReadyTasks, completeTask, failTask, claimTask, isDeliveryComplete, getDeliveryIssueCounts, isDAGComplete, addIssuesToDAG, getDAGSummary, } from './task-converter.js';
17
+ //# sourceMappingURL=task-dag-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-dag-builder.js","sourceRoot":"","sources":["../src/task-dag-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,oEAAoE;AACpE,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,4BAA4B,EAC5B,iBAAiB,EACjB,mBAAmB,EACnB,0BAA0B,EAC1B,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAElC,iEAAiE;AACjE,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAE5B,mCAAmC;AACnC,OAAO,EACL,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,EACb,cAAc,EACd,aAAa,GACd,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Core prompt building infrastructure for strategy team prompts.
3
+ *
4
+ * Contains shared section builders used across multiple prompt variants,
5
+ * plus the main buildStrategyTeamPrompt function which composes them.
6
+ *
7
+ * Extracted from strategy-prompt-builder.ts for maintainability.
8
+ */
9
+ import type { AgentRole, StrategyDeliveryInfo, StrategyIssueInfo, StrategyExecutionConfig, PipelineConfig } from './types.js';
10
+ import type { ProductContextDoc } from './queries/strategies.js';
11
+ export interface DeploymentProfileSnapshotContext {
12
+ name: string;
13
+ inceptionPrompt: string | null;
14
+ guidelines: string | null;
15
+ }
16
+ export interface StrategyTeamPromptContext {
17
+ strategyId: string;
18
+ strategyName: string;
19
+ organizationId: string;
20
+ productId: string;
21
+ deliveries: StrategyDeliveryInfo[];
22
+ issues: StrategyIssueInfo[];
23
+ executionConfig: StrategyExecutionConfig;
24
+ pipelineConfig: PipelineConfig | null;
25
+ productContextDocs?: ProductContextDoc[];
26
+ deploymentProfileSnapshot?: DeploymentProfileSnapshotContext | null;
27
+ readOnly?: boolean;
28
+ }
29
+ /**
30
+ * Build the role context section from the agent role's system prompt template.
31
+ */
32
+ export declare function buildRoleSection(role: AgentRole): string[];
33
+ /**
34
+ * Build the domain boundaries section from allowed file patterns.
35
+ */
36
+ export declare function buildDomainBoundariesSection(role: AgentRole): string[];
37
+ /**
38
+ * Build the team lead role description section.
39
+ */
40
+ export declare function buildTeamLeadRoleSection(): string[];
41
+ /**
42
+ * Build the read-only audit mode notice section.
43
+ * Returns empty array if not in read-only mode.
44
+ */
45
+ export declare function buildReadOnlyAuditSection(readOnly?: boolean): string[];
46
+ /**
47
+ * Build the strategy context section (strategy ID, name, product ID).
48
+ */
49
+ export declare function buildStrategyContextSection(context: StrategyTeamPromptContext): string[];
50
+ /**
51
+ * Build the product context documents section.
52
+ * Deduplicates documents by title. Returns empty array if no docs.
53
+ */
54
+ export declare function buildProductContextSection(docs?: ProductContextDoc[]): string[];
55
+ /**
56
+ * Build the deployment profile section (inception prompt + guidelines).
57
+ * Returns empty array if no snapshot provided.
58
+ */
59
+ export declare function buildDeploymentProfileSection(snapshot?: DeploymentProfileSnapshotContext | null): string[];
60
+ /**
61
+ * Build the execution config section (max workers, poll interval).
62
+ */
63
+ export declare function buildExecutionConfigSection(config: StrategyExecutionConfig): string[];
64
+ /**
65
+ * Build the delivery listing sections: other deliveries (brief) + team deliveries (detailed).
66
+ *
67
+ * Partitions deliveries into team work (queued/coding) and other (human-owned).
68
+ * Renders issue counts, context groups, and standalone issues for team deliveries.
69
+ */
70
+ export declare function buildDeliveryListingSection(deliveries: StrategyDeliveryInfo[], issues: StrategyIssueInfo[]): string[];
71
+ /**
72
+ * Build the mandatory status update rules section.
73
+ */
74
+ export declare function buildStatusUpdateRulesSection(): string[];
75
+ /**
76
+ * Build the execution instructions section (Phase 1: Setup).
77
+ */
78
+ export declare function buildExecutionInstructionsSection(productId: string): string[];
79
+ /**
80
+ * Build the worker management section (Phase 2 / TEL-4).
81
+ */
82
+ export declare function buildWorkerManagementSection(maxWorkers: number): string[];
83
+ /**
84
+ * Build the delivery stage progression section (Phase 3 / TEL-5).
85
+ */
86
+ export declare function buildDeliveryStageProgressionSection(): string[];
87
+ /**
88
+ * Build the rescoping and splitting deliveries section.
89
+ */
90
+ export declare function buildRescopingSection(strategyId: string, productId: string): string[];
91
+ /**
92
+ * Build the new work delivery section (Phase 5 -- daemon-push model).
93
+ */
94
+ export declare function buildNewWorkDeliverySection(): string[];
95
+ /**
96
+ * Build the error handling and escalation section (TEL-6).
97
+ */
98
+ export declare function buildErrorHandlingSection(): string[];
99
+ /**
100
+ * Build the merge conflict resolution protocol section.
101
+ */
102
+ export declare function buildMergeConflictSection(): string[];
103
+ /**
104
+ * Build the completion section.
105
+ */
106
+ export declare function buildCompletionSection(): string[];
107
+ /**
108
+ * Build the prompt for the strategy team lead agent.
109
+ *
110
+ * Composes the prompt from individual section builders for maintainability.
111
+ * The output is identical to the original monolithic implementation.
112
+ */
113
+ export declare function buildStrategyTeamPrompt(role: AgentRole, context: StrategyTeamPromptContext): string;
114
+ //# sourceMappingURL=team-prompt-base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team-prompt-base.d.ts","sourceRoot":"","sources":["../src/team-prompt-base.ts"],"names":[],"mappings":"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"}