@pixelzx/genesis 2026.6.13-beta.3 → 2026.6.13

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 (1009) hide show
  1. package/dist/.buildstamp +1 -1
  2. package/dist/abort-CUEXCdsZ.js +201 -0
  3. package/dist/abort.runtime-pbOgDldP.js +2 -0
  4. package/dist/abort.runtime.js +1 -1
  5. package/dist/accounts-BtjI3Z72.js +2 -0
  6. package/dist/accounts-CgGxrOwS.js +107 -0
  7. package/dist/accounts-Ddm5_DS5.js +104 -0
  8. package/dist/acp-cli-Llxb5ymk.js +2217 -0
  9. package/dist/acp-spawn-BTb-KXxB.js +1093 -0
  10. package/dist/acp-spawn-DHriTNXb.js +2 -0
  11. package/dist/acp-stateful-target-driver-DBVhWBrt.js +89 -0
  12. package/dist/action-agents-CGlVq0bn.js +67 -0
  13. package/dist/action-focus-X9cJX3UC.js +132 -0
  14. package/dist/action-help-D1M6mIWb.js +7 -0
  15. package/dist/action-info-fCoEt-Rn.js +101 -0
  16. package/dist/action-kill-DP4EEnxt.js +33 -0
  17. package/dist/action-list-CcjpvN9N.js +21 -0
  18. package/dist/action-log-YUvfBfxP.js +30 -0
  19. package/dist/action-send-B92BNjlE.js +39 -0
  20. package/dist/action-spawn-CTVbxHB8.js +47 -0
  21. package/dist/action-unfocus-CCvrRtpz.js +29 -0
  22. package/dist/actions.runtime-CoSzf-df.js +5 -0
  23. package/dist/actions.runtime-DcqD6Le-.js +18 -0
  24. package/dist/actions.runtime.js +1 -1
  25. package/dist/agent-CQEBS9pS.js +2 -0
  26. package/dist/agent-command-KS0kk4R_.js +874 -0
  27. package/dist/agent-harness-runtime-DpgQTWHS.js +144 -0
  28. package/dist/agent-runner-utils-Bfjw1bSj.js +239 -0
  29. package/dist/agent-runner.runtime-BmWGZi8Z.js +3455 -0
  30. package/dist/agent-runner.runtime.js +1 -1
  31. package/dist/agent-runtime-Cju2h7Dd.js +18 -0
  32. package/dist/agents-6HPmn29e.js +5 -0
  33. package/dist/agents-ZkvxBcii.js +954 -0
  34. package/dist/aliases-BpgQEAi2.js +2 -0
  35. package/dist/aliases-CK0aIskI.js +96 -0
  36. package/dist/api-BxjlJBf7.js +3 -0
  37. package/dist/api-CalF94xg.js +5 -0
  38. package/dist/api-D_GKjzfN.js +139 -0
  39. package/dist/approval-gateway-resolver-Dxycea4Z.js +29 -0
  40. package/dist/approval-gateway-runtime-D3X-ZiqD.js +2 -0
  41. package/dist/approval-handler-runtime-CRqE_cXp.js +439 -0
  42. package/dist/approval-native-runtime-zR041zyJ.js +729 -0
  43. package/dist/attempt-execution.runtime-1Wa08yf1.js +509 -0
  44. package/dist/attempt-execution.runtime.js +1 -1
  45. package/dist/attempt.prompt-helpers-z-6VGwRW.js +221 -0
  46. package/dist/attempt.tool-run-context-C70C_cPM.js +933 -0
  47. package/dist/audit-DfIX2KwE.js +939 -0
  48. package/dist/audit.runtime-BNH37U5T.js +7 -0
  49. package/dist/audit.runtime.js +1 -1
  50. package/dist/auth-DkcLHjkF.js +2 -0
  51. package/dist/auth-order-B9P_KybB.js +2 -0
  52. package/dist/auth-order-ozs0zLmu.js +139 -0
  53. package/dist/auth-vKHIBjC8.js +550 -0
  54. package/dist/bash-tools-CLGCvCUP.js +2824 -0
  55. package/dist/bash-tools-CaBEBURe.js +3 -0
  56. package/dist/binding-routing-D4HA2ved.js +85 -0
  57. package/dist/binding-targets-DA9ecVsr.js +121 -0
  58. package/dist/bridge-server-gnPeACBa.js +113 -0
  59. package/dist/browser-control-auth-CM8pNt8J.js +2 -0
  60. package/dist/browser-node-runtime-C-mstNpu.js +12 -0
  61. package/dist/browser-profiles-Dg-k95aL.js +2 -0
  62. package/dist/browser-runtime-DirlsYmK.js +387 -0
  63. package/dist/browser-setup-tools-BXWUuJ6m.js +13 -0
  64. package/dist/build-CijTB8Fi.js +550 -0
  65. package/dist/build-info.json +3 -3
  66. package/dist/bundled/boot-md/handler.js +2 -2
  67. package/dist/bundled/session-memory/handler.js +1 -1
  68. package/dist/call-85RWmQAH.js +3 -0
  69. package/dist/call-CL7Keh1p.js +331 -0
  70. package/dist/call.runtime-xbzyWzEi.js +2 -0
  71. package/dist/call.runtime.js +1 -1
  72. package/dist/capability-cli-DLY0EugY.js +1401 -0
  73. package/dist/catchup-pqyBQ6UZ.js +300 -0
  74. package/dist/channel-B-_yLOuX.js +1320 -0
  75. package/dist/channel-BMRnqh3W.js +840 -0
  76. package/dist/channel-BrrfXNkf.js +297 -0
  77. package/dist/channel-C1VXF6vY.js +595 -0
  78. package/dist/channel-C6MisWnA.js +350 -0
  79. package/dist/channel-C7Y0GD7W.js +1100 -0
  80. package/dist/channel-C9Kr__RL.js +226 -0
  81. package/dist/channel-CJFK3uRJ.js +1802 -0
  82. package/dist/channel-Crm7UunT.js +453 -0
  83. package/dist/channel-M5ZFW6rv.js +491 -0
  84. package/dist/channel-VL7FJNyb.js +1174 -0
  85. package/dist/channel-core-DB2nzAkT.js +5 -0
  86. package/dist/channel-inbound-CATPKMen.js +31 -0
  87. package/dist/channel-plugin-runtime-DhEHiW41.js +771 -0
  88. package/dist/channel-runtime-CE1xTvWZ.js +425 -0
  89. package/dist/channel.runtime-3APLcE-1.js +42398 -0
  90. package/dist/channel.runtime-B8slMR61.js +89 -0
  91. package/dist/channel.runtime-BKjTINZH.js +4 -0
  92. package/dist/channel.runtime-DHfGxcjG.js +2364 -0
  93. package/dist/channel.runtime-DVnkA8AL.js +576 -0
  94. package/dist/channel.runtime-DaFfPWdI.js +430 -0
  95. package/dist/channel.setup-C3Ag76tq.js +10 -0
  96. package/dist/channel2.runtime-DUB2QEK1.js +109 -0
  97. package/dist/channel2.runtime.js +1 -1
  98. package/dist/channels-CBvXY2t_.js +733 -0
  99. package/dist/channels-cli-CkoeG5y5.js +268 -0
  100. package/dist/chat-DbvGOpf-.js +2830 -0
  101. package/dist/clawbot-cli-CLuaKcyW.js +9 -0
  102. package/dist/cli/daemon-cli.js +3 -3
  103. package/dist/cli-B5Ub8Cgn.js +2 -0
  104. package/dist/cli-BDH4ZbeI.js +2 -0
  105. package/dist/cli-CWOy2CsV.js +219 -0
  106. package/dist/cli-DyG2YLBa.js +72 -0
  107. package/dist/cli-runner-D8mL6FWu.js +286 -0
  108. package/dist/cli-runner.runtime-BCrZn2CL.js +4 -0
  109. package/dist/cli-runner.runtime-ChQ6WYTw.js +3 -0
  110. package/dist/cli-runner.runtime.js +1 -1
  111. package/dist/cli-startup-metadata.json +2 -2
  112. package/dist/cli.runtime-c5SW-DVR.js +1261 -0
  113. package/dist/cli.runtime.js +1 -1
  114. package/dist/client-BdWZGAKV.js +713 -0
  115. package/dist/client-G9bp9IBR.js +138 -0
  116. package/dist/command-auth-C6emi1Rr.js +76 -0
  117. package/dist/command-config-resolution-CY8Uap6U.js +2 -0
  118. package/dist/command-config-resolution-Dkkd_zz7.js +23 -0
  119. package/dist/command-config-resolution.runtime-B03wRV-i.js +2 -0
  120. package/dist/command-config-resolution.runtime.js +1 -1
  121. package/dist/command-registry-BdXEbnVK.js +9 -0
  122. package/dist/command-registry-BwJ8YzAH.js +4 -0
  123. package/dist/command-registry-core-X1IeFtlC.js +106 -0
  124. package/dist/command-secret-gateway-BxGIG8ny.js +528 -0
  125. package/dist/command-status.runtime-5QfAs_4U.js +87 -0
  126. package/dist/command-status.runtime.js +1 -1
  127. package/dist/commands-acp-15kfWcgC.js +77 -0
  128. package/dist/commands-compact.runtime-GdDN_EbV.js +10 -0
  129. package/dist/commands-compact.runtime.js +1 -1
  130. package/dist/commands-handlers.runtime-Cb8uy-yp.js +4599 -0
  131. package/dist/commands-handlers.runtime.js +1 -1
  132. package/dist/commands-status-BfvtgMfw.js +16 -0
  133. package/dist/commands-status.runtime-C4UOWuC1.js +3 -0
  134. package/dist/commands-status.runtime.js +1 -1
  135. package/dist/commands-subagents-control.runtime-CU9SGNdt.js +3 -0
  136. package/dist/commands-subagents-control.runtime-DnTa6bzF.js +2 -0
  137. package/dist/commands-subagents-control.runtime.js +1 -1
  138. package/dist/commands-system-prompt-B1VTjT7j.js +2 -0
  139. package/dist/commands-system-prompt-BpBKEr8Y.js +158 -0
  140. package/dist/commands.runtime-Dpj2M0X6.js +167 -0
  141. package/dist/commands.runtime.js +1 -1
  142. package/dist/compact-CW1IbeBL.js +1118 -0
  143. package/dist/compact.runtime-BML0MjKx.js +12 -0
  144. package/dist/compact.runtime.js +1 -1
  145. package/dist/completion-cli-DfjmvVEd.js +328 -0
  146. package/dist/config-Cs1RBMvI.js +252 -0
  147. package/dist/config-cli-B4sSTkyr.js +1078 -0
  148. package/dist/configure-DR8rchLE.js +1252 -0
  149. package/dist/configure-arK50J-8.js +2 -0
  150. package/dist/connect-options-eEG6omnx.js +699 -0
  151. package/dist/control-auth-D6O4ILiF.js +125 -0
  152. package/dist/control-service-DtnOpS8v.js +156 -0
  153. package/dist/conversation-id-CF4M7Rh_.js +38 -0
  154. package/dist/conversation-id-lrCRurjf.js +235 -0
  155. package/dist/conversation-runtime-CmrgJq5s.js +31 -0
  156. package/dist/core-cFPca6I1.js +275 -0
  157. package/dist/cron-cli-BZw_Pb_X.js +713 -0
  158. package/dist/daemon-cli-CBs3tlnX.js +12 -0
  159. package/dist/dashboard-DOnBYDVr.js +2 -0
  160. package/dist/dashboard-Xsq0BOfY.js +81 -0
  161. package/dist/delegate-YTxameSy.js +64 -0
  162. package/dist/detached-task-runtime-DG_5Cqxs.js +73 -0
  163. package/dist/devices-cli-DkhwpYb8.js +498 -0
  164. package/dist/diagnostics-C_w66y4V.js +154 -0
  165. package/dist/direct-dm-DIod6mar.js +64 -0
  166. package/dist/dispatch-BDQe80zG.js +1131 -0
  167. package/dist/dispatch-acp-jOkMwRPa.js +981 -0
  168. package/dist/dispatch-acp-manager.runtime-Cys6AkDd.js +3 -0
  169. package/dist/dispatch-acp-manager.runtime.js +1 -1
  170. package/dist/dispatch-acp.runtime-BCFY7UOj.js +19 -0
  171. package/dist/dispatch-acp.runtime.js +1 -1
  172. package/dist/doctor-device-pairing-CpGyVqbv.js +307 -0
  173. package/dist/doctor-gateway-daemon-flow-Dt447a03.js +250 -0
  174. package/dist/doctor-gateway-health-BOgr3ZTP.js +63 -0
  175. package/dist/doctor-health-CM9WRrKn.js +59 -0
  176. package/dist/doctor-health-contributions-Dp96BnoL.js +493 -0
  177. package/dist/doctor-prompter-DSrAf0qq.js +56 -0
  178. package/dist/doctor-workspace-status-BcV9YZTP.js +75 -0
  179. package/dist/dreaming-DzWUr8i3.js +1582 -0
  180. package/dist/dreaming-narrative-BFfAvouy.js +596 -0
  181. package/dist/embedded-gateway-stub.runtime-BwG8b1xF.js +9 -0
  182. package/dist/embedded-gateway-stub.runtime.js +1 -1
  183. package/dist/entry.js +2 -2
  184. package/dist/exec-approvals-cli-WT6PMw5I.js +498 -0
  185. package/dist/extensionAPI.js +1 -1
  186. package/dist/extensions/active-memory/index.js +1 -1
  187. package/dist/extensions/bluebubbles/api.js +3 -3
  188. package/dist/extensions/bluebubbles/channel-plugin-api.js +1 -1
  189. package/dist/extensions/browser/browser-bridge.js +1 -1
  190. package/dist/extensions/browser/browser-config.js +4 -4
  191. package/dist/extensions/browser/browser-control-auth.js +2 -2
  192. package/dist/extensions/browser/browser-doctor.js +2 -2
  193. package/dist/extensions/browser/browser-maintenance.js +2 -2
  194. package/dist/extensions/browser/browser-profiles.js +2 -2
  195. package/dist/extensions/browser/browser-runtime-api.js +10 -10
  196. package/dist/extensions/browser/index.js +1 -1
  197. package/dist/extensions/browser/plugin-registration.js +1 -1
  198. package/dist/extensions/browser/register.runtime.js +3 -3
  199. package/dist/extensions/browser/runtime-api.js +11 -11
  200. package/dist/extensions/browser/test-support.js +1 -1
  201. package/dist/extensions/device-pair/api.js +1 -1
  202. package/dist/extensions/device-pair/index.js +3 -3
  203. package/dist/extensions/device-pair/notify.js +1 -1
  204. package/dist/extensions/device-pair/pair-command-approve.js +1 -1
  205. package/dist/extensions/google-meet/index.js +2 -2
  206. package/dist/extensions/imessage/api.js +3 -3
  207. package/dist/extensions/imessage/channel-plugin-api.js +1 -1
  208. package/dist/extensions/imessage/runtime-api.js +3 -3
  209. package/dist/extensions/irc/api.js +2 -2
  210. package/dist/extensions/irc/channel-plugin-api.js +1 -1
  211. package/dist/extensions/line/api.js +2 -2
  212. package/dist/extensions/line/channel-plugin-api.js +1 -1
  213. package/dist/extensions/line/contract-api.js +1 -1
  214. package/dist/extensions/line/runtime-api.js +4 -4
  215. package/dist/extensions/line/setup-api.js +1 -1
  216. package/dist/extensions/llm-task/index.js +2 -2
  217. package/dist/extensions/lobster/index.js +3 -3
  218. package/dist/extensions/lobster/runtime-api.js +1 -1
  219. package/dist/extensions/mattermost/api.js +1 -1
  220. package/dist/extensions/mattermost/channel-plugin-api.js +1 -1
  221. package/dist/extensions/mattermost/channel-plugin-runtime.js +1 -1
  222. package/dist/extensions/mattermost/policy-api.js +1 -1
  223. package/dist/extensions/mattermost/runtime-api.js +4 -4
  224. package/dist/extensions/mattermost/slash-route-api.js +1 -1
  225. package/dist/extensions/memory-core/api.js +1 -1
  226. package/dist/extensions/memory-core/cli-metadata.js +2 -2
  227. package/dist/extensions/memory-core/index.js +3 -3
  228. package/dist/extensions/memory-lancedb/cli-metadata.js +1 -1
  229. package/dist/extensions/msteams/api.js +1 -1
  230. package/dist/extensions/msteams/channel-plugin-api.js +1 -1
  231. package/dist/extensions/msteams/runtime-api.js +3 -3
  232. package/dist/extensions/msteams/test-api.js +1 -1
  233. package/dist/extensions/nextcloud-talk/api.js +1 -1
  234. package/dist/extensions/nextcloud-talk/channel-plugin-api.js +1 -1
  235. package/dist/extensions/nextcloud-talk/runtime-api.js +2 -2
  236. package/dist/extensions/openshell/index.js +2 -2
  237. package/dist/extensions/signal/api.js +6 -6
  238. package/dist/extensions/signal/channel-plugin-api.js +1 -1
  239. package/dist/extensions/signal/reaction-runtime-api.js +1 -1
  240. package/dist/extensions/signal/runtime-api.js +7 -7
  241. package/dist/extensions/skill-workshop/api.js +1 -1
  242. package/dist/extensions/skill-workshop/index.js +1 -1
  243. package/dist/extensions/synology-chat/api.js +1 -1
  244. package/dist/extensions/synology-chat/channel-plugin-api.js +1 -1
  245. package/dist/extensions/tlon/api.js +2 -2
  246. package/dist/extensions/tlon/channel-plugin-api.js +1 -1
  247. package/dist/extensions/tlon/runtime-api.js +1 -1
  248. package/dist/extensions/tlon/test-api.js +1 -1
  249. package/dist/extensions/twitch/api.js +1 -1
  250. package/dist/extensions/twitch/channel-plugin-api.js +1 -1
  251. package/dist/extensions/twitch/setup-plugin-api.js +1 -1
  252. package/dist/extensions/zalo/api.js +3 -3
  253. package/dist/extensions/zalo/channel-plugin-api.js +1 -1
  254. package/dist/extensions/zalo/runtime-api.js +2 -2
  255. package/dist/extensions/zalo/setup-api.js +2 -2
  256. package/dist/extensions/zalouser/api.js +3 -3
  257. package/dist/extensions/zalouser/channel-plugin-api.js +1 -1
  258. package/dist/extensions/zalouser/runtime-api.js +6 -6
  259. package/dist/extensions/zalouser/setup-plugin-api.js +1 -1
  260. package/dist/extensions/zalouser/test-api.js +1 -1
  261. package/dist/fallbacks-BVWn3y-0.js +31 -0
  262. package/dist/fallbacks-Dw_bkoWB.js +2 -0
  263. package/dist/fallbacks-shared-BEsBzsm3.js +111 -0
  264. package/dist/gateway-cli-BUxyZoGn.js +1283 -0
  265. package/dist/gateway-p2LteXL8.js +115 -0
  266. package/dist/gateway-rpc-D8q7ZQDi.js +14 -0
  267. package/dist/gateway-rpc.runtime-D_0TNej1.js +23 -0
  268. package/dist/gateway-rpc.runtime.js +1 -1
  269. package/dist/gateway-runtime-DYUdOqYz.js +15 -0
  270. package/dist/gateway-status-ZBWKhThd.js +584 -0
  271. package/dist/genesis-tools-oUxtX0O2.js +9166 -0
  272. package/dist/genesis-tools.runtime-Cx-FIdJQ.js +2 -0
  273. package/dist/genesis-tools.runtime.js +1 -1
  274. package/dist/get-reply-BPIG7KcY.js +3897 -0
  275. package/dist/get-reply-from-config.runtime-CnHudoiv.js +2 -0
  276. package/dist/get-reply-from-config.runtime.js +1 -1
  277. package/dist/graph-users-DwHoVTRw.js +1337 -0
  278. package/dist/health-B2JkLr-g.js +3 -0
  279. package/dist/health-Db30zfNX.js +469 -0
  280. package/dist/health-route--Oa3RIgW.js +2 -0
  281. package/dist/health-route-CUCmtqv5.js +41 -0
  282. package/dist/heartbeat-runner-BZp7aZ2w.js +5 -0
  283. package/dist/heartbeat-runner-C1VMkjRh.js +1292 -0
  284. package/dist/heartbeat-runner.runtime-ChAITmTa.js +4 -0
  285. package/dist/heartbeat-runner.runtime.js +1 -1
  286. package/dist/hooks-cli-NPBiUXrV.js +433 -0
  287. package/dist/image-fallbacks-CgnkUGl-.js +31 -0
  288. package/dist/image-fallbacks-CkcfrgGr.js +2 -0
  289. package/dist/inbound-reply-dispatch-DatqwKdH.js +73 -0
  290. package/dist/index.js +2 -2
  291. package/dist/infra-runtime-DF5DBM7E.js +39 -0
  292. package/dist/init-H9ZKfvws.js +59 -0
  293. package/dist/library-B7YkN7SI.js +45 -0
  294. package/dist/lifecycle-BclPLGGp.js +229 -0
  295. package/dist/lifecycle-C_3bV3nu.js +571 -0
  296. package/dist/lifecycle.runtime-WNsFm3uq.js +2 -0
  297. package/dist/lifecycle.runtime.js +1 -1
  298. package/dist/list-C4LkHj9E.js +2 -0
  299. package/dist/list-Co85YbCS.js +2 -0
  300. package/dist/list-D8pfqTNx.js +131 -0
  301. package/dist/list-oJMN_3OD.js +1212 -0
  302. package/dist/list.probe-DZjGof7G.js +419 -0
  303. package/dist/llm-slug-generator-knfnn0mT.js +79 -0
  304. package/dist/llm-slug-generator.js +1 -1
  305. package/dist/load-config-BPbDzvCY.js +35 -0
  306. package/dist/local-dispatch.runtime-BtylNF8x.js +8 -0
  307. package/dist/local-dispatch.runtime.js +1 -1
  308. package/dist/logs-cli-BWGb1in_.js +265 -0
  309. package/dist/logs-cli.runtime-DBp3UCcP.js +2 -0
  310. package/dist/logs-cli.runtime.js +1 -1
  311. package/dist/main-session-restart-recovery-BJt-saEI.js +206 -0
  312. package/dist/managed-image-attachments-BuO0SCpc.js +635 -0
  313. package/dist/managed-image-attachments-C4QYz3yC.js +2 -0
  314. package/dist/manager-C0c4DxXa.js +2 -0
  315. package/dist/manager-DmLckyN1.js +2057 -0
  316. package/dist/markdown-to-line-BVs9RDRe.js +790 -0
  317. package/dist/mcp/plugin-tools-serve.js +1 -1
  318. package/dist/mcp-cli-Cq3kJYFy.js +725 -0
  319. package/dist/mcp-http-C8sBBMH1.js +529 -0
  320. package/dist/memory-core-host-runtime-cli-DYW7bPF_.js +9 -0
  321. package/dist/message-Bec0oyM4.js +232 -0
  322. package/dist/message-action-runner-BIvqB_FI.js +2 -0
  323. package/dist/message-action-runner-D66_Fo-V.js +1407 -0
  324. package/dist/message-actions-BJs-Awr8.js +143 -0
  325. package/dist/message.gateway.runtime-BxKiFLPu.js +2 -0
  326. package/dist/message.gateway.runtime.js +1 -1
  327. package/dist/models-auth-status-BKHvtTwP.js +217 -0
  328. package/dist/models-cli-CoqcvJz5.js +271 -0
  329. package/dist/monitor-BO_gZrgs.js +1459 -0
  330. package/dist/monitor-C_4tbG4E.js +671 -0
  331. package/dist/monitor-DVTKLiFb.js +2 -0
  332. package/dist/monitor-P35vmooh.js +1237 -0
  333. package/dist/monitor-auth-DkTEAzy7.js +207 -0
  334. package/dist/monitor-gaiYvZ-I.js +788 -0
  335. package/dist/monitor-processing-BpjusT5o.js +1974 -0
  336. package/dist/monitor-uCqIYno8.js +1661 -0
  337. package/dist/monitor.runtime-CbMSQBgz.js +2 -0
  338. package/dist/monitor.runtime.js +1 -1
  339. package/dist/monitor.webhook-z4zhNHYy.js +180 -0
  340. package/dist/msteams-ChjqyPxy.js +35 -0
  341. package/dist/native-hook-relay-hOpMhOTR.js +519 -0
  342. package/dist/nextcloud-talk-BfJltkau.js +17 -0
  343. package/dist/node-cli-NXEXoWYg.js +2276 -0
  344. package/dist/nodes-cli-Dlq3ORXy.js +1046 -0
  345. package/dist/nodes-utils-o8KC_0Ci.js +84 -0
  346. package/dist/nodes.helpers-B2jPrnEd.js +34 -0
  347. package/dist/notify-VSv6I2dB.js +315 -0
  348. package/dist/onboard-I72X1v1y.js +70 -0
  349. package/dist/onboard-WRT3rbQo.js +2 -0
  350. package/dist/onboard-helpers-BnbqaUN2.js +6 -0
  351. package/dist/onboard-helpers-Kt5u4yMJ.js +204 -0
  352. package/dist/onboard-interactive-CIhTNhiD.js +24 -0
  353. package/dist/onboard-non-interactive-Hk6vLQCB.js +635 -0
  354. package/dist/onboard-remote-CQo_tQNa.js +193 -0
  355. package/dist/onboard-remote-DyRv7tdE.js +2 -0
  356. package/dist/onboard-skills-BRv5-6Ke.js +2 -0
  357. package/dist/onboard-skills-CeXPYTFg.js +134 -0
  358. package/dist/openai-http-kgzRj9Fg.js +500 -0
  359. package/dist/openresponses-http-DnJSiUa4.js +1128 -0
  360. package/dist/operator-approvals-client-B8dLxxFu.js +68 -0
  361. package/dist/outbound.runtime-CDrYtbmY.js +2 -0
  362. package/dist/outbound.runtime.js +1 -1
  363. package/dist/pair-command-approve-CFU4_I15.js +44 -0
  364. package/dist/persistent-bindings.lifecycle-5_yxfyfG.js +85 -0
  365. package/dist/persistent-bindings.lifecycle-DtFnl1yI.js +2 -0
  366. package/dist/pi-embedded-DPKqHoG9.js +2905 -0
  367. package/dist/pi-embedded-YM1PXjPH.js +4 -0
  368. package/dist/pi-embedded.runtime-FRv5dWIr.js +4 -0
  369. package/dist/pi-embedded.runtime.js +1 -1
  370. package/dist/pi-tool-definition-adapter-DAVcmPPg.js +229 -0
  371. package/dist/pi-tools-pgCF9tvm.js +1057 -0
  372. package/dist/pi-tools.before-tool-call-Blvjro7X.js +2 -0
  373. package/dist/pi-tools.before-tool-call-CMEGGnv-.js +433 -0
  374. package/dist/plugin-DoJ_IM72.js +12195 -0
  375. package/dist/plugin-enabled-C9PNEsMB.js +140 -0
  376. package/dist/plugin-registration-CPGTZRDF.js +23 -0
  377. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  378. package/dist/plugin-sdk/acp-binding-runtime.js +1 -1
  379. package/dist/plugin-sdk/acp-runtime.js +2 -2
  380. package/dist/plugin-sdk/agent-harness-runtime.js +5 -5
  381. package/dist/plugin-sdk/agent-harness.js +6 -6
  382. package/dist/plugin-sdk/agent-runtime.js +2 -2
  383. package/dist/plugin-sdk/approval-gateway-runtime.js +2 -2
  384. package/dist/plugin-sdk/approval-handler-runtime.js +3 -3
  385. package/dist/plugin-sdk/approval-runtime.js +1 -1
  386. package/dist/plugin-sdk/browser-node-runtime.js +4 -4
  387. package/dist/plugin-sdk/browser-setup-tools.js +3 -3
  388. package/dist/plugin-sdk/browser-support.js +7 -7
  389. package/dist/plugin-sdk/channel-core.js +2 -2
  390. package/dist/plugin-sdk/channel-inbound.js +2 -2
  391. package/dist/plugin-sdk/command-auth.js +1 -1
  392. package/dist/plugin-sdk/command-status-runtime.js +1 -1
  393. package/dist/plugin-sdk/compat.js +1 -1
  394. package/dist/plugin-sdk/conversation-binding-runtime.js +1 -1
  395. package/dist/plugin-sdk/conversation-runtime.js +3 -3
  396. package/dist/plugin-sdk/core.js +2 -2
  397. package/dist/plugin-sdk/direct-dm.js +1 -1
  398. package/dist/plugin-sdk/gateway-runtime.js +3 -3
  399. package/dist/plugin-sdk/inbound-reply-dispatch.js +1 -1
  400. package/dist/plugin-sdk/index.js +1 -1
  401. package/dist/plugin-sdk/infra-runtime.js +2 -2
  402. package/dist/plugin-sdk/irc.js +2 -2
  403. package/dist/plugin-sdk/matrix.js +1 -1
  404. package/dist/plugin-sdk/memory-core-host-runtime-cli.js +2 -2
  405. package/dist/plugin-sdk/memory-core.js +2 -2
  406. package/dist/plugin-sdk/msteams.js +2 -2
  407. package/dist/plugin-sdk/nextcloud-talk.js +2 -2
  408. package/dist/plugin-sdk/nostr.js +1 -1
  409. package/dist/plugin-sdk/reply-dispatch-runtime.js +1 -1
  410. package/dist/plugin-sdk/reply-runtime.js +4 -4
  411. package/dist/plugin-sdk/runtime-secret-resolution.js +1 -1
  412. package/dist/plugin-sdk/runtime.js +2 -2
  413. package/dist/plugin-sdk/session-visibility.js +1 -1
  414. package/dist/plugin-sdk/testing.js +4 -4
  415. package/dist/plugin-sdk/tlon.js +1 -1
  416. package/dist/plugin-sdk/zalo.js +1 -1
  417. package/dist/plugin-sdk/zalouser.js +1 -1
  418. package/dist/plugin-service-c09KhFRA.js +2893 -0
  419. package/dist/plugins/runtime/index.js +1 -1
  420. package/dist/policy-DxSwu86T.js +328 -0
  421. package/dist/postinstall-inventory.json +414 -414
  422. package/dist/prepare.runtime-BIEQIV8L.js +815 -0
  423. package/dist/prepare.runtime.js +1 -1
  424. package/dist/probe-6HwDlk5s.js +2 -0
  425. package/dist/probe-BbvEHYyJ.js +2 -0
  426. package/dist/probe-COR7fP_v.js +2205 -0
  427. package/dist/probe-DE9JjGqN.js +241 -0
  428. package/dist/probe-DLS0a8fK.js +74 -0
  429. package/dist/probe-D_l_otos.js +45 -0
  430. package/dist/probe-ZtUbt8f-.js +1443 -0
  431. package/dist/program-DfQvGH1d.js +111 -0
  432. package/dist/prompt-select-styled-DM6haaKV.js +20 -0
  433. package/dist/protocol-CqddCqi8.js +2479 -0
  434. package/dist/provider-dispatcher-BR6UQE4t.js +22 -0
  435. package/dist/provider-dispatcher-CbwCRQ43.js +2 -0
  436. package/dist/qr-cli-D51XKVJW.js +349 -0
  437. package/dist/qr-cli-i4TjyLtW.js +2 -0
  438. package/dist/reaction-runtime-api-DDV-gubE.js +116 -0
  439. package/dist/reactions-BvXn-qBP.js +998 -0
  440. package/dist/register-service-commands-B6ZQumi9.js +71 -0
  441. package/dist/register.agent-CtzP54VE.js +248 -0
  442. package/dist/register.configure-BLcph6ME.js +15 -0
  443. package/dist/register.maintenance-CPYg-yEz.js +363 -0
  444. package/dist/register.message-CficlkIg.js +329 -0
  445. package/dist/register.onboard-1xQPe7tH.js +88 -0
  446. package/dist/register.runtime-CCeTiEB_.js +81 -0
  447. package/dist/register.runtime.js +1 -1
  448. package/dist/register.setup-DAoIkDtN.js +150 -0
  449. package/dist/register.status-health-sessions-0WKthgEo.js +1215 -0
  450. package/dist/register.subclis-DLvpHAI3.js +29 -0
  451. package/dist/register.subclis-JxfqEla5.js +3 -0
  452. package/dist/register.subclis-core-DuiCves5.js +249 -0
  453. package/dist/reply-dispatch-runtime-C9_ukgcR.js +13 -0
  454. package/dist/reply-runtime-OPe17s80.js +11 -0
  455. package/dist/reply.runtime-DDlQ67N1.js +2 -0
  456. package/dist/reply.runtime.js +1 -1
  457. package/dist/restart-health-CL-01acN.js +202 -0
  458. package/dist/restart-health-YEV65VfM.js +2 -0
  459. package/dist/root-help-BJQSVoY8.js +44 -0
  460. package/dist/routes-BmkmbLoX.js +3341 -0
  461. package/dist/routes-Bnind2jW.js +2 -0
  462. package/dist/rpc-DY2jvCMf.js +61 -0
  463. package/dist/rpc.runtime-ChyBZELh.js +21 -0
  464. package/dist/rpc.runtime.js +1 -1
  465. package/dist/run-delivery.runtime-Dz-12Zd4.js +530 -0
  466. package/dist/run-delivery.runtime.js +1 -1
  467. package/dist/run-embedded.runtime-BpU5lMNC.js +4 -0
  468. package/dist/run-embedded.runtime.js +1 -1
  469. package/dist/run-execution-cli.runtime-DAFehfXH.js +4 -0
  470. package/dist/run-execution-cli.runtime.js +1 -1
  471. package/dist/run-executor.runtime-rpu8onA8.js +277 -0
  472. package/dist/run-executor.runtime.js +1 -1
  473. package/dist/run-main-C_inhxnF.js +567 -0
  474. package/dist/run-subagent-registry.runtime-B6k7yCGg.js +2 -0
  475. package/dist/run-subagent-registry.runtime.js +1 -1
  476. package/dist/run-wait-CFzlGkj_.js +135 -0
  477. package/dist/runtime-Dhl_rNom.js +9 -0
  478. package/dist/runtime-OHV6waIC.js +973 -0
  479. package/dist/runtime-api-BWNiBA3c.js +9 -0
  480. package/dist/runtime-api-BfIyvgB_.js +14 -0
  481. package/dist/runtime-api-D424hB_J.js +4 -0
  482. package/dist/runtime-api-DtKgDipG.js +9 -0
  483. package/dist/runtime-embedded-pi.runtime-DFWGcHwZ.js +2 -0
  484. package/dist/runtime-embedded-pi.runtime.js +1 -1
  485. package/dist/runtime-internal-CaCnQ02a.js +2 -0
  486. package/dist/runtime-options-D4BvjWB8.js +275 -0
  487. package/dist/runtime-schema-pjSPEOAs.js +28588 -0
  488. package/dist/scan--Q_WB1Hw.js +2 -0
  489. package/dist/scan-B62XQB6F.js +523 -0
  490. package/dist/secrets-cli-BGEY6lbE.js +2101 -0
  491. package/dist/security-cli-Dcjib0xt.js +486 -0
  492. package/dist/selection-DnBlD3ri.js +7764 -0
  493. package/dist/selection-DtFOwoyl.js +2 -0
  494. package/dist/send-DQ2jC-kR.js +156 -0
  495. package/dist/send-DqkSZeSs.js +102 -0
  496. package/dist/send.runtime-np7_gr25.js +2 -0
  497. package/dist/send.runtime.js +1 -1
  498. package/dist/server-CDV_YyCz.js +77 -0
  499. package/dist/server-Dyzhwdln.js +13 -0
  500. package/dist/server-context-C1If0B6s.js +2 -0
  501. package/dist/server-context-DwGUOfrl.js +847 -0
  502. package/dist/server-node-events-DUpSxyRf.js +481 -0
  503. package/dist/server-plugin-bootstrap-CFpMAmvv.js +2 -0
  504. package/dist/server-plugin-bootstrap-D86uxpDr.js +13176 -0
  505. package/dist/server-restart-sentinel-CKsgDiab.js +697 -0
  506. package/dist/server.impl-BYjxobzs.js +12894 -0
  507. package/dist/session-kill-http-phKXyTTy.js +110 -0
  508. package/dist/session-reset-service-CwvaVami.js +497 -0
  509. package/dist/session-route-BTgIfE1c.js +93 -0
  510. package/dist/session-status.runtime-ChCTEeUR.js +2 -0
  511. package/dist/session-status.runtime.js +1 -1
  512. package/dist/session-subagent-reactivation.runtime-BpZtYfkl.js +2 -0
  513. package/dist/session-subagent-reactivation.runtime.js +1 -1
  514. package/dist/session-tab-registry-BqpCfcjM.js +581 -0
  515. package/dist/session-visibility-CedNChjb.js +147 -0
  516. package/dist/sessions-helpers-Drc1RiQe.js +305 -0
  517. package/dist/sessions-history-http-B3R_-kZs.js +383 -0
  518. package/dist/sessions-patch-DxL9yDsS.js +309 -0
  519. package/dist/sessions-resolve-BGCm2THO.js +174 -0
  520. package/dist/sessions.runtime-BiIsLfCP.js +2 -0
  521. package/dist/sessions.runtime.js +1 -1
  522. package/dist/setup-Cz1lcHMi.js +636 -0
  523. package/dist/setup-api-C_6auH7A.js +29 -0
  524. package/dist/setup-core-BcqeRlfc.js +171 -0
  525. package/dist/setup-core-BfpSQ1D1.js +176 -0
  526. package/dist/setup-surface-BI4jBqI52.js +403 -0
  527. package/dist/setup-surface-DIuPs4Hz.js +219 -0
  528. package/dist/setup-surface-ncxzGn0K.js +286 -0
  529. package/dist/setup.finalize-_eGrewCd.js +547 -0
  530. package/dist/setup.gateway-config-mG-DCNXx.js +250 -0
  531. package/dist/shared-BJcmJyRx.js +198 -0
  532. package/dist/shared-C2dlYHIW.js +76 -0
  533. package/dist/shared-C_hL6o63.js +121 -0
  534. package/dist/slash-state-CzVTgrEK.js +1911 -0
  535. package/dist/src-CDovn7A6.js +3974 -0
  536. package/dist/startup-context-Ck87weqi.js +312 -0
  537. package/dist/status-48dYtpoR.js +397 -0
  538. package/dist/status-CE7dpR6j.js +3 -0
  539. package/dist/status-CJoIf5CR.js +209 -0
  540. package/dist/status-D1Biv4_a.js +2 -0
  541. package/dist/status-DGJGZyGO.js +2 -0
  542. package/dist/status-all-2bHb-vgG.js +498 -0
  543. package/dist/status-dw3o_qPe.js +190 -0
  544. package/dist/status-json-Bxacm8Qn.js +14 -0
  545. package/dist/status-json-command-DF2B2_V3.js +84 -0
  546. package/dist/status-runtime-shared-BA95v5iK.js +257 -0
  547. package/dist/status-subagents.runtime-DPc9mqPe.js +18 -0
  548. package/dist/status-subagents.runtime.js +1 -1
  549. package/dist/status-text-BP3KeCtU.js +237 -0
  550. package/dist/status.gateway-connection.runtime-CrsJrehG.js +2 -0
  551. package/dist/status.gateway-connection.runtime.js +1 -1
  552. package/dist/status.gather-BCK6tC0P.js +292 -0
  553. package/dist/status.gather-DW_bdDUs.js +2 -0
  554. package/dist/status.runtime-DWTaiT7K.js +2 -0
  555. package/dist/status.runtime.js +1 -1
  556. package/dist/status.scan-CD7orpWm.js +65 -0
  557. package/dist/status.scan-overview-BnY_9pPZ.js +379 -0
  558. package/dist/status.scan.fast-json-CLKyp_FZ.js +132 -0
  559. package/dist/status.scan.fast-json-D9-5RUQW.js +2 -0
  560. package/dist/status.summary-3kMOvohJ.js +2 -0
  561. package/dist/status.summary-CBGC6YG3.js +214 -0
  562. package/dist/subagent-announce-delivery-DgJVgXOr.js +726 -0
  563. package/dist/subagent-announce-output-CP427cvY.js +364 -0
  564. package/dist/subagent-announce-zjeNVFwd.js +351 -0
  565. package/dist/subagent-control-mN0oIWjm.js +506 -0
  566. package/dist/subagent-followup.runtime-BPQyuQoe.js +68 -0
  567. package/dist/subagent-followup.runtime.js +1 -1
  568. package/dist/subagent-orphan-recovery-BBkBb0Nh.js +305 -0
  569. package/dist/subagent-registry-BZkG7d3G.js +3 -0
  570. package/dist/subagent-registry-C2eAtERw.js +1753 -0
  571. package/dist/subagent-registry.runtime.js +1 -1
  572. package/dist/subagent-spawn-BHDR5zLE.js +1005 -0
  573. package/dist/system-cli-DapxyBIC.js +59 -0
  574. package/dist/targets-gkyN5pq8.js +67 -0
  575. package/dist/task-executor-McS2BJQg.js +360 -0
  576. package/dist/task-owner-access-Cp_o7LQs.js +74 -0
  577. package/dist/task-registry-Bc22zUFJ.js +2366 -0
  578. package/dist/task-registry-delivery-runtime-FGvxeA51.js +3 -0
  579. package/dist/task-registry-delivery-runtime-kjDlxgnl.js +2 -0
  580. package/dist/task-registry.maintenance-CdawPjmw.js +416 -0
  581. package/dist/task-registry.maintenance-D_uzodyG.js +2 -0
  582. package/dist/telegram/token.js +1 -1
  583. package/dist/testing-A7m9v7qS.js +575 -0
  584. package/dist/text-report-CSDchBUA.js +587 -0
  585. package/dist/tool-resolution-CMwLa1lc.js +90 -0
  586. package/dist/tools-effective-inventory-CXM5GV6s.js +152 -0
  587. package/dist/tools-invoke-http-qItYoiC6.js +206 -0
  588. package/dist/trash-B00EIdks.js +24 -0
  589. package/dist/tui-cli-BbHQkFbp.js +4595 -0
  590. package/dist/update-cli-hHkP1wu2.js +1759 -0
  591. package/dist/upgrade-Tmp-2Squ.js +1226 -0
  592. package/dist/video-generation-task-status-BWWBuC1d.js +163 -0
  593. package/dist/wait-for-idle-before-flush-CJcOqYwe.js +5986 -0
  594. package/dist/wizard-models-CsM6dV5g.js +334 -0
  595. package/package.json +1 -1
  596. package/dist/abort-Cngo_sE6.js +0 -201
  597. package/dist/abort.runtime-l03tKy6q.js +0 -2
  598. package/dist/accounts-D5dnjCYz.js +0 -104
  599. package/dist/accounts-DJVB8Dzg.js +0 -107
  600. package/dist/accounts-I2j8KUfU.js +0 -2
  601. package/dist/acp-cli-CVXcm2Uf.js +0 -2217
  602. package/dist/acp-spawn-BF1zb7_s.js +0 -2
  603. package/dist/acp-spawn-CCcWxuoD.js +0 -1093
  604. package/dist/acp-stateful-target-driver-CLTnT3_3.js +0 -89
  605. package/dist/action-agents-hVUqBNdo.js +0 -67
  606. package/dist/action-focus-8xIhNSsO.js +0 -132
  607. package/dist/action-help-BGvrhiaU.js +0 -7
  608. package/dist/action-info-DOI0dCt_.js +0 -101
  609. package/dist/action-kill-KvzLsRue.js +0 -33
  610. package/dist/action-list-L4kdOLkV.js +0 -21
  611. package/dist/action-log-xyFooSSU.js +0 -30
  612. package/dist/action-send-za_v6IfP.js +0 -39
  613. package/dist/action-spawn-CqMlG6rs.js +0 -47
  614. package/dist/action-unfocus-4viCl85L.js +0 -29
  615. package/dist/actions.runtime-BQnRcY0z.js +0 -18
  616. package/dist/actions.runtime-DAsDM3FC.js +0 -5
  617. package/dist/agent-BAcZ_9MS.js +0 -2
  618. package/dist/agent-command-CThfmSfK.js +0 -874
  619. package/dist/agent-harness-runtime-DQWpmoRH.js +0 -144
  620. package/dist/agent-runner-utils-BgI3qeCs.js +0 -239
  621. package/dist/agent-runner.runtime-C-6mqnGR.js +0 -3455
  622. package/dist/agent-runtime-DIWgC8MC.js +0 -18
  623. package/dist/agents-BAWL0dPv.js +0 -5
  624. package/dist/agents-CtrLQf-J.js +0 -954
  625. package/dist/aliases-Cd330u5w.js +0 -2
  626. package/dist/aliases-D9gd4KZs.js +0 -96
  627. package/dist/api-6P3OWTH5.js +0 -5
  628. package/dist/api-DpXopE7P.js +0 -3
  629. package/dist/api-oOooMZhP.js +0 -139
  630. package/dist/approval-gateway-resolver-BjqCdv8k.js +0 -29
  631. package/dist/approval-gateway-runtime-vc_h56PW.js +0 -2
  632. package/dist/approval-handler-runtime-CyvEyKDy.js +0 -439
  633. package/dist/approval-native-runtime-BIKGBkwL.js +0 -729
  634. package/dist/attempt-execution.runtime-CCvoOmmC.js +0 -509
  635. package/dist/attempt.prompt-helpers-BQ-1KYxC.js +0 -221
  636. package/dist/attempt.tool-run-context-Cxbblhky.js +0 -933
  637. package/dist/audit-Bo8UTCyc.js +0 -939
  638. package/dist/audit.runtime-CPxgYz9W.js +0 -7
  639. package/dist/auth-4FzYl8sz.js +0 -550
  640. package/dist/auth-Bj3QjORN.js +0 -2
  641. package/dist/auth-order-BVHFh3Fe.js +0 -139
  642. package/dist/auth-order-CiBq-B8C.js +0 -2
  643. package/dist/bash-tools-Csgatugk.js +0 -3
  644. package/dist/bash-tools-D5Qgrlkj.js +0 -2824
  645. package/dist/binding-routing-Cr2BJdII.js +0 -85
  646. package/dist/binding-targets-Du0vm2-F.js +0 -121
  647. package/dist/bridge-server-Cpvt4nNc.js +0 -113
  648. package/dist/browser-control-auth-DsUqVw9Y.js +0 -2
  649. package/dist/browser-node-runtime-CuGRBA2N.js +0 -12
  650. package/dist/browser-profiles-FqYFsUPt.js +0 -2
  651. package/dist/browser-runtime-C_MYMBwN.js +0 -387
  652. package/dist/browser-setup-tools-75eBLdGG.js +0 -13
  653. package/dist/build--GUIQMqV.js +0 -550
  654. package/dist/call-Cwg6CEat.js +0 -331
  655. package/dist/call-hnk56UiT.js +0 -3
  656. package/dist/call.runtime-C8KSEM5A.js +0 -2
  657. package/dist/capability-cli-ly3sH38y.js +0 -1401
  658. package/dist/catchup-DNRHXY1y.js +0 -300
  659. package/dist/channel-3WhZIXYU.js +0 -1100
  660. package/dist/channel-Ad3bImu-.js +0 -226
  661. package/dist/channel-BNY1gK9J.js +0 -1320
  662. package/dist/channel-BetO9AUJ.js +0 -595
  663. package/dist/channel-C2IaZUYL.js +0 -350
  664. package/dist/channel-C8jmE7N2.js +0 -297
  665. package/dist/channel-CDElDIH4.js +0 -453
  666. package/dist/channel-DHZhJnt4.js +0 -1174
  667. package/dist/channel-DJbljYq-.js +0 -840
  668. package/dist/channel-Dd3R7L4E.js +0 -1802
  669. package/dist/channel-Dpdizjhh.js +0 -491
  670. package/dist/channel-core-ByqezGK-.js +0 -5
  671. package/dist/channel-inbound-CfC-5Hqh.js +0 -31
  672. package/dist/channel-plugin-runtime-B-FoOCHe.js +0 -771
  673. package/dist/channel-runtime-CTz-Npx2.js +0 -425
  674. package/dist/channel.runtime-BO17VYXq.js +0 -430
  675. package/dist/channel.runtime-BOIxt4yC.js +0 -4
  676. package/dist/channel.runtime-BhxyxvkT.js +0 -576
  677. package/dist/channel.runtime-DTqynpub.js +0 -42398
  678. package/dist/channel.runtime-DU698Mtp.js +0 -2364
  679. package/dist/channel.runtime-Dfq_FjtT.js +0 -89
  680. package/dist/channel.setup-Cklnh2gh.js +0 -10
  681. package/dist/channel2.runtime-ClW7cdHK.js +0 -109
  682. package/dist/channels-CP6Kp445.js +0 -733
  683. package/dist/channels-cli-DaJwTe-V.js +0 -268
  684. package/dist/chat-ov9pIV1w.js +0 -2830
  685. package/dist/clawbot-cli-BRy4Hm77.js +0 -9
  686. package/dist/cli-BPwABYWL.js +0 -2
  687. package/dist/cli-BsSw7UYX.js +0 -72
  688. package/dist/cli-DM1LzJBx.js +0 -219
  689. package/dist/cli-DPAPYa_s.js +0 -2
  690. package/dist/cli-runner-END8ND2M.js +0 -286
  691. package/dist/cli-runner.runtime-C69OSvpN.js +0 -4
  692. package/dist/cli-runner.runtime-DZi9acPF.js +0 -3
  693. package/dist/cli.runtime-CAl2BRM8.js +0 -1261
  694. package/dist/client-BtyYQE4I.js +0 -713
  695. package/dist/client-DwOhUvZq.js +0 -138
  696. package/dist/command-auth-BC4dzkDE.js +0 -76
  697. package/dist/command-config-resolution-Bu94VaHH.js +0 -2
  698. package/dist/command-config-resolution-CDIZsyXz.js +0 -23
  699. package/dist/command-config-resolution.runtime-D6U--833.js +0 -2
  700. package/dist/command-registry-CP6Flbyr.js +0 -4
  701. package/dist/command-registry-DyA5n5Y2.js +0 -9
  702. package/dist/command-registry-core-D6wfuVBH.js +0 -106
  703. package/dist/command-secret-gateway-U8oc85O3.js +0 -528
  704. package/dist/command-status.runtime-BlV8RkuN.js +0 -87
  705. package/dist/commands-acp-DogyhRxV.js +0 -77
  706. package/dist/commands-compact.runtime-C9CwEQ9d.js +0 -10
  707. package/dist/commands-handlers.runtime-BKVTB3af.js +0 -4599
  708. package/dist/commands-status-Ck7yAveR.js +0 -16
  709. package/dist/commands-status.runtime-C64rfIgv.js +0 -3
  710. package/dist/commands-subagents-control.runtime-BQ9IJ-PN.js +0 -2
  711. package/dist/commands-subagents-control.runtime-DzuYqXYM.js +0 -3
  712. package/dist/commands-system-prompt-DrO5Ktab.js +0 -158
  713. package/dist/commands-system-prompt-OZnWRUU4.js +0 -2
  714. package/dist/commands.runtime-Cz5m7UHd.js +0 -167
  715. package/dist/compact-Bm6Ue8PM.js +0 -1118
  716. package/dist/compact.runtime-DUnPpPlz.js +0 -12
  717. package/dist/completion-cli-CQV8Edld.js +0 -328
  718. package/dist/config-CvQPjE0Q.js +0 -252
  719. package/dist/config-cli-hPAERXVD.js +0 -1078
  720. package/dist/configure-CNDv9ji5.js +0 -1252
  721. package/dist/configure-Dw-YeOYz.js +0 -2
  722. package/dist/connect-options-5yQEkag7.js +0 -699
  723. package/dist/control-auth-BZ3jwW_b.js +0 -125
  724. package/dist/control-service-CVq5rWGF.js +0 -156
  725. package/dist/conversation-id-B7oXZBrx.js +0 -235
  726. package/dist/conversation-id-DEFcpkdn.js +0 -38
  727. package/dist/conversation-runtime-Di95kTti.js +0 -31
  728. package/dist/core-BbuI1nb2.js +0 -275
  729. package/dist/cron-cli-UIR4I5Eo.js +0 -713
  730. package/dist/daemon-cli-BqTT84vc.js +0 -12
  731. package/dist/dashboard-DORB5lWl.js +0 -81
  732. package/dist/dashboard-iCpchE4h.js +0 -2
  733. package/dist/delegate-DKyLT2Oh.js +0 -64
  734. package/dist/detached-task-runtime-B3Y6ddy3.js +0 -73
  735. package/dist/devices-cli-Cyiv4_7A.js +0 -498
  736. package/dist/diagnostics-BMdHyN8V.js +0 -154
  737. package/dist/direct-dm-CgMzHsLT.js +0 -64
  738. package/dist/dispatch-DIRZA2cy.js +0 -1131
  739. package/dist/dispatch-acp-1zk6S0I_.js +0 -981
  740. package/dist/dispatch-acp-manager.runtime-C7yW8oCJ.js +0 -3
  741. package/dist/dispatch-acp.runtime-CTRthZvU.js +0 -19
  742. package/dist/doctor-device-pairing-CNyJpHYP.js +0 -307
  743. package/dist/doctor-gateway-daemon-flow-BeOcm1lk.js +0 -250
  744. package/dist/doctor-gateway-health-DHGy54St.js +0 -63
  745. package/dist/doctor-health-D8Zx1Kxy.js +0 -59
  746. package/dist/doctor-health-contributions-fMT-eUkx.js +0 -493
  747. package/dist/doctor-prompter-Cr1NyTHN.js +0 -56
  748. package/dist/doctor-workspace-status-af2Bd95y.js +0 -75
  749. package/dist/dreaming-BNV8bPzi.js +0 -1582
  750. package/dist/dreaming-narrative-DrIvIgwX.js +0 -596
  751. package/dist/embedded-gateway-stub.runtime-CB0tG8-G.js +0 -9
  752. package/dist/exec-approvals-cli-1ipccPsH.js +0 -498
  753. package/dist/fallbacks-BZsnJYQ9.js +0 -2
  754. package/dist/fallbacks-DEDU9fM9.js +0 -31
  755. package/dist/fallbacks-shared-Bi9LfHSP.js +0 -111
  756. package/dist/gateway-cli-DhMqYIPl.js +0 -1283
  757. package/dist/gateway-rpc-DPTkm_sv.js +0 -14
  758. package/dist/gateway-rpc.runtime-BVlT2xPp.js +0 -23
  759. package/dist/gateway-runtime-DNBHtXEc.js +0 -15
  760. package/dist/gateway-status-C-vkewIw.js +0 -584
  761. package/dist/gateway-tRBsGvCm.js +0 -115
  762. package/dist/genesis-tools-5NSdlOTl.js +0 -9166
  763. package/dist/genesis-tools.runtime-AZkoDSZn.js +0 -2
  764. package/dist/get-reply-CyMVoBga.js +0 -3897
  765. package/dist/get-reply-from-config.runtime-DWfXY6kp.js +0 -2
  766. package/dist/graph-users-CeE20CJr.js +0 -1337
  767. package/dist/health-C-yFJe9m.js +0 -469
  768. package/dist/health-D5WYplmn.js +0 -3
  769. package/dist/health-route-C_njQhJj.js +0 -41
  770. package/dist/health-route-otTelRS8.js +0 -2
  771. package/dist/heartbeat-runner-9IsW8Xo7.js +0 -1292
  772. package/dist/heartbeat-runner-CUhmhWre.js +0 -5
  773. package/dist/heartbeat-runner.runtime-D-jqThKI.js +0 -4
  774. package/dist/hooks-cli-g0yKwqEG.js +0 -433
  775. package/dist/image-fallbacks-BZBfLjnm.js +0 -2
  776. package/dist/image-fallbacks-DauDOGEM.js +0 -31
  777. package/dist/inbound-reply-dispatch-2dA1_zqi.js +0 -73
  778. package/dist/infra-runtime-B7wP6gFI.js +0 -39
  779. package/dist/init-CbE2VqbJ.js +0 -59
  780. package/dist/library-BPRe1zEN.js +0 -45
  781. package/dist/lifecycle-29UzYVEZ.js +0 -229
  782. package/dist/lifecycle-BCpBPa5D.js +0 -571
  783. package/dist/lifecycle.runtime-3cCF_4AU.js +0 -2
  784. package/dist/list-B9lCYvDl.js +0 -1212
  785. package/dist/list-CV1Woixl.js +0 -2
  786. package/dist/list-D0yDvc4W.js +0 -2
  787. package/dist/list-DKY6QJ2V.js +0 -131
  788. package/dist/list.probe-BXvTngHv.js +0 -419
  789. package/dist/llm-slug-generator-DFEyGish.js +0 -79
  790. package/dist/load-config-Cw7kShkf.js +0 -35
  791. package/dist/local-dispatch.runtime-C8_YEk3p.js +0 -8
  792. package/dist/logs-cli-BrAFUk9w.js +0 -265
  793. package/dist/logs-cli.runtime-CUmu5b1C.js +0 -2
  794. package/dist/main-session-restart-recovery-DsRbypTW.js +0 -206
  795. package/dist/managed-image-attachments-BjaVhVEa.js +0 -2
  796. package/dist/managed-image-attachments-Cqy3EaEE.js +0 -635
  797. package/dist/manager-Cro57kFq.js +0 -2057
  798. package/dist/manager-DzFdCc4J.js +0 -2
  799. package/dist/markdown-to-line-BZuI0r-M.js +0 -790
  800. package/dist/mcp-cli-0WTvaoIg.js +0 -725
  801. package/dist/mcp-http-CeMRRWUu.js +0 -529
  802. package/dist/memory-core-host-runtime-cli-bOlGS396.js +0 -9
  803. package/dist/message-C7RIxkrZ.js +0 -232
  804. package/dist/message-action-runner-a01PfbVY.js +0 -1407
  805. package/dist/message-action-runner-bvmUIIVf.js +0 -2
  806. package/dist/message-actions-DjS0VVCy.js +0 -143
  807. package/dist/message.gateway.runtime-nt-TPAqA.js +0 -2
  808. package/dist/models-auth-status-BS_caq_x.js +0 -217
  809. package/dist/models-cli-DUrC7-c6.js +0 -271
  810. package/dist/monitor-BZNZ1ygG.js +0 -2
  811. package/dist/monitor-BlZsUodW.js +0 -788
  812. package/dist/monitor-CO_t3tSA.js +0 -1237
  813. package/dist/monitor-CexHU09e.js +0 -1661
  814. package/dist/monitor-DBFGvWm8.js +0 -671
  815. package/dist/monitor-auth-WUJo8zX5.js +0 -207
  816. package/dist/monitor-fK0HzOeR.js +0 -1459
  817. package/dist/monitor-processing-v0Oqdm83.js +0 -1974
  818. package/dist/monitor.runtime-B4COiD9M.js +0 -2
  819. package/dist/monitor.webhook-BrXwPWIb.js +0 -180
  820. package/dist/msteams-C0lsusC7.js +0 -35
  821. package/dist/native-hook-relay-DxLDo0kf.js +0 -519
  822. package/dist/nextcloud-talk-CDxdDhEa.js +0 -17
  823. package/dist/node-cli-BNQi7BfE.js +0 -2276
  824. package/dist/nodes-cli-Dfsc0scS.js +0 -1046
  825. package/dist/nodes-utils-CetwNv8w.js +0 -84
  826. package/dist/nodes.helpers-B4Yy3f8X.js +0 -34
  827. package/dist/notify-Bg4ukXOy.js +0 -315
  828. package/dist/onboard-BlzYtu39.js +0 -70
  829. package/dist/onboard-DZqeGCuM.js +0 -2
  830. package/dist/onboard-helpers-CFVEw4kg.js +0 -204
  831. package/dist/onboard-helpers-R0vTUoOE.js +0 -6
  832. package/dist/onboard-interactive-CTiy9p3b.js +0 -24
  833. package/dist/onboard-non-interactive-SC-UFDrb.js +0 -635
  834. package/dist/onboard-remote-0UXttO3s.js +0 -2
  835. package/dist/onboard-remote-BmUiJKba.js +0 -193
  836. package/dist/onboard-skills-855xT260.js +0 -2
  837. package/dist/onboard-skills-CF2ndciI.js +0 -134
  838. package/dist/openai-http-CE7y7YiI.js +0 -500
  839. package/dist/openresponses-http-DK86gsJO.js +0 -1128
  840. package/dist/operator-approvals-client-gp0A73Qi.js +0 -68
  841. package/dist/outbound.runtime-DP8BPmuN.js +0 -2
  842. package/dist/pair-command-approve-BtOQZGwa.js +0 -44
  843. package/dist/persistent-bindings.lifecycle-B0AshYYA.js +0 -2
  844. package/dist/persistent-bindings.lifecycle-DvTYe8mB.js +0 -85
  845. package/dist/pi-embedded-Be4Onpze.js +0 -4
  846. package/dist/pi-embedded-CGy7Dtnw.js +0 -2905
  847. package/dist/pi-embedded.runtime-BWPKSg0B.js +0 -4
  848. package/dist/pi-tool-definition-adapter-Jf9zETiY.js +0 -229
  849. package/dist/pi-tools-BQA19P3-.js +0 -1057
  850. package/dist/pi-tools.before-tool-call-Cz_axNf5.js +0 -2
  851. package/dist/pi-tools.before-tool-call-DCG_FnG8.js +0 -433
  852. package/dist/plugin-PXgxA053.js +0 -12195
  853. package/dist/plugin-enabled-sOFPFfw1.js +0 -140
  854. package/dist/plugin-registration-OrraXjhN.js +0 -23
  855. package/dist/plugin-service-CD-TC2TU.js +0 -2893
  856. package/dist/policy-Bu7soiqW.js +0 -328
  857. package/dist/prepare.runtime-CVPtWq-3.js +0 -815
  858. package/dist/probe--ur8kCb3.js +0 -241
  859. package/dist/probe-Afcq8e2r.js +0 -2
  860. package/dist/probe-B1Dp2K5f.js +0 -74
  861. package/dist/probe-CQxc5e0e.js +0 -1443
  862. package/dist/probe-D7acsevr.js +0 -45
  863. package/dist/probe-DC5E8AK5.js +0 -2
  864. package/dist/probe-HDLJLw4c.js +0 -2205
  865. package/dist/program-CmLQupJ3.js +0 -111
  866. package/dist/prompt-select-styled-DWw74syc.js +0 -20
  867. package/dist/protocol-D2Tvt0kQ.js +0 -2479
  868. package/dist/provider-dispatcher-CLjWHk-J.js +0 -2
  869. package/dist/provider-dispatcher-Cmgqznex.js +0 -22
  870. package/dist/qr-cli-BpSufxl3.js +0 -349
  871. package/dist/qr-cli-CNlU9tQo.js +0 -2
  872. package/dist/reaction-runtime-api-CgscWHaw.js +0 -116
  873. package/dist/reactions-CUuxlTLk.js +0 -998
  874. package/dist/register-service-commands-CVw_0FOU.js +0 -71
  875. package/dist/register.agent-D83zxSDT.js +0 -248
  876. package/dist/register.configure-CHoOiqzO.js +0 -15
  877. package/dist/register.maintenance-CV8Y0-GO.js +0 -363
  878. package/dist/register.message-B0eHsfLQ.js +0 -329
  879. package/dist/register.onboard-CbIO5sFl.js +0 -88
  880. package/dist/register.runtime-DDACHKw5.js +0 -81
  881. package/dist/register.setup-BrDiZ87w.js +0 -150
  882. package/dist/register.status-health-sessions-3PB3gA8Z.js +0 -1215
  883. package/dist/register.subclis-CaXmqTjH.js +0 -3
  884. package/dist/register.subclis-DXHaFVAj.js +0 -29
  885. package/dist/register.subclis-core-oPBkaD2j.js +0 -249
  886. package/dist/reply-dispatch-runtime-s8iIcsY4.js +0 -13
  887. package/dist/reply-runtime-CdbXuP0k.js +0 -11
  888. package/dist/reply.runtime-B8O4Za3t.js +0 -2
  889. package/dist/restart-health-C8OVhvQ6.js +0 -2
  890. package/dist/restart-health-DdG71XEk.js +0 -202
  891. package/dist/root-help-Dat5PidP.js +0 -44
  892. package/dist/routes--OomJzMJ.js +0 -2
  893. package/dist/routes-C9ddA05X.js +0 -3341
  894. package/dist/rpc-hYySaHuW.js +0 -61
  895. package/dist/rpc.runtime-xFzxQvGM.js +0 -21
  896. package/dist/run-delivery.runtime-pD6AAEFj.js +0 -530
  897. package/dist/run-embedded.runtime-BGCrB5dE.js +0 -4
  898. package/dist/run-execution-cli.runtime-Cm0qb1Jx.js +0 -4
  899. package/dist/run-executor.runtime-DmGdXgNE.js +0 -277
  900. package/dist/run-main-BhKIYDDS.js +0 -567
  901. package/dist/run-subagent-registry.runtime-BrCnLsaJ.js +0 -2
  902. package/dist/run-wait-V95b_owe.js +0 -135
  903. package/dist/runtime-BPcw5wKu.js +0 -973
  904. package/dist/runtime-CVtzoEXz.js +0 -9
  905. package/dist/runtime-api-C7SvtCrz.js +0 -4
  906. package/dist/runtime-api-D7kMb4r-.js +0 -9
  907. package/dist/runtime-api-GmwL5agC.js +0 -9
  908. package/dist/runtime-api-NZdHXq65.js +0 -14
  909. package/dist/runtime-embedded-pi.runtime-CiFf7LLh.js +0 -2
  910. package/dist/runtime-internal-9DTzq40y.js +0 -2
  911. package/dist/runtime-options-BABByM27.js +0 -275
  912. package/dist/runtime-schema-CQFcWgw7.js +0 -28588
  913. package/dist/scan-C-7SLtpq.js +0 -523
  914. package/dist/scan-DW5OMHlc.js +0 -2
  915. package/dist/secrets-cli-BWgJDRGu.js +0 -2101
  916. package/dist/security-cli-CVScUBAh.js +0 -486
  917. package/dist/selection-BJhGK0Gg.js +0 -2
  918. package/dist/selection-C8GY4Sin.js +0 -7764
  919. package/dist/send-CH0zRgEY.js +0 -102
  920. package/dist/send-gStK80j4.js +0 -156
  921. package/dist/send.runtime-D5GAmGpy.js +0 -2
  922. package/dist/server-BamjooS9.js +0 -77
  923. package/dist/server-DOlUxe29.js +0 -13
  924. package/dist/server-context-BHGn60Nv.js +0 -2
  925. package/dist/server-context-D0DCL0Yr.js +0 -847
  926. package/dist/server-node-events-CKfJMKY6.js +0 -481
  927. package/dist/server-plugin-bootstrap-CgdqnkvH.js +0 -13176
  928. package/dist/server-plugin-bootstrap-Dqa8MSb3.js +0 -2
  929. package/dist/server-restart-sentinel-D5NKTQlr.js +0 -697
  930. package/dist/server.impl-CaBpcCte.js +0 -12894
  931. package/dist/session-kill-http-Dkyu6aeK.js +0 -110
  932. package/dist/session-reset-service-bUkkZbtS.js +0 -497
  933. package/dist/session-route-osDI35ex.js +0 -93
  934. package/dist/session-status.runtime-XUwfwKYy.js +0 -2
  935. package/dist/session-subagent-reactivation.runtime-DIrxFxhQ.js +0 -2
  936. package/dist/session-tab-registry-DMcC2sO-.js +0 -581
  937. package/dist/session-visibility-BE4lf4vj.js +0 -147
  938. package/dist/sessions-helpers-qYgG99le.js +0 -305
  939. package/dist/sessions-history-http-B6Tw9U6o.js +0 -383
  940. package/dist/sessions-patch-C2VfpT6N.js +0 -309
  941. package/dist/sessions-resolve-Dgj16ung.js +0 -174
  942. package/dist/sessions.runtime-De075L9O.js +0 -2
  943. package/dist/setup-IZ8-o496.js +0 -636
  944. package/dist/setup-api-Brg9D0Et.js +0 -29
  945. package/dist/setup-core-DBNJOXUe.js +0 -176
  946. package/dist/setup-core-YMlDym-t.js +0 -171
  947. package/dist/setup-surface-B8zw_Iry.js +0 -286
  948. package/dist/setup-surface-DiER1ybG2.js +0 -403
  949. package/dist/setup-surface-ZQJE1d97.js +0 -219
  950. package/dist/setup.finalize-DV7-ttFc.js +0 -547
  951. package/dist/setup.gateway-config-CeiELioQ.js +0 -250
  952. package/dist/shared-BddlhgtM.js +0 -198
  953. package/dist/shared-C9Fg93Nk.js +0 -76
  954. package/dist/shared-rY0Q3SUO.js +0 -121
  955. package/dist/slash-state-BXsMm6Ug.js +0 -1911
  956. package/dist/src-2iJPePTa.js +0 -3974
  957. package/dist/startup-context-L7eFlMGe.js +0 -312
  958. package/dist/status-2mHKLi_8.js +0 -2
  959. package/dist/status-4QVSRSC2.js +0 -3
  960. package/dist/status-Bpg8pFBH.js +0 -2
  961. package/dist/status-CYWc74qO.js +0 -397
  962. package/dist/status-EKvbpCYq.js +0 -190
  963. package/dist/status-all-vTJtEeTs.js +0 -498
  964. package/dist/status-json-82GOaBg2.js +0 -14
  965. package/dist/status-json-command-DE1OsrKi.js +0 -84
  966. package/dist/status-okdvu7xW.js +0 -209
  967. package/dist/status-runtime-shared--i8Snuyb.js +0 -257
  968. package/dist/status-subagents.runtime-D9r3_cd8.js +0 -18
  969. package/dist/status-text-Csq9CBHh.js +0 -237
  970. package/dist/status.gateway-connection.runtime-D4Z7cUpS.js +0 -2
  971. package/dist/status.gather-DjPsPYjd.js +0 -2
  972. package/dist/status.gather-GYO4n_GF.js +0 -292
  973. package/dist/status.runtime-BnkekTYc.js +0 -2
  974. package/dist/status.scan-CGZs2gNK.js +0 -65
  975. package/dist/status.scan-overview-CvMmc4_9.js +0 -379
  976. package/dist/status.scan.fast-json-BuLGkMEu.js +0 -132
  977. package/dist/status.scan.fast-json-DbPM0LbX.js +0 -2
  978. package/dist/status.summary-DNjIEj7M.js +0 -214
  979. package/dist/status.summary-thyeq75l.js +0 -2
  980. package/dist/subagent-announce-BXNGQkca.js +0 -351
  981. package/dist/subagent-announce-delivery-CssdaIK0.js +0 -726
  982. package/dist/subagent-announce-output-DK4zF_4-.js +0 -364
  983. package/dist/subagent-control-8V6C3iHm.js +0 -506
  984. package/dist/subagent-followup.runtime-DiBrlbMB.js +0 -68
  985. package/dist/subagent-orphan-recovery-DF-RlZbs.js +0 -305
  986. package/dist/subagent-registry-B7roWOkp.js +0 -1753
  987. package/dist/subagent-registry-C0Vew-3L.js +0 -3
  988. package/dist/subagent-spawn-DO4jFMOF.js +0 -1005
  989. package/dist/system-cli-CxuvHMmE.js +0 -59
  990. package/dist/targets-BrIxxqDm.js +0 -67
  991. package/dist/task-executor-B3GpI_R_.js +0 -360
  992. package/dist/task-owner-access-oQnQP_b3.js +0 -74
  993. package/dist/task-registry-EHbmFqsi.js +0 -2366
  994. package/dist/task-registry-delivery-runtime-DkQoAcL3.js +0 -3
  995. package/dist/task-registry-delivery-runtime-XqEQlx86.js +0 -2
  996. package/dist/task-registry.maintenance-BpI-YUOA.js +0 -2
  997. package/dist/task-registry.maintenance-D6WzGM5R.js +0 -416
  998. package/dist/testing-CY7YdvFP.js +0 -575
  999. package/dist/text-report-Cu-Drg33.js +0 -587
  1000. package/dist/tool-resolution-BIa_L_eS.js +0 -90
  1001. package/dist/tools-effective-inventory-DdF_gXu6.js +0 -152
  1002. package/dist/tools-invoke-http-Dhrho-XH.js +0 -206
  1003. package/dist/trash-DDT5xMIb.js +0 -24
  1004. package/dist/tui-cli-DqAyUsXV.js +0 -4595
  1005. package/dist/update-cli-DzUvmsG8.js +0 -1759
  1006. package/dist/upgrade-CXPGf4xq.js +0 -1226
  1007. package/dist/video-generation-task-status-Ccbv5_ls.js +0 -163
  1008. package/dist/wait-for-idle-before-flush-_1jKR3ID.js +0 -5986
  1009. package/dist/wizard-models-CQwA3L3M.js +0 -334
@@ -0,0 +1,1215 @@
1
+ import { c as normalizeOptionalString } from "./string-coerce-DPP_aYVc.js";
2
+ import { w as setVerbose } from "./logger-BRmjL88V.js";
3
+ import { n as defaultRuntime, r as writeRuntimeJson } from "./runtime-DDkDH9fa.js";
4
+ import { t as formatDocsLink } from "./links-C1-jbHJx.js";
5
+ import { n as isRich, r as theme } from "./theme-DD6pQv2_.js";
6
+ import { n as info$1 } from "./globals-wYf9_gv5.js";
7
+ import { a as loadConfig } from "./io-lNN4Levs.js";
8
+ import { t as sanitizeTerminalText } from "./safe-text-BV3CaaRc.js";
9
+ import "./config-DzozJ_v4.js";
10
+ import { a as resolveSessionFilePathOptions, i as resolveSessionFilePath } from "./paths-CV1IubzZ.js";
11
+ import { i as capEntryCount, o as pruneStaleEntries, r as resolveMaintenanceConfig, t as loadSessionStore } from "./store-load-TVGyCAt9.js";
12
+ import { o as updateSessionStore, u as enforceSessionDiskBudget } from "./store-CqwPVMdE.js";
13
+ import "./sessions-lhISK_V1.js";
14
+ import { D as deleteTaskFlowRecordById, I as resolveTaskFlowForLookupToken, M as getTaskFlowRegistryRestoreFailure, N as listTaskFlowRecords, d as listTasksForFlowId, j as getTaskFlowById, o as getTaskById, w as updateTaskNotifyPolicyById, z as updateFlowRecordByIdExpectedRevision } from "./task-registry-Bc22zUFJ.js";
15
+ import { n as summarizeTaskRecords } from "./task-registry.summary-D2tNVhio.js";
16
+ import "./runtime-internal-CaCnQ02a.js";
17
+ import { c as getFlowTaskSummary, n as cancelFlowById, t as cancelDetachedTaskRunById } from "./task-executor-McS2BJQg.js";
18
+ import { n as runCommandWithRuntime } from "./cli-utils-C80mOHVm.js";
19
+ import { t as formatHelpExamples } from "./help-format-DziqFQ8a.js";
20
+ import { n as parsePositiveIntOrUndefined } from "./helpers-DvwwE5lo.js";
21
+ import { n as healthCommand } from "./health-Db30zfNX.js";
22
+ import { a as formatSessionModelCell, c as resolveSessionDisplayModel, i as formatSessionKeyCell, l as resolveSessionStoreTargetsOrExit, n as formatSessionAgeCell, o as toSessionDisplayRows, r as formatSessionFlagsCell, s as resolveSessionDisplayDefaults, t as sessionsCommand } from "./sessions-JT-vynN4.js";
23
+ import { t as statusCommand } from "./status-48dYtpoR.js";
24
+ import { t as compareTaskAuditFindingSortKeys } from "./task-registry.audit.shared-CFBYY18l.js";
25
+ import { _ as listTaskAuditFindings, a as reconcileInspectableTasks, i as previewTaskRegistryMaintenance, l as runTaskRegistryMaintenance, n as getInspectableTaskRegistrySummary, o as reconcileTaskLookupToken, t as getInspectableTaskAuditSummary, v as summarizeTaskAuditFindings } from "./task-registry.maintenance-CdawPjmw.js";
26
+ import fs from "node:fs";
27
+ //#region src/commands/flows.ts
28
+ const ID_PAD$1 = 10;
29
+ const STATUS_PAD$1 = 10;
30
+ const MODE_PAD = 14;
31
+ const REV_PAD = 6;
32
+ const CTRL_PAD = 20;
33
+ function truncate$1(value, maxChars) {
34
+ if (value.length <= maxChars) return value;
35
+ if (maxChars <= 1) return value.slice(0, maxChars);
36
+ return `${value.slice(0, maxChars - 1)}…`;
37
+ }
38
+ function safeFlowDisplayText(value, maxChars) {
39
+ const sanitized = sanitizeTerminalText(value ?? "").trim();
40
+ if (!sanitized) return "n/a";
41
+ return typeof maxChars === "number" ? truncate$1(sanitized, maxChars) : sanitized;
42
+ }
43
+ function shortToken$1(value, maxChars = ID_PAD$1) {
44
+ const trimmed = normalizeOptionalString(value);
45
+ if (!trimmed) return "n/a";
46
+ return truncate$1(trimmed, maxChars);
47
+ }
48
+ function formatFlowStatusCell(status, rich) {
49
+ const padded = status.padEnd(STATUS_PAD$1);
50
+ if (!rich) return padded;
51
+ if (status === "succeeded") return theme.success(padded);
52
+ if (status === "failed" || status === "lost") return theme.error(padded);
53
+ if (status === "running") return theme.accentBright(padded);
54
+ if (status === "blocked") return theme.warn(padded);
55
+ return theme.muted(padded);
56
+ }
57
+ function formatFlowRows(flows, rich) {
58
+ const header = [
59
+ "TaskFlow".padEnd(ID_PAD$1),
60
+ "Mode".padEnd(MODE_PAD),
61
+ "Status".padEnd(STATUS_PAD$1),
62
+ "Rev".padEnd(REV_PAD),
63
+ "Controller".padEnd(CTRL_PAD),
64
+ "Tasks".padEnd(14),
65
+ "Goal"
66
+ ].join(" ");
67
+ const lines = [rich ? theme.heading(header) : header];
68
+ for (const flow of flows) {
69
+ const taskSummary = getFlowTaskSummary(flow.flowId);
70
+ const counts = `${taskSummary.active} active/${taskSummary.total} total`;
71
+ lines.push([
72
+ shortToken$1(flow.flowId).padEnd(ID_PAD$1),
73
+ flow.syncMode.padEnd(MODE_PAD),
74
+ formatFlowStatusCell(flow.status, rich),
75
+ String(flow.revision).padEnd(REV_PAD),
76
+ safeFlowDisplayText(flow.controllerId, CTRL_PAD).padEnd(CTRL_PAD),
77
+ counts.padEnd(14),
78
+ safeFlowDisplayText(flow.goal, 80)
79
+ ].join(" "));
80
+ }
81
+ return lines;
82
+ }
83
+ function formatFlowListSummary(flows) {
84
+ return `${flows.filter((flow) => flow.status === "queued" || flow.status === "running").length} active · ${flows.filter((flow) => flow.status === "blocked").length} blocked · ${flows.filter((flow) => flow.cancelRequestedAt != null).length} cancel-requested · ${flows.length} total`;
85
+ }
86
+ function summarizeWait(flow) {
87
+ if (flow.waitJson == null) return "n/a";
88
+ if (typeof flow.waitJson === "string" || typeof flow.waitJson === "number" || typeof flow.waitJson === "boolean") return String(flow.waitJson);
89
+ if (Array.isArray(flow.waitJson)) return `array(${flow.waitJson.length})`;
90
+ return Object.keys(flow.waitJson).toSorted().join(", ") || "object";
91
+ }
92
+ function summarizeFlowState(flow) {
93
+ if (flow.status === "blocked") {
94
+ if (flow.blockedSummary) return flow.blockedSummary;
95
+ if (flow.blockedTaskId) return `blocked by ${flow.blockedTaskId}`;
96
+ return "blocked";
97
+ }
98
+ if (flow.status === "waiting" && flow.waitJson != null) return summarizeWait(flow);
99
+ return null;
100
+ }
101
+ async function flowsListCommand(opts, runtime) {
102
+ const statusFilter = opts.status?.trim();
103
+ const flows = listTaskFlowRecords().filter((flow) => {
104
+ if (statusFilter && flow.status !== statusFilter) return false;
105
+ return true;
106
+ });
107
+ if (opts.json) {
108
+ runtime.log(JSON.stringify({
109
+ count: flows.length,
110
+ status: statusFilter ?? null,
111
+ flows: flows.map((flow) => ({
112
+ ...flow,
113
+ tasks: listTasksForFlowId(flow.flowId),
114
+ taskSummary: getFlowTaskSummary(flow.flowId)
115
+ }))
116
+ }, null, 2));
117
+ return;
118
+ }
119
+ runtime.log(info$1(`TaskFlows: ${flows.length}`));
120
+ runtime.log(info$1(`TaskFlow pressure: ${formatFlowListSummary(flows)}`));
121
+ if (statusFilter) runtime.log(info$1(`Status filter: ${statusFilter}`));
122
+ if (flows.length === 0) {
123
+ runtime.log("No TaskFlows found.");
124
+ return;
125
+ }
126
+ const rich = isRich();
127
+ for (const line of formatFlowRows(flows, rich)) runtime.log(line);
128
+ }
129
+ async function flowsShowCommand(opts, runtime) {
130
+ const flow = resolveTaskFlowForLookupToken(opts.lookup);
131
+ if (!flow) {
132
+ runtime.error(`TaskFlow not found: ${opts.lookup}`);
133
+ runtime.exit(1);
134
+ return;
135
+ }
136
+ const tasks = listTasksForFlowId(flow.flowId);
137
+ const taskSummary = getFlowTaskSummary(flow.flowId);
138
+ const stateSummary = summarizeFlowState(flow);
139
+ if (opts.json) {
140
+ runtime.log(JSON.stringify({
141
+ ...flow,
142
+ tasks,
143
+ taskSummary
144
+ }, null, 2));
145
+ return;
146
+ }
147
+ const lines = [
148
+ "TaskFlow:",
149
+ `flowId: ${flow.flowId}`,
150
+ `status: ${flow.status}`,
151
+ `goal: ${safeFlowDisplayText(flow.goal)}`,
152
+ `currentStep: ${safeFlowDisplayText(flow.currentStep)}`,
153
+ `owner: ${safeFlowDisplayText(flow.ownerKey)}`,
154
+ `notify: ${flow.notifyPolicy}`,
155
+ ...stateSummary ? [`state: ${safeFlowDisplayText(stateSummary)}`] : [],
156
+ ...flow.cancelRequestedAt ? [`cancelRequestedAt: ${new Date(flow.cancelRequestedAt).toISOString()}`] : [],
157
+ `createdAt: ${new Date(flow.createdAt).toISOString()}`,
158
+ `updatedAt: ${new Date(flow.updatedAt).toISOString()}`,
159
+ `endedAt: ${flow.endedAt ? new Date(flow.endedAt).toISOString() : "n/a"}`,
160
+ `tasks: ${taskSummary.total} total · ${taskSummary.active} active · ${taskSummary.failures} issues`
161
+ ];
162
+ for (const line of lines) runtime.log(line);
163
+ if (tasks.length === 0) {
164
+ runtime.log("Linked tasks: none");
165
+ return;
166
+ }
167
+ runtime.log("Linked tasks:");
168
+ for (const task of tasks) {
169
+ const safeLabel = safeFlowDisplayText(task.label ?? task.task);
170
+ runtime.log(`- ${task.taskId} ${task.status} ${task.runId ?? "n/a"} ${safeLabel}`);
171
+ }
172
+ }
173
+ async function flowsCancelCommand(opts, runtime) {
174
+ const flow = resolveTaskFlowForLookupToken(opts.lookup);
175
+ if (!flow) {
176
+ runtime.error(`Flow not found: ${opts.lookup}`);
177
+ runtime.exit(1);
178
+ return;
179
+ }
180
+ const result = await cancelFlowById({
181
+ cfg: loadConfig(),
182
+ flowId: flow.flowId
183
+ });
184
+ if (!result.found) {
185
+ runtime.error(result.reason ?? `Flow not found: ${opts.lookup}`);
186
+ runtime.exit(1);
187
+ return;
188
+ }
189
+ if (!result.cancelled) {
190
+ runtime.error(result.reason ?? `Could not cancel TaskFlow: ${opts.lookup}`);
191
+ runtime.exit(1);
192
+ return;
193
+ }
194
+ const updated = getTaskFlowById(flow.flowId) ?? result.flow ?? flow;
195
+ runtime.log(`Cancelled ${updated.flowId} (${updated.syncMode}) with status ${updated.status}.`);
196
+ }
197
+ //#endregion
198
+ //#region src/commands/sessions-cleanup.ts
199
+ const ACTION_PAD = 12;
200
+ function resolveSessionCleanupAction(params) {
201
+ if (params.missingKeys.has(params.key)) return "prune-missing";
202
+ if (params.staleKeys.has(params.key)) return "prune-stale";
203
+ if (params.cappedKeys.has(params.key)) return "cap-overflow";
204
+ if (params.budgetEvictedKeys.has(params.key)) return "evict-budget";
205
+ return "keep";
206
+ }
207
+ function formatCleanupActionCell(action, rich) {
208
+ const label = action.padEnd(ACTION_PAD);
209
+ if (!rich) return label;
210
+ if (action === "keep") return theme.muted(label);
211
+ if (action === "prune-missing") return theme.error(label);
212
+ if (action === "prune-stale") return theme.warn(label);
213
+ if (action === "cap-overflow") return theme.accentBright(label);
214
+ return theme.error(label);
215
+ }
216
+ function buildActionRows(params) {
217
+ return toSessionDisplayRows(params.beforeStore).map((row) => Object.assign({}, row, { action: resolveSessionCleanupAction({
218
+ key: row.key,
219
+ missingKeys: params.missingKeys,
220
+ staleKeys: params.staleKeys,
221
+ cappedKeys: params.cappedKeys,
222
+ budgetEvictedKeys: params.budgetEvictedKeys
223
+ }) }));
224
+ }
225
+ function pruneMissingTranscriptEntries(params) {
226
+ const sessionPathOpts = resolveSessionFilePathOptions({ storePath: params.storePath });
227
+ let removed = 0;
228
+ for (const [key, entry] of Object.entries(params.store)) {
229
+ if (!entry?.sessionId) continue;
230
+ const transcriptPath = resolveSessionFilePath(entry.sessionId, entry, sessionPathOpts);
231
+ if (!fs.existsSync(transcriptPath)) {
232
+ delete params.store[key];
233
+ removed += 1;
234
+ params.onPruned?.(key);
235
+ }
236
+ }
237
+ return removed;
238
+ }
239
+ async function previewStoreCleanup(params) {
240
+ const maintenance = resolveMaintenanceConfig();
241
+ const beforeStore = loadSessionStore(params.target.storePath, { skipCache: true });
242
+ const previewStore = structuredClone(beforeStore);
243
+ const staleKeys = /* @__PURE__ */ new Set();
244
+ const cappedKeys = /* @__PURE__ */ new Set();
245
+ const missingKeys = /* @__PURE__ */ new Set();
246
+ const missing = params.fixMissing === true ? pruneMissingTranscriptEntries({
247
+ store: previewStore,
248
+ storePath: params.target.storePath,
249
+ onPruned: (key) => {
250
+ missingKeys.add(key);
251
+ }
252
+ }) : 0;
253
+ const pruned = pruneStaleEntries(previewStore, maintenance.pruneAfterMs, {
254
+ log: false,
255
+ onPruned: ({ key }) => {
256
+ staleKeys.add(key);
257
+ }
258
+ });
259
+ const capped = capEntryCount(previewStore, maintenance.maxEntries, {
260
+ log: false,
261
+ onCapped: ({ key }) => {
262
+ cappedKeys.add(key);
263
+ }
264
+ });
265
+ const beforeBudgetStore = structuredClone(previewStore);
266
+ const diskBudget = await enforceSessionDiskBudget({
267
+ store: previewStore,
268
+ storePath: params.target.storePath,
269
+ activeSessionKey: params.activeKey,
270
+ maintenance,
271
+ warnOnly: false,
272
+ dryRun: true
273
+ });
274
+ const budgetEvictedKeys = /* @__PURE__ */ new Set();
275
+ for (const key of Object.keys(beforeBudgetStore)) if (!Object.hasOwn(previewStore, key)) budgetEvictedKeys.add(key);
276
+ const beforeCount = Object.keys(beforeStore).length;
277
+ const afterPreviewCount = Object.keys(previewStore).length;
278
+ const wouldMutate = missing > 0 || pruned > 0 || capped > 0 || (diskBudget?.removedEntries ?? 0) > 0 || (diskBudget?.removedFiles ?? 0) > 0;
279
+ return {
280
+ summary: {
281
+ agentId: params.target.agentId,
282
+ storePath: params.target.storePath,
283
+ mode: params.mode,
284
+ dryRun: params.dryRun,
285
+ beforeCount,
286
+ afterCount: afterPreviewCount,
287
+ missing,
288
+ pruned,
289
+ capped,
290
+ diskBudget,
291
+ wouldMutate
292
+ },
293
+ actionRows: buildActionRows({
294
+ beforeStore,
295
+ staleKeys,
296
+ cappedKeys,
297
+ budgetEvictedKeys,
298
+ missingKeys
299
+ })
300
+ };
301
+ }
302
+ function renderStoreDryRunPlan(params) {
303
+ const rich = isRich();
304
+ if (params.showAgentHeader) params.runtime.log(`Agent: ${params.summary.agentId}`);
305
+ params.runtime.log(`Session store: ${params.summary.storePath}`);
306
+ params.runtime.log(`Maintenance mode: ${params.summary.mode}`);
307
+ params.runtime.log(`Entries: ${params.summary.beforeCount} -> ${params.summary.afterCount} (remove ${params.summary.beforeCount - params.summary.afterCount})`);
308
+ params.runtime.log(`Would prune missing transcripts: ${params.summary.missing}`);
309
+ params.runtime.log(`Would prune stale: ${params.summary.pruned}`);
310
+ params.runtime.log(`Would cap overflow: ${params.summary.capped}`);
311
+ if (params.summary.diskBudget) params.runtime.log(`Would enforce disk budget: ${params.summary.diskBudget.totalBytesBefore} -> ${params.summary.diskBudget.totalBytesAfter} bytes (files ${params.summary.diskBudget.removedFiles}, entries ${params.summary.diskBudget.removedEntries})`);
312
+ if (params.actionRows.length === 0) return;
313
+ params.runtime.log("");
314
+ params.runtime.log("Planned session actions:");
315
+ const header = [
316
+ "Action".padEnd(ACTION_PAD),
317
+ "Key".padEnd(26),
318
+ "Age".padEnd(9),
319
+ "Model".padEnd(14),
320
+ "Flags"
321
+ ].join(" ");
322
+ params.runtime.log(rich ? theme.heading(header) : header);
323
+ for (const actionRow of params.actionRows) {
324
+ const model = resolveSessionDisplayModel(params.cfg, actionRow);
325
+ const line = [
326
+ formatCleanupActionCell(actionRow.action, rich),
327
+ formatSessionKeyCell(actionRow.key, rich),
328
+ formatSessionAgeCell(actionRow.updatedAt, rich),
329
+ formatSessionModelCell(model, rich),
330
+ formatSessionFlagsCell(actionRow, rich)
331
+ ].join(" ");
332
+ params.runtime.log(line.trimEnd());
333
+ }
334
+ }
335
+ async function sessionsCleanupCommand(opts, runtime) {
336
+ const cfg = loadConfig();
337
+ const displayDefaults = resolveSessionDisplayDefaults(cfg);
338
+ const mode = opts.enforce ? "enforce" : resolveMaintenanceConfig().mode;
339
+ const targets = resolveSessionStoreTargetsOrExit({
340
+ cfg,
341
+ opts: {
342
+ store: opts.store,
343
+ agent: opts.agent,
344
+ allAgents: opts.allAgents
345
+ },
346
+ runtime
347
+ });
348
+ if (!targets) return;
349
+ const previewResults = [];
350
+ for (const target of targets) {
351
+ const result = await previewStoreCleanup({
352
+ target,
353
+ mode,
354
+ dryRun: Boolean(opts.dryRun),
355
+ activeKey: opts.activeKey,
356
+ fixMissing: Boolean(opts.fixMissing)
357
+ });
358
+ previewResults.push(result);
359
+ }
360
+ if (opts.dryRun) {
361
+ if (opts.json) {
362
+ if (previewResults.length === 1) {
363
+ writeRuntimeJson(runtime, previewResults[0]?.summary ?? {});
364
+ return;
365
+ }
366
+ writeRuntimeJson(runtime, {
367
+ allAgents: true,
368
+ mode,
369
+ dryRun: true,
370
+ stores: previewResults.map((result) => result.summary)
371
+ });
372
+ return;
373
+ }
374
+ for (let i = 0; i < previewResults.length; i += 1) {
375
+ const result = previewResults[i];
376
+ if (i > 0) runtime.log("");
377
+ renderStoreDryRunPlan({
378
+ cfg,
379
+ summary: result.summary,
380
+ actionRows: result.actionRows,
381
+ displayDefaults,
382
+ runtime,
383
+ showAgentHeader: previewResults.length > 1
384
+ });
385
+ }
386
+ return;
387
+ }
388
+ const appliedSummaries = [];
389
+ for (const target of targets) {
390
+ const appliedReportRef = { current: null };
391
+ const missingApplied = await updateSessionStore(target.storePath, async (store) => {
392
+ if (!opts.fixMissing) return 0;
393
+ return pruneMissingTranscriptEntries({
394
+ store,
395
+ storePath: target.storePath
396
+ });
397
+ }, {
398
+ activeSessionKey: opts.activeKey,
399
+ maintenanceOverride: { mode },
400
+ onMaintenanceApplied: (report) => {
401
+ appliedReportRef.current = report;
402
+ }
403
+ });
404
+ const afterStore = loadSessionStore(target.storePath, { skipCache: true });
405
+ const preview = previewResults.find((result) => result.summary.storePath === target.storePath);
406
+ const appliedReport = appliedReportRef.current;
407
+ const summary = appliedReport === null ? {
408
+ ...preview?.summary ?? {
409
+ agentId: target.agentId,
410
+ storePath: target.storePath,
411
+ mode,
412
+ dryRun: false,
413
+ beforeCount: 0,
414
+ afterCount: 0,
415
+ missing: 0,
416
+ pruned: 0,
417
+ capped: 0,
418
+ diskBudget: null,
419
+ wouldMutate: false
420
+ },
421
+ dryRun: false,
422
+ applied: true,
423
+ appliedCount: Object.keys(afterStore).length
424
+ } : {
425
+ agentId: target.agentId,
426
+ storePath: target.storePath,
427
+ mode: appliedReport.mode,
428
+ dryRun: false,
429
+ beforeCount: appliedReport.beforeCount,
430
+ afterCount: appliedReport.afterCount,
431
+ missing: missingApplied,
432
+ pruned: appliedReport.pruned,
433
+ capped: appliedReport.capped,
434
+ diskBudget: appliedReport.diskBudget,
435
+ wouldMutate: missingApplied > 0 || appliedReport.pruned > 0 || appliedReport.capped > 0 || (appliedReport.diskBudget?.removedEntries ?? 0) > 0 || (appliedReport.diskBudget?.removedFiles ?? 0) > 0,
436
+ applied: true,
437
+ appliedCount: Object.keys(afterStore).length
438
+ };
439
+ appliedSummaries.push(summary);
440
+ }
441
+ if (opts.json) {
442
+ if (appliedSummaries.length === 1) {
443
+ writeRuntimeJson(runtime, appliedSummaries[0] ?? {});
444
+ return;
445
+ }
446
+ writeRuntimeJson(runtime, {
447
+ allAgents: true,
448
+ mode,
449
+ dryRun: false,
450
+ stores: appliedSummaries
451
+ });
452
+ return;
453
+ }
454
+ for (let i = 0; i < appliedSummaries.length; i += 1) {
455
+ const summary = appliedSummaries[i];
456
+ if (i > 0) runtime.log("");
457
+ if (appliedSummaries.length > 1) runtime.log(`Agent: ${summary.agentId}`);
458
+ runtime.log(`Session store: ${summary.storePath}`);
459
+ runtime.log(`Applied maintenance. Current entries: ${summary.appliedCount ?? 0}`);
460
+ }
461
+ }
462
+ //#endregion
463
+ //#region src/tasks/task-flow-registry.audit.ts
464
+ const DEFAULT_STALE_RUNNING_MS = 30 * 6e4;
465
+ const DEFAULT_STALE_WAITING_MS = 30 * 6e4;
466
+ const DEFAULT_STALE_BLOCKED_MS = 30 * 6e4;
467
+ const DEFAULT_CANCEL_STUCK_MS = 5 * 6e4;
468
+ function createFinding(params) {
469
+ return {
470
+ severity: params.severity,
471
+ code: params.code,
472
+ detail: params.detail,
473
+ ...typeof params.ageMs === "number" ? { ageMs: params.ageMs } : {},
474
+ ...params.flow ? { flow: params.flow } : {}
475
+ };
476
+ }
477
+ function severityRank(severity) {
478
+ return severity === "error" ? 0 : 1;
479
+ }
480
+ function compareFindings(left, right) {
481
+ const severityDiff = severityRank(left.severity) - severityRank(right.severity);
482
+ if (severityDiff !== 0) return severityDiff;
483
+ const leftAge = left.ageMs ?? -1;
484
+ const rightAge = right.ageMs ?? -1;
485
+ if (leftAge !== rightAge) return rightAge - leftAge;
486
+ return (left.flow?.createdAt ?? 0) - (right.flow?.createdAt ?? 0);
487
+ }
488
+ function getReferenceAt(flow) {
489
+ return flow.updatedAt ?? flow.createdAt;
490
+ }
491
+ function getLinkedTasks(flowId) {
492
+ return listTasksForFlowId(flowId);
493
+ }
494
+ function hasBlockingMetadata(flow) {
495
+ return Boolean(flow.blockedTaskId?.trim() || flow.blockedSummary?.trim() || flow.waitJson != null);
496
+ }
497
+ function findTimestampInconsistency(flow) {
498
+ if (flow.updatedAt < flow.createdAt) return createFinding({
499
+ severity: "warn",
500
+ code: "inconsistent_timestamps",
501
+ flow,
502
+ detail: "updatedAt is earlier than createdAt"
503
+ });
504
+ if (flow.endedAt && flow.endedAt < flow.createdAt) return createFinding({
505
+ severity: "warn",
506
+ code: "inconsistent_timestamps",
507
+ flow,
508
+ detail: "endedAt is earlier than createdAt"
509
+ });
510
+ if (flow.endedAt && flow.endedAt < flow.updatedAt) return createFinding({
511
+ severity: "warn",
512
+ code: "inconsistent_timestamps",
513
+ flow,
514
+ detail: "endedAt is earlier than updatedAt"
515
+ });
516
+ return null;
517
+ }
518
+ function createEmptyTaskFlowAuditSummary() {
519
+ return {
520
+ total: 0,
521
+ warnings: 0,
522
+ errors: 0,
523
+ byCode: {
524
+ restore_failed: 0,
525
+ stale_running: 0,
526
+ stale_waiting: 0,
527
+ stale_blocked: 0,
528
+ cancel_stuck: 0,
529
+ missing_linked_tasks: 0,
530
+ blocked_task_missing: 0,
531
+ inconsistent_timestamps: 0
532
+ }
533
+ };
534
+ }
535
+ function listTaskFlowAuditFindings(options = {}) {
536
+ const flows = options.flows ?? listTaskFlowRecords();
537
+ const now = options.now ?? Date.now();
538
+ const staleRunningMs = options.staleRunningMs ?? DEFAULT_STALE_RUNNING_MS;
539
+ const staleWaitingMs = options.staleWaitingMs ?? DEFAULT_STALE_WAITING_MS;
540
+ const staleBlockedMs = options.staleBlockedMs ?? DEFAULT_STALE_BLOCKED_MS;
541
+ const cancelStuckMs = options.cancelStuckMs ?? DEFAULT_CANCEL_STUCK_MS;
542
+ const findings = [];
543
+ const restoreFailure = getTaskFlowRegistryRestoreFailure();
544
+ if (restoreFailure) findings.push(createFinding({
545
+ severity: "error",
546
+ code: "restore_failed",
547
+ detail: `task-flow registry restore failed: ${restoreFailure}`
548
+ }));
549
+ for (const flow of flows) {
550
+ const referenceAt = getReferenceAt(flow);
551
+ const ageMs = Math.max(0, now - referenceAt);
552
+ const linkedTasks = getLinkedTasks(flow.flowId);
553
+ const activeTasks = linkedTasks.filter((task) => task.status === "queued" || task.status === "running");
554
+ if (flow.status === "running" && ageMs >= staleRunningMs) findings.push(createFinding({
555
+ severity: "error",
556
+ code: "stale_running",
557
+ flow,
558
+ ageMs,
559
+ detail: "running TaskFlow has not advanced recently"
560
+ }));
561
+ if (flow.status === "waiting" && ageMs >= staleWaitingMs) findings.push(createFinding({
562
+ severity: "warn",
563
+ code: "stale_waiting",
564
+ flow,
565
+ ageMs,
566
+ detail: "waiting TaskFlow has not advanced recently"
567
+ }));
568
+ if (flow.status === "blocked" && ageMs >= staleBlockedMs) findings.push(createFinding({
569
+ severity: "warn",
570
+ code: "stale_blocked",
571
+ flow,
572
+ ageMs,
573
+ detail: "blocked TaskFlow has not advanced recently"
574
+ }));
575
+ if (flow.cancelRequestedAt != null && flow.status !== "cancelled" && flow.status !== "failed" && flow.status !== "succeeded" && flow.status !== "lost" && activeTasks.length === 0 && now - flow.cancelRequestedAt >= cancelStuckMs) findings.push(createFinding({
576
+ severity: "warn",
577
+ code: "cancel_stuck",
578
+ flow,
579
+ ageMs: Math.max(0, now - flow.cancelRequestedAt),
580
+ detail: "cancel-requested TaskFlow has no active child tasks but is still nonterminal"
581
+ }));
582
+ if (flow.syncMode === "managed" && (flow.status === "running" || flow.status === "waiting" || flow.status === "blocked") && ageMs >= (flow.status === "running" ? staleRunningMs : flow.status === "waiting" ? staleWaitingMs : staleBlockedMs) && linkedTasks.length === 0 && !hasBlockingMetadata(flow)) findings.push(createFinding({
583
+ severity: flow.status === "running" ? "error" : "warn",
584
+ code: "missing_linked_tasks",
585
+ flow,
586
+ ageMs,
587
+ detail: "managed TaskFlow has no linked tasks or wait state"
588
+ }));
589
+ if (flow.blockedTaskId?.trim()) {
590
+ const blockedTaskId = flow.blockedTaskId.trim();
591
+ if (!linkedTasks.some((task) => task.taskId === blockedTaskId)) findings.push(createFinding({
592
+ severity: "warn",
593
+ code: "blocked_task_missing",
594
+ flow,
595
+ ageMs,
596
+ detail: `blocked TaskFlow points at missing task ${blockedTaskId}`
597
+ }));
598
+ }
599
+ const inconsistency = findTimestampInconsistency(flow);
600
+ if (inconsistency) findings.push(inconsistency);
601
+ }
602
+ return findings.toSorted(compareFindings);
603
+ }
604
+ function summarizeTaskFlowAuditFindings(findings) {
605
+ const summary = createEmptyTaskFlowAuditSummary();
606
+ for (const finding of findings) {
607
+ summary.total += 1;
608
+ summary.byCode[finding.code] += 1;
609
+ if (finding.severity === "error") summary.errors += 1;
610
+ else summary.warnings += 1;
611
+ }
612
+ return summary;
613
+ }
614
+ //#endregion
615
+ //#region src/tasks/task-flow-registry.maintenance.ts
616
+ const TASK_FLOW_RETENTION_MS = 10080 * 6e4;
617
+ function isTerminalFlow(flow) {
618
+ return flow.status === "succeeded" || flow.status === "failed" || flow.status === "cancelled" || flow.status === "lost";
619
+ }
620
+ function hasActiveLinkedTasks(flowId) {
621
+ return listTasksForFlowId(flowId).some((task) => task.status === "queued" || task.status === "running");
622
+ }
623
+ function resolveTerminalAt(flow) {
624
+ return flow.endedAt ?? flow.updatedAt ?? flow.createdAt;
625
+ }
626
+ function shouldPruneFlow(flow, now) {
627
+ if (!isTerminalFlow(flow)) return false;
628
+ if (hasActiveLinkedTasks(flow.flowId)) return false;
629
+ return now - resolveTerminalAt(flow) >= TASK_FLOW_RETENTION_MS;
630
+ }
631
+ function shouldFinalizeCancelledFlow(flow) {
632
+ if (flow.syncMode !== "managed") return false;
633
+ if (flow.cancelRequestedAt == null || isTerminalFlow(flow)) return false;
634
+ return !hasActiveLinkedTasks(flow.flowId);
635
+ }
636
+ function finalizeCancelledFlow(flow, now) {
637
+ let current = flow;
638
+ for (let attempt = 0; attempt < 2; attempt += 1) {
639
+ const endedAt = Math.max(now, current.updatedAt, current.cancelRequestedAt ?? now);
640
+ const result = updateFlowRecordByIdExpectedRevision({
641
+ flowId: current.flowId,
642
+ expectedRevision: current.revision,
643
+ patch: {
644
+ status: "cancelled",
645
+ blockedTaskId: null,
646
+ blockedSummary: null,
647
+ waitJson: null,
648
+ endedAt,
649
+ updatedAt: endedAt
650
+ }
651
+ });
652
+ if (result.applied) return true;
653
+ if (result.reason === "not_found" || !result.current) return false;
654
+ current = result.current;
655
+ if (!shouldFinalizeCancelledFlow(current)) return false;
656
+ }
657
+ return false;
658
+ }
659
+ function getInspectableTaskFlowAuditSummary() {
660
+ return summarizeTaskFlowAuditFindings(listTaskFlowAuditFindings());
661
+ }
662
+ function previewTaskFlowRegistryMaintenance() {
663
+ const now = Date.now();
664
+ let reconciled = 0;
665
+ let pruned = 0;
666
+ for (const flow of listTaskFlowRecords()) {
667
+ if (shouldFinalizeCancelledFlow(flow)) {
668
+ reconciled += 1;
669
+ continue;
670
+ }
671
+ if (shouldPruneFlow(flow, now)) pruned += 1;
672
+ }
673
+ return {
674
+ reconciled,
675
+ pruned
676
+ };
677
+ }
678
+ async function runTaskFlowRegistryMaintenance() {
679
+ const now = Date.now();
680
+ let reconciled = 0;
681
+ let pruned = 0;
682
+ for (const flow of listTaskFlowRecords()) {
683
+ const current = getTaskFlowById(flow.flowId);
684
+ if (!current) continue;
685
+ if (shouldFinalizeCancelledFlow(current)) {
686
+ if (finalizeCancelledFlow(current, now)) reconciled += 1;
687
+ continue;
688
+ }
689
+ if (shouldPruneFlow(current, now) && deleteTaskFlowRecordById(current.flowId)) pruned += 1;
690
+ }
691
+ return {
692
+ reconciled,
693
+ pruned
694
+ };
695
+ }
696
+ //#endregion
697
+ //#region src/commands/tasks.ts
698
+ const RUNTIME_PAD = 8;
699
+ const STATUS_PAD = 10;
700
+ const DELIVERY_PAD = 14;
701
+ const ID_PAD = 10;
702
+ const RUN_PAD = 10;
703
+ const info = theme.info;
704
+ async function loadTaskCancelConfig() {
705
+ const { loadConfig } = await import("./config-lKM-XF4R.js");
706
+ return loadConfig();
707
+ }
708
+ function truncate(value, maxChars) {
709
+ if (value.length <= maxChars) return value;
710
+ if (maxChars <= 1) return value.slice(0, maxChars);
711
+ return `${value.slice(0, maxChars - 1)}…`;
712
+ }
713
+ function shortToken(value, maxChars = ID_PAD) {
714
+ const trimmed = normalizeOptionalString(value);
715
+ if (!trimmed) return "n/a";
716
+ return truncate(trimmed, maxChars);
717
+ }
718
+ function formatTaskStatusCell(status, rich) {
719
+ const padded = status.padEnd(STATUS_PAD);
720
+ if (!rich) return padded;
721
+ if (status === "succeeded") return theme.success(padded);
722
+ if (status === "failed" || status === "lost" || status === "timed_out") return theme.error(padded);
723
+ if (status === "running") return theme.accentBright(padded);
724
+ return theme.muted(padded);
725
+ }
726
+ function formatTaskRows(tasks, rich) {
727
+ const header = [
728
+ "Task".padEnd(ID_PAD),
729
+ "Kind".padEnd(RUNTIME_PAD),
730
+ "Status".padEnd(STATUS_PAD),
731
+ "Delivery".padEnd(DELIVERY_PAD),
732
+ "Run".padEnd(RUN_PAD),
733
+ "Child Session",
734
+ "Summary"
735
+ ].join(" ");
736
+ const lines = [rich ? theme.heading(header) : header];
737
+ for (const task of tasks) {
738
+ const summary = truncate(normalizeOptionalString(task.terminalSummary) || normalizeOptionalString(task.progressSummary) || normalizeOptionalString(task.label) || task.task.trim(), 80);
739
+ const line = [
740
+ shortToken(task.taskId).padEnd(ID_PAD),
741
+ task.runtime.padEnd(RUNTIME_PAD),
742
+ formatTaskStatusCell(task.status, rich),
743
+ task.deliveryStatus.padEnd(DELIVERY_PAD),
744
+ shortToken(task.runId, RUN_PAD).padEnd(RUN_PAD),
745
+ truncate(normalizeOptionalString(task.childSessionKey) || "n/a", 36).padEnd(36),
746
+ summary
747
+ ].join(" ");
748
+ lines.push(line.trimEnd());
749
+ }
750
+ return lines;
751
+ }
752
+ function formatTaskListSummary(tasks) {
753
+ const summary = summarizeTaskRecords(tasks);
754
+ return `${summary.byStatus.queued} queued · ${summary.byStatus.running} running · ${summary.failures} issues`;
755
+ }
756
+ function formatAgeMs(ageMs) {
757
+ if (typeof ageMs !== "number" || ageMs < 1e3) return "fresh";
758
+ const totalSeconds = Math.floor(ageMs / 1e3);
759
+ const days = Math.floor(totalSeconds / 86400);
760
+ const hours = Math.floor(totalSeconds % 86400 / 3600);
761
+ const minutes = Math.floor(totalSeconds % 3600 / 60);
762
+ if (days > 0) return `${days}d${hours}h`;
763
+ if (hours > 0) return `${hours}h${minutes}m`;
764
+ if (minutes > 0) return `${minutes}m`;
765
+ return `${totalSeconds}s`;
766
+ }
767
+ function compareSystemAuditFindings(left, right) {
768
+ return compareTaskAuditFindingSortKeys({
769
+ severity: left.severity,
770
+ ageMs: left.ageMs,
771
+ createdAt: left.task?.createdAt ?? left.flow?.createdAt ?? 0
772
+ }, {
773
+ severity: right.severity,
774
+ ageMs: right.ageMs,
775
+ createdAt: right.task?.createdAt ?? right.flow?.createdAt ?? 0
776
+ });
777
+ }
778
+ function formatAuditRows(findings, rich) {
779
+ const header = [
780
+ "Scope".padEnd(8),
781
+ "Severity".padEnd(8),
782
+ "Code".padEnd(22),
783
+ "Item".padEnd(ID_PAD),
784
+ "Status".padEnd(STATUS_PAD),
785
+ "Age".padEnd(8),
786
+ "Detail"
787
+ ].join(" ");
788
+ const lines = [rich ? theme.heading(header) : header];
789
+ for (const finding of findings) {
790
+ const severity = finding.severity.padEnd(8);
791
+ const status = formatTaskStatusCell(finding.status ?? "n/a", rich);
792
+ const severityCell = !rich ? severity : finding.severity === "error" ? theme.error(severity) : theme.warn(severity);
793
+ const scope = finding.kind === "task" ? "Task" : "TaskFlow";
794
+ lines.push([
795
+ scope.padEnd(8),
796
+ severityCell,
797
+ finding.code.padEnd(22),
798
+ shortToken(finding.token).padEnd(ID_PAD),
799
+ status,
800
+ formatAgeMs(finding.ageMs).padEnd(8),
801
+ truncate(finding.detail, 88)
802
+ ].join(" ").trimEnd());
803
+ }
804
+ return lines;
805
+ }
806
+ function toSystemAuditFindings(params) {
807
+ const taskFindings = listTaskAuditFindings();
808
+ const flowFindings = listTaskFlowAuditFindings();
809
+ const allFindings = [...taskFindings.map((finding) => ({
810
+ kind: "task",
811
+ severity: finding.severity,
812
+ code: finding.code,
813
+ detail: finding.detail,
814
+ ageMs: finding.ageMs,
815
+ status: finding.task.status,
816
+ token: finding.task.taskId,
817
+ task: finding.task
818
+ })), ...flowFindings.map((finding) => ({
819
+ kind: "task_flow",
820
+ severity: finding.severity,
821
+ code: finding.code,
822
+ detail: finding.detail,
823
+ ageMs: finding.ageMs,
824
+ status: finding.flow?.status ?? "n/a",
825
+ token: finding.flow?.flowId,
826
+ ...finding.flow ? { flow: finding.flow } : {}
827
+ }))];
828
+ const filteredFindings = allFindings.filter((finding) => {
829
+ if (params.severityFilter && finding.severity !== params.severityFilter) return false;
830
+ if (params.codeFilter && finding.code !== params.codeFilter) return false;
831
+ return true;
832
+ }).toSorted(compareSystemAuditFindings);
833
+ const sortedAllFindings = [...allFindings].toSorted(compareSystemAuditFindings);
834
+ return {
835
+ allFindings: sortedAllFindings,
836
+ filteredFindings,
837
+ taskFindings,
838
+ flowFindings,
839
+ summary: {
840
+ total: sortedAllFindings.length,
841
+ errors: sortedAllFindings.filter((finding) => finding.severity === "error").length,
842
+ warnings: sortedAllFindings.filter((finding) => finding.severity !== "error").length,
843
+ tasks: summarizeTaskAuditFindings(taskFindings),
844
+ taskFlows: summarizeTaskFlowAuditFindings(flowFindings)
845
+ }
846
+ };
847
+ }
848
+ async function tasksListCommand(opts, runtime) {
849
+ const runtimeFilter = opts.runtime?.trim();
850
+ const statusFilter = opts.status?.trim();
851
+ const tasks = reconcileInspectableTasks().filter((task) => {
852
+ if (runtimeFilter && task.runtime !== runtimeFilter) return false;
853
+ if (statusFilter && task.status !== statusFilter) return false;
854
+ return true;
855
+ });
856
+ if (opts.json) {
857
+ runtime.log(JSON.stringify({
858
+ count: tasks.length,
859
+ runtime: runtimeFilter ?? null,
860
+ status: statusFilter ?? null,
861
+ tasks
862
+ }, null, 2));
863
+ return;
864
+ }
865
+ runtime.log(info(`Background tasks: ${tasks.length}`));
866
+ runtime.log(info(`Task pressure: ${formatTaskListSummary(tasks)}`));
867
+ if (runtimeFilter) runtime.log(info(`Runtime filter: ${runtimeFilter}`));
868
+ if (statusFilter) runtime.log(info(`Status filter: ${statusFilter}`));
869
+ if (tasks.length === 0) {
870
+ runtime.log("No background tasks found.");
871
+ return;
872
+ }
873
+ const rich = isRich();
874
+ for (const line of formatTaskRows(tasks, rich)) runtime.log(line);
875
+ }
876
+ async function tasksShowCommand(opts, runtime) {
877
+ const task = reconcileTaskLookupToken(opts.lookup);
878
+ if (!task) {
879
+ runtime.error(`Task not found: ${opts.lookup}`);
880
+ runtime.exit(1);
881
+ return;
882
+ }
883
+ if (opts.json) {
884
+ runtime.log(JSON.stringify(task, null, 2));
885
+ return;
886
+ }
887
+ const lines = [
888
+ "Background task:",
889
+ `taskId: ${task.taskId}`,
890
+ `kind: ${task.runtime}`,
891
+ `sourceId: ${task.sourceId ?? "n/a"}`,
892
+ `status: ${task.status}`,
893
+ `result: ${task.terminalOutcome ?? "n/a"}`,
894
+ `delivery: ${task.deliveryStatus}`,
895
+ `notify: ${task.notifyPolicy}`,
896
+ `ownerKey: ${task.ownerKey}`,
897
+ `childSessionKey: ${task.childSessionKey ?? "n/a"}`,
898
+ `parentTaskId: ${task.parentTaskId ?? "n/a"}`,
899
+ `agentId: ${task.agentId ?? "n/a"}`,
900
+ `runId: ${task.runId ?? "n/a"}`,
901
+ `label: ${task.label ?? "n/a"}`,
902
+ `task: ${task.task}`,
903
+ `createdAt: ${new Date(task.createdAt).toISOString()}`,
904
+ `startedAt: ${task.startedAt ? new Date(task.startedAt).toISOString() : "n/a"}`,
905
+ `endedAt: ${task.endedAt ? new Date(task.endedAt).toISOString() : "n/a"}`,
906
+ `lastEventAt: ${task.lastEventAt ? new Date(task.lastEventAt).toISOString() : "n/a"}`,
907
+ `cleanupAfter: ${task.cleanupAfter ? new Date(task.cleanupAfter).toISOString() : "n/a"}`,
908
+ ...task.error ? [`error: ${task.error}`] : [],
909
+ ...task.progressSummary ? [`progressSummary: ${task.progressSummary}`] : [],
910
+ ...task.terminalSummary ? [`terminalSummary: ${task.terminalSummary}`] : []
911
+ ];
912
+ for (const line of lines) runtime.log(line);
913
+ }
914
+ async function tasksNotifyCommand(opts, runtime) {
915
+ const task = reconcileTaskLookupToken(opts.lookup);
916
+ if (!task) {
917
+ runtime.error(`Task not found: ${opts.lookup}`);
918
+ runtime.exit(1);
919
+ return;
920
+ }
921
+ const updated = updateTaskNotifyPolicyById({
922
+ taskId: task.taskId,
923
+ notifyPolicy: opts.notify
924
+ });
925
+ if (!updated) {
926
+ runtime.error(`Task not found: ${opts.lookup}`);
927
+ runtime.exit(1);
928
+ return;
929
+ }
930
+ runtime.log(`Updated ${updated.taskId} notify policy to ${updated.notifyPolicy}.`);
931
+ }
932
+ async function tasksCancelCommand(opts, runtime) {
933
+ const task = reconcileTaskLookupToken(opts.lookup);
934
+ if (!task) {
935
+ runtime.error(`Task not found: ${opts.lookup}`);
936
+ runtime.exit(1);
937
+ return;
938
+ }
939
+ const result = await cancelDetachedTaskRunById({
940
+ cfg: await loadTaskCancelConfig(),
941
+ taskId: task.taskId
942
+ });
943
+ if (!result.found) {
944
+ runtime.error(result.reason ?? `Task not found: ${opts.lookup}`);
945
+ runtime.exit(1);
946
+ return;
947
+ }
948
+ if (!result.cancelled) {
949
+ runtime.error(result.reason ?? `Could not cancel task: ${opts.lookup}`);
950
+ runtime.exit(1);
951
+ return;
952
+ }
953
+ const updated = getTaskById(task.taskId);
954
+ runtime.log(`Cancelled ${updated?.taskId ?? task.taskId} (${updated?.runtime ?? task.runtime})${updated?.runId ? ` run ${updated.runId}` : ""}.`);
955
+ }
956
+ async function tasksAuditCommand(opts, runtime) {
957
+ const severityFilter = opts.severity?.trim();
958
+ const codeFilter = opts.code?.trim();
959
+ const { allFindings, filteredFindings, taskFindings, summary } = toSystemAuditFindings({
960
+ severityFilter,
961
+ codeFilter
962
+ });
963
+ const limit = typeof opts.limit === "number" && opts.limit > 0 ? opts.limit : void 0;
964
+ const displayed = limit ? filteredFindings.slice(0, limit) : filteredFindings;
965
+ if (opts.json) {
966
+ const legacySummary = summarizeTaskAuditFindings(taskFindings);
967
+ runtime.log(JSON.stringify({
968
+ count: allFindings.length,
969
+ filteredCount: filteredFindings.length,
970
+ displayed: displayed.length,
971
+ filters: {
972
+ severity: severityFilter ?? null,
973
+ code: codeFilter ?? null,
974
+ limit: limit ?? null
975
+ },
976
+ summary: {
977
+ ...legacySummary,
978
+ taskFlows: summary.taskFlows,
979
+ combined: {
980
+ total: summary.total,
981
+ errors: summary.errors,
982
+ warnings: summary.warnings
983
+ }
984
+ },
985
+ findings: displayed
986
+ }, null, 2));
987
+ return;
988
+ }
989
+ runtime.log(info(`Tasks audit: ${summary.total} findings · ${summary.errors} errors · ${summary.warnings} warnings`));
990
+ if (severityFilter || codeFilter) runtime.log(info(`Showing ${filteredFindings.length} matching findings.`));
991
+ if (severityFilter) runtime.log(info(`Severity filter: ${severityFilter}`));
992
+ if (codeFilter) runtime.log(info(`Code filter: ${codeFilter}`));
993
+ if (limit) runtime.log(info(`Limit: ${limit}`));
994
+ runtime.log(info(`Task findings: ${summary.tasks.total} · TaskFlow findings: ${summary.taskFlows.total}`));
995
+ if (displayed.length === 0) {
996
+ runtime.log("No tasks audit findings.");
997
+ return;
998
+ }
999
+ const rich = isRich();
1000
+ for (const line of formatAuditRows(displayed, rich)) runtime.log(line);
1001
+ }
1002
+ async function tasksMaintenanceCommand(opts, runtime) {
1003
+ const auditBefore = getInspectableTaskAuditSummary();
1004
+ const flowAuditBefore = getInspectableTaskFlowAuditSummary();
1005
+ const taskMaintenance = opts.apply ? await runTaskRegistryMaintenance() : previewTaskRegistryMaintenance();
1006
+ const flowMaintenance = opts.apply ? await runTaskFlowRegistryMaintenance() : previewTaskFlowRegistryMaintenance();
1007
+ const summary = getInspectableTaskRegistrySummary();
1008
+ const auditAfter = opts.apply ? getInspectableTaskAuditSummary() : auditBefore;
1009
+ const flowAuditAfter = opts.apply ? getInspectableTaskFlowAuditSummary() : flowAuditBefore;
1010
+ if (opts.json) {
1011
+ runtime.log(JSON.stringify({
1012
+ mode: opts.apply ? "apply" : "preview",
1013
+ maintenance: {
1014
+ tasks: taskMaintenance,
1015
+ taskFlows: flowMaintenance
1016
+ },
1017
+ tasks: summary,
1018
+ auditBefore: {
1019
+ ...auditBefore,
1020
+ taskFlows: flowAuditBefore
1021
+ },
1022
+ auditAfter: {
1023
+ ...auditAfter,
1024
+ taskFlows: flowAuditAfter
1025
+ }
1026
+ }, null, 2));
1027
+ return;
1028
+ }
1029
+ runtime.log(info(`Tasks maintenance (${opts.apply ? "applied" : "preview"}): tasks ${taskMaintenance.reconciled} reconcile · ${taskMaintenance.recovered} recovered · ${taskMaintenance.cleanupStamped} cleanup stamp · ${taskMaintenance.pruned} prune; task-flows ${flowMaintenance.reconciled} reconcile · ${flowMaintenance.pruned} prune`));
1030
+ runtime.log(info(`${opts.apply ? "Tasks health after apply" : "Tasks health"}: ${summary.byStatus.queued} queued · ${summary.byStatus.running} running · ${auditAfter.errors + flowAuditAfter.errors} audit errors · ${auditAfter.warnings + flowAuditAfter.warnings} audit warnings`));
1031
+ if (opts.apply) runtime.log(info(`Tasks health before apply: ${auditBefore.errors + flowAuditBefore.errors} audit errors · ${auditBefore.warnings + flowAuditBefore.warnings} audit warnings`));
1032
+ if (!opts.apply) runtime.log("Dry run only. Re-run with `genesis tasks maintenance --apply` to write changes.");
1033
+ }
1034
+ //#endregion
1035
+ //#region src/cli/program/register.status-health-sessions.ts
1036
+ function resolveVerbose(opts) {
1037
+ return Boolean(opts.verbose || opts.debug);
1038
+ }
1039
+ function parseTimeoutMs(timeout) {
1040
+ const parsed = parsePositiveIntOrUndefined(timeout);
1041
+ if (timeout !== void 0 && parsed === void 0) {
1042
+ defaultRuntime.error("--timeout must be a positive integer (milliseconds)");
1043
+ defaultRuntime.exit(1);
1044
+ return null;
1045
+ }
1046
+ return parsed;
1047
+ }
1048
+ async function runWithVerboseAndTimeout(opts, action) {
1049
+ const verbose = resolveVerbose(opts);
1050
+ setVerbose(verbose);
1051
+ const timeoutMs = parseTimeoutMs(opts.timeout);
1052
+ if (timeoutMs === null) return;
1053
+ await runCommandWithRuntime(defaultRuntime, async () => {
1054
+ await action({
1055
+ verbose,
1056
+ timeoutMs
1057
+ });
1058
+ });
1059
+ }
1060
+ function registerStatusHealthSessionsCommands(program) {
1061
+ program.command("status").description("Show channel health and recent session recipients").option("--json", "Output JSON instead of text", false).option("--all", "Full diagnosis (read-only, pasteable)", false).option("--usage", "Show model provider usage/quota snapshots", false).option("--deep", "Probe channels (WhatsApp Web + Telegram + Discord + Slack + Signal)", false).option("--timeout <ms>", "Probe timeout in milliseconds", "10000").option("--verbose", "Verbose logging", false).option("--debug", "Alias for --verbose", false).addHelpText("after", () => `\n${theme.heading("Examples:")}\n${formatHelpExamples([
1062
+ ["genesis status", "Show channel health + session summary."],
1063
+ ["genesis status --all", "Full diagnosis (read-only)."],
1064
+ ["genesis status --json", "Machine-readable output."],
1065
+ ["genesis status --usage", "Show model provider usage/quota snapshots."],
1066
+ ["genesis status --deep", "Run channel probes (WA + Telegram + Discord + Slack + Signal)."],
1067
+ ["genesis status --deep --timeout 5000", "Tighten probe timeout."]
1068
+ ])}`).addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/status", "genesis.pixelzx.com/docs/cli/status")}\n`).action(async (opts) => {
1069
+ await runWithVerboseAndTimeout(opts, async ({ verbose, timeoutMs }) => {
1070
+ await statusCommand({
1071
+ json: Boolean(opts.json),
1072
+ all: Boolean(opts.all),
1073
+ deep: Boolean(opts.deep),
1074
+ usage: Boolean(opts.usage),
1075
+ timeoutMs,
1076
+ verbose
1077
+ }, defaultRuntime);
1078
+ });
1079
+ });
1080
+ program.command("health").description("Fetch health from the running gateway").option("--json", "Output JSON instead of text", false).option("--timeout <ms>", "Connection timeout in milliseconds", "10000").option("--verbose", "Verbose logging", false).option("--debug", "Alias for --verbose", false).addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/health", "genesis.pixelzx.com/docs/cli/health")}\n`).action(async (opts) => {
1081
+ await runWithVerboseAndTimeout(opts, async ({ verbose, timeoutMs }) => {
1082
+ await healthCommand({
1083
+ json: Boolean(opts.json),
1084
+ timeoutMs,
1085
+ verbose
1086
+ }, defaultRuntime);
1087
+ });
1088
+ });
1089
+ const sessionsCmd = program.command("sessions").description("List stored conversation sessions").option("--json", "Output as JSON", false).option("--verbose", "Verbose logging", false).option("--store <path>", "Path to session store (default: resolved from config)").option("--agent <id>", "Agent id to inspect (default: configured default agent)").option("--all-agents", "Aggregate sessions across all configured agents", false).option("--active <minutes>", "Only show sessions updated within the past N minutes").addHelpText("after", () => `\n${theme.heading("Examples:")}\n${formatHelpExamples([
1090
+ ["genesis sessions", "List all sessions."],
1091
+ ["genesis sessions --agent work", "List sessions for one agent."],
1092
+ ["genesis sessions --all-agents", "Aggregate sessions across agents."],
1093
+ ["genesis sessions --active 120", "Only last 2 hours."],
1094
+ ["genesis sessions --json", "Machine-readable output."],
1095
+ ["genesis sessions --store ./tmp/sessions.json", "Use a specific session store."]
1096
+ ])}\n\n${theme.muted("Shows token usage per session when the agent reports it; set agents.defaults.contextTokens to cap the window and show %.")}`).addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/sessions", "genesis.pixelzx.com/docs/cli/sessions")}\n`).action(async (opts) => {
1097
+ setVerbose(Boolean(opts.verbose));
1098
+ await sessionsCommand({
1099
+ json: Boolean(opts.json),
1100
+ store: opts.store,
1101
+ agent: opts.agent,
1102
+ allAgents: Boolean(opts.allAgents),
1103
+ active: opts.active
1104
+ }, defaultRuntime);
1105
+ });
1106
+ sessionsCmd.enablePositionalOptions();
1107
+ sessionsCmd.command("cleanup").description("Run session-store maintenance now").option("--store <path>", "Path to session store (default: resolved from config)").option("--agent <id>", "Agent id to maintain (default: configured default agent)").option("--all-agents", "Run maintenance across all configured agents", false).option("--dry-run", "Preview maintenance actions without writing", false).option("--enforce", "Apply maintenance even when configured mode is warn", false).option("--fix-missing", "Remove store entries whose transcript files are missing (bypasses age/count retention)", false).option("--active-key <key>", "Protect this session key from budget-eviction").option("--json", "Output JSON", false).addHelpText("after", () => `\n${theme.heading("Examples:")}\n${formatHelpExamples([
1108
+ ["genesis sessions cleanup --dry-run", "Preview stale/cap cleanup."],
1109
+ ["genesis sessions cleanup --dry-run --fix-missing", "Also preview pruning entries with missing transcript files."],
1110
+ ["genesis sessions cleanup --enforce", "Apply maintenance now."],
1111
+ ["genesis sessions cleanup --agent work --dry-run", "Preview one agent store."],
1112
+ ["genesis sessions cleanup --all-agents --dry-run", "Preview all agent stores."],
1113
+ ["genesis sessions cleanup --enforce --store ./tmp/sessions.json", "Use a specific store."]
1114
+ ])}`).action(async (opts, command) => {
1115
+ const parentOpts = command.parent?.opts();
1116
+ await runCommandWithRuntime(defaultRuntime, async () => {
1117
+ await sessionsCleanupCommand({
1118
+ store: opts.store ?? parentOpts?.store,
1119
+ agent: opts.agent ?? parentOpts?.agent,
1120
+ allAgents: Boolean(opts.allAgents || parentOpts?.allAgents),
1121
+ dryRun: Boolean(opts.dryRun),
1122
+ enforce: Boolean(opts.enforce),
1123
+ fixMissing: Boolean(opts.fixMissing),
1124
+ activeKey: opts.activeKey,
1125
+ json: Boolean(opts.json || parentOpts?.json)
1126
+ }, defaultRuntime);
1127
+ });
1128
+ });
1129
+ const tasksCmd = program.command("tasks").description("Inspect durable background tasks and TaskFlow state").option("--json", "Output as JSON", false).option("--runtime <name>", "Filter by kind (subagent, acp, cron, cli)").option("--status <name>", "Filter by status (queued, running, succeeded, failed, timed_out, cancelled, lost)").action(async (opts) => {
1130
+ await runCommandWithRuntime(defaultRuntime, async () => {
1131
+ await tasksListCommand({
1132
+ json: Boolean(opts.json),
1133
+ runtime: opts.runtime,
1134
+ status: opts.status
1135
+ }, defaultRuntime);
1136
+ });
1137
+ });
1138
+ tasksCmd.enablePositionalOptions();
1139
+ tasksCmd.command("list").description("List tracked background tasks").option("--json", "Output as JSON", false).option("--runtime <name>", "Filter by kind (subagent, acp, cron, cli)").option("--status <name>", "Filter by status (queued, running, succeeded, failed, timed_out, cancelled, lost)").action(async (opts, command) => {
1140
+ const parentOpts = command.parent?.opts();
1141
+ await runCommandWithRuntime(defaultRuntime, async () => {
1142
+ await tasksListCommand({
1143
+ json: Boolean(opts.json || parentOpts?.json),
1144
+ runtime: opts.runtime ?? parentOpts?.runtime,
1145
+ status: opts.status ?? parentOpts?.status
1146
+ }, defaultRuntime);
1147
+ });
1148
+ });
1149
+ tasksCmd.command("audit").description("Show stale or broken background tasks and TaskFlows").option("--json", "Output as JSON", false).option("--severity <level>", "Filter by severity (warn, error)").option("--code <name>", "Filter by finding code (stale_queued, stale_running, lost, delivery_failed, missing_cleanup, inconsistent_timestamps, restore_failed, stale_waiting, stale_blocked, cancel_stuck, missing_linked_tasks, blocked_task_missing)").option("--limit <n>", "Limit displayed findings").action(async (opts, command) => {
1150
+ const parentOpts = command.parent?.opts();
1151
+ await runCommandWithRuntime(defaultRuntime, async () => {
1152
+ await tasksAuditCommand({
1153
+ json: Boolean(opts.json || parentOpts?.json),
1154
+ severity: opts.severity,
1155
+ code: opts.code,
1156
+ limit: parsePositiveIntOrUndefined(opts.limit)
1157
+ }, defaultRuntime);
1158
+ });
1159
+ });
1160
+ tasksCmd.command("maintenance").description("Preview or apply tasks and TaskFlow maintenance").option("--json", "Output as JSON", false).option("--apply", "Apply reconciliation, cleanup stamping, and pruning", false).action(async (opts, command) => {
1161
+ const parentOpts = command.parent?.opts();
1162
+ await runCommandWithRuntime(defaultRuntime, async () => {
1163
+ await tasksMaintenanceCommand({
1164
+ json: Boolean(opts.json || parentOpts?.json),
1165
+ apply: Boolean(opts.apply)
1166
+ }, defaultRuntime);
1167
+ });
1168
+ });
1169
+ tasksCmd.command("show").description("Show one background task by task id, run id, or session key").argument("<lookup>", "Task id, run id, or session key").option("--json", "Output as JSON", false).action(async (lookup, opts, command) => {
1170
+ const parentOpts = command.parent?.opts();
1171
+ await runCommandWithRuntime(defaultRuntime, async () => {
1172
+ await tasksShowCommand({
1173
+ lookup,
1174
+ json: Boolean(opts.json || parentOpts?.json)
1175
+ }, defaultRuntime);
1176
+ });
1177
+ });
1178
+ tasksCmd.command("notify").description("Set task notify policy").argument("<lookup>", "Task id, run id, or session key").argument("<notify>", "Notify policy (done_only, state_changes, silent)").action(async (lookup, notify) => {
1179
+ await runCommandWithRuntime(defaultRuntime, async () => {
1180
+ await tasksNotifyCommand({
1181
+ lookup,
1182
+ notify
1183
+ }, defaultRuntime);
1184
+ });
1185
+ });
1186
+ tasksCmd.command("cancel").description("Cancel a running background task").argument("<lookup>", "Task id, run id, or session key").action(async (lookup) => {
1187
+ await runCommandWithRuntime(defaultRuntime, async () => {
1188
+ await tasksCancelCommand({ lookup }, defaultRuntime);
1189
+ });
1190
+ });
1191
+ const tasksFlowCmd = tasksCmd.command("flow").description("Inspect durable TaskFlow state under tasks");
1192
+ tasksFlowCmd.command("list").description("List tracked TaskFlows").option("--json", "Output as JSON", false).option("--status <name>", "Filter by status (queued, running, waiting, blocked, succeeded, failed, cancelled, lost)").action(async (opts) => {
1193
+ await runCommandWithRuntime(defaultRuntime, async () => {
1194
+ await flowsListCommand({
1195
+ json: Boolean(opts.json),
1196
+ status: opts.status
1197
+ }, defaultRuntime);
1198
+ });
1199
+ });
1200
+ tasksFlowCmd.command("show").description("Show one TaskFlow by flow id or owner key").argument("<lookup>", "Flow id or owner key").option("--json", "Output as JSON", false).action(async (lookup, opts) => {
1201
+ await runCommandWithRuntime(defaultRuntime, async () => {
1202
+ await flowsShowCommand({
1203
+ lookup,
1204
+ json: Boolean(opts.json)
1205
+ }, defaultRuntime);
1206
+ });
1207
+ });
1208
+ tasksFlowCmd.command("cancel").description("Cancel a running TaskFlow").argument("<lookup>", "Flow id or owner key").action(async (lookup) => {
1209
+ await runCommandWithRuntime(defaultRuntime, async () => {
1210
+ await flowsCancelCommand({ lookup }, defaultRuntime);
1211
+ });
1212
+ });
1213
+ }
1214
+ //#endregion
1215
+ export { registerStatusHealthSessionsCommands };