@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,187 @@
1
+ /**
2
+ * Shared API client infrastructure for query modules.
3
+ *
4
+ * Contains the HTTP client, circuit breaker, and config initialization
5
+ * that all domain query modules depend on.
6
+ *
7
+ * Resilience primitives (CircuitBreaker, withRetry, ApiError, etc.) and
8
+ * transform utilities (createTransform, mapDefinedKeys) are imported from
9
+ * @telora/daemon-core. This module provides the daemon-specific wiring:
10
+ * - Config initialization (initSupabase, getConfig)
11
+ * - Per-concern circuit breakers with daemon-specific thresholds
12
+ * - Action-to-concern mapping for the daemon's API surface
13
+ * - Wrapper functions (callApi, callApiValidated, callApiOnce) that
14
+ * delegate to the daemon-core ApiClient
15
+ */
16
+ import { CircuitBreaker, createApiClient, createTransform, mapDefinedKeys, } from '@telora/daemon-core';
17
+ // ---------------------------------------------------------------------------
18
+ // Re-export transform utilities so existing query modules keep working
19
+ // ---------------------------------------------------------------------------
20
+ export { createTransform, mapDefinedKeys };
21
+ // ---------------------------------------------------------------------------
22
+ // Per-concern circuit breakers
23
+ // ---------------------------------------------------------------------------
24
+ // Each concern gets its own circuit breaker so failures in one area
25
+ // (e.g. heartbeat) don't cascade to block other operations (e.g. strategy polling).
26
+ // Threshold rationale (per concern):
27
+ //
28
+ // heartbeat: High tolerance. Heartbeats are periodic and non-blocking.
29
+ // Missing a few is harmless; we only care about sustained outages.
30
+ // failureThreshold=8, cooldownMs=15s so recovery is fast.
31
+ //
32
+ // polling: Moderate tolerance. Polling drives strategy discovery, but the
33
+ // 30s poll interval means a short cooldown won't cause hammering.
34
+ // failureThreshold=5, cooldownMs=15s for quick recovery.
35
+ //
36
+ // activity: Session updates and telemetry. Important but can tolerate brief
37
+ // gaps. Standard threshold with moderate cooldown.
38
+ // failureThreshold=5, cooldownMs=30s.
39
+ //
40
+ // delivery: Most critical -- guards, workflow transitions, issue queries.
41
+ // Keep threshold moderate but recover quickly.
42
+ // failureThreshold=5, cooldownMs=15s, maxCooldownMs=120s.
43
+ const circuitBreakers = {
44
+ heartbeat: new CircuitBreaker({
45
+ failureThreshold: 8,
46
+ cooldownMs: 15000,
47
+ maxCooldownMs: 120000,
48
+ label: 'heartbeat',
49
+ }),
50
+ polling: new CircuitBreaker({
51
+ failureThreshold: 5,
52
+ cooldownMs: 15000,
53
+ maxCooldownMs: 120000,
54
+ label: 'polling',
55
+ }),
56
+ activity: new CircuitBreaker({
57
+ failureThreshold: 5,
58
+ cooldownMs: 30000,
59
+ maxCooldownMs: 180000,
60
+ label: 'activity',
61
+ }),
62
+ delivery: new CircuitBreaker({
63
+ failureThreshold: 5,
64
+ cooldownMs: 15000,
65
+ maxCooldownMs: 120000,
66
+ label: 'delivery',
67
+ }),
68
+ };
69
+ /**
70
+ * Map API actions to their circuit breaker concern.
71
+ * Actions not listed here fall through to the 'delivery' breaker (general-purpose).
72
+ */
73
+ const actionToConcern = {
74
+ // Heartbeat concern
75
+ daemon_heartbeat: 'heartbeat',
76
+ daemon_disconnect: 'heartbeat',
77
+ // Polling concern (strategy/role discovery)
78
+ daemon_get_ready_strategies: 'polling',
79
+ daemon_get_active_strategies: 'polling',
80
+ agent_role_list: 'polling',
81
+ daemon_get_done_deliveries: 'polling',
82
+ daemon_get_merge_conflict_deliveries: 'polling',
83
+ daemon_get_review_requests: 'polling',
84
+ daemon_clear_review_request: 'activity',
85
+ // Activity tracking concern (session updates, telemetry)
86
+ daemon_update_session: 'activity',
87
+ daemon_create_session: 'activity',
88
+ daemon_get_active_sessions: 'activity',
89
+ daemon_get_active_session_count: 'activity',
90
+ daemon_get_session_aggregates: 'activity',
91
+ daemon_report_telemetry: 'activity',
92
+ 'telemetry-ingest-metrics': 'activity',
93
+ 'telemetry-ingest-events': 'activity',
94
+ // QA environment concern (same as polling -- periodic, non-critical)
95
+ daemon_get_qa_requests: 'polling',
96
+ daemon_update_qa_status: 'activity',
97
+ // Worktree state concern (delivery-critical -- affects worktree lifecycle)
98
+ daemon_worktree_upsert: 'delivery',
99
+ daemon_worktree_remove: 'delivery',
100
+ daemon_worktree_list: 'polling',
101
+ // Control state concern (polling -- periodic check for operator actions)
102
+ daemon_get_control_state_changes: 'polling',
103
+ set_execution_unit_control_state: 'activity',
104
+ // Git activity concern (periodic, non-critical)
105
+ daemon_upsert_git_activity: 'activity',
106
+ daemon_get_latest_git_activity: 'polling',
107
+ };
108
+ /**
109
+ * Resolve the concern name for a given API action.
110
+ * Falls through to 'delivery' for unmapped actions.
111
+ */
112
+ function getConcernForAction(action) {
113
+ return actionToConcern[action] ?? 'delivery';
114
+ }
115
+ // ---------------------------------------------------------------------------
116
+ // API client (daemon-core backed)
117
+ // ---------------------------------------------------------------------------
118
+ let daemonConfig = null;
119
+ let client = null;
120
+ /**
121
+ * Get or create the API client backed by daemon-core.
122
+ * Lazily initialized on first call after initSupabase().
123
+ */
124
+ function getClient() {
125
+ if (!daemonConfig) {
126
+ throw new Error('API client not initialized. Call initSupabase first.');
127
+ }
128
+ if (!client) {
129
+ client = createApiClient(daemonConfig, circuitBreakers, getConcernForAction);
130
+ }
131
+ return client;
132
+ }
133
+ /**
134
+ * Get all per-concern circuit breakers (for diagnostics/testing).
135
+ */
136
+ export function getApiCircuitBreakers() {
137
+ return circuitBreakers;
138
+ }
139
+ /**
140
+ * Initialize the API client with config.
141
+ */
142
+ export function initSupabase(config) {
143
+ daemonConfig = config;
144
+ // Reset the client so it picks up the new config
145
+ client = null;
146
+ }
147
+ /**
148
+ * Get the config (throws if not initialized).
149
+ */
150
+ export function getConfig() {
151
+ if (!daemonConfig) {
152
+ throw new Error('API client not initialized. Call initSupabase first.');
153
+ }
154
+ return daemonConfig;
155
+ }
156
+ /**
157
+ * Validate the configured tracker auth by calling a lightweight API endpoint.
158
+ * Should be called at daemon startup before starting any polling loops.
159
+ * Throws immediately with a clear error message if auth is invalid.
160
+ */
161
+ export async function validateTrackerAuth() {
162
+ return getClient().validateTrackerAuth();
163
+ }
164
+ /**
165
+ * Call the product-api edge function with tracker authentication.
166
+ * Includes retry with exponential backoff and circuit breaker protection.
167
+ */
168
+ export async function callApi(action, params = {}) {
169
+ return getClient().callApi(action, params);
170
+ }
171
+ /**
172
+ * Call the product-api edge function and validate the response with a Zod schema.
173
+ *
174
+ * On validation failure, throws an error with the action name and Zod issue details.
175
+ * The existing retry/circuit breaker catches the thrown error.
176
+ */
177
+ export async function callApiValidated(action, schema, params = {}) {
178
+ return getClient().callApiValidated(action, schema, params);
179
+ }
180
+ /**
181
+ * Single attempt to call the product-api edge function.
182
+ * Throws ApiError with retryability classification.
183
+ */
184
+ export async function callApiOnce(action, params = {}) {
185
+ return getClient().callApiOnce(action, params);
186
+ }
187
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/queries/shared.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Strategy-level queries for team execution.
3
+ *
4
+ * Fetches all deliveries and issues for a strategy so the team lead
5
+ * can build a complete task DAG.
6
+ */
7
+ import type { StrategyDeliveryInfo, StrategyIssueInfo } from '../types.js';
8
+ /**
9
+ * A pending review request from the daemon poll.
10
+ */
11
+ export interface ReviewRequest {
12
+ strategyId: string;
13
+ strategyName: string;
14
+ productId: string | null;
15
+ reviewRequestedAt: string;
16
+ }
17
+ /**
18
+ * A product context document providing background information for AI agents.
19
+ */
20
+ export interface ProductContextDoc {
21
+ title: string;
22
+ content: string;
23
+ }
24
+ /**
25
+ * Fetch all deliveries for a strategy, ordered by priority rank.
26
+ */
27
+ export declare function getStrategyDeliveries(strategyId: string): Promise<StrategyDeliveryInfo[]>;
28
+ /**
29
+ * Fetch all issues across all deliveries for a strategy.
30
+ */
31
+ export declare function getStrategyIssues(strategyId: string): Promise<StrategyIssueInfo[]>;
32
+ /**
33
+ * Fetch product context documents relevant to a strategy.
34
+ *
35
+ * Returns documents with include_mode='always' plus docs linked to the
36
+ * strategy (excludes drafts). Maps the response to title/content pairs.
37
+ */
38
+ export declare function getProductContextForStrategy(productId: string, strategyId: string): Promise<ProductContextDoc[]>;
39
+ /**
40
+ * Persist the Claude Code session ID on the strategy row for --resume support.
41
+ */
42
+ export declare function updateStrategyClaudeSessionId(strategyId: string, claudeSessionId: string): Promise<void>;
43
+ /**
44
+ * Get strategies with pending review requests for this product.
45
+ */
46
+ export declare function getReviewRequests(productId: string): Promise<ReviewRequest[]>;
47
+ /**
48
+ * Clear review_requested_at for a strategy after the daemon has processed it.
49
+ */
50
+ export declare function clearReviewRequest(strategyId: string): Promise<void>;
51
+ /**
52
+ * The deployment profile snapshot stored on a product.
53
+ *
54
+ * Derived from the deployment_profiles record at the time the profile was linked.
55
+ * Used to inject operating context into agent prompts without live lookups.
56
+ */
57
+ export interface DeploymentProfileSnapshot {
58
+ name: string;
59
+ inceptionPrompt: string | null;
60
+ guidelines: string | null;
61
+ }
62
+ /**
63
+ * Fetch the deployment profile snapshot for a product.
64
+ *
65
+ * Returns null if the product has no linked deployment profile or
66
+ * if the snapshot has not been stored yet.
67
+ */
68
+ export declare function getProductDeploymentProfileSnapshot(productId: string): Promise<DeploymentProfileSnapshot | null>;
69
+ //# sourceMappingURL=strategies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategies.d.ts","sourceRoot":"","sources":["../../src/queries/strategies.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAQ3E;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAoB/F;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAQxF;AAED;;;;;GAKG;AACH,wBAAsB,4BAA4B,CAChD,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAW9B;AAED;;GAEG;AACH,wBAAsB,6BAA6B,CACjD,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAMnF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1E;AAED;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAsB,mCAAmC,CACvD,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAM3C"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Strategy-level queries for team execution.
3
+ *
4
+ * Fetches all deliveries and issues for a strategy so the team lead
5
+ * can build a complete task DAG.
6
+ */
7
+ import { callApi, callApiValidated } from './shared.js';
8
+ import { StrategyDeliveriesResponseSchema, StrategyIssuesResponseSchema, ProductContextResponseSchema, } from './schemas.js';
9
+ /**
10
+ * Fetch all deliveries for a strategy, ordered by priority rank.
11
+ */
12
+ export async function getStrategyDeliveries(strategyId) {
13
+ const result = await callApiValidated('daemon_get_strategy_deliveries', StrategyDeliveriesResponseSchema, { strategyId });
14
+ return result.deliveries.map((d) => ({
15
+ id: d.id,
16
+ name: d.name,
17
+ description: d.description,
18
+ priorityRank: d.priorityRank ?? 999,
19
+ executionStatus: d.executionStatus,
20
+ acceptanceCriteria: d.acceptanceCriteria,
21
+ techContext: d.techContext,
22
+ currentWorkflowStageId: d.currentWorkflowStageId ?? null,
23
+ mergeCommitSha: d.mergeCommitSha ?? null,
24
+ gitState: d.gitState ?? null,
25
+ stageDescription: d.stageDescription ?? null,
26
+ }));
27
+ }
28
+ /**
29
+ * Fetch all issues across all deliveries for a strategy.
30
+ */
31
+ export async function getStrategyIssues(strategyId) {
32
+ const result = await callApiValidated('daemon_get_strategy_issues', StrategyIssuesResponseSchema, { strategyId });
33
+ return result.issues;
34
+ }
35
+ /**
36
+ * Fetch product context documents relevant to a strategy.
37
+ *
38
+ * Returns documents with include_mode='always' plus docs linked to the
39
+ * strategy (excludes drafts). Maps the response to title/content pairs.
40
+ */
41
+ export async function getProductContextForStrategy(productId, strategyId) {
42
+ const result = await callApiValidated('context_list', ProductContextResponseSchema, { productId, strategyId, detail: 'full' });
43
+ return result.documents.map((doc) => ({
44
+ title: doc.title,
45
+ content: doc.content,
46
+ }));
47
+ }
48
+ /**
49
+ * Persist the Claude Code session ID on the strategy row for --resume support.
50
+ */
51
+ export async function updateStrategyClaudeSessionId(strategyId, claudeSessionId) {
52
+ await callApi('daemon_update_strategy_session_id', {
53
+ strategyId,
54
+ claudeSessionId,
55
+ });
56
+ }
57
+ /**
58
+ * Get strategies with pending review requests for this product.
59
+ */
60
+ export async function getReviewRequests(productId) {
61
+ const result = await callApi('daemon_get_review_requests', { productId });
62
+ return result.strategies;
63
+ }
64
+ /**
65
+ * Clear review_requested_at for a strategy after the daemon has processed it.
66
+ */
67
+ export async function clearReviewRequest(strategyId) {
68
+ await callApi('daemon_clear_review_request', { strategyId });
69
+ }
70
+ /**
71
+ * Fetch the deployment profile snapshot for a product.
72
+ *
73
+ * Returns null if the product has no linked deployment profile or
74
+ * if the snapshot has not been stored yet.
75
+ */
76
+ export async function getProductDeploymentProfileSnapshot(productId) {
77
+ const result = await callApi('get_product_deployment_profile_snapshot', { productId });
78
+ return result.snapshot ?? null;
79
+ }
80
+ //# sourceMappingURL=strategies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategies.js","sourceRoot":"","sources":["../../src/queries/strategies.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EACL,gCAAgC,EAChC,4BAA4B,EAC5B,4BAA4B,GAC7B,MAAM,cAAc,CAAC;AAoBtB;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,UAAkB;IAC5D,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,gCAAgC,EAChC,gCAAgC,EAChC,EAAE,UAAU,EAAE,CACf,CAAC;IAEF,OAAO,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnC,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,GAAG;QACnC,eAAe,EAAE,CAAC,CAAC,eAAe;QAClC,kBAAkB,EAAE,CAAC,CAAC,kBAAkB;QACxC,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,sBAAsB,EAAE,CAAC,CAAC,sBAAsB,IAAI,IAAI;QACxD,cAAc,EAAE,CAAC,CAAC,cAAc,IAAI,IAAI;QACxC,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;QAC5B,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,IAAI,IAAI;KAC7C,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,UAAkB;IACxD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,4BAA4B,EAC5B,4BAA4B,EAC5B,EAAE,UAAU,EAAE,CACf,CAAC;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,SAAiB,EACjB,UAAkB;IAElB,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,cAAc,EACd,4BAA4B,EAC5B,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,CAC1C,CAAC;IAEF,OAAO,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACpC,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,OAAO,EAAE,GAAG,CAAC,OAAO;KACrB,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,UAAkB,EAClB,eAAuB;IAEvB,MAAM,OAAO,CAAC,mCAAmC,EAAE;QACjD,UAAU;QACV,eAAe;KAChB,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,SAAiB;IACvD,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,4BAA4B,EAC5B,EAAE,SAAS,EAAE,CACd,CAAC;IACF,OAAO,MAAM,CAAC,UAAU,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,UAAkB;IACzD,MAAM,OAAO,CAAC,6BAA6B,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;AAC/D,CAAC;AAcD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mCAAmC,CACvD,SAAiB;IAEjB,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,yCAAyC,EACzC,EAAE,SAAS,EAAE,CACd,CAAC;IACF,OAAO,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC;AACjC,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Workflow queries.
3
+ */
4
+ import type { Workflow } from '../types.js';
5
+ /**
6
+ * Fetch the effective workflow for a delivery, including ordered stages.
7
+ * Uses resolve_effective_workflow RPC to walk assignment hierarchy
8
+ * (delivery -> strategy -> product -> built-in default).
9
+ */
10
+ export declare function fetchEffectiveWorkflow(deliveryId: string): Promise<Workflow>;
11
+ /**
12
+ * Fetch the effective workflow for a delivery with transitions included.
13
+ * Used when USE_UNIFIED_WORKFLOWS is enabled so the daemon can resolve
14
+ * WorkflowTransition objects for guard evaluation.
15
+ */
16
+ export declare function fetchEffectiveWorkflowWithTransitions(deliveryId: string): Promise<Workflow>;
17
+ //# sourceMappingURL=workflows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../src/queries/workflows.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAqC,MAAM,aAAa,CAAC;AAO/E;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAgBlF;AAED;;;;GAIG;AACH,wBAAsB,qCAAqC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAyBjG"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Workflow queries.
3
+ */
4
+ import { callApiValidated } from './shared.js';
5
+ import { WorkflowResponseSchema, WorkflowWithTransitionsResponseSchema, } from './schemas.js';
6
+ /**
7
+ * Fetch the effective workflow for a delivery, including ordered stages.
8
+ * Uses resolve_effective_workflow RPC to walk assignment hierarchy
9
+ * (delivery -> strategy -> product -> built-in default).
10
+ */
11
+ export async function fetchEffectiveWorkflow(deliveryId) {
12
+ const result = await callApiValidated('daemon_get_delivery_workflow', WorkflowResponseSchema, { deliveryId });
13
+ return {
14
+ id: result.workflow.id,
15
+ stages: result.workflow.stages.map((s) => ({
16
+ id: s.id,
17
+ name: s.name,
18
+ description: s.description,
19
+ sort_order: s.sortOrder,
20
+ })),
21
+ };
22
+ }
23
+ /**
24
+ * Fetch the effective workflow for a delivery with transitions included.
25
+ * Used when USE_UNIFIED_WORKFLOWS is enabled so the daemon can resolve
26
+ * WorkflowTransition objects for guard evaluation.
27
+ */
28
+ export async function fetchEffectiveWorkflowWithTransitions(deliveryId) {
29
+ const result = await callApiValidated('daemon_get_delivery_workflow', WorkflowWithTransitionsResponseSchema, { deliveryId, includeTransitions: true });
30
+ return {
31
+ id: result.workflow.id,
32
+ stages: result.workflow.stages.map((s) => ({
33
+ id: s.id,
34
+ name: s.name,
35
+ description: s.description,
36
+ sort_order: s.sortOrder,
37
+ })),
38
+ transitions: (result.workflow.transitions ?? []).map((t) => ({
39
+ id: t.id,
40
+ workflow_id: t.workflowId,
41
+ from_stage_id: t.fromStageId,
42
+ to_stage_id: t.toStageId,
43
+ name: t.name,
44
+ is_automatic: t.isAutomatic,
45
+ sort_order: t.sortOrder,
46
+ })),
47
+ };
48
+ }
49
+ //# sourceMappingURL=workflows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../src/queries/workflows.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,sBAAsB,EACtB,qCAAqC,GACtC,MAAM,cAAc,CAAC;AAEtB;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,UAAkB;IAC7D,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,8BAA8B,EAC9B,sBAAsB,EACtB,EAAE,UAAU,EAAE,CACf,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE;QACtB,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAiB,EAAE,CAAC,CAAC;YACxD,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,UAAU,EAAE,CAAC,CAAC,SAAS;SACxB,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qCAAqC,CAAC,UAAkB;IAC5E,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,8BAA8B,EAC9B,qCAAqC,EACrC,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,CACzC,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE;QACtB,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAiB,EAAE,CAAC,CAAC;YACxD,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,UAAU,EAAE,CAAC,CAAC,SAAS;SACxB,CAAC,CAAC;QACH,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAsB,EAAE,CAAC,CAAC;YAC/E,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,WAAW,EAAE,CAAC,CAAC,UAAU;YACzB,aAAa,EAAE,CAAC,CAAC,WAAW;YAC5B,WAAW,EAAE,CAAC,CAAC,SAAS;YACxB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,YAAY,EAAE,CAAC,CAAC,WAAW;YAC3B,UAAU,EAAE,CAAC,CAAC,SAAS;SACxB,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Worktree state queries.
3
+ *
4
+ * CRUD operations for the strategy_worktrees table.
5
+ * Used by the write-through cache in strategy-worktree-state.ts.
6
+ */
7
+ /**
8
+ * A worktree record from the database.
9
+ */
10
+ export interface WorktreeRecord {
11
+ id: string;
12
+ strategyId: string;
13
+ productId?: string | null;
14
+ worktreePath: string;
15
+ branchName: string;
16
+ status: string;
17
+ createdAt: string;
18
+ updatedAt: string;
19
+ }
20
+ /**
21
+ * Upsert a worktree record (create or update by strategy_id).
22
+ */
23
+ export declare function upsertWorktreeRecord(params: {
24
+ strategyId: string;
25
+ productId: string | null;
26
+ worktreePath: string;
27
+ branchName: string;
28
+ status?: string;
29
+ }): Promise<WorktreeRecord>;
30
+ /**
31
+ * Remove a worktree record by strategy_id.
32
+ */
33
+ export declare function removeWorktreeRecord(strategyId: string): Promise<void>;
34
+ /**
35
+ * List all worktree records, optionally filtered by product_id.
36
+ */
37
+ export declare function listWorktreeRecords(productId?: string): Promise<WorktreeRecord[]>;
38
+ //# sourceMappingURL=worktrees.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktrees.d.ts","sourceRoot":"","sources":["../../src/queries/worktrees.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,cAAc,CAAC,CAe1B;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5E;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAOvF"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Worktree state queries.
3
+ *
4
+ * CRUD operations for the strategy_worktrees table.
5
+ * Used by the write-through cache in strategy-worktree-state.ts.
6
+ */
7
+ import { callApi, callApiValidated } from './shared.js';
8
+ import { WorktreeUpsertResponseSchema, WorktreeListResponseSchema, } from './schemas.js';
9
+ /**
10
+ * Upsert a worktree record (create or update by strategy_id).
11
+ */
12
+ export async function upsertWorktreeRecord(params) {
13
+ const result = await callApiValidated('daemon_worktree_upsert', WorktreeUpsertResponseSchema, {
14
+ strategyId: params.strategyId,
15
+ productId: params.productId,
16
+ fields: {
17
+ worktreePath: params.worktreePath,
18
+ branchName: params.branchName,
19
+ status: params.status,
20
+ },
21
+ });
22
+ return result.worktree;
23
+ }
24
+ /**
25
+ * Remove a worktree record by strategy_id.
26
+ */
27
+ export async function removeWorktreeRecord(strategyId) {
28
+ await callApi('daemon_worktree_remove', { strategyId });
29
+ }
30
+ /**
31
+ * List all worktree records, optionally filtered by product_id.
32
+ */
33
+ export async function listWorktreeRecords(productId) {
34
+ const result = await callApiValidated('daemon_worktree_list', WorktreeListResponseSchema, productId ? { productId } : {});
35
+ return result.worktrees;
36
+ }
37
+ //# sourceMappingURL=worktrees.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktrees.js","sourceRoot":"","sources":["../../src/queries/worktrees.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,cAAc,CAAC;AAgBtB;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAM1C;IACC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,wBAAwB,EACxB,4BAA4B,EAC5B;QACE,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE;YACN,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB;KACF,CACF,CAAC;IACF,OAAO,MAAM,CAAC,QAAQ,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,UAAkB;IAC3D,MAAM,OAAO,CAAC,wBAAwB,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,SAAkB;IAC1D,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,sBAAsB,EACtB,0BAA0B,EAC1B,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAC/B,CAAC;IACF,OAAO,MAAM,CAAC,SAAS,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Self-update mechanism for the Telora daemon.
3
+ *
4
+ * Handles the full update lifecycle:
5
+ * 1. Detect installation mode (npm registry vs git source)
6
+ * 2. Dependency-ordered rebuild chain for git source mode
7
+ * 3. Pre-update snapshot for rollback
8
+ * 4. Update orchestration (stop engines, update, restart)
9
+ * 5. Version check and up-to-date detection
10
+ * 6. Migration auto-apply after update
11
+ *
12
+ * Two installation modes:
13
+ * - **npm**: Installed globally via `npm install -g @telora/daemon`.
14
+ * Updates via `npm install -g @telora/daemon@latest`.
15
+ * - **git**: Running from a git checkout (development mode).
16
+ * Updates via `git pull` + dependency-ordered rebuild.
17
+ */
18
+ export type InstallMode = 'npm' | 'git';
19
+ export interface UpdateResult {
20
+ success: boolean;
21
+ previousVersion: string;
22
+ newVersion: string;
23
+ mode: InstallMode;
24
+ snapshotPath?: string;
25
+ migrationsApplied?: boolean;
26
+ error?: string;
27
+ }
28
+ export interface VersionInfo {
29
+ current: string;
30
+ latest: string | null;
31
+ updateAvailable: boolean;
32
+ mode: InstallMode;
33
+ }
34
+ /**
35
+ * Detect whether the daemon is running from an npm global install
36
+ * or from a git source checkout.
37
+ *
38
+ * Heuristics:
39
+ * - If the source directory contains a `.git` directory (or a parent does), it's git mode.
40
+ * - If running from a `node_modules` path or a global npm prefix, it's npm mode.
41
+ */
42
+ export declare function detectInstallMode(): InstallMode;
43
+ /**
44
+ * Get the git repository root for the daemon package.
45
+ * Returns null if not in a git repo.
46
+ */
47
+ export declare function getRepoRoot(): string | null;
48
+ /**
49
+ * Rebuild all daemon packages in dependency order.
50
+ * Used in git mode after pulling new code.
51
+ *
52
+ * Build order: daemon-core -> factory -> daemon
53
+ * (Each package depends on the previous one.)
54
+ */
55
+ export declare function rebuildChain(repoRoot: string): void;
56
+ /**
57
+ * Create a snapshot of the current daemon dist/ directory for rollback.
58
+ *
59
+ * In npm mode: records the current version so `npm install -g @telora/daemon@<version>`
60
+ * can restore it.
61
+ * In git mode: records the current git commit SHA so `git reset --hard <sha>` can restore it.
62
+ */
63
+ export declare function createSnapshot(mode: InstallMode): string;
64
+ /**
65
+ * Rollback to a previous snapshot.
66
+ *
67
+ * In npm mode: reinstalls the previous version.
68
+ * In git mode: resets to the previous commit and rebuilds.
69
+ */
70
+ export declare function rollback(snapshotPath: string): Promise<boolean>;
71
+ /**
72
+ * Perform a full update cycle:
73
+ * 1. Check for updates
74
+ * 2. Create a rollback snapshot
75
+ * 3. Install the update (npm or git mode)
76
+ * 4. Apply migrations if available
77
+ *
78
+ * Does NOT stop/restart engines -- that's handled by the caller
79
+ * (either the auto-update loop or the CLI `telora-daemon update` command).
80
+ */
81
+ export declare function performUpdate(opts?: {
82
+ skipMigrations?: boolean;
83
+ }): Promise<UpdateResult>;
84
+ /**
85
+ * Get comprehensive version information.
86
+ */
87
+ export declare function getVersionInfo(): Promise<VersionInfo>;
88
+ /**
89
+ * Apply pending Supabase migrations after an update.
90
+ * Returns true if migrations were applied, false if none were pending.
91
+ * Throws on failure.
92
+ */
93
+ export declare function applyMigrations(): boolean;
94
+ //# sourceMappingURL=self-update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"self-update.d.ts","sourceRoot":"","sources":["../src/self-update.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAYH,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,CAAC;AAExC,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,IAAI,EAAE,WAAW,CAAC;CACnB;AAMD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CAW/C;AAaD;;;GAGG;AACH,wBAAgB,WAAW,IAAI,MAAM,GAAG,IAAI,CAc3C;AASD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAqBnD;AAMD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAoCxD;AAED;;;;;GAKG;AACH,wBAAsB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAgDrE;AAMD;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,IAAI,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAsE9F;AAMD;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CAmD3D;AA8BD;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAmCzC"}