@agimon-ai/doompi-task 0.0.1-alpha.12 → 0.0.1-alpha.121

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 (463) hide show
  1. package/README.md +123 -15
  2. package/dist/apiContracts.cjs +54 -0
  3. package/dist/apiContracts.cjs.map +1 -0
  4. package/dist/apiContracts.d.mts +53 -0
  5. package/dist/apiContracts.d.mts.map +1 -0
  6. package/dist/apiContracts.mjs +49 -0
  7. package/dist/apiContracts.mjs.map +1 -0
  8. package/dist/commands.cjs +4 -1
  9. package/dist/commands.d.mts +20 -2
  10. package/dist/commands.d.mts.map +1 -0
  11. package/dist/commands.mjs +2 -1
  12. package/dist/config-BPNE_wEU.cjs +173 -0
  13. package/dist/config-BPNE_wEU.cjs.map +1 -0
  14. package/dist/config-DmsCPDuF.mjs +72 -0
  15. package/dist/config-DmsCPDuF.mjs.map +1 -0
  16. package/dist/config.cjs +19 -1
  17. package/dist/config.d.mts +2 -2
  18. package/dist/config.mjs +2 -1
  19. package/dist/delegation-3hMdTFXF.cjs +661 -0
  20. package/dist/delegation-3hMdTFXF.cjs.map +1 -0
  21. package/dist/delegation-BiOy3_7g.mjs +7 -0
  22. package/dist/delegation-BiOy3_7g.mjs.map +1 -0
  23. package/dist/delegation-CkGbRaOl.mjs +626 -0
  24. package/dist/delegation-CkGbRaOl.mjs.map +1 -0
  25. package/dist/delegation-LDpHP2CC.cjs +12 -0
  26. package/dist/delegation-LDpHP2CC.cjs.map +1 -0
  27. package/dist/delegation-Ot2xltLi.d.mts +6 -0
  28. package/dist/delegation-Ot2xltLi.d.mts.map +1 -0
  29. package/dist/delegationManager.cjs +10 -0
  30. package/dist/delegationManager.d.mts +3 -0
  31. package/dist/delegationManager.mjs +3 -0
  32. package/dist/delegationPlatform-Cfn-Lqew.cjs +95 -0
  33. package/dist/delegationPlatform-Cfn-Lqew.cjs.map +1 -0
  34. package/dist/delegationPlatform-DZ4SZ8a5.mjs +64 -0
  35. package/dist/delegationPlatform-DZ4SZ8a5.mjs.map +1 -0
  36. package/dist/extensions/mcp-ui.mjs +23 -0
  37. package/dist/extensions/mcp-ui.mjs.map +1 -0
  38. package/dist/extensions/mcp.cjs +1876 -0
  39. package/dist/extensions/mcp.cjs.map +1 -0
  40. package/dist/extensions/mcp.d.mts +5 -0
  41. package/dist/extensions/mcp.d.mts.map +1 -0
  42. package/dist/extensions/mcp.mjs +1846 -0
  43. package/dist/extensions/mcp.mjs.map +1 -0
  44. package/dist/extensions/pi.cjs +437 -1
  45. package/dist/extensions/pi.cjs.map +1 -1
  46. package/dist/extensions/pi.d.mts +5 -2
  47. package/dist/extensions/pi.d.mts.map +1 -0
  48. package/dist/extensions/pi.mjs +432 -1
  49. package/dist/extensions/pi.mjs.map +1 -1
  50. package/dist/extensions/server.cjs +380 -0
  51. package/dist/extensions/server.cjs.map +1 -0
  52. package/dist/extensions/server.d.mts +5 -0
  53. package/dist/extensions/server.d.mts.map +1 -0
  54. package/dist/extensions/server.mjs +375 -0
  55. package/dist/extensions/server.mjs.map +1 -0
  56. package/dist/extensions/web.mjs +1013 -0
  57. package/dist/extensions/web.mjs.map +1 -0
  58. package/dist/format.cli-ChQsP1MQ.cjs +393 -0
  59. package/dist/format.cli-ChQsP1MQ.cjs.map +1 -0
  60. package/dist/format.cli-Cnc591eb.mjs +322 -0
  61. package/dist/format.cli-Cnc591eb.mjs.map +1 -0
  62. package/dist/{services/delegation/manager.d.mts → index-3-3ZJlaH.d.mts} +35 -31
  63. package/dist/index-3-3ZJlaH.d.mts.map +1 -0
  64. package/dist/{adapters/store/taskStore.d.cts → index-B7oVjSey.d.mts} +11 -28
  65. package/dist/index-B7oVjSey.d.mts.map +1 -0
  66. package/dist/{services/store/reconcile.d.cts → index-BNMm9g0K.d.mts} +4 -4
  67. package/dist/index-BNMm9g0K.d.mts.map +1 -0
  68. package/dist/{commands/task/responseEnvelope.d.cts → index-C3DgOhEm.d.mts} +17 -5
  69. package/dist/index-C3DgOhEm.d.mts.map +1 -0
  70. package/dist/{types/config.d.cts → index-D4goIk4Z.d.mts} +8 -3
  71. package/dist/index-D4goIk4Z.d.mts.map +1 -0
  72. package/dist/{services/store/reducer.d.cts → index-DIpc6_uJ.d.mts} +5 -5
  73. package/dist/index-DIpc6_uJ.d.mts.map +1 -0
  74. package/dist/{adapters/store/paths.d.cts → index-XY9VPmfm.d.mts} +6 -6
  75. package/dist/index-XY9VPmfm.d.mts.map +1 -0
  76. package/dist/index.cjs +106 -1
  77. package/dist/index.d.mts +16 -16
  78. package/dist/index.mjs +16 -1
  79. package/dist/invariants-DhjEjBPU.cjs +79 -0
  80. package/dist/invariants-DhjEjBPU.cjs.map +1 -0
  81. package/dist/invariants-q_UamF7D.mjs +62 -0
  82. package/dist/invariants-q_UamF7D.mjs.map +1 -0
  83. package/dist/logSinkTelemetry-C5QjZipw.mjs +41 -0
  84. package/dist/logSinkTelemetry-C5QjZipw.mjs.map +1 -0
  85. package/dist/logSinkTelemetry-CqiTuh3a.cjs +52 -0
  86. package/dist/logSinkTelemetry-CqiTuh3a.cjs.map +1 -0
  87. package/dist/logSinkTelemetry.cjs +6 -1
  88. package/dist/logSinkTelemetry.d.mts +23 -2
  89. package/dist/logSinkTelemetry.d.mts.map +1 -0
  90. package/dist/logSinkTelemetry.mjs +3 -1
  91. package/dist/paths-Bg8EEbk1.mjs +218 -0
  92. package/dist/paths-Bg8EEbk1.mjs.map +1 -0
  93. package/dist/paths-BsFVRulr.cjs +320 -0
  94. package/dist/paths-BsFVRulr.cjs.map +1 -0
  95. package/dist/processLiveness-Ccd9wenT.mjs +20 -0
  96. package/dist/processLiveness-Ccd9wenT.mjs.map +1 -0
  97. package/dist/processLiveness-umpNgsPR.cjs +25 -0
  98. package/dist/processLiveness-umpNgsPR.cjs.map +1 -0
  99. package/dist/promptGuidelines-DaxWrqud.d.mts +14 -0
  100. package/dist/promptGuidelines-DaxWrqud.d.mts.map +1 -0
  101. package/dist/promptGuidelines-g4QT8GNM.mjs +26 -0
  102. package/dist/promptGuidelines-g4QT8GNM.mjs.map +1 -0
  103. package/dist/promptGuidelines-j_SZTzlH.cjs +31 -0
  104. package/dist/promptGuidelines-j_SZTzlH.cjs.map +1 -0
  105. package/dist/reconcile-BcD-hTbd.mjs +63 -0
  106. package/dist/reconcile-BcD-hTbd.mjs.map +1 -0
  107. package/dist/reconcile-cRL0NjDr.cjs +80 -0
  108. package/dist/reconcile-cRL0NjDr.cjs.map +1 -0
  109. package/dist/reducer-BEfJFM5L.mjs +345 -0
  110. package/dist/reducer-BEfJFM5L.mjs.map +1 -0
  111. package/dist/reducer-BV0YIZ2o.cjs +380 -0
  112. package/dist/reducer-BV0YIZ2o.cjs.map +1 -0
  113. package/dist/root.cli-swHZqusx.d.mts +56 -0
  114. package/dist/root.cli-swHZqusx.d.mts.map +1 -0
  115. package/dist/selectors-BaS6dObz.mjs +142 -0
  116. package/dist/selectors-BaS6dObz.mjs.map +1 -0
  117. package/dist/{tui/selectors.d.cts → selectors-DPDPPjH3.d.mts} +11 -4
  118. package/dist/selectors-DPDPPjH3.d.mts.map +1 -0
  119. package/dist/selectors-b-69vb4W.cjs +189 -0
  120. package/dist/selectors-b-69vb4W.cjs.map +1 -0
  121. package/dist/storeInvariants.cjs +5 -0
  122. package/dist/storeInvariants.d.mts +23 -0
  123. package/dist/storeInvariants.d.mts.map +1 -0
  124. package/dist/storeInvariants.mjs +2 -0
  125. package/dist/storePaths.cjs +14 -0
  126. package/dist/storePaths.d.mts +2 -0
  127. package/dist/storePaths.mjs +2 -0
  128. package/dist/storeProcessLiveness.cjs +3 -0
  129. package/dist/{services/store/processLiveness.d.cts → storeProcessLiveness.d.mts} +3 -4
  130. package/dist/storeProcessLiveness.d.mts.map +1 -0
  131. package/dist/storeProcessLiveness.mjs +2 -0
  132. package/dist/storeReconcile.cjs +5 -0
  133. package/dist/storeReconcile.d.mts +2 -0
  134. package/dist/storeReconcile.mjs +2 -0
  135. package/dist/storeReducer.cjs +8 -0
  136. package/dist/storeReducer.d.mts +2 -0
  137. package/dist/storeReducer.mjs +2 -0
  138. package/dist/storeTaskGraph.cjs +7 -0
  139. package/dist/storeTaskGraph.d.mts +2 -0
  140. package/dist/storeTaskGraph.mjs +2 -0
  141. package/dist/storeTaskStore.cjs +3 -0
  142. package/dist/storeTaskStore.d.mts +2 -0
  143. package/dist/storeTaskStore.mjs +2 -0
  144. package/dist/storeTypes.cjs +6 -0
  145. package/dist/storeTypes.d.mts +2 -0
  146. package/dist/storeTypes.mjs +2 -0
  147. package/dist/task-B4aF5J9s.mjs +6 -0
  148. package/dist/task-B4aF5J9s.mjs.map +1 -0
  149. package/dist/task-CXF9VULl.cjs +49 -0
  150. package/dist/task-CXF9VULl.cjs.map +1 -0
  151. package/dist/task-CkFjC3Fo.d.mts +5 -0
  152. package/dist/task-CkFjC3Fo.d.mts.map +1 -0
  153. package/dist/{schemas/task.d.mts → task-DHSvdK6E.d.mts} +33 -17
  154. package/dist/task-DHSvdK6E.d.mts.map +1 -0
  155. package/dist/task-DKHKuems.mjs +116 -0
  156. package/dist/task-DKHKuems.mjs.map +1 -0
  157. package/dist/task-DaagqdPK.cjs +11 -0
  158. package/dist/task-DaagqdPK.cjs.map +1 -0
  159. package/dist/task-Dqy88_rr.cjs +193 -0
  160. package/dist/task-Dqy88_rr.cjs.map +1 -0
  161. package/dist/task-giCbpKzV.mjs +26 -0
  162. package/dist/task-giCbpKzV.mjs.map +1 -0
  163. package/dist/{services/store/types.d.mts → task-hLh4BOO7.d.mts} +37 -15
  164. package/dist/task-hLh4BOO7.d.mts.map +1 -0
  165. package/dist/task-space.cli-BH4Iy_7m.cjs +372 -0
  166. package/dist/task-space.cli-BH4Iy_7m.cjs.map +1 -0
  167. package/dist/task-space.cli-CMYNjgOW.mjs +355 -0
  168. package/dist/task-space.cli-CMYNjgOW.mjs.map +1 -0
  169. package/dist/task.cli-BM34E7GG.mjs +157 -0
  170. package/dist/task.cli-BM34E7GG.mjs.map +1 -0
  171. package/dist/task.cli-CiTkjUaX.cjs +174 -0
  172. package/dist/task.cli-CiTkjUaX.cjs.map +1 -0
  173. package/dist/taskGraph-BOQvT0-M.mjs +63 -0
  174. package/dist/taskGraph-BOQvT0-M.mjs.map +1 -0
  175. package/dist/taskGraph-BskRslrr.cjs +92 -0
  176. package/dist/taskGraph-BskRslrr.cjs.map +1 -0
  177. package/dist/{services/store/taskGraph.d.cts → taskGraph-YQXCfXTn.d.mts} +4 -4
  178. package/dist/taskGraph-YQXCfXTn.d.mts.map +1 -0
  179. package/dist/taskOverlay-B5wJHiml.cjs +175 -0
  180. package/dist/taskOverlay-B5wJHiml.cjs.map +1 -0
  181. package/dist/taskOverlay-CljDoTj_.mjs +164 -0
  182. package/dist/taskOverlay-CljDoTj_.mjs.map +1 -0
  183. package/dist/taskResult-D2G7b4w-.cjs +224 -0
  184. package/dist/taskResult-D2G7b4w-.cjs.map +1 -0
  185. package/dist/taskResult-edBAAKSH.mjs +165 -0
  186. package/dist/taskResult-edBAAKSH.mjs.map +1 -0
  187. package/dist/taskStore-CFx12KJk.mjs +213 -0
  188. package/dist/taskStore-CFx12KJk.mjs.map +1 -0
  189. package/dist/taskStore-T1pPy-UJ.cjs +220 -0
  190. package/dist/taskStore-T1pPy-UJ.cjs.map +1 -0
  191. package/dist/tasks.cli-8VvuN9YQ.cjs +40 -0
  192. package/dist/tasks.cli-8VvuN9YQ.cjs.map +1 -0
  193. package/dist/tasks.cli-BZj83YD_.mjs +29 -0
  194. package/dist/tasks.cli-BZj83YD_.mjs.map +1 -0
  195. package/dist/telemetry-DOyZLj8E.d.mts +36 -0
  196. package/dist/telemetry-DOyZLj8E.d.mts.map +1 -0
  197. package/dist/telemetry-I4md7Xzz.cjs +31 -0
  198. package/dist/telemetry-I4md7Xzz.cjs.map +1 -0
  199. package/dist/telemetry-PmX_1Y8a.mjs +26 -0
  200. package/dist/telemetry-PmX_1Y8a.mjs.map +1 -0
  201. package/dist/toolPromptGuidelines.cjs +3 -0
  202. package/dist/toolPromptGuidelines.d.mts +2 -0
  203. package/dist/toolPromptGuidelines.mjs +2 -0
  204. package/dist/toolResponseEnvelope.cjs +12 -0
  205. package/dist/toolResponseEnvelope.d.mts +2 -0
  206. package/dist/toolResponseEnvelope.mjs +2 -0
  207. package/dist/toolSchema.cjs +17 -0
  208. package/dist/toolSchema.d.mts +3 -0
  209. package/dist/toolSchema.mjs +3 -0
  210. package/dist/toolTaskTool.cjs +6 -0
  211. package/dist/toolTaskTool.d.mts +3 -0
  212. package/dist/toolTaskTool.mjs +3 -0
  213. package/dist/tuiFormat.cjs +14 -0
  214. package/dist/tuiFormat.d.mts +61 -0
  215. package/dist/tuiFormat.d.mts.map +1 -0
  216. package/dist/tuiFormat.mjs +2 -0
  217. package/dist/tuiSelectors.cjs +10 -0
  218. package/dist/tuiSelectors.d.mts +2 -0
  219. package/dist/tuiSelectors.mjs +2 -0
  220. package/dist/tuiTaskOverlay.cjs +4 -0
  221. package/dist/{tui/taskOverlay.d.cts → tuiTaskOverlay.d.mts} +9 -8
  222. package/dist/tuiTaskOverlay.d.mts.map +1 -0
  223. package/dist/tuiTaskOverlay.mjs +2 -0
  224. package/dist/tuiTaskSpace.cjs +5 -0
  225. package/dist/{tui/taskSpace.d.cts → tuiTaskSpace.d.mts} +11 -13
  226. package/dist/tuiTaskSpace.d.mts.map +1 -0
  227. package/dist/tuiTaskSpace.mjs +2 -0
  228. package/package.json +175 -109
  229. package/src/types/webTasks.ts +24 -0
  230. package/dist/_virtual/_rolldown/runtime.cjs +0 -1
  231. package/dist/adapters/pi/extension.cjs +0 -3
  232. package/dist/adapters/pi/extension.cjs.map +0 -1
  233. package/dist/adapters/pi/extension.d.cts +0 -12
  234. package/dist/adapters/pi/extension.d.cts.map +0 -1
  235. package/dist/adapters/pi/extension.d.mts +0 -12
  236. package/dist/adapters/pi/extension.d.mts.map +0 -1
  237. package/dist/adapters/pi/extension.mjs +0 -3
  238. package/dist/adapters/pi/extension.mjs.map +0 -1
  239. package/dist/adapters/store/paths.cjs +0 -2
  240. package/dist/adapters/store/paths.cjs.map +0 -1
  241. package/dist/adapters/store/paths.d.cts.map +0 -1
  242. package/dist/adapters/store/paths.d.mts +0 -26
  243. package/dist/adapters/store/paths.d.mts.map +0 -1
  244. package/dist/adapters/store/paths.mjs +0 -2
  245. package/dist/adapters/store/paths.mjs.map +0 -1
  246. package/dist/adapters/store/taskStore.cjs +0 -2
  247. package/dist/adapters/store/taskStore.cjs.map +0 -1
  248. package/dist/adapters/store/taskStore.d.cts.map +0 -1
  249. package/dist/adapters/store/taskStore.d.mts +0 -87
  250. package/dist/adapters/store/taskStore.d.mts.map +0 -1
  251. package/dist/adapters/store/taskStore.mjs +0 -2
  252. package/dist/adapters/store/taskStore.mjs.map +0 -1
  253. package/dist/adapters/telemetry/logSinkTelemetry.cjs +0 -2
  254. package/dist/adapters/telemetry/logSinkTelemetry.cjs.map +0 -1
  255. package/dist/adapters/telemetry/logSinkTelemetry.d.cts +0 -52
  256. package/dist/adapters/telemetry/logSinkTelemetry.d.cts.map +0 -1
  257. package/dist/adapters/telemetry/logSinkTelemetry.d.mts +0 -52
  258. package/dist/adapters/telemetry/logSinkTelemetry.d.mts.map +0 -1
  259. package/dist/adapters/telemetry/logSinkTelemetry.mjs +0 -2
  260. package/dist/adapters/telemetry/logSinkTelemetry.mjs.map +0 -1
  261. package/dist/commands/index.cjs +0 -2
  262. package/dist/commands/index.cjs.map +0 -1
  263. package/dist/commands/index.d.cts +0 -15
  264. package/dist/commands/index.d.cts.map +0 -1
  265. package/dist/commands/index.d.mts +0 -15
  266. package/dist/commands/index.d.mts.map +0 -1
  267. package/dist/commands/index.mjs +0 -2
  268. package/dist/commands/index.mjs.map +0 -1
  269. package/dist/commands/task/promptGuidelines.cjs +0 -2
  270. package/dist/commands/task/promptGuidelines.cjs.map +0 -1
  271. package/dist/commands/task/promptGuidelines.d.cts +0 -5
  272. package/dist/commands/task/promptGuidelines.d.cts.map +0 -1
  273. package/dist/commands/task/promptGuidelines.d.mts +0 -5
  274. package/dist/commands/task/promptGuidelines.d.mts.map +0 -1
  275. package/dist/commands/task/promptGuidelines.mjs +0 -2
  276. package/dist/commands/task/promptGuidelines.mjs.map +0 -1
  277. package/dist/commands/task/responseEnvelope.cjs +0 -6
  278. package/dist/commands/task/responseEnvelope.cjs.map +0 -1
  279. package/dist/commands/task/responseEnvelope.d.cts.map +0 -1
  280. package/dist/commands/task/responseEnvelope.d.mts +0 -39
  281. package/dist/commands/task/responseEnvelope.d.mts.map +0 -1
  282. package/dist/commands/task/responseEnvelope.mjs +0 -6
  283. package/dist/commands/task/responseEnvelope.mjs.map +0 -1
  284. package/dist/commands/task/taskTool.cjs +0 -3
  285. package/dist/commands/task/taskTool.cjs.map +0 -1
  286. package/dist/commands/task/taskTool.d.cts +0 -18
  287. package/dist/commands/task/taskTool.d.cts.map +0 -1
  288. package/dist/commands/task/taskTool.d.mts +0 -18
  289. package/dist/commands/task/taskTool.d.mts.map +0 -1
  290. package/dist/commands/task/taskTool.mjs +0 -3
  291. package/dist/commands/task/taskTool.mjs.map +0 -1
  292. package/dist/commands.d.cts +0 -2
  293. package/dist/config.d.cts +0 -2
  294. package/dist/delegation/manager.cjs +0 -1
  295. package/dist/delegation/manager.d.cts +0 -2
  296. package/dist/delegation/manager.d.mts +0 -2
  297. package/dist/delegation/manager.mjs +0 -1
  298. package/dist/extension.cjs +0 -1
  299. package/dist/extension.d.cts +0 -2
  300. package/dist/extension.d.mts +0 -2
  301. package/dist/extension.mjs +0 -1
  302. package/dist/extensions/doom.cjs +0 -2
  303. package/dist/extensions/doom.cjs.map +0 -1
  304. package/dist/extensions/doom.d.cts +0 -6
  305. package/dist/extensions/doom.d.cts.map +0 -1
  306. package/dist/extensions/doom.d.mts +0 -7
  307. package/dist/extensions/doom.d.mts.map +0 -1
  308. package/dist/extensions/doom.mjs +0 -2
  309. package/dist/extensions/doom.mjs.map +0 -1
  310. package/dist/extensions/pi.d.cts +0 -2
  311. package/dist/index.d.cts +0 -16
  312. package/dist/logSinkTelemetry.d.cts +0 -2
  313. package/dist/schemas/task.cjs +0 -2
  314. package/dist/schemas/task.cjs.map +0 -1
  315. package/dist/schemas/task.d.cts +0 -86
  316. package/dist/schemas/task.d.cts.map +0 -1
  317. package/dist/schemas/task.d.mts.map +0 -1
  318. package/dist/schemas/task.mjs +0 -2
  319. package/dist/schemas/task.mjs.map +0 -1
  320. package/dist/services/delegation/manager.cjs +0 -6
  321. package/dist/services/delegation/manager.cjs.map +0 -1
  322. package/dist/services/delegation/manager.d.cts +0 -188
  323. package/dist/services/delegation/manager.d.cts.map +0 -1
  324. package/dist/services/delegation/manager.d.mts.map +0 -1
  325. package/dist/services/delegation/manager.mjs +0 -6
  326. package/dist/services/delegation/manager.mjs.map +0 -1
  327. package/dist/services/narration/taskNarration.cjs +0 -2
  328. package/dist/services/narration/taskNarration.cjs.map +0 -1
  329. package/dist/services/narration/taskNarration.mjs +0 -2
  330. package/dist/services/narration/taskNarration.mjs.map +0 -1
  331. package/dist/services/store/invariants.cjs +0 -2
  332. package/dist/services/store/invariants.cjs.map +0 -1
  333. package/dist/services/store/invariants.d.cts +0 -14
  334. package/dist/services/store/invariants.d.cts.map +0 -1
  335. package/dist/services/store/invariants.d.mts +0 -14
  336. package/dist/services/store/invariants.d.mts.map +0 -1
  337. package/dist/services/store/invariants.mjs +0 -2
  338. package/dist/services/store/invariants.mjs.map +0 -1
  339. package/dist/services/store/paths.cjs +0 -1
  340. package/dist/services/store/paths.mjs +0 -1
  341. package/dist/services/store/processLiveness.cjs +0 -2
  342. package/dist/services/store/processLiveness.cjs.map +0 -1
  343. package/dist/services/store/processLiveness.d.cts.map +0 -1
  344. package/dist/services/store/processLiveness.d.mts +0 -12
  345. package/dist/services/store/processLiveness.d.mts.map +0 -1
  346. package/dist/services/store/processLiveness.mjs +0 -2
  347. package/dist/services/store/processLiveness.mjs.map +0 -1
  348. package/dist/services/store/reconcile.cjs +0 -2
  349. package/dist/services/store/reconcile.cjs.map +0 -1
  350. package/dist/services/store/reconcile.d.cts.map +0 -1
  351. package/dist/services/store/reconcile.d.mts +0 -34
  352. package/dist/services/store/reconcile.d.mts.map +0 -1
  353. package/dist/services/store/reconcile.mjs +0 -2
  354. package/dist/services/store/reconcile.mjs.map +0 -1
  355. package/dist/services/store/reducer.cjs +0 -3
  356. package/dist/services/store/reducer.cjs.map +0 -1
  357. package/dist/services/store/reducer.d.cts.map +0 -1
  358. package/dist/services/store/reducer.d.mts +0 -72
  359. package/dist/services/store/reducer.d.mts.map +0 -1
  360. package/dist/services/store/reducer.mjs +0 -3
  361. package/dist/services/store/reducer.mjs.map +0 -1
  362. package/dist/services/store/taskGraph.cjs +0 -2
  363. package/dist/services/store/taskGraph.cjs.map +0 -1
  364. package/dist/services/store/taskGraph.d.cts.map +0 -1
  365. package/dist/services/store/taskGraph.d.mts +0 -25
  366. package/dist/services/store/taskGraph.d.mts.map +0 -1
  367. package/dist/services/store/taskGraph.mjs +0 -2
  368. package/dist/services/store/taskGraph.mjs.map +0 -1
  369. package/dist/services/store/taskStore.cjs +0 -1
  370. package/dist/services/store/taskStore.d.cts +0 -2
  371. package/dist/services/store/taskStore.d.mts +0 -2
  372. package/dist/services/store/taskStore.mjs +0 -1
  373. package/dist/services/store/types.cjs +0 -2
  374. package/dist/services/store/types.cjs.map +0 -1
  375. package/dist/services/store/types.d.cts +0 -165
  376. package/dist/services/store/types.d.cts.map +0 -1
  377. package/dist/services/store/types.d.mts.map +0 -1
  378. package/dist/services/store/types.mjs +0 -2
  379. package/dist/services/store/types.mjs.map +0 -1
  380. package/dist/store/invariants.cjs +0 -1
  381. package/dist/store/invariants.d.cts +0 -2
  382. package/dist/store/invariants.d.mts +0 -2
  383. package/dist/store/invariants.mjs +0 -1
  384. package/dist/store/paths.cjs +0 -1
  385. package/dist/store/paths.d.cts +0 -2
  386. package/dist/store/paths.d.mts +0 -2
  387. package/dist/store/paths.mjs +0 -1
  388. package/dist/store/processLiveness.cjs +0 -1
  389. package/dist/store/processLiveness.d.cts +0 -2
  390. package/dist/store/processLiveness.d.mts +0 -2
  391. package/dist/store/processLiveness.mjs +0 -1
  392. package/dist/store/reconcile.cjs +0 -1
  393. package/dist/store/reconcile.d.cts +0 -2
  394. package/dist/store/reconcile.d.mts +0 -2
  395. package/dist/store/reconcile.mjs +0 -1
  396. package/dist/store/reducer.cjs +0 -1
  397. package/dist/store/reducer.d.cts +0 -2
  398. package/dist/store/reducer.d.mts +0 -2
  399. package/dist/store/reducer.mjs +0 -1
  400. package/dist/store/taskGraph.cjs +0 -1
  401. package/dist/store/taskGraph.d.cts +0 -2
  402. package/dist/store/taskGraph.d.mts +0 -2
  403. package/dist/store/taskGraph.mjs +0 -1
  404. package/dist/store/taskStore.cjs +0 -1
  405. package/dist/store/taskStore.d.cts +0 -3
  406. package/dist/store/taskStore.d.mts +0 -3
  407. package/dist/store/taskStore.mjs +0 -1
  408. package/dist/store/types.cjs +0 -1
  409. package/dist/store/types.d.cts +0 -2
  410. package/dist/store/types.d.mts +0 -2
  411. package/dist/store/types.mjs +0 -1
  412. package/dist/tool/promptGuidelines.cjs +0 -1
  413. package/dist/tool/promptGuidelines.d.cts +0 -2
  414. package/dist/tool/promptGuidelines.d.mts +0 -2
  415. package/dist/tool/promptGuidelines.mjs +0 -1
  416. package/dist/tool/responseEnvelope.cjs +0 -1
  417. package/dist/tool/responseEnvelope.d.cts +0 -2
  418. package/dist/tool/responseEnvelope.d.mts +0 -2
  419. package/dist/tool/responseEnvelope.mjs +0 -1
  420. package/dist/tool/schema.cjs +0 -1
  421. package/dist/tool/schema.d.cts +0 -2
  422. package/dist/tool/schema.d.mts +0 -2
  423. package/dist/tool/schema.mjs +0 -1
  424. package/dist/tool/taskTool.cjs +0 -1
  425. package/dist/tool/taskTool.d.cts +0 -3
  426. package/dist/tool/taskTool.d.mts +0 -3
  427. package/dist/tool/taskTool.mjs +0 -1
  428. package/dist/tui/format.cjs +0 -4
  429. package/dist/tui/format.cjs.map +0 -1
  430. package/dist/tui/format.d.cts +0 -62
  431. package/dist/tui/format.d.cts.map +0 -1
  432. package/dist/tui/format.d.mts +0 -62
  433. package/dist/tui/format.d.mts.map +0 -1
  434. package/dist/tui/format.mjs +0 -4
  435. package/dist/tui/format.mjs.map +0 -1
  436. package/dist/tui/selectors.cjs +0 -2
  437. package/dist/tui/selectors.cjs.map +0 -1
  438. package/dist/tui/selectors.d.cts.map +0 -1
  439. package/dist/tui/selectors.d.mts +0 -53
  440. package/dist/tui/selectors.d.mts.map +0 -1
  441. package/dist/tui/selectors.mjs +0 -2
  442. package/dist/tui/selectors.mjs.map +0 -1
  443. package/dist/tui/taskOverlay.cjs +0 -2
  444. package/dist/tui/taskOverlay.cjs.map +0 -1
  445. package/dist/tui/taskOverlay.d.cts.map +0 -1
  446. package/dist/tui/taskOverlay.d.mts +0 -38
  447. package/dist/tui/taskOverlay.d.mts.map +0 -1
  448. package/dist/tui/taskOverlay.mjs +0 -2
  449. package/dist/tui/taskOverlay.mjs.map +0 -1
  450. package/dist/tui/taskSpace.cjs +0 -5
  451. package/dist/tui/taskSpace.cjs.map +0 -1
  452. package/dist/tui/taskSpace.d.cts.map +0 -1
  453. package/dist/tui/taskSpace.d.mts +0 -62
  454. package/dist/tui/taskSpace.d.mts.map +0 -1
  455. package/dist/tui/taskSpace.mjs +0 -5
  456. package/dist/tui/taskSpace.mjs.map +0 -1
  457. package/dist/types/config.cjs +0 -2
  458. package/dist/types/config.cjs.map +0 -1
  459. package/dist/types/config.d.cts.map +0 -1
  460. package/dist/types/config.d.mts +0 -38
  461. package/dist/types/config.d.mts.map +0 -1
  462. package/dist/types/config.mjs +0 -2
  463. package/dist/types/config.mjs.map +0 -1
@@ -0,0 +1,142 @@
1
+ import { n as canonicalizeTasks } from "./invariants-q_UamF7D.mjs";
2
+ //#region src/extensions/workspaces/sessions/(frontend)/overlay/_lib/selectors.ts
3
+ function visibleTasks(tasks) {
4
+ return canonicalizeTasks(tasks).filter((task) => task.status !== "deleted");
5
+ }
6
+ function indexStatuses(tasks) {
7
+ return new Map(tasks.map((task) => [task.id, task.status]));
8
+ }
9
+ function hasUnresolvedBlocker(task, statuses) {
10
+ return task.blockedBy?.some((id) => {
11
+ const status = statuses.get(id);
12
+ return status !== void 0 && status !== "completed" && status !== "deleted";
13
+ }) ?? false;
14
+ }
15
+ /**
16
+ * Derive all overlay-facing state in O(tasks + dependency edges).
17
+ *
18
+ * The id index replaces one full task-list scan per dependency, while the
19
+ * ordered pass keeps group ordering identical to the source document.
20
+ */
21
+ function deriveTaskProjection(tasks) {
22
+ const canonical = canonicalizeTasks(tasks);
23
+ const statuses = indexStatuses(canonical);
24
+ const visible = [];
25
+ const counts = {
26
+ total: 0,
27
+ completed: 0,
28
+ inProgress: 0,
29
+ pending: 0,
30
+ failed: 0,
31
+ blocked: 0
32
+ };
33
+ const groups = {
34
+ inProgress: [],
35
+ blocked: [],
36
+ pending: [],
37
+ completed: [],
38
+ failed: []
39
+ };
40
+ let showIds = false;
41
+ for (const task of canonical) {
42
+ if (task.status === "deleted") continue;
43
+ visible.push(task);
44
+ counts.total += 1;
45
+ showIds ||= Boolean(task.blockedBy?.length);
46
+ switch (task.status) {
47
+ case "in_progress":
48
+ counts.inProgress += 1;
49
+ groups.inProgress.push(task);
50
+ break;
51
+ case "pending":
52
+ counts.pending += 1;
53
+ if (hasUnresolvedBlocker(task, statuses)) {
54
+ counts.blocked += 1;
55
+ groups.blocked.push(task);
56
+ } else groups.pending.push(task);
57
+ break;
58
+ case "failed":
59
+ counts.failed += 1;
60
+ groups.failed.push(task);
61
+ break;
62
+ case "completed":
63
+ counts.completed += 1;
64
+ groups.completed.push(task);
65
+ }
66
+ }
67
+ return {
68
+ visible,
69
+ counts,
70
+ groups,
71
+ showIds,
72
+ hasActiveWork: counts.inProgress > 0
73
+ };
74
+ }
75
+ function countTasks(tasks) {
76
+ return deriveTaskProjection(tasks).counts;
77
+ }
78
+ /**
79
+ * Group tasks for display.
80
+ *
81
+ * Blocked tasks split out of `pending` because a reader scanning the overlay
82
+ * needs to know at a glance what is actually actionable right now.
83
+ */
84
+ function groupTasks(tasks) {
85
+ return deriveTaskProjection(tasks).groups;
86
+ }
87
+ /** Ids are only worth the visual noise once dependencies are in play. */
88
+ function shouldShowIds(tasks) {
89
+ return tasks.some((task) => task.status !== "deleted" && Boolean(task.blockedBy?.length));
90
+ }
91
+ function hasActiveWork(tasks) {
92
+ return tasks.some((task) => task.status === "in_progress");
93
+ }
94
+ /**
95
+ * Choose which rows fit the overlay budget.
96
+ *
97
+ * Active work wins limited space: in-progress first, then failed, blocked, and
98
+ * pending. Selected rows are always returned in source order, however, so a
99
+ * status update does not reshuffle an otherwise unchanged overlay.
100
+ */
101
+ function selectOverlayLayoutFromProjection(projection, budget) {
102
+ const { groups, visible: sourceOrder } = projection;
103
+ const active = [
104
+ ...groups.inProgress,
105
+ ...groups.failed,
106
+ ...groups.blocked,
107
+ ...groups.pending
108
+ ];
109
+ if (budget <= 0) return {
110
+ visible: [],
111
+ hiddenCompleted: groups.completed.length,
112
+ truncatedTail: active.length
113
+ };
114
+ if (sourceOrder.length <= budget) return {
115
+ visible: sourceOrder,
116
+ hiddenCompleted: 0,
117
+ truncatedTail: 0
118
+ };
119
+ if (active.length <= budget) {
120
+ const remaining = budget - active.length;
121
+ const shownCompleted = groups.completed.slice(0, remaining);
122
+ const selected = /* @__PURE__ */ new Set([...active, ...shownCompleted]);
123
+ return {
124
+ visible: sourceOrder.filter((task) => selected.has(task)),
125
+ hiddenCompleted: groups.completed.length - shownCompleted.length,
126
+ truncatedTail: 0
127
+ };
128
+ }
129
+ const selected = new Set(active.slice(0, budget));
130
+ return {
131
+ visible: sourceOrder.filter((task) => selected.has(task)),
132
+ hiddenCompleted: groups.completed.length,
133
+ truncatedTail: active.length - budget
134
+ };
135
+ }
136
+ function selectOverlayLayout(tasks, budget) {
137
+ return selectOverlayLayoutFromProjection(deriveTaskProjection(tasks), budget);
138
+ }
139
+ //#endregion
140
+ export { selectOverlayLayout as a, visibleTasks as c, hasActiveWork as i, deriveTaskProjection as n, selectOverlayLayoutFromProjection as o, groupTasks as r, shouldShowIds as s, countTasks as t };
141
+
142
+ //# sourceMappingURL=selectors-BaS6dObz.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectors-BaS6dObz.mjs","names":[],"sources":["../src/extensions/workspaces/sessions/(frontend)/overlay/_lib/selectors.ts"],"sourcesContent":["import type { Task } from '../../../../../../models/task';\nimport { canonicalizeTasks } from '../../../../../../services/invariants';\n\nexport interface TaskCounts {\n total: number;\n completed: number;\n inProgress: number;\n pending: number;\n failed: number;\n blocked: number;\n}\n\nexport interface TaskGroups {\n inProgress: Task[];\n blocked: Task[];\n pending: Task[];\n completed: Task[];\n failed: Task[];\n}\n\nexport interface TaskProjection {\n visible: Task[];\n counts: TaskCounts;\n groups: TaskGroups;\n showIds: boolean;\n hasActiveWork: boolean;\n}\n\nexport function visibleTasks(tasks: readonly Task[]): Task[] {\n return canonicalizeTasks(tasks).filter((task) => task.status !== 'deleted');\n}\n\nfunction indexStatuses(tasks: readonly Task[]): Map<number, Task['status']> {\n return new Map(tasks.map((task) => [task.id, task.status]));\n}\n\nfunction hasUnresolvedBlocker(task: Task, statuses: ReadonlyMap<number, Task['status']>): boolean {\n return (\n task.blockedBy?.some((id) => {\n const status = statuses.get(id);\n return status !== undefined && status !== 'completed' && status !== 'deleted';\n }) ?? false\n );\n}\n\n/**\n * Derive all overlay-facing state in O(tasks + dependency edges).\n *\n * The id index replaces one full task-list scan per dependency, while the\n * ordered pass keeps group ordering identical to the source document.\n */\nexport function deriveTaskProjection(tasks: readonly Task[]): TaskProjection {\n const canonical = canonicalizeTasks(tasks);\n const statuses = indexStatuses(canonical);\n const visible: Task[] = [];\n const counts: TaskCounts = { total: 0, completed: 0, inProgress: 0, pending: 0, failed: 0, blocked: 0 };\n const groups: TaskGroups = { inProgress: [], blocked: [], pending: [], completed: [], failed: [] };\n let showIds = false;\n\n for (const task of canonical) {\n if (task.status === 'deleted') continue;\n\n visible.push(task);\n counts.total += 1;\n showIds ||= Boolean(task.blockedBy?.length);\n\n switch (task.status) {\n case 'in_progress':\n counts.inProgress += 1;\n groups.inProgress.push(task);\n break;\n case 'pending': {\n counts.pending += 1;\n if (hasUnresolvedBlocker(task, statuses)) {\n counts.blocked += 1;\n groups.blocked.push(task);\n } else {\n groups.pending.push(task);\n }\n break;\n }\n case 'failed':\n counts.failed += 1;\n groups.failed.push(task);\n break;\n case 'completed':\n counts.completed += 1;\n groups.completed.push(task);\n break;\n }\n }\n\n return { visible, counts, groups, showIds, hasActiveWork: counts.inProgress > 0 };\n}\n\nexport function countTasks(tasks: readonly Task[]): TaskCounts {\n return deriveTaskProjection(tasks).counts;\n}\n\n/**\n * Group tasks for display.\n *\n * Blocked tasks split out of `pending` because a reader scanning the overlay\n * needs to know at a glance what is actually actionable right now.\n */\nexport function groupTasks(tasks: readonly Task[]): TaskGroups {\n return deriveTaskProjection(tasks).groups;\n}\n\n/** Ids are only worth the visual noise once dependencies are in play. */\nexport function shouldShowIds(tasks: readonly Task[]): boolean {\n return tasks.some((task) => task.status !== 'deleted' && Boolean(task.blockedBy?.length));\n}\n\nexport function hasActiveWork(tasks: readonly Task[]): boolean {\n return tasks.some((task) => task.status === 'in_progress');\n}\n\nexport interface OverlayLayout {\n visible: Task[];\n hiddenCompleted: number;\n truncatedTail: number;\n}\n\n/**\n * Choose which rows fit the overlay budget.\n *\n * Active work wins limited space: in-progress first, then failed, blocked, and\n * pending. Selected rows are always returned in source order, however, so a\n * status update does not reshuffle an otherwise unchanged overlay.\n */\nexport function selectOverlayLayoutFromProjection(projection: TaskProjection, budget: number): OverlayLayout {\n const { groups, visible: sourceOrder } = projection;\n const active = [...groups.inProgress, ...groups.failed, ...groups.blocked, ...groups.pending];\n if (budget <= 0) {\n return {\n visible: [],\n hiddenCompleted: groups.completed.length,\n truncatedTail: active.length,\n };\n }\n if (sourceOrder.length <= budget) {\n return { visible: sourceOrder, hiddenCompleted: 0, truncatedTail: 0 };\n }\n\n if (active.length <= budget) {\n const remaining = budget - active.length;\n const shownCompleted = groups.completed.slice(0, remaining);\n const selected = new Set([...active, ...shownCompleted]);\n return {\n visible: sourceOrder.filter((task) => selected.has(task)),\n hiddenCompleted: groups.completed.length - shownCompleted.length,\n truncatedTail: 0,\n };\n }\n\n const selected = new Set(active.slice(0, budget));\n return {\n visible: sourceOrder.filter((task) => selected.has(task)),\n hiddenCompleted: groups.completed.length,\n truncatedTail: active.length - budget,\n };\n}\n\nexport function selectOverlayLayout(tasks: readonly Task[], budget: number): OverlayLayout {\n return selectOverlayLayoutFromProjection(deriveTaskProjection(tasks), budget);\n}\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { Task } from "../services/store/types.cjs";
2
- //#region src/tui/selectors.d.ts
1
+ import { s as Task } from "./task-hLh4BOO7.mjs";
2
+ //#region src/extensions/workspaces/sessions/(frontend)/overlay/_lib/selectors.d.ts
3
3
  interface TaskCounts {
4
4
  total: number;
5
5
  completed: number;
@@ -46,8 +46,15 @@ interface OverlayLayout {
46
46
  hiddenCompleted: number;
47
47
  truncatedTail: number;
48
48
  }
49
+ /**
50
+ * Choose which rows fit the overlay budget.
51
+ *
52
+ * Active work wins limited space: in-progress first, then failed, blocked, and
53
+ * pending. Selected rows are always returned in source order, however, so a
54
+ * status update does not reshuffle an otherwise unchanged overlay.
55
+ */
49
56
  declare function selectOverlayLayoutFromProjection(projection: TaskProjection, budget: number): OverlayLayout;
50
57
  declare function selectOverlayLayout(tasks: readonly Task[], budget: number): OverlayLayout;
51
58
  //#endregion
52
- export { OverlayLayout, TaskCounts, TaskGroups, TaskProjection, countTasks, deriveTaskProjection, groupTasks, hasActiveWork, selectOverlayLayout, selectOverlayLayoutFromProjection, shouldShowIds, visibleTasks };
53
- //# sourceMappingURL=selectors.d.cts.map
59
+ export { countTasks as a, hasActiveWork as c, shouldShowIds as d, visibleTasks as f, TaskProjection as i, selectOverlayLayout as l, TaskCounts as n, deriveTaskProjection as o, TaskGroups as r, groupTasks as s, OverlayLayout as t, selectOverlayLayoutFromProjection as u };
60
+ //# sourceMappingURL=selectors-DPDPPjH3.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectors-DPDPPjH3.d.mts","names":[],"sources":["../src/extensions/workspaces/sessions/(frontend)/overlay/_lib/selectors.ts"],"mappings":";;UAGiB;EACf;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf,YAAY;EACZ,SAAS;EACT,SAAS;EACT,WAAW;EACX,QAAQ;;UAGO;EACf,SAAS;EACT,QAAQ;EACR,QAAQ;EACR;EACA;;iBAGc,aAAa,gBAAgB,SAAS;;;;;;;iBAuBtC,qBAAqB,gBAAgB,SAAS;iBA4C9C,WAAW,gBAAgB,SAAS;;;;;;;iBAUpC,WAAW,gBAAgB,SAAS;;iBAKpC,cAAc,gBAAgB;iBAI9B,cAAc,gBAAgB;UAI7B;EACf,SAAS;EACT;EACA;;;;;;;;;iBAUc,kCAAkC,YAAY,gBAAgB,iBAAiB;iBAiC/E,oBAAoB,gBAAgB,QAAQ,iBAAiB"}
@@ -0,0 +1,189 @@
1
+ const require_invariants = require("./invariants-DhjEjBPU.cjs");
2
+ //#region src/extensions/workspaces/sessions/(frontend)/overlay/_lib/selectors.ts
3
+ function visibleTasks(tasks) {
4
+ return require_invariants.canonicalizeTasks(tasks).filter((task) => task.status !== "deleted");
5
+ }
6
+ function indexStatuses(tasks) {
7
+ return new Map(tasks.map((task) => [task.id, task.status]));
8
+ }
9
+ function hasUnresolvedBlocker(task, statuses) {
10
+ return task.blockedBy?.some((id) => {
11
+ const status = statuses.get(id);
12
+ return status !== void 0 && status !== "completed" && status !== "deleted";
13
+ }) ?? false;
14
+ }
15
+ /**
16
+ * Derive all overlay-facing state in O(tasks + dependency edges).
17
+ *
18
+ * The id index replaces one full task-list scan per dependency, while the
19
+ * ordered pass keeps group ordering identical to the source document.
20
+ */
21
+ function deriveTaskProjection(tasks) {
22
+ const canonical = require_invariants.canonicalizeTasks(tasks);
23
+ const statuses = indexStatuses(canonical);
24
+ const visible = [];
25
+ const counts = {
26
+ total: 0,
27
+ completed: 0,
28
+ inProgress: 0,
29
+ pending: 0,
30
+ failed: 0,
31
+ blocked: 0
32
+ };
33
+ const groups = {
34
+ inProgress: [],
35
+ blocked: [],
36
+ pending: [],
37
+ completed: [],
38
+ failed: []
39
+ };
40
+ let showIds = false;
41
+ for (const task of canonical) {
42
+ if (task.status === "deleted") continue;
43
+ visible.push(task);
44
+ counts.total += 1;
45
+ showIds ||= Boolean(task.blockedBy?.length);
46
+ switch (task.status) {
47
+ case "in_progress":
48
+ counts.inProgress += 1;
49
+ groups.inProgress.push(task);
50
+ break;
51
+ case "pending":
52
+ counts.pending += 1;
53
+ if (hasUnresolvedBlocker(task, statuses)) {
54
+ counts.blocked += 1;
55
+ groups.blocked.push(task);
56
+ } else groups.pending.push(task);
57
+ break;
58
+ case "failed":
59
+ counts.failed += 1;
60
+ groups.failed.push(task);
61
+ break;
62
+ case "completed":
63
+ counts.completed += 1;
64
+ groups.completed.push(task);
65
+ }
66
+ }
67
+ return {
68
+ visible,
69
+ counts,
70
+ groups,
71
+ showIds,
72
+ hasActiveWork: counts.inProgress > 0
73
+ };
74
+ }
75
+ function countTasks(tasks) {
76
+ return deriveTaskProjection(tasks).counts;
77
+ }
78
+ /**
79
+ * Group tasks for display.
80
+ *
81
+ * Blocked tasks split out of `pending` because a reader scanning the overlay
82
+ * needs to know at a glance what is actually actionable right now.
83
+ */
84
+ function groupTasks(tasks) {
85
+ return deriveTaskProjection(tasks).groups;
86
+ }
87
+ /** Ids are only worth the visual noise once dependencies are in play. */
88
+ function shouldShowIds(tasks) {
89
+ return tasks.some((task) => task.status !== "deleted" && Boolean(task.blockedBy?.length));
90
+ }
91
+ function hasActiveWork(tasks) {
92
+ return tasks.some((task) => task.status === "in_progress");
93
+ }
94
+ /**
95
+ * Choose which rows fit the overlay budget.
96
+ *
97
+ * Active work wins limited space: in-progress first, then failed, blocked, and
98
+ * pending. Selected rows are always returned in source order, however, so a
99
+ * status update does not reshuffle an otherwise unchanged overlay.
100
+ */
101
+ function selectOverlayLayoutFromProjection(projection, budget) {
102
+ const { groups, visible: sourceOrder } = projection;
103
+ const active = [
104
+ ...groups.inProgress,
105
+ ...groups.failed,
106
+ ...groups.blocked,
107
+ ...groups.pending
108
+ ];
109
+ if (budget <= 0) return {
110
+ visible: [],
111
+ hiddenCompleted: groups.completed.length,
112
+ truncatedTail: active.length
113
+ };
114
+ if (sourceOrder.length <= budget) return {
115
+ visible: sourceOrder,
116
+ hiddenCompleted: 0,
117
+ truncatedTail: 0
118
+ };
119
+ if (active.length <= budget) {
120
+ const remaining = budget - active.length;
121
+ const shownCompleted = groups.completed.slice(0, remaining);
122
+ const selected = /* @__PURE__ */ new Set([...active, ...shownCompleted]);
123
+ return {
124
+ visible: sourceOrder.filter((task) => selected.has(task)),
125
+ hiddenCompleted: groups.completed.length - shownCompleted.length,
126
+ truncatedTail: 0
127
+ };
128
+ }
129
+ const selected = new Set(active.slice(0, budget));
130
+ return {
131
+ visible: sourceOrder.filter((task) => selected.has(task)),
132
+ hiddenCompleted: groups.completed.length,
133
+ truncatedTail: active.length - budget
134
+ };
135
+ }
136
+ function selectOverlayLayout(tasks, budget) {
137
+ return selectOverlayLayoutFromProjection(deriveTaskProjection(tasks), budget);
138
+ }
139
+ //#endregion
140
+ Object.defineProperty(exports, "countTasks", {
141
+ enumerable: true,
142
+ get: function() {
143
+ return countTasks;
144
+ }
145
+ });
146
+ Object.defineProperty(exports, "deriveTaskProjection", {
147
+ enumerable: true,
148
+ get: function() {
149
+ return deriveTaskProjection;
150
+ }
151
+ });
152
+ Object.defineProperty(exports, "groupTasks", {
153
+ enumerable: true,
154
+ get: function() {
155
+ return groupTasks;
156
+ }
157
+ });
158
+ Object.defineProperty(exports, "hasActiveWork", {
159
+ enumerable: true,
160
+ get: function() {
161
+ return hasActiveWork;
162
+ }
163
+ });
164
+ Object.defineProperty(exports, "selectOverlayLayout", {
165
+ enumerable: true,
166
+ get: function() {
167
+ return selectOverlayLayout;
168
+ }
169
+ });
170
+ Object.defineProperty(exports, "selectOverlayLayoutFromProjection", {
171
+ enumerable: true,
172
+ get: function() {
173
+ return selectOverlayLayoutFromProjection;
174
+ }
175
+ });
176
+ Object.defineProperty(exports, "shouldShowIds", {
177
+ enumerable: true,
178
+ get: function() {
179
+ return shouldShowIds;
180
+ }
181
+ });
182
+ Object.defineProperty(exports, "visibleTasks", {
183
+ enumerable: true,
184
+ get: function() {
185
+ return visibleTasks;
186
+ }
187
+ });
188
+
189
+ //# sourceMappingURL=selectors-b-69vb4W.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectors-b-69vb4W.cjs","names":["canonicalizeTasks"],"sources":["../src/extensions/workspaces/sessions/(frontend)/overlay/_lib/selectors.ts"],"sourcesContent":["import type { Task } from '../../../../../../models/task';\nimport { canonicalizeTasks } from '../../../../../../services/invariants';\n\nexport interface TaskCounts {\n total: number;\n completed: number;\n inProgress: number;\n pending: number;\n failed: number;\n blocked: number;\n}\n\nexport interface TaskGroups {\n inProgress: Task[];\n blocked: Task[];\n pending: Task[];\n completed: Task[];\n failed: Task[];\n}\n\nexport interface TaskProjection {\n visible: Task[];\n counts: TaskCounts;\n groups: TaskGroups;\n showIds: boolean;\n hasActiveWork: boolean;\n}\n\nexport function visibleTasks(tasks: readonly Task[]): Task[] {\n return canonicalizeTasks(tasks).filter((task) => task.status !== 'deleted');\n}\n\nfunction indexStatuses(tasks: readonly Task[]): Map<number, Task['status']> {\n return new Map(tasks.map((task) => [task.id, task.status]));\n}\n\nfunction hasUnresolvedBlocker(task: Task, statuses: ReadonlyMap<number, Task['status']>): boolean {\n return (\n task.blockedBy?.some((id) => {\n const status = statuses.get(id);\n return status !== undefined && status !== 'completed' && status !== 'deleted';\n }) ?? false\n );\n}\n\n/**\n * Derive all overlay-facing state in O(tasks + dependency edges).\n *\n * The id index replaces one full task-list scan per dependency, while the\n * ordered pass keeps group ordering identical to the source document.\n */\nexport function deriveTaskProjection(tasks: readonly Task[]): TaskProjection {\n const canonical = canonicalizeTasks(tasks);\n const statuses = indexStatuses(canonical);\n const visible: Task[] = [];\n const counts: TaskCounts = { total: 0, completed: 0, inProgress: 0, pending: 0, failed: 0, blocked: 0 };\n const groups: TaskGroups = { inProgress: [], blocked: [], pending: [], completed: [], failed: [] };\n let showIds = false;\n\n for (const task of canonical) {\n if (task.status === 'deleted') continue;\n\n visible.push(task);\n counts.total += 1;\n showIds ||= Boolean(task.blockedBy?.length);\n\n switch (task.status) {\n case 'in_progress':\n counts.inProgress += 1;\n groups.inProgress.push(task);\n break;\n case 'pending': {\n counts.pending += 1;\n if (hasUnresolvedBlocker(task, statuses)) {\n counts.blocked += 1;\n groups.blocked.push(task);\n } else {\n groups.pending.push(task);\n }\n break;\n }\n case 'failed':\n counts.failed += 1;\n groups.failed.push(task);\n break;\n case 'completed':\n counts.completed += 1;\n groups.completed.push(task);\n break;\n }\n }\n\n return { visible, counts, groups, showIds, hasActiveWork: counts.inProgress > 0 };\n}\n\nexport function countTasks(tasks: readonly Task[]): TaskCounts {\n return deriveTaskProjection(tasks).counts;\n}\n\n/**\n * Group tasks for display.\n *\n * Blocked tasks split out of `pending` because a reader scanning the overlay\n * needs to know at a glance what is actually actionable right now.\n */\nexport function groupTasks(tasks: readonly Task[]): TaskGroups {\n return deriveTaskProjection(tasks).groups;\n}\n\n/** Ids are only worth the visual noise once dependencies are in play. */\nexport function shouldShowIds(tasks: readonly Task[]): boolean {\n return tasks.some((task) => task.status !== 'deleted' && Boolean(task.blockedBy?.length));\n}\n\nexport function hasActiveWork(tasks: readonly Task[]): boolean {\n return tasks.some((task) => task.status === 'in_progress');\n}\n\nexport interface OverlayLayout {\n visible: Task[];\n hiddenCompleted: number;\n truncatedTail: number;\n}\n\n/**\n * Choose which rows fit the overlay budget.\n *\n * Active work wins limited space: in-progress first, then failed, blocked, and\n * pending. Selected rows are always returned in source order, however, so a\n * status update does not reshuffle an otherwise unchanged overlay.\n */\nexport function selectOverlayLayoutFromProjection(projection: TaskProjection, budget: number): OverlayLayout {\n const { groups, visible: sourceOrder } = projection;\n const active = [...groups.inProgress, ...groups.failed, ...groups.blocked, ...groups.pending];\n if (budget <= 0) {\n return {\n visible: [],\n hiddenCompleted: groups.completed.length,\n truncatedTail: active.length,\n };\n }\n if (sourceOrder.length <= budget) {\n return { visible: sourceOrder, hiddenCompleted: 0, truncatedTail: 0 };\n }\n\n if (active.length <= budget) {\n const remaining = budget - active.length;\n const shownCompleted = groups.completed.slice(0, remaining);\n const selected = new Set([...active, ...shownCompleted]);\n return {\n visible: sourceOrder.filter((task) => selected.has(task)),\n hiddenCompleted: groups.completed.length - shownCompleted.length,\n truncatedTail: 0,\n };\n }\n\n const selected = new Set(active.slice(0, budget));\n return {\n visible: sourceOrder.filter((task) => selected.has(task)),\n hiddenCompleted: groups.completed.length,\n truncatedTail: active.length - budget,\n };\n}\n\nexport function selectOverlayLayout(tasks: readonly Task[], budget: number): OverlayLayout {\n return selectOverlayLayoutFromProjection(deriveTaskProjection(tasks), budget);\n}\n"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_invariants = require("./invariants-DhjEjBPU.cjs");
3
+ exports.VALID_TRANSITIONS = require_invariants.VALID_TRANSITIONS;
4
+ exports.canonicalizeTasks = require_invariants.canonicalizeTasks;
5
+ exports.isTransitionValid = require_invariants.isTransitionValid;
@@ -0,0 +1,23 @@
1
+ import { h as TaskStatus, s as Task } from "./task-hLh4BOO7.mjs";
2
+ //#region src/services/invariants/index.d.ts
3
+ /**
4
+ * Collapse a malformed snapshot to one row per task id.
5
+ *
6
+ * Normal writes replace tasks in place, but older or externally edited stores
7
+ * can contain both a stale and a current copy. Prefer the copy with the newest
8
+ * ISO update timestamp; equal or missing timestamps use the later array entry.
9
+ * The winning row keeps the id's original position so repair does not reorder
10
+ * an otherwise stable task list.
11
+ */
12
+ export declare function canonicalizeTasks(tasks: readonly Task[]): Task[];
13
+ /**
14
+ * Allowed forward transitions per source status.
15
+ *
16
+ * `failed` is recoverable (a delegation can be retried) so it may return to
17
+ * pending or in_progress. `completed` is one-way to `deleted`; `deleted` is a
18
+ * terminal tombstone.
19
+ */
20
+ export declare const VALID_TRANSITIONS: Record<TaskStatus, ReadonlySet<TaskStatus>>;
21
+ export declare function isTransitionValid(from: TaskStatus, to: TaskStatus): boolean;
22
+ //#endregion
23
+ //# sourceMappingURL=storeInvariants.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storeInvariants.d.mts","names":[],"sources":["../src/services/invariants/index.ts"],"mappings":";;;;;;;;;;;wBAWgB,kBAAkB,gBAAgB,SAAS;;;;;;;;qBA4B9C,mBAAmB,OAAO,YAAY,YAAY;wBAQ/C,kBAAkB,MAAM,YAAY,IAAI"}
@@ -0,0 +1,2 @@
1
+ import { n as canonicalizeTasks, r as isTransitionValid, t as VALID_TRANSITIONS } from "./invariants-q_UamF7D.mjs";
2
+ export { VALID_TRANSITIONS, canonicalizeTasks, isTransitionValid };
@@ -0,0 +1,14 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_paths = require("./paths-BsFVRulr.cjs");
3
+ exports.STORE_PATH_ENV = require_paths.STORE_PATH_ENV;
4
+ exports.hasStorePathOverride = require_paths.hasStorePathOverride;
5
+ exports.lockPathFor = require_paths.lockPathFor;
6
+ exports.removeLegacyStoreDirectory = require_paths.removeLegacyStoreDirectory;
7
+ exports.removeLegacyStoreDirectoryAsync = require_paths.removeLegacyStoreDirectoryAsync;
8
+ exports.resolveLegacyStoreDirectory = require_paths.resolveLegacyStoreDirectory;
9
+ exports.resolveLegacyStoreDirectoryAsync = require_paths.resolveLegacyStoreDirectoryAsync;
10
+ exports.resolveSessionKey = require_paths.resolveSessionKey;
11
+ exports.resolveStorePath = require_paths.resolveStorePath;
12
+ exports.sweepStoreFiles = require_paths.sweepStoreFiles;
13
+ exports.sweepStoreFilesAsync = require_paths.sweepStoreFilesAsync;
14
+ exports.tempPathFor = require_paths.tempPathFor;
@@ -0,0 +1,2 @@
1
+ import { a as removeLegacyStoreDirectory, c as resolveLegacyStoreDirectoryAsync, d as sweepStoreFiles, f as sweepStoreFilesAsync, i as lockPathFor, l as resolveSessionKey, n as StoreSweepResult, o as removeLegacyStoreDirectoryAsync, p as tempPathFor, r as hasStorePathOverride, s as resolveLegacyStoreDirectory, t as STORE_PATH_ENV, u as resolveStorePath } from "./index-XY9VPmfm.mjs";
2
+ export { STORE_PATH_ENV, StoreSweepResult, hasStorePathOverride, lockPathFor, removeLegacyStoreDirectory, removeLegacyStoreDirectoryAsync, resolveLegacyStoreDirectory, resolveLegacyStoreDirectoryAsync, resolveSessionKey, resolveStorePath, sweepStoreFiles, sweepStoreFilesAsync, tempPathFor };
@@ -0,0 +1,2 @@
1
+ import { a as removeLegacyStoreDirectoryAsync, c as resolveSessionKey, d as sweepStoreFilesAsync, f as tempPathFor, i as removeLegacyStoreDirectory, l as resolveStorePath, n as hasStorePathOverride, o as resolveLegacyStoreDirectory, r as lockPathFor, s as resolveLegacyStoreDirectoryAsync, t as STORE_PATH_ENV, u as sweepStoreFiles } from "./paths-Bg8EEbk1.mjs";
2
+ export { STORE_PATH_ENV, hasStorePathOverride, lockPathFor, removeLegacyStoreDirectory, removeLegacyStoreDirectoryAsync, resolveLegacyStoreDirectory, resolveLegacyStoreDirectoryAsync, resolveSessionKey, resolveStorePath, sweepStoreFiles, sweepStoreFilesAsync, tempPathFor };
@@ -0,0 +1,3 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_processLiveness = require("./processLiveness-umpNgsPR.cjs");
3
+ exports.isProcessAlive = require_processLiveness.isProcessAlive;
@@ -1,4 +1,4 @@
1
- //#region src/services/store/processLiveness.d.ts
1
+ //#region src/services/processLiveness/index.d.ts
2
2
  /**
3
3
  * Is a process still running?
4
4
  *
@@ -6,7 +6,6 @@
6
6
  * signal. EPERM means the process exists but belongs to another user, which
7
7
  * still counts as alive.
8
8
  */
9
- declare function isProcessAlive(pid: number): boolean;
9
+ export declare function isProcessAlive(pid: number): boolean;
10
10
  //#endregion
11
- export { isProcessAlive };
12
- //# sourceMappingURL=processLiveness.d.cts.map
11
+ //# sourceMappingURL=storeProcessLiveness.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storeProcessLiveness.d.mts","names":[],"sources":["../src/services/processLiveness/index.ts"],"mappings":";;;;;;;;wBAOgB,eAAe"}
@@ -0,0 +1,2 @@
1
+ import { t as isProcessAlive } from "./processLiveness-Ccd9wenT.mjs";
2
+ export { isProcessAlive };
@@ -0,0 +1,5 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_reconcile = require("./reconcile-cRL0NjDr.cjs");
3
+ exports.ERR_ORPHANED_BY_RESTART = require_reconcile.ERR_ORPHANED_BY_RESTART;
4
+ exports.ERR_ORPHANED_BY_SESSION = require_reconcile.ERR_ORPHANED_BY_SESSION;
5
+ exports.reconcileOrphanedDelegations = require_reconcile.reconcileOrphanedDelegations;
@@ -0,0 +1,2 @@
1
+ import { a as reconcileOrphanedDelegations, i as ReconcileSelf, n as ERR_ORPHANED_BY_SESSION, r as ReconcileResult, t as ERR_ORPHANED_BY_RESTART } from "./index-BNMm9g0K.mjs";
2
+ export { ERR_ORPHANED_BY_RESTART, ERR_ORPHANED_BY_SESSION, ReconcileResult, ReconcileSelf, reconcileOrphanedDelegations };
@@ -0,0 +1,2 @@
1
+ import { n as ERR_ORPHANED_BY_SESSION, r as reconcileOrphanedDelegations, t as ERR_ORPHANED_BY_RESTART } from "./reconcile-BcD-hTbd.mjs";
2
+ export { ERR_ORPHANED_BY_RESTART, ERR_ORPHANED_BY_SESSION, reconcileOrphanedDelegations };
@@ -0,0 +1,8 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_reducer = require("./reducer-BV0YIZ2o.cjs");
3
+ exports.MAX_UPSERT_ITEMS = require_reducer.MAX_UPSERT_ITEMS;
4
+ exports.REF_PATTERN = require_reducer.REF_PATTERN;
5
+ exports.applyTaskMutation = require_reducer.applyTaskMutation;
6
+ exports.formatUpsertFailure = require_reducer.formatUpsertFailure;
7
+ exports.isCommittingOp = require_reducer.isCommittingOp;
8
+ exports.singleItemOutcome = require_reducer.singleItemOutcome;
@@ -0,0 +1,2 @@
1
+ import { a as ReducerAction, c as isCommittingOp, i as REF_PATTERN, l as singleItemOutcome, n as MAX_UPSERT_ITEMS, o as applyTaskMutation, r as Op, s as formatUpsertFailure, t as ApplyResult } from "./index-DIpc6_uJ.mjs";
2
+ export { ApplyResult, MAX_UPSERT_ITEMS, Op, REF_PATTERN, ReducerAction, applyTaskMutation, formatUpsertFailure, isCommittingOp, singleItemOutcome };
@@ -0,0 +1,2 @@
1
+ import { a as isCommittingOp, i as formatUpsertFailure, n as REF_PATTERN, o as singleItemOutcome, r as applyTaskMutation, t as MAX_UPSERT_ITEMS } from "./reducer-BEfJFM5L.mjs";
2
+ export { MAX_UPSERT_ITEMS, REF_PATTERN, applyTaskMutation, formatUpsertFailure, isCommittingOp, singleItemOutcome };
@@ -0,0 +1,7 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_taskGraph = require("./taskGraph-BskRslrr.cjs");
3
+ exports.deriveBlocks = require_taskGraph.deriveBlocks;
4
+ exports.detectCycle = require_taskGraph.detectCycle;
5
+ exports.isBlocked = require_taskGraph.isBlocked;
6
+ exports.isTaskListComplete = require_taskGraph.isTaskListComplete;
7
+ exports.unresolvedBlockers = require_taskGraph.unresolvedBlockers;
@@ -0,0 +1,2 @@
1
+ import { a as unresolvedBlockers, i as isTaskListComplete, n as detectCycle, r as isBlocked, t as deriveBlocks } from "./taskGraph-YQXCfXTn.mjs";
2
+ export { deriveBlocks, detectCycle, isBlocked, isTaskListComplete, unresolvedBlockers };
@@ -0,0 +1,2 @@
1
+ import { a as unresolvedBlockers, i as isTaskListComplete, n as detectCycle, r as isBlocked, t as deriveBlocks } from "./taskGraph-BOQvT0-M.mjs";
2
+ export { deriveBlocks, detectCycle, isBlocked, isTaskListComplete, unresolvedBlockers };
@@ -0,0 +1,3 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_taskStore = require("./taskStore-T1pPy-UJ.cjs");
3
+ exports.TaskStore = require_taskStore.TaskStore;
@@ -0,0 +1,2 @@
1
+ import { n as TaskStoreCommitListener, r as TaskStoreOptions, t as TaskStore } from "./index-B7oVjSey.mjs";
2
+ export { TaskStore, TaskStoreCommitListener, TaskStoreOptions };
@@ -0,0 +1,2 @@
1
+ import { t as TaskStore } from "./taskStore-CFx12KJk.mjs";
2
+ export { TaskStore };
@@ -0,0 +1,6 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_task = require("./task-CXF9VULl.cjs");
3
+ exports.DELETED_STATUS = require_task.DELETED_STATUS;
4
+ exports.STORE_SCHEMA_VERSION = require_task.STORE_SCHEMA_VERSION;
5
+ exports.emptyDocument = require_task.emptyDocument;
6
+ exports.isDelegationActive = require_task.isDelegationActive;
@@ -0,0 +1,2 @@
1
+ import { _ as UpsertSummary, a as DepToken, c as TaskAction, d as TaskDetails, f as TaskDocument, g as UpsertItemOutcome, h as TaskStatus, i as DelegationState, l as TaskAssignment, m as TaskMutationParams, n as DELETED_STATUS, o as STORE_SCHEMA_VERSION, p as TaskItemMutation, r as DelegationResult, s as Task, t as AssignmentSummary, u as TaskDelegation, v as emptyDocument, y as isDelegationActive } from "./task-hLh4BOO7.mjs";
2
+ export { AssignmentSummary, DELETED_STATUS, DelegationResult, DelegationState, DepToken, STORE_SCHEMA_VERSION, Task, TaskAction, TaskAssignment, TaskDelegation, TaskDetails, TaskDocument, TaskItemMutation, TaskMutationParams, TaskStatus, UpsertItemOutcome, UpsertSummary, emptyDocument, isDelegationActive };
@@ -0,0 +1,2 @@
1
+ import { i as isDelegationActive, n as STORE_SCHEMA_VERSION, r as emptyDocument, t as DELETED_STATUS } from "./task-giCbpKzV.mjs";
2
+ export { DELETED_STATUS, STORE_SCHEMA_VERSION, emptyDocument, isDelegationActive };
@@ -0,0 +1,6 @@
1
+ //#region src/constants/task.ts
2
+ const COMMAND_NAME = "tasks";
3
+ //#endregion
4
+ export { COMMAND_NAME as t };
5
+
6
+ //# sourceMappingURL=task-B4aF5J9s.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-B4aF5J9s.mjs","names":[],"sources":["../src/constants/task.ts"],"sourcesContent":["export const COMMAND_NAME = 'tasks';\n"],"mappings":";AAAA,MAAa,eAAe"}
@@ -0,0 +1,49 @@
1
+ //#region src/models/task.ts
2
+ const DELETED_STATUS = "deleted";
3
+ const STORE_SCHEMA_VERSION = 1;
4
+ function emptyDocument() {
5
+ return {
6
+ version: 1,
7
+ rev: 0,
8
+ nextId: 1,
9
+ tasks: []
10
+ };
11
+ }
12
+ /**
13
+ * A delegation is "live" while the owning run may still produce a response.
14
+ *
15
+ * Takes the delegation shape rather than `Task` so the cockpit's `WebTask`,
16
+ * which carries the state as a plain string, answers the question the same way
17
+ * the store does.
18
+ */
19
+ function isDelegationActive(task) {
20
+ const state = task.delegation?.state;
21
+ return state === "requested" || state === "running";
22
+ }
23
+ //#endregion
24
+ Object.defineProperty(exports, "DELETED_STATUS", {
25
+ enumerable: true,
26
+ get: function() {
27
+ return DELETED_STATUS;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "STORE_SCHEMA_VERSION", {
31
+ enumerable: true,
32
+ get: function() {
33
+ return STORE_SCHEMA_VERSION;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "emptyDocument", {
37
+ enumerable: true,
38
+ get: function() {
39
+ return emptyDocument;
40
+ }
41
+ });
42
+ Object.defineProperty(exports, "isDelegationActive", {
43
+ enumerable: true,
44
+ get: function() {
45
+ return isDelegationActive;
46
+ }
47
+ });
48
+
49
+ //# sourceMappingURL=task-CXF9VULl.cjs.map