@pixelzx/genesis 2026.6.4-1 → 2026.6.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 (1010) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/.buildstamp +1 -1
  3. package/dist/abort-CcNxEsSq.js +201 -0
  4. package/dist/abort.runtime-DZJDSf0d.js +2 -0
  5. package/dist/abort.runtime.js +1 -1
  6. package/dist/accounts-B7M6y8l8.js +107 -0
  7. package/dist/accounts-DddcYo7u.js +2 -0
  8. package/dist/accounts-v0Cqfnse.js +104 -0
  9. package/dist/acp-cli-D_2_Nim8.js +2193 -0
  10. package/dist/acp-spawn-BZPupfsZ.js +2 -0
  11. package/dist/acp-spawn-CWfIrbK7.js +1093 -0
  12. package/dist/acp-stateful-target-driver-DpCTjH5T.js +89 -0
  13. package/dist/action-agents-fjIM4rpc.js +67 -0
  14. package/dist/action-focus-cx1pm1ym.js +132 -0
  15. package/dist/action-help-DtyAnULB.js +7 -0
  16. package/dist/action-info-DF30-xZl.js +101 -0
  17. package/dist/action-kill-rsSdXzvX.js +33 -0
  18. package/dist/action-list-4VN835m2.js +21 -0
  19. package/dist/action-log-L032mq5B.js +30 -0
  20. package/dist/action-send-Dm62UP-n.js +39 -0
  21. package/dist/action-spawn-BuZHKlpL.js +47 -0
  22. package/dist/action-unfocus-CTIWf8WX.js +29 -0
  23. package/dist/actions.runtime-0ezEcm7K.js +18 -0
  24. package/dist/actions.runtime-DKsCTTnH.js +5 -0
  25. package/dist/actions.runtime.js +1 -1
  26. package/dist/agent-BTOBOCIw.js +2 -0
  27. package/dist/agent-command-C-_EFUUu.js +874 -0
  28. package/dist/agent-harness-runtime-Bye6j3EL.js +144 -0
  29. package/dist/agent-runner-utils-CX2vCMkx.js +239 -0
  30. package/dist/agent-runner.runtime-BBqrjZv4.js +3455 -0
  31. package/dist/agent-runner.runtime.js +1 -1
  32. package/dist/agent-runtime-D1LIGcNj.js +18 -0
  33. package/dist/agents-CME2O1l9.js +5 -0
  34. package/dist/agents-DsDQvAPy.js +954 -0
  35. package/dist/aliases-C807OidC.js +2 -0
  36. package/dist/aliases-jq1ap6Dz.js +96 -0
  37. package/dist/api-BbxKoRkD.js +3 -0
  38. package/dist/api-CwJPCW9U.js +139 -0
  39. package/dist/api-N5Kaaq64.js +5 -0
  40. package/dist/approval-gateway-resolver-DIPFgTnx.js +29 -0
  41. package/dist/approval-gateway-runtime-i0yziXk2.js +2 -0
  42. package/dist/approval-handler-runtime-Cdm-10f9.js +439 -0
  43. package/dist/approval-native-runtime-BRjeBoqL.js +729 -0
  44. package/dist/attempt-execution.runtime-NFTF7Cbt.js +509 -0
  45. package/dist/attempt-execution.runtime.js +1 -1
  46. package/dist/attempt.prompt-helpers-DuBXv46v.js +221 -0
  47. package/dist/attempt.tool-run-context-Qf-tbC-C.js +933 -0
  48. package/dist/audit-DsDfRhB8.js +939 -0
  49. package/dist/audit.runtime-ComjcUGJ.js +7 -0
  50. package/dist/audit.runtime.js +1 -1
  51. package/dist/auth-BT_gqC-D.js +2 -0
  52. package/dist/auth-DeUz_8w8.js +383 -0
  53. package/dist/auth-order-DM7UkPDa.js +96 -0
  54. package/dist/auth-order-yS8hXrXh.js +2 -0
  55. package/dist/bash-tools-D0M9gBDu.js +3 -0
  56. package/dist/bash-tools-tnj1gSbO.js +2824 -0
  57. package/dist/binding-routing-C7atXiTD.js +85 -0
  58. package/dist/binding-targets-CCv7agx9.js +121 -0
  59. package/dist/bridge-server-C5O9rTJg.js +113 -0
  60. package/dist/browser-control-auth-GGN_kbqE.js +2 -0
  61. package/dist/browser-node-runtime-B-uTSVqP.js +12 -0
  62. package/dist/browser-profiles-Dex2eaLH.js +2 -0
  63. package/dist/browser-runtime-BPocB6yO.js +387 -0
  64. package/dist/browser-setup-tools-gHfYeDWA.js +13 -0
  65. package/dist/build-BqG7RkBz.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-BI4JvjcR.js +3 -0
  70. package/dist/call-wY43fzOF.js +331 -0
  71. package/dist/call.runtime-Dh61oVeL.js +2 -0
  72. package/dist/call.runtime.js +1 -1
  73. package/dist/capability-cli-BHz-2Stx.js +1401 -0
  74. package/dist/catchup-Be7tHJwK.js +300 -0
  75. package/dist/channel-B-6VmF4-.js +840 -0
  76. package/dist/channel-BCJccV-O.js +226 -0
  77. package/dist/channel-BDZqLbod.js +1100 -0
  78. package/dist/channel-BQDNgTea.js +1174 -0
  79. package/dist/channel-BwjThGwK.js +453 -0
  80. package/dist/channel-CPoThmda.js +595 -0
  81. package/dist/channel-CUT8NJ-B.js +350 -0
  82. package/dist/channel-C_Y7lv8v.js +491 -0
  83. package/dist/channel-Ck7-C-lB.js +297 -0
  84. package/dist/channel-DOpVjq4i.js +1802 -0
  85. package/dist/channel-core-QV9-eAtb.js +5 -0
  86. package/dist/channel-inbound-D_tebgdx.js +31 -0
  87. package/dist/channel-plugin-runtime-DXcBwNNM.js +771 -0
  88. package/dist/channel-runtime-D4ci0o4V.js +425 -0
  89. package/dist/channel-sAdF_zH-.js +1320 -0
  90. package/dist/channel.runtime-1swLIpNV.js +89 -0
  91. package/dist/channel.runtime-B9hljdNF.js +4 -0
  92. package/dist/channel.runtime-CSbR2pni.js +430 -0
  93. package/dist/channel.runtime-CdpqhnLO.js +2364 -0
  94. package/dist/channel.runtime-DOx6WROg.js +40130 -0
  95. package/dist/channel.runtime-H5Kb2LbC.js +109 -0
  96. package/dist/channel.runtime-V7boBc_e.js +576 -0
  97. package/dist/channel.runtime.js +1 -1
  98. package/dist/channel.setup-BXyeNJ2_.js +10 -0
  99. package/dist/channels-KU7bwUUs.js +733 -0
  100. package/dist/channels-cli-CTX6_5z3.js +268 -0
  101. package/dist/chat-C_i6Wp50.js +2830 -0
  102. package/dist/clawbot-cli-CLGPtbt-.js +9 -0
  103. package/dist/cli/daemon-cli.js +3 -3
  104. package/dist/cli-BhwHu1dK.js +72 -0
  105. package/dist/cli-CFsq8f2H.js +2 -0
  106. package/dist/cli-CNVlwurq.js +219 -0
  107. package/dist/cli-DLP8hKbi.js +2 -0
  108. package/dist/cli-runner-BbNBHV6v.js +286 -0
  109. package/dist/cli-runner.runtime-CfPaauuM.js +4 -0
  110. package/dist/cli-runner.runtime-MxBlCOO2.js +3 -0
  111. package/dist/cli-runner.runtime.js +1 -1
  112. package/dist/cli-startup-metadata.json +2 -2
  113. package/dist/cli.runtime-3cD-pSyn.js +1261 -0
  114. package/dist/cli.runtime.js +1 -1
  115. package/dist/client-Bl0d_7ak.js +138 -0
  116. package/dist/client-ClJyHgmq.js +713 -0
  117. package/dist/command-auth-DO32coey.js +76 -0
  118. package/dist/command-config-resolution-CAsa4fGg.js +2 -0
  119. package/dist/command-config-resolution-D6YcwuRh.js +23 -0
  120. package/dist/command-config-resolution.runtime-CSHDu35A.js +2 -0
  121. package/dist/command-config-resolution.runtime.js +1 -1
  122. package/dist/command-registry-BJEQrMqR.js +4 -0
  123. package/dist/command-registry-DI9i95nj.js +9 -0
  124. package/dist/command-registry-core-BpF1mggD.js +106 -0
  125. package/dist/command-secret-gateway-DDNHxysD.js +528 -0
  126. package/dist/command-status.runtime-DqYUCcEA.js +87 -0
  127. package/dist/command-status.runtime.js +1 -1
  128. package/dist/commands-acp-C_zCJPvL.js +77 -0
  129. package/dist/commands-compact.runtime-B6e3kwMS.js +10 -0
  130. package/dist/commands-compact.runtime.js +1 -1
  131. package/dist/commands-handlers.runtime-B0gTkAC0.js +4599 -0
  132. package/dist/commands-handlers.runtime.js +1 -1
  133. package/dist/commands-status-BgZ64sA8.js +16 -0
  134. package/dist/commands-status.runtime-JI89gIEU.js +3 -0
  135. package/dist/commands-status.runtime.js +1 -1
  136. package/dist/commands-subagents-control.runtime-B0hdcBxr.js +2 -0
  137. package/dist/commands-subagents-control.runtime-DUeSQ5j4.js +3 -0
  138. package/dist/commands-subagents-control.runtime.js +1 -1
  139. package/dist/commands-system-prompt-B7moUaCI.js +158 -0
  140. package/dist/commands-system-prompt-DTUkp9TH.js +2 -0
  141. package/dist/commands.runtime-BjCVVqol.js +167 -0
  142. package/dist/commands.runtime.js +1 -1
  143. package/dist/compact-BNJH56SX.js +1118 -0
  144. package/dist/compact.runtime-CYI8Yi9d.js +12 -0
  145. package/dist/compact.runtime.js +1 -1
  146. package/dist/completion-cli-Bb1Tk-vM.js +328 -0
  147. package/dist/config-DxkleHmo.js +252 -0
  148. package/dist/config-cli-CtaRB_f8.js +1078 -0
  149. package/dist/configure-Bp8WFryM.js +1252 -0
  150. package/dist/configure-DQ_X5zyT.js +2 -0
  151. package/dist/connect-options-BkWD0Wvv.js +699 -0
  152. package/dist/control-auth-Iqyldslx.js +125 -0
  153. package/dist/control-service-xIhkqyZE.js +156 -0
  154. package/dist/conversation-id-BZtOqHIz.js +38 -0
  155. package/dist/conversation-id-D1Q9qPFH.js +235 -0
  156. package/dist/conversation-runtime-B1QZ-DEM.js +31 -0
  157. package/dist/core-BdVAy0Wv.js +275 -0
  158. package/dist/cron-cli-BWM2kRKU.js +713 -0
  159. package/dist/daemon-cli-MRl5nyuF.js +12 -0
  160. package/dist/dashboard-BkdlJrnf.js +2 -0
  161. package/dist/dashboard-C9m86rHv.js +81 -0
  162. package/dist/delegate-BjUvKQlo.js +64 -0
  163. package/dist/detached-task-runtime-BAEzkNB8.js +73 -0
  164. package/dist/devices-cli-B1n6tl9f.js +498 -0
  165. package/dist/diagnostics-DZxWkW3i.js +154 -0
  166. package/dist/direct-dm-qw-uk31C.js +64 -0
  167. package/dist/dispatch-D0xiJ6Up.js +1131 -0
  168. package/dist/dispatch-acp-DVN58m9G.js +981 -0
  169. package/dist/dispatch-acp-manager.runtime-C8t1i5Wt.js +3 -0
  170. package/dist/dispatch-acp-manager.runtime.js +1 -1
  171. package/dist/dispatch-acp.runtime-FR0DUPpn.js +19 -0
  172. package/dist/dispatch-acp.runtime.js +1 -1
  173. package/dist/doctor-device-pairing-DIbiBPlL.js +307 -0
  174. package/dist/doctor-gateway-daemon-flow-BFjRlXvA.js +250 -0
  175. package/dist/doctor-gateway-health-uZrukX3c.js +63 -0
  176. package/dist/doctor-health-DKpg1bxM.js +59 -0
  177. package/dist/doctor-health-contributions-BoXX8ubw.js +493 -0
  178. package/dist/doctor-prompter-CLf5Uf10.js +56 -0
  179. package/dist/doctor-workspace-status-Cw61BbGy.js +75 -0
  180. package/dist/dreaming-Bk8dVfGi.js +1574 -0
  181. package/dist/dreaming-narrative-DGSQa-0N.js +595 -0
  182. package/dist/embedded-gateway-stub.runtime-sokWrs6B.js +9 -0
  183. package/dist/embedded-gateway-stub.runtime.js +1 -1
  184. package/dist/entry.js +2 -2
  185. package/dist/exec-approvals-cli-CnNETs_u.js +498 -0
  186. package/dist/extensionAPI.js +1 -1
  187. package/dist/extensions/active-memory/index.js +1 -1
  188. package/dist/extensions/bluebubbles/api.js +3 -3
  189. package/dist/extensions/bluebubbles/channel-plugin-api.js +1 -1
  190. package/dist/extensions/browser/browser-bridge.js +1 -1
  191. package/dist/extensions/browser/browser-config.js +4 -4
  192. package/dist/extensions/browser/browser-control-auth.js +2 -2
  193. package/dist/extensions/browser/browser-doctor.js +2 -2
  194. package/dist/extensions/browser/browser-maintenance.js +2 -2
  195. package/dist/extensions/browser/browser-profiles.js +2 -2
  196. package/dist/extensions/browser/browser-runtime-api.js +10 -10
  197. package/dist/extensions/browser/index.js +1 -1
  198. package/dist/extensions/browser/plugin-registration.js +1 -1
  199. package/dist/extensions/browser/register.runtime.js +3 -3
  200. package/dist/extensions/browser/runtime-api.js +11 -11
  201. package/dist/extensions/browser/test-support.js +1 -1
  202. package/dist/extensions/device-pair/api.js +1 -1
  203. package/dist/extensions/device-pair/index.js +3 -3
  204. package/dist/extensions/device-pair/notify.js +1 -1
  205. package/dist/extensions/device-pair/pair-command-approve.js +1 -1
  206. package/dist/extensions/google-meet/index.js +2 -2
  207. package/dist/extensions/imessage/api.js +3 -3
  208. package/dist/extensions/imessage/channel-plugin-api.js +1 -1
  209. package/dist/extensions/imessage/runtime-api.js +3 -3
  210. package/dist/extensions/irc/api.js +2 -2
  211. package/dist/extensions/irc/channel-plugin-api.js +1 -1
  212. package/dist/extensions/line/api.js +2 -2
  213. package/dist/extensions/line/channel-plugin-api.js +1 -1
  214. package/dist/extensions/line/contract-api.js +1 -1
  215. package/dist/extensions/line/runtime-api.js +4 -4
  216. package/dist/extensions/line/setup-api.js +1 -1
  217. package/dist/extensions/llm-task/index.js +2 -2
  218. package/dist/extensions/lobster/index.js +3 -3
  219. package/dist/extensions/lobster/runtime-api.js +1 -1
  220. package/dist/extensions/mattermost/api.js +1 -1
  221. package/dist/extensions/mattermost/channel-plugin-api.js +1 -1
  222. package/dist/extensions/mattermost/channel-plugin-runtime.js +1 -1
  223. package/dist/extensions/mattermost/policy-api.js +1 -1
  224. package/dist/extensions/mattermost/runtime-api.js +4 -4
  225. package/dist/extensions/mattermost/slash-route-api.js +1 -1
  226. package/dist/extensions/memory-core/api.js +1 -1
  227. package/dist/extensions/memory-core/cli-metadata.js +2 -2
  228. package/dist/extensions/memory-core/index.js +3 -3
  229. package/dist/extensions/memory-lancedb/cli-metadata.js +1 -1
  230. package/dist/extensions/msteams/api.js +1 -1
  231. package/dist/extensions/msteams/channel-plugin-api.js +1 -1
  232. package/dist/extensions/msteams/runtime-api.js +3 -3
  233. package/dist/extensions/msteams/test-api.js +1 -1
  234. package/dist/extensions/nextcloud-talk/api.js +1 -1
  235. package/dist/extensions/nextcloud-talk/channel-plugin-api.js +1 -1
  236. package/dist/extensions/nextcloud-talk/runtime-api.js +2 -2
  237. package/dist/extensions/openshell/index.js +2 -2
  238. package/dist/extensions/signal/api.js +6 -6
  239. package/dist/extensions/signal/channel-plugin-api.js +1 -1
  240. package/dist/extensions/signal/reaction-runtime-api.js +1 -1
  241. package/dist/extensions/signal/runtime-api.js +7 -7
  242. package/dist/extensions/skill-workshop/api.js +1 -1
  243. package/dist/extensions/skill-workshop/index.js +1 -1
  244. package/dist/extensions/synology-chat/api.js +1 -1
  245. package/dist/extensions/synology-chat/channel-plugin-api.js +1 -1
  246. package/dist/extensions/tlon/api.js +2 -2
  247. package/dist/extensions/tlon/channel-plugin-api.js +1 -1
  248. package/dist/extensions/tlon/runtime-api.js +1 -1
  249. package/dist/extensions/tlon/test-api.js +1 -1
  250. package/dist/extensions/twitch/api.js +1 -1
  251. package/dist/extensions/twitch/channel-plugin-api.js +1 -1
  252. package/dist/extensions/twitch/setup-plugin-api.js +1 -1
  253. package/dist/extensions/zalo/api.js +3 -3
  254. package/dist/extensions/zalo/channel-plugin-api.js +1 -1
  255. package/dist/extensions/zalo/runtime-api.js +2 -2
  256. package/dist/extensions/zalo/setup-api.js +2 -2
  257. package/dist/extensions/zalouser/api.js +3 -3
  258. package/dist/extensions/zalouser/channel-plugin-api.js +1 -1
  259. package/dist/extensions/zalouser/runtime-api.js +6 -6
  260. package/dist/extensions/zalouser/setup-plugin-api.js +1 -1
  261. package/dist/extensions/zalouser/test-api.js +1 -1
  262. package/dist/fallbacks-BwNexEVP.js +31 -0
  263. package/dist/fallbacks-GwVAaFt5.js +2 -0
  264. package/dist/fallbacks-shared-DmepG9Mq.js +111 -0
  265. package/dist/gateway-BB4hdlYm.js +115 -0
  266. package/dist/gateway-cli-Bzz62NC8.js +1283 -0
  267. package/dist/gateway-rpc-dyJV2osv.js +14 -0
  268. package/dist/gateway-rpc.runtime-DYVOEv4W.js +23 -0
  269. package/dist/gateway-rpc.runtime.js +1 -1
  270. package/dist/gateway-runtime-CqSQCYo0.js +15 -0
  271. package/dist/gateway-status-DdCiwrPt.js +584 -0
  272. package/dist/genesis-tools-Bh6dAUhK.js +9166 -0
  273. package/dist/genesis-tools.runtime-CiIUponP.js +2 -0
  274. package/dist/genesis-tools.runtime.js +1 -1
  275. package/dist/get-reply-from-config.runtime-Cu2DcwOW.js +2 -0
  276. package/dist/get-reply-from-config.runtime.js +1 -1
  277. package/dist/get-reply-qVmTjhwr.js +3897 -0
  278. package/dist/graph-users-kkSJYBNX.js +1337 -0
  279. package/dist/health-CFyVDYng.js +469 -0
  280. package/dist/health-Cl371mu8.js +3 -0
  281. package/dist/health-route-D0IspgUK.js +41 -0
  282. package/dist/health-route-D2tFKCLv.js +2 -0
  283. package/dist/heartbeat-runner-Bmi8YsXz.js +5 -0
  284. package/dist/heartbeat-runner-FSCWra2R.js +1292 -0
  285. package/dist/heartbeat-runner.runtime-QF8dg4j-.js +4 -0
  286. package/dist/heartbeat-runner.runtime.js +1 -1
  287. package/dist/hooks-cli-DYoG7Dz1.js +433 -0
  288. package/dist/image-fallbacks-5ckuJ46I.js +31 -0
  289. package/dist/image-fallbacks-DYnqzK01.js +2 -0
  290. package/dist/inbound-reply-dispatch-D5pqDZRa.js +73 -0
  291. package/dist/index.js +2 -2
  292. package/dist/infra-runtime-D08WIqN2.js +39 -0
  293. package/dist/init-BCgwiSZj.js +59 -0
  294. package/dist/library-CP9n_7AP.js +45 -0
  295. package/dist/lifecycle-BYam90xH.js +229 -0
  296. package/dist/lifecycle-DS58sNmu.js +571 -0
  297. package/dist/lifecycle.runtime-DMwss7xM.js +2 -0
  298. package/dist/lifecycle.runtime.js +1 -1
  299. package/dist/list-CASc4IWz.js +131 -0
  300. package/dist/list-CBPrBS2u.js +1212 -0
  301. package/dist/list-Cf7fcqQd.js +2 -0
  302. package/dist/list-Dqd2QyTH.js +2 -0
  303. package/dist/list.probe-BWcMSWDF.js +419 -0
  304. package/dist/llm-slug-generator-4LADFhXT.js +79 -0
  305. package/dist/llm-slug-generator.js +1 -1
  306. package/dist/load-config-DI-LDL6p.js +35 -0
  307. package/dist/local-dispatch.runtime-WDgraH3j.js +8 -0
  308. package/dist/local-dispatch.runtime.js +1 -1
  309. package/dist/logs-cli-zoBIelUH.js +265 -0
  310. package/dist/logs-cli.runtime-DxKNxXAz.js +2 -0
  311. package/dist/logs-cli.runtime.js +1 -1
  312. package/dist/main-session-restart-recovery-DWZfkOzH.js +206 -0
  313. package/dist/managed-image-attachments-DLDa1aE2.js +2 -0
  314. package/dist/managed-image-attachments-a4v60Bk3.js +635 -0
  315. package/dist/manager-CfUcsSI9.js +2057 -0
  316. package/dist/manager-DmBBLCOg.js +2 -0
  317. package/dist/markdown-to-line-B0mPruD_.js +790 -0
  318. package/dist/mcp/plugin-tools-serve.js +1 -1
  319. package/dist/mcp-cli-CLL9nfvE.js +725 -0
  320. package/dist/mcp-http-p7GbtbMx.js +529 -0
  321. package/dist/memory-core-host-runtime-cli-CZNYkDoE.js +9 -0
  322. package/dist/message-CRyNLXch.js +232 -0
  323. package/dist/message-action-runner-5Y4EFpWh.js +1407 -0
  324. package/dist/message-action-runner-Dxv-GXkn.js +2 -0
  325. package/dist/message-actions-DtoR6Mr2.js +143 -0
  326. package/dist/message.gateway.runtime-RI4cvk_E.js +2 -0
  327. package/dist/message.gateway.runtime.js +1 -1
  328. package/dist/models-auth-status-DsheCXaS.js +201 -0
  329. package/dist/models-cli-CQQG1U-p.js +219 -0
  330. package/dist/monitor-BRRSjPQY.js +1459 -0
  331. package/dist/monitor-Ch-cG7Si.js +1661 -0
  332. package/dist/monitor-ChBhfnC-.js +788 -0
  333. package/dist/monitor-CsvCTpjq.js +671 -0
  334. package/dist/monitor-DjemBuVh.js +1237 -0
  335. package/dist/monitor-LyGEO-KI.js +2 -0
  336. package/dist/monitor-auth-DVCdDwlp.js +207 -0
  337. package/dist/monitor-processing-Cib3ZjUe.js +1974 -0
  338. package/dist/monitor.runtime-DLBFALbV.js +2 -0
  339. package/dist/monitor.runtime.js +1 -1
  340. package/dist/monitor.webhook-Dktr8JA-.js +180 -0
  341. package/dist/msteams-G5I2CO13.js +35 -0
  342. package/dist/native-hook-relay-B1ArNeG5.js +519 -0
  343. package/dist/nextcloud-talk-DimOAfaR.js +17 -0
  344. package/dist/node-cli-RIjV0id4.js +2276 -0
  345. package/dist/nodes-cli-Cke-B80I.js +1046 -0
  346. package/dist/nodes-utils-CsTqKwN9.js +84 -0
  347. package/dist/nodes.helpers-DYpGCFer.js +34 -0
  348. package/dist/notify-zBChwf0-.js +315 -0
  349. package/dist/onboard-D6UawRld.js +2 -0
  350. package/dist/onboard-DfoCtk3_.js +70 -0
  351. package/dist/onboard-helpers-BKQMe3RX.js +6 -0
  352. package/dist/onboard-helpers-BLBJlQ50.js +204 -0
  353. package/dist/onboard-interactive-GAbQD437.js +24 -0
  354. package/dist/onboard-non-interactive-Bqi-JXh3.js +635 -0
  355. package/dist/onboard-remote-CNpTyVws.js +193 -0
  356. package/dist/onboard-remote-GFp2lT6Y.js +2 -0
  357. package/dist/onboard-skills-BQneolfo.js +2 -0
  358. package/dist/onboard-skills-BipqJ48b.js +134 -0
  359. package/dist/openai-http-CLDWjSKC.js +500 -0
  360. package/dist/openresponses-http-DNvXNiw_.js +1128 -0
  361. package/dist/operator-approvals-client-gaflvETF.js +68 -0
  362. package/dist/outbound.runtime-ByVsvEri.js +2 -0
  363. package/dist/outbound.runtime.js +1 -1
  364. package/dist/pair-command-approve-Dzkubc-8.js +44 -0
  365. package/dist/persistent-bindings.lifecycle-BhdRK7Lp.js +2 -0
  366. package/dist/persistent-bindings.lifecycle-DQ0AiHuy.js +85 -0
  367. package/dist/pi-embedded-C789hs31.js +4 -0
  368. package/dist/pi-embedded-CXLkrOwv.js +2905 -0
  369. package/dist/pi-embedded.runtime-BaHYLgKa.js +4 -0
  370. package/dist/pi-embedded.runtime.js +1 -1
  371. package/dist/pi-tool-definition-adapter-DFutc0D4.js +229 -0
  372. package/dist/pi-tools-k60jrAVq.js +1057 -0
  373. package/dist/pi-tools.before-tool-call-CFy20GCz.js +2 -0
  374. package/dist/pi-tools.before-tool-call-DJmPOVfQ.js +433 -0
  375. package/dist/plugin-BfFuIgXQ.js +12195 -0
  376. package/dist/plugin-enabled-dXOUnZwX.js +140 -0
  377. package/dist/plugin-registration-CEAozQhV.js +23 -0
  378. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  379. package/dist/plugin-sdk/acp-binding-runtime.js +1 -1
  380. package/dist/plugin-sdk/acp-runtime.js +2 -2
  381. package/dist/plugin-sdk/agent-harness-runtime.js +5 -5
  382. package/dist/plugin-sdk/agent-harness.js +6 -6
  383. package/dist/plugin-sdk/agent-runtime.js +2 -2
  384. package/dist/plugin-sdk/approval-gateway-runtime.js +2 -2
  385. package/dist/plugin-sdk/approval-handler-runtime.js +3 -3
  386. package/dist/plugin-sdk/approval-runtime.js +1 -1
  387. package/dist/plugin-sdk/browser-node-runtime.js +4 -4
  388. package/dist/plugin-sdk/browser-setup-tools.js +3 -3
  389. package/dist/plugin-sdk/browser-support.js +7 -7
  390. package/dist/plugin-sdk/channel-core.js +2 -2
  391. package/dist/plugin-sdk/channel-inbound.js +2 -2
  392. package/dist/plugin-sdk/command-auth.js +1 -1
  393. package/dist/plugin-sdk/command-status-runtime.js +1 -1
  394. package/dist/plugin-sdk/compat.js +1 -1
  395. package/dist/plugin-sdk/conversation-binding-runtime.js +1 -1
  396. package/dist/plugin-sdk/conversation-runtime.js +3 -3
  397. package/dist/plugin-sdk/core.js +2 -2
  398. package/dist/plugin-sdk/direct-dm.js +1 -1
  399. package/dist/plugin-sdk/gateway-runtime.js +3 -3
  400. package/dist/plugin-sdk/inbound-reply-dispatch.js +1 -1
  401. package/dist/plugin-sdk/index.js +1 -1
  402. package/dist/plugin-sdk/infra-runtime.js +2 -2
  403. package/dist/plugin-sdk/irc.js +2 -2
  404. package/dist/plugin-sdk/matrix.js +1 -1
  405. package/dist/plugin-sdk/memory-core-host-runtime-cli.js +2 -2
  406. package/dist/plugin-sdk/memory-core.js +2 -2
  407. package/dist/plugin-sdk/msteams.js +2 -2
  408. package/dist/plugin-sdk/nextcloud-talk.js +2 -2
  409. package/dist/plugin-sdk/nostr.js +1 -1
  410. package/dist/plugin-sdk/reply-dispatch-runtime.js +1 -1
  411. package/dist/plugin-sdk/reply-runtime.js +4 -4
  412. package/dist/plugin-sdk/runtime-secret-resolution.js +1 -1
  413. package/dist/plugin-sdk/runtime.js +2 -2
  414. package/dist/plugin-sdk/session-visibility.js +1 -1
  415. package/dist/plugin-sdk/testing.js +4 -4
  416. package/dist/plugin-sdk/tlon.js +1 -1
  417. package/dist/plugin-sdk/zalo.js +1 -1
  418. package/dist/plugin-sdk/zalouser.js +1 -1
  419. package/dist/plugin-service-BOpLQ8BU.js +2892 -0
  420. package/dist/plugins/runtime/index.js +1 -1
  421. package/dist/policy-DiIlt2yW.js +328 -0
  422. package/dist/postinstall-inventory.json +414 -414
  423. package/dist/prepare.runtime-Bd8adOy3.js +815 -0
  424. package/dist/prepare.runtime.js +1 -1
  425. package/dist/probe-BOlTfbzG.js +2 -0
  426. package/dist/probe-BSRvsN95.js +2205 -0
  427. package/dist/probe-CDfjQSnz.js +74 -0
  428. package/dist/probe-D7gHyiZV.js +241 -0
  429. package/dist/probe-DTNKTWSs.js +2 -0
  430. package/dist/probe-DcryDdZh.js +45 -0
  431. package/dist/probe-nyesoHxj.js +1443 -0
  432. package/dist/program-BFGavenz.js +111 -0
  433. package/dist/prompt-select-styled-BhY1zahx.js +20 -0
  434. package/dist/protocol-DxLbSF2J.js +2477 -0
  435. package/dist/provider-dispatcher-C-yy1D7r.js +22 -0
  436. package/dist/provider-dispatcher-ErSjESTP.js +2 -0
  437. package/dist/qr-cli-C1-oy_ho.js +349 -0
  438. package/dist/qr-cli-DmEs63Sb.js +2 -0
  439. package/dist/reaction-runtime-api-gua650a7.js +116 -0
  440. package/dist/reactions-R-rA7cXz.js +998 -0
  441. package/dist/register-service-commands-DkbqNKVB.js +71 -0
  442. package/dist/register.agent-C3nW9wDn.js +248 -0
  443. package/dist/register.configure-BzLHCu95.js +15 -0
  444. package/dist/register.maintenance-BHFQo4gr.js +363 -0
  445. package/dist/register.message-CsYRdfKi.js +329 -0
  446. package/dist/register.onboard-DltySQ6C.js +88 -0
  447. package/dist/register.runtime-6Sk1Njnp.js +81 -0
  448. package/dist/register.runtime.js +1 -1
  449. package/dist/register.setup-CDvVQJuj.js +150 -0
  450. package/dist/register.status-health-sessions-B8lorJ2x.js +1215 -0
  451. package/dist/register.subclis-BD4fuAci.js +3 -0
  452. package/dist/register.subclis-CbRd3F_m.js +29 -0
  453. package/dist/register.subclis-core-Dtq9dAjI.js +249 -0
  454. package/dist/reply-dispatch-runtime-DldslKSK.js +13 -0
  455. package/dist/reply-runtime-2EGTfk-1.js +11 -0
  456. package/dist/reply.runtime-OaHntzIS.js +2 -0
  457. package/dist/reply.runtime.js +1 -1
  458. package/dist/restart-health-BjmfJCUM.js +202 -0
  459. package/dist/restart-health-hw909zlD.js +2 -0
  460. package/dist/root-help-_hHiERsR.js +44 -0
  461. package/dist/routes-BxCk7Pue.js +3341 -0
  462. package/dist/routes-C1_6oFmZ.js +2 -0
  463. package/dist/rpc-zRbkEo6W.js +61 -0
  464. package/dist/rpc.runtime-BZSYNDPa.js +21 -0
  465. package/dist/rpc.runtime.js +1 -1
  466. package/dist/run-delivery.runtime-D6YDo67d.js +530 -0
  467. package/dist/run-delivery.runtime.js +1 -1
  468. package/dist/run-embedded.runtime-BsgPrPDa.js +4 -0
  469. package/dist/run-embedded.runtime.js +1 -1
  470. package/dist/run-execution-cli.runtime-CggaHhrJ.js +4 -0
  471. package/dist/run-execution-cli.runtime.js +1 -1
  472. package/dist/run-executor.runtime-CKkLEr_T.js +277 -0
  473. package/dist/run-executor.runtime.js +1 -1
  474. package/dist/run-main-CJYYkV6H.js +567 -0
  475. package/dist/run-subagent-registry.runtime-B0sgf_oy.js +2 -0
  476. package/dist/run-subagent-registry.runtime.js +1 -1
  477. package/dist/run-wait-DHizeptL.js +135 -0
  478. package/dist/runtime-EtV_ChXX.js +9 -0
  479. package/dist/runtime-api-6H864Pmt.js +9 -0
  480. package/dist/runtime-api-CbZqRBZQ.js +14 -0
  481. package/dist/runtime-api-ZxEgu8cW.js +4 -0
  482. package/dist/runtime-api-j9A6jYUr.js +9 -0
  483. package/dist/runtime-embedded-pi.runtime-BHjCPnxo.js +2 -0
  484. package/dist/runtime-embedded-pi.runtime.js +1 -1
  485. package/dist/runtime-hvRzTSAZ.js +973 -0
  486. package/dist/runtime-internal-C_KZYzFK.js +2 -0
  487. package/dist/runtime-options-BZEOCnMg.js +275 -0
  488. package/dist/runtime-schema-R7LWe58K.js +28576 -0
  489. package/dist/scan-BNDE3dSE.js +523 -0
  490. package/dist/scan-TG6lVEQ2.js +2 -0
  491. package/dist/secrets-cli-twD2FWoZ.js +2101 -0
  492. package/dist/security-cli-Cd1A5yhL.js +486 -0
  493. package/dist/selection-CqqmU0Hi.js +7764 -0
  494. package/dist/selection-CsM62vcz.js +2 -0
  495. package/dist/send-D-EgB64m.js +156 -0
  496. package/dist/send-DPk5hW1W.js +102 -0
  497. package/dist/send.runtime-3QDkKN71.js +2 -0
  498. package/dist/send.runtime.js +1 -1
  499. package/dist/server-C94r_Qff.js +77 -0
  500. package/dist/server-Ceiopn_v.js +13 -0
  501. package/dist/server-context-BFJlu5HY.js +2 -0
  502. package/dist/server-context-PNEqhnTM.js +847 -0
  503. package/dist/server-node-events-QOAWLsDC.js +481 -0
  504. package/dist/server-plugin-bootstrap-CgsjzB17.js +2 -0
  505. package/dist/server-plugin-bootstrap-Dfuf75EN.js +12728 -0
  506. package/dist/server-restart-sentinel-BMPqZ7Jw.js +697 -0
  507. package/dist/server.impl-CCoQpvB7.js +12864 -0
  508. package/dist/session-kill-http-oPi3ajEp.js +110 -0
  509. package/dist/session-reset-service-CzDd6PBK.js +497 -0
  510. package/dist/session-route-DUOQE8-f.js +93 -0
  511. package/dist/session-status.runtime-W5tlGbXw.js +2 -0
  512. package/dist/session-status.runtime.js +1 -1
  513. package/dist/session-subagent-reactivation.runtime-yoYn1awK.js +2 -0
  514. package/dist/session-subagent-reactivation.runtime.js +1 -1
  515. package/dist/session-tab-registry-DkeCaT-2.js +581 -0
  516. package/dist/session-visibility-B4CFjv43.js +147 -0
  517. package/dist/sessions-helpers-CDfOVWe3.js +305 -0
  518. package/dist/sessions-history-http-QXeTdxXM.js +383 -0
  519. package/dist/sessions-patch-xb4bXPwh.js +309 -0
  520. package/dist/sessions-resolve-BPlrW8C3.js +174 -0
  521. package/dist/sessions.runtime-yYJXudA9.js +2 -0
  522. package/dist/sessions.runtime.js +1 -1
  523. package/dist/setup-0Im0LL1d.js +636 -0
  524. package/dist/setup-api-BxwfqXN-.js +29 -0
  525. package/dist/setup-core-BWwXgEuM.js +171 -0
  526. package/dist/setup-core-DzHNbQLG.js +176 -0
  527. package/dist/setup-surface-BVnqDsfU.js +286 -0
  528. package/dist/setup-surface-BajZWmKz2.js +403 -0
  529. package/dist/setup-surface-rDO3YjSb.js +219 -0
  530. package/dist/setup.finalize-BsnPbdwc.js +547 -0
  531. package/dist/setup.gateway-config-BFawSWHL.js +250 -0
  532. package/dist/shared-52tFSlVk.js +121 -0
  533. package/dist/shared-C8ENgtxM.js +198 -0
  534. package/dist/shared-DbXvU7JV.js +76 -0
  535. package/dist/slash-state-CMuPwgKt.js +1911 -0
  536. package/dist/src-IzaHgU6a.js +3974 -0
  537. package/dist/startup-context-xJS8ckSG.js +312 -0
  538. package/dist/status-BO4LMTER.js +2 -0
  539. package/dist/status-BwY1tASe.js +3 -0
  540. package/dist/status-BxG6n-ko.js +397 -0
  541. package/dist/status-Co_cq2vy.js +2 -0
  542. package/dist/status-DKNeRGzW.js +190 -0
  543. package/dist/status-DzlIHiTS.js +209 -0
  544. package/dist/status-all-DF7qaWjo.js +498 -0
  545. package/dist/status-json-CgCilobT.js +14 -0
  546. package/dist/status-json-command-DAa78z3e.js +84 -0
  547. package/dist/status-runtime-shared-CRCuxXn_.js +257 -0
  548. package/dist/status-subagents.runtime-hUsBd4C5.js +18 -0
  549. package/dist/status-subagents.runtime.js +1 -1
  550. package/dist/status-text-BdbRrl1G.js +237 -0
  551. package/dist/status.gateway-connection.runtime-BmSTYFFO.js +2 -0
  552. package/dist/status.gateway-connection.runtime.js +1 -1
  553. package/dist/status.gather-CItmFIHS.js +292 -0
  554. package/dist/status.gather-qB6WOoH7.js +2 -0
  555. package/dist/status.runtime-ClZCgYx1.js +2 -0
  556. package/dist/status.runtime.js +1 -1
  557. package/dist/status.scan-overview-B0b0Mvng.js +379 -0
  558. package/dist/status.scan-xY7nUi9N.js +65 -0
  559. package/dist/status.scan.fast-json-BANGHOys.js +132 -0
  560. package/dist/status.scan.fast-json-M-DmMy2l.js +2 -0
  561. package/dist/status.summary-B3PlFnWw.js +2 -0
  562. package/dist/status.summary-adB75FOM.js +214 -0
  563. package/dist/subagent-announce-B4w7Mcpr.js +351 -0
  564. package/dist/subagent-announce-delivery-Dma0A4gL.js +726 -0
  565. package/dist/subagent-announce-output-sUPLcge-.js +364 -0
  566. package/dist/subagent-control-CxR0WRrx.js +506 -0
  567. package/dist/subagent-followup.runtime-XeFe_LA0.js +68 -0
  568. package/dist/subagent-followup.runtime.js +1 -1
  569. package/dist/subagent-orphan-recovery-CJPHy8JV.js +305 -0
  570. package/dist/subagent-registry-CjMWjRCE.js +1753 -0
  571. package/dist/subagent-registry-H20VxEu0.js +3 -0
  572. package/dist/subagent-registry.runtime.js +1 -1
  573. package/dist/subagent-spawn-CRM5x6cV.js +1005 -0
  574. package/dist/system-cli-BJ5mMirj.js +59 -0
  575. package/dist/targets-CUnlEj96.js +67 -0
  576. package/dist/task-executor-DKnEwQ6v.js +360 -0
  577. package/dist/task-owner-access-CfypP1Yc.js +74 -0
  578. package/dist/task-registry-delivery-runtime-BB6ZzpqH.js +2 -0
  579. package/dist/task-registry-delivery-runtime-CvHa0gv-.js +3 -0
  580. package/dist/task-registry-pQuAfAL9.js +2366 -0
  581. package/dist/task-registry.maintenance-Bfd87wEV.js +416 -0
  582. package/dist/task-registry.maintenance-VgfbW0yt.js +2 -0
  583. package/dist/telegram/token.js +1 -1
  584. package/dist/testing-C_mngO0u.js +575 -0
  585. package/dist/text-report-Ct6t3he6.js +587 -0
  586. package/dist/tool-resolution-C4KGgPH-.js +90 -0
  587. package/dist/tools-effective-inventory-Bo2QC-m8.js +152 -0
  588. package/dist/tools-invoke-http-CBZPFh5L.js +206 -0
  589. package/dist/trash-DhZow3jd.js +24 -0
  590. package/dist/tui-cli-BPdQPozP.js +4575 -0
  591. package/dist/update-cli-BRi3mVAU.js +1759 -0
  592. package/dist/upgrade-D9zejtCk.js +1226 -0
  593. package/dist/video-generation-task-status-BSBQ0_FO.js +163 -0
  594. package/dist/wait-for-idle-before-flush-D1dTT9th.js +5986 -0
  595. package/dist/wizard-models-ysyV_WWR.js +334 -0
  596. package/package.json +1 -1
  597. package/dist/abort-DaihtnYj.js +0 -201
  598. package/dist/abort.runtime-BUT9L_5l.js +0 -2
  599. package/dist/accounts-BY5wsBnV.js +0 -104
  600. package/dist/accounts-DGth1vsM.js +0 -107
  601. package/dist/accounts-Do6Ir-q3.js +0 -2
  602. package/dist/acp-cli-BHgjn8rh.js +0 -2193
  603. package/dist/acp-spawn-BAM_Jrft.js +0 -2
  604. package/dist/acp-spawn-DyBD_Y_t.js +0 -1093
  605. package/dist/acp-stateful-target-driver-DKGnfjWu.js +0 -89
  606. package/dist/action-agents-CzMSNQdc.js +0 -67
  607. package/dist/action-focus-CpjIrZFe.js +0 -132
  608. package/dist/action-help-BhE9UosK.js +0 -7
  609. package/dist/action-info-CH2j6dKT.js +0 -101
  610. package/dist/action-kill-CB4AnLIf.js +0 -33
  611. package/dist/action-list-CQ8LbzvR.js +0 -21
  612. package/dist/action-log-DZblh247.js +0 -30
  613. package/dist/action-send-DMe0B4FG.js +0 -39
  614. package/dist/action-spawn-CkKMESb5.js +0 -47
  615. package/dist/action-unfocus-DjQzPZwU.js +0 -29
  616. package/dist/actions.runtime-CUdRdpLB.js +0 -5
  617. package/dist/actions.runtime-CxRstWdN.js +0 -18
  618. package/dist/agent-command-Nh_kPL3z.js +0 -874
  619. package/dist/agent-harness-runtime-BEb7Wk1m.js +0 -144
  620. package/dist/agent-q6U-cKJn.js +0 -2
  621. package/dist/agent-runner-utils-x_qJ6xYC.js +0 -239
  622. package/dist/agent-runner.runtime-DRvTfUPd.js +0 -3455
  623. package/dist/agent-runtime-jSYYQd6f.js +0 -18
  624. package/dist/agents-BKOpsZXw.js +0 -5
  625. package/dist/agents-BY34ViPX.js +0 -954
  626. package/dist/aliases-CD5YlX7d.js +0 -2
  627. package/dist/aliases-Dq31zANx.js +0 -96
  628. package/dist/api-BhxN9fxJ.js +0 -139
  629. package/dist/api-DjL_3olO.js +0 -5
  630. package/dist/api-jIYND-S5.js +0 -3
  631. package/dist/approval-gateway-resolver-BfvdJW5s.js +0 -29
  632. package/dist/approval-gateway-runtime-BBf976nt.js +0 -2
  633. package/dist/approval-handler-runtime-Bq4p5wvg.js +0 -439
  634. package/dist/approval-native-runtime-IrisOZrU.js +0 -729
  635. package/dist/attempt-execution.runtime-BXGalt-_.js +0 -509
  636. package/dist/attempt.prompt-helpers-A-pc2LfL.js +0 -221
  637. package/dist/attempt.tool-run-context-Ukna4ck-.js +0 -933
  638. package/dist/audit-CVUpfDvE.js +0 -939
  639. package/dist/audit.runtime-CsuGXvud.js +0 -7
  640. package/dist/auth-CjcZyRUW.js +0 -383
  641. package/dist/auth-order-DIkyTpW4.js +0 -2
  642. package/dist/auth-order-Dpt1K1rT.js +0 -96
  643. package/dist/auth-sVuL2xeZ.js +0 -2
  644. package/dist/bash-tools-DDv0zQh9.js +0 -2824
  645. package/dist/bash-tools-s-QSvRmt.js +0 -3
  646. package/dist/binding-routing-Cz5R2kFK.js +0 -85
  647. package/dist/binding-targets-D4j2hdQh.js +0 -121
  648. package/dist/bridge-server-X8SdeAI3.js +0 -113
  649. package/dist/browser-control-auth-BrF3DZxC.js +0 -2
  650. package/dist/browser-node-runtime-BecPmKOx.js +0 -12
  651. package/dist/browser-profiles-BxAKEG3x.js +0 -2
  652. package/dist/browser-runtime-D9fTDscJ.js +0 -387
  653. package/dist/browser-setup-tools--AQGWGvl.js +0 -13
  654. package/dist/build-B0nbyXrw.js +0 -550
  655. package/dist/call-BvqN9kay.js +0 -3
  656. package/dist/call-Dk5rTl-p.js +0 -331
  657. package/dist/call.runtime-Bx1hKDwO.js +0 -2
  658. package/dist/capability-cli-286Z3Bq3.js +0 -1401
  659. package/dist/catchup-DyeQ6GNj.js +0 -300
  660. package/dist/channel-B5m01jSZ.js +0 -1802
  661. package/dist/channel-BE26v3WU.js +0 -840
  662. package/dist/channel-BS7r_Zt1.js +0 -226
  663. package/dist/channel-BUWCqkGh.js +0 -1320
  664. package/dist/channel-BhgKqvZn.js +0 -453
  665. package/dist/channel-Bx703sxQ.js +0 -297
  666. package/dist/channel-CDjlEQAM.js +0 -491
  667. package/dist/channel-ChrqAgRS.js +0 -595
  668. package/dist/channel-Crmp3BHh.js +0 -1100
  669. package/dist/channel-D7GdDfBl.js +0 -1174
  670. package/dist/channel-DqSzRIul.js +0 -350
  671. package/dist/channel-core-DIwclC34.js +0 -5
  672. package/dist/channel-inbound-DPW1gRUU.js +0 -31
  673. package/dist/channel-plugin-runtime-BJhRSlBI.js +0 -771
  674. package/dist/channel-runtime-sV_Sg0EO.js +0 -425
  675. package/dist/channel.runtime-4BaNapRW.js +0 -89
  676. package/dist/channel.runtime-Bk2w0Yzd.js +0 -2364
  677. package/dist/channel.runtime-Bo5_2imz.js +0 -109
  678. package/dist/channel.runtime-CdYWlMyL.js +0 -40130
  679. package/dist/channel.runtime-CrYmCmSw.js +0 -4
  680. package/dist/channel.runtime-D3APPhVs.js +0 -430
  681. package/dist/channel.runtime-DjF1Gg6N.js +0 -576
  682. package/dist/channel.setup-BxXrmAYb.js +0 -10
  683. package/dist/channels-DHcJgMnw.js +0 -733
  684. package/dist/channels-cli-Dnq08u4r.js +0 -268
  685. package/dist/chat-BGU3UVKD.js +0 -2830
  686. package/dist/clawbot-cli-C-rqJUW-.js +0 -9
  687. package/dist/cli-BlnGJbLJ.js +0 -219
  688. package/dist/cli-D0RU1q0-.js +0 -2
  689. package/dist/cli-DBw79G2t.js +0 -72
  690. package/dist/cli-Dul37_xp.js +0 -2
  691. package/dist/cli-runner-DY8BKEmu.js +0 -286
  692. package/dist/cli-runner.runtime-5JMuegF9.js +0 -3
  693. package/dist/cli-runner.runtime-DQROn9Ve.js +0 -4
  694. package/dist/cli.runtime-CGOUREQg.js +0 -1261
  695. package/dist/client-CCBN1ydB.js +0 -138
  696. package/dist/client-PHLyQ8il.js +0 -713
  697. package/dist/command-auth-79QKQZZ3.js +0 -76
  698. package/dist/command-config-resolution-BKAgMItc.js +0 -2
  699. package/dist/command-config-resolution-BUCAmCZ_.js +0 -23
  700. package/dist/command-config-resolution.runtime-BVtfeARM.js +0 -2
  701. package/dist/command-registry-CBBqTuqk.js +0 -4
  702. package/dist/command-registry-core-D4BBKYaw.js +0 -106
  703. package/dist/command-registry-nztgeSim.js +0 -9
  704. package/dist/command-secret-gateway-g0alGmKz.js +0 -528
  705. package/dist/command-status.runtime-Dw6Zj5hL.js +0 -87
  706. package/dist/commands-acp-De-XFc40.js +0 -77
  707. package/dist/commands-compact.runtime-6gixR2a8.js +0 -10
  708. package/dist/commands-handlers.runtime-DCmZAlRN.js +0 -4599
  709. package/dist/commands-status-CION7GYY.js +0 -16
  710. package/dist/commands-status.runtime-FBwoHftv.js +0 -3
  711. package/dist/commands-subagents-control.runtime-C2xgOYKM.js +0 -2
  712. package/dist/commands-subagents-control.runtime-CgIEblx3.js +0 -3
  713. package/dist/commands-system-prompt-B-jC-KV-.js +0 -158
  714. package/dist/commands-system-prompt-DeK5Jhy_.js +0 -2
  715. package/dist/commands.runtime-CHSb1kYa.js +0 -167
  716. package/dist/compact-Dwchggv2.js +0 -1118
  717. package/dist/compact.runtime-jDUYMSjR.js +0 -12
  718. package/dist/completion-cli-DLHh5B2t.js +0 -328
  719. package/dist/config-Bnb9qa1S.js +0 -252
  720. package/dist/config-cli-DReWqAE2.js +0 -1078
  721. package/dist/configure-BLNGlWh0.js +0 -1252
  722. package/dist/configure-nPzsEeOb.js +0 -2
  723. package/dist/connect-options-C9cvS-bh.js +0 -699
  724. package/dist/control-auth-D2-P54fW.js +0 -125
  725. package/dist/control-service-CqUPgxlx.js +0 -156
  726. package/dist/conversation-id-BAzJOKBB.js +0 -235
  727. package/dist/conversation-id-WJLKuyy9.js +0 -38
  728. package/dist/conversation-runtime-D8fK5aI0.js +0 -31
  729. package/dist/core-DywmHt1k.js +0 -275
  730. package/dist/cron-cli-CeEJRkfR.js +0 -713
  731. package/dist/daemon-cli-BZZOjJHx.js +0 -12
  732. package/dist/dashboard-C0NRxmP3.js +0 -81
  733. package/dist/dashboard-DqhPgQv-.js +0 -2
  734. package/dist/delegate-DwVbOeR5.js +0 -64
  735. package/dist/detached-task-runtime-DiDRj-v-.js +0 -73
  736. package/dist/devices-cli-BKVbpwVc.js +0 -498
  737. package/dist/diagnostics-gh3UN_iV.js +0 -154
  738. package/dist/direct-dm-CwHHUkHV.js +0 -64
  739. package/dist/dispatch-B5af8_1v.js +0 -1131
  740. package/dist/dispatch-acp-DgOnUWBl.js +0 -981
  741. package/dist/dispatch-acp-manager.runtime-XWNjVh_M.js +0 -3
  742. package/dist/dispatch-acp.runtime-BdYL_ZqM.js +0 -19
  743. package/dist/doctor-device-pairing-CtGzWmXB.js +0 -307
  744. package/dist/doctor-gateway-daemon-flow-CCBI0jL4.js +0 -250
  745. package/dist/doctor-gateway-health-CkjqPFDl.js +0 -63
  746. package/dist/doctor-health-BOhuy1vP.js +0 -59
  747. package/dist/doctor-health-contributions-ChEuyLAY.js +0 -493
  748. package/dist/doctor-prompter-9nOTFD0Q.js +0 -56
  749. package/dist/doctor-workspace-status-CO5Ocwlt.js +0 -75
  750. package/dist/dreaming-GOPEFPio.js +0 -1574
  751. package/dist/dreaming-narrative-DfxHaxOU.js +0 -595
  752. package/dist/embedded-gateway-stub.runtime-B2OWcbsK.js +0 -9
  753. package/dist/exec-approvals-cli-CGeFtFbB.js +0 -498
  754. package/dist/fallbacks-CdfWAgNP.js +0 -2
  755. package/dist/fallbacks-eXbQ8TBp.js +0 -31
  756. package/dist/fallbacks-shared-akcCu5CD.js +0 -111
  757. package/dist/gateway-D-dDKqwi.js +0 -115
  758. package/dist/gateway-cli-NlsKGnqx.js +0 -1283
  759. package/dist/gateway-rpc-Cxa8dVW5.js +0 -14
  760. package/dist/gateway-rpc.runtime-D76s-oxs.js +0 -23
  761. package/dist/gateway-runtime-Dhm_gLh1.js +0 -15
  762. package/dist/gateway-status-C_L_CdOg.js +0 -584
  763. package/dist/genesis-tools-rRJB3JXY.js +0 -9166
  764. package/dist/genesis-tools.runtime-6oKokqaA.js +0 -2
  765. package/dist/get-reply-BkiDsDVY.js +0 -3897
  766. package/dist/get-reply-from-config.runtime-CHKCcj9D.js +0 -2
  767. package/dist/graph-users-BnXIYyC5.js +0 -1337
  768. package/dist/health-ZsJNENSY.js +0 -3
  769. package/dist/health-osa9LOJf.js +0 -469
  770. package/dist/health-route-8TdKOYLp.js +0 -2
  771. package/dist/health-route-BdLtX2Bg.js +0 -41
  772. package/dist/heartbeat-runner-BCbkAprr.js +0 -1292
  773. package/dist/heartbeat-runner-Dc1K8S94.js +0 -5
  774. package/dist/heartbeat-runner.runtime-pJaAsgLY.js +0 -4
  775. package/dist/hooks-cli-C3ggAz0i.js +0 -433
  776. package/dist/image-fallbacks-CiSae-lb.js +0 -2
  777. package/dist/image-fallbacks-vI8KUh6N.js +0 -31
  778. package/dist/inbound-reply-dispatch-DLM60UDh.js +0 -73
  779. package/dist/infra-runtime-CrHVeejV.js +0 -39
  780. package/dist/init-BKeEiV2q.js +0 -59
  781. package/dist/library-CHB7yTo5.js +0 -45
  782. package/dist/lifecycle-CUULToPr.js +0 -229
  783. package/dist/lifecycle-DCMpTRD2.js +0 -571
  784. package/dist/lifecycle.runtime-CP4gRxWv.js +0 -2
  785. package/dist/list-0zDFAWTF.js +0 -2
  786. package/dist/list-BaxVHTAN.js +0 -131
  787. package/dist/list-CMRMgrPs.js +0 -1212
  788. package/dist/list-DSrBtnKI.js +0 -2
  789. package/dist/list.probe-BJYSCsJY.js +0 -419
  790. package/dist/llm-slug-generator-Bn_wrWYw.js +0 -79
  791. package/dist/load-config-qC2BWt8E.js +0 -35
  792. package/dist/local-dispatch.runtime-DyU7urGc.js +0 -8
  793. package/dist/logs-cli-zK71r_PE.js +0 -265
  794. package/dist/logs-cli.runtime-k0UtiaRP.js +0 -2
  795. package/dist/main-session-restart-recovery-DMT0Oj9a.js +0 -206
  796. package/dist/managed-image-attachments-B6XXE4--.js +0 -635
  797. package/dist/managed-image-attachments-BTzWoDWE.js +0 -2
  798. package/dist/manager-BCKuWA67.js +0 -2057
  799. package/dist/manager-rGwNUzMp.js +0 -2
  800. package/dist/markdown-to-line-DmPbXQA1.js +0 -790
  801. package/dist/mcp-cli-CYpPNMcE.js +0 -725
  802. package/dist/mcp-http-wiE81iKg.js +0 -529
  803. package/dist/memory-core-host-runtime-cli-BOSQRX1T.js +0 -9
  804. package/dist/message-CUDzVGD8.js +0 -232
  805. package/dist/message-action-runner-Dy0IpKa4.js +0 -1407
  806. package/dist/message-action-runner-KkBFzZdg.js +0 -2
  807. package/dist/message-actions-Dcdb5aSR.js +0 -143
  808. package/dist/message.gateway.runtime-D86fFO99.js +0 -2
  809. package/dist/models-auth-status-DkiX4s0b.js +0 -201
  810. package/dist/models-cli-CSUot1R3.js +0 -219
  811. package/dist/monitor-BA8ByMKR.js +0 -2
  812. package/dist/monitor-Bv1GIHW5.js +0 -1661
  813. package/dist/monitor-DTFY0ruF.js +0 -788
  814. package/dist/monitor-DXH-vNGn.js +0 -1459
  815. package/dist/monitor-Df5k8NGk.js +0 -671
  816. package/dist/monitor-Dk2YRF26.js +0 -1237
  817. package/dist/monitor-auth-CZOW753A.js +0 -207
  818. package/dist/monitor-processing-Clta8N4C.js +0 -1974
  819. package/dist/monitor.runtime-3ORbPT0X.js +0 -2
  820. package/dist/monitor.webhook-CRyTxENk.js +0 -180
  821. package/dist/msteams-BE0VieXF.js +0 -35
  822. package/dist/native-hook-relay-DAwGGuEx.js +0 -519
  823. package/dist/nextcloud-talk-DfYlTFsm.js +0 -17
  824. package/dist/node-cli-Bzyci_X_.js +0 -2276
  825. package/dist/nodes-cli-Er3OZkuk.js +0 -1046
  826. package/dist/nodes-utils-Cp8QZO8-.js +0 -84
  827. package/dist/nodes.helpers-CwKAAnRA.js +0 -34
  828. package/dist/notify-D_5n_vEJ.js +0 -315
  829. package/dist/onboard-BE82RudQ.js +0 -2
  830. package/dist/onboard-Bk4xL8X7.js +0 -70
  831. package/dist/onboard-helpers-D4WYa-6g.js +0 -204
  832. package/dist/onboard-helpers-MuFxPZg5.js +0 -6
  833. package/dist/onboard-interactive-0zmI-9ia.js +0 -24
  834. package/dist/onboard-non-interactive-DIRB95mT.js +0 -635
  835. package/dist/onboard-remote-7qR1knbU.js +0 -2
  836. package/dist/onboard-remote-CLmoySkk.js +0 -193
  837. package/dist/onboard-skills-C_873OK_.js +0 -134
  838. package/dist/onboard-skills-DrlBYc0t.js +0 -2
  839. package/dist/openai-http-DzCBqW6b.js +0 -500
  840. package/dist/openresponses-http-B2zgO5hQ.js +0 -1128
  841. package/dist/operator-approvals-client-mGBl4ptH.js +0 -68
  842. package/dist/outbound.runtime--HS-MxM_.js +0 -2
  843. package/dist/pair-command-approve-CCTSQKJH.js +0 -44
  844. package/dist/persistent-bindings.lifecycle-CnmqGsQf.js +0 -85
  845. package/dist/persistent-bindings.lifecycle-Dav1TX9E.js +0 -2
  846. package/dist/pi-embedded-BSKL8IgF.js +0 -4
  847. package/dist/pi-embedded-DMM8Pfp7.js +0 -2905
  848. package/dist/pi-embedded.runtime-Bv_roBVx.js +0 -4
  849. package/dist/pi-tool-definition-adapter-OrxjlSIM.js +0 -229
  850. package/dist/pi-tools-DD1YegeL.js +0 -1057
  851. package/dist/pi-tools.before-tool-call-J9ujp9Wp.js +0 -433
  852. package/dist/pi-tools.before-tool-call-hGEgKGZQ.js +0 -2
  853. package/dist/plugin-Cg3pHepG.js +0 -12195
  854. package/dist/plugin-enabled-wEQ8BQNw.js +0 -140
  855. package/dist/plugin-registration-DLcLJgqz.js +0 -23
  856. package/dist/plugin-service-BogBl5qk.js +0 -2892
  857. package/dist/policy-Bkh8Xtnb.js +0 -328
  858. package/dist/prepare.runtime-Cd31ie7u.js +0 -815
  859. package/dist/probe-9IM22Rkf.js +0 -2
  860. package/dist/probe-ButCyV3d.js +0 -1443
  861. package/dist/probe-D7QBUio1.js +0 -45
  862. package/dist/probe-DV6CWm0r.js +0 -74
  863. package/dist/probe-DkfetvwA.js +0 -2
  864. package/dist/probe-Dxo-LQjn.js +0 -2205
  865. package/dist/probe-nil3qQAV.js +0 -241
  866. package/dist/program-DHxyOl81.js +0 -111
  867. package/dist/prompt-select-styled-BSf77q2T.js +0 -20
  868. package/dist/protocol-C4I0nfuT.js +0 -2477
  869. package/dist/provider-dispatcher-CkiPxKIr.js +0 -22
  870. package/dist/provider-dispatcher-PmsHJlUO.js +0 -2
  871. package/dist/qr-cli-BHY0TO2W.js +0 -2
  872. package/dist/qr-cli-BbjDJSKp.js +0 -349
  873. package/dist/reaction-runtime-api-DOigJrbq.js +0 -116
  874. package/dist/reactions-CogkrjNr.js +0 -998
  875. package/dist/register-service-commands-IA3Nfza5.js +0 -71
  876. package/dist/register.agent-DD0aSYye.js +0 -248
  877. package/dist/register.configure-BOy4i7Ah.js +0 -15
  878. package/dist/register.maintenance-CUp6FEOF.js +0 -363
  879. package/dist/register.message-DezTIpNI.js +0 -329
  880. package/dist/register.onboard-Brpxl9p3.js +0 -88
  881. package/dist/register.runtime-BfH5rSb_.js +0 -81
  882. package/dist/register.setup-CIt4FVv0.js +0 -150
  883. package/dist/register.status-health-sessions-IbGZwSaG.js +0 -1215
  884. package/dist/register.subclis-BFQii-42.js +0 -29
  885. package/dist/register.subclis-DlYCyoMp.js +0 -3
  886. package/dist/register.subclis-core-DcfC_0CS.js +0 -249
  887. package/dist/reply-dispatch-runtime-Lu4Metex.js +0 -13
  888. package/dist/reply-runtime-CgPzru94.js +0 -11
  889. package/dist/reply.runtime-sw14BA5F.js +0 -2
  890. package/dist/restart-health-1MNBua3p.js +0 -202
  891. package/dist/restart-health-BWGpwgPv.js +0 -2
  892. package/dist/root-help-B3zoC2OP.js +0 -44
  893. package/dist/routes-BM6fbday.js +0 -3341
  894. package/dist/routes-pVc_QLiP.js +0 -2
  895. package/dist/rpc-BGOWS7nj.js +0 -61
  896. package/dist/rpc.runtime-Ca9K3sx8.js +0 -21
  897. package/dist/run-delivery.runtime-CabntI64.js +0 -530
  898. package/dist/run-embedded.runtime-Q7wrP6Qn.js +0 -4
  899. package/dist/run-execution-cli.runtime-CtRUFc-M.js +0 -4
  900. package/dist/run-executor.runtime-Nm38xsKA.js +0 -277
  901. package/dist/run-main-UT0zTwCg.js +0 -567
  902. package/dist/run-subagent-registry.runtime-D9_scMUr.js +0 -2
  903. package/dist/run-wait-B2K_6JNL.js +0 -135
  904. package/dist/runtime-BZ296jTK.js +0 -9
  905. package/dist/runtime-DnZsw7MB.js +0 -973
  906. package/dist/runtime-api-BL9vpbvb.js +0 -14
  907. package/dist/runtime-api-BbsLJB4C.js +0 -9
  908. package/dist/runtime-api-ChwFrQRw.js +0 -9
  909. package/dist/runtime-api-_fH7M3Qh.js +0 -4
  910. package/dist/runtime-embedded-pi.runtime-TOdW-E-2.js +0 -2
  911. package/dist/runtime-internal-DGwOFi_E.js +0 -2
  912. package/dist/runtime-options-CSPfxkb1.js +0 -275
  913. package/dist/runtime-schema-DtNq1-Zd.js +0 -28576
  914. package/dist/scan-D6gkNpKl.js +0 -523
  915. package/dist/scan-_9J5-5L6.js +0 -2
  916. package/dist/secrets-cli-DlVSRQPM.js +0 -2101
  917. package/dist/security-cli-DtzNOYL2.js +0 -486
  918. package/dist/selection-CBJZE_FL.js +0 -7764
  919. package/dist/selection-XsoEF2p2.js +0 -2
  920. package/dist/send-BAaDBRfi.js +0 -156
  921. package/dist/send-BB-M1afy.js +0 -102
  922. package/dist/send.runtime-CI_75KUP.js +0 -2
  923. package/dist/server-D58E1Cua.js +0 -77
  924. package/dist/server-D6rXK0fF.js +0 -13
  925. package/dist/server-context-D5AnCc1E.js +0 -2
  926. package/dist/server-context-bt09wrJu.js +0 -847
  927. package/dist/server-node-events-CUx4-7FL.js +0 -481
  928. package/dist/server-plugin-bootstrap-CBcQpYIR.js +0 -12708
  929. package/dist/server-plugin-bootstrap-CfkBsGUg.js +0 -2
  930. package/dist/server-restart-sentinel-ByFI_0MB.js +0 -697
  931. package/dist/server.impl-DzntNeH-.js +0 -12864
  932. package/dist/session-kill-http-9MoO6FXC.js +0 -110
  933. package/dist/session-reset-service-redPsOs-.js +0 -497
  934. package/dist/session-route-C8oB2UYs.js +0 -93
  935. package/dist/session-status.runtime-D3bYBPJe.js +0 -2
  936. package/dist/session-subagent-reactivation.runtime-aat7tUag.js +0 -2
  937. package/dist/session-tab-registry-CAJ_oDsb.js +0 -581
  938. package/dist/session-visibility-Dq88jJYB.js +0 -147
  939. package/dist/sessions-helpers-C8-IkqhO.js +0 -305
  940. package/dist/sessions-history-http-4Ftuwnes.js +0 -383
  941. package/dist/sessions-patch-BsyNHOaz.js +0 -309
  942. package/dist/sessions-resolve-gKLz2Bup.js +0 -174
  943. package/dist/sessions.runtime-C1W59rQY.js +0 -2
  944. package/dist/setup-DhvXyU_5.js +0 -636
  945. package/dist/setup-api-B9Y4qPgq.js +0 -29
  946. package/dist/setup-core-CdFQ6ZXC.js +0 -176
  947. package/dist/setup-core-kXUD3Kat.js +0 -171
  948. package/dist/setup-surface-BFL9WfBs.js +0 -219
  949. package/dist/setup-surface-Cxg_nSWc.js +0 -286
  950. package/dist/setup-surface-DbooMj782.js +0 -403
  951. package/dist/setup.finalize-CKxukDYi.js +0 -547
  952. package/dist/setup.gateway-config-BhEtXwaB.js +0 -250
  953. package/dist/shared-BNVKrp5y.js +0 -76
  954. package/dist/shared-CM3mnx7z.js +0 -198
  955. package/dist/shared-CfrsSVhL.js +0 -121
  956. package/dist/slash-state-2Z-om57Q.js +0 -1911
  957. package/dist/src-DAoKvK_N.js +0 -3974
  958. package/dist/startup-context-CtYAdYwd.js +0 -312
  959. package/dist/status-B2M0Imij.js +0 -3
  960. package/dist/status-Bd-BNmiE.js +0 -2
  961. package/dist/status-D6nbpHFi.js +0 -397
  962. package/dist/status-MByUxUGu.js +0 -209
  963. package/dist/status-QUjO1tkz.js +0 -2
  964. package/dist/status-all-DPa-BiHk.js +0 -498
  965. package/dist/status-erNo8YmW.js +0 -190
  966. package/dist/status-json-command-C9rbAyj-.js +0 -84
  967. package/dist/status-json-tO3CQXIQ.js +0 -14
  968. package/dist/status-runtime-shared-DmBB_gmT.js +0 -257
  969. package/dist/status-subagents.runtime-BXAZr5y0.js +0 -18
  970. package/dist/status-text-BCeYk0-q.js +0 -237
  971. package/dist/status.gateway-connection.runtime-bt35dapy.js +0 -2
  972. package/dist/status.gather-B9a-CEev.js +0 -292
  973. package/dist/status.gather-ahBLFzk6.js +0 -2
  974. package/dist/status.runtime-BrErwtfc.js +0 -2
  975. package/dist/status.scan-D2mvM4II.js +0 -65
  976. package/dist/status.scan-overview-uOOaqp1t.js +0 -379
  977. package/dist/status.scan.fast-json-C9dkN28s.js +0 -2
  978. package/dist/status.scan.fast-json-DY3Or8S4.js +0 -132
  979. package/dist/status.summary-Cf4p2BPK.js +0 -2
  980. package/dist/status.summary-DxfZCcNa.js +0 -214
  981. package/dist/subagent-announce-CyQZsAIm.js +0 -351
  982. package/dist/subagent-announce-delivery-CgdPNjMA.js +0 -726
  983. package/dist/subagent-announce-output-D1xi4Tk1.js +0 -364
  984. package/dist/subagent-control-D-O6I8Mt.js +0 -506
  985. package/dist/subagent-followup.runtime-BbA7NPAq.js +0 -68
  986. package/dist/subagent-orphan-recovery-C6_cmAyE.js +0 -305
  987. package/dist/subagent-registry-Dn_XpDh0.js +0 -1753
  988. package/dist/subagent-registry-DodFw3pu.js +0 -3
  989. package/dist/subagent-spawn-Dw5lttXp.js +0 -1005
  990. package/dist/system-cli-CSqO2Z4K.js +0 -59
  991. package/dist/targets-CMdwh9lR.js +0 -67
  992. package/dist/task-executor-DgZSfcBk.js +0 -360
  993. package/dist/task-owner-access-9c38idlo.js +0 -74
  994. package/dist/task-registry-Z-lBPkNj.js +0 -2366
  995. package/dist/task-registry-delivery-runtime-DOV4qoj4.js +0 -2
  996. package/dist/task-registry-delivery-runtime-EATr0C3C.js +0 -3
  997. package/dist/task-registry.maintenance-C1YMEwhk.js +0 -416
  998. package/dist/task-registry.maintenance-CBfaUWcp.js +0 -2
  999. package/dist/testing-CFk04o9M.js +0 -575
  1000. package/dist/text-report-QhVG354o.js +0 -587
  1001. package/dist/tool-resolution-D6V4tg-G.js +0 -90
  1002. package/dist/tools-effective-inventory-DFU7yYvD.js +0 -152
  1003. package/dist/tools-invoke-http-y6WIa3Ku.js +0 -206
  1004. package/dist/trash-rhbwNhfQ.js +0 -24
  1005. package/dist/tui-cli-BfxeO4YM.js +0 -4575
  1006. package/dist/update-cli-DaN9bvPV.js +0 -1759
  1007. package/dist/upgrade-f5dlIxir.js +0 -1226
  1008. package/dist/video-generation-task-status-yX54iO8n.js +0 -163
  1009. package/dist/wait-for-idle-before-flush-mZrBNr5z.js +0 -5986
  1010. package/dist/wizard-models-D_avLyHR.js +0 -334
@@ -0,0 +1,1215 @@
1
+ import { c as normalizeOptionalString } from "./string-coerce-DPP_aYVc.js";
2
+ import { w as setVerbose } from "./logger-BRmjL88V.js";
3
+ import { n as defaultRuntime, r as writeRuntimeJson } from "./runtime-DDkDH9fa.js";
4
+ import { t as formatDocsLink } from "./links-C1-jbHJx.js";
5
+ import { n as isRich, r as theme } from "./theme-DD6pQv2_.js";
6
+ import { n as info$1 } from "./globals-wYf9_gv5.js";
7
+ import { a as loadConfig } from "./io-B1sv_bx7.js";
8
+ import { t as sanitizeTerminalText } from "./safe-text-BV3CaaRc.js";
9
+ import "./config-Cuf4dwjh.js";
10
+ import { a as resolveSessionFilePathOptions, i as resolveSessionFilePath } from "./paths-CV1IubzZ.js";
11
+ import { i as capEntryCount, o as pruneStaleEntries, r as resolveMaintenanceConfig, t as loadSessionStore } from "./store-load-CZTVJ-lZ.js";
12
+ import { o as updateSessionStore, u as enforceSessionDiskBudget } from "./store-4uu5L7Eg.js";
13
+ import "./sessions-qbJQTdke.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-pQuAfAL9.js";
15
+ import { n as summarizeTaskRecords } from "./task-registry.summary-D2tNVhio.js";
16
+ import "./runtime-internal-C_KZYzFK.js";
17
+ import { c as getFlowTaskSummary, n as cancelFlowById, t as cancelDetachedTaskRunById } from "./task-executor-DKnEwQ6v.js";
18
+ import { n as runCommandWithRuntime } from "./cli-utils-C80mOHVm.js";
19
+ import { t as formatHelpExamples } from "./help-format-DziqFQ8a.js";
20
+ import { n as parsePositiveIntOrUndefined } from "./helpers-ChU_9yvL.js";
21
+ import { n as healthCommand } from "./health-CFyVDYng.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-CuaCGqXR.js";
23
+ import { t as statusCommand } from "./status-BxG6n-ko.js";
24
+ import { t as compareTaskAuditFindingSortKeys } from "./task-registry.audit.shared-DNlulHlg.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-Bfd87wEV.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-XlU0nEeW.js");
706
+ return loadConfig();
707
+ }
708
+ function truncate(value, maxChars) {
709
+ if (value.length <= maxChars) return value;
710
+ if (maxChars <= 1) return value.slice(0, maxChars);
711
+ return `${value.slice(0, maxChars - 1)}…`;
712
+ }
713
+ function shortToken(value, maxChars = ID_PAD) {
714
+ const trimmed = normalizeOptionalString(value);
715
+ if (!trimmed) return "n/a";
716
+ return truncate(trimmed, maxChars);
717
+ }
718
+ function formatTaskStatusCell(status, rich) {
719
+ const padded = status.padEnd(STATUS_PAD);
720
+ if (!rich) return padded;
721
+ if (status === "succeeded") return theme.success(padded);
722
+ if (status === "failed" || status === "lost" || status === "timed_out") return theme.error(padded);
723
+ if (status === "running") return theme.accentBright(padded);
724
+ return theme.muted(padded);
725
+ }
726
+ function formatTaskRows(tasks, rich) {
727
+ const header = [
728
+ "Task".padEnd(ID_PAD),
729
+ "Kind".padEnd(RUNTIME_PAD),
730
+ "Status".padEnd(STATUS_PAD),
731
+ "Delivery".padEnd(DELIVERY_PAD),
732
+ "Run".padEnd(RUN_PAD),
733
+ "Child Session",
734
+ "Summary"
735
+ ].join(" ");
736
+ const lines = [rich ? theme.heading(header) : header];
737
+ for (const task of tasks) {
738
+ const summary = truncate(normalizeOptionalString(task.terminalSummary) || normalizeOptionalString(task.progressSummary) || normalizeOptionalString(task.label) || task.task.trim(), 80);
739
+ const line = [
740
+ shortToken(task.taskId).padEnd(ID_PAD),
741
+ task.runtime.padEnd(RUNTIME_PAD),
742
+ formatTaskStatusCell(task.status, rich),
743
+ task.deliveryStatus.padEnd(DELIVERY_PAD),
744
+ shortToken(task.runId, RUN_PAD).padEnd(RUN_PAD),
745
+ truncate(normalizeOptionalString(task.childSessionKey) || "n/a", 36).padEnd(36),
746
+ summary
747
+ ].join(" ");
748
+ lines.push(line.trimEnd());
749
+ }
750
+ return lines;
751
+ }
752
+ function formatTaskListSummary(tasks) {
753
+ const summary = summarizeTaskRecords(tasks);
754
+ return `${summary.byStatus.queued} queued · ${summary.byStatus.running} running · ${summary.failures} issues`;
755
+ }
756
+ function formatAgeMs(ageMs) {
757
+ if (typeof ageMs !== "number" || ageMs < 1e3) return "fresh";
758
+ const totalSeconds = Math.floor(ageMs / 1e3);
759
+ const days = Math.floor(totalSeconds / 86400);
760
+ const hours = Math.floor(totalSeconds % 86400 / 3600);
761
+ const minutes = Math.floor(totalSeconds % 3600 / 60);
762
+ if (days > 0) return `${days}d${hours}h`;
763
+ if (hours > 0) return `${hours}h${minutes}m`;
764
+ if (minutes > 0) return `${minutes}m`;
765
+ return `${totalSeconds}s`;
766
+ }
767
+ function compareSystemAuditFindings(left, right) {
768
+ return compareTaskAuditFindingSortKeys({
769
+ severity: left.severity,
770
+ ageMs: left.ageMs,
771
+ createdAt: left.task?.createdAt ?? left.flow?.createdAt ?? 0
772
+ }, {
773
+ severity: right.severity,
774
+ ageMs: right.ageMs,
775
+ createdAt: right.task?.createdAt ?? right.flow?.createdAt ?? 0
776
+ });
777
+ }
778
+ function formatAuditRows(findings, rich) {
779
+ const header = [
780
+ "Scope".padEnd(8),
781
+ "Severity".padEnd(8),
782
+ "Code".padEnd(22),
783
+ "Item".padEnd(ID_PAD),
784
+ "Status".padEnd(STATUS_PAD),
785
+ "Age".padEnd(8),
786
+ "Detail"
787
+ ].join(" ");
788
+ const lines = [rich ? theme.heading(header) : header];
789
+ for (const finding of findings) {
790
+ const severity = finding.severity.padEnd(8);
791
+ const status = formatTaskStatusCell(finding.status ?? "n/a", rich);
792
+ const severityCell = !rich ? severity : finding.severity === "error" ? theme.error(severity) : theme.warn(severity);
793
+ const scope = finding.kind === "task" ? "Task" : "TaskFlow";
794
+ lines.push([
795
+ scope.padEnd(8),
796
+ severityCell,
797
+ finding.code.padEnd(22),
798
+ shortToken(finding.token).padEnd(ID_PAD),
799
+ status,
800
+ formatAgeMs(finding.ageMs).padEnd(8),
801
+ truncate(finding.detail, 88)
802
+ ].join(" ").trimEnd());
803
+ }
804
+ return lines;
805
+ }
806
+ function toSystemAuditFindings(params) {
807
+ const taskFindings = listTaskAuditFindings();
808
+ const flowFindings = listTaskFlowAuditFindings();
809
+ const allFindings = [...taskFindings.map((finding) => ({
810
+ kind: "task",
811
+ severity: finding.severity,
812
+ code: finding.code,
813
+ detail: finding.detail,
814
+ ageMs: finding.ageMs,
815
+ status: finding.task.status,
816
+ token: finding.task.taskId,
817
+ task: finding.task
818
+ })), ...flowFindings.map((finding) => ({
819
+ kind: "task_flow",
820
+ severity: finding.severity,
821
+ code: finding.code,
822
+ detail: finding.detail,
823
+ ageMs: finding.ageMs,
824
+ status: finding.flow?.status ?? "n/a",
825
+ token: finding.flow?.flowId,
826
+ ...finding.flow ? { flow: finding.flow } : {}
827
+ }))];
828
+ const filteredFindings = allFindings.filter((finding) => {
829
+ if (params.severityFilter && finding.severity !== params.severityFilter) return false;
830
+ if (params.codeFilter && finding.code !== params.codeFilter) return false;
831
+ return true;
832
+ }).toSorted(compareSystemAuditFindings);
833
+ const sortedAllFindings = [...allFindings].toSorted(compareSystemAuditFindings);
834
+ return {
835
+ allFindings: sortedAllFindings,
836
+ filteredFindings,
837
+ taskFindings,
838
+ flowFindings,
839
+ summary: {
840
+ total: sortedAllFindings.length,
841
+ errors: sortedAllFindings.filter((finding) => finding.severity === "error").length,
842
+ warnings: sortedAllFindings.filter((finding) => finding.severity !== "error").length,
843
+ tasks: summarizeTaskAuditFindings(taskFindings),
844
+ taskFlows: summarizeTaskFlowAuditFindings(flowFindings)
845
+ }
846
+ };
847
+ }
848
+ async function tasksListCommand(opts, runtime) {
849
+ const runtimeFilter = opts.runtime?.trim();
850
+ const statusFilter = opts.status?.trim();
851
+ const tasks = reconcileInspectableTasks().filter((task) => {
852
+ if (runtimeFilter && task.runtime !== runtimeFilter) return false;
853
+ if (statusFilter && task.status !== statusFilter) return false;
854
+ return true;
855
+ });
856
+ if (opts.json) {
857
+ runtime.log(JSON.stringify({
858
+ count: tasks.length,
859
+ runtime: runtimeFilter ?? null,
860
+ status: statusFilter ?? null,
861
+ tasks
862
+ }, null, 2));
863
+ return;
864
+ }
865
+ runtime.log(info(`Background tasks: ${tasks.length}`));
866
+ runtime.log(info(`Task pressure: ${formatTaskListSummary(tasks)}`));
867
+ if (runtimeFilter) runtime.log(info(`Runtime filter: ${runtimeFilter}`));
868
+ if (statusFilter) runtime.log(info(`Status filter: ${statusFilter}`));
869
+ if (tasks.length === 0) {
870
+ runtime.log("No background tasks found.");
871
+ return;
872
+ }
873
+ const rich = isRich();
874
+ for (const line of formatTaskRows(tasks, rich)) runtime.log(line);
875
+ }
876
+ async function tasksShowCommand(opts, runtime) {
877
+ const task = reconcileTaskLookupToken(opts.lookup);
878
+ if (!task) {
879
+ runtime.error(`Task not found: ${opts.lookup}`);
880
+ runtime.exit(1);
881
+ return;
882
+ }
883
+ if (opts.json) {
884
+ runtime.log(JSON.stringify(task, null, 2));
885
+ return;
886
+ }
887
+ const lines = [
888
+ "Background task:",
889
+ `taskId: ${task.taskId}`,
890
+ `kind: ${task.runtime}`,
891
+ `sourceId: ${task.sourceId ?? "n/a"}`,
892
+ `status: ${task.status}`,
893
+ `result: ${task.terminalOutcome ?? "n/a"}`,
894
+ `delivery: ${task.deliveryStatus}`,
895
+ `notify: ${task.notifyPolicy}`,
896
+ `ownerKey: ${task.ownerKey}`,
897
+ `childSessionKey: ${task.childSessionKey ?? "n/a"}`,
898
+ `parentTaskId: ${task.parentTaskId ?? "n/a"}`,
899
+ `agentId: ${task.agentId ?? "n/a"}`,
900
+ `runId: ${task.runId ?? "n/a"}`,
901
+ `label: ${task.label ?? "n/a"}`,
902
+ `task: ${task.task}`,
903
+ `createdAt: ${new Date(task.createdAt).toISOString()}`,
904
+ `startedAt: ${task.startedAt ? new Date(task.startedAt).toISOString() : "n/a"}`,
905
+ `endedAt: ${task.endedAt ? new Date(task.endedAt).toISOString() : "n/a"}`,
906
+ `lastEventAt: ${task.lastEventAt ? new Date(task.lastEventAt).toISOString() : "n/a"}`,
907
+ `cleanupAfter: ${task.cleanupAfter ? new Date(task.cleanupAfter).toISOString() : "n/a"}`,
908
+ ...task.error ? [`error: ${task.error}`] : [],
909
+ ...task.progressSummary ? [`progressSummary: ${task.progressSummary}`] : [],
910
+ ...task.terminalSummary ? [`terminalSummary: ${task.terminalSummary}`] : []
911
+ ];
912
+ for (const line of lines) runtime.log(line);
913
+ }
914
+ async function tasksNotifyCommand(opts, runtime) {
915
+ const task = reconcileTaskLookupToken(opts.lookup);
916
+ if (!task) {
917
+ runtime.error(`Task not found: ${opts.lookup}`);
918
+ runtime.exit(1);
919
+ return;
920
+ }
921
+ const updated = updateTaskNotifyPolicyById({
922
+ taskId: task.taskId,
923
+ notifyPolicy: opts.notify
924
+ });
925
+ if (!updated) {
926
+ runtime.error(`Task not found: ${opts.lookup}`);
927
+ runtime.exit(1);
928
+ return;
929
+ }
930
+ runtime.log(`Updated ${updated.taskId} notify policy to ${updated.notifyPolicy}.`);
931
+ }
932
+ async function tasksCancelCommand(opts, runtime) {
933
+ const task = reconcileTaskLookupToken(opts.lookup);
934
+ if (!task) {
935
+ runtime.error(`Task not found: ${opts.lookup}`);
936
+ runtime.exit(1);
937
+ return;
938
+ }
939
+ const result = await cancelDetachedTaskRunById({
940
+ cfg: await loadTaskCancelConfig(),
941
+ taskId: task.taskId
942
+ });
943
+ if (!result.found) {
944
+ runtime.error(result.reason ?? `Task not found: ${opts.lookup}`);
945
+ runtime.exit(1);
946
+ return;
947
+ }
948
+ if (!result.cancelled) {
949
+ runtime.error(result.reason ?? `Could not cancel task: ${opts.lookup}`);
950
+ runtime.exit(1);
951
+ return;
952
+ }
953
+ const updated = getTaskById(task.taskId);
954
+ runtime.log(`Cancelled ${updated?.taskId ?? task.taskId} (${updated?.runtime ?? task.runtime})${updated?.runId ? ` run ${updated.runId}` : ""}.`);
955
+ }
956
+ async function tasksAuditCommand(opts, runtime) {
957
+ const severityFilter = opts.severity?.trim();
958
+ const codeFilter = opts.code?.trim();
959
+ const { allFindings, filteredFindings, taskFindings, summary } = toSystemAuditFindings({
960
+ severityFilter,
961
+ codeFilter
962
+ });
963
+ const limit = typeof opts.limit === "number" && opts.limit > 0 ? opts.limit : void 0;
964
+ const displayed = limit ? filteredFindings.slice(0, limit) : filteredFindings;
965
+ if (opts.json) {
966
+ const legacySummary = summarizeTaskAuditFindings(taskFindings);
967
+ runtime.log(JSON.stringify({
968
+ count: allFindings.length,
969
+ filteredCount: filteredFindings.length,
970
+ displayed: displayed.length,
971
+ filters: {
972
+ severity: severityFilter ?? null,
973
+ code: codeFilter ?? null,
974
+ limit: limit ?? null
975
+ },
976
+ summary: {
977
+ ...legacySummary,
978
+ taskFlows: summary.taskFlows,
979
+ combined: {
980
+ total: summary.total,
981
+ errors: summary.errors,
982
+ warnings: summary.warnings
983
+ }
984
+ },
985
+ findings: displayed
986
+ }, null, 2));
987
+ return;
988
+ }
989
+ runtime.log(info(`Tasks audit: ${summary.total} findings · ${summary.errors} errors · ${summary.warnings} warnings`));
990
+ if (severityFilter || codeFilter) runtime.log(info(`Showing ${filteredFindings.length} matching findings.`));
991
+ if (severityFilter) runtime.log(info(`Severity filter: ${severityFilter}`));
992
+ if (codeFilter) runtime.log(info(`Code filter: ${codeFilter}`));
993
+ if (limit) runtime.log(info(`Limit: ${limit}`));
994
+ runtime.log(info(`Task findings: ${summary.tasks.total} · TaskFlow findings: ${summary.taskFlows.total}`));
995
+ if (displayed.length === 0) {
996
+ runtime.log("No tasks audit findings.");
997
+ return;
998
+ }
999
+ const rich = isRich();
1000
+ for (const line of formatAuditRows(displayed, rich)) runtime.log(line);
1001
+ }
1002
+ async function tasksMaintenanceCommand(opts, runtime) {
1003
+ const auditBefore = getInspectableTaskAuditSummary();
1004
+ const flowAuditBefore = getInspectableTaskFlowAuditSummary();
1005
+ const taskMaintenance = opts.apply ? await runTaskRegistryMaintenance() : previewTaskRegistryMaintenance();
1006
+ const flowMaintenance = opts.apply ? await runTaskFlowRegistryMaintenance() : previewTaskFlowRegistryMaintenance();
1007
+ const summary = getInspectableTaskRegistrySummary();
1008
+ const auditAfter = opts.apply ? getInspectableTaskAuditSummary() : auditBefore;
1009
+ const flowAuditAfter = opts.apply ? getInspectableTaskFlowAuditSummary() : flowAuditBefore;
1010
+ if (opts.json) {
1011
+ runtime.log(JSON.stringify({
1012
+ mode: opts.apply ? "apply" : "preview",
1013
+ maintenance: {
1014
+ tasks: taskMaintenance,
1015
+ taskFlows: flowMaintenance
1016
+ },
1017
+ tasks: summary,
1018
+ auditBefore: {
1019
+ ...auditBefore,
1020
+ taskFlows: flowAuditBefore
1021
+ },
1022
+ auditAfter: {
1023
+ ...auditAfter,
1024
+ taskFlows: flowAuditAfter
1025
+ }
1026
+ }, null, 2));
1027
+ return;
1028
+ }
1029
+ runtime.log(info(`Tasks maintenance (${opts.apply ? "applied" : "preview"}): tasks ${taskMaintenance.reconciled} reconcile · ${taskMaintenance.recovered} recovered · ${taskMaintenance.cleanupStamped} cleanup stamp · ${taskMaintenance.pruned} prune; task-flows ${flowMaintenance.reconciled} reconcile · ${flowMaintenance.pruned} prune`));
1030
+ runtime.log(info(`${opts.apply ? "Tasks health after apply" : "Tasks health"}: ${summary.byStatus.queued} queued · ${summary.byStatus.running} running · ${auditAfter.errors + flowAuditAfter.errors} audit errors · ${auditAfter.warnings + flowAuditAfter.warnings} audit warnings`));
1031
+ if (opts.apply) runtime.log(info(`Tasks health before apply: ${auditBefore.errors + flowAuditBefore.errors} audit errors · ${auditBefore.warnings + flowAuditBefore.warnings} audit warnings`));
1032
+ if (!opts.apply) runtime.log("Dry run only. Re-run with `genesis tasks maintenance --apply` to write changes.");
1033
+ }
1034
+ //#endregion
1035
+ //#region src/cli/program/register.status-health-sessions.ts
1036
+ function resolveVerbose(opts) {
1037
+ return Boolean(opts.verbose || opts.debug);
1038
+ }
1039
+ function parseTimeoutMs(timeout) {
1040
+ const parsed = parsePositiveIntOrUndefined(timeout);
1041
+ if (timeout !== void 0 && parsed === void 0) {
1042
+ defaultRuntime.error("--timeout must be a positive integer (milliseconds)");
1043
+ defaultRuntime.exit(1);
1044
+ return null;
1045
+ }
1046
+ return parsed;
1047
+ }
1048
+ async function runWithVerboseAndTimeout(opts, action) {
1049
+ const verbose = resolveVerbose(opts);
1050
+ setVerbose(verbose);
1051
+ const timeoutMs = parseTimeoutMs(opts.timeout);
1052
+ if (timeoutMs === null) return;
1053
+ await runCommandWithRuntime(defaultRuntime, async () => {
1054
+ await action({
1055
+ verbose,
1056
+ timeoutMs
1057
+ });
1058
+ });
1059
+ }
1060
+ function registerStatusHealthSessionsCommands(program) {
1061
+ program.command("status").description("Show channel health and recent session recipients").option("--json", "Output JSON instead of text", false).option("--all", "Full diagnosis (read-only, pasteable)", false).option("--usage", "Show model provider usage/quota snapshots", false).option("--deep", "Probe channels (WhatsApp Web + Telegram + Discord + Slack + Signal)", false).option("--timeout <ms>", "Probe timeout in milliseconds", "10000").option("--verbose", "Verbose logging", false).option("--debug", "Alias for --verbose", false).addHelpText("after", () => `\n${theme.heading("Examples:")}\n${formatHelpExamples([
1062
+ ["genesis status", "Show channel health + session summary."],
1063
+ ["genesis status --all", "Full diagnosis (read-only)."],
1064
+ ["genesis status --json", "Machine-readable output."],
1065
+ ["genesis status --usage", "Show model provider usage/quota snapshots."],
1066
+ ["genesis status --deep", "Run channel probes (WA + Telegram + Discord + Slack + Signal)."],
1067
+ ["genesis status --deep --timeout 5000", "Tighten probe timeout."]
1068
+ ])}`).addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/status", "genesis.pixelzx.com/docs/cli/status")}\n`).action(async (opts) => {
1069
+ await runWithVerboseAndTimeout(opts, async ({ verbose, timeoutMs }) => {
1070
+ await statusCommand({
1071
+ json: Boolean(opts.json),
1072
+ all: Boolean(opts.all),
1073
+ deep: Boolean(opts.deep),
1074
+ usage: Boolean(opts.usage),
1075
+ timeoutMs,
1076
+ verbose
1077
+ }, defaultRuntime);
1078
+ });
1079
+ });
1080
+ program.command("health").description("Fetch health from the running gateway").option("--json", "Output JSON instead of text", false).option("--timeout <ms>", "Connection timeout in milliseconds", "10000").option("--verbose", "Verbose logging", false).option("--debug", "Alias for --verbose", false).addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/health", "genesis.pixelzx.com/docs/cli/health")}\n`).action(async (opts) => {
1081
+ await runWithVerboseAndTimeout(opts, async ({ verbose, timeoutMs }) => {
1082
+ await healthCommand({
1083
+ json: Boolean(opts.json),
1084
+ timeoutMs,
1085
+ verbose
1086
+ }, defaultRuntime);
1087
+ });
1088
+ });
1089
+ const sessionsCmd = program.command("sessions").description("List stored conversation sessions").option("--json", "Output as JSON", false).option("--verbose", "Verbose logging", false).option("--store <path>", "Path to session store (default: resolved from config)").option("--agent <id>", "Agent id to inspect (default: configured default agent)").option("--all-agents", "Aggregate sessions across all configured agents", false).option("--active <minutes>", "Only show sessions updated within the past N minutes").addHelpText("after", () => `\n${theme.heading("Examples:")}\n${formatHelpExamples([
1090
+ ["genesis sessions", "List all sessions."],
1091
+ ["genesis sessions --agent work", "List sessions for one agent."],
1092
+ ["genesis sessions --all-agents", "Aggregate sessions across agents."],
1093
+ ["genesis sessions --active 120", "Only last 2 hours."],
1094
+ ["genesis sessions --json", "Machine-readable output."],
1095
+ ["genesis sessions --store ./tmp/sessions.json", "Use a specific session store."]
1096
+ ])}\n\n${theme.muted("Shows token usage per session when the agent reports it; set agents.defaults.contextTokens to cap the window and show %.")}`).addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/sessions", "genesis.pixelzx.com/docs/cli/sessions")}\n`).action(async (opts) => {
1097
+ setVerbose(Boolean(opts.verbose));
1098
+ await sessionsCommand({
1099
+ json: Boolean(opts.json),
1100
+ store: opts.store,
1101
+ agent: opts.agent,
1102
+ allAgents: Boolean(opts.allAgents),
1103
+ active: opts.active
1104
+ }, defaultRuntime);
1105
+ });
1106
+ sessionsCmd.enablePositionalOptions();
1107
+ sessionsCmd.command("cleanup").description("Run session-store maintenance now").option("--store <path>", "Path to session store (default: resolved from config)").option("--agent <id>", "Agent id to maintain (default: configured default agent)").option("--all-agents", "Run maintenance across all configured agents", false).option("--dry-run", "Preview maintenance actions without writing", false).option("--enforce", "Apply maintenance even when configured mode is warn", false).option("--fix-missing", "Remove store entries whose transcript files are missing (bypasses age/count retention)", false).option("--active-key <key>", "Protect this session key from budget-eviction").option("--json", "Output JSON", false).addHelpText("after", () => `\n${theme.heading("Examples:")}\n${formatHelpExamples([
1108
+ ["genesis sessions cleanup --dry-run", "Preview stale/cap cleanup."],
1109
+ ["genesis sessions cleanup --dry-run --fix-missing", "Also preview pruning entries with missing transcript files."],
1110
+ ["genesis sessions cleanup --enforce", "Apply maintenance now."],
1111
+ ["genesis sessions cleanup --agent work --dry-run", "Preview one agent store."],
1112
+ ["genesis sessions cleanup --all-agents --dry-run", "Preview all agent stores."],
1113
+ ["genesis sessions cleanup --enforce --store ./tmp/sessions.json", "Use a specific store."]
1114
+ ])}`).action(async (opts, command) => {
1115
+ const parentOpts = command.parent?.opts();
1116
+ await runCommandWithRuntime(defaultRuntime, async () => {
1117
+ await sessionsCleanupCommand({
1118
+ store: opts.store ?? parentOpts?.store,
1119
+ agent: opts.agent ?? parentOpts?.agent,
1120
+ allAgents: Boolean(opts.allAgents || parentOpts?.allAgents),
1121
+ dryRun: Boolean(opts.dryRun),
1122
+ enforce: Boolean(opts.enforce),
1123
+ fixMissing: Boolean(opts.fixMissing),
1124
+ activeKey: opts.activeKey,
1125
+ json: Boolean(opts.json || parentOpts?.json)
1126
+ }, defaultRuntime);
1127
+ });
1128
+ });
1129
+ const tasksCmd = program.command("tasks").description("Inspect durable background tasks and TaskFlow state").option("--json", "Output as JSON", false).option("--runtime <name>", "Filter by kind (subagent, acp, cron, cli)").option("--status <name>", "Filter by status (queued, running, succeeded, failed, timed_out, cancelled, lost)").action(async (opts) => {
1130
+ await runCommandWithRuntime(defaultRuntime, async () => {
1131
+ await tasksListCommand({
1132
+ json: Boolean(opts.json),
1133
+ runtime: opts.runtime,
1134
+ status: opts.status
1135
+ }, defaultRuntime);
1136
+ });
1137
+ });
1138
+ tasksCmd.enablePositionalOptions();
1139
+ tasksCmd.command("list").description("List tracked background tasks").option("--json", "Output as JSON", false).option("--runtime <name>", "Filter by kind (subagent, acp, cron, cli)").option("--status <name>", "Filter by status (queued, running, succeeded, failed, timed_out, cancelled, lost)").action(async (opts, command) => {
1140
+ const parentOpts = command.parent?.opts();
1141
+ await runCommandWithRuntime(defaultRuntime, async () => {
1142
+ await tasksListCommand({
1143
+ json: Boolean(opts.json || parentOpts?.json),
1144
+ runtime: opts.runtime ?? parentOpts?.runtime,
1145
+ status: opts.status ?? parentOpts?.status
1146
+ }, defaultRuntime);
1147
+ });
1148
+ });
1149
+ tasksCmd.command("audit").description("Show stale or broken background tasks and TaskFlows").option("--json", "Output as JSON", false).option("--severity <level>", "Filter by severity (warn, error)").option("--code <name>", "Filter by finding code (stale_queued, stale_running, lost, delivery_failed, missing_cleanup, inconsistent_timestamps, restore_failed, stale_waiting, stale_blocked, cancel_stuck, missing_linked_tasks, blocked_task_missing)").option("--limit <n>", "Limit displayed findings").action(async (opts, command) => {
1150
+ const parentOpts = command.parent?.opts();
1151
+ await runCommandWithRuntime(defaultRuntime, async () => {
1152
+ await tasksAuditCommand({
1153
+ json: Boolean(opts.json || parentOpts?.json),
1154
+ severity: opts.severity,
1155
+ code: opts.code,
1156
+ limit: parsePositiveIntOrUndefined(opts.limit)
1157
+ }, defaultRuntime);
1158
+ });
1159
+ });
1160
+ tasksCmd.command("maintenance").description("Preview or apply tasks and TaskFlow maintenance").option("--json", "Output as JSON", false).option("--apply", "Apply reconciliation, cleanup stamping, and pruning", false).action(async (opts, command) => {
1161
+ const parentOpts = command.parent?.opts();
1162
+ await runCommandWithRuntime(defaultRuntime, async () => {
1163
+ await tasksMaintenanceCommand({
1164
+ json: Boolean(opts.json || parentOpts?.json),
1165
+ apply: Boolean(opts.apply)
1166
+ }, defaultRuntime);
1167
+ });
1168
+ });
1169
+ tasksCmd.command("show").description("Show one background task by task id, run id, or session key").argument("<lookup>", "Task id, run id, or session key").option("--json", "Output as JSON", false).action(async (lookup, opts, command) => {
1170
+ const parentOpts = command.parent?.opts();
1171
+ await runCommandWithRuntime(defaultRuntime, async () => {
1172
+ await tasksShowCommand({
1173
+ lookup,
1174
+ json: Boolean(opts.json || parentOpts?.json)
1175
+ }, defaultRuntime);
1176
+ });
1177
+ });
1178
+ tasksCmd.command("notify").description("Set task notify policy").argument("<lookup>", "Task id, run id, or session key").argument("<notify>", "Notify policy (done_only, state_changes, silent)").action(async (lookup, notify) => {
1179
+ await runCommandWithRuntime(defaultRuntime, async () => {
1180
+ await tasksNotifyCommand({
1181
+ lookup,
1182
+ notify
1183
+ }, defaultRuntime);
1184
+ });
1185
+ });
1186
+ tasksCmd.command("cancel").description("Cancel a running background task").argument("<lookup>", "Task id, run id, or session key").action(async (lookup) => {
1187
+ await runCommandWithRuntime(defaultRuntime, async () => {
1188
+ await tasksCancelCommand({ lookup }, defaultRuntime);
1189
+ });
1190
+ });
1191
+ const tasksFlowCmd = tasksCmd.command("flow").description("Inspect durable TaskFlow state under tasks");
1192
+ tasksFlowCmd.command("list").description("List tracked TaskFlows").option("--json", "Output as JSON", false).option("--status <name>", "Filter by status (queued, running, waiting, blocked, succeeded, failed, cancelled, lost)").action(async (opts) => {
1193
+ await runCommandWithRuntime(defaultRuntime, async () => {
1194
+ await flowsListCommand({
1195
+ json: Boolean(opts.json),
1196
+ status: opts.status
1197
+ }, defaultRuntime);
1198
+ });
1199
+ });
1200
+ tasksFlowCmd.command("show").description("Show one TaskFlow by flow id or owner key").argument("<lookup>", "Flow id or owner key").option("--json", "Output as JSON", false).action(async (lookup, opts) => {
1201
+ await runCommandWithRuntime(defaultRuntime, async () => {
1202
+ await flowsShowCommand({
1203
+ lookup,
1204
+ json: Boolean(opts.json)
1205
+ }, defaultRuntime);
1206
+ });
1207
+ });
1208
+ tasksFlowCmd.command("cancel").description("Cancel a running TaskFlow").argument("<lookup>", "Flow id or owner key").action(async (lookup) => {
1209
+ await runCommandWithRuntime(defaultRuntime, async () => {
1210
+ await flowsCancelCommand({ lookup }, defaultRuntime);
1211
+ });
1212
+ });
1213
+ }
1214
+ //#endregion
1215
+ export { registerStatusHealthSessionsCommands };