@pixelzx/genesis 2026.5.3-5 → 2026.5.5

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 (996) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/.buildstamp +1 -1
  3. package/dist/abort-t5XiT6Yl.js +201 -0
  4. package/dist/abort.runtime-C_xk0DkL.js +2 -0
  5. package/dist/abort.runtime.js +1 -1
  6. package/dist/accounts-B7yDKwxi.js +104 -0
  7. package/dist/accounts-CS7VL356.js +107 -0
  8. package/dist/accounts-XvHcAtMf.js +2 -0
  9. package/dist/acp-cli-B5H0nvID.js +2193 -0
  10. package/dist/acp-spawn-BRTMqPlq.js +2 -0
  11. package/dist/acp-spawn-Dsw3dzWY.js +1093 -0
  12. package/dist/acp-stateful-target-driver-BYhkJnyh.js +89 -0
  13. package/dist/action-agents-Ca9kTFvv.js +67 -0
  14. package/dist/action-focus-D4pT0hra.js +132 -0
  15. package/dist/action-help-DMzMxFEQ.js +7 -0
  16. package/dist/action-info-Dzn_fn6G.js +101 -0
  17. package/dist/action-kill-2AQuhnLy.js +33 -0
  18. package/dist/action-list-DI1M2pKU.js +21 -0
  19. package/dist/action-log-BVKGgOki.js +30 -0
  20. package/dist/action-send-CZ2wciMW.js +39 -0
  21. package/dist/action-spawn-BdclQLrK.js +47 -0
  22. package/dist/action-unfocus-DfQuRf8d.js +29 -0
  23. package/dist/actions.runtime-B2-oz_B6.js +5 -0
  24. package/dist/actions.runtime-BoUxrcw3.js +18 -0
  25. package/dist/actions.runtime.js +1 -1
  26. package/dist/agent-CnQ3yCIw.js +2 -0
  27. package/dist/agent-command-C4H_9c2N.js +874 -0
  28. package/dist/agent-harness-runtime-D2oXzgyL.js +144 -0
  29. package/dist/agent-runner-utils-CWgPcOYn.js +239 -0
  30. package/dist/agent-runner.runtime-DvK-HQhq.js +3455 -0
  31. package/dist/agent-runner.runtime.js +1 -1
  32. package/dist/agent-runtime-BDslXtCf.js +18 -0
  33. package/dist/agents-4T7YaeKy.js +953 -0
  34. package/dist/agents-C_Gty_RK.js +5 -0
  35. package/dist/aliases-BkVpehd-.js +96 -0
  36. package/dist/aliases-DWkJWJ5A.js +2 -0
  37. package/dist/api-CgW6fcU2.js +3 -0
  38. package/dist/api-DYPaGKUj.js +5 -0
  39. package/dist/api-DdoV90Cn.js +139 -0
  40. package/dist/approval-gateway-resolver-Ba_2kb3B.js +29 -0
  41. package/dist/approval-gateway-runtime-7VMivk0A.js +2 -0
  42. package/dist/approval-handler-runtime-DUDpOwG7.js +439 -0
  43. package/dist/approval-native-runtime-KkmX9gwQ.js +729 -0
  44. package/dist/attempt-execution.runtime-CQkeVpDx.js +509 -0
  45. package/dist/attempt-execution.runtime.js +1 -1
  46. package/dist/attempt.prompt-helpers-MoT6VaD0.js +221 -0
  47. package/dist/attempt.tool-run-context-B53GhX-d.js +933 -0
  48. package/dist/audit-CvHcVVb-.js +939 -0
  49. package/dist/audit.runtime-C7n442Rc.js +7 -0
  50. package/dist/audit.runtime.js +1 -1
  51. package/dist/auth-CAnSldtM.js +2 -0
  52. package/dist/auth-Czf_o5iE.js +383 -0
  53. package/dist/auth-order-Cu9Vj7lA.js +96 -0
  54. package/dist/auth-order-q1IFw7L3.js +2 -0
  55. package/dist/bash-tools-BS4TrA4X.js +2824 -0
  56. package/dist/bash-tools-DbHYuk8O.js +3 -0
  57. package/dist/binding-routing-CnNQE65Q.js +85 -0
  58. package/dist/binding-targets-DW0ScIRI.js +121 -0
  59. package/dist/bridge-server-BGS08n2f.js +113 -0
  60. package/dist/browser-control-auth-DMlQOsyN.js +2 -0
  61. package/dist/browser-node-runtime-CF32scUO.js +12 -0
  62. package/dist/browser-profiles-CmER65eh.js +2 -0
  63. package/dist/browser-runtime-D73M9fg3.js +387 -0
  64. package/dist/browser-setup-tools-Cr0UI1rf.js +13 -0
  65. package/dist/build-BL7WirDF.js +550 -0
  66. package/dist/build-info.json +3 -3
  67. package/dist/bundled/boot-md/handler.js +2 -2
  68. package/dist/bundled/session-memory/handler.js +1 -1
  69. package/dist/call-Ckws4Nlw.js +3 -0
  70. package/dist/call-DkGNVvLy.js +331 -0
  71. package/dist/call.runtime-DfLBtAIr.js +2 -0
  72. package/dist/call.runtime.js +1 -1
  73. package/dist/capability-cli-tSqSJf2o.js +1401 -0
  74. package/dist/catchup-Dp2L1RcY.js +300 -0
  75. package/dist/channel-BIFp1GJd.js +1320 -0
  76. package/dist/channel-BZMzoXhw.js +840 -0
  77. package/dist/channel-BtPZ0i4g.js +297 -0
  78. package/dist/channel-DDd7xwLG.js +226 -0
  79. package/dist/channel-DLezQPqR.js +350 -0
  80. package/dist/channel-DcYHXn_7.js +1100 -0
  81. package/dist/channel-DzKtLfJj.js +1802 -0
  82. package/dist/channel-LlY18tI5.js +595 -0
  83. package/dist/channel-NjZviHcJ.js +1174 -0
  84. package/dist/channel-core-Cg1mFpva.js +5 -0
  85. package/dist/channel-inbound-CZpi-vp5.js +31 -0
  86. package/dist/channel-pDXIWFS4.js +453 -0
  87. package/dist/channel-plugin-runtime-DHl81Ror.js +771 -0
  88. package/dist/channel-runtime-CtYrrwow.js +425 -0
  89. package/dist/channel-wMkGGyIY.js +491 -0
  90. package/dist/channel.runtime-B1n0hvUI.js +430 -0
  91. package/dist/channel.runtime-B9iR26l_.js +576 -0
  92. package/dist/channel.runtime-C8eBQk67.js +4 -0
  93. package/dist/channel.runtime-Db8g8JCg.js +89 -0
  94. package/dist/channel.runtime-DfRfisV2.js +34702 -0
  95. package/dist/channel.runtime-gPdBMu3V.js +109 -0
  96. package/dist/channel.runtime-rG9pJ5NO.js +2364 -0
  97. package/dist/channel.runtime.js +1 -1
  98. package/dist/channel.setup-CWblUOhD.js +10 -0
  99. package/dist/channels-B4dYRKsI.js +733 -0
  100. package/dist/channels-cli-GMAOUYU3.js +268 -0
  101. package/dist/chat-D2XaZNiP.js +2758 -0
  102. package/dist/clawbot-cli-CSmdcIMT.js +9 -0
  103. package/dist/cli/daemon-cli.js +3 -3
  104. package/dist/cli-2u5IZTMS.js +219 -0
  105. package/dist/cli-Bk8uXnyc.js +72 -0
  106. package/dist/cli-DBfw9jCz.js +2 -0
  107. package/dist/cli-runner-BEqvX1ky.js +286 -0
  108. package/dist/cli-runner.runtime-BIUcUGDa.js +4 -0
  109. package/dist/cli-runner.runtime-D2u3Yw0W.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-waH8839u.js +2 -0
  113. package/dist/cli.runtime-mKvJpLwI.js +1261 -0
  114. package/dist/cli.runtime.js +1 -1
  115. package/dist/client-CKizOsGp.js +138 -0
  116. package/dist/client-CrPccv7a.js +713 -0
  117. package/dist/command-auth-DPkjKHdv.js +76 -0
  118. package/dist/command-config-resolution-BTjtnAp2.js +2 -0
  119. package/dist/command-config-resolution-Be3KZA_l.js +23 -0
  120. package/dist/command-config-resolution.runtime-DXgL8cm7.js +2 -0
  121. package/dist/command-config-resolution.runtime.js +1 -1
  122. package/dist/command-registry-BL1Z4Cen.js +4 -0
  123. package/dist/command-registry-BMePAw9w.js +9 -0
  124. package/dist/command-registry-core-CAay55-n.js +104 -0
  125. package/dist/command-secret-gateway-jj1Qmk9L.js +528 -0
  126. package/dist/command-status.runtime-BVcCm9_0.js +87 -0
  127. package/dist/command-status.runtime.js +1 -1
  128. package/dist/commands-acp-COdUW69f.js +77 -0
  129. package/dist/commands-compact.runtime-C0Fedews.js +10 -0
  130. package/dist/commands-compact.runtime.js +1 -1
  131. package/dist/commands-handlers.runtime-BXVM3PWG.js +4597 -0
  132. package/dist/commands-handlers.runtime.js +1 -1
  133. package/dist/commands-status-DaApOLoQ.js +16 -0
  134. package/dist/commands-status.runtime-CxSjrKne.js +3 -0
  135. package/dist/commands-status.runtime.js +1 -1
  136. package/dist/commands-subagents-control.runtime-BEfW44br.js +2 -0
  137. package/dist/commands-subagents-control.runtime-DB3AROHI.js +3 -0
  138. package/dist/commands-subagents-control.runtime.js +1 -1
  139. package/dist/commands-system-prompt-CCrUy7xq.js +158 -0
  140. package/dist/commands-system-prompt-CN56TtaC.js +2 -0
  141. package/dist/commands.runtime-Bee6dM3V.js +166 -0
  142. package/dist/commands.runtime.js +1 -1
  143. package/dist/compact-7YtEe1kG.js +1118 -0
  144. package/dist/compact.runtime-4gW_cs7D.js +12 -0
  145. package/dist/compact.runtime.js +1 -1
  146. package/dist/completion-cli-COv-r8_h.js +313 -0
  147. package/dist/config-DSsLlg8J.js +251 -0
  148. package/dist/config-cli-C9oGe9gl.js +1078 -0
  149. package/dist/configure-Bfy9tVmS.js +2 -0
  150. package/dist/configure-DpIFRaAD.js +1245 -0
  151. package/dist/connect-options-CPixzqP_.js +699 -0
  152. package/dist/control-auth-L7U2ivRJ.js +125 -0
  153. package/dist/control-service-CbUz8qU5.js +156 -0
  154. package/dist/conversation-id-BroDIGeT.js +38 -0
  155. package/dist/conversation-id-CuVi0tWe.js +235 -0
  156. package/dist/conversation-runtime-weaahZQN.js +31 -0
  157. package/dist/core-PXv1nsc-.js +275 -0
  158. package/dist/cron-cli-DZNSQBuA.js +713 -0
  159. package/dist/daemon-cli-C_9CNoZA.js +12 -0
  160. package/dist/delegate-B8wh-jjf.js +64 -0
  161. package/dist/detached-task-runtime-BTq-jIGw.js +73 -0
  162. package/dist/devices-cli-C_amY-AS.js +496 -0
  163. package/dist/diagnostics-Bw-fd0ug.js +154 -0
  164. package/dist/direct-dm-Dvqjch3O.js +64 -0
  165. package/dist/dispatch-DHPQS49Q.js +1131 -0
  166. package/dist/dispatch-acp-manager.runtime-y-oykPUz.js +3 -0
  167. package/dist/dispatch-acp-manager.runtime.js +1 -1
  168. package/dist/dispatch-acp-taSuJD5W.js +981 -0
  169. package/dist/dispatch-acp.runtime-DgyaFFNX.js +19 -0
  170. package/dist/dispatch-acp.runtime.js +1 -1
  171. package/dist/doctor-device-pairing-rxwogzYF.js +307 -0
  172. package/dist/doctor-gateway-daemon-flow-Dm4wxnTt.js +250 -0
  173. package/dist/doctor-gateway-health-wJVW5xUW.js +60 -0
  174. package/dist/doctor-health-DaodspKU.js +59 -0
  175. package/dist/doctor-health-contributions-CBVyN6ju.js +486 -0
  176. package/dist/doctor-prompter-vO6LPeXZ.js +56 -0
  177. package/dist/doctor-workspace-status-BnXA04-6.js +75 -0
  178. package/dist/dreaming-1RLie1iF.js +1574 -0
  179. package/dist/dreaming-narrative-BRtTdpbt.js +595 -0
  180. package/dist/embedded-gateway-stub.runtime-GMix51Tf.js +9 -0
  181. package/dist/embedded-gateway-stub.runtime.js +1 -1
  182. package/dist/entry.js +2 -2
  183. package/dist/exec-approvals-cli-R6jgupQH.js +498 -0
  184. package/dist/extensionAPI.js +1 -1
  185. package/dist/extensions/active-memory/index.js +1 -1
  186. package/dist/extensions/bluebubbles/api.js +3 -3
  187. package/dist/extensions/bluebubbles/channel-plugin-api.js +1 -1
  188. package/dist/extensions/browser/browser-bridge.js +1 -1
  189. package/dist/extensions/browser/browser-config.js +4 -4
  190. package/dist/extensions/browser/browser-control-auth.js +2 -2
  191. package/dist/extensions/browser/browser-doctor.js +2 -2
  192. package/dist/extensions/browser/browser-maintenance.js +2 -2
  193. package/dist/extensions/browser/browser-profiles.js +2 -2
  194. package/dist/extensions/browser/browser-runtime-api.js +10 -10
  195. package/dist/extensions/browser/index.js +1 -1
  196. package/dist/extensions/browser/plugin-registration.js +1 -1
  197. package/dist/extensions/browser/register.runtime.js +3 -3
  198. package/dist/extensions/browser/runtime-api.js +11 -11
  199. package/dist/extensions/browser/test-support.js +1 -1
  200. package/dist/extensions/device-pair/api.js +1 -1
  201. package/dist/extensions/device-pair/index.js +3 -3
  202. package/dist/extensions/device-pair/notify.js +1 -1
  203. package/dist/extensions/device-pair/pair-command-approve.js +1 -1
  204. package/dist/extensions/google-meet/index.js +2 -2
  205. package/dist/extensions/imessage/api.js +3 -3
  206. package/dist/extensions/imessage/channel-plugin-api.js +1 -1
  207. package/dist/extensions/imessage/runtime-api.js +3 -3
  208. package/dist/extensions/irc/api.js +2 -2
  209. package/dist/extensions/irc/channel-plugin-api.js +1 -1
  210. package/dist/extensions/line/api.js +2 -2
  211. package/dist/extensions/line/channel-plugin-api.js +1 -1
  212. package/dist/extensions/line/contract-api.js +1 -1
  213. package/dist/extensions/line/runtime-api.js +4 -4
  214. package/dist/extensions/line/setup-api.js +1 -1
  215. package/dist/extensions/llm-task/index.js +2 -2
  216. package/dist/extensions/lobster/index.js +3 -3
  217. package/dist/extensions/lobster/runtime-api.js +1 -1
  218. package/dist/extensions/mattermost/api.js +1 -1
  219. package/dist/extensions/mattermost/channel-plugin-api.js +1 -1
  220. package/dist/extensions/mattermost/channel-plugin-runtime.js +1 -1
  221. package/dist/extensions/mattermost/policy-api.js +1 -1
  222. package/dist/extensions/mattermost/runtime-api.js +4 -4
  223. package/dist/extensions/mattermost/slash-route-api.js +1 -1
  224. package/dist/extensions/memory-core/api.js +1 -1
  225. package/dist/extensions/memory-core/cli-metadata.js +2 -2
  226. package/dist/extensions/memory-core/index.js +3 -3
  227. package/dist/extensions/memory-lancedb/cli-metadata.js +1 -1
  228. package/dist/extensions/msteams/api.js +1 -1
  229. package/dist/extensions/msteams/channel-plugin-api.js +1 -1
  230. package/dist/extensions/msteams/runtime-api.js +3 -3
  231. package/dist/extensions/msteams/test-api.js +1 -1
  232. package/dist/extensions/nextcloud-talk/api.js +1 -1
  233. package/dist/extensions/nextcloud-talk/channel-plugin-api.js +1 -1
  234. package/dist/extensions/nextcloud-talk/runtime-api.js +2 -2
  235. package/dist/extensions/openshell/index.js +2 -2
  236. package/dist/extensions/signal/api.js +6 -6
  237. package/dist/extensions/signal/channel-plugin-api.js +1 -1
  238. package/dist/extensions/signal/reaction-runtime-api.js +1 -1
  239. package/dist/extensions/signal/runtime-api.js +7 -7
  240. package/dist/extensions/skill-workshop/api.js +1 -1
  241. package/dist/extensions/skill-workshop/index.js +1 -1
  242. package/dist/extensions/synology-chat/api.js +1 -1
  243. package/dist/extensions/synology-chat/channel-plugin-api.js +1 -1
  244. package/dist/extensions/tlon/api.js +2 -2
  245. package/dist/extensions/tlon/channel-plugin-api.js +1 -1
  246. package/dist/extensions/tlon/runtime-api.js +1 -1
  247. package/dist/extensions/tlon/test-api.js +1 -1
  248. package/dist/extensions/twitch/api.js +1 -1
  249. package/dist/extensions/twitch/channel-plugin-api.js +1 -1
  250. package/dist/extensions/twitch/setup-plugin-api.js +1 -1
  251. package/dist/extensions/zalo/api.js +3 -3
  252. package/dist/extensions/zalo/channel-plugin-api.js +1 -1
  253. package/dist/extensions/zalo/runtime-api.js +2 -2
  254. package/dist/extensions/zalo/setup-api.js +2 -2
  255. package/dist/extensions/zalouser/api.js +3 -3
  256. package/dist/extensions/zalouser/channel-plugin-api.js +1 -1
  257. package/dist/extensions/zalouser/runtime-api.js +6 -6
  258. package/dist/extensions/zalouser/setup-plugin-api.js +1 -1
  259. package/dist/extensions/zalouser/test-api.js +1 -1
  260. package/dist/fallbacks-Cckv3nng.js +2 -0
  261. package/dist/fallbacks-Y_nNY8_a.js +31 -0
  262. package/dist/fallbacks-shared-DZiG1Gr_.js +111 -0
  263. package/dist/gateway-CDfn0J87.js +115 -0
  264. package/dist/gateway-cli-D197U6l0.js +1325 -0
  265. package/dist/gateway-rpc-Bomz8HKq.js +14 -0
  266. package/dist/gateway-rpc.runtime-597tksmo.js +23 -0
  267. package/dist/gateway-rpc.runtime.js +1 -1
  268. package/dist/gateway-runtime-Bm2_MhFn.js +15 -0
  269. package/dist/gateway-status-Cr4UJKUx.js +584 -0
  270. package/dist/genesis-tools-DCRaVVjY.js +8999 -0
  271. package/dist/genesis-tools.runtime-idgd5fjy.js +2 -0
  272. package/dist/genesis-tools.runtime.js +1 -1
  273. package/dist/get-reply-BF_7bR5f.js +3879 -0
  274. package/dist/get-reply-from-config.runtime-DEq5XM_s.js +2 -0
  275. package/dist/get-reply-from-config.runtime.js +1 -1
  276. package/dist/graph-users-Bhlw-_4i.js +1337 -0
  277. package/dist/health-9ifMvGZN.js +3 -0
  278. package/dist/health-CzOJa6SX.js +469 -0
  279. package/dist/heartbeat-runner-B2Tkbj5e.js +5 -0
  280. package/dist/heartbeat-runner-B63G8dbO.js +1292 -0
  281. package/dist/heartbeat-runner.runtime-QJ_2AMjN.js +4 -0
  282. package/dist/heartbeat-runner.runtime.js +1 -1
  283. package/dist/hooks-cli-ZWI1iJnh.js +433 -0
  284. package/dist/image-fallbacks-BpTfBvbi.js +2 -0
  285. package/dist/image-fallbacks-DpVwnB41.js +31 -0
  286. package/dist/inbound-reply-dispatch-mKybIcNA.js +73 -0
  287. package/dist/index.js +2 -2
  288. package/dist/infra-runtime-CvwvzUfM.js +39 -0
  289. package/dist/init-CWeM0DfJ.js +59 -0
  290. package/dist/library-ClQalZ3x.js +45 -0
  291. package/dist/lifecycle-CgV7Cgt-.js +571 -0
  292. package/dist/lifecycle-DVWaxj-A.js +229 -0
  293. package/dist/lifecycle.runtime-DErLwVJ_.js +2 -0
  294. package/dist/lifecycle.runtime.js +1 -1
  295. package/dist/list-5RIS3LMG.js +2 -0
  296. package/dist/list-BNesYDN2.js +2 -0
  297. package/dist/list-Dk1hCKis.js +1201 -0
  298. package/dist/list-eUjt_6__.js +131 -0
  299. package/dist/list.probe-C51ceJSY.js +419 -0
  300. package/dist/llm-slug-generator-D64IMUoy.js +79 -0
  301. package/dist/llm-slug-generator.js +1 -1
  302. package/dist/load-config-Ccss2uTi.js +35 -0
  303. package/dist/local-dispatch.runtime-u7Ir1N07.js +8 -0
  304. package/dist/local-dispatch.runtime.js +1 -1
  305. package/dist/logs-cli-BYHTboPa.js +265 -0
  306. package/dist/logs-cli.runtime-CQwNptr-.js +2 -0
  307. package/dist/logs-cli.runtime.js +1 -1
  308. package/dist/main-session-restart-recovery-CA9bvC1W.js +206 -0
  309. package/dist/managed-image-attachments-B_gpkI1u.js +635 -0
  310. package/dist/managed-image-attachments-C0Y6nAP2.js +2 -0
  311. package/dist/manager-DZGFArgz.js +2 -0
  312. package/dist/manager-Df8TC4rX.js +2057 -0
  313. package/dist/markdown-to-line-xXLdnzcE.js +790 -0
  314. package/dist/mcp/plugin-tools-serve.js +1 -1
  315. package/dist/mcp-cli-B50W9Pkc.js +725 -0
  316. package/dist/mcp-http-BiUGVpJ4.js +529 -0
  317. package/dist/memory-core-host-runtime-cli-UgLo6ezC.js +9 -0
  318. package/dist/message-C95gttLd.js +232 -0
  319. package/dist/message-action-runner-0KAp6ccG.js +1407 -0
  320. package/dist/message-action-runner-BSUDvECO.js +2 -0
  321. package/dist/message-actions-Be4Ob151.js +143 -0
  322. package/dist/message.gateway.runtime-DMMRMIln.js +2 -0
  323. package/dist/message.gateway.runtime.js +1 -1
  324. package/dist/models-auth-status-DhYxBz7G.js +201 -0
  325. package/dist/models-cli-C2prinXb.js +219 -0
  326. package/dist/monitor-BEI21vNQ.js +1661 -0
  327. package/dist/monitor-BUgTAJvZ.js +1237 -0
  328. package/dist/monitor-BdJRIhi1.js +2 -0
  329. package/dist/monitor-C7wuttQJ.js +1459 -0
  330. package/dist/monitor-DMumiWnt.js +788 -0
  331. package/dist/monitor-IQo2ExmV.js +671 -0
  332. package/dist/monitor-auth-DW0lvfm3.js +207 -0
  333. package/dist/monitor-processing-DTrsRdyz.js +1974 -0
  334. package/dist/monitor.runtime-DwqyCQcb.js +2 -0
  335. package/dist/monitor.runtime.js +1 -1
  336. package/dist/monitor.webhook-D11nrUh9.js +180 -0
  337. package/dist/msteams-DO-PW98M.js +35 -0
  338. package/dist/native-hook-relay-CNZrcPIw.js +519 -0
  339. package/dist/nextcloud-talk-BeYFnATY.js +17 -0
  340. package/dist/node-cli-BFrdTPdH.js +2506 -0
  341. package/dist/nodes-cli-B3Wj_MvP.js +1046 -0
  342. package/dist/nodes-utils-AsgrCa7K.js +84 -0
  343. package/dist/nodes.helpers-CMXxavTs.js +34 -0
  344. package/dist/notify-CNS0kRWM.js +315 -0
  345. package/dist/onboard-D4ehf66t.js +632 -0
  346. package/dist/onboard-helpers-DWxdMyCs.js +6 -0
  347. package/dist/onboard-helpers-o78s0lR1.js +204 -0
  348. package/dist/onboard-remote-Cc1XlRzr.js +193 -0
  349. package/dist/onboard-remote-D8THwo3P.js +2 -0
  350. package/dist/onboard-skills-B2VoCq7v.js +134 -0
  351. package/dist/onboard-skills-DtOgSJZo.js +2 -0
  352. package/dist/openai-http-DKQZWsqY.js +500 -0
  353. package/dist/openresponses-http-C4kol41X.js +1128 -0
  354. package/dist/operator-approvals-client-BoN_VmkB.js +68 -0
  355. package/dist/outbound.runtime-D-L8FN8E.js +2 -0
  356. package/dist/outbound.runtime.js +1 -1
  357. package/dist/pair-command-approve-DMeQ6uD4.js +44 -0
  358. package/dist/persistent-bindings.lifecycle-O-RnoTW4.js +2 -0
  359. package/dist/persistent-bindings.lifecycle-bptWQEFT.js +85 -0
  360. package/dist/pi-embedded-BM79sXqb.js +2905 -0
  361. package/dist/pi-embedded-BUDWcDt8.js +4 -0
  362. package/dist/pi-embedded.runtime-D53bCPOr.js +4 -0
  363. package/dist/pi-embedded.runtime.js +1 -1
  364. package/dist/pi-tool-definition-adapter-DdYQtumi.js +217 -0
  365. package/dist/pi-tools-ihbjTP0K.js +1057 -0
  366. package/dist/pi-tools.before-tool-call-DrEqr96j.js +433 -0
  367. package/dist/pi-tools.before-tool-call-VB9YEPOv.js +2 -0
  368. package/dist/plugin-DwNULpmw.js +12195 -0
  369. package/dist/plugin-enabled-DbO9GyRJ.js +140 -0
  370. package/dist/plugin-registration-Du6hgUkp.js +23 -0
  371. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  372. package/dist/plugin-sdk/acp-binding-runtime.js +1 -1
  373. package/dist/plugin-sdk/acp-runtime.js +2 -2
  374. package/dist/plugin-sdk/agent-harness-runtime.js +5 -5
  375. package/dist/plugin-sdk/agent-harness.js +6 -6
  376. package/dist/plugin-sdk/agent-runtime.js +2 -2
  377. package/dist/plugin-sdk/approval-gateway-runtime.js +2 -2
  378. package/dist/plugin-sdk/approval-handler-runtime.js +3 -3
  379. package/dist/plugin-sdk/approval-runtime.js +1 -1
  380. package/dist/plugin-sdk/browser-node-runtime.js +4 -4
  381. package/dist/plugin-sdk/browser-setup-tools.js +3 -3
  382. package/dist/plugin-sdk/browser-support.js +7 -7
  383. package/dist/plugin-sdk/channel-core.js +2 -2
  384. package/dist/plugin-sdk/channel-inbound.js +2 -2
  385. package/dist/plugin-sdk/command-auth.js +1 -1
  386. package/dist/plugin-sdk/command-status-runtime.js +1 -1
  387. package/dist/plugin-sdk/compat.js +1 -1
  388. package/dist/plugin-sdk/conversation-binding-runtime.js +1 -1
  389. package/dist/plugin-sdk/conversation-runtime.js +3 -3
  390. package/dist/plugin-sdk/core.js +2 -2
  391. package/dist/plugin-sdk/direct-dm.js +1 -1
  392. package/dist/plugin-sdk/gateway-runtime.js +3 -3
  393. package/dist/plugin-sdk/inbound-reply-dispatch.js +1 -1
  394. package/dist/plugin-sdk/index.js +1 -1
  395. package/dist/plugin-sdk/infra-runtime.js +2 -2
  396. package/dist/plugin-sdk/irc.js +2 -2
  397. package/dist/plugin-sdk/matrix.js +1 -1
  398. package/dist/plugin-sdk/memory-core-host-runtime-cli.js +2 -2
  399. package/dist/plugin-sdk/memory-core.js +2 -2
  400. package/dist/plugin-sdk/msteams.js +2 -2
  401. package/dist/plugin-sdk/nextcloud-talk.js +2 -2
  402. package/dist/plugin-sdk/nostr.js +1 -1
  403. package/dist/plugin-sdk/reply-dispatch-runtime.js +1 -1
  404. package/dist/plugin-sdk/reply-runtime.js +4 -4
  405. package/dist/plugin-sdk/runtime-secret-resolution.js +1 -1
  406. package/dist/plugin-sdk/runtime.js +2 -2
  407. package/dist/plugin-sdk/session-visibility.js +1 -1
  408. package/dist/plugin-sdk/testing.js +4 -4
  409. package/dist/plugin-sdk/tlon.js +1 -1
  410. package/dist/plugin-sdk/zalo.js +1 -1
  411. package/dist/plugin-sdk/zalouser.js +1 -1
  412. package/dist/plugin-service-DcSnRF5x.js +2890 -0
  413. package/dist/plugins/runtime/index.js +1 -1
  414. package/dist/policy-uc224usV.js +328 -0
  415. package/dist/postinstall-inventory.json +407 -407
  416. package/dist/prepare.runtime-BPA6jMiM.js +815 -0
  417. package/dist/prepare.runtime.js +1 -1
  418. package/dist/probe-5ToseFjd.js +1443 -0
  419. package/dist/probe-BdCXAH_u.js +2 -0
  420. package/dist/probe-ByVoZEdq.js +45 -0
  421. package/dist/probe-D-D_1oc4.js +241 -0
  422. package/dist/probe-D6s_1Z5k.js +2 -0
  423. package/dist/probe-DIMAmSsO.js +74 -0
  424. package/dist/probe-DYuL-s4A.js +2205 -0
  425. package/dist/program-DDTWTh6g.js +111 -0
  426. package/dist/prompt-select-styled-kf1dPqNa.js +20 -0
  427. package/dist/protocol-Batc2DmY.js +2234 -0
  428. package/dist/provider-dispatcher-DdUqCa6H.js +2 -0
  429. package/dist/provider-dispatcher-uioW38XW.js +22 -0
  430. package/dist/qr-cli-B1WUe8Eb.js +2 -0
  431. package/dist/qr-cli-DmPti3xe.js +349 -0
  432. package/dist/reaction-runtime-api-5G3e9J0C.js +116 -0
  433. package/dist/reactions-x7VH-B95.js +998 -0
  434. package/dist/register-service-commands-DcW5qPTu.js +71 -0
  435. package/dist/register.agent-Dtj4HC7R.js +248 -0
  436. package/dist/register.configure-CJHb84Ce.js +15 -0
  437. package/dist/register.maintenance-BUkPfMcX.js +438 -0
  438. package/dist/register.message-DGFpyYBl.js +329 -0
  439. package/dist/register.onboard-D3v3xIfF.js +81 -0
  440. package/dist/register.runtime-DI4QxYdj.js +81 -0
  441. package/dist/register.runtime.js +1 -1
  442. package/dist/register.setup-CXTyuIFM.js +150 -0
  443. package/dist/register.status-health-sessions-CYUnRi97.js +1215 -0
  444. package/dist/register.subclis-DKMVrwRc.js +3 -0
  445. package/dist/register.subclis-NWRi2XKp.js +29 -0
  446. package/dist/register.subclis-core-De6qmQkr.js +243 -0
  447. package/dist/reply-dispatch-runtime-B8_j6pJi.js +13 -0
  448. package/dist/reply-runtime-DGHQDC9d.js +11 -0
  449. package/dist/reply.runtime-BCfqw2Co.js +2 -0
  450. package/dist/reply.runtime.js +1 -1
  451. package/dist/restart-health-6cjrRBpF.js +202 -0
  452. package/dist/restart-health-b6Qw43Tj.js +2 -0
  453. package/dist/root-help-BTIH_eUe.js +44 -0
  454. package/dist/routes-C3J2GfHR.js +3341 -0
  455. package/dist/routes-SMmfW6k8.js +2 -0
  456. package/dist/rpc-DQbAcIKu.js +61 -0
  457. package/dist/rpc.runtime-Q3qyofLf.js +21 -0
  458. package/dist/rpc.runtime.js +1 -1
  459. package/dist/run-delivery.runtime-BsLouK3f.js +530 -0
  460. package/dist/run-delivery.runtime.js +1 -1
  461. package/dist/run-embedded.runtime-CXd0oZQP.js +4 -0
  462. package/dist/run-embedded.runtime.js +1 -1
  463. package/dist/run-execution-cli.runtime-D-MKbq8r.js +4 -0
  464. package/dist/run-execution-cli.runtime.js +1 -1
  465. package/dist/run-executor.runtime-Cz0I8mDt.js +277 -0
  466. package/dist/run-executor.runtime.js +1 -1
  467. package/dist/run-main-CkXBTQut.js +516 -0
  468. package/dist/run-subagent-registry.runtime-Cyb8amrH.js +2 -0
  469. package/dist/run-subagent-registry.runtime.js +1 -1
  470. package/dist/run-wait-KlS0pdIK.js +135 -0
  471. package/dist/runtime-3niXLiFY.js +9 -0
  472. package/dist/runtime-api-B79e2jL2.js +4 -0
  473. package/dist/runtime-api-CM2c2bSC.js +9 -0
  474. package/dist/runtime-api-CnOFFN5q.js +14 -0
  475. package/dist/runtime-api-TnwM-EZH.js +9 -0
  476. package/dist/runtime-embedded-pi.runtime-9csGjukF.js +2 -0
  477. package/dist/runtime-embedded-pi.runtime.js +1 -1
  478. package/dist/runtime-internal-CQX4Zehn.js +2 -0
  479. package/dist/runtime-options-C0qP2VlT.js +275 -0
  480. package/dist/runtime-schema-DanWbDoL.js +27780 -0
  481. package/dist/runtime-vycfMfew.js +973 -0
  482. package/dist/scan-Bs5zROOQ.js +2 -0
  483. package/dist/scan-CP2zJb_w.js +523 -0
  484. package/dist/secrets-cli-YFTlIMmq.js +2101 -0
  485. package/dist/security-cli-B2WBRU9C.js +486 -0
  486. package/dist/selection-DSZGsU6m.js +2 -0
  487. package/dist/selection-hUGDnCgX.js +7736 -0
  488. package/dist/send-B3Ygb3r3.js +156 -0
  489. package/dist/send-DMwqnu6K.js +102 -0
  490. package/dist/send.runtime-D86atcfW.js +2 -0
  491. package/dist/send.runtime.js +1 -1
  492. package/dist/server-4gQCBM3M.js +77 -0
  493. package/dist/server-CK9eCPCG.js +13 -0
  494. package/dist/server-context-ih3GaGaI.js +847 -0
  495. package/dist/server-context-kZ_QADic.js +2 -0
  496. package/dist/server-node-events-CMlHOIKa.js +481 -0
  497. package/dist/server-plugin-bootstrap-B0XitldT.js +11333 -0
  498. package/dist/server-plugin-bootstrap-CHlVF8XB.js +2 -0
  499. package/dist/server-restart-sentinel-TpXCoiYX.js +697 -0
  500. package/dist/server.impl-B6at3Orl.js +12734 -0
  501. package/dist/session-kill-http-DvYp5h-j.js +110 -0
  502. package/dist/session-reset-service-C9rIVqF7.js +471 -0
  503. package/dist/session-route-FaMcEc7I.js +93 -0
  504. package/dist/session-status.runtime-BfPn8qA8.js +2 -0
  505. package/dist/session-status.runtime.js +1 -1
  506. package/dist/session-subagent-reactivation.runtime-C1fGNaiM.js +2 -0
  507. package/dist/session-subagent-reactivation.runtime.js +1 -1
  508. package/dist/session-tab-registry-BDK2AlxL.js +491 -0
  509. package/dist/session-visibility-BkrL2kFF.js +147 -0
  510. package/dist/sessions-helpers-YOu_5tl0.js +304 -0
  511. package/dist/sessions-history-http-DxNaoDfb.js +383 -0
  512. package/dist/sessions-patch-BPtlF0Lu.js +309 -0
  513. package/dist/sessions-resolve-B2rpvSka.js +174 -0
  514. package/dist/sessions.runtime-DEk_x65_.js +2 -0
  515. package/dist/sessions.runtime.js +1 -1
  516. package/dist/setup-DZJZF2R6.js +495 -0
  517. package/dist/setup-api-BkYWhB-B.js +29 -0
  518. package/dist/setup-core-BXBabSEx.js +171 -0
  519. package/dist/setup-core-eahC1DXh.js +176 -0
  520. package/dist/setup-surface-BEf8reey.js +286 -0
  521. package/dist/setup-surface-DAOKJ-ai.js +219 -0
  522. package/dist/setup-surface-b6gu0S8l.js +403 -0
  523. package/dist/setup.finalize-DXUCLT5O.js +539 -0
  524. package/dist/setup.gateway-config-BH4xbjcX.js +250 -0
  525. package/dist/shared-BhHdyXun.js +198 -0
  526. package/dist/shared-CKv38qsN.js +121 -0
  527. package/dist/shared-DUw9Q4Lf.js +76 -0
  528. package/dist/slash-state-BQgmhum1.js +1911 -0
  529. package/dist/src-C1B3uJMu.js +3974 -0
  530. package/dist/startup-context-DTpThe3H.js +312 -0
  531. package/dist/status-63GZxfe4.js +2 -0
  532. package/dist/status-C6qTe-QQ.js +397 -0
  533. package/dist/status-CSIGAUly.js +190 -0
  534. package/dist/status-DOW91Kcx.js +2 -0
  535. package/dist/status-all-7hqTcvxr.js +498 -0
  536. package/dist/status-json-CUzzv8An.js +14 -0
  537. package/dist/status-json-command-DwWlqvoV.js +84 -0
  538. package/dist/status-p4yx6E3C.js +209 -0
  539. package/dist/status-runtime-shared-yrzbsOR8.js +257 -0
  540. package/dist/status-subagents.runtime-CuRGoNNn.js +18 -0
  541. package/dist/status-subagents.runtime.js +1 -1
  542. package/dist/status-text-BrcRsCFE.js +237 -0
  543. package/dist/status-zV1BflCE.js +3 -0
  544. package/dist/status.gateway-connection.runtime-BKd4Zivg.js +2 -0
  545. package/dist/status.gateway-connection.runtime.js +1 -1
  546. package/dist/status.gather-B7WlHpIR.js +292 -0
  547. package/dist/status.gather-Ccewg4ce.js +2 -0
  548. package/dist/status.runtime-BFru2C4v.js +2 -0
  549. package/dist/status.runtime.js +1 -1
  550. package/dist/status.scan-mEKnAmP3.js +65 -0
  551. package/dist/status.scan-overview-B0qQVJd0.js +379 -0
  552. package/dist/status.scan.fast-json-CsU-fWhj.js +132 -0
  553. package/dist/status.scan.fast-json-tEc36TAC.js +2 -0
  554. package/dist/status.summary-Bvgry977.js +214 -0
  555. package/dist/status.summary-DRolowE_.js +2 -0
  556. package/dist/subagent-announce-Bhe55Ktf.js +351 -0
  557. package/dist/subagent-announce-delivery-NDBIRwuZ.js +726 -0
  558. package/dist/subagent-announce-output-DsmGO7Oi.js +364 -0
  559. package/dist/subagent-control-Bn8n-535.js +506 -0
  560. package/dist/subagent-followup.runtime-C7s-lOGN.js +68 -0
  561. package/dist/subagent-followup.runtime.js +1 -1
  562. package/dist/subagent-orphan-recovery-CJEhSvFZ.js +305 -0
  563. package/dist/subagent-registry-BgQA8eP1.js +1753 -0
  564. package/dist/subagent-registry-DAm-N9-O.js +3 -0
  565. package/dist/subagent-registry.runtime.js +1 -1
  566. package/dist/subagent-spawn-EXtecXVT.js +1005 -0
  567. package/dist/system-cli-CFS_PN8R.js +59 -0
  568. package/dist/targets-BXWH2MfM.js +67 -0
  569. package/dist/task-executor-DfugjJEq.js +360 -0
  570. package/dist/task-owner-access-CSwIy-v-.js +74 -0
  571. package/dist/task-registry-B-kQGKt_.js +2366 -0
  572. package/dist/task-registry-delivery-runtime-DD1_7xUF.js +3 -0
  573. package/dist/task-registry-delivery-runtime-DIsasFa1.js +2 -0
  574. package/dist/task-registry.maintenance-CxAx195T.js +2 -0
  575. package/dist/task-registry.maintenance-DIFuNnzy.js +416 -0
  576. package/dist/telegram/token.js +1 -1
  577. package/dist/testing-C7oUBiZL.js +575 -0
  578. package/dist/text-report-hYiQ_Kcv.js +587 -0
  579. package/dist/tool-resolution-CnnOHyxg.js +90 -0
  580. package/dist/tools-effective-inventory-DqYXIS6R.js +152 -0
  581. package/dist/tools-invoke-http-zop5qWa_.js +206 -0
  582. package/dist/trash-DZRlsk_R.js +24 -0
  583. package/dist/tui-cli-2cKXF0J8.js +4575 -0
  584. package/dist/update-cli-DP1KXasM.js +1759 -0
  585. package/dist/upgrade-DPFxH2YB.js +1226 -0
  586. package/dist/video-generation-task-status-BEgeadFu.js +163 -0
  587. package/dist/wait-for-idle-before-flush-CmSNfAco.js +5986 -0
  588. package/dist/wizard-models-BJGn0RnU.js +161 -0
  589. package/package.json +1 -1
  590. package/dist/abort-ca8hDmJr.js +0 -201
  591. package/dist/abort.runtime-BrChEuUS.js +0 -2
  592. package/dist/accounts-C1ECKXaw.js +0 -107
  593. package/dist/accounts-DH8HU_Fu.js +0 -104
  594. package/dist/accounts-DWQpG06j.js +0 -2
  595. package/dist/acp-cli-BLpWVnc7.js +0 -2193
  596. package/dist/acp-spawn-D1p6b1gk.js +0 -2
  597. package/dist/acp-spawn-qoyl9NiU.js +0 -1093
  598. package/dist/acp-stateful-target-driver-NL9txhIM.js +0 -89
  599. package/dist/action-agents-C729fJ_P.js +0 -67
  600. package/dist/action-focus-53k9XP4K.js +0 -132
  601. package/dist/action-help-bIJZBYLz.js +0 -7
  602. package/dist/action-info-BBzvYFX_.js +0 -101
  603. package/dist/action-kill-C4fa3E9I.js +0 -33
  604. package/dist/action-list-BEiIbwP1.js +0 -21
  605. package/dist/action-log-Cq7RLW2T.js +0 -30
  606. package/dist/action-send-DyiHgRwh.js +0 -39
  607. package/dist/action-spawn-CEZfDvXU.js +0 -47
  608. package/dist/action-unfocus-CpAw3JOi.js +0 -29
  609. package/dist/actions.runtime-BKEwPyo7.js +0 -18
  610. package/dist/actions.runtime-Bp0UusIf.js +0 -5
  611. package/dist/agent-C2hwJefQ.js +0 -2
  612. package/dist/agent-command-BAAeGRql.js +0 -874
  613. package/dist/agent-harness-runtime-Czrx53YL.js +0 -144
  614. package/dist/agent-runner-utils-DzShckNa.js +0 -239
  615. package/dist/agent-runner.runtime-d_EtNxBK.js +0 -3455
  616. package/dist/agent-runtime-DNgz7AOP.js +0 -18
  617. package/dist/agents-CZmpon7q.js +0 -5
  618. package/dist/agents-Cs9je_gQ.js +0 -953
  619. package/dist/aliases-CZemdpTj.js +0 -2
  620. package/dist/aliases-KefnmoaT.js +0 -96
  621. package/dist/api-CO05iXNH.js +0 -139
  622. package/dist/api-CyjlApHT.js +0 -3
  623. package/dist/api-DArm1ECd.js +0 -5
  624. package/dist/approval-gateway-resolver-URpDQMld.js +0 -29
  625. package/dist/approval-gateway-runtime-B087BMms.js +0 -2
  626. package/dist/approval-handler-runtime-BgRQnG4g.js +0 -439
  627. package/dist/approval-native-runtime-DAsraihr.js +0 -729
  628. package/dist/attempt-execution.runtime-D_FGkDQz.js +0 -509
  629. package/dist/attempt.prompt-helpers-CDzDUi1C.js +0 -221
  630. package/dist/attempt.tool-run-context-DitxaTPJ.js +0 -933
  631. package/dist/audit-Bq8vlxok.js +0 -939
  632. package/dist/audit.runtime-CU42yh1v.js +0 -7
  633. package/dist/auth-CQfwC-AH.js +0 -383
  634. package/dist/auth-DyWcaG4X.js +0 -2
  635. package/dist/auth-order-C3zGI0s9.js +0 -96
  636. package/dist/auth-order-XQ9ZGPd9.js +0 -2
  637. package/dist/bash-tools-BBRtIa6j.js +0 -2824
  638. package/dist/bash-tools-BI0d1TdC.js +0 -3
  639. package/dist/binding-routing-Cvm5c1IV.js +0 -85
  640. package/dist/binding-targets-DSs4NXbd.js +0 -121
  641. package/dist/bridge-server-CwWzSgv8.js +0 -113
  642. package/dist/browser-control-auth-y1f-9HRI.js +0 -2
  643. package/dist/browser-node-runtime-3UAeP8a6.js +0 -12
  644. package/dist/browser-profiles-BzzxphNW.js +0 -2
  645. package/dist/browser-runtime-jj11LR-E.js +0 -387
  646. package/dist/browser-setup-tools-CFB52yQc.js +0 -13
  647. package/dist/build-TlobwpQW.js +0 -550
  648. package/dist/call-Bx8lENb2.js +0 -3
  649. package/dist/call-jYRpeAWm.js +0 -331
  650. package/dist/call.runtime-BRluUZbD.js +0 -2
  651. package/dist/capability-cli-Iyj9Zi3g.js +0 -1401
  652. package/dist/catchup-CtxTwzY8.js +0 -300
  653. package/dist/channel-BJKHBfnq.js +0 -491
  654. package/dist/channel-BNNnYzwK.js +0 -1100
  655. package/dist/channel-BXS-Hd8p.js +0 -226
  656. package/dist/channel-C4XWpowe.js +0 -1174
  657. package/dist/channel-CJQdQgPr.js +0 -840
  658. package/dist/channel-C_zWAu4D.js +0 -595
  659. package/dist/channel-CtGzrF-K.js +0 -1802
  660. package/dist/channel-O9DE4IIq.js +0 -350
  661. package/dist/channel-WHUOtJme.js +0 -297
  662. package/dist/channel-WoDWDxqx.js +0 -1320
  663. package/dist/channel-core-BJjq9SOq.js +0 -5
  664. package/dist/channel-inbound-DLs-YfUs.js +0 -31
  665. package/dist/channel-plugin-runtime-CMG8ac2K.js +0 -771
  666. package/dist/channel-runtime-4UjeDmDI.js +0 -425
  667. package/dist/channel-ys2FFqi1.js +0 -453
  668. package/dist/channel.runtime-B38Ky3R9.js +0 -109
  669. package/dist/channel.runtime-Bl8WYZvF.js +0 -576
  670. package/dist/channel.runtime-D3kAsCsR.js +0 -89
  671. package/dist/channel.runtime-DEQ-anMf.js +0 -2364
  672. package/dist/channel.runtime-DG-EUnSC.js +0 -4
  673. package/dist/channel.runtime-IfV1Md6p.js +0 -430
  674. package/dist/channel.runtime-w1tHjTOa.js +0 -34702
  675. package/dist/channel.setup-dXwiMlyi.js +0 -10
  676. package/dist/channels-B2G1Y-iD.js +0 -733
  677. package/dist/channels-cli-YintLKAt.js +0 -268
  678. package/dist/chat-DdKbu8CA.js +0 -2758
  679. package/dist/clawbot-cli-CnHERFYk.js +0 -9
  680. package/dist/cli-CSNAd6Sz.js +0 -72
  681. package/dist/cli-CdRioBfN.js +0 -2
  682. package/dist/cli-DMPwqYqc.js +0 -219
  683. package/dist/cli-ctyAqh0j.js +0 -2
  684. package/dist/cli-runner-CNlk7xmx.js +0 -286
  685. package/dist/cli-runner.runtime-BK4sQk1m.js +0 -3
  686. package/dist/cli-runner.runtime-BT8ZZn-R.js +0 -4
  687. package/dist/cli.runtime-DU7swpBI.js +0 -1261
  688. package/dist/client-CQdcTPUf.js +0 -138
  689. package/dist/client-Vx7pseEY.js +0 -713
  690. package/dist/command-auth-DkJWb2HE.js +0 -76
  691. package/dist/command-config-resolution-CIRWRfR8.js +0 -23
  692. package/dist/command-config-resolution-DYZWj6Zm.js +0 -2
  693. package/dist/command-config-resolution.runtime-CUtVJOf0.js +0 -2
  694. package/dist/command-registry-CHy5EH0v.js +0 -4
  695. package/dist/command-registry-CyKgELQP.js +0 -9
  696. package/dist/command-registry-core-DQeRIuot.js +0 -104
  697. package/dist/command-secret-gateway-BNnWdAlq.js +0 -528
  698. package/dist/command-status.runtime-CKgimR6Y.js +0 -87
  699. package/dist/commands-acp-DSm97O5v.js +0 -77
  700. package/dist/commands-compact.runtime-BXhP6WJ6.js +0 -10
  701. package/dist/commands-handlers.runtime-FzK-n0L8.js +0 -4597
  702. package/dist/commands-status-BQnB5OSX.js +0 -16
  703. package/dist/commands-status.runtime-B6GcfEDm.js +0 -3
  704. package/dist/commands-subagents-control.runtime-CByd528A.js +0 -2
  705. package/dist/commands-subagents-control.runtime-CqI4LMYa.js +0 -3
  706. package/dist/commands-system-prompt-BD_LeeZk.js +0 -2
  707. package/dist/commands-system-prompt-C2Md_Ia1.js +0 -158
  708. package/dist/commands.runtime-CwiPf7Cc.js +0 -166
  709. package/dist/compact-B_4bMVpw.js +0 -1118
  710. package/dist/compact.runtime-BhRqiBXG.js +0 -12
  711. package/dist/completion-cli-D07hGGMI.js +0 -313
  712. package/dist/config-B1lvYOd7.js +0 -251
  713. package/dist/config-cli-BgepNwob.js +0 -1078
  714. package/dist/configure-CEfl0ORM.js +0 -2
  715. package/dist/configure-TsykzQqM.js +0 -1245
  716. package/dist/connect-options-zqTIEl6K.js +0 -699
  717. package/dist/control-auth-CNa_KHpo.js +0 -125
  718. package/dist/control-service-CZl5wFdZ.js +0 -156
  719. package/dist/conversation-id-BLY9ffjm.js +0 -38
  720. package/dist/conversation-id-DVeOM5Jh.js +0 -235
  721. package/dist/conversation-runtime-gJt7AAg2.js +0 -31
  722. package/dist/core-BtmNtOpS.js +0 -275
  723. package/dist/cron-cli-s9SF4__G.js +0 -713
  724. package/dist/daemon-cli-TCubZfI_.js +0 -12
  725. package/dist/delegate-DyITI93V.js +0 -64
  726. package/dist/detached-task-runtime-CTUQj84i.js +0 -73
  727. package/dist/devices-cli-SXcLjGmh.js +0 -496
  728. package/dist/diagnostics-waSemGnZ.js +0 -154
  729. package/dist/direct-dm-CiSjkmkL.js +0 -64
  730. package/dist/dispatch-BnQSIx2G.js +0 -1131
  731. package/dist/dispatch-acp-CaNQyl2L.js +0 -981
  732. package/dist/dispatch-acp-manager.runtime-DJK1eHYX.js +0 -3
  733. package/dist/dispatch-acp.runtime-Bl5cvtX4.js +0 -19
  734. package/dist/doctor-device-pairing-DBhEA-8G.js +0 -307
  735. package/dist/doctor-gateway-daemon-flow-Ds47Er3Y.js +0 -250
  736. package/dist/doctor-gateway-health-EWwTw5JR.js +0 -60
  737. package/dist/doctor-health-C6muRn7t.js +0 -59
  738. package/dist/doctor-health-contributions-B984415a.js +0 -486
  739. package/dist/doctor-prompter-BpOi4ndi.js +0 -56
  740. package/dist/doctor-workspace-status-CiEWZXrx.js +0 -75
  741. package/dist/dreaming-DFPenC85.js +0 -1574
  742. package/dist/dreaming-narrative-6A27_Gft.js +0 -595
  743. package/dist/embedded-gateway-stub.runtime-UVgfXZzk.js +0 -9
  744. package/dist/exec-approvals-cli-Cc_GG9ZT.js +0 -498
  745. package/dist/fallbacks-DX4YcmAx.js +0 -2
  746. package/dist/fallbacks-inTaaG-m.js +0 -31
  747. package/dist/fallbacks-shared-ow1la-U2.js +0 -111
  748. package/dist/gateway-D4iWwu3_.js +0 -115
  749. package/dist/gateway-cli-D6j0Aj3R.js +0 -1325
  750. package/dist/gateway-rpc-Dd_x2GX5.js +0 -14
  751. package/dist/gateway-rpc.runtime-Btnvsv-7.js +0 -23
  752. package/dist/gateway-runtime-DctMRv_p.js +0 -15
  753. package/dist/gateway-status-DJCtvUVn.js +0 -584
  754. package/dist/genesis-tools-CvMcpUvH.js +0 -8999
  755. package/dist/genesis-tools.runtime-Ch3NDEDq.js +0 -2
  756. package/dist/get-reply-Cm39MCyU.js +0 -3879
  757. package/dist/get-reply-from-config.runtime-CSqCYatb.js +0 -2
  758. package/dist/graph-users-BJxYqA3A.js +0 -1337
  759. package/dist/health-C14jIilQ.js +0 -469
  760. package/dist/health-C6yJSCMc.js +0 -3
  761. package/dist/heartbeat-runner-C6-gFnyC.js +0 -5
  762. package/dist/heartbeat-runner-yUYjgzIM.js +0 -1292
  763. package/dist/heartbeat-runner.runtime-DZzyrUNB.js +0 -4
  764. package/dist/hooks-cli-CCRaHheu.js +0 -433
  765. package/dist/image-fallbacks-BH9qLbBG.js +0 -31
  766. package/dist/image-fallbacks-DUOPO1ic.js +0 -2
  767. package/dist/inbound-reply-dispatch-DPf_IrbV.js +0 -73
  768. package/dist/infra-runtime-CLND6LJ0.js +0 -39
  769. package/dist/init-CzWob-9v.js +0 -59
  770. package/dist/library-C0a9Bz2M.js +0 -45
  771. package/dist/lifecycle-B_B_jt3r.js +0 -571
  772. package/dist/lifecycle-DuqKKZop.js +0 -229
  773. package/dist/lifecycle.runtime-DoosWTnK.js +0 -2
  774. package/dist/list-Bly8XeOF.js +0 -2
  775. package/dist/list-C5HvtbwZ.js +0 -2
  776. package/dist/list-CHIiamt1.js +0 -131
  777. package/dist/list-CMmJiacX.js +0 -1201
  778. package/dist/list.probe-kmHRFlrP.js +0 -419
  779. package/dist/llm-slug-generator-C3u6Ptgq.js +0 -79
  780. package/dist/load-config-CXvIGI7N.js +0 -35
  781. package/dist/local-dispatch.runtime-BNQF4rqW.js +0 -8
  782. package/dist/logs-cli-DEy1GPk2.js +0 -265
  783. package/dist/logs-cli.runtime-jWShKzQC.js +0 -2
  784. package/dist/main-session-restart-recovery-CzfY6Cd8.js +0 -206
  785. package/dist/managed-image-attachments-BGPKA7Mn.js +0 -2
  786. package/dist/managed-image-attachments-CTrq9ym-.js +0 -635
  787. package/dist/manager-C_ZGa9x8.js +0 -2057
  788. package/dist/manager-DIHLRzYF.js +0 -2
  789. package/dist/markdown-to-line-CRbbXtJK.js +0 -790
  790. package/dist/mcp-cli-FMJb3T4k.js +0 -725
  791. package/dist/mcp-http-b6UMoE_J.js +0 -529
  792. package/dist/memory-core-host-runtime-cli-CquxELNj.js +0 -9
  793. package/dist/message-CmjuvIFf.js +0 -232
  794. package/dist/message-action-runner-CiY3rhqt.js +0 -1407
  795. package/dist/message-action-runner-Do4P0h5i.js +0 -2
  796. package/dist/message-actions-BYREqFJA.js +0 -143
  797. package/dist/message.gateway.runtime-gkoWzaYV.js +0 -2
  798. package/dist/models-auth-status-B_Pcr0tl.js +0 -201
  799. package/dist/models-cli-BZSuW2gw.js +0 -219
  800. package/dist/monitor-22LY8y6z.js +0 -788
  801. package/dist/monitor-BZdf_CEm.js +0 -1237
  802. package/dist/monitor-CTVDlTs2.js +0 -671
  803. package/dist/monitor-Cfv-KGAl.js +0 -1661
  804. package/dist/monitor-DuA69-8E.js +0 -2
  805. package/dist/monitor-auth-BNDlfcw7.js +0 -207
  806. package/dist/monitor-cmWeDVxf.js +0 -1459
  807. package/dist/monitor-processing-D9Xcsagt.js +0 -1974
  808. package/dist/monitor.runtime-zWvcbNim.js +0 -2
  809. package/dist/monitor.webhook-BYWQa5lY.js +0 -180
  810. package/dist/msteams-n9HDT4O-.js +0 -35
  811. package/dist/native-hook-relay-CKyIfLOm.js +0 -519
  812. package/dist/nextcloud-talk-BuJVVP0J.js +0 -17
  813. package/dist/node-cli-DBK2TIEH.js +0 -2506
  814. package/dist/nodes-cli-D5Y1_ZVD.js +0 -1046
  815. package/dist/nodes-utils-C6IKaTjm.js +0 -84
  816. package/dist/nodes.helpers-CkJO5i0d.js +0 -34
  817. package/dist/notify-v0zoiI-O.js +0 -315
  818. package/dist/onboard-BCaLBJor.js +0 -632
  819. package/dist/onboard-helpers-Ba7ES7kB.js +0 -204
  820. package/dist/onboard-helpers-D5qdyBIj.js +0 -6
  821. package/dist/onboard-remote-BaHm_VrY.js +0 -2
  822. package/dist/onboard-remote-DbGAo_Ad.js +0 -193
  823. package/dist/onboard-skills-BA7c4li1.js +0 -2
  824. package/dist/onboard-skills-upyHp6T9.js +0 -134
  825. package/dist/openai-http-DwCqhEcX.js +0 -500
  826. package/dist/openresponses-http-tJr67vC1.js +0 -1128
  827. package/dist/operator-approvals-client-C0t_-2xC.js +0 -68
  828. package/dist/outbound.runtime-nXA4k1xA.js +0 -2
  829. package/dist/pair-command-approve-G5y-rKn9.js +0 -44
  830. package/dist/persistent-bindings.lifecycle-C56aKBVc.js +0 -2
  831. package/dist/persistent-bindings.lifecycle-CfBqvz9L.js +0 -85
  832. package/dist/pi-embedded-B1wvxHXL.js +0 -2905
  833. package/dist/pi-embedded-DmDb-oUB.js +0 -4
  834. package/dist/pi-embedded.runtime-D5xqw9Ko.js +0 -4
  835. package/dist/pi-tool-definition-adapter-CAxlo-Va.js +0 -217
  836. package/dist/pi-tools-C69yvznf.js +0 -1057
  837. package/dist/pi-tools.before-tool-call-BDeCmoAy.js +0 -2
  838. package/dist/pi-tools.before-tool-call-DG7VVNBn.js +0 -433
  839. package/dist/plugin-B9Ld0CUs.js +0 -12195
  840. package/dist/plugin-enabled-BguUplCN.js +0 -140
  841. package/dist/plugin-registration-DPBnSoak.js +0 -23
  842. package/dist/plugin-service-CdNFnRyN.js +0 -2890
  843. package/dist/policy-DgfegT_Y.js +0 -328
  844. package/dist/prepare.runtime-C_sRmuFC.js +0 -815
  845. package/dist/probe-8vb_Ssot.js +0 -45
  846. package/dist/probe-BjmKFiz1.js +0 -2205
  847. package/dist/probe-CVlOo8Hr.js +0 -74
  848. package/dist/probe-CakOsrSu.js +0 -241
  849. package/dist/probe-CbOoVumf.js +0 -2
  850. package/dist/probe-D6yFcZpK.js +0 -1443
  851. package/dist/probe-OcOYm1bj.js +0 -2
  852. package/dist/program-BJnTb7UE.js +0 -111
  853. package/dist/prompt-select-styled-C8kGHNpY.js +0 -20
  854. package/dist/protocol-C40iRm9c.js +0 -2234
  855. package/dist/provider-dispatcher-BIOPYzb9.js +0 -2
  856. package/dist/provider-dispatcher-CpwviX0O.js +0 -22
  857. package/dist/qr-cli-CJXKCj0L.js +0 -2
  858. package/dist/qr-cli-kSU9X-N0.js +0 -349
  859. package/dist/reaction-runtime-api-3XFmruJA.js +0 -116
  860. package/dist/reactions-By-nqZC6.js +0 -998
  861. package/dist/register-service-commands-fwB-T6mW.js +0 -71
  862. package/dist/register.agent-CpScU3CV.js +0 -248
  863. package/dist/register.configure-DpD3_BCK.js +0 -15
  864. package/dist/register.maintenance-ByoQXpk9.js +0 -438
  865. package/dist/register.message-BTXNOZMD.js +0 -329
  866. package/dist/register.onboard-B83CAOYy.js +0 -81
  867. package/dist/register.runtime-Doz01zcH.js +0 -81
  868. package/dist/register.setup-BKI5rwWy.js +0 -150
  869. package/dist/register.status-health-sessions-DRPszDQ-.js +0 -1215
  870. package/dist/register.subclis-DeXklyQL.js +0 -3
  871. package/dist/register.subclis-YkmoZoxl.js +0 -29
  872. package/dist/register.subclis-core-BPo4hV1Q.js +0 -243
  873. package/dist/reply-dispatch-runtime-DjIuN_dr.js +0 -13
  874. package/dist/reply-runtime-5TFidLR3.js +0 -11
  875. package/dist/reply.runtime-6d1e0INl.js +0 -2
  876. package/dist/restart-health-BWUPc4R-.js +0 -202
  877. package/dist/restart-health-CWvsjHVN.js +0 -2
  878. package/dist/root-help-D2YiFpS6.js +0 -44
  879. package/dist/routes-BdYdVpe7.js +0 -3341
  880. package/dist/routes-jYoN_qOU.js +0 -2
  881. package/dist/rpc-5tMjebZH.js +0 -61
  882. package/dist/rpc.runtime-BzAHjcm4.js +0 -21
  883. package/dist/run-delivery.runtime-qZIB76oE.js +0 -530
  884. package/dist/run-embedded.runtime-nHunVmCv.js +0 -4
  885. package/dist/run-execution-cli.runtime-CMT7La6D.js +0 -4
  886. package/dist/run-executor.runtime-BG6SDi3f.js +0 -277
  887. package/dist/run-main-CNf_LLX7.js +0 -516
  888. package/dist/run-subagent-registry.runtime-D0RcqcJr.js +0 -2
  889. package/dist/run-wait--kou3jZ7.js +0 -135
  890. package/dist/runtime-BvxkGJm2.js +0 -9
  891. package/dist/runtime-DgQ5oUKq.js +0 -973
  892. package/dist/runtime-api-6SzMK-FZ.js +0 -4
  893. package/dist/runtime-api-BAMrcB-5.js +0 -9
  894. package/dist/runtime-api-DLSrxS5O.js +0 -9
  895. package/dist/runtime-api-DsPleWQg.js +0 -14
  896. package/dist/runtime-embedded-pi.runtime-eyjaJfAz.js +0 -2
  897. package/dist/runtime-internal-BTfGDlHi.js +0 -2
  898. package/dist/runtime-options-B5_eZxMV.js +0 -275
  899. package/dist/runtime-schema-BB3QzGXJ.js +0 -27780
  900. package/dist/scan-D0fsxqed.js +0 -2
  901. package/dist/scan-DrjjN66Z.js +0 -523
  902. package/dist/secrets-cli-B7-qbfn-.js +0 -2101
  903. package/dist/security-cli-CYTPgL67.js +0 -486
  904. package/dist/selection-DEAdLh1Q.js +0 -2
  905. package/dist/selection-zPPyzfBX.js +0 -7736
  906. package/dist/send-CYKfZTCJ.js +0 -156
  907. package/dist/send-Di1tRwJD.js +0 -102
  908. package/dist/send.runtime-Bw22DBkL.js +0 -2
  909. package/dist/server-BIF5dPI_.js +0 -13
  910. package/dist/server-BJK0Q4xw.js +0 -77
  911. package/dist/server-context-CiVVCQNp.js +0 -847
  912. package/dist/server-context-DXvk5Tdy.js +0 -2
  913. package/dist/server-node-events-CdZP3Kok.js +0 -481
  914. package/dist/server-plugin-bootstrap-Di15EOt4.js +0 -11333
  915. package/dist/server-plugin-bootstrap-dboO44LL.js +0 -2
  916. package/dist/server-restart-sentinel-BWiOzljY.js +0 -697
  917. package/dist/server.impl-Ph8YCQpT.js +0 -12734
  918. package/dist/session-kill-http-B_J1fJ4-.js +0 -110
  919. package/dist/session-reset-service-DPgw70iw.js +0 -471
  920. package/dist/session-route-B0h6MEyB.js +0 -93
  921. package/dist/session-status.runtime-DCvgI1pG.js +0 -2
  922. package/dist/session-subagent-reactivation.runtime-BgsCnI-h.js +0 -2
  923. package/dist/session-tab-registry-FyN6CWh5.js +0 -491
  924. package/dist/session-visibility-CZjMA1SL.js +0 -147
  925. package/dist/sessions-helpers-B3W7MdIb.js +0 -304
  926. package/dist/sessions-history-http-Bw5J6HQ-.js +0 -383
  927. package/dist/sessions-patch-2sBcHc9a.js +0 -309
  928. package/dist/sessions-resolve-C-VZh_56.js +0 -174
  929. package/dist/sessions.runtime-cLuc67tJ.js +0 -2
  930. package/dist/setup-FW8xH-S-.js +0 -495
  931. package/dist/setup-api-Culp0Usf.js +0 -29
  932. package/dist/setup-core-CaTBS6Tz.js +0 -171
  933. package/dist/setup-core-youmXvW_.js +0 -176
  934. package/dist/setup-surface-BeMn-9hU.js +0 -403
  935. package/dist/setup-surface-CUd-s0wh.js +0 -286
  936. package/dist/setup-surface-DtscjAY3.js +0 -219
  937. package/dist/setup.finalize-BWyA4f4q.js +0 -539
  938. package/dist/setup.gateway-config-CvzMdftA.js +0 -250
  939. package/dist/shared-B3Pz1Xcr.js +0 -121
  940. package/dist/shared-Bc3x3THS.js +0 -76
  941. package/dist/shared-CxbLx0Ww.js +0 -198
  942. package/dist/slash-state-XfeMEeuI.js +0 -1911
  943. package/dist/src-BiDxQvtV.js +0 -3974
  944. package/dist/startup-context-CXQi-7YB.js +0 -312
  945. package/dist/status-Ch3bm70K.js +0 -2
  946. package/dist/status-CiQSxvY-.js +0 -3
  947. package/dist/status-DY0DlWlw.js +0 -190
  948. package/dist/status-DjdByQv-.js +0 -209
  949. package/dist/status-MT62_Jgw.js +0 -2
  950. package/dist/status-all-BD2viQD9.js +0 -498
  951. package/dist/status-json-CWS2oYON.js +0 -14
  952. package/dist/status-json-command-B6lZefoe.js +0 -84
  953. package/dist/status-pujDHwRb.js +0 -397
  954. package/dist/status-runtime-shared-Bu9Zhd7x.js +0 -257
  955. package/dist/status-subagents.runtime-B4UXD0lL.js +0 -18
  956. package/dist/status-text-myqmk4OL.js +0 -237
  957. package/dist/status.gateway-connection.runtime-B0Iwl2iZ.js +0 -2
  958. package/dist/status.gather-C51Ja0wP.js +0 -292
  959. package/dist/status.gather-DQ7WZp3H.js +0 -2
  960. package/dist/status.runtime-Cxyb3wHZ.js +0 -2
  961. package/dist/status.scan-C1aqDsy2.js +0 -65
  962. package/dist/status.scan-overview-BerlJz2l.js +0 -379
  963. package/dist/status.scan.fast-json-BXY82vu2.js +0 -2
  964. package/dist/status.scan.fast-json-DJqgEbzZ.js +0 -132
  965. package/dist/status.summary-CCdLUph8.js +0 -214
  966. package/dist/status.summary-CHAn0_FS.js +0 -2
  967. package/dist/subagent-announce-D4jG75Ub.js +0 -351
  968. package/dist/subagent-announce-delivery-BkQYzDcy.js +0 -726
  969. package/dist/subagent-announce-output-C3pkuu-t.js +0 -364
  970. package/dist/subagent-control-DVVK8du2.js +0 -506
  971. package/dist/subagent-followup.runtime-CdeweG-S.js +0 -68
  972. package/dist/subagent-orphan-recovery-ZQanOHb4.js +0 -305
  973. package/dist/subagent-registry-BcPa3ho0.js +0 -3
  974. package/dist/subagent-registry-hJUso5eL.js +0 -1753
  975. package/dist/subagent-spawn-DTaeQc9q.js +0 -1005
  976. package/dist/system-cli-CT8VaSDY.js +0 -59
  977. package/dist/targets-BPdSjnQH.js +0 -67
  978. package/dist/task-executor-B62Qzfi-.js +0 -360
  979. package/dist/task-owner-access-BBMrMOlN.js +0 -74
  980. package/dist/task-registry-BD-ew2bT.js +0 -2366
  981. package/dist/task-registry-delivery-runtime-B2WyGY0d.js +0 -3
  982. package/dist/task-registry-delivery-runtime-MFJszOHI.js +0 -2
  983. package/dist/task-registry.maintenance-0D2Yxl49.js +0 -416
  984. package/dist/task-registry.maintenance-OPlfB5W9.js +0 -2
  985. package/dist/testing-DmxZ16UC.js +0 -575
  986. package/dist/text-report-BwIpU54R.js +0 -587
  987. package/dist/tool-resolution-vn72hwMo.js +0 -90
  988. package/dist/tools-effective-inventory-DII_pOSr.js +0 -152
  989. package/dist/tools-invoke-http-DdthGR52.js +0 -206
  990. package/dist/trash-BVZu6rU7.js +0 -24
  991. package/dist/tui-cli-Bz51WCAi.js +0 -4575
  992. package/dist/update-cli-DkH8vHQP.js +0 -1759
  993. package/dist/upgrade-Dvj8K4WB.js +0 -1226
  994. package/dist/video-generation-task-status-CHYB_IeZ.js +0 -163
  995. package/dist/wait-for-idle-before-flush-DJMxeE2X.js +0 -5986
  996. package/dist/wizard-models-BNQQ7fvr.js +0 -161
@@ -0,0 +1,1215 @@
1
+ import { c as normalizeOptionalString } from "./string-coerce-C1IzJjqi.js";
2
+ import { w as setVerbose } from "./logger-QwLssHIf.js";
3
+ import { n as defaultRuntime, r as writeRuntimeJson } from "./runtime-CQ7eH0le.js";
4
+ import { t as formatDocsLink } from "./links-DmsJCU7L.js";
5
+ import { n as isRich, r as theme } from "./theme-BrRleVfL.js";
6
+ import { n as info$1 } from "./globals-C5IxqXPj.js";
7
+ import { a as loadConfig } from "./io-h8M_Z0Lj.js";
8
+ import { t as sanitizeTerminalText } from "./safe-text-D7y8Lw2W.js";
9
+ import "./config-B3ZoZd5V.js";
10
+ import { a as resolveSessionFilePathOptions, i as resolveSessionFilePath } from "./paths-DD6L4IvS.js";
11
+ import { i as capEntryCount, o as pruneStaleEntries, r as resolveMaintenanceConfig, t as loadSessionStore } from "./store-load-DevCJoMp.js";
12
+ import { o as updateSessionStore, u as enforceSessionDiskBudget } from "./store-DsNJP7a2.js";
13
+ import "./sessions-BsnttWP_.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-B-kQGKt_.js";
15
+ import { n as summarizeTaskRecords } from "./task-registry.summary-CR-OfUZp.js";
16
+ import "./runtime-internal-CQX4Zehn.js";
17
+ import { c as getFlowTaskSummary, n as cancelFlowById, t as cancelDetachedTaskRunById } from "./task-executor-DfugjJEq.js";
18
+ import { n as runCommandWithRuntime } from "./cli-utils-YUNt0MVZ.js";
19
+ import { t as formatHelpExamples } from "./help-format-DM-hbV3N.js";
20
+ import { n as parsePositiveIntOrUndefined } from "./helpers-DWsKOjxm.js";
21
+ import { n as healthCommand } from "./health-CzOJa6SX.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-CZok7kda.js";
23
+ import { t as statusCommand } from "./status-C6qTe-QQ.js";
24
+ import { t as compareTaskAuditFindingSortKeys } from "./task-registry.audit.shared-BVr4D5_i.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-DIFuNnzy.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-D1ooXKCx.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", "docs.genesis.ai/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", "docs.genesis.ai/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", "docs.genesis.ai/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 };