@mclawnet/swarm 0.1.13 → 0.1.15

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 (320) hide show
  1. package/dist/__tests__/always-on-activity-reader.test.d.ts +2 -0
  2. package/dist/__tests__/always-on-activity-reader.test.d.ts.map +1 -0
  3. package/dist/__tests__/always-on-activity-reader.test.js +193 -0
  4. package/dist/__tests__/always-on-activity-reader.test.js.map +1 -0
  5. package/dist/__tests__/always-on-config.test.d.ts +2 -0
  6. package/dist/__tests__/always-on-config.test.d.ts.map +1 -0
  7. package/dist/__tests__/always-on-config.test.js +285 -0
  8. package/dist/__tests__/always-on-config.test.js.map +1 -0
  9. package/dist/__tests__/always-on-manager.test.d.ts +2 -0
  10. package/dist/__tests__/always-on-manager.test.d.ts.map +1 -0
  11. package/dist/__tests__/always-on-manager.test.js +797 -0
  12. package/dist/__tests__/always-on-manager.test.js.map +1 -0
  13. package/dist/__tests__/always-on-parity.test.d.ts +2 -0
  14. package/dist/__tests__/always-on-parity.test.d.ts.map +1 -0
  15. package/dist/__tests__/always-on-parity.test.js +20 -0
  16. package/dist/__tests__/always-on-parity.test.js.map +1 -0
  17. package/dist/__tests__/cascade-picker.test.d.ts +2 -0
  18. package/dist/__tests__/cascade-picker.test.d.ts.map +1 -0
  19. package/dist/__tests__/cascade-picker.test.js +122 -0
  20. package/dist/__tests__/cascade-picker.test.js.map +1 -0
  21. package/dist/__tests__/coordinator-shipment.test.d.ts +2 -0
  22. package/dist/__tests__/coordinator-shipment.test.d.ts.map +1 -0
  23. package/dist/__tests__/coordinator-shipment.test.js +280 -0
  24. package/dist/__tests__/coordinator-shipment.test.js.map +1 -0
  25. package/dist/__tests__/coordinator-workspace-recover.test.d.ts +2 -0
  26. package/dist/__tests__/coordinator-workspace-recover.test.d.ts.map +1 -0
  27. package/dist/__tests__/coordinator-workspace-recover.test.js +140 -0
  28. package/dist/__tests__/coordinator-workspace-recover.test.js.map +1 -0
  29. package/dist/__tests__/coordinator-workspace.test.d.ts +2 -0
  30. package/dist/__tests__/coordinator-workspace.test.d.ts.map +1 -0
  31. package/dist/__tests__/coordinator-workspace.test.js +135 -0
  32. package/dist/__tests__/coordinator-workspace.test.js.map +1 -0
  33. package/dist/__tests__/default-runner-epipe.test.d.ts +2 -0
  34. package/dist/__tests__/default-runner-epipe.test.d.ts.map +1 -0
  35. package/dist/__tests__/default-runner-epipe.test.js +43 -0
  36. package/dist/__tests__/default-runner-epipe.test.js.map +1 -0
  37. package/dist/__tests__/discovery-scheduler.test.d.ts +2 -0
  38. package/dist/__tests__/discovery-scheduler.test.d.ts.map +1 -0
  39. package/dist/__tests__/discovery-scheduler.test.js +367 -0
  40. package/dist/__tests__/discovery-scheduler.test.js.map +1 -0
  41. package/dist/__tests__/env-forward-e2e.test.d.ts +2 -0
  42. package/dist/__tests__/env-forward-e2e.test.d.ts.map +1 -0
  43. package/dist/__tests__/env-forward-e2e.test.js +57 -0
  44. package/dist/__tests__/env-forward-e2e.test.js.map +1 -0
  45. package/dist/__tests__/gh-pr-creator.test.d.ts +2 -0
  46. package/dist/__tests__/gh-pr-creator.test.d.ts.map +1 -0
  47. package/dist/__tests__/gh-pr-creator.test.js +107 -0
  48. package/dist/__tests__/gh-pr-creator.test.js.map +1 -0
  49. package/dist/__tests__/git-worktree-provider.test.d.ts +2 -0
  50. package/dist/__tests__/git-worktree-provider.test.d.ts.map +1 -0
  51. package/dist/__tests__/git-worktree-provider.test.js +98 -0
  52. package/dist/__tests__/git-worktree-provider.test.js.map +1 -0
  53. package/dist/__tests__/gitignore-check.test.d.ts +2 -0
  54. package/dist/__tests__/gitignore-check.test.d.ts.map +1 -0
  55. package/dist/__tests__/gitignore-check.test.js +39 -0
  56. package/dist/__tests__/gitignore-check.test.js.map +1 -0
  57. package/dist/__tests__/idea-research-source.test.d.ts +2 -0
  58. package/dist/__tests__/idea-research-source.test.d.ts.map +1 -0
  59. package/dist/__tests__/idea-research-source.test.js +425 -0
  60. package/dist/__tests__/idea-research-source.test.js.map +1 -0
  61. package/dist/__tests__/idea-todo-source.test.d.ts +2 -0
  62. package/dist/__tests__/idea-todo-source.test.d.ts.map +1 -0
  63. package/dist/__tests__/idea-todo-source.test.js +258 -0
  64. package/dist/__tests__/idea-todo-source.test.js.map +1 -0
  65. package/dist/__tests__/introspection-dedupe.test.d.ts +2 -0
  66. package/dist/__tests__/introspection-dedupe.test.d.ts.map +1 -0
  67. package/dist/__tests__/introspection-dedupe.test.js +484 -0
  68. package/dist/__tests__/introspection-dedupe.test.js.map +1 -0
  69. package/dist/__tests__/introspection-source.test.d.ts +2 -0
  70. package/dist/__tests__/introspection-source.test.d.ts.map +1 -0
  71. package/dist/__tests__/introspection-source.test.js +1051 -0
  72. package/dist/__tests__/introspection-source.test.js.map +1 -0
  73. package/dist/__tests__/migration-roles.test.js +1 -22
  74. package/dist/__tests__/migration-roles.test.js.map +1 -1
  75. package/dist/__tests__/reconcile-researching.test.d.ts +2 -0
  76. package/dist/__tests__/reconcile-researching.test.d.ts.map +1 -0
  77. package/dist/__tests__/reconcile-researching.test.js +224 -0
  78. package/dist/__tests__/reconcile-researching.test.js.map +1 -0
  79. package/dist/__tests__/role-loader-preamble-all.test.js +3 -1
  80. package/dist/__tests__/role-loader-preamble-all.test.js.map +1 -1
  81. package/dist/__tests__/role-loader.test.js +95 -0
  82. package/dist/__tests__/role-loader.test.js.map +1 -1
  83. package/dist/__tests__/role-prompt-no-legacy-protocol.test.js +3 -1
  84. package/dist/__tests__/role-prompt-no-legacy-protocol.test.js.map +1 -1
  85. package/dist/__tests__/secret-scrub.test.d.ts +2 -0
  86. package/dist/__tests__/secret-scrub.test.d.ts.map +1 -0
  87. package/dist/__tests__/secret-scrub.test.js +55 -0
  88. package/dist/__tests__/secret-scrub.test.js.map +1 -0
  89. package/dist/__tests__/shipment-actions.test.d.ts +2 -0
  90. package/dist/__tests__/shipment-actions.test.d.ts.map +1 -0
  91. package/dist/__tests__/shipment-actions.test.js +378 -0
  92. package/dist/__tests__/shipment-actions.test.js.map +1 -0
  93. package/dist/__tests__/shipment-persistence.test.d.ts +2 -0
  94. package/dist/__tests__/shipment-persistence.test.d.ts.map +1 -0
  95. package/dist/__tests__/shipment-persistence.test.js +120 -0
  96. package/dist/__tests__/shipment-persistence.test.js.map +1 -0
  97. package/dist/__tests__/shipment-pipeline.test.d.ts +2 -0
  98. package/dist/__tests__/shipment-pipeline.test.d.ts.map +1 -0
  99. package/dist/__tests__/shipment-pipeline.test.js +392 -0
  100. package/dist/__tests__/shipment-pipeline.test.js.map +1 -0
  101. package/dist/__tests__/shipment-report.test.d.ts +2 -0
  102. package/dist/__tests__/shipment-report.test.d.ts.map +1 -0
  103. package/dist/__tests__/shipment-report.test.js +78 -0
  104. package/dist/__tests__/shipment-report.test.js.map +1 -0
  105. package/dist/__tests__/shipment-stdin-integration.test.d.ts +2 -0
  106. package/dist/__tests__/shipment-stdin-integration.test.d.ts.map +1 -0
  107. package/dist/__tests__/shipment-stdin-integration.test.js +49 -0
  108. package/dist/__tests__/shipment-stdin-integration.test.js.map +1 -0
  109. package/dist/__tests__/shipment-type-parity.test.d.ts +2 -0
  110. package/dist/__tests__/shipment-type-parity.test.d.ts.map +1 -0
  111. package/dist/__tests__/shipment-type-parity.test.js +10 -0
  112. package/dist/__tests__/shipment-type-parity.test.js.map +1 -0
  113. package/dist/__tests__/snapshot-copy-provider.test.d.ts +2 -0
  114. package/dist/__tests__/snapshot-copy-provider.test.d.ts.map +1 -0
  115. package/dist/__tests__/snapshot-copy-provider.test.js +88 -0
  116. package/dist/__tests__/snapshot-copy-provider.test.js.map +1 -0
  117. package/dist/__tests__/swarm-coordinator-backend.test.js +153 -0
  118. package/dist/__tests__/swarm-coordinator-backend.test.js.map +1 -1
  119. package/dist/__tests__/swarm-coordinator-complete-intercept.test.d.ts +2 -0
  120. package/dist/__tests__/swarm-coordinator-complete-intercept.test.d.ts.map +1 -0
  121. package/dist/__tests__/swarm-coordinator-complete-intercept.test.js +111 -0
  122. package/dist/__tests__/swarm-coordinator-complete-intercept.test.js.map +1 -0
  123. package/dist/__tests__/task-store-source.test.d.ts +2 -0
  124. package/dist/__tests__/task-store-source.test.d.ts.map +1 -0
  125. package/dist/__tests__/task-store-source.test.js +56 -0
  126. package/dist/__tests__/task-store-source.test.js.map +1 -0
  127. package/dist/__tests__/transport-detect.test.d.ts +2 -0
  128. package/dist/__tests__/transport-detect.test.d.ts.map +1 -0
  129. package/dist/__tests__/transport-detect.test.js +92 -0
  130. package/dist/__tests__/transport-detect.test.js.map +1 -0
  131. package/dist/__tests__/workcycle-runner-cascade.test.d.ts +2 -0
  132. package/dist/__tests__/workcycle-runner-cascade.test.d.ts.map +1 -0
  133. package/dist/__tests__/workcycle-runner-cascade.test.js +203 -0
  134. package/dist/__tests__/workcycle-runner-cascade.test.js.map +1 -0
  135. package/dist/__tests__/workcycle-runner.test.d.ts +2 -0
  136. package/dist/__tests__/workcycle-runner.test.d.ts.map +1 -0
  137. package/dist/__tests__/workcycle-runner.test.js +369 -0
  138. package/dist/__tests__/workcycle-runner.test.js.map +1 -0
  139. package/dist/__tests__/workspace-diff.test.d.ts +2 -0
  140. package/dist/__tests__/workspace-diff.test.d.ts.map +1 -0
  141. package/dist/__tests__/workspace-diff.test.js +62 -0
  142. package/dist/__tests__/workspace-diff.test.js.map +1 -0
  143. package/dist/__tests__/workspace-manager.test.d.ts +2 -0
  144. package/dist/__tests__/workspace-manager.test.d.ts.map +1 -0
  145. package/dist/__tests__/workspace-manager.test.js +120 -0
  146. package/dist/__tests__/workspace-manager.test.js.map +1 -0
  147. package/dist/__tests__/workspace-types.test.d.ts +2 -0
  148. package/dist/__tests__/workspace-types.test.d.ts.map +1 -0
  149. package/dist/__tests__/workspace-types.test.js +37 -0
  150. package/dist/__tests__/workspace-types.test.js.map +1 -0
  151. package/dist/__tests__/worktree-gc.test.d.ts +2 -0
  152. package/dist/__tests__/worktree-gc.test.d.ts.map +1 -0
  153. package/dist/__tests__/worktree-gc.test.js +183 -0
  154. package/dist/__tests__/worktree-gc.test.js.map +1 -0
  155. package/dist/always-on/activity-reader.d.ts +27 -0
  156. package/dist/always-on/activity-reader.d.ts.map +1 -0
  157. package/dist/always-on/activity-reader.js +95 -0
  158. package/dist/always-on/activity-reader.js.map +1 -0
  159. package/dist/always-on/always-on-manager.d.ts +170 -0
  160. package/dist/always-on/always-on-manager.d.ts.map +1 -0
  161. package/dist/always-on/always-on-manager.js +538 -0
  162. package/dist/always-on/always-on-manager.js.map +1 -0
  163. package/dist/always-on/config.d.ts +141 -0
  164. package/dist/always-on/config.d.ts.map +1 -0
  165. package/dist/always-on/config.js +324 -0
  166. package/dist/always-on/config.js.map +1 -0
  167. package/dist/always-on/discovery-scheduler.d.ts +60 -0
  168. package/dist/always-on/discovery-scheduler.d.ts.map +1 -0
  169. package/dist/always-on/discovery-scheduler.js +287 -0
  170. package/dist/always-on/discovery-scheduler.js.map +1 -0
  171. package/dist/always-on/ideas-client.d.ts +23 -0
  172. package/dist/always-on/ideas-client.d.ts.map +1 -0
  173. package/dist/always-on/ideas-client.js +13 -0
  174. package/dist/always-on/ideas-client.js.map +1 -0
  175. package/dist/always-on/reconcile-researching.d.ts +42 -0
  176. package/dist/always-on/reconcile-researching.d.ts.map +1 -0
  177. package/dist/always-on/reconcile-researching.js +133 -0
  178. package/dist/always-on/reconcile-researching.js.map +1 -0
  179. package/dist/always-on/task-sources/cascade-picker.d.ts +42 -0
  180. package/dist/always-on/task-sources/cascade-picker.d.ts.map +1 -0
  181. package/dist/always-on/task-sources/cascade-picker.js +65 -0
  182. package/dist/always-on/task-sources/cascade-picker.js.map +1 -0
  183. package/dist/always-on/task-sources/idea-dedupe.d.ts +62 -0
  184. package/dist/always-on/task-sources/idea-dedupe.d.ts.map +1 -0
  185. package/dist/always-on/task-sources/idea-dedupe.js +130 -0
  186. package/dist/always-on/task-sources/idea-dedupe.js.map +1 -0
  187. package/dist/always-on/task-sources/idea-research-source.d.ts +46 -0
  188. package/dist/always-on/task-sources/idea-research-source.d.ts.map +1 -0
  189. package/dist/always-on/task-sources/idea-research-source.js +308 -0
  190. package/dist/always-on/task-sources/idea-research-source.js.map +1 -0
  191. package/dist/always-on/task-sources/idea-sort.d.ts +3 -0
  192. package/dist/always-on/task-sources/idea-sort.d.ts.map +1 -0
  193. package/dist/always-on/task-sources/idea-sort.js +25 -0
  194. package/dist/always-on/task-sources/idea-sort.js.map +1 -0
  195. package/dist/always-on/task-sources/idea-todo-source.d.ts +48 -0
  196. package/dist/always-on/task-sources/idea-todo-source.d.ts.map +1 -0
  197. package/dist/always-on/task-sources/idea-todo-source.js +226 -0
  198. package/dist/always-on/task-sources/idea-todo-source.js.map +1 -0
  199. package/dist/always-on/task-sources/introspection-source.d.ts +101 -0
  200. package/dist/always-on/task-sources/introspection-source.d.ts.map +1 -0
  201. package/dist/always-on/task-sources/introspection-source.js +695 -0
  202. package/dist/always-on/task-sources/introspection-source.js.map +1 -0
  203. package/dist/always-on/task-sources/task-store-source.d.ts +15 -0
  204. package/dist/always-on/task-sources/task-store-source.d.ts.map +1 -0
  205. package/dist/always-on/task-sources/task-store-source.js +59 -0
  206. package/dist/always-on/task-sources/task-store-source.js.map +1 -0
  207. package/dist/always-on/task-sources/types.d.ts +108 -0
  208. package/dist/always-on/task-sources/types.d.ts.map +1 -0
  209. package/dist/always-on/task-sources/types.js +13 -0
  210. package/dist/always-on/task-sources/types.js.map +1 -0
  211. package/dist/always-on/types.d.ts +76 -0
  212. package/dist/always-on/types.d.ts.map +1 -0
  213. package/dist/always-on/types.js +17 -0
  214. package/dist/always-on/types.js.map +1 -0
  215. package/dist/always-on/workcycle-runner.d.ts +115 -0
  216. package/dist/always-on/workcycle-runner.d.ts.map +1 -0
  217. package/dist/always-on/workcycle-runner.js +285 -0
  218. package/dist/always-on/workcycle-runner.js.map +1 -0
  219. package/dist/always-on/worktree-gc.d.ts +41 -0
  220. package/dist/always-on/worktree-gc.d.ts.map +1 -0
  221. package/dist/always-on/worktree-gc.js +167 -0
  222. package/dist/always-on/worktree-gc.js.map +1 -0
  223. package/dist/index.d.ts +26 -2
  224. package/dist/index.d.ts.map +1 -1
  225. package/dist/index.js +24 -1
  226. package/dist/index.js.map +1 -1
  227. package/dist/persistence.d.ts +37 -1
  228. package/dist/persistence.d.ts.map +1 -1
  229. package/dist/persistence.js +48 -0
  230. package/dist/persistence.js.map +1 -1
  231. package/dist/retrospective.d.ts.map +1 -1
  232. package/dist/retrospective.js +6 -0
  233. package/dist/retrospective.js.map +1 -1
  234. package/dist/roles/role-loader.d.ts +1 -1
  235. package/dist/roles/role-loader.d.ts.map +1 -1
  236. package/dist/roles/role-loader.js +18 -0
  237. package/dist/roles/role-loader.js.map +1 -1
  238. package/dist/roles/types.d.ts +12 -0
  239. package/dist/roles/types.d.ts.map +1 -1
  240. package/dist/shipment/gh-pr-creator.d.ts +28 -0
  241. package/dist/shipment/gh-pr-creator.d.ts.map +1 -0
  242. package/dist/shipment/gh-pr-creator.js +80 -0
  243. package/dist/shipment/gh-pr-creator.js.map +1 -0
  244. package/dist/shipment/report.d.ts +27 -0
  245. package/dist/shipment/report.d.ts.map +1 -0
  246. package/dist/shipment/report.js +41 -0
  247. package/dist/shipment/report.js.map +1 -0
  248. package/dist/shipment/secret-scrub.d.ts +12 -0
  249. package/dist/shipment/secret-scrub.d.ts.map +1 -0
  250. package/dist/shipment/secret-scrub.js +30 -0
  251. package/dist/shipment/secret-scrub.js.map +1 -0
  252. package/dist/shipment/shipment-actions.d.ts +85 -0
  253. package/dist/shipment/shipment-actions.d.ts.map +1 -0
  254. package/dist/shipment/shipment-actions.js +190 -0
  255. package/dist/shipment/shipment-actions.js.map +1 -0
  256. package/dist/shipment/shipment-pipeline.d.ts +48 -0
  257. package/dist/shipment/shipment-pipeline.d.ts.map +1 -0
  258. package/dist/shipment/shipment-pipeline.js +256 -0
  259. package/dist/shipment/shipment-pipeline.js.map +1 -0
  260. package/dist/shipment/transport-detect.d.ts +16 -0
  261. package/dist/shipment/transport-detect.d.ts.map +1 -0
  262. package/dist/shipment/transport-detect.js +54 -0
  263. package/dist/shipment/transport-detect.js.map +1 -0
  264. package/dist/shipment/workspace-diff.d.ts +39 -0
  265. package/dist/shipment/workspace-diff.d.ts.map +1 -0
  266. package/dist/shipment/workspace-diff.js +64 -0
  267. package/dist/shipment/workspace-diff.js.map +1 -0
  268. package/dist/swarm-coordinator.d.ts +20 -1
  269. package/dist/swarm-coordinator.d.ts.map +1 -1
  270. package/dist/swarm-coordinator.js +193 -10
  271. package/dist/swarm-coordinator.js.map +1 -1
  272. package/dist/types.d.ts +62 -0
  273. package/dist/types.d.ts.map +1 -1
  274. package/dist/workspace/git-worktree-provider.d.ts +11 -0
  275. package/dist/workspace/git-worktree-provider.d.ts.map +1 -0
  276. package/dist/workspace/git-worktree-provider.js +123 -0
  277. package/dist/workspace/git-worktree-provider.js.map +1 -0
  278. package/dist/workspace/gitignore-check.d.ts +10 -0
  279. package/dist/workspace/gitignore-check.d.ts.map +1 -0
  280. package/dist/workspace/gitignore-check.js +25 -0
  281. package/dist/workspace/gitignore-check.js.map +1 -0
  282. package/dist/workspace/index.d.ts +5 -0
  283. package/dist/workspace/index.d.ts.map +1 -0
  284. package/dist/workspace/index.js +5 -0
  285. package/dist/workspace/index.js.map +1 -0
  286. package/dist/workspace/snapshot-copy-provider.d.ts +11 -0
  287. package/dist/workspace/snapshot-copy-provider.d.ts.map +1 -0
  288. package/dist/workspace/snapshot-copy-provider.js +66 -0
  289. package/dist/workspace/snapshot-copy-provider.js.map +1 -0
  290. package/dist/workspace/types.d.ts +36 -0
  291. package/dist/workspace/types.d.ts.map +1 -0
  292. package/dist/workspace/types.js +2 -0
  293. package/dist/workspace/types.js.map +1 -0
  294. package/dist/workspace/workspace-manager.d.ts +30 -0
  295. package/dist/workspace/workspace-manager.d.ts.map +1 -0
  296. package/dist/workspace/workspace-manager.js +104 -0
  297. package/dist/workspace/workspace-manager.js.map +1 -0
  298. package/package.json +4 -4
  299. package/roles/queen.md +1 -0
  300. package/templates/introspection.md +64 -0
  301. package/templates/research-only.md +58 -0
  302. package/roles/preset-analyst-simons.md +0 -39
  303. package/roles/preset-architect-knuth.md +0 -39
  304. package/roles/preset-designer-norman.md +0 -39
  305. package/roles/preset-designer.md +0 -39
  306. package/roles/preset-dev-carmack.md +0 -39
  307. package/roles/preset-dev-gosling.md +0 -39
  308. package/roles/preset-developer.md +0 -52
  309. package/roles/preset-manager-grove.md +0 -39
  310. package/roles/preset-manager-musk.md +0 -39
  311. package/roles/preset-pm.md +0 -78
  312. package/roles/preset-researcher-feynman.md +0 -39
  313. package/roles/preset-reviewer.md +0 -46
  314. package/roles/preset-strategist-buffett.md +0 -39
  315. package/roles/preset-strategist-munger.md +0 -39
  316. package/roles/preset-strategist-sunzi.md +0 -39
  317. package/roles/preset-tester-beck.md +0 -40
  318. package/roles/preset-tester.md +0 -47
  319. package/roles/preset-writer-orwell.md +0 -39
  320. package/roles/preset-writer.md +0 -39
@@ -0,0 +1 @@
1
+ {"version":3,"file":"introspection-source.js","sourceRoot":"","sources":["../../../src/always-on/task-sources/introspection-source.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,EAAE;AACF,0EAA0E;AAC1E,6EAA6E;AAC7E,6EAA6E;AAC7E,uEAAuE;AACvE,sDAAsD;AACtD,EAAE;AACF,yEAAyE;AACzE,+CAA+C;AAC/C,0EAA0E;AAC1E,qCAAqC;AACrC,4EAA4E;AAC5E,2EAA2E;AAC3E,sBAAsB;AACtB,oCAAoC;AACpC,wDAAwD;AACxD,4EAA4E;AAC5E,4EAA4E;AAC5E,iCAAiC;AACjC,qEAAqE;AACrE,2EAA2E;AAC3E,2EAA2E;AAC3E,0EAA0E;AAC1E,yCAAyC;AACzC,4EAA4E;AAC5E,qEAAqE;AACrE,8BAA8B;AAC9B,EAAE;AACF,mCAAmC;AACnC,0EAA0E;AAC1E,iEAAiE;AACjE,uEAAuE;AACvE,yEAAyE;AACzE,sEAAsE;AACtE,2EAA2E;AAC3E,gEAAgE;AAChE,EAAE;AACF,yDAAyD;AACzD,yEAAyE;AACzE,0DAA0D;AAC1D,wEAAwE;AACxE,0EAA0E;AAC1E,wEAAwE;AACxE,0BAA0B;AAE1B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAM7C,OAAO,EACL,oCAAoC,EACpC,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAEL,aAAa,EACb,gBAAgB,EAChB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAG1B,MAAM,CAAC,MAAM,2BAA2B,GAAG,eAAe,CAAC;AAC3D,MAAM,CAAC,MAAM,wBAAwB,GAAG,iBAAiB,CAAC;AAC1D,MAAM,CAAC,MAAM,yBAAyB,GAAG,qBAAqB,CAAC;AAE/D,2EAA2E;AAC3E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAEzC;;;;GAIG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,KAAK,CAAC;AACrD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AA8DnE;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC/C,qCAAqC;IACrC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,6BAA6B;IAC/B,CAAC;IACD,yEAAyE;IACzE,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAC5B,uEAAuE;IACvE,uEAAuE;IACvE,wEAAwE;IACxE,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;IACb,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,GAAG,KAAK,CAAC;YACjB,CAAC;iBAAM,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBACvB,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;iBAAM,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACtB,QAAQ,GAAG,KAAK,CAAC;YACnB,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,QAAQ,GAAG,IAAI,CAAC;YAChB,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;aACnB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACpB,KAAK,EAAE,CAAC;YACR,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,GAAG,GAAG,CAAC,CAAC;gBACR,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,GAAG,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACvB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,kBAAkB;IACpB,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAc;IACtC,MAAM,GAAG,GAA6B,EAAE,CAAC;IACzC,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,SAAS;QAC9C,MAAM,CAAC,GAAG,GAA8B,CAAC;QACzC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,4BAA4B,CAC1C,WAAmB,EACnB,kBAA0B;IAE1B,OAAO;QACL,oEAAoE,WAAW,EAAE;QACjF,EAAE;QACF,oEAAoE;QACpE,gHAAgH;QAChH,kIAAkI;QAClI,EAAE;QACF,qFAAqF;QACrF,KAAK,kBAAkB,EAAE;QACzB,uFAAuF;QACvF,EAAE;QACF,+BAA+B;QAC/B,mFAAmF;QACnF,EAAE;QACF,6FAA6F;QAC7F,uXAAuX;KACxX,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,4FAA4F;AAC5F,SAAS,eAAe,CACtB,KAAuB,EACvB,OAAe;IAEf,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,oEAAoE;QACpE,mEAAmE;QACnE,oEAAoE;QACpE,gEAAgE;QAChE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC/C,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW;QAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACjF,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC3E,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW;QAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACjF,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,IAAgC;IAEhC,MAAM,EACJ,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,yBAAyB,GAAG,2BAA2B,EACvD,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,EACxB,IAAI,EACJ,IAAI,EACJ,eAAe,GAAG,GAAG,EAAE,CAAC,iBAAiB,UAAU,EAAE,EAAE,EACvD,iBAAiB,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,CAC3C,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,OAAO,OAAO,CAAC,GACpE,GAAG,IAAI,CAAC;IAET;;;;;;;;;;;;;;;;OAgBG;IACH,SAAS,uBAAuB,CAC9B,WAAmB,EACnB,OAAe,EACf,YAAqB;QAErB,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,YAAY,IAAI,WAAW,CAAC;QAClE,qEAAqE;QACrE,yDAAyD;QACzD,IAAI,IAAI,KAAK,WAAW;YAAE,OAAO,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,OAAO,OAAO,CAAC,CAAC;IACpE,CAAC;IAED;;;;;OAKG;IACH,SAAS,kBAAkB,CAAC,OAAe;QACzC,OAAO,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,OAAO,OAAO,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;;;OAQG;IACH,SAAS,eAAe,CACtB,WAAmB,EACnB,SAAiB,EACjB,GAA4B;QAE5B,MAAM,GAAG,GAAG,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC;QAC9B,wEAAwE;QACxE,0EAA0E;QAC1E,sEAAsE;QACtE,oCAAoC;QACpC,IAAI,GAAG,CAAC,mBAAmB,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,OAAO,EAAE,CAAC;YAC9D,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,GAAG,SAAS,GAAG,gCAAgC,EAAE,CAAC;gBACrF,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,MAAM,UAAU,GAAG,uBAAuB,CAAC,WAAW,EAAE,SAAS,EAAE,GAAG,CAAC,gCAAgC,CAAC,CAAC;QACzG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,OAAO,KAAK,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;YAChC,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,GAAG,+BAA+B,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,UAAU,mBAAmB,CAChC,WAAmB,EACnB,SAAiB,EACjB,GAA4B;QAE5B,IAAI,KAAK,GAAG,eAAe,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QAEzD,uEAAuE;QACvE,4DAA4D;QAC5D,6DAA6D;QAC7D,qEAAqE;QACrE,uEAAuE;QACvE,uEAAuE;QACvE,yEAAyE;QACzE,qEAAqE;QACrE,oEAAoE;QACpE,MAAM,UAAU,GAAG,uBAAuB,CAAC,WAAW,EAAE,SAAS,EAAE,GAAG,CAAC,gCAAgC,CAAC,CAAC;QACzG,IAAI,UAAU,GAA6B,EAAE,CAAC;QAC9C,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,aAAa,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAC9C,UAAU,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;YAC1C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,EAAE,CACJ,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,EAChF,wEAAwE,CACzE,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpB,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC;gBAClD,IAAI,EAAE,CACJ,EAAE,SAAS,EAAE,WAAW,EAAE,EAC1B,0EAA0E,CAC3E,CAAC;gBACF,OAAO;YACT,CAAC;YACD,sEAAsE;YACtE,oEAAoE;YACpE,sEAAsE;YACtE,mEAAmE;YACnE,IAAI,CAAC;gBACH,MAAM,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC3C,IAAI,EAAE,CACJ,EAAE,SAAS,EAAE,WAAW,EAAE,EAC1B,2EAA2E,CAC5E,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,iEAAiE;gBACjE,oEAAoE;gBACpE,yDAAyD;gBACzD,kEAAkE;gBAClE,gEAAgE;gBAChE,6DAA6D;gBAC7D,gEAAgE;gBAChE,IAAI,EAAE,CACJ,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,EACpE,+EAA+E,CAChF,CAAC;gBACF,IAAI,CAAC;oBACH,MAAM,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC5C,CAAC;gBAAC,MAAM,CAAC;oBACP,kDAAkD;gBACpD,CAAC;YACH,CAAC;YACD,KAAK,GAAG,eAAe,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,IAAI,EAAE,CACJ,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,EACpD,uEAAuE,CACxE,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC;QAC5D,IAAI,SAAS,GAAkB,IAAI,CAAC;QACpC,IAAI,CAAC;YACH,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,0EAA0E;QAC1E,2EAA2E;QAC3E,wEAAwE;QACxE,yEAAyE;QACzE,2EAA2E;QAC3E,gDAAgD;QAChD,IAAI,WAAW,GAAuB,EAAE,CAAC;QACzC,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC;oBACtC,SAAS;oBACT,GAAG,EAAE,wBAAwB;oBAC7B,KAAK,EAAE,GAAG;iBACX,CAAC,CAAC;gBACH,uEAAuE;gBACvE,sEAAsE;gBACtE,sEAAsE;gBACtE,4CAA4C;gBAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;gBAC/D,WAAW,GAAG,gBAAgB,CAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CACtE,CAAC;gBACF,eAAe,GAAG,IAAI,CAAC;YACzB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,EAAE,CACJ,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,EACpE,mFAAmF,CACpF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAW,EAAE,CAAC;QAC1B,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAC7B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,KAAK,GAAG,aAAa,CACzB,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,EACtC,WAAW,CACZ,CAAC;gBACF,IAAI,KAAK,EAAE,CAAC;oBACV,oBAAoB,EAAE,CAAC;oBACvB,IAAI,EAAE,CACJ;wBACE,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,aAAa,EAAE,KAAK,CAAC,aAAa;wBAClC,SAAS;wBACT,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC/D,EACD,4CAA4C,CAC7C,CAAC;oBACF,SAAS;gBACX,CAAC;YACH,CAAC;YACD,MAAM,KAAK,GAAoB;gBAC7B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;gBAC5B,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC;gBACrC,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,CAAC,wBAAwB,CAAC;gBAChC,UAAU,EAAE,yBAAyB;gBACrC,aAAa,EAAE,SAAS;gBACxB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpC,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACrB,mEAAmE;gBACnE,oEAAoE;gBACpE,oEAAoE;gBACpE,gBAAgB;gBAChB,IAAI,eAAe,EAAE,CAAC;oBACpB,aAAa,CAAC,WAAW,EAAE;wBACzB,EAAE,EAAE,OAAO,CAAC,EAAE;wBACd,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;qBACnB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,EAAE,CACJ,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,EACzE,2CAA2C,CAC5C,CAAC;YACJ,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,0DAA0D;QAC1D,sEAAsE;QACtE,yEAAyE;QACzE,oCAAoC;QACpC,oEAAoE;QACpE,yEAAyE;QACzE,gEAAgE;QAChE,iEAAiE;QACjE,oEAAoE;QACpE,wBAAwB;QACxB,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,EAAE,CACJ,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,EACpE,iEAAiE,CAClE,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,MAAM,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,EAAE,CACJ,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,EACpE,6DAA6D,CAC9D,CAAC;YACJ,CAAC;QACH,CAAC;QACD,mEAAmE;QACnE,yEAAyE;QACzE,mEAAmE;QAEnE,IAAI,EAAE,CACJ;YACE,SAAS;YACT,WAAW,EAAE,KAAK,CAAC,MAAM;YACzB,QAAQ,EAAE,UAAU,CAAC,MAAM;YAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,uBAAuB,CAAC;YACzE,oBAAoB;SACrB,EACD,uCAAuC,CACxC,CAAC;QAEF,qEAAqE;QACrE,uEAAuE;QACvE,sEAAsE;QACtE,oEAAoE;QACpE,EAAE;QACF,sEAAsE;QACtE,uEAAuE;QACvE,wCAAwC;QACxC,MAAM,KAAK,GAAuC;YAChD,2BAA2B,EAAE,IAAI;YACjC,gCAAgC,EAAE,IAAI;SACvC,CAAC;QACF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,oBAAoB,CAAC;QACvD,IAAI,SAAS,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzC,MAAM,aAAa,GACjB,GAAG,CAAC,0BAA0B,IAAI,oCAAoC,CAAC;YACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;YAC3D,KAAK,CAAC,mBAAmB,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YACjF,IAAI,EAAE,CACJ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,EACxE,yEAAyE,CAC1E,CAAC;QACJ,CAAC;QACD,MAAM,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,OAAO;QACL,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,qBAAqB;QAC3B;;;;;;;WAOG;QACH,KAAK,CAAC,UAAU,CAAC,WAAmB,EAAE,OAAe;YACnD,OAAO,eAAe,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;QACvE,CAAC;QACD;;;;;;;;;;;WAWG;QACH,KAAK,CAAC,YAAY,CAAC,WAAmB;YACpC,MAAM,GAAG,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;YACnC,IAAI,CAAC,GAAG,CAAC,2BAA2B;gBAAE,OAAO;YAC7C,MAAM,mBAAmB,CAAC,WAAW,EAAE,GAAG,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;QAC/E,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,WAAmB;YAC5B,MAAM,GAAG,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;YACnC,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACpD,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC3B,mEAAmE;gBACnE,qDAAqD;gBACrD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,oEAAoE;YACpE,iEAAiE;YACjE,kEAAkE;YAClE,mEAAmE;YACnE,qEAAqE;YACrE,mEAAmE;YACnE,iEAAiE;YACjE,yDAAyD;YACzD,EAAE;YACF,qEAAqE;YACrE,qEAAqE;YACrE,oEAAoE;YACpE,oEAAoE;YACpE,mEAAmE;YACnE,iEAAiE;YACjE,6DAA6D;YAC7D,IAAI,GAAG,CAAC,2BAA2B,EAAE,CAAC;gBACpC,MAAM,mBAAmB,CAAC,WAAW,EAAE,GAAG,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;gBAC7E,OAAO,IAAI,CAAC;YACd,CAAC;YAED,mEAAmE;YACnE,iEAAiE;YACjE,sEAAsE;YACtE,oEAAoE;YACpE,kEAAkE;YAClE,IAAI,GAAG,CAAC,mBAAmB,EAAE,CAAC;gBAC5B,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;oBACzC,yDAAyD;oBACzD,iEAAiE;oBACjE,kCAAkC;oBAClC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC;wBACpC,SAAS;wBACT,GAAG,EAAE,wBAAwB;wBAC7B,KAAK,EAAE,GAAG;qBACX,CAAC,CAAC;oBACH,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,gCAAgC;oBAC1D,kEAAkE;oBAClE,0DAA0D;oBAC1D,+DAA+D;oBAC/D,8DAA8D;oBAC9D,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,OAAO,EAAE,CAAC;oBAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAC1B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,UAAU,KAAK,yBAAyB;wBAC1C,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,IAAI,KAAK,GAAG,SAAS,CACvD,CAAC;oBACF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtB,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;wBACjE,MAAM,OAAO,GAAG,WAAW,CAAC;wBAC5B,IAAI,GAAG,CAAC,yBAAyB,KAAK,OAAO,EAAE,CAAC;4BAC9C,MAAM,YAAY,CAAC,WAAW,EAAE,EAAE,yBAAyB,EAAE,OAAO,EAAE,CAAC,CAAC;wBAC1E,CAAC;wBACD,IAAI,WAAW,EAAE,CAAC;4BAChB,IAAI,EAAE,CACJ,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,EACxC,kEAAkE,CACnE,CAAC;4BACF,OAAO,IAAI,CAAC;wBACd,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,uEAAuE;oBACvE,IAAI,EAAE,CACJ,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACzD,kEAAkE,CACnE,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,GAAG,CAAC,yBAAyB,EAAE,CAAC;gBACzC,mEAAmE;gBACnE,iDAAiD;gBACjD,MAAM,YAAY,CAAC,WAAW,EAAE,EAAE,yBAAyB,EAAE,IAAI,EAAE,CAAC,CAAC;YACvE,CAAC;YAED,qEAAqE;YACrE,wDAAwD;YACxD,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,IAAI,CAAC,yBAAyB,KAAK,IAAI,EAAE,CAAC;gBAC5C,IAAI,EAAE,CACJ,EAAE,WAAW,EAAE,EACf,iEAAiE,CAClE,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;YAED,oEAAoE;YACpE,MAAM,aAAa,GACjB,IAAI,CAAC,0BAA0B,IAAI,oCAAoC,CAAC;YAC1E,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC;YACzD,IAAI,IAAI,CAAC,mBAAmB,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBAC/C,mEAAmE;gBACnE,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,OAAO,EAAE,CAAC;gBACjF,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;oBACzB,IAAI,EAAE,CACJ,EAAE,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE,EACtE,uDAAuD,CACxD,CAAC;oBACF,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YAED,oEAAoE;YACpE,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;YAClC,mEAAmE;YACnE,mEAAmE;YACnE,iEAAiE;YACjE,iEAAiE;YACjE,sCAAsC;YACtC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACnE,IAAI,CAAC;gBACH,SAAS,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9D,CAAC;YAAC,MAAM,CAAC;gBACP,iBAAiB;YACnB,CAAC;YAED,oEAAoE;YACpE,sEAAsE;YACtE,mEAAmE;YACnE,2DAA2D;YAC3D,8DAA8D;YAC9D,MAAM,UAAU,GAAG,4BAA4B,CAAC,WAAW,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;YAE1F,oEAAoE;YACpE,iEAAiE;YACjE,qEAAqE;YACrE,6CAA6C;YAC7C,IAAI,CAAC;gBACH,MAAM,gBAAgB,CAAC,MAAM,CAAC,OAAO,EAAE;oBACrC,OAAO,EAAE,WAAW;oBACpB,YAAY,EAAE,yBAAyB;oBACvC,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,yBAAyB;iBAChC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,EAAE,CACJ,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,EAClE,yFAAyF,CAC1F,CAAC;gBACF,MAAM,YAAY,CAAC,WAAW,EAAE;oBAC9B,mBAAmB,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE;oBAC1C,yBAAyB,EAAE,KAAK;iBACjC,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;YACd,CAAC;YAED,oEAAoE;YACpE,oEAAoE;YACpE,mEAAmE;YACnE,EAAE;YACF,yDAAyD;YACzD,qEAAqE;YACrE,oEAAoE;YACpE,mEAAmE;YACnE,kEAAkE;YAClE,6DAA6D;YAC7D,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACnD,MAAM,YAAY,GAAG,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC;YAC7C,MAAM,YAAY,CAAC,WAAW,EAAE;gBAC9B,mBAAmB,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE;gBAC1C,yBAAyB,EAAE,KAAK;gBAChC,2BAA2B,EAAE,OAAO;gBACpC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,gCAAgC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5E,CAAC,CAAC;YAEH,IAAI,EAAE,CACJ,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,yBAAyB,EAAE,EACjE,4FAA4F,CAC7F,CAAC;YAEF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,yEAAyE;QACzE,wEAAwE;QACxE,oBAAoB;QACpB,KAAK,CAAC,OAAO;YACX,WAAW;QACb,CAAC;QACD,KAAK,CAAC,SAAS;YACb,WAAW;QACb,CAAC;QACD,KAAK,CAAC,SAAS;YACb,WAAW;QACb,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { TaskStore } from "@mclawnet/task";
2
+ import type { TaskSource } from "./types.js";
3
+ export interface TaskStoreSourceOptions {
4
+ /**
5
+ * Returns the TaskStore for a project. Factory rather than instance so the
6
+ * agent's per-workDir TaskStore can be re-resolved each cycle without the
7
+ * source caching a stale instance (matches the M7 pickNextTask closure
8
+ * which built a fresh TaskStore on each call).
9
+ */
10
+ taskStore: (projectRoot: string) => TaskStore | undefined;
11
+ /** Optional warn logger; defaults to console.warn. */
12
+ warn?: (obj: Record<string, unknown>, msg?: string) => void;
13
+ }
14
+ export declare function createTaskStoreSource(opts: TaskStoreSourceOptions): TaskSource;
15
+ //# sourceMappingURL=task-store-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-store-source.d.ts","sourceRoot":"","sources":["../../../src/always-on/task-sources/task-store-source.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAW,UAAU,EAAE,MAAM,YAAY,CAAC;AAEtD,MAAM,WAAW,sBAAsB;IACrC;;;;;OAKG;IACH,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,SAAS,GAAG,SAAS,CAAC;IAC1D,sDAAsD;IACtD,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7D;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,sBAAsB,GAAG,UAAU,CAuD9E"}
@@ -0,0 +1,59 @@
1
+ // M8.0 — TaskStoreSource: M7's existing pickNextTask body extracted into a
2
+ // composable source so the cascade picker can layer ideas / introspection
3
+ // behind it without behaviour change.
4
+ //
5
+ // No `onSuccess` / `onFailure` hooks: the TaskStore status flow is driven by
6
+ // the swarm's task_set_status calls during the cycle. There's no
7
+ // post-terminal patch the picker needs to apply on this source's behalf.
8
+ export function createTaskStoreSource(opts) {
9
+ const { taskStore, warn } = opts;
10
+ return {
11
+ name: "task-store",
12
+ kind: "task-store",
13
+ async pick(projectRoot) {
14
+ let store;
15
+ try {
16
+ store = taskStore(projectRoot);
17
+ }
18
+ catch (err) {
19
+ warn?.({ err: err instanceof Error ? err.message : String(err), projectRoot }, "task-store-source: taskStore factory threw");
20
+ return null;
21
+ }
22
+ if (!store)
23
+ return null;
24
+ let open;
25
+ try {
26
+ open = store
27
+ .list()
28
+ .filter((t) => t.status === "pending" && !t.owner);
29
+ }
30
+ catch (err) {
31
+ warn?.({ err: err instanceof Error ? err.message : String(err), projectRoot }, "task-store-source: store.list threw");
32
+ return null;
33
+ }
34
+ if (open.length === 0)
35
+ return null;
36
+ // Stable selection: lowest displayId first so cycles drain the backlog
37
+ // in user-visible order rather than randomly (preserves M7 behaviour).
38
+ open.sort((a, b) => (a.displayId ?? "").localeCompare(b.displayId ?? ""));
39
+ const head = open[0];
40
+ let description;
41
+ try {
42
+ const full = store.tryGet(head.id);
43
+ if (full?.description)
44
+ description = full.description;
45
+ }
46
+ catch {
47
+ // tryGet is best-effort; missing description is fine.
48
+ }
49
+ return {
50
+ id: head.id,
51
+ title: head.subject,
52
+ ...(description ? { description } : {}),
53
+ sourceKind: "task-store",
54
+ sourceId: head.id,
55
+ };
56
+ },
57
+ };
58
+ }
59
+ //# sourceMappingURL=task-store-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-store-source.js","sourceRoot":"","sources":["../../../src/always-on/task-sources/task-store-source.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,0EAA0E;AAC1E,sCAAsC;AACtC,EAAE;AACF,6EAA6E;AAC7E,iEAAiE;AACjE,yEAAyE;AAiBzE,MAAM,UAAU,qBAAqB,CAAC,IAA4B;IAChE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACjC,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,YAAY;QAClB,KAAK,CAAC,IAAI,CAAC,WAAmB;YAC5B,IAAI,KAA4B,CAAC;YACjC,IAAI,CAAC;gBACH,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;YACjC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,EAAE,CACJ,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,EACtE,4CAA4C,CAC7C,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC;YAExB,IAAI,IAAI,CAAC;YACT,IAAI,CAAC;gBACH,IAAI,GAAG,KAAK;qBACT,IAAI,EAAE;qBACN,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACvD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,EAAE,CACJ,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,EACtE,qCAAqC,CACtC,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAEnC,uEAAuE;YACvE,uEAAuE;YACvE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACjB,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CACrD,CAAC;YACF,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,WAA+B,CAAC;YACpC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACnC,IAAI,IAAI,EAAE,WAAW;oBAAE,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACxD,CAAC;YAAC,MAAM,CAAC;gBACP,sDAAsD;YACxD,CAAC;YAED,OAAO;gBACL,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,KAAK,EAAE,IAAI,CAAC,OAAO;gBACnB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvC,UAAU,EAAE,YAAY;gBACxB,QAAQ,EAAE,IAAI,CAAC,EAAE;aAClB,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,108 @@
1
+ import type { TaskRef as BaseTaskRef } from "../workcycle-runner.js";
2
+ /**
3
+ * Identifier for the source kind a task came from. Open-ended `string` so
4
+ * future sub-PRs (M8.1 IdeaResearchSource, M8.2 QueenIntrospectionSource) can
5
+ * extend without touching this file.
6
+ */
7
+ export type TaskSourceKind = "task-store" | "idea-todo" | "idea-research" | "queen-introspection" | (string & {
8
+ readonly __taskSourceKindBrand?: unique symbol;
9
+ });
10
+ /**
11
+ * Lightweight extension of the base TaskRef with optional source provenance.
12
+ * The base `id`/`title`/`description` shape stays identical so existing M7
13
+ * callers continue to work unchanged.
14
+ *
15
+ * `cycleKind` lives on the base TaskRef (workcycle-runner.ts) because the
16
+ * runner reads it to override the template name — keeping it there avoids a
17
+ * cascade-side cast in runner code. Sources that produce research-cycle
18
+ * tasks (IdeaResearchSource) stamp it on pick.
19
+ */
20
+ export interface TaskRef extends BaseTaskRef {
21
+ /** Which source rung produced this task. Optional for back-compat. */
22
+ sourceKind?: TaskSourceKind;
23
+ /**
24
+ * Source-specific id — for IdeaTodoSource this is the idea id, distinct
25
+ * from the synthetic in-cycle TaskRef.id. Used by onSuccess/onFailure to
26
+ * patch the underlying record.
27
+ */
28
+ sourceId?: string;
29
+ /**
30
+ * M8.1 — projectRoot the task was picked for. Sources that need it in
31
+ * onSuccess/onFailure (IdeaResearchSource scans
32
+ * `<projectRoot>/.clawnet/ideas/<id>/`) stamp it on pick. Optional so the
33
+ * existing M8.0 sources don't have to fill it.
34
+ */
35
+ projectRoot?: string;
36
+ }
37
+ export interface TaskSource {
38
+ /** Stable name for logging / debugging. */
39
+ readonly name: string;
40
+ /**
41
+ * S6 hotfix — the cascade kind used by cascade-picker.resolveSource() to
42
+ * map a TaskRef back to its producing source. Existing sources happen to
43
+ * use the same string for both `name` (free-form) and `kind` (one of the
44
+ * `TaskSourceKind` union), but the two are conceptually distinct: `name`
45
+ * is a debug label and `kind` is the stable wire identifier. New sources
46
+ * should set both. Optional only so older sources without it still
47
+ * compile; resolveSource falls back to `name` for those.
48
+ */
49
+ readonly kind?: TaskSourceKind;
50
+ /**
51
+ * Try to pick the next task for the given project. Resolve to null when
52
+ * this source has nothing actionable; the cascade picker will fall through
53
+ * to the next source.
54
+ */
55
+ pick(projectRoot: string): Promise<TaskRef | null>;
56
+ /**
57
+ * R3 I-B — pre-cascade maintenance hook. Called by AlwaysOnManager on
58
+ * every tick BEFORE the cascade runs, regardless of whether the source's
59
+ * toggle is on or off. Sources use this to reap stale in-flight work
60
+ * (e.g. IntrospectionSource ingests a pending fire-and-forget swarm and
61
+ * releases its coordinator slot). Decoupled from `pick()` because the
62
+ * cascade-picker skips disabled sources entirely; without this hook, the
63
+ * "user toggled introspection off while a swarm was mid-flight" scenario
64
+ * leaked the pending swarmId + registry entry forever. Best-effort:
65
+ * failures must be swallowed by the source, never thrown back to the
66
+ * manager (a single source's outage must not break the tick loop).
67
+ * Optional — sources with no maintenance work omit it.
68
+ */
69
+ drainPending?(projectRoot: string): Promise<void>;
70
+ /**
71
+ * Called by the runner immediately after it mints the swarmId and spawns
72
+ * the swarm — i.e. when the task is "claimed" for this cycle. IdeaTodoSource
73
+ * uses it to PATCH the idea to status=researching + linkedSwarmTaskId so
74
+ * the UI reflects the in-flight state. Best-effort: failures are logged,
75
+ * never thrown. Optional.
76
+ */
77
+ onClaim?(taskRef: TaskRef, swarmId: string): Promise<void>;
78
+ /**
79
+ * Called by the runner after the swarm completed AND the shipment landed
80
+ * (strategy !== "skipped"). Best-effort: failures should be logged, not
81
+ * thrown. Optional — sources without a flow can omit.
82
+ */
83
+ onSuccess?(taskRef: TaskRef, swarmId: string): Promise<void>;
84
+ /**
85
+ * Called by the runner when the swarm failed/cancelled OR the shipment was
86
+ * skipped. Best-effort. Optional.
87
+ */
88
+ onFailure?(taskRef: TaskRef, swarmId: string, error?: string): Promise<void>;
89
+ /**
90
+ * M8.2c — spawner-owned completion signal. When a source spawns a
91
+ * fire-and-forget swarm whose terminal transition the coordinator's
92
+ * idle-fallback can't be trusted to deliver (single-queen introspection
93
+ * swarms get stuck in `paused` because there's no non-queen worker to
94
+ * watch), the source can implement `isComplete` to observe its own
95
+ * stronger signal — typically "queen wrote the output file and the
96
+ * mtime has been stable for N seconds" or "hard timeout elapsed". The
97
+ * source's own `drainPending` calls `coordinator.complete()` when this
98
+ * returns true, bypassing the auto-pause that would otherwise leave the
99
+ * swarm stranded.
100
+ *
101
+ * Pure inspection: implementations MUST be idempotent and side-effect-
102
+ * free; this is consulted on every `drainPending` tick and must not
103
+ * mutate any backing store. Optional — only spawner-driven sources
104
+ * (today: introspection) need it.
105
+ */
106
+ isComplete?(projectRoot: string, swarmId: string): Promise<boolean>;
107
+ }
108
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/always-on/task-sources/types.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErE;;;;GAIG;AACH,MAAM,MAAM,cAAc,GACtB,YAAY,GACZ,WAAW,GACX,eAAe,GACf,qBAAqB,GACrB,CAAC,MAAM,GAAG;IAAE,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,MAAM,CAAA;CAAE,CAAC,CAAC;AAElE;;;;;;;;;GASG;AACH,MAAM,WAAW,OAAQ,SAAQ,WAAW;IAC1C,sEAAsE;IACtE,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,2CAA2C;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;;;;OAQG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC;IAC/B;;;;OAIG;IACH,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACnD;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD;;;;;;OAMG;IACH,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D;;;;OAIG;IACH,SAAS,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D;;;OAGG;IACH,SAAS,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E;;;;;;;;;;;;;;;;OAgBG;IACH,UAAU,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACrE"}
@@ -0,0 +1,13 @@
1
+ // M8.0 — multi-source cascade picker primitives.
2
+ //
3
+ // A `TaskSource` is one rung in the WorkCycleRunner picker cascade. Each
4
+ // source decides whether it has a task this cycle (returns a TaskRef) or not
5
+ // (returns null). The cascade picker tries sources in priority order and
6
+ // stops at the first hit.
7
+ //
8
+ // Optional onSuccess/onFailure hooks let a source implement its own bookkeeping
9
+ // after the swarm reaches a terminal state — e.g. IdeaTodoSource flips the
10
+ // idea status to `developed` on success and reverts to `todo` on failure.
11
+ // Sources that have no flow (TaskStore) can omit them.
12
+ export {};
13
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/always-on/task-sources/types.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,EAAE;AACF,yEAAyE;AACzE,6EAA6E;AAC7E,yEAAyE;AACzE,0BAA0B;AAC1B,EAAE;AACF,gFAAgF;AAChF,2EAA2E;AAC3E,0EAA0E;AAC1E,uDAAuD"}
@@ -0,0 +1,76 @@
1
+ export type AlwaysOnMode = "off" | "quiet" | "active" | "aggressive";
2
+ /**
3
+ * Decision returned by a single gate. Drives the next action:
4
+ * - "fire": this gate passed, proceed to the next gate (or fire if last).
5
+ * - "skip": this tick is gated; record reason; do not fire; reschedule.
6
+ * - "halt": fatal — disable the scheduler entirely (e.g. unrecoverable config).
7
+ */
8
+ export type GateDecision = {
9
+ kind: "fire";
10
+ } | {
11
+ kind: "skip";
12
+ reason: string;
13
+ } | {
14
+ kind: "halt";
15
+ reason: string;
16
+ };
17
+ /** Context passed to every gate during a tick. `now` is injectable for tests. */
18
+ export interface GateContext {
19
+ now: Date;
20
+ mode: AlwaysOnMode;
21
+ /** Cycles already fired this local day (resets at local midnight). */
22
+ ticksToday: number;
23
+ lastFireAt: Date | null;
24
+ }
25
+ export interface Gate {
26
+ name: string;
27
+ evaluate(ctx: GateContext): GateDecision | Promise<GateDecision>;
28
+ }
29
+ export interface TickRecord {
30
+ at: Date;
31
+ decision: "fired" | "skipped" | "halted";
32
+ /**
33
+ * Gates evaluated this tick, in order. On a skip/halt, the last entry is the
34
+ * gate that returned the non-fire decision; gates after it were short-circuited
35
+ * and are not included.
36
+ */
37
+ gateBreakdown: Array<{
38
+ gate: string;
39
+ decision: GateDecision;
40
+ }>;
41
+ durationMs: number;
42
+ }
43
+ export interface DiscoverySchedulerOptions {
44
+ mode: AlwaysOnMode;
45
+ /**
46
+ * Override tick interval (ms) for ALL modes except "off". When unset, defaults
47
+ * apply per mode: quiet=24h, active=30min, aggressive=10min. M7.0 intentionally
48
+ * keeps this a single number; per-mode overrides can be added later.
49
+ */
50
+ tickInterval?: number;
51
+ /** Daily cycle budget; null = unlimited. Default 3. */
52
+ dailyBudget?: number | null;
53
+ /** Gates evaluated AFTER built-in gates (dailyBudget, modeNotOff). */
54
+ gates?: Gate[];
55
+ /** Called when scheduler decides to fire. Awaited before scheduling the next tick. */
56
+ onFire?: (ctx: GateContext) => Promise<void>;
57
+ /** Optional clock injection for tests. */
58
+ now?: () => Date;
59
+ /** Optional tick observer (tests, UI streaming later). */
60
+ onTick?: (record: TickRecord) => void;
61
+ }
62
+ export interface DiscoverySchedulerSnapshot {
63
+ mode: AlwaysOnMode;
64
+ ticksToday: number;
65
+ lastFireAt: Date | null;
66
+ /** null when mode === "off" or scheduler is halted/stopped. */
67
+ nextTickAt: Date | null;
68
+ /** Last 10 TickRecord entries; oldest dropped silently. */
69
+ recentTicks: TickRecord[];
70
+ }
71
+ /** Default tick interval per mode in milliseconds. */
72
+ export declare const DEFAULT_TICK_INTERVAL_MS: Record<Exclude<AlwaysOnMode, "off">, number>;
73
+ export declare const DEFAULT_DAILY_BUDGET = 3;
74
+ /** Max entries kept in DiscoverySchedulerSnapshot.recentTicks. */
75
+ export declare const RECENT_TICKS_CAP = 10;
76
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/always-on/types.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,YAAY,CAAC;AAErE;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAErC,iFAAiF;AACjF,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,IAAI,CAAC;IACV,IAAI,EAAE,YAAY,CAAC;IACnB,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,GAAG,EAAE,WAAW,GAAG,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAClE;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,IAAI,CAAC;IACT,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;IACzC;;;;OAIG;IACH,aAAa,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC,CAAC;IAC/D,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,YAAY,CAAC;IACnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,sEAAsE;IACtE,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,sFAAsF;IACtF,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,+DAA+D;IAC/D,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,2DAA2D;IAC3D,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED,sDAAsD;AACtD,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,MAAM,CAIjF,CAAC;AAEF,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,kEAAkE;AAClE,eAAO,MAAM,gBAAgB,KAAK,CAAC"}
@@ -0,0 +1,17 @@
1
+ // Always-on (M7) shared types.
2
+ //
3
+ // M7.0 introduces the standalone DiscoveryScheduler primitive. The scheduler
4
+ // fires on a per-mode interval; before each fire it walks a "gate cascade"
5
+ // (sequential short-circuit). Only when every gate returns `fire` does the
6
+ // scheduler invoke `onFire`. This file defines the small surface those gates
7
+ // + the scheduler share, with no swarm wiring (that lands in M7.1).
8
+ /** Default tick interval per mode in milliseconds. */
9
+ export const DEFAULT_TICK_INTERVAL_MS = {
10
+ quiet: 24 * 60 * 60 * 1000,
11
+ active: 30 * 60 * 1000,
12
+ aggressive: 10 * 60 * 1000,
13
+ };
14
+ export const DEFAULT_DAILY_BUDGET = 3;
15
+ /** Max entries kept in DiscoverySchedulerSnapshot.recentTicks. */
16
+ export const RECENT_TICKS_CAP = 10;
17
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/always-on/types.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,EAAE;AACF,6EAA6E;AAC7E,2EAA2E;AAC3E,2EAA2E;AAC3E,6EAA6E;AAC7E,oEAAoE;AAuEpE,sDAAsD;AACtD,MAAM,CAAC,MAAM,wBAAwB,GAAiD;IACpF,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAC1B,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;IACtB,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAEtC,kEAAkE;AAClE,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC"}
@@ -0,0 +1,115 @@
1
+ import type { SwarmCoordinator } from "../swarm-coordinator.js";
2
+ import type { ShipmentResult } from "../shipment/shipment-pipeline.js";
3
+ import type { TaskSource } from "./task-sources/types.js";
4
+ /**
5
+ * Minimal logger surface used by the runner. Matches the subset of pino we
6
+ * actually call so callers can pass a pino logger directly without an
7
+ * adapter; tests can pass a vi.fn() stub.
8
+ */
9
+ export interface Logger {
10
+ info: (obj: Record<string, unknown>, msg?: string) => void;
11
+ warn: (obj: Record<string, unknown>, msg?: string) => void;
12
+ error: (obj: Record<string, unknown>, msg?: string) => void;
13
+ debug?: (obj: Record<string, unknown>, msg?: string) => void;
14
+ }
15
+ /** Lightweight reference to a TaskStore entry. */
16
+ export interface TaskRef {
17
+ id: string;
18
+ title: string;
19
+ description?: string;
20
+ /**
21
+ * M8.1 — when set to "research", the runner overrides the default template
22
+ * with the research-only template so the swarm produces a markdown report
23
+ * instead of code. Source-stamped (IdeaResearchSource sets this on pick).
24
+ * Default behaviour (omitted / "execute") preserves M7 + M8.0 paths.
25
+ */
26
+ cycleKind?: "execute" | "research";
27
+ }
28
+ export interface WorkCycleInput {
29
+ projectRoot: string;
30
+ /**
31
+ * Template (team) name passed to SwarmCoordinator.create. Falls back to
32
+ * `"minimal"` when omitted — a template the swarm package always ships,
33
+ * unlike the legacy `"default"` literal that was hardcoded pre-hotfix and
34
+ * crashed every cycle (C1).
35
+ */
36
+ templateName?: string;
37
+ }
38
+ export interface WorkCycleResult {
39
+ cycleId: string;
40
+ swarmId: string;
41
+ /** null when no task was available (status=skipped); otherwise the task picked. */
42
+ taskRef: TaskRef | null;
43
+ status: "completed" | "failed" | "skipped";
44
+ shipment?: ShipmentResult;
45
+ error?: string;
46
+ startedAt: string;
47
+ endedAt: string;
48
+ }
49
+ export interface WorkCycleRunnerOptions {
50
+ /** Picks the next task; return null when nothing actionable is available. */
51
+ pickNextTask: (projectRoot: string) => Promise<TaskRef | null>;
52
+ /**
53
+ * M8.0 cascade hook. When set, the runner uses this to resolve which
54
+ * TaskSource produced the picked task and invokes its onClaim / onSuccess /
55
+ * onFailure lifecycle hooks. Optional — when omitted the runner behaves
56
+ * exactly like M7 (no source-side flow).
57
+ */
58
+ resolveTaskSource?: (taskRef: TaskRef) => TaskSource | null;
59
+ /** Existing SwarmCoordinator. The runner does not own its lifecycle. */
60
+ swarmCoordinator: SwarmCoordinator;
61
+ /** Optional logger override (defaults to a module logger). */
62
+ log?: Logger;
63
+ /**
64
+ * Max time to wait for the swarm to reach a terminal state before forcing
65
+ * coordinator.cancel and returning a failed result. Defaults to 30 min.
66
+ */
67
+ pollTimeoutMs?: number;
68
+ /** Interval between polling probes. Default 5s. */
69
+ pollIntervalMs?: number;
70
+ /**
71
+ * Initial settle wait after create() before the first poll. Default 5s.
72
+ * Pulled out so tests with fake timers can shorten it deterministically.
73
+ */
74
+ initialSettleMs?: number;
75
+ /** Test injection: replaces the default setTimeout-based sleep. */
76
+ sleep?: (ms: number) => Promise<void>;
77
+ }
78
+ export declare class WorkCycleRunner {
79
+ private readonly pickNextTask;
80
+ private readonly resolveTaskSource?;
81
+ private readonly coordinator;
82
+ private readonly log;
83
+ private readonly pollTimeoutMs;
84
+ private readonly pollIntervalMs;
85
+ private readonly initialSettleMs;
86
+ private readonly sleep;
87
+ constructor(opts: WorkCycleRunnerOptions);
88
+ /**
89
+ * Run one work cycle. Never throws — every failure is folded into the
90
+ * returned WorkCycleResult so DiscoveryScheduler.onFire can stay shape-
91
+ * stable across success and failure paths.
92
+ */
93
+ run(input: WorkCycleInput): Promise<WorkCycleResult>;
94
+ /**
95
+ * Best-effort invocation of a source lifecycle hook. Swallows the source's
96
+ * exceptions so a misbehaving hook never crashes the runner — the cycle
97
+ * already reached its terminal state and the result is locked in.
98
+ */
99
+ private invokeHook;
100
+ /**
101
+ * Poll coordinator.getSwarm(swarmId) until the swarm enters a terminal
102
+ * state or the swarm is removed from the registry (cleanup already ran).
103
+ *
104
+ * Returns {status, error?} so the caller can build the full result.
105
+ * Status interpretation:
106
+ * - "completed" → swarm.status flipped to completed (we then call
107
+ * coordinator.complete to release resources if it's still in the map)
108
+ * - "failed" → swarm.status flipped to failed (we then call .fail)
109
+ * - "completed" (gone from map) → cleanup already happened externally;
110
+ * treat as completed without re-calling complete()
111
+ * - "failed" (timeout exceeded) → cancel via destroy and return failed
112
+ */
113
+ private waitForTerminal;
114
+ }
115
+ //# sourceMappingURL=workcycle-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workcycle-runner.d.ts","sourceRoot":"","sources":["../../src/always-on/workcycle-runner.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAEvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9D;AAED,kDAAkD;AAClD,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;CACpC;AAKD,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,mFAAmF;IACnF,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,6EAA6E;IAC7E,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC/D;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,UAAU,GAAG,IAAI,CAAC;IAC5D,wEAAwE;IACxE,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,8DAA8D;IAC9D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mEAAmE;IACnE,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAaD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyC;IACtE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAA8C;IACjF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmB;IAC/C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;gBAE1C,IAAI,EAAE,sBAAsB;IAWxC;;;;OAIG;IACG,GAAG,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAiI1D;;;;OAIG;YACW,UAAU;IAgCxB;;;;;;;;;;;;OAYG;YACW,eAAe;CAyF9B"}