@agimon-ai/doompi-task 0.0.1-alpha.71 → 0.0.1-alpha.73

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 (589) hide show
  1. package/README.md +12 -3
  2. package/dist/_virtual/_rolldown/runtime.cjs +23 -1
  3. package/dist/api-contracts.cjs +7 -1
  4. package/dist/api-contracts.d.cts +1 -1
  5. package/dist/api-contracts.d.mts +1 -1
  6. package/dist/api-contracts.mjs +2 -1
  7. package/dist/commands.cjs +4 -1
  8. package/dist/commands.d.cts +2 -2
  9. package/dist/commands.d.mts +2 -2
  10. package/dist/commands.mjs +2 -1
  11. package/dist/config.cjs +19 -1
  12. package/dist/config.d.cts +1 -1
  13. package/dist/config.d.mts +1 -1
  14. package/dist/config.mjs +2 -1
  15. package/dist/delegation-manager.cjs +10 -1
  16. package/dist/delegation-manager.d.cts +2 -2
  17. package/dist/delegation-manager.d.mts +2 -2
  18. package/dist/delegation-manager.mjs +3 -1
  19. package/dist/extensions/pi.cjs +49 -2
  20. package/dist/extensions/pi.cjs.map +1 -1
  21. package/dist/extensions/pi.d.cts +3 -4
  22. package/dist/extensions/pi.d.cts.map +1 -1
  23. package/dist/extensions/pi.d.mts +3 -4
  24. package/dist/extensions/pi.d.mts.map +1 -1
  25. package/dist/extensions/pi.mjs +44 -2
  26. package/dist/extensions/pi.mjs.map +1 -1
  27. package/dist/extensions/server.cjs +56 -1
  28. package/dist/extensions/server.cjs.map +1 -1
  29. package/dist/extensions/server.d.cts +3 -3
  30. package/dist/extensions/server.d.cts.map +1 -1
  31. package/dist/extensions/server.d.mts +3 -3
  32. package/dist/extensions/server.d.mts.map +1 -1
  33. package/dist/extensions/server.mjs +51 -1
  34. package/dist/extensions/server.mjs.map +1 -1
  35. package/dist/extensions/web.mjs +1013 -0
  36. package/dist/extensions/web.mjs.map +1 -0
  37. package/dist/index.cjs +106 -1
  38. package/dist/index.d.cts +15 -15
  39. package/dist/index.d.mts +15 -15
  40. package/dist/index.mjs +16 -1
  41. package/dist/logSinkTelemetry.cjs +6 -1
  42. package/dist/logSinkTelemetry.d.cts +2 -2
  43. package/dist/logSinkTelemetry.d.mts +2 -2
  44. package/dist/logSinkTelemetry.mjs +3 -1
  45. package/dist/src/constants/promptGuidelines.cjs +26 -0
  46. package/dist/src/constants/promptGuidelines.cjs.map +1 -0
  47. package/dist/src/constants/promptGuidelines.d.cts.map +1 -0
  48. package/dist/src/constants/promptGuidelines.d.mts.map +1 -0
  49. package/dist/src/constants/promptGuidelines.mjs +26 -0
  50. package/dist/src/constants/promptGuidelines.mjs.map +1 -0
  51. package/dist/src/constants/task.cjs +6 -0
  52. package/dist/src/constants/task.cjs.map +1 -0
  53. package/dist/src/constants/task.d.cts.map +1 -0
  54. package/dist/src/constants/task.d.mts.map +1 -0
  55. package/dist/src/constants/task.mjs +6 -0
  56. package/dist/src/constants/task.mjs.map +1 -0
  57. package/dist/src/extensions/(backend)/channel/_lib/task-graph.cjs +90 -0
  58. package/dist/src/extensions/(backend)/channel/_lib/task-graph.cjs.map +1 -0
  59. package/dist/src/extensions/(backend)/channel/_lib/task-graph.mjs +89 -0
  60. package/dist/src/extensions/(backend)/channel/_lib/task-graph.mjs.map +1 -0
  61. package/dist/src/extensions/(backend)/channel/task-graph.server.cjs +7 -0
  62. package/dist/src/extensions/(backend)/channel/task-graph.server.cjs.map +1 -0
  63. package/dist/src/extensions/(backend)/channel/task-graph.server.mjs +8 -0
  64. package/dist/src/extensions/(backend)/channel/task-graph.server.mjs.map +1 -0
  65. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.cli.cjs +317 -0
  66. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.cli.cjs.map +1 -0
  67. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.cli.d.cts +39 -0
  68. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.cli.d.cts.map +1 -0
  69. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.cli.d.mts +39 -0
  70. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.cli.d.mts.map +1 -0
  71. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.cli.mjs +317 -0
  72. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.cli.mjs.map +1 -0
  73. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.server.cjs +95 -0
  74. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.server.cjs.map +1 -0
  75. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.server.mjs +95 -0
  76. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.server.mjs.map +1 -0
  77. package/dist/src/extensions/workspaces/sessions/(backend)/command/_lib/tasks.cli.cjs +30 -0
  78. package/dist/src/extensions/workspaces/sessions/(backend)/command/_lib/tasks.cli.cjs.map +1 -0
  79. package/dist/src/extensions/workspaces/sessions/(backend)/command/_lib/tasks.cli.d.cts +20 -0
  80. package/dist/src/extensions/workspaces/sessions/(backend)/command/_lib/tasks.cli.d.cts.map +1 -0
  81. package/dist/src/extensions/workspaces/sessions/(backend)/command/_lib/tasks.cli.d.mts +20 -0
  82. package/dist/src/extensions/workspaces/sessions/(backend)/command/_lib/tasks.cli.d.mts.map +1 -0
  83. package/dist/src/extensions/workspaces/sessions/(backend)/command/_lib/tasks.cli.mjs +29 -0
  84. package/dist/src/extensions/workspaces/sessions/(backend)/command/_lib/tasks.cli.mjs.map +1 -0
  85. package/dist/src/extensions/workspaces/sessions/(backend)/command/_lib/tasks.server.cjs +19 -0
  86. package/dist/src/extensions/workspaces/sessions/(backend)/command/_lib/tasks.server.cjs.map +1 -0
  87. package/dist/src/extensions/workspaces/sessions/(backend)/command/_lib/tasks.server.mjs +19 -0
  88. package/dist/src/extensions/workspaces/sessions/(backend)/command/_lib/tasks.server.mjs.map +1 -0
  89. package/dist/src/extensions/workspaces/sessions/(backend)/command/tasks.cli.cjs +8 -0
  90. package/dist/src/extensions/workspaces/sessions/(backend)/command/tasks.cli.cjs.map +1 -0
  91. package/dist/src/extensions/workspaces/sessions/(backend)/command/tasks.cli.mjs +9 -0
  92. package/dist/src/extensions/workspaces/sessions/(backend)/command/tasks.cli.mjs.map +1 -0
  93. package/dist/src/extensions/workspaces/sessions/(backend)/command/tasks.server.cjs +7 -0
  94. package/dist/src/extensions/workspaces/sessions/(backend)/command/tasks.server.cjs.map +1 -0
  95. package/dist/src/extensions/workspaces/sessions/(backend)/command/tasks.server.mjs +8 -0
  96. package/dist/src/extensions/workspaces/sessions/(backend)/command/tasks.server.mjs.map +1 -0
  97. package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/session-compact.cli.cjs +6 -0
  98. package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/session-compact.cli.cjs.map +1 -0
  99. package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/session-compact.cli.mjs +6 -0
  100. package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/session-compact.cli.mjs.map +1 -0
  101. package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/session-start.cli.cjs +6 -0
  102. package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/session-start.cli.cjs.map +1 -0
  103. package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/session-start.cli.mjs +6 -0
  104. package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/session-start.cli.mjs.map +1 -0
  105. package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/session-tree.cli.cjs +6 -0
  106. package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/session-tree.cli.cjs.map +1 -0
  107. package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/session-tree.cli.mjs +6 -0
  108. package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/session-tree.cli.mjs.map +1 -0
  109. package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/tool-execution-end.cli.cjs +6 -0
  110. package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/tool-execution-end.cli.cjs.map +1 -0
  111. package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/tool-execution-end.cli.mjs +6 -0
  112. package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/tool-execution-end.cli.mjs.map +1 -0
  113. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-compact.cli.cjs +7 -0
  114. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-compact.cli.cjs.map +1 -0
  115. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-compact.cli.mjs +8 -0
  116. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-compact.cli.mjs.map +1 -0
  117. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.cjs +7 -0
  118. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.cjs.map +1 -0
  119. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.mjs +8 -0
  120. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.mjs.map +1 -0
  121. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-tree.cli.cjs +7 -0
  122. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-tree.cli.cjs.map +1 -0
  123. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-tree.cli.mjs +8 -0
  124. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-tree.cli.mjs.map +1 -0
  125. package/dist/src/extensions/workspaces/sessions/(backend)/hook/tool-execution-end.cli.cjs +7 -0
  126. package/dist/src/extensions/workspaces/sessions/(backend)/hook/tool-execution-end.cli.cjs.map +1 -0
  127. package/dist/src/extensions/workspaces/sessions/(backend)/hook/tool-execution-end.cli.mjs +8 -0
  128. package/dist/src/extensions/workspaces/sessions/(backend)/hook/tool-execution-end.cli.mjs.map +1 -0
  129. package/dist/src/extensions/workspaces/sessions/(backend)/resource/_lib/task-board.server.cjs +20 -0
  130. package/dist/src/extensions/workspaces/sessions/(backend)/resource/_lib/task-board.server.cjs.map +1 -0
  131. package/dist/src/extensions/workspaces/sessions/(backend)/resource/_lib/task-board.server.mjs +20 -0
  132. package/dist/src/extensions/workspaces/sessions/(backend)/resource/_lib/task-board.server.mjs.map +1 -0
  133. package/dist/src/extensions/workspaces/sessions/(backend)/resource/task-board.server.cjs +7 -0
  134. package/dist/src/extensions/workspaces/sessions/(backend)/resource/task-board.server.cjs.map +1 -0
  135. package/dist/src/extensions/workspaces/sessions/(backend)/resource/task-board.server.mjs +8 -0
  136. package/dist/src/extensions/workspaces/sessions/(backend)/resource/task-board.server.mjs.map +1 -0
  137. package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.cjs +11 -0
  138. package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.cjs.map +1 -0
  139. package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.mjs +12 -0
  140. package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.mjs.map +1 -0
  141. package/dist/src/extensions/workspaces/sessions/(backend)/root.server.cjs +7 -0
  142. package/dist/src/extensions/workspaces/sessions/(backend)/root.server.cjs.map +1 -0
  143. package/dist/src/extensions/workspaces/sessions/(backend)/root.server.mjs +8 -0
  144. package/dist/src/extensions/workspaces/sessions/(backend)/root.server.mjs.map +1 -0
  145. package/dist/src/extensions/workspaces/sessions/(backend)/tool/_lib/task.cli.cjs +160 -0
  146. package/dist/{tools/task.cjs.map → src/extensions/workspaces/sessions/(backend)/tool/_lib/task.cli.cjs.map} +1 -1
  147. package/dist/{tools/task.d.cts → src/extensions/workspaces/sessions/(backend)/tool/_lib/task.cli.d.cts} +11 -8
  148. package/dist/src/extensions/workspaces/sessions/(backend)/tool/_lib/task.cli.d.cts.map +1 -0
  149. package/dist/{tools/task.d.mts → src/extensions/workspaces/sessions/(backend)/tool/_lib/task.cli.d.mts} +11 -8
  150. package/dist/src/extensions/workspaces/sessions/(backend)/tool/_lib/task.cli.d.mts.map +1 -0
  151. package/dist/src/extensions/workspaces/sessions/(backend)/tool/_lib/task.cli.mjs +157 -0
  152. package/dist/src/extensions/workspaces/sessions/(backend)/tool/_lib/task.cli.mjs.map +1 -0
  153. package/dist/src/extensions/workspaces/sessions/(backend)/tool/_lib/task.server.cjs +109 -0
  154. package/dist/src/extensions/workspaces/sessions/(backend)/tool/_lib/task.server.cjs.map +1 -0
  155. package/dist/src/extensions/workspaces/sessions/(backend)/tool/_lib/task.server.mjs +107 -0
  156. package/dist/src/extensions/workspaces/sessions/(backend)/tool/_lib/task.server.mjs.map +1 -0
  157. package/dist/src/extensions/workspaces/sessions/(backend)/tool/task.cli.cjs +7 -0
  158. package/dist/src/extensions/workspaces/sessions/(backend)/tool/task.cli.cjs.map +1 -0
  159. package/dist/src/extensions/workspaces/sessions/(backend)/tool/task.cli.mjs +8 -0
  160. package/dist/src/extensions/workspaces/sessions/(backend)/tool/task.cli.mjs.map +1 -0
  161. package/dist/src/extensions/workspaces/sessions/(backend)/tool/task.server.cjs +7 -0
  162. package/dist/src/extensions/workspaces/sessions/(backend)/tool/task.server.cjs.map +1 -0
  163. package/dist/src/extensions/workspaces/sessions/(backend)/tool/task.server.mjs +8 -0
  164. package/dist/src/extensions/workspaces/sessions/(backend)/tool/task.server.mjs.map +1 -0
  165. package/dist/src/extensions/workspaces/sessions/(frontend)/_shared/format.cli.cjs +333 -0
  166. package/dist/src/extensions/workspaces/sessions/(frontend)/_shared/format.cli.cjs.map +1 -0
  167. package/dist/{tui/format.d.mts → src/extensions/workspaces/sessions/(frontend)/_shared/format.cli.d.cts} +5 -5
  168. package/dist/src/extensions/workspaces/sessions/(frontend)/_shared/format.cli.d.cts.map +1 -0
  169. package/dist/{tui/format.d.cts → src/extensions/workspaces/sessions/(frontend)/_shared/format.cli.d.mts} +5 -5
  170. package/dist/src/extensions/workspaces/sessions/(frontend)/_shared/format.cli.d.mts.map +1 -0
  171. package/dist/src/extensions/workspaces/sessions/(frontend)/_shared/format.cli.mjs +322 -0
  172. package/dist/src/extensions/workspaces/sessions/(frontend)/_shared/format.cli.mjs.map +1 -0
  173. package/dist/src/extensions/workspaces/sessions/(frontend)/message/doom-task-notify.cli.cjs +9 -0
  174. package/dist/src/extensions/workspaces/sessions/(frontend)/message/doom-task-notify.cli.cjs.map +1 -0
  175. package/dist/src/extensions/workspaces/sessions/(frontend)/message/doom-task-notify.cli.mjs +9 -0
  176. package/dist/src/extensions/workspaces/sessions/(frontend)/message/doom-task-notify.cli.mjs.map +1 -0
  177. package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/selectors.cjs +149 -0
  178. package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/selectors.cjs.map +1 -0
  179. package/dist/{tui → src/extensions/workspaces/sessions/(frontend)/overlay/_lib}/selectors.d.cts +2 -2
  180. package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/selectors.d.cts.map +1 -0
  181. package/dist/{tui → src/extensions/workspaces/sessions/(frontend)/overlay/_lib}/selectors.d.mts +2 -2
  182. package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/selectors.d.mts.map +1 -0
  183. package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/selectors.mjs +142 -0
  184. package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/selectors.mjs.map +1 -0
  185. package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/task-space.cli.cjs +358 -0
  186. package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/task-space.cli.cjs.map +1 -0
  187. package/dist/{tui/taskSpace.d.cts → src/extensions/workspaces/sessions/(frontend)/overlay/_lib/task-space.cli.d.cts} +4 -3
  188. package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/task-space.cli.d.cts.map +1 -0
  189. package/dist/{tui/taskSpace.d.mts → src/extensions/workspaces/sessions/(frontend)/overlay/_lib/task-space.cli.d.mts} +4 -3
  190. package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/task-space.cli.d.mts.map +1 -0
  191. package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/task-space.cli.mjs +355 -0
  192. package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/task-space.cli.mjs.map +1 -0
  193. package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/taskOverlay.cjs +165 -0
  194. package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/taskOverlay.cjs.map +1 -0
  195. package/dist/{tui → src/extensions/workspaces/sessions/(frontend)/overlay/_lib}/taskOverlay.d.cts +6 -4
  196. package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/taskOverlay.d.cts.map +1 -0
  197. package/dist/{tui → src/extensions/workspaces/sessions/(frontend)/overlay/_lib}/taskOverlay.d.mts +6 -4
  198. package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/taskOverlay.d.mts.map +1 -0
  199. package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/taskOverlay.mjs +164 -0
  200. package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/taskOverlay.mjs.map +1 -0
  201. package/dist/src/extensions/workspaces/sessions/(frontend)/tool/_lib/task.cli.cjs +13 -0
  202. package/dist/src/extensions/workspaces/sessions/(frontend)/tool/_lib/task.cli.cjs.map +1 -0
  203. package/dist/src/extensions/workspaces/sessions/(frontend)/tool/_lib/task.cli.mjs +13 -0
  204. package/dist/src/extensions/workspaces/sessions/(frontend)/tool/_lib/task.cli.mjs.map +1 -0
  205. package/dist/src/extensions/workspaces/sessions/(frontend)/tool/task.cli.cjs +7 -0
  206. package/dist/src/extensions/workspaces/sessions/(frontend)/tool/task.cli.cjs.map +1 -0
  207. package/dist/src/extensions/workspaces/sessions/(frontend)/tool/task.cli.mjs +8 -0
  208. package/dist/src/extensions/workspaces/sessions/(frontend)/tool/task.cli.mjs.map +1 -0
  209. package/dist/src/models/task.cjs +29 -0
  210. package/dist/src/models/task.cjs.map +1 -0
  211. package/dist/{models → src/models}/task.d.cts +12 -2
  212. package/dist/src/models/task.d.cts.map +1 -0
  213. package/dist/{models → src/models}/task.d.mts +12 -2
  214. package/dist/src/models/task.d.mts.map +1 -0
  215. package/dist/src/models/task.mjs +26 -0
  216. package/dist/src/models/task.mjs.map +1 -0
  217. package/dist/src/models/taskGraph.cjs +67 -0
  218. package/dist/src/models/taskGraph.cjs.map +1 -0
  219. package/dist/src/models/taskGraph.d.cts.map +1 -0
  220. package/dist/src/models/taskGraph.d.mts.map +1 -0
  221. package/dist/src/models/taskGraph.mjs +63 -0
  222. package/dist/src/models/taskGraph.mjs.map +1 -0
  223. package/dist/src/schemas/apiContracts.cjs +51 -0
  224. package/dist/src/schemas/apiContracts.cjs.map +1 -0
  225. package/dist/{schemas → src/schemas}/apiContracts.d.cts.map +1 -1
  226. package/dist/{schemas → src/schemas}/apiContracts.d.mts.map +1 -1
  227. package/dist/src/schemas/apiContracts.mjs +49 -0
  228. package/dist/src/schemas/apiContracts.mjs.map +1 -0
  229. package/dist/src/schemas/task.cjs +130 -0
  230. package/dist/src/schemas/task.cjs.map +1 -0
  231. package/dist/src/schemas/task.d.cts.map +1 -0
  232. package/dist/src/schemas/task.d.mts.map +1 -0
  233. package/dist/src/schemas/task.mjs +117 -0
  234. package/dist/src/schemas/task.mjs.map +1 -0
  235. package/dist/src/services/config/index.cjs +88 -0
  236. package/dist/src/services/config/index.cjs.map +1 -0
  237. package/dist/src/services/config/index.d.cts.map +1 -0
  238. package/dist/src/services/config/index.d.mts.map +1 -0
  239. package/dist/src/services/config/index.mjs +72 -0
  240. package/dist/src/services/config/index.mjs.map +1 -0
  241. package/dist/src/services/contextContribution/index.cjs +51 -0
  242. package/dist/src/services/contextContribution/index.cjs.map +1 -0
  243. package/dist/src/services/contextContribution/index.mjs +46 -0
  244. package/dist/src/services/contextContribution/index.mjs.map +1 -0
  245. package/dist/src/services/delegation/index.cjs +629 -0
  246. package/dist/src/services/delegation/index.cjs.map +1 -0
  247. package/dist/src/services/delegation/index.d.cts.map +1 -0
  248. package/dist/src/services/delegation/index.d.mts.map +1 -0
  249. package/dist/src/services/delegation/index.mjs +623 -0
  250. package/dist/src/services/delegation/index.mjs.map +1 -0
  251. package/dist/src/services/delegationPlatform/index.cjs +23 -0
  252. package/dist/src/services/delegationPlatform/index.cjs.map +1 -0
  253. package/dist/src/services/delegationPlatform/index.mjs +21 -0
  254. package/dist/src/services/delegationPlatform/index.mjs.map +1 -0
  255. package/dist/src/services/invariants/index.cjs +64 -0
  256. package/dist/src/services/invariants/index.cjs.map +1 -0
  257. package/dist/src/services/invariants/index.d.cts.map +1 -0
  258. package/dist/src/services/invariants/index.d.mts.map +1 -0
  259. package/dist/src/services/invariants/index.mjs +62 -0
  260. package/dist/src/services/invariants/index.mjs.map +1 -0
  261. package/dist/src/services/logSinkTelemetry/index.cjs +43 -0
  262. package/dist/src/services/logSinkTelemetry/index.cjs.map +1 -0
  263. package/dist/src/services/logSinkTelemetry/index.d.cts.map +1 -0
  264. package/dist/src/services/logSinkTelemetry/index.d.mts.map +1 -0
  265. package/dist/src/services/logSinkTelemetry/index.mjs +41 -0
  266. package/dist/src/services/logSinkTelemetry/index.mjs.map +1 -0
  267. package/dist/src/services/paths/index.cjs +233 -0
  268. package/dist/src/services/paths/index.cjs.map +1 -0
  269. package/dist/src/services/paths/index.d.cts.map +1 -0
  270. package/dist/src/services/paths/index.d.mts.map +1 -0
  271. package/dist/src/services/paths/index.mjs +218 -0
  272. package/dist/src/services/paths/index.mjs.map +1 -0
  273. package/dist/src/services/processLiveness/index.cjs +20 -0
  274. package/dist/src/services/processLiveness/index.cjs.map +1 -0
  275. package/dist/src/services/processLiveness/index.d.cts.map +1 -0
  276. package/dist/src/services/processLiveness/index.d.mts.map +1 -0
  277. package/dist/src/services/processLiveness/index.mjs +20 -0
  278. package/dist/src/services/processLiveness/index.mjs.map +1 -0
  279. package/dist/src/services/reconcile/index.cjs +65 -0
  280. package/dist/src/services/reconcile/index.cjs.map +1 -0
  281. package/dist/src/services/reconcile/index.d.cts.map +1 -0
  282. package/dist/src/services/reconcile/index.d.mts.map +1 -0
  283. package/dist/src/services/reconcile/index.mjs +63 -0
  284. package/dist/src/services/reconcile/index.mjs.map +1 -0
  285. package/dist/src/services/reducer/index.cjs +350 -0
  286. package/dist/src/services/reducer/index.cjs.map +1 -0
  287. package/dist/src/services/reducer/index.d.cts.map +1 -0
  288. package/dist/src/services/reducer/index.d.mts.map +1 -0
  289. package/dist/src/services/reducer/index.mjs +345 -0
  290. package/dist/src/services/reducer/index.mjs.map +1 -0
  291. package/dist/src/services/taskNarration/index.cjs +32 -0
  292. package/dist/src/services/taskNarration/index.cjs.map +1 -0
  293. package/dist/src/services/taskNarration/index.mjs +32 -0
  294. package/dist/src/services/taskNarration/index.mjs.map +1 -0
  295. package/dist/src/services/taskResult/index.cjs +174 -0
  296. package/dist/src/services/taskResult/index.cjs.map +1 -0
  297. package/dist/src/services/taskResult/index.d.cts.map +1 -0
  298. package/dist/src/services/taskResult/index.d.mts.map +1 -0
  299. package/dist/src/services/taskResult/index.mjs +165 -0
  300. package/dist/src/services/taskResult/index.mjs.map +1 -0
  301. package/dist/src/services/taskStore/index.cjs +216 -0
  302. package/dist/src/services/taskStore/index.cjs.map +1 -0
  303. package/dist/src/services/taskStore/index.d.cts.map +1 -0
  304. package/dist/src/services/taskStore/index.d.mts.map +1 -0
  305. package/dist/src/services/taskStore/index.mjs +213 -0
  306. package/dist/src/services/taskStore/index.mjs.map +1 -0
  307. package/dist/src/types/delegation.cjs +7 -0
  308. package/dist/src/types/delegation.cjs.map +1 -0
  309. package/dist/{types → src/types}/delegation.d.cts.map +1 -1
  310. package/dist/{types → src/types}/delegation.d.mts.map +1 -1
  311. package/dist/src/types/delegation.mjs +7 -0
  312. package/dist/src/types/delegation.mjs.map +1 -0
  313. package/dist/src/types/telemetry.cjs +26 -0
  314. package/dist/src/types/telemetry.cjs.map +1 -0
  315. package/dist/src/types/telemetry.d.cts.map +1 -0
  316. package/dist/src/types/telemetry.d.mts.map +1 -0
  317. package/dist/src/types/telemetry.mjs +26 -0
  318. package/dist/src/types/telemetry.mjs.map +1 -0
  319. package/dist/src/types/webTasks.cjs +7 -0
  320. package/dist/src/types/webTasks.cjs.map +1 -0
  321. package/dist/src/types/webTasks.mjs +7 -0
  322. package/dist/src/types/webTasks.mjs.map +1 -0
  323. package/dist/store-invariants.cjs +5 -1
  324. package/dist/store-invariants.d.cts +1 -1
  325. package/dist/store-invariants.d.mts +1 -1
  326. package/dist/store-invariants.mjs +2 -1
  327. package/dist/store-paths.cjs +14 -1
  328. package/dist/store-paths.d.cts +1 -1
  329. package/dist/store-paths.d.mts +1 -1
  330. package/dist/store-paths.mjs +2 -1
  331. package/dist/store-process-liveness.cjs +3 -1
  332. package/dist/store-process-liveness.d.cts +1 -1
  333. package/dist/store-process-liveness.d.mts +1 -1
  334. package/dist/store-process-liveness.mjs +2 -1
  335. package/dist/store-reconcile.cjs +5 -1
  336. package/dist/store-reconcile.d.cts +1 -1
  337. package/dist/store-reconcile.d.mts +1 -1
  338. package/dist/store-reconcile.mjs +2 -1
  339. package/dist/store-reducer.cjs +8 -1
  340. package/dist/store-reducer.d.cts +1 -1
  341. package/dist/store-reducer.d.mts +1 -1
  342. package/dist/store-reducer.mjs +2 -1
  343. package/dist/store-task-graph.cjs +7 -1
  344. package/dist/store-task-graph.d.cts +1 -1
  345. package/dist/store-task-graph.d.mts +1 -1
  346. package/dist/store-task-graph.mjs +2 -1
  347. package/dist/store-task-store.cjs +3 -1
  348. package/dist/store-task-store.d.cts +1 -1
  349. package/dist/store-task-store.d.mts +1 -1
  350. package/dist/store-task-store.mjs +2 -1
  351. package/dist/store-types.cjs +6 -1
  352. package/dist/store-types.d.cts +1 -1
  353. package/dist/store-types.d.mts +1 -1
  354. package/dist/store-types.mjs +2 -1
  355. package/dist/tool-prompt-guidelines.cjs +3 -1
  356. package/dist/tool-prompt-guidelines.d.cts +1 -1
  357. package/dist/tool-prompt-guidelines.d.mts +1 -1
  358. package/dist/tool-prompt-guidelines.mjs +2 -1
  359. package/dist/tool-response-envelope.cjs +12 -1
  360. package/dist/tool-response-envelope.d.cts +1 -1
  361. package/dist/tool-response-envelope.d.mts +1 -1
  362. package/dist/tool-response-envelope.mjs +2 -1
  363. package/dist/tool-schema.cjs +17 -1
  364. package/dist/tool-schema.d.cts +2 -2
  365. package/dist/tool-schema.d.mts +2 -2
  366. package/dist/tool-schema.mjs +3 -1
  367. package/dist/tool-task-tool.cjs +6 -1
  368. package/dist/tool-task-tool.d.cts +2 -2
  369. package/dist/tool-task-tool.d.mts +2 -2
  370. package/dist/tool-task-tool.mjs +3 -1
  371. package/dist/tui-format.cjs +14 -1
  372. package/dist/tui-format.d.cts +1 -1
  373. package/dist/tui-format.d.mts +1 -1
  374. package/dist/tui-format.mjs +2 -1
  375. package/dist/tui-selectors.cjs +10 -1
  376. package/dist/tui-selectors.d.cts +1 -1
  377. package/dist/tui-selectors.d.mts +1 -1
  378. package/dist/tui-selectors.mjs +2 -1
  379. package/dist/tui-task-overlay.cjs +4 -1
  380. package/dist/tui-task-overlay.d.cts +2 -2
  381. package/dist/tui-task-overlay.d.mts +2 -2
  382. package/dist/tui-task-overlay.mjs +2 -1
  383. package/dist/tui-task-space.cjs +5 -1
  384. package/dist/tui-task-space.d.cts +1 -1
  385. package/dist/tui-task-space.d.mts +1 -1
  386. package/dist/tui-task-space.mjs +2 -1
  387. package/package.json +20 -19
  388. package/dist/constants/promptGuidelines.cjs +0 -2
  389. package/dist/constants/promptGuidelines.cjs.map +0 -1
  390. package/dist/constants/promptGuidelines.d.cts.map +0 -1
  391. package/dist/constants/promptGuidelines.d.mts.map +0 -1
  392. package/dist/constants/promptGuidelines.mjs +0 -2
  393. package/dist/constants/promptGuidelines.mjs.map +0 -1
  394. package/dist/constants/task.cjs +0 -2
  395. package/dist/constants/task.cjs.map +0 -1
  396. package/dist/constants/task.d.cts.map +0 -1
  397. package/dist/constants/task.d.mts.map +0 -1
  398. package/dist/constants/task.mjs +0 -2
  399. package/dist/constants/task.mjs.map +0 -1
  400. package/dist/controllers/tasksCommand.cjs +0 -2
  401. package/dist/controllers/tasksCommand.cjs.map +0 -1
  402. package/dist/controllers/tasksCommand.d.cts +0 -15
  403. package/dist/controllers/tasksCommand.d.cts.map +0 -1
  404. package/dist/controllers/tasksCommand.d.mts +0 -15
  405. package/dist/controllers/tasksCommand.d.mts.map +0 -1
  406. package/dist/controllers/tasksCommand.mjs +0 -2
  407. package/dist/controllers/tasksCommand.mjs.map +0 -1
  408. package/dist/controllers/webTasksChannel.cjs +0 -2
  409. package/dist/controllers/webTasksChannel.cjs.map +0 -1
  410. package/dist/controllers/webTasksChannel.mjs +0 -2
  411. package/dist/controllers/webTasksChannel.mjs.map +0 -1
  412. package/dist/models/task.cjs +0 -2
  413. package/dist/models/task.cjs.map +0 -1
  414. package/dist/models/task.d.cts.map +0 -1
  415. package/dist/models/task.d.mts.map +0 -1
  416. package/dist/models/task.mjs +0 -2
  417. package/dist/models/task.mjs.map +0 -1
  418. package/dist/models/taskGraph.cjs +0 -2
  419. package/dist/models/taskGraph.cjs.map +0 -1
  420. package/dist/models/taskGraph.d.cts.map +0 -1
  421. package/dist/models/taskGraph.d.mts.map +0 -1
  422. package/dist/models/taskGraph.mjs +0 -2
  423. package/dist/models/taskGraph.mjs.map +0 -1
  424. package/dist/schemas/apiContracts.cjs +0 -2
  425. package/dist/schemas/apiContracts.cjs.map +0 -1
  426. package/dist/schemas/apiContracts.mjs +0 -2
  427. package/dist/schemas/apiContracts.mjs.map +0 -1
  428. package/dist/schemas/task.cjs +0 -2
  429. package/dist/schemas/task.cjs.map +0 -1
  430. package/dist/schemas/task.d.cts.map +0 -1
  431. package/dist/schemas/task.d.mts.map +0 -1
  432. package/dist/schemas/task.mjs +0 -2
  433. package/dist/schemas/task.mjs.map +0 -1
  434. package/dist/services/config/index.cjs +0 -2
  435. package/dist/services/config/index.cjs.map +0 -1
  436. package/dist/services/config/index.d.cts.map +0 -1
  437. package/dist/services/config/index.d.mts.map +0 -1
  438. package/dist/services/config/index.mjs +0 -2
  439. package/dist/services/config/index.mjs.map +0 -1
  440. package/dist/services/contextContribution/index.cjs +0 -3
  441. package/dist/services/contextContribution/index.cjs.map +0 -1
  442. package/dist/services/contextContribution/index.mjs +0 -3
  443. package/dist/services/contextContribution/index.mjs.map +0 -1
  444. package/dist/services/delegation/index.cjs +0 -6
  445. package/dist/services/delegation/index.cjs.map +0 -1
  446. package/dist/services/delegation/index.d.cts.map +0 -1
  447. package/dist/services/delegation/index.d.mts.map +0 -1
  448. package/dist/services/delegation/index.mjs +0 -6
  449. package/dist/services/delegation/index.mjs.map +0 -1
  450. package/dist/services/delegationPlatform/index.cjs +0 -2
  451. package/dist/services/delegationPlatform/index.cjs.map +0 -1
  452. package/dist/services/delegationPlatform/index.mjs +0 -2
  453. package/dist/services/delegationPlatform/index.mjs.map +0 -1
  454. package/dist/services/invariants/index.cjs +0 -2
  455. package/dist/services/invariants/index.cjs.map +0 -1
  456. package/dist/services/invariants/index.d.cts.map +0 -1
  457. package/dist/services/invariants/index.d.mts.map +0 -1
  458. package/dist/services/invariants/index.mjs +0 -2
  459. package/dist/services/invariants/index.mjs.map +0 -1
  460. package/dist/services/logSinkTelemetry/index.cjs +0 -2
  461. package/dist/services/logSinkTelemetry/index.cjs.map +0 -1
  462. package/dist/services/logSinkTelemetry/index.d.cts.map +0 -1
  463. package/dist/services/logSinkTelemetry/index.d.mts.map +0 -1
  464. package/dist/services/logSinkTelemetry/index.mjs +0 -2
  465. package/dist/services/logSinkTelemetry/index.mjs.map +0 -1
  466. package/dist/services/paths/index.cjs +0 -2
  467. package/dist/services/paths/index.cjs.map +0 -1
  468. package/dist/services/paths/index.d.cts.map +0 -1
  469. package/dist/services/paths/index.d.mts.map +0 -1
  470. package/dist/services/paths/index.mjs +0 -2
  471. package/dist/services/paths/index.mjs.map +0 -1
  472. package/dist/services/processLiveness/index.cjs +0 -2
  473. package/dist/services/processLiveness/index.cjs.map +0 -1
  474. package/dist/services/processLiveness/index.d.cts.map +0 -1
  475. package/dist/services/processLiveness/index.d.mts.map +0 -1
  476. package/dist/services/processLiveness/index.mjs +0 -2
  477. package/dist/services/processLiveness/index.mjs.map +0 -1
  478. package/dist/services/reconcile/index.cjs +0 -2
  479. package/dist/services/reconcile/index.cjs.map +0 -1
  480. package/dist/services/reconcile/index.d.cts.map +0 -1
  481. package/dist/services/reconcile/index.d.mts.map +0 -1
  482. package/dist/services/reconcile/index.mjs +0 -2
  483. package/dist/services/reconcile/index.mjs.map +0 -1
  484. package/dist/services/reducer/index.cjs +0 -3
  485. package/dist/services/reducer/index.cjs.map +0 -1
  486. package/dist/services/reducer/index.d.cts.map +0 -1
  487. package/dist/services/reducer/index.d.mts.map +0 -1
  488. package/dist/services/reducer/index.mjs +0 -3
  489. package/dist/services/reducer/index.mjs.map +0 -1
  490. package/dist/services/taskNarration/index.cjs +0 -2
  491. package/dist/services/taskNarration/index.cjs.map +0 -1
  492. package/dist/services/taskNarration/index.mjs +0 -2
  493. package/dist/services/taskNarration/index.mjs.map +0 -1
  494. package/dist/services/taskResult/index.cjs +0 -7
  495. package/dist/services/taskResult/index.cjs.map +0 -1
  496. package/dist/services/taskResult/index.d.cts.map +0 -1
  497. package/dist/services/taskResult/index.d.mts.map +0 -1
  498. package/dist/services/taskResult/index.mjs +0 -7
  499. package/dist/services/taskResult/index.mjs.map +0 -1
  500. package/dist/services/taskStore/index.cjs +0 -2
  501. package/dist/services/taskStore/index.cjs.map +0 -1
  502. package/dist/services/taskStore/index.d.cts.map +0 -1
  503. package/dist/services/taskStore/index.d.mts.map +0 -1
  504. package/dist/services/taskStore/index.mjs +0 -2
  505. package/dist/services/taskStore/index.mjs.map +0 -1
  506. package/dist/tools/task.cjs +0 -3
  507. package/dist/tools/task.d.cts.map +0 -1
  508. package/dist/tools/task.d.mts.map +0 -1
  509. package/dist/tools/task.mjs +0 -3
  510. package/dist/tools/task.mjs.map +0 -1
  511. package/dist/tui/format.cjs +0 -4
  512. package/dist/tui/format.cjs.map +0 -1
  513. package/dist/tui/format.d.cts.map +0 -1
  514. package/dist/tui/format.d.mts.map +0 -1
  515. package/dist/tui/format.mjs +0 -4
  516. package/dist/tui/format.mjs.map +0 -1
  517. package/dist/tui/selectors.cjs +0 -2
  518. package/dist/tui/selectors.cjs.map +0 -1
  519. package/dist/tui/selectors.d.cts.map +0 -1
  520. package/dist/tui/selectors.d.mts.map +0 -1
  521. package/dist/tui/selectors.mjs +0 -2
  522. package/dist/tui/selectors.mjs.map +0 -1
  523. package/dist/tui/taskOverlay.cjs +0 -2
  524. package/dist/tui/taskOverlay.cjs.map +0 -1
  525. package/dist/tui/taskOverlay.d.cts.map +0 -1
  526. package/dist/tui/taskOverlay.d.mts.map +0 -1
  527. package/dist/tui/taskOverlay.mjs +0 -2
  528. package/dist/tui/taskOverlay.mjs.map +0 -1
  529. package/dist/tui/taskSpace.cjs +0 -5
  530. package/dist/tui/taskSpace.cjs.map +0 -1
  531. package/dist/tui/taskSpace.d.cts.map +0 -1
  532. package/dist/tui/taskSpace.d.mts.map +0 -1
  533. package/dist/tui/taskSpace.mjs +0 -5
  534. package/dist/tui/taskSpace.mjs.map +0 -1
  535. package/dist/types/delegation.cjs +0 -2
  536. package/dist/types/delegation.cjs.map +0 -1
  537. package/dist/types/delegation.mjs +0 -2
  538. package/dist/types/delegation.mjs.map +0 -1
  539. package/dist/types/telemetry.cjs +0 -2
  540. package/dist/types/telemetry.cjs.map +0 -1
  541. package/dist/types/telemetry.d.cts.map +0 -1
  542. package/dist/types/telemetry.d.mts.map +0 -1
  543. package/dist/types/telemetry.mjs +0 -2
  544. package/dist/types/telemetry.mjs.map +0 -1
  545. package/dist/types/webTasks.cjs +0 -2
  546. package/dist/types/webTasks.cjs.map +0 -1
  547. package/dist/types/webTasks.mjs +0 -2
  548. package/dist/types/webTasks.mjs.map +0 -1
  549. package/src/extensions/web.ts +0 -18
  550. package/src/web/components/TaskDetailDialog.tsx +0 -251
  551. package/src/web/components/TaskToolMessage.tsx +0 -120
  552. package/src/web/components/TasksActivitySection.tsx +0 -200
  553. package/src/web/lib/taskToolFormat.ts +0 -330
  554. package/src/web/stores/tasksStore.ts +0 -114
  555. package/src/web/tsconfig.json +0 -23
  556. /package/dist/{constants → src/constants}/promptGuidelines.d.cts +0 -0
  557. /package/dist/{constants → src/constants}/promptGuidelines.d.mts +0 -0
  558. /package/dist/{constants → src/constants}/task.d.cts +0 -0
  559. /package/dist/{constants → src/constants}/task.d.mts +0 -0
  560. /package/dist/{models → src/models}/taskGraph.d.cts +0 -0
  561. /package/dist/{models → src/models}/taskGraph.d.mts +0 -0
  562. /package/dist/{schemas → src/schemas}/apiContracts.d.cts +0 -0
  563. /package/dist/{schemas → src/schemas}/apiContracts.d.mts +0 -0
  564. /package/dist/{schemas → src/schemas}/task.d.cts +0 -0
  565. /package/dist/{schemas → src/schemas}/task.d.mts +0 -0
  566. /package/dist/{services → src/services}/config/index.d.cts +0 -0
  567. /package/dist/{services → src/services}/config/index.d.mts +0 -0
  568. /package/dist/{services → src/services}/delegation/index.d.cts +0 -0
  569. /package/dist/{services → src/services}/delegation/index.d.mts +0 -0
  570. /package/dist/{services → src/services}/invariants/index.d.cts +0 -0
  571. /package/dist/{services → src/services}/invariants/index.d.mts +0 -0
  572. /package/dist/{services → src/services}/logSinkTelemetry/index.d.cts +0 -0
  573. /package/dist/{services → src/services}/logSinkTelemetry/index.d.mts +0 -0
  574. /package/dist/{services → src/services}/paths/index.d.cts +0 -0
  575. /package/dist/{services → src/services}/paths/index.d.mts +0 -0
  576. /package/dist/{services → src/services}/processLiveness/index.d.cts +0 -0
  577. /package/dist/{services → src/services}/processLiveness/index.d.mts +0 -0
  578. /package/dist/{services → src/services}/reconcile/index.d.cts +0 -0
  579. /package/dist/{services → src/services}/reconcile/index.d.mts +0 -0
  580. /package/dist/{services → src/services}/reducer/index.d.cts +0 -0
  581. /package/dist/{services → src/services}/reducer/index.d.mts +0 -0
  582. /package/dist/{services → src/services}/taskResult/index.d.cts +0 -0
  583. /package/dist/{services → src/services}/taskResult/index.d.mts +0 -0
  584. /package/dist/{services → src/services}/taskStore/index.d.cts +0 -0
  585. /package/dist/{services → src/services}/taskStore/index.d.mts +0 -0
  586. /package/dist/{types → src/types}/delegation.d.cts +0 -0
  587. /package/dist/{types → src/types}/delegation.d.mts +0 -0
  588. /package/dist/{types → src/types}/telemetry.d.cts +0 -0
  589. /package/dist/{types → src/types}/telemetry.d.mts +0 -0
@@ -1,330 +0,0 @@
1
- /**
2
- * Pure view logic for the task tool card, the browser counterpart of
3
- * src/tui/format.ts (renderTaskCall, renderTaskResult). The plugin may reach
4
- * only its own files and src/types, so the store shapes it reads are
5
- * restated here as the wire JSON of a tool_execution frame.
6
- */
7
-
8
- export type TaskStatus = 'pending' | 'in_progress' | 'completed' | 'failed' | 'deleted';
9
- export type TaskAction = 'upsert' | 'list' | 'get' | 'delete' | 'clear' | 'assign' | 'cancel';
10
-
11
- export const STATUS_GLYPH: Record<TaskStatus, string> = {
12
- pending: '○',
13
- in_progress: '◐',
14
- completed: '●',
15
- failed: '✗',
16
- deleted: '⊘',
17
- };
18
-
19
- export const STATUS_LABEL: Record<TaskStatus, string> = {
20
- pending: 'pending',
21
- in_progress: 'in progress',
22
- completed: 'completed',
23
- failed: 'failed',
24
- deleted: 'deleted',
25
- };
26
-
27
- export const ACTION_GLYPH: Record<TaskAction, string> = {
28
- upsert: '✎',
29
- delete: '×',
30
- get: '›',
31
- list: '☰',
32
- clear: '∅',
33
- assign: '⇒',
34
- cancel: '⊗',
35
- };
36
-
37
- /**
38
- * `upsert` is two operations behind one name, so a homogeneous batch narrows to
39
- * the glyph the operator already reads: `+` means new work appeared, `→` means
40
- * work moved. A mixed batch keeps the neutral write glyph.
41
- */
42
- const UPSERT_CREATE_GLYPH = '+';
43
- const UPSERT_UPDATE_GLYPH = '→';
44
- /** Task rows kept in a collapsed result, before the card is expanded. */
45
- const TRANSCRIPT_TASK_ROWS = 8;
46
- const TASK_STATUSES: readonly TaskStatus[] = ['pending', 'in_progress', 'completed', 'failed', 'deleted'];
47
- const TASK_ACTIONS: readonly TaskAction[] = ['upsert', 'list', 'get', 'delete', 'clear', 'assign', 'cancel'];
48
- const INLINE_WHITESPACE = /\s+/gu;
49
-
50
- /** One task as the result details carry it (src/models/task.ts Task). */
51
- export interface TaskView {
52
- id: number;
53
- subject: string;
54
- status: TaskStatus;
55
- activeForm?: string;
56
- blockedBy?: number[];
57
- delegation?: { agent?: string; state?: string };
58
- }
59
-
60
- /** The result details (src/models/task.ts TaskDetails), narrowed to what the card reads. */
61
- export interface TaskDetailsView {
62
- action: TaskAction;
63
- params: Record<string, unknown>;
64
- tasks: TaskView[];
65
- error?: string;
66
- upsert?: { applied: number[]; failed: number };
67
- assignment?: { assigned: number[]; failed: number };
68
- }
69
-
70
- function isRecord(value: unknown): value is Record<string, unknown> {
71
- return typeof value === 'object' && value !== null && !Array.isArray(value);
72
- }
73
-
74
- function isStatus(value: unknown): value is TaskStatus {
75
- return typeof value === 'string' && (TASK_STATUSES as readonly string[]).includes(value);
76
- }
77
-
78
- function isAction(value: unknown): value is TaskAction {
79
- return typeof value === 'string' && (TASK_ACTIONS as readonly string[]).includes(value);
80
- }
81
-
82
- function taskView(value: unknown): TaskView | null {
83
- if (!isRecord(value) || typeof value.id !== 'number' || typeof value.subject !== 'string') return null;
84
- if (!isStatus(value.status)) return null;
85
- const task: TaskView = { id: value.id, subject: value.subject, status: value.status };
86
- if (typeof value.activeForm === 'string') task.activeForm = value.activeForm;
87
- if (Array.isArray(value.blockedBy)) {
88
- task.blockedBy = value.blockedBy.filter((id): id is number => typeof id === 'number');
89
- }
90
- if (isRecord(value.delegation)) {
91
- task.delegation = {};
92
- if (typeof value.delegation.agent === 'string') task.delegation.agent = value.delegation.agent;
93
- if (typeof value.delegation.state === 'string') task.delegation.state = value.delegation.state;
94
- }
95
- return task;
96
- }
97
-
98
- function idList(value: unknown): number[] {
99
- return Array.isArray(value) ? value.filter((id): id is number => typeof id === 'number') : [];
100
- }
101
-
102
- /** Narrows the wire details; null when they are not a task result at all. */
103
- export function taskDetailsView(details: unknown): TaskDetailsView | null {
104
- if (!isRecord(details) || !isAction(details.action) || !Array.isArray(details.tasks)) return null;
105
- const view: TaskDetailsView = {
106
- action: details.action,
107
- params: isRecord(details.params) ? details.params : {},
108
- tasks: details.tasks.map(taskView).filter((task): task is TaskView => task !== null),
109
- };
110
- if (typeof details.error === 'string') view.error = details.error;
111
- if (isRecord(details.upsert)) {
112
- view.upsert = {
113
- applied: idList(details.upsert.applied),
114
- failed: typeof details.upsert.failed === 'number' ? details.upsert.failed : 0,
115
- };
116
- }
117
- if (isRecord(details.assignment)) {
118
- view.assignment = {
119
- assigned: idList(details.assignment.assigned),
120
- failed: typeof details.assignment.failed === 'number' ? details.assignment.failed : 0,
121
- };
122
- }
123
- return view;
124
- }
125
-
126
- /** `#id` for the wire's id, which the TUI would resolve to a subject through the store. */
127
- function idLabel(value: unknown): string {
128
- return typeof value === 'number' || typeof value === 'string' ? `#${value}` : '#?';
129
- }
130
-
131
- /** Keep dynamic content on one line. */
132
- function inlineText(text: string): string {
133
- return text.replace(INLINE_WHITESPACE, ' ').trim();
134
- }
135
-
136
- export type TaskCallTone = 'dim' | 'accent';
137
-
138
- /** The call header: glyph, action, then the subject or a count, as renderTaskCall lays it out. */
139
- export interface TaskCallView {
140
- glyph: string;
141
- action: string;
142
- subject?: string;
143
- subjectTone: TaskCallTone;
144
- /** The assignee (`→ agent`) or the list filter. */
145
- detail?: string;
146
- }
147
-
148
- function upsertGlyph(items: readonly Record<string, unknown>[]): string {
149
- if (items.length === 0) return ACTION_GLYPH.upsert;
150
- if (items.every((item) => item.id === undefined)) return UPSERT_CREATE_GLYPH;
151
- if (items.every((item) => item.id !== undefined)) return UPSERT_UPDATE_GLYPH;
152
- return ACTION_GLYPH.upsert;
153
- }
154
-
155
- /**
156
- * The TUI resolves an id to its subject through the task store; the card has
157
- * no store and shows `#id` until the result names the task.
158
- */
159
- export function taskCallView(args: Record<string, unknown>): TaskCallView {
160
- const action = typeof args.action === 'string' ? args.action : 'task';
161
- if (!isAction(action)) return { glyph: '?', action, subjectTone: 'dim' };
162
- const items = action === 'upsert' && Array.isArray(args.tasks) ? args.tasks.filter(isRecord) : [];
163
- const view: TaskCallView = {
164
- glyph: action === 'upsert' ? upsertGlyph(items) : ACTION_GLYPH[action],
165
- action,
166
- subjectTone: 'dim',
167
- };
168
-
169
- if (action === 'upsert') {
170
- // One entry reads exactly as create or update did; a batch reads as a count
171
- // rather than a subject it would have to pick arbitrarily.
172
- if (items.length === 1) {
173
- const only = items[0] ?? {};
174
- if (only.id === undefined) {
175
- if (typeof only.subject === 'string') view.subject = inlineText(only.subject);
176
- } else {
177
- view.subject = typeof only.subject === 'string' ? inlineText(only.subject) : idLabel(only.id);
178
- view.subjectTone = 'accent';
179
- }
180
- } else if (items.length > 1) {
181
- view.subject = `${items.length} tasks`;
182
- }
183
- } else if (action === 'assign') {
184
- const assignments = Array.isArray(args.assignments) ? args.assignments.filter(isRecord) : [];
185
- if (assignments.length === 1) {
186
- const only = assignments[0] ?? {};
187
- view.subject = idLabel(only.id);
188
- view.subjectTone = 'accent';
189
- if (typeof only.agent === 'string') view.detail = `→ ${only.agent}`;
190
- } else if (assignments.length > 1) {
191
- view.subject = `${assignments.length} tasks`;
192
- }
193
- } else if ((action === 'get' || action === 'delete' || action === 'cancel') && args.id !== undefined) {
194
- view.subject = idLabel(args.id);
195
- view.subjectTone = 'accent';
196
- } else if (action === 'list' && isStatus(args.status)) {
197
- view.detail = STATUS_LABEL[args.status];
198
- }
199
- return view;
200
- }
201
-
202
- /** One row of the result: the task line on the left, its status flushed right. */
203
- export interface TaskRow {
204
- id: number;
205
- glyph: string;
206
- subject: string;
207
- status: TaskStatus;
208
- /** Struck through: the task is done with. */
209
- closed: boolean;
210
- agent?: string;
211
- activeForm?: string;
212
- blockedBy: number[];
213
- }
214
-
215
- export type TaskResultTone = 'running' | 'ok' | 'error' | 'warning';
216
-
217
- export interface TaskResultView {
218
- rows: TaskRow[];
219
- /** Error text lines when the tool threw or the reducer reported an error. */
220
- errorLines: string[];
221
- status: { glyph: string; tone: TaskResultTone; text: string } | null;
222
- }
223
-
224
- export function taskRow(task: TaskView): TaskRow {
225
- const row: TaskRow = {
226
- id: task.id,
227
- glyph: STATUS_GLYPH[task.status],
228
- subject: inlineText(task.subject),
229
- status: task.status,
230
- closed: task.status === 'completed' || task.status === 'deleted',
231
- blockedBy: task.blockedBy ?? [],
232
- };
233
- if (task.delegation?.agent) row.agent = inlineText(task.delegation.agent);
234
- if (task.status === 'in_progress' && task.activeForm) row.activeForm = inlineText(task.activeForm);
235
- return row;
236
- }
237
-
238
- function nonEmptyLines(text: string): string[] {
239
- return text.split('\n').filter((line) => line.trim().length > 0);
240
- }
241
-
242
- /**
243
- * The rows `list` reported to the model: `details.tasks` is the whole
244
- * document, so the call's filters apply again here or the card would disagree
245
- * with the text the model was given.
246
- */
247
- function listedTasks(details: TaskDetailsView): TaskView[] {
248
- let view = details.tasks;
249
- if (details.params.includeDeleted !== true) view = view.filter((task) => task.status !== 'deleted');
250
- if (isStatus(details.params.status)) view = view.filter((task) => task.status === details.params.status);
251
- return view;
252
- }
253
-
254
- function byIds(details: TaskDetailsView, ids: readonly number[]): TaskView[] {
255
- return ids.flatMap((id) => details.tasks.find((task) => task.id === id) ?? []);
256
- }
257
-
258
- function batch(
259
- tasks: readonly TaskView[],
260
- failed: number,
261
- verb: string,
262
- expanded: boolean,
263
- ): Pick<TaskResultView, 'rows' | 'status'> {
264
- // One applied task and nothing failed is the common case: keep the single
265
- // row it has always had rather than dressing it as a bulk report.
266
- if (tasks.length === 1 && failed === 0) return { rows: [taskRow(tasks[0] as TaskView)], status: null };
267
- const shown = expanded ? tasks : tasks.slice(0, TRANSCRIPT_TASK_ROWS);
268
- let summary = `${tasks.length} ${verb}`;
269
- if (failed > 0) summary += ` · ${failed} failed`;
270
- if (tasks.length > shown.length) summary += ` · ${tasks.length - shown.length} more`;
271
- return {
272
- rows: shown.map(taskRow),
273
- status: { glyph: failed > 0 ? '!' : '✓', tone: failed > 0 ? 'warning' : 'ok', text: summary },
274
- };
275
- }
276
-
277
- export function taskResultView(input: {
278
- details: unknown;
279
- output: string;
280
- expanded: boolean;
281
- isPartial: boolean;
282
- isError: boolean;
283
- }): TaskResultView {
284
- const details = taskDetailsView(input.details);
285
-
286
- // Running. `assign` and `cancel` stream a placeholder before the run settles.
287
- if (input.isPartial) {
288
- const text = nonEmptyLines(input.output).at(-1) ?? 'working';
289
- return { rows: [], errorLines: [], status: { glyph: '◐', tone: 'running', text } };
290
- }
291
-
292
- // Failed. Every failure path throws, so Pi hands back error text and no
293
- // details; without this the card would show a green tick on a failure.
294
- if (input.isError || details?.error !== undefined) {
295
- const all = nonEmptyLines(details?.error ?? input.output);
296
- if (all.length <= 1) return { rows: [], errorLines: [], status: { glyph: '✗', tone: 'error', text: all[0] ?? '' } };
297
- const errorLines = input.expanded ? all : all.slice(0, TRANSCRIPT_TASK_ROWS);
298
- return { rows: [], errorLines, status: { glyph: '✗', tone: 'error', text: '' } };
299
- }
300
-
301
- if (details === null) return { rows: [], errorLines: [], status: { glyph: '✓', tone: 'ok', text: '' } };
302
-
303
- if (details.action === 'list') {
304
- const tasks = listedTasks(details);
305
- const shown = input.expanded ? tasks : tasks.slice(0, TRANSCRIPT_TASK_ROWS);
306
- let summary = tasks.length === 0 ? 'no tasks' : `${tasks.length} task${tasks.length === 1 ? '' : 's'}`;
307
- if (tasks.length > shown.length) summary += ` · ${tasks.length - shown.length} more`;
308
- return { rows: shown.map(taskRow), errorLines: [], status: { glyph: '✓', tone: 'ok', text: summary } };
309
- }
310
-
311
- if (details.action === 'clear') {
312
- return { rows: [], errorLines: [], status: { glyph: '✓', tone: 'ok', text: 'cleared' } };
313
- }
314
-
315
- if (details.action === 'assign' && details.assignment) {
316
- const assigned = byIds(details, details.assignment.assigned);
317
- return { errorLines: [], ...batch(assigned, details.assignment.failed, 'assigned', input.expanded) };
318
- }
319
-
320
- if (details.action === 'upsert') {
321
- const touched = byIds(details, details.upsert?.applied ?? []);
322
- return { errorLines: [], ...batch(touched, details.upsert?.failed ?? 0, 'applied', input.expanded) };
323
- }
324
-
325
- // The single task an id-bearing action acted on, so the card names it rather than a bare tick.
326
- const id = details.params.id;
327
- const task = typeof id === 'number' ? details.tasks.find((candidate) => candidate.id === id) : undefined;
328
- if (!task) return { rows: [], errorLines: [], status: { glyph: '✓', tone: 'ok', text: '' } };
329
- return { rows: [taskRow(task)], errorLines: [], status: null };
330
- }
@@ -1,114 +0,0 @@
1
- import { defineSessionStore, type SessionFrameSender } from '@agimon-ai/doompi-core/web';
2
-
3
- import { TASKS_CHANNEL_TYPE, type WebTask, type WebTasksPayload } from '../../types/webTasks';
4
-
5
- export interface TasksSession {
6
- tasks: WebTask[];
7
- rev: number;
8
- }
9
-
10
- export const tasks = defineSessionStore<TasksSession>({ tasks: [], rev: 0 });
11
-
12
- function isRecord(value: unknown): value is Record<string, unknown> {
13
- return typeof value === 'object' && value !== null && !Array.isArray(value);
14
- }
15
-
16
- function parseTask(value: unknown): WebTask | null {
17
- if (!isRecord(value) || typeof value.id !== 'number' || typeof value.subject !== 'string') return null;
18
- if (!['pending', 'in_progress', 'completed', 'failed'].includes(String(value.status))) return null;
19
- const task: WebTask = {
20
- id: value.id,
21
- subject: value.subject,
22
- status: value.status as WebTask['status'],
23
- blockedBy: Array.isArray(value.blockedBy)
24
- ? value.blockedBy.filter((id): id is number => typeof id === 'number')
25
- : [],
26
- };
27
- if (typeof value.description === 'string') task.description = value.description;
28
- if (typeof value.activeForm === 'string') task.activeForm = value.activeForm;
29
- if (typeof value.owner === 'string') task.owner = value.owner;
30
- if (typeof value.updatedAt === 'string') task.updatedAt = value.updatedAt;
31
- if (isRecord(value.delegation)) {
32
- task.delegation = {};
33
- if (typeof value.delegation.agent === 'string') task.delegation.agent = value.delegation.agent;
34
- if (typeof value.delegation.state === 'string') task.delegation.state = value.delegation.state;
35
- }
36
- return task;
37
- }
38
-
39
- export const tasksChannel = tasks.channel<WebTasksPayload>({
40
- channel: TASKS_CHANNEL_TYPE,
41
- parse(input) {
42
- if (!isRecord(input) || !Array.isArray(input.tasks) || typeof input.rev !== 'number') return null;
43
- return { tasks: input.tasks.map(parseTask).filter((task): task is WebTask => task !== null), rev: input.rev };
44
- },
45
- reduce: (_current, payload) => payload,
46
- });
47
-
48
- /** The fields the cockpit lets a human change on a task. */
49
- export interface TaskEditDraft {
50
- subject: string;
51
- description: string;
52
- status: WebTask['status'];
53
- }
54
-
55
- export function taskEditDraft(task: WebTask): TaskEditDraft {
56
- return { subject: task.subject, description: task.description ?? '', status: task.status };
57
- }
58
-
59
- function changedFields(task: WebTask, draft: TaskEditDraft): string[] {
60
- const changes: string[] = [];
61
- const subject = draft.subject.trim();
62
- const description = draft.description.trim();
63
- if (subject && subject !== task.subject) changes.push(`set subject to "${subject}"`);
64
- if (description !== (task.description ?? '').trim()) {
65
- changes.push(description ? `set description to "${description}"` : 'clear the description');
66
- }
67
- if (draft.status !== task.status) changes.push(`set status to ${draft.status}`);
68
- return changes;
69
- }
70
-
71
- /**
72
- * The agent stays the only writer of task state, so an edit leaves the cockpit
73
- * as one prompt naming exactly the fields the human changed. Nothing changed
74
- * means nothing to send.
75
- */
76
- export function taskEditInstruction(task: WebTask, draft: TaskEditDraft): string | null {
77
- const changes = changedFields(task, draft);
78
- if (changes.length === 0) return null;
79
- return `Update task #${task.id}: ${changes.join('; ')}. Change nothing else and keep the dependency graph valid.`;
80
- }
81
-
82
- export function requestTaskEdit(
83
- send: SessionFrameSender,
84
- sessionId: string,
85
- task: WebTask,
86
- draft: TaskEditDraft,
87
- ): boolean {
88
- const message = taskEditInstruction(task, draft);
89
- if (message === null) return false;
90
- send(sessionId, { type: 'prompt', message });
91
- return true;
92
- }
93
-
94
- /** Steering for the subagent that owns a delegated task. */
95
- export function taskMessageInstruction(taskId: number, agent: string, message: string): string {
96
- return `Steer the ${agent} run working on task #${taskId} with this message, then update the task if its plan changed: ${message.trim()}`;
97
- }
98
-
99
- export function requestTaskMessage(
100
- send: SessionFrameSender,
101
- sessionId: string,
102
- taskId: number,
103
- agent: string,
104
- message: string,
105
- ): void {
106
- send(sessionId, { type: 'prompt', message: taskMessageInstruction(taskId, agent, message) });
107
- }
108
-
109
- export function requestTaskRemoval(send: SessionFrameSender, sessionId: string, taskId: number): void {
110
- send(sessionId, {
111
- type: 'prompt',
112
- message: `Remove task #${taskId}. Also remove or repair every dependency that references it so the remaining task graph is valid.`,
113
- });
114
- }
@@ -1,23 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2022",
4
- "lib": ["ES2023", "DOM", "DOM.Iterable"],
5
- "module": "ESNext",
6
- "moduleResolution": "Bundler",
7
- "jsx": "react-jsx",
8
- "strict": true,
9
- "noImplicitAny": true,
10
- "noUnusedLocals": true,
11
- "noUnusedParameters": true,
12
- "noImplicitReturns": true,
13
- "noFallthroughCasesInSwitch": true,
14
- "noEmit": true,
15
- "resolveJsonModule": true,
16
- "esModuleInterop": true,
17
- "skipLibCheck": true,
18
- "allowImportingTsExtensions": true,
19
- "forceConsistentCasingInFileNames": true,
20
- "types": ["node"]
21
- },
22
- "include": [".", "../types", "../extensions/web.ts"]
23
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes