@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,438 @@
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
+ import { execFileSync, execFile } from 'node:child_process';
19
+ import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
20
+ import { dirname, resolve, join } from 'node:path';
21
+ import { fileURLToPath } from 'node:url';
22
+ import { checkForUpdates } from './version-check.js';
23
+ // ---------------------------------------------------------------------------
24
+ // Installation mode detection (TEL-1)
25
+ // ---------------------------------------------------------------------------
26
+ /**
27
+ * Detect whether the daemon is running from an npm global install
28
+ * or from a git source checkout.
29
+ *
30
+ * Heuristics:
31
+ * - If the source directory contains a `.git` directory (or a parent does), it's git mode.
32
+ * - If running from a `node_modules` path or a global npm prefix, it's npm mode.
33
+ */
34
+ export function detectInstallMode() {
35
+ const thisDir = dirname(fileURLToPath(import.meta.url));
36
+ const pkgRoot = resolve(thisDir, '..');
37
+ // Check if we're in a git repo
38
+ if (isInGitRepo(pkgRoot)) {
39
+ return 'git';
40
+ }
41
+ // Default to npm (global install, node_modules path, etc.)
42
+ return 'npm';
43
+ }
44
+ function isInGitRepo(startDir) {
45
+ let dir = startDir;
46
+ for (let i = 0; i < 10; i++) {
47
+ if (existsSync(join(dir, '.git')))
48
+ return true;
49
+ const parent = dirname(dir);
50
+ if (parent === dir)
51
+ break;
52
+ dir = parent;
53
+ }
54
+ return false;
55
+ }
56
+ /**
57
+ * Get the git repository root for the daemon package.
58
+ * Returns null if not in a git repo.
59
+ */
60
+ export function getRepoRoot() {
61
+ const thisDir = dirname(fileURLToPath(import.meta.url));
62
+ const pkgRoot = resolve(thisDir, '..');
63
+ try {
64
+ const result = execFileSync('git', ['rev-parse', '--show-toplevel'], {
65
+ cwd: pkgRoot,
66
+ encoding: 'utf-8',
67
+ timeout: 5000,
68
+ });
69
+ return result.trim();
70
+ }
71
+ catch {
72
+ return null;
73
+ }
74
+ }
75
+ // ---------------------------------------------------------------------------
76
+ // Dependency-ordered rebuild chain (TEL-2)
77
+ // ---------------------------------------------------------------------------
78
+ /** Packages in dependency order (must build in this order). */
79
+ const BUILD_ORDER = ['packages/daemon-core', 'packages/factory', 'packages/daemon'];
80
+ /**
81
+ * Rebuild all daemon packages in dependency order.
82
+ * Used in git mode after pulling new code.
83
+ *
84
+ * Build order: daemon-core -> factory -> daemon
85
+ * (Each package depends on the previous one.)
86
+ */
87
+ export function rebuildChain(repoRoot) {
88
+ for (const pkg of BUILD_ORDER) {
89
+ const pkgDir = join(repoRoot, pkg);
90
+ if (!existsSync(join(pkgDir, 'package.json'))) {
91
+ console.log(`[self-update] Skipping ${pkg} (no package.json)`);
92
+ continue;
93
+ }
94
+ console.log(`[self-update] Building ${pkg}...`);
95
+ try {
96
+ execFileSync('npm', ['run', 'build'], {
97
+ cwd: pkgDir,
98
+ stdio: 'inherit',
99
+ timeout: 120_000,
100
+ });
101
+ }
102
+ catch (err) {
103
+ const message = err instanceof Error ? err.message : String(err);
104
+ throw new Error(`Failed to build ${pkg}: ${message}`);
105
+ }
106
+ }
107
+ console.log('[self-update] Rebuild chain complete');
108
+ }
109
+ // ---------------------------------------------------------------------------
110
+ // Pre-update snapshot for rollback (TEL-3)
111
+ // ---------------------------------------------------------------------------
112
+ /**
113
+ * Create a snapshot of the current daemon dist/ directory for rollback.
114
+ *
115
+ * In npm mode: records the current version so `npm install -g @telora/daemon@<version>`
116
+ * can restore it.
117
+ * In git mode: records the current git commit SHA so `git reset --hard <sha>` can restore it.
118
+ */
119
+ export function createSnapshot(mode) {
120
+ const thisDir = dirname(fileURLToPath(import.meta.url));
121
+ const pkgRoot = resolve(thisDir, '..');
122
+ const snapshotDir = resolve(pkgRoot, '..', '..', '.telora', 'update-snapshots');
123
+ mkdirSync(snapshotDir, { recursive: true });
124
+ const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
125
+ const snapshotPath = join(snapshotDir, `snapshot-${timestamp}.json`);
126
+ const snapshot = {
127
+ timestamp: new Date().toISOString(),
128
+ mode,
129
+ version: getCurrentVersion(),
130
+ };
131
+ if (mode === 'git') {
132
+ try {
133
+ snapshot.commitSha = execFileSync('git', ['rev-parse', 'HEAD'], {
134
+ cwd: pkgRoot,
135
+ encoding: 'utf-8',
136
+ timeout: 5000,
137
+ }).trim();
138
+ snapshot.branch = execFileSync('git', ['rev-parse', '--abbrev-ref', 'HEAD'], {
139
+ cwd: pkgRoot,
140
+ encoding: 'utf-8',
141
+ timeout: 5000,
142
+ }).trim();
143
+ }
144
+ catch {
145
+ // Best effort -- snapshot still useful for version rollback
146
+ }
147
+ }
148
+ writeFileSync(snapshotPath, JSON.stringify(snapshot, null, 2) + '\n');
149
+ console.log(`[self-update] Snapshot saved: ${snapshotPath}`);
150
+ return snapshotPath;
151
+ }
152
+ /**
153
+ * Rollback to a previous snapshot.
154
+ *
155
+ * In npm mode: reinstalls the previous version.
156
+ * In git mode: resets to the previous commit and rebuilds.
157
+ */
158
+ export async function rollback(snapshotPath) {
159
+ if (!existsSync(snapshotPath)) {
160
+ console.error(`[self-update] Snapshot not found: ${snapshotPath}`);
161
+ return false;
162
+ }
163
+ try {
164
+ const snapshot = JSON.parse(readFileSync(snapshotPath, 'utf-8'));
165
+ const mode = snapshot.mode;
166
+ if (mode === 'npm') {
167
+ const version = snapshot.version;
168
+ console.log(`[self-update] Rolling back to v${version} via npm...`);
169
+ return await installNpmVersion(`@telora/daemon@${version}`);
170
+ }
171
+ if (mode === 'git') {
172
+ const commitSha = snapshot.commitSha;
173
+ if (!commitSha) {
174
+ console.error('[self-update] No commit SHA in snapshot, cannot rollback');
175
+ return false;
176
+ }
177
+ const repoRoot = getRepoRoot();
178
+ if (!repoRoot) {
179
+ console.error('[self-update] Cannot determine repo root for git rollback');
180
+ return false;
181
+ }
182
+ console.log(`[self-update] Rolling back to commit ${commitSha.slice(0, 8)}...`);
183
+ // Use git reset --hard to move the branch pointer without detaching HEAD.
184
+ // git checkout <sha> would leave the repo in detached HEAD state, breaking
185
+ // subsequent git pull/push operations.
186
+ execFileSync('git', ['reset', '--hard', commitSha], {
187
+ cwd: repoRoot,
188
+ stdio: 'pipe',
189
+ timeout: 30_000,
190
+ });
191
+ rebuildChain(repoRoot);
192
+ return true;
193
+ }
194
+ console.error(`[self-update] Unknown mode in snapshot: ${String(mode)}`);
195
+ return false;
196
+ }
197
+ catch (err) {
198
+ console.error(`[self-update] Rollback failed: ${err instanceof Error ? err.message : String(err)}`);
199
+ return false;
200
+ }
201
+ }
202
+ // ---------------------------------------------------------------------------
203
+ // Update orchestrator (TEL-4)
204
+ // ---------------------------------------------------------------------------
205
+ /**
206
+ * Perform a full update cycle:
207
+ * 1. Check for updates
208
+ * 2. Create a rollback snapshot
209
+ * 3. Install the update (npm or git mode)
210
+ * 4. Apply migrations if available
211
+ *
212
+ * Does NOT stop/restart engines -- that's handled by the caller
213
+ * (either the auto-update loop or the CLI `telora-daemon update` command).
214
+ */
215
+ export async function performUpdate(opts) {
216
+ const mode = detectInstallMode();
217
+ const previousVersion = getCurrentVersion();
218
+ // Check for updates
219
+ const versionInfo = await getVersionInfo();
220
+ if (!versionInfo.updateAvailable || !versionInfo.latest) {
221
+ return {
222
+ success: true,
223
+ previousVersion,
224
+ newVersion: previousVersion,
225
+ mode,
226
+ };
227
+ }
228
+ // Create snapshot
229
+ const snapshotPath = createSnapshot(mode);
230
+ try {
231
+ let success;
232
+ if (mode === 'npm') {
233
+ success = await installNpmVersion('@telora/daemon@latest');
234
+ }
235
+ else {
236
+ success = await updateFromGit();
237
+ }
238
+ if (!success) {
239
+ return {
240
+ success: false,
241
+ previousVersion,
242
+ newVersion: previousVersion,
243
+ mode,
244
+ snapshotPath,
245
+ error: 'Update installation failed',
246
+ };
247
+ }
248
+ // Apply migrations (unless skipped)
249
+ let migrationsApplied = false;
250
+ if (opts?.skipMigrations) {
251
+ console.log('[self-update] Skipping migrations (--no-migrations)');
252
+ }
253
+ else {
254
+ try {
255
+ migrationsApplied = applyMigrations();
256
+ }
257
+ catch (err) {
258
+ console.warn(`[self-update] Migration apply failed (non-fatal): ${err instanceof Error ? err.message : String(err)}`);
259
+ }
260
+ }
261
+ return {
262
+ success: true,
263
+ previousVersion,
264
+ newVersion: versionInfo.latest,
265
+ mode,
266
+ snapshotPath,
267
+ migrationsApplied,
268
+ };
269
+ }
270
+ catch (err) {
271
+ return {
272
+ success: false,
273
+ previousVersion,
274
+ newVersion: previousVersion,
275
+ mode,
276
+ snapshotPath,
277
+ error: err instanceof Error ? err.message : String(err),
278
+ };
279
+ }
280
+ }
281
+ // ---------------------------------------------------------------------------
282
+ // Version check (TEL-5)
283
+ // ---------------------------------------------------------------------------
284
+ /**
285
+ * Get comprehensive version information.
286
+ */
287
+ export async function getVersionInfo() {
288
+ const mode = detectInstallMode();
289
+ const current = getCurrentVersion();
290
+ if (mode === 'npm') {
291
+ const result = await checkForUpdates(current);
292
+ return {
293
+ current,
294
+ latest: result?.latestVersion ?? null,
295
+ updateAvailable: result?.updateAvailable ?? false,
296
+ mode,
297
+ };
298
+ }
299
+ // Git mode: check if there are upstream changes
300
+ const repoRoot = getRepoRoot();
301
+ if (!repoRoot) {
302
+ return { current, latest: null, updateAvailable: false, mode };
303
+ }
304
+ try {
305
+ // Fetch latest from remote (silent)
306
+ execFileSync('git', ['fetch', '--quiet'], {
307
+ cwd: repoRoot,
308
+ stdio: 'pipe',
309
+ timeout: 15_000,
310
+ });
311
+ // Check if we're behind
312
+ const status = execFileSync('git', ['rev-list', '--count', 'HEAD..@{upstream}'], { cwd: repoRoot, encoding: 'utf-8', timeout: 5000 }).trim();
313
+ const behindCount = parseInt(status, 10);
314
+ if (behindCount > 0) {
315
+ // Get the version from the upstream package.json
316
+ const upstreamVersion = getUpstreamVersion(repoRoot);
317
+ return {
318
+ current,
319
+ latest: upstreamVersion ?? `${current}+${behindCount} commits`,
320
+ updateAvailable: true,
321
+ mode,
322
+ };
323
+ }
324
+ return { current, latest: current, updateAvailable: false, mode };
325
+ }
326
+ catch {
327
+ // Network issues, no upstream, etc.
328
+ return { current, latest: null, updateAvailable: false, mode };
329
+ }
330
+ }
331
+ function getCurrentVersion() {
332
+ try {
333
+ const thisDir = dirname(fileURLToPath(import.meta.url));
334
+ const pkgPath = join(thisDir, '..', 'package.json');
335
+ const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'));
336
+ return pkg.version ?? '0.0.0';
337
+ }
338
+ catch {
339
+ return '0.0.0';
340
+ }
341
+ }
342
+ function getUpstreamVersion(repoRoot) {
343
+ try {
344
+ const content = execFileSync('git', ['show', '@{upstream}:packages/daemon/package.json'], { cwd: repoRoot, encoding: 'utf-8', timeout: 5000 });
345
+ const pkg = JSON.parse(content);
346
+ return pkg.version ?? null;
347
+ }
348
+ catch {
349
+ return null;
350
+ }
351
+ }
352
+ // ---------------------------------------------------------------------------
353
+ // Migration auto-apply (TEL-6)
354
+ // ---------------------------------------------------------------------------
355
+ /**
356
+ * Apply pending Supabase migrations after an update.
357
+ * Returns true if migrations were applied, false if none were pending.
358
+ * Throws on failure.
359
+ */
360
+ export function applyMigrations() {
361
+ // Find the repo root (migrations are in supabase/migrations/)
362
+ const repoRoot = getRepoRoot();
363
+ if (!repoRoot) {
364
+ console.log('[self-update] Not in a git repo, skipping migration apply');
365
+ return false;
366
+ }
367
+ const migrationsDir = join(repoRoot, 'supabase', 'migrations');
368
+ if (!existsSync(migrationsDir)) {
369
+ console.log('[self-update] No migrations directory found');
370
+ return false;
371
+ }
372
+ console.log('[self-update] Applying pending migrations...');
373
+ try {
374
+ const result = execFileSync('npx', ['supabase', 'migration', 'up'], {
375
+ cwd: repoRoot,
376
+ encoding: 'utf-8',
377
+ timeout: 60_000,
378
+ stdio: 'pipe',
379
+ });
380
+ if (result.includes('No new migrations')) {
381
+ console.log('[self-update] No pending migrations');
382
+ return false;
383
+ }
384
+ console.log(`[self-update] Migrations applied: ${result.trim()}`);
385
+ return true;
386
+ }
387
+ catch (err) {
388
+ throw new Error(`Migration apply failed: ${err instanceof Error ? err.message : String(err)}`);
389
+ }
390
+ }
391
+ // ---------------------------------------------------------------------------
392
+ // Internal helpers
393
+ // ---------------------------------------------------------------------------
394
+ function installNpmVersion(target) {
395
+ return new Promise((resolve) => {
396
+ console.log(`[self-update] Installing ${target}...`);
397
+ execFile('npm', ['install', '-g', target], { timeout: 120_000 }, (err, stdout, stderr) => {
398
+ if (err) {
399
+ console.warn(`[self-update] npm install failed: ${err.message}`);
400
+ if (stderr)
401
+ console.warn(`[self-update] stderr: ${stderr.trim()}`);
402
+ resolve(false);
403
+ return;
404
+ }
405
+ if (stdout.trim())
406
+ console.log(`[self-update] ${stdout.trim()}`);
407
+ resolve(true);
408
+ });
409
+ });
410
+ }
411
+ async function updateFromGit() {
412
+ const repoRoot = getRepoRoot();
413
+ if (!repoRoot) {
414
+ console.error('[self-update] Cannot determine repo root for git update');
415
+ return false;
416
+ }
417
+ try {
418
+ console.log('[self-update] Pulling latest changes...');
419
+ execFileSync('git', ['pull', '--ff-only'], {
420
+ cwd: repoRoot,
421
+ stdio: 'pipe',
422
+ timeout: 30_000,
423
+ });
424
+ console.log('[self-update] Installing dependencies...');
425
+ execFileSync('npm', ['install'], {
426
+ cwd: repoRoot,
427
+ stdio: 'pipe',
428
+ timeout: 120_000,
429
+ });
430
+ rebuildChain(repoRoot);
431
+ return true;
432
+ }
433
+ catch (err) {
434
+ console.error(`[self-update] Git update failed: ${err instanceof Error ? err.message : String(err)}`);
435
+ return false;
436
+ }
437
+ }
438
+ //# sourceMappingURL=self-update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"self-update.js","sourceRoot":"","sources":["../src/self-update.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Session lifecycle management for strategy teams.
3
+ *
4
+ * Extracted from strategy-executor.ts. Contains functions for session
5
+ * start/end, cleanup, error handling, team completion detection,
6
+ * termination, and deactivation checks.
7
+ */
8
+ import type { ChildProcess } from 'node:child_process';
9
+ import type { DaemonConfig, StrategyTeamState } from './types.js';
10
+ import type { CompletionDetector } from './completion-detector.js';
11
+ import type { ActivityTracker } from './activity-tracker.js';
12
+ import type { SpawnStrategyTeamParams, LogStreams } from './team-spawner.js';
13
+ export interface SessionLifecycleContext {
14
+ proc: ChildProcess;
15
+ params: SpawnStrategyTeamParams;
16
+ teamState: StrategyTeamState;
17
+ sessionId: string;
18
+ strategyId: string;
19
+ strategyName: string;
20
+ completionDetector: CompletionDetector;
21
+ activityTracker: ActivityTracker;
22
+ logStreams: LogStreams;
23
+ resumeId: string | null;
24
+ spawnedAt: number;
25
+ config: DaemonConfig;
26
+ }
27
+ /**
28
+ * Attach session lifecycle handlers to a team lead process.
29
+ *
30
+ * Wires up the 'complete', 'close', and 'error' event handlers that manage
31
+ * the full lifecycle of the team lead process: completion detection,
32
+ * resume-failure retry, cleanup, and error reporting.
33
+ */
34
+ export declare function attachSessionLifecycle(ctx: SessionLifecycleContext): void;
35
+ /**
36
+ * Terminate a strategy team.
37
+ *
38
+ * Sends a deactivation message via stdin (if open) before SIGTERM
39
+ * to allow the team lead to process the shutdown gracefully.
40
+ */
41
+ export declare function terminateTeam(strategyId: string): boolean;
42
+ /**
43
+ * Wait for a team's process to exit (leave activeTeams).
44
+ *
45
+ * Polls activeTeams until the strategy is no longer present,
46
+ * which happens when handleTeamCompletion runs on the 'close' event.
47
+ * If the timeout expires, sends SIGKILL and waits briefly.
48
+ *
49
+ * @param strategyId - Strategy to wait for
50
+ * @param timeoutMs - Max wait time in ms (default 30s)
51
+ * @returns true if team exited within timeout, false if forced
52
+ */
53
+ export declare function waitForTeamExit(strategyId: string, timeoutMs?: number): Promise<boolean>;
54
+ /**
55
+ * Terminate all active teams.
56
+ */
57
+ export declare function terminateAllTeams(): void;
58
+ /**
59
+ * Detect strategies that have been deactivated (agent role removed)
60
+ * and shut down their active teams.
61
+ */
62
+ export declare function detectDeactivatedStrategies(config: DaemonConfig): Promise<void>;
63
+ /**
64
+ * Check active teams for newly completed deliveries and merge
65
+ * the strategy branch to integration incrementally.
66
+ *
67
+ * Called from the poll loop. For each active team, queries delivery
68
+ * statuses and triggers a merge when any delivery reaches verify/done
69
+ * that hasn't already been merged mid-flight.
70
+ *
71
+ * After processing merges, checks if ALL active deliveries are terminal
72
+ * and merged. If so, terminates the team proactively since no more work
73
+ * remains. The strategy stays active in the DB -- if new deliveries
74
+ * arrive later, the next poll cycle spawns a fresh team.
75
+ */
76
+ export declare function checkAndMergeCompletedDeliveries(config: DaemonConfig): Promise<void>;
77
+ //# sourceMappingURL=session-lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-lifecycle.d.ts","sourceRoot":"","sources":["../src/session-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAKlE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAa7D,OAAO,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AA2F7E,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,uBAAuB,CAAC;IAChC,SAAS,EAAE,iBAAiB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,eAAe,EAAE,eAAe,CAAC;IACjC,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,uBAAuB,GAAG,IAAI,CAyHzE;AAID;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CA2CzD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,SAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAsB7F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAKxC;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,gCAAgC,CACpD,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,IAAI,CAAC,CA2Ff"}