@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.
- package/CHANGELOG.md +7 -0
- package/dist/.buildstamp +1 -1
- package/dist/abort-CcNxEsSq.js +201 -0
- package/dist/abort.runtime-DZJDSf0d.js +2 -0
- package/dist/abort.runtime.js +1 -1
- package/dist/accounts-B7M6y8l8.js +107 -0
- package/dist/accounts-DddcYo7u.js +2 -0
- package/dist/accounts-v0Cqfnse.js +104 -0
- package/dist/acp-cli-D_2_Nim8.js +2193 -0
- package/dist/acp-spawn-BZPupfsZ.js +2 -0
- package/dist/acp-spawn-CWfIrbK7.js +1093 -0
- package/dist/acp-stateful-target-driver-DpCTjH5T.js +89 -0
- package/dist/action-agents-fjIM4rpc.js +67 -0
- package/dist/action-focus-cx1pm1ym.js +132 -0
- package/dist/action-help-DtyAnULB.js +7 -0
- package/dist/action-info-DF30-xZl.js +101 -0
- package/dist/action-kill-rsSdXzvX.js +33 -0
- package/dist/action-list-4VN835m2.js +21 -0
- package/dist/action-log-L032mq5B.js +30 -0
- package/dist/action-send-Dm62UP-n.js +39 -0
- package/dist/action-spawn-BuZHKlpL.js +47 -0
- package/dist/action-unfocus-CTIWf8WX.js +29 -0
- package/dist/actions.runtime-0ezEcm7K.js +18 -0
- package/dist/actions.runtime-DKsCTTnH.js +5 -0
- package/dist/actions.runtime.js +1 -1
- package/dist/agent-BTOBOCIw.js +2 -0
- package/dist/agent-command-C-_EFUUu.js +874 -0
- package/dist/agent-harness-runtime-Bye6j3EL.js +144 -0
- package/dist/agent-runner-utils-CX2vCMkx.js +239 -0
- package/dist/agent-runner.runtime-BBqrjZv4.js +3455 -0
- package/dist/agent-runner.runtime.js +1 -1
- package/dist/agent-runtime-D1LIGcNj.js +18 -0
- package/dist/agents-CME2O1l9.js +5 -0
- package/dist/agents-DsDQvAPy.js +954 -0
- package/dist/aliases-C807OidC.js +2 -0
- package/dist/aliases-jq1ap6Dz.js +96 -0
- package/dist/api-BbxKoRkD.js +3 -0
- package/dist/api-CwJPCW9U.js +139 -0
- package/dist/api-N5Kaaq64.js +5 -0
- package/dist/approval-gateway-resolver-DIPFgTnx.js +29 -0
- package/dist/approval-gateway-runtime-i0yziXk2.js +2 -0
- package/dist/approval-handler-runtime-Cdm-10f9.js +439 -0
- package/dist/approval-native-runtime-BRjeBoqL.js +729 -0
- package/dist/attempt-execution.runtime-NFTF7Cbt.js +509 -0
- package/dist/attempt-execution.runtime.js +1 -1
- package/dist/attempt.prompt-helpers-DuBXv46v.js +221 -0
- package/dist/attempt.tool-run-context-Qf-tbC-C.js +933 -0
- package/dist/audit-DsDfRhB8.js +939 -0
- package/dist/audit.runtime-ComjcUGJ.js +7 -0
- package/dist/audit.runtime.js +1 -1
- package/dist/auth-BT_gqC-D.js +2 -0
- package/dist/auth-DeUz_8w8.js +383 -0
- package/dist/auth-order-DM7UkPDa.js +96 -0
- package/dist/auth-order-yS8hXrXh.js +2 -0
- package/dist/bash-tools-D0M9gBDu.js +3 -0
- package/dist/bash-tools-tnj1gSbO.js +2824 -0
- package/dist/binding-routing-C7atXiTD.js +85 -0
- package/dist/binding-targets-CCv7agx9.js +121 -0
- package/dist/bridge-server-C5O9rTJg.js +113 -0
- package/dist/browser-control-auth-GGN_kbqE.js +2 -0
- package/dist/browser-node-runtime-B-uTSVqP.js +12 -0
- package/dist/browser-profiles-Dex2eaLH.js +2 -0
- package/dist/browser-runtime-BPocB6yO.js +387 -0
- package/dist/browser-setup-tools-gHfYeDWA.js +13 -0
- package/dist/build-BqG7RkBz.js +550 -0
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +2 -2
- package/dist/bundled/session-memory/handler.js +1 -1
- package/dist/call-BI4JvjcR.js +3 -0
- package/dist/call-wY43fzOF.js +331 -0
- package/dist/call.runtime-Dh61oVeL.js +2 -0
- package/dist/call.runtime.js +1 -1
- package/dist/capability-cli-BHz-2Stx.js +1401 -0
- package/dist/catchup-Be7tHJwK.js +300 -0
- package/dist/channel-B-6VmF4-.js +840 -0
- package/dist/channel-BCJccV-O.js +226 -0
- package/dist/channel-BDZqLbod.js +1100 -0
- package/dist/channel-BQDNgTea.js +1174 -0
- package/dist/channel-BwjThGwK.js +453 -0
- package/dist/channel-CPoThmda.js +595 -0
- package/dist/channel-CUT8NJ-B.js +350 -0
- package/dist/channel-C_Y7lv8v.js +491 -0
- package/dist/channel-Ck7-C-lB.js +297 -0
- package/dist/channel-DOpVjq4i.js +1802 -0
- package/dist/channel-core-QV9-eAtb.js +5 -0
- package/dist/channel-inbound-D_tebgdx.js +31 -0
- package/dist/channel-plugin-runtime-DXcBwNNM.js +771 -0
- package/dist/channel-runtime-D4ci0o4V.js +425 -0
- package/dist/channel-sAdF_zH-.js +1320 -0
- package/dist/channel.runtime-1swLIpNV.js +89 -0
- package/dist/channel.runtime-B9hljdNF.js +4 -0
- package/dist/channel.runtime-CSbR2pni.js +430 -0
- package/dist/channel.runtime-CdpqhnLO.js +2364 -0
- package/dist/channel.runtime-DOx6WROg.js +40130 -0
- package/dist/channel.runtime-H5Kb2LbC.js +109 -0
- package/dist/channel.runtime-V7boBc_e.js +576 -0
- package/dist/channel.runtime.js +1 -1
- package/dist/channel.setup-BXyeNJ2_.js +10 -0
- package/dist/channels-KU7bwUUs.js +733 -0
- package/dist/channels-cli-CTX6_5z3.js +268 -0
- package/dist/chat-C_i6Wp50.js +2830 -0
- package/dist/clawbot-cli-CLGPtbt-.js +9 -0
- package/dist/cli/daemon-cli.js +3 -3
- package/dist/cli-BhwHu1dK.js +72 -0
- package/dist/cli-CFsq8f2H.js +2 -0
- package/dist/cli-CNVlwurq.js +219 -0
- package/dist/cli-DLP8hKbi.js +2 -0
- package/dist/cli-runner-BbNBHV6v.js +286 -0
- package/dist/cli-runner.runtime-CfPaauuM.js +4 -0
- package/dist/cli-runner.runtime-MxBlCOO2.js +3 -0
- package/dist/cli-runner.runtime.js +1 -1
- package/dist/cli-startup-metadata.json +2 -2
- package/dist/cli.runtime-3cD-pSyn.js +1261 -0
- package/dist/cli.runtime.js +1 -1
- package/dist/client-Bl0d_7ak.js +138 -0
- package/dist/client-ClJyHgmq.js +713 -0
- package/dist/command-auth-DO32coey.js +76 -0
- package/dist/command-config-resolution-CAsa4fGg.js +2 -0
- package/dist/command-config-resolution-D6YcwuRh.js +23 -0
- package/dist/command-config-resolution.runtime-CSHDu35A.js +2 -0
- package/dist/command-config-resolution.runtime.js +1 -1
- package/dist/command-registry-BJEQrMqR.js +4 -0
- package/dist/command-registry-DI9i95nj.js +9 -0
- package/dist/command-registry-core-BpF1mggD.js +106 -0
- package/dist/command-secret-gateway-DDNHxysD.js +528 -0
- package/dist/command-status.runtime-DqYUCcEA.js +87 -0
- package/dist/command-status.runtime.js +1 -1
- package/dist/commands-acp-C_zCJPvL.js +77 -0
- package/dist/commands-compact.runtime-B6e3kwMS.js +10 -0
- package/dist/commands-compact.runtime.js +1 -1
- package/dist/commands-handlers.runtime-B0gTkAC0.js +4599 -0
- package/dist/commands-handlers.runtime.js +1 -1
- package/dist/commands-status-BgZ64sA8.js +16 -0
- package/dist/commands-status.runtime-JI89gIEU.js +3 -0
- package/dist/commands-status.runtime.js +1 -1
- package/dist/commands-subagents-control.runtime-B0hdcBxr.js +2 -0
- package/dist/commands-subagents-control.runtime-DUeSQ5j4.js +3 -0
- package/dist/commands-subagents-control.runtime.js +1 -1
- package/dist/commands-system-prompt-B7moUaCI.js +158 -0
- package/dist/commands-system-prompt-DTUkp9TH.js +2 -0
- package/dist/commands.runtime-BjCVVqol.js +167 -0
- package/dist/commands.runtime.js +1 -1
- package/dist/compact-BNJH56SX.js +1118 -0
- package/dist/compact.runtime-CYI8Yi9d.js +12 -0
- package/dist/compact.runtime.js +1 -1
- package/dist/completion-cli-Bb1Tk-vM.js +328 -0
- package/dist/config-DxkleHmo.js +252 -0
- package/dist/config-cli-CtaRB_f8.js +1078 -0
- package/dist/configure-Bp8WFryM.js +1252 -0
- package/dist/configure-DQ_X5zyT.js +2 -0
- package/dist/connect-options-BkWD0Wvv.js +699 -0
- package/dist/control-auth-Iqyldslx.js +125 -0
- package/dist/control-service-xIhkqyZE.js +156 -0
- package/dist/conversation-id-BZtOqHIz.js +38 -0
- package/dist/conversation-id-D1Q9qPFH.js +235 -0
- package/dist/conversation-runtime-B1QZ-DEM.js +31 -0
- package/dist/core-BdVAy0Wv.js +275 -0
- package/dist/cron-cli-BWM2kRKU.js +713 -0
- package/dist/daemon-cli-MRl5nyuF.js +12 -0
- package/dist/dashboard-BkdlJrnf.js +2 -0
- package/dist/dashboard-C9m86rHv.js +81 -0
- package/dist/delegate-BjUvKQlo.js +64 -0
- package/dist/detached-task-runtime-BAEzkNB8.js +73 -0
- package/dist/devices-cli-B1n6tl9f.js +498 -0
- package/dist/diagnostics-DZxWkW3i.js +154 -0
- package/dist/direct-dm-qw-uk31C.js +64 -0
- package/dist/dispatch-D0xiJ6Up.js +1131 -0
- package/dist/dispatch-acp-DVN58m9G.js +981 -0
- package/dist/dispatch-acp-manager.runtime-C8t1i5Wt.js +3 -0
- package/dist/dispatch-acp-manager.runtime.js +1 -1
- package/dist/dispatch-acp.runtime-FR0DUPpn.js +19 -0
- package/dist/dispatch-acp.runtime.js +1 -1
- package/dist/doctor-device-pairing-DIbiBPlL.js +307 -0
- package/dist/doctor-gateway-daemon-flow-BFjRlXvA.js +250 -0
- package/dist/doctor-gateway-health-uZrukX3c.js +63 -0
- package/dist/doctor-health-DKpg1bxM.js +59 -0
- package/dist/doctor-health-contributions-BoXX8ubw.js +493 -0
- package/dist/doctor-prompter-CLf5Uf10.js +56 -0
- package/dist/doctor-workspace-status-Cw61BbGy.js +75 -0
- package/dist/dreaming-Bk8dVfGi.js +1574 -0
- package/dist/dreaming-narrative-DGSQa-0N.js +595 -0
- package/dist/embedded-gateway-stub.runtime-sokWrs6B.js +9 -0
- package/dist/embedded-gateway-stub.runtime.js +1 -1
- package/dist/entry.js +2 -2
- package/dist/exec-approvals-cli-CnNETs_u.js +498 -0
- package/dist/extensionAPI.js +1 -1
- package/dist/extensions/active-memory/index.js +1 -1
- package/dist/extensions/bluebubbles/api.js +3 -3
- package/dist/extensions/bluebubbles/channel-plugin-api.js +1 -1
- package/dist/extensions/browser/browser-bridge.js +1 -1
- package/dist/extensions/browser/browser-config.js +4 -4
- package/dist/extensions/browser/browser-control-auth.js +2 -2
- package/dist/extensions/browser/browser-doctor.js +2 -2
- package/dist/extensions/browser/browser-maintenance.js +2 -2
- package/dist/extensions/browser/browser-profiles.js +2 -2
- package/dist/extensions/browser/browser-runtime-api.js +10 -10
- package/dist/extensions/browser/index.js +1 -1
- package/dist/extensions/browser/plugin-registration.js +1 -1
- package/dist/extensions/browser/register.runtime.js +3 -3
- package/dist/extensions/browser/runtime-api.js +11 -11
- package/dist/extensions/browser/test-support.js +1 -1
- package/dist/extensions/device-pair/api.js +1 -1
- package/dist/extensions/device-pair/index.js +3 -3
- package/dist/extensions/device-pair/notify.js +1 -1
- package/dist/extensions/device-pair/pair-command-approve.js +1 -1
- package/dist/extensions/google-meet/index.js +2 -2
- package/dist/extensions/imessage/api.js +3 -3
- package/dist/extensions/imessage/channel-plugin-api.js +1 -1
- package/dist/extensions/imessage/runtime-api.js +3 -3
- package/dist/extensions/irc/api.js +2 -2
- package/dist/extensions/irc/channel-plugin-api.js +1 -1
- package/dist/extensions/line/api.js +2 -2
- package/dist/extensions/line/channel-plugin-api.js +1 -1
- package/dist/extensions/line/contract-api.js +1 -1
- package/dist/extensions/line/runtime-api.js +4 -4
- package/dist/extensions/line/setup-api.js +1 -1
- package/dist/extensions/llm-task/index.js +2 -2
- package/dist/extensions/lobster/index.js +3 -3
- package/dist/extensions/lobster/runtime-api.js +1 -1
- package/dist/extensions/mattermost/api.js +1 -1
- package/dist/extensions/mattermost/channel-plugin-api.js +1 -1
- package/dist/extensions/mattermost/channel-plugin-runtime.js +1 -1
- package/dist/extensions/mattermost/policy-api.js +1 -1
- package/dist/extensions/mattermost/runtime-api.js +4 -4
- package/dist/extensions/mattermost/slash-route-api.js +1 -1
- package/dist/extensions/memory-core/api.js +1 -1
- package/dist/extensions/memory-core/cli-metadata.js +2 -2
- package/dist/extensions/memory-core/index.js +3 -3
- package/dist/extensions/memory-lancedb/cli-metadata.js +1 -1
- package/dist/extensions/msteams/api.js +1 -1
- package/dist/extensions/msteams/channel-plugin-api.js +1 -1
- package/dist/extensions/msteams/runtime-api.js +3 -3
- package/dist/extensions/msteams/test-api.js +1 -1
- package/dist/extensions/nextcloud-talk/api.js +1 -1
- package/dist/extensions/nextcloud-talk/channel-plugin-api.js +1 -1
- package/dist/extensions/nextcloud-talk/runtime-api.js +2 -2
- package/dist/extensions/openshell/index.js +2 -2
- package/dist/extensions/signal/api.js +6 -6
- package/dist/extensions/signal/channel-plugin-api.js +1 -1
- package/dist/extensions/signal/reaction-runtime-api.js +1 -1
- package/dist/extensions/signal/runtime-api.js +7 -7
- package/dist/extensions/skill-workshop/api.js +1 -1
- package/dist/extensions/skill-workshop/index.js +1 -1
- package/dist/extensions/synology-chat/api.js +1 -1
- package/dist/extensions/synology-chat/channel-plugin-api.js +1 -1
- package/dist/extensions/tlon/api.js +2 -2
- package/dist/extensions/tlon/channel-plugin-api.js +1 -1
- package/dist/extensions/tlon/runtime-api.js +1 -1
- package/dist/extensions/tlon/test-api.js +1 -1
- package/dist/extensions/twitch/api.js +1 -1
- package/dist/extensions/twitch/channel-plugin-api.js +1 -1
- package/dist/extensions/twitch/setup-plugin-api.js +1 -1
- package/dist/extensions/zalo/api.js +3 -3
- package/dist/extensions/zalo/channel-plugin-api.js +1 -1
- package/dist/extensions/zalo/runtime-api.js +2 -2
- package/dist/extensions/zalo/setup-api.js +2 -2
- package/dist/extensions/zalouser/api.js +3 -3
- package/dist/extensions/zalouser/channel-plugin-api.js +1 -1
- package/dist/extensions/zalouser/runtime-api.js +6 -6
- package/dist/extensions/zalouser/setup-plugin-api.js +1 -1
- package/dist/extensions/zalouser/test-api.js +1 -1
- package/dist/fallbacks-BwNexEVP.js +31 -0
- package/dist/fallbacks-GwVAaFt5.js +2 -0
- package/dist/fallbacks-shared-DmepG9Mq.js +111 -0
- package/dist/gateway-BB4hdlYm.js +115 -0
- package/dist/gateway-cli-Bzz62NC8.js +1283 -0
- package/dist/gateway-rpc-dyJV2osv.js +14 -0
- package/dist/gateway-rpc.runtime-DYVOEv4W.js +23 -0
- package/dist/gateway-rpc.runtime.js +1 -1
- package/dist/gateway-runtime-CqSQCYo0.js +15 -0
- package/dist/gateway-status-DdCiwrPt.js +584 -0
- package/dist/genesis-tools-Bh6dAUhK.js +9166 -0
- package/dist/genesis-tools.runtime-CiIUponP.js +2 -0
- package/dist/genesis-tools.runtime.js +1 -1
- package/dist/get-reply-from-config.runtime-Cu2DcwOW.js +2 -0
- package/dist/get-reply-from-config.runtime.js +1 -1
- package/dist/get-reply-qVmTjhwr.js +3897 -0
- package/dist/graph-users-kkSJYBNX.js +1337 -0
- package/dist/health-CFyVDYng.js +469 -0
- package/dist/health-Cl371mu8.js +3 -0
- package/dist/health-route-D0IspgUK.js +41 -0
- package/dist/health-route-D2tFKCLv.js +2 -0
- package/dist/heartbeat-runner-Bmi8YsXz.js +5 -0
- package/dist/heartbeat-runner-FSCWra2R.js +1292 -0
- package/dist/heartbeat-runner.runtime-QF8dg4j-.js +4 -0
- package/dist/heartbeat-runner.runtime.js +1 -1
- package/dist/hooks-cli-DYoG7Dz1.js +433 -0
- package/dist/image-fallbacks-5ckuJ46I.js +31 -0
- package/dist/image-fallbacks-DYnqzK01.js +2 -0
- package/dist/inbound-reply-dispatch-D5pqDZRa.js +73 -0
- package/dist/index.js +2 -2
- package/dist/infra-runtime-D08WIqN2.js +39 -0
- package/dist/init-BCgwiSZj.js +59 -0
- package/dist/library-CP9n_7AP.js +45 -0
- package/dist/lifecycle-BYam90xH.js +229 -0
- package/dist/lifecycle-DS58sNmu.js +571 -0
- package/dist/lifecycle.runtime-DMwss7xM.js +2 -0
- package/dist/lifecycle.runtime.js +1 -1
- package/dist/list-CASc4IWz.js +131 -0
- package/dist/list-CBPrBS2u.js +1212 -0
- package/dist/list-Cf7fcqQd.js +2 -0
- package/dist/list-Dqd2QyTH.js +2 -0
- package/dist/list.probe-BWcMSWDF.js +419 -0
- package/dist/llm-slug-generator-4LADFhXT.js +79 -0
- package/dist/llm-slug-generator.js +1 -1
- package/dist/load-config-DI-LDL6p.js +35 -0
- package/dist/local-dispatch.runtime-WDgraH3j.js +8 -0
- package/dist/local-dispatch.runtime.js +1 -1
- package/dist/logs-cli-zoBIelUH.js +265 -0
- package/dist/logs-cli.runtime-DxKNxXAz.js +2 -0
- package/dist/logs-cli.runtime.js +1 -1
- package/dist/main-session-restart-recovery-DWZfkOzH.js +206 -0
- package/dist/managed-image-attachments-DLDa1aE2.js +2 -0
- package/dist/managed-image-attachments-a4v60Bk3.js +635 -0
- package/dist/manager-CfUcsSI9.js +2057 -0
- package/dist/manager-DmBBLCOg.js +2 -0
- package/dist/markdown-to-line-B0mPruD_.js +790 -0
- package/dist/mcp/plugin-tools-serve.js +1 -1
- package/dist/mcp-cli-CLL9nfvE.js +725 -0
- package/dist/mcp-http-p7GbtbMx.js +529 -0
- package/dist/memory-core-host-runtime-cli-CZNYkDoE.js +9 -0
- package/dist/message-CRyNLXch.js +232 -0
- package/dist/message-action-runner-5Y4EFpWh.js +1407 -0
- package/dist/message-action-runner-Dxv-GXkn.js +2 -0
- package/dist/message-actions-DtoR6Mr2.js +143 -0
- package/dist/message.gateway.runtime-RI4cvk_E.js +2 -0
- package/dist/message.gateway.runtime.js +1 -1
- package/dist/models-auth-status-DsheCXaS.js +201 -0
- package/dist/models-cli-CQQG1U-p.js +219 -0
- package/dist/monitor-BRRSjPQY.js +1459 -0
- package/dist/monitor-Ch-cG7Si.js +1661 -0
- package/dist/monitor-ChBhfnC-.js +788 -0
- package/dist/monitor-CsvCTpjq.js +671 -0
- package/dist/monitor-DjemBuVh.js +1237 -0
- package/dist/monitor-LyGEO-KI.js +2 -0
- package/dist/monitor-auth-DVCdDwlp.js +207 -0
- package/dist/monitor-processing-Cib3ZjUe.js +1974 -0
- package/dist/monitor.runtime-DLBFALbV.js +2 -0
- package/dist/monitor.runtime.js +1 -1
- package/dist/monitor.webhook-Dktr8JA-.js +180 -0
- package/dist/msteams-G5I2CO13.js +35 -0
- package/dist/native-hook-relay-B1ArNeG5.js +519 -0
- package/dist/nextcloud-talk-DimOAfaR.js +17 -0
- package/dist/node-cli-RIjV0id4.js +2276 -0
- package/dist/nodes-cli-Cke-B80I.js +1046 -0
- package/dist/nodes-utils-CsTqKwN9.js +84 -0
- package/dist/nodes.helpers-DYpGCFer.js +34 -0
- package/dist/notify-zBChwf0-.js +315 -0
- package/dist/onboard-D6UawRld.js +2 -0
- package/dist/onboard-DfoCtk3_.js +70 -0
- package/dist/onboard-helpers-BKQMe3RX.js +6 -0
- package/dist/onboard-helpers-BLBJlQ50.js +204 -0
- package/dist/onboard-interactive-GAbQD437.js +24 -0
- package/dist/onboard-non-interactive-Bqi-JXh3.js +635 -0
- package/dist/onboard-remote-CNpTyVws.js +193 -0
- package/dist/onboard-remote-GFp2lT6Y.js +2 -0
- package/dist/onboard-skills-BQneolfo.js +2 -0
- package/dist/onboard-skills-BipqJ48b.js +134 -0
- package/dist/openai-http-CLDWjSKC.js +500 -0
- package/dist/openresponses-http-DNvXNiw_.js +1128 -0
- package/dist/operator-approvals-client-gaflvETF.js +68 -0
- package/dist/outbound.runtime-ByVsvEri.js +2 -0
- package/dist/outbound.runtime.js +1 -1
- package/dist/pair-command-approve-Dzkubc-8.js +44 -0
- package/dist/persistent-bindings.lifecycle-BhdRK7Lp.js +2 -0
- package/dist/persistent-bindings.lifecycle-DQ0AiHuy.js +85 -0
- package/dist/pi-embedded-C789hs31.js +4 -0
- package/dist/pi-embedded-CXLkrOwv.js +2905 -0
- package/dist/pi-embedded.runtime-BaHYLgKa.js +4 -0
- package/dist/pi-embedded.runtime.js +1 -1
- package/dist/pi-tool-definition-adapter-DFutc0D4.js +229 -0
- package/dist/pi-tools-k60jrAVq.js +1057 -0
- package/dist/pi-tools.before-tool-call-CFy20GCz.js +2 -0
- package/dist/pi-tools.before-tool-call-DJmPOVfQ.js +433 -0
- package/dist/plugin-BfFuIgXQ.js +12195 -0
- package/dist/plugin-enabled-dXOUnZwX.js +140 -0
- package/dist/plugin-registration-CEAozQhV.js +23 -0
- package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
- package/dist/plugin-sdk/acp-binding-runtime.js +1 -1
- package/dist/plugin-sdk/acp-runtime.js +2 -2
- package/dist/plugin-sdk/agent-harness-runtime.js +5 -5
- package/dist/plugin-sdk/agent-harness.js +6 -6
- package/dist/plugin-sdk/agent-runtime.js +2 -2
- package/dist/plugin-sdk/approval-gateway-runtime.js +2 -2
- package/dist/plugin-sdk/approval-handler-runtime.js +3 -3
- package/dist/plugin-sdk/approval-runtime.js +1 -1
- package/dist/plugin-sdk/browser-node-runtime.js +4 -4
- package/dist/plugin-sdk/browser-setup-tools.js +3 -3
- package/dist/plugin-sdk/browser-support.js +7 -7
- package/dist/plugin-sdk/channel-core.js +2 -2
- package/dist/plugin-sdk/channel-inbound.js +2 -2
- package/dist/plugin-sdk/command-auth.js +1 -1
- package/dist/plugin-sdk/command-status-runtime.js +1 -1
- package/dist/plugin-sdk/compat.js +1 -1
- package/dist/plugin-sdk/conversation-binding-runtime.js +1 -1
- package/dist/plugin-sdk/conversation-runtime.js +3 -3
- package/dist/plugin-sdk/core.js +2 -2
- package/dist/plugin-sdk/direct-dm.js +1 -1
- package/dist/plugin-sdk/gateway-runtime.js +3 -3
- package/dist/plugin-sdk/inbound-reply-dispatch.js +1 -1
- package/dist/plugin-sdk/index.js +1 -1
- package/dist/plugin-sdk/infra-runtime.js +2 -2
- package/dist/plugin-sdk/irc.js +2 -2
- package/dist/plugin-sdk/matrix.js +1 -1
- package/dist/plugin-sdk/memory-core-host-runtime-cli.js +2 -2
- package/dist/plugin-sdk/memory-core.js +2 -2
- package/dist/plugin-sdk/msteams.js +2 -2
- package/dist/plugin-sdk/nextcloud-talk.js +2 -2
- package/dist/plugin-sdk/nostr.js +1 -1
- package/dist/plugin-sdk/reply-dispatch-runtime.js +1 -1
- package/dist/plugin-sdk/reply-runtime.js +4 -4
- package/dist/plugin-sdk/runtime-secret-resolution.js +1 -1
- package/dist/plugin-sdk/runtime.js +2 -2
- package/dist/plugin-sdk/session-visibility.js +1 -1
- package/dist/plugin-sdk/testing.js +4 -4
- package/dist/plugin-sdk/tlon.js +1 -1
- package/dist/plugin-sdk/zalo.js +1 -1
- package/dist/plugin-sdk/zalouser.js +1 -1
- package/dist/plugin-service-BOpLQ8BU.js +2892 -0
- package/dist/plugins/runtime/index.js +1 -1
- package/dist/policy-DiIlt2yW.js +328 -0
- package/dist/postinstall-inventory.json +414 -414
- package/dist/prepare.runtime-Bd8adOy3.js +815 -0
- package/dist/prepare.runtime.js +1 -1
- package/dist/probe-BOlTfbzG.js +2 -0
- package/dist/probe-BSRvsN95.js +2205 -0
- package/dist/probe-CDfjQSnz.js +74 -0
- package/dist/probe-D7gHyiZV.js +241 -0
- package/dist/probe-DTNKTWSs.js +2 -0
- package/dist/probe-DcryDdZh.js +45 -0
- package/dist/probe-nyesoHxj.js +1443 -0
- package/dist/program-BFGavenz.js +111 -0
- package/dist/prompt-select-styled-BhY1zahx.js +20 -0
- package/dist/protocol-DxLbSF2J.js +2477 -0
- package/dist/provider-dispatcher-C-yy1D7r.js +22 -0
- package/dist/provider-dispatcher-ErSjESTP.js +2 -0
- package/dist/qr-cli-C1-oy_ho.js +349 -0
- package/dist/qr-cli-DmEs63Sb.js +2 -0
- package/dist/reaction-runtime-api-gua650a7.js +116 -0
- package/dist/reactions-R-rA7cXz.js +998 -0
- package/dist/register-service-commands-DkbqNKVB.js +71 -0
- package/dist/register.agent-C3nW9wDn.js +248 -0
- package/dist/register.configure-BzLHCu95.js +15 -0
- package/dist/register.maintenance-BHFQo4gr.js +363 -0
- package/dist/register.message-CsYRdfKi.js +329 -0
- package/dist/register.onboard-DltySQ6C.js +88 -0
- package/dist/register.runtime-6Sk1Njnp.js +81 -0
- package/dist/register.runtime.js +1 -1
- package/dist/register.setup-CDvVQJuj.js +150 -0
- package/dist/register.status-health-sessions-B8lorJ2x.js +1215 -0
- package/dist/register.subclis-BD4fuAci.js +3 -0
- package/dist/register.subclis-CbRd3F_m.js +29 -0
- package/dist/register.subclis-core-Dtq9dAjI.js +249 -0
- package/dist/reply-dispatch-runtime-DldslKSK.js +13 -0
- package/dist/reply-runtime-2EGTfk-1.js +11 -0
- package/dist/reply.runtime-OaHntzIS.js +2 -0
- package/dist/reply.runtime.js +1 -1
- package/dist/restart-health-BjmfJCUM.js +202 -0
- package/dist/restart-health-hw909zlD.js +2 -0
- package/dist/root-help-_hHiERsR.js +44 -0
- package/dist/routes-BxCk7Pue.js +3341 -0
- package/dist/routes-C1_6oFmZ.js +2 -0
- package/dist/rpc-zRbkEo6W.js +61 -0
- package/dist/rpc.runtime-BZSYNDPa.js +21 -0
- package/dist/rpc.runtime.js +1 -1
- package/dist/run-delivery.runtime-D6YDo67d.js +530 -0
- package/dist/run-delivery.runtime.js +1 -1
- package/dist/run-embedded.runtime-BsgPrPDa.js +4 -0
- package/dist/run-embedded.runtime.js +1 -1
- package/dist/run-execution-cli.runtime-CggaHhrJ.js +4 -0
- package/dist/run-execution-cli.runtime.js +1 -1
- package/dist/run-executor.runtime-CKkLEr_T.js +277 -0
- package/dist/run-executor.runtime.js +1 -1
- package/dist/run-main-CJYYkV6H.js +567 -0
- package/dist/run-subagent-registry.runtime-B0sgf_oy.js +2 -0
- package/dist/run-subagent-registry.runtime.js +1 -1
- package/dist/run-wait-DHizeptL.js +135 -0
- package/dist/runtime-EtV_ChXX.js +9 -0
- package/dist/runtime-api-6H864Pmt.js +9 -0
- package/dist/runtime-api-CbZqRBZQ.js +14 -0
- package/dist/runtime-api-ZxEgu8cW.js +4 -0
- package/dist/runtime-api-j9A6jYUr.js +9 -0
- package/dist/runtime-embedded-pi.runtime-BHjCPnxo.js +2 -0
- package/dist/runtime-embedded-pi.runtime.js +1 -1
- package/dist/runtime-hvRzTSAZ.js +973 -0
- package/dist/runtime-internal-C_KZYzFK.js +2 -0
- package/dist/runtime-options-BZEOCnMg.js +275 -0
- package/dist/runtime-schema-R7LWe58K.js +28576 -0
- package/dist/scan-BNDE3dSE.js +523 -0
- package/dist/scan-TG6lVEQ2.js +2 -0
- package/dist/secrets-cli-twD2FWoZ.js +2101 -0
- package/dist/security-cli-Cd1A5yhL.js +486 -0
- package/dist/selection-CqqmU0Hi.js +7764 -0
- package/dist/selection-CsM62vcz.js +2 -0
- package/dist/send-D-EgB64m.js +156 -0
- package/dist/send-DPk5hW1W.js +102 -0
- package/dist/send.runtime-3QDkKN71.js +2 -0
- package/dist/send.runtime.js +1 -1
- package/dist/server-C94r_Qff.js +77 -0
- package/dist/server-Ceiopn_v.js +13 -0
- package/dist/server-context-BFJlu5HY.js +2 -0
- package/dist/server-context-PNEqhnTM.js +847 -0
- package/dist/server-node-events-QOAWLsDC.js +481 -0
- package/dist/server-plugin-bootstrap-CgsjzB17.js +2 -0
- package/dist/server-plugin-bootstrap-Dfuf75EN.js +12728 -0
- package/dist/server-restart-sentinel-BMPqZ7Jw.js +697 -0
- package/dist/server.impl-CCoQpvB7.js +12864 -0
- package/dist/session-kill-http-oPi3ajEp.js +110 -0
- package/dist/session-reset-service-CzDd6PBK.js +497 -0
- package/dist/session-route-DUOQE8-f.js +93 -0
- package/dist/session-status.runtime-W5tlGbXw.js +2 -0
- package/dist/session-status.runtime.js +1 -1
- package/dist/session-subagent-reactivation.runtime-yoYn1awK.js +2 -0
- package/dist/session-subagent-reactivation.runtime.js +1 -1
- package/dist/session-tab-registry-DkeCaT-2.js +581 -0
- package/dist/session-visibility-B4CFjv43.js +147 -0
- package/dist/sessions-helpers-CDfOVWe3.js +305 -0
- package/dist/sessions-history-http-QXeTdxXM.js +383 -0
- package/dist/sessions-patch-xb4bXPwh.js +309 -0
- package/dist/sessions-resolve-BPlrW8C3.js +174 -0
- package/dist/sessions.runtime-yYJXudA9.js +2 -0
- package/dist/sessions.runtime.js +1 -1
- package/dist/setup-0Im0LL1d.js +636 -0
- package/dist/setup-api-BxwfqXN-.js +29 -0
- package/dist/setup-core-BWwXgEuM.js +171 -0
- package/dist/setup-core-DzHNbQLG.js +176 -0
- package/dist/setup-surface-BVnqDsfU.js +286 -0
- package/dist/setup-surface-BajZWmKz2.js +403 -0
- package/dist/setup-surface-rDO3YjSb.js +219 -0
- package/dist/setup.finalize-BsnPbdwc.js +547 -0
- package/dist/setup.gateway-config-BFawSWHL.js +250 -0
- package/dist/shared-52tFSlVk.js +121 -0
- package/dist/shared-C8ENgtxM.js +198 -0
- package/dist/shared-DbXvU7JV.js +76 -0
- package/dist/slash-state-CMuPwgKt.js +1911 -0
- package/dist/src-IzaHgU6a.js +3974 -0
- package/dist/startup-context-xJS8ckSG.js +312 -0
- package/dist/status-BO4LMTER.js +2 -0
- package/dist/status-BwY1tASe.js +3 -0
- package/dist/status-BxG6n-ko.js +397 -0
- package/dist/status-Co_cq2vy.js +2 -0
- package/dist/status-DKNeRGzW.js +190 -0
- package/dist/status-DzlIHiTS.js +209 -0
- package/dist/status-all-DF7qaWjo.js +498 -0
- package/dist/status-json-CgCilobT.js +14 -0
- package/dist/status-json-command-DAa78z3e.js +84 -0
- package/dist/status-runtime-shared-CRCuxXn_.js +257 -0
- package/dist/status-subagents.runtime-hUsBd4C5.js +18 -0
- package/dist/status-subagents.runtime.js +1 -1
- package/dist/status-text-BdbRrl1G.js +237 -0
- package/dist/status.gateway-connection.runtime-BmSTYFFO.js +2 -0
- package/dist/status.gateway-connection.runtime.js +1 -1
- package/dist/status.gather-CItmFIHS.js +292 -0
- package/dist/status.gather-qB6WOoH7.js +2 -0
- package/dist/status.runtime-ClZCgYx1.js +2 -0
- package/dist/status.runtime.js +1 -1
- package/dist/status.scan-overview-B0b0Mvng.js +379 -0
- package/dist/status.scan-xY7nUi9N.js +65 -0
- package/dist/status.scan.fast-json-BANGHOys.js +132 -0
- package/dist/status.scan.fast-json-M-DmMy2l.js +2 -0
- package/dist/status.summary-B3PlFnWw.js +2 -0
- package/dist/status.summary-adB75FOM.js +214 -0
- package/dist/subagent-announce-B4w7Mcpr.js +351 -0
- package/dist/subagent-announce-delivery-Dma0A4gL.js +726 -0
- package/dist/subagent-announce-output-sUPLcge-.js +364 -0
- package/dist/subagent-control-CxR0WRrx.js +506 -0
- package/dist/subagent-followup.runtime-XeFe_LA0.js +68 -0
- package/dist/subagent-followup.runtime.js +1 -1
- package/dist/subagent-orphan-recovery-CJPHy8JV.js +305 -0
- package/dist/subagent-registry-CjMWjRCE.js +1753 -0
- package/dist/subagent-registry-H20VxEu0.js +3 -0
- package/dist/subagent-registry.runtime.js +1 -1
- package/dist/subagent-spawn-CRM5x6cV.js +1005 -0
- package/dist/system-cli-BJ5mMirj.js +59 -0
- package/dist/targets-CUnlEj96.js +67 -0
- package/dist/task-executor-DKnEwQ6v.js +360 -0
- package/dist/task-owner-access-CfypP1Yc.js +74 -0
- package/dist/task-registry-delivery-runtime-BB6ZzpqH.js +2 -0
- package/dist/task-registry-delivery-runtime-CvHa0gv-.js +3 -0
- package/dist/task-registry-pQuAfAL9.js +2366 -0
- package/dist/task-registry.maintenance-Bfd87wEV.js +416 -0
- package/dist/task-registry.maintenance-VgfbW0yt.js +2 -0
- package/dist/telegram/token.js +1 -1
- package/dist/testing-C_mngO0u.js +575 -0
- package/dist/text-report-Ct6t3he6.js +587 -0
- package/dist/tool-resolution-C4KGgPH-.js +90 -0
- package/dist/tools-effective-inventory-Bo2QC-m8.js +152 -0
- package/dist/tools-invoke-http-CBZPFh5L.js +206 -0
- package/dist/trash-DhZow3jd.js +24 -0
- package/dist/tui-cli-BPdQPozP.js +4575 -0
- package/dist/update-cli-BRi3mVAU.js +1759 -0
- package/dist/upgrade-D9zejtCk.js +1226 -0
- package/dist/video-generation-task-status-BSBQ0_FO.js +163 -0
- package/dist/wait-for-idle-before-flush-D1dTT9th.js +5986 -0
- package/dist/wizard-models-ysyV_WWR.js +334 -0
- package/package.json +1 -1
- package/dist/abort-DaihtnYj.js +0 -201
- package/dist/abort.runtime-BUT9L_5l.js +0 -2
- package/dist/accounts-BY5wsBnV.js +0 -104
- package/dist/accounts-DGth1vsM.js +0 -107
- package/dist/accounts-Do6Ir-q3.js +0 -2
- package/dist/acp-cli-BHgjn8rh.js +0 -2193
- package/dist/acp-spawn-BAM_Jrft.js +0 -2
- package/dist/acp-spawn-DyBD_Y_t.js +0 -1093
- package/dist/acp-stateful-target-driver-DKGnfjWu.js +0 -89
- package/dist/action-agents-CzMSNQdc.js +0 -67
- package/dist/action-focus-CpjIrZFe.js +0 -132
- package/dist/action-help-BhE9UosK.js +0 -7
- package/dist/action-info-CH2j6dKT.js +0 -101
- package/dist/action-kill-CB4AnLIf.js +0 -33
- package/dist/action-list-CQ8LbzvR.js +0 -21
- package/dist/action-log-DZblh247.js +0 -30
- package/dist/action-send-DMe0B4FG.js +0 -39
- package/dist/action-spawn-CkKMESb5.js +0 -47
- package/dist/action-unfocus-DjQzPZwU.js +0 -29
- package/dist/actions.runtime-CUdRdpLB.js +0 -5
- package/dist/actions.runtime-CxRstWdN.js +0 -18
- package/dist/agent-command-Nh_kPL3z.js +0 -874
- package/dist/agent-harness-runtime-BEb7Wk1m.js +0 -144
- package/dist/agent-q6U-cKJn.js +0 -2
- package/dist/agent-runner-utils-x_qJ6xYC.js +0 -239
- package/dist/agent-runner.runtime-DRvTfUPd.js +0 -3455
- package/dist/agent-runtime-jSYYQd6f.js +0 -18
- package/dist/agents-BKOpsZXw.js +0 -5
- package/dist/agents-BY34ViPX.js +0 -954
- package/dist/aliases-CD5YlX7d.js +0 -2
- package/dist/aliases-Dq31zANx.js +0 -96
- package/dist/api-BhxN9fxJ.js +0 -139
- package/dist/api-DjL_3olO.js +0 -5
- package/dist/api-jIYND-S5.js +0 -3
- package/dist/approval-gateway-resolver-BfvdJW5s.js +0 -29
- package/dist/approval-gateway-runtime-BBf976nt.js +0 -2
- package/dist/approval-handler-runtime-Bq4p5wvg.js +0 -439
- package/dist/approval-native-runtime-IrisOZrU.js +0 -729
- package/dist/attempt-execution.runtime-BXGalt-_.js +0 -509
- package/dist/attempt.prompt-helpers-A-pc2LfL.js +0 -221
- package/dist/attempt.tool-run-context-Ukna4ck-.js +0 -933
- package/dist/audit-CVUpfDvE.js +0 -939
- package/dist/audit.runtime-CsuGXvud.js +0 -7
- package/dist/auth-CjcZyRUW.js +0 -383
- package/dist/auth-order-DIkyTpW4.js +0 -2
- package/dist/auth-order-Dpt1K1rT.js +0 -96
- package/dist/auth-sVuL2xeZ.js +0 -2
- package/dist/bash-tools-DDv0zQh9.js +0 -2824
- package/dist/bash-tools-s-QSvRmt.js +0 -3
- package/dist/binding-routing-Cz5R2kFK.js +0 -85
- package/dist/binding-targets-D4j2hdQh.js +0 -121
- package/dist/bridge-server-X8SdeAI3.js +0 -113
- package/dist/browser-control-auth-BrF3DZxC.js +0 -2
- package/dist/browser-node-runtime-BecPmKOx.js +0 -12
- package/dist/browser-profiles-BxAKEG3x.js +0 -2
- package/dist/browser-runtime-D9fTDscJ.js +0 -387
- package/dist/browser-setup-tools--AQGWGvl.js +0 -13
- package/dist/build-B0nbyXrw.js +0 -550
- package/dist/call-BvqN9kay.js +0 -3
- package/dist/call-Dk5rTl-p.js +0 -331
- package/dist/call.runtime-Bx1hKDwO.js +0 -2
- package/dist/capability-cli-286Z3Bq3.js +0 -1401
- package/dist/catchup-DyeQ6GNj.js +0 -300
- package/dist/channel-B5m01jSZ.js +0 -1802
- package/dist/channel-BE26v3WU.js +0 -840
- package/dist/channel-BS7r_Zt1.js +0 -226
- package/dist/channel-BUWCqkGh.js +0 -1320
- package/dist/channel-BhgKqvZn.js +0 -453
- package/dist/channel-Bx703sxQ.js +0 -297
- package/dist/channel-CDjlEQAM.js +0 -491
- package/dist/channel-ChrqAgRS.js +0 -595
- package/dist/channel-Crmp3BHh.js +0 -1100
- package/dist/channel-D7GdDfBl.js +0 -1174
- package/dist/channel-DqSzRIul.js +0 -350
- package/dist/channel-core-DIwclC34.js +0 -5
- package/dist/channel-inbound-DPW1gRUU.js +0 -31
- package/dist/channel-plugin-runtime-BJhRSlBI.js +0 -771
- package/dist/channel-runtime-sV_Sg0EO.js +0 -425
- package/dist/channel.runtime-4BaNapRW.js +0 -89
- package/dist/channel.runtime-Bk2w0Yzd.js +0 -2364
- package/dist/channel.runtime-Bo5_2imz.js +0 -109
- package/dist/channel.runtime-CdYWlMyL.js +0 -40130
- package/dist/channel.runtime-CrYmCmSw.js +0 -4
- package/dist/channel.runtime-D3APPhVs.js +0 -430
- package/dist/channel.runtime-DjF1Gg6N.js +0 -576
- package/dist/channel.setup-BxXrmAYb.js +0 -10
- package/dist/channels-DHcJgMnw.js +0 -733
- package/dist/channels-cli-Dnq08u4r.js +0 -268
- package/dist/chat-BGU3UVKD.js +0 -2830
- package/dist/clawbot-cli-C-rqJUW-.js +0 -9
- package/dist/cli-BlnGJbLJ.js +0 -219
- package/dist/cli-D0RU1q0-.js +0 -2
- package/dist/cli-DBw79G2t.js +0 -72
- package/dist/cli-Dul37_xp.js +0 -2
- package/dist/cli-runner-DY8BKEmu.js +0 -286
- package/dist/cli-runner.runtime-5JMuegF9.js +0 -3
- package/dist/cli-runner.runtime-DQROn9Ve.js +0 -4
- package/dist/cli.runtime-CGOUREQg.js +0 -1261
- package/dist/client-CCBN1ydB.js +0 -138
- package/dist/client-PHLyQ8il.js +0 -713
- package/dist/command-auth-79QKQZZ3.js +0 -76
- package/dist/command-config-resolution-BKAgMItc.js +0 -2
- package/dist/command-config-resolution-BUCAmCZ_.js +0 -23
- package/dist/command-config-resolution.runtime-BVtfeARM.js +0 -2
- package/dist/command-registry-CBBqTuqk.js +0 -4
- package/dist/command-registry-core-D4BBKYaw.js +0 -106
- package/dist/command-registry-nztgeSim.js +0 -9
- package/dist/command-secret-gateway-g0alGmKz.js +0 -528
- package/dist/command-status.runtime-Dw6Zj5hL.js +0 -87
- package/dist/commands-acp-De-XFc40.js +0 -77
- package/dist/commands-compact.runtime-6gixR2a8.js +0 -10
- package/dist/commands-handlers.runtime-DCmZAlRN.js +0 -4599
- package/dist/commands-status-CION7GYY.js +0 -16
- package/dist/commands-status.runtime-FBwoHftv.js +0 -3
- package/dist/commands-subagents-control.runtime-C2xgOYKM.js +0 -2
- package/dist/commands-subagents-control.runtime-CgIEblx3.js +0 -3
- package/dist/commands-system-prompt-B-jC-KV-.js +0 -158
- package/dist/commands-system-prompt-DeK5Jhy_.js +0 -2
- package/dist/commands.runtime-CHSb1kYa.js +0 -167
- package/dist/compact-Dwchggv2.js +0 -1118
- package/dist/compact.runtime-jDUYMSjR.js +0 -12
- package/dist/completion-cli-DLHh5B2t.js +0 -328
- package/dist/config-Bnb9qa1S.js +0 -252
- package/dist/config-cli-DReWqAE2.js +0 -1078
- package/dist/configure-BLNGlWh0.js +0 -1252
- package/dist/configure-nPzsEeOb.js +0 -2
- package/dist/connect-options-C9cvS-bh.js +0 -699
- package/dist/control-auth-D2-P54fW.js +0 -125
- package/dist/control-service-CqUPgxlx.js +0 -156
- package/dist/conversation-id-BAzJOKBB.js +0 -235
- package/dist/conversation-id-WJLKuyy9.js +0 -38
- package/dist/conversation-runtime-D8fK5aI0.js +0 -31
- package/dist/core-DywmHt1k.js +0 -275
- package/dist/cron-cli-CeEJRkfR.js +0 -713
- package/dist/daemon-cli-BZZOjJHx.js +0 -12
- package/dist/dashboard-C0NRxmP3.js +0 -81
- package/dist/dashboard-DqhPgQv-.js +0 -2
- package/dist/delegate-DwVbOeR5.js +0 -64
- package/dist/detached-task-runtime-DiDRj-v-.js +0 -73
- package/dist/devices-cli-BKVbpwVc.js +0 -498
- package/dist/diagnostics-gh3UN_iV.js +0 -154
- package/dist/direct-dm-CwHHUkHV.js +0 -64
- package/dist/dispatch-B5af8_1v.js +0 -1131
- package/dist/dispatch-acp-DgOnUWBl.js +0 -981
- package/dist/dispatch-acp-manager.runtime-XWNjVh_M.js +0 -3
- package/dist/dispatch-acp.runtime-BdYL_ZqM.js +0 -19
- package/dist/doctor-device-pairing-CtGzWmXB.js +0 -307
- package/dist/doctor-gateway-daemon-flow-CCBI0jL4.js +0 -250
- package/dist/doctor-gateway-health-CkjqPFDl.js +0 -63
- package/dist/doctor-health-BOhuy1vP.js +0 -59
- package/dist/doctor-health-contributions-ChEuyLAY.js +0 -493
- package/dist/doctor-prompter-9nOTFD0Q.js +0 -56
- package/dist/doctor-workspace-status-CO5Ocwlt.js +0 -75
- package/dist/dreaming-GOPEFPio.js +0 -1574
- package/dist/dreaming-narrative-DfxHaxOU.js +0 -595
- package/dist/embedded-gateway-stub.runtime-B2OWcbsK.js +0 -9
- package/dist/exec-approvals-cli-CGeFtFbB.js +0 -498
- package/dist/fallbacks-CdfWAgNP.js +0 -2
- package/dist/fallbacks-eXbQ8TBp.js +0 -31
- package/dist/fallbacks-shared-akcCu5CD.js +0 -111
- package/dist/gateway-D-dDKqwi.js +0 -115
- package/dist/gateway-cli-NlsKGnqx.js +0 -1283
- package/dist/gateway-rpc-Cxa8dVW5.js +0 -14
- package/dist/gateway-rpc.runtime-D76s-oxs.js +0 -23
- package/dist/gateway-runtime-Dhm_gLh1.js +0 -15
- package/dist/gateway-status-C_L_CdOg.js +0 -584
- package/dist/genesis-tools-rRJB3JXY.js +0 -9166
- package/dist/genesis-tools.runtime-6oKokqaA.js +0 -2
- package/dist/get-reply-BkiDsDVY.js +0 -3897
- package/dist/get-reply-from-config.runtime-CHKCcj9D.js +0 -2
- package/dist/graph-users-BnXIYyC5.js +0 -1337
- package/dist/health-ZsJNENSY.js +0 -3
- package/dist/health-osa9LOJf.js +0 -469
- package/dist/health-route-8TdKOYLp.js +0 -2
- package/dist/health-route-BdLtX2Bg.js +0 -41
- package/dist/heartbeat-runner-BCbkAprr.js +0 -1292
- package/dist/heartbeat-runner-Dc1K8S94.js +0 -5
- package/dist/heartbeat-runner.runtime-pJaAsgLY.js +0 -4
- package/dist/hooks-cli-C3ggAz0i.js +0 -433
- package/dist/image-fallbacks-CiSae-lb.js +0 -2
- package/dist/image-fallbacks-vI8KUh6N.js +0 -31
- package/dist/inbound-reply-dispatch-DLM60UDh.js +0 -73
- package/dist/infra-runtime-CrHVeejV.js +0 -39
- package/dist/init-BKeEiV2q.js +0 -59
- package/dist/library-CHB7yTo5.js +0 -45
- package/dist/lifecycle-CUULToPr.js +0 -229
- package/dist/lifecycle-DCMpTRD2.js +0 -571
- package/dist/lifecycle.runtime-CP4gRxWv.js +0 -2
- package/dist/list-0zDFAWTF.js +0 -2
- package/dist/list-BaxVHTAN.js +0 -131
- package/dist/list-CMRMgrPs.js +0 -1212
- package/dist/list-DSrBtnKI.js +0 -2
- package/dist/list.probe-BJYSCsJY.js +0 -419
- package/dist/llm-slug-generator-Bn_wrWYw.js +0 -79
- package/dist/load-config-qC2BWt8E.js +0 -35
- package/dist/local-dispatch.runtime-DyU7urGc.js +0 -8
- package/dist/logs-cli-zK71r_PE.js +0 -265
- package/dist/logs-cli.runtime-k0UtiaRP.js +0 -2
- package/dist/main-session-restart-recovery-DMT0Oj9a.js +0 -206
- package/dist/managed-image-attachments-B6XXE4--.js +0 -635
- package/dist/managed-image-attachments-BTzWoDWE.js +0 -2
- package/dist/manager-BCKuWA67.js +0 -2057
- package/dist/manager-rGwNUzMp.js +0 -2
- package/dist/markdown-to-line-DmPbXQA1.js +0 -790
- package/dist/mcp-cli-CYpPNMcE.js +0 -725
- package/dist/mcp-http-wiE81iKg.js +0 -529
- package/dist/memory-core-host-runtime-cli-BOSQRX1T.js +0 -9
- package/dist/message-CUDzVGD8.js +0 -232
- package/dist/message-action-runner-Dy0IpKa4.js +0 -1407
- package/dist/message-action-runner-KkBFzZdg.js +0 -2
- package/dist/message-actions-Dcdb5aSR.js +0 -143
- package/dist/message.gateway.runtime-D86fFO99.js +0 -2
- package/dist/models-auth-status-DkiX4s0b.js +0 -201
- package/dist/models-cli-CSUot1R3.js +0 -219
- package/dist/monitor-BA8ByMKR.js +0 -2
- package/dist/monitor-Bv1GIHW5.js +0 -1661
- package/dist/monitor-DTFY0ruF.js +0 -788
- package/dist/monitor-DXH-vNGn.js +0 -1459
- package/dist/monitor-Df5k8NGk.js +0 -671
- package/dist/monitor-Dk2YRF26.js +0 -1237
- package/dist/monitor-auth-CZOW753A.js +0 -207
- package/dist/monitor-processing-Clta8N4C.js +0 -1974
- package/dist/monitor.runtime-3ORbPT0X.js +0 -2
- package/dist/monitor.webhook-CRyTxENk.js +0 -180
- package/dist/msteams-BE0VieXF.js +0 -35
- package/dist/native-hook-relay-DAwGGuEx.js +0 -519
- package/dist/nextcloud-talk-DfYlTFsm.js +0 -17
- package/dist/node-cli-Bzyci_X_.js +0 -2276
- package/dist/nodes-cli-Er3OZkuk.js +0 -1046
- package/dist/nodes-utils-Cp8QZO8-.js +0 -84
- package/dist/nodes.helpers-CwKAAnRA.js +0 -34
- package/dist/notify-D_5n_vEJ.js +0 -315
- package/dist/onboard-BE82RudQ.js +0 -2
- package/dist/onboard-Bk4xL8X7.js +0 -70
- package/dist/onboard-helpers-D4WYa-6g.js +0 -204
- package/dist/onboard-helpers-MuFxPZg5.js +0 -6
- package/dist/onboard-interactive-0zmI-9ia.js +0 -24
- package/dist/onboard-non-interactive-DIRB95mT.js +0 -635
- package/dist/onboard-remote-7qR1knbU.js +0 -2
- package/dist/onboard-remote-CLmoySkk.js +0 -193
- package/dist/onboard-skills-C_873OK_.js +0 -134
- package/dist/onboard-skills-DrlBYc0t.js +0 -2
- package/dist/openai-http-DzCBqW6b.js +0 -500
- package/dist/openresponses-http-B2zgO5hQ.js +0 -1128
- package/dist/operator-approvals-client-mGBl4ptH.js +0 -68
- package/dist/outbound.runtime--HS-MxM_.js +0 -2
- package/dist/pair-command-approve-CCTSQKJH.js +0 -44
- package/dist/persistent-bindings.lifecycle-CnmqGsQf.js +0 -85
- package/dist/persistent-bindings.lifecycle-Dav1TX9E.js +0 -2
- package/dist/pi-embedded-BSKL8IgF.js +0 -4
- package/dist/pi-embedded-DMM8Pfp7.js +0 -2905
- package/dist/pi-embedded.runtime-Bv_roBVx.js +0 -4
- package/dist/pi-tool-definition-adapter-OrxjlSIM.js +0 -229
- package/dist/pi-tools-DD1YegeL.js +0 -1057
- package/dist/pi-tools.before-tool-call-J9ujp9Wp.js +0 -433
- package/dist/pi-tools.before-tool-call-hGEgKGZQ.js +0 -2
- package/dist/plugin-Cg3pHepG.js +0 -12195
- package/dist/plugin-enabled-wEQ8BQNw.js +0 -140
- package/dist/plugin-registration-DLcLJgqz.js +0 -23
- package/dist/plugin-service-BogBl5qk.js +0 -2892
- package/dist/policy-Bkh8Xtnb.js +0 -328
- package/dist/prepare.runtime-Cd31ie7u.js +0 -815
- package/dist/probe-9IM22Rkf.js +0 -2
- package/dist/probe-ButCyV3d.js +0 -1443
- package/dist/probe-D7QBUio1.js +0 -45
- package/dist/probe-DV6CWm0r.js +0 -74
- package/dist/probe-DkfetvwA.js +0 -2
- package/dist/probe-Dxo-LQjn.js +0 -2205
- package/dist/probe-nil3qQAV.js +0 -241
- package/dist/program-DHxyOl81.js +0 -111
- package/dist/prompt-select-styled-BSf77q2T.js +0 -20
- package/dist/protocol-C4I0nfuT.js +0 -2477
- package/dist/provider-dispatcher-CkiPxKIr.js +0 -22
- package/dist/provider-dispatcher-PmsHJlUO.js +0 -2
- package/dist/qr-cli-BHY0TO2W.js +0 -2
- package/dist/qr-cli-BbjDJSKp.js +0 -349
- package/dist/reaction-runtime-api-DOigJrbq.js +0 -116
- package/dist/reactions-CogkrjNr.js +0 -998
- package/dist/register-service-commands-IA3Nfza5.js +0 -71
- package/dist/register.agent-DD0aSYye.js +0 -248
- package/dist/register.configure-BOy4i7Ah.js +0 -15
- package/dist/register.maintenance-CUp6FEOF.js +0 -363
- package/dist/register.message-DezTIpNI.js +0 -329
- package/dist/register.onboard-Brpxl9p3.js +0 -88
- package/dist/register.runtime-BfH5rSb_.js +0 -81
- package/dist/register.setup-CIt4FVv0.js +0 -150
- package/dist/register.status-health-sessions-IbGZwSaG.js +0 -1215
- package/dist/register.subclis-BFQii-42.js +0 -29
- package/dist/register.subclis-DlYCyoMp.js +0 -3
- package/dist/register.subclis-core-DcfC_0CS.js +0 -249
- package/dist/reply-dispatch-runtime-Lu4Metex.js +0 -13
- package/dist/reply-runtime-CgPzru94.js +0 -11
- package/dist/reply.runtime-sw14BA5F.js +0 -2
- package/dist/restart-health-1MNBua3p.js +0 -202
- package/dist/restart-health-BWGpwgPv.js +0 -2
- package/dist/root-help-B3zoC2OP.js +0 -44
- package/dist/routes-BM6fbday.js +0 -3341
- package/dist/routes-pVc_QLiP.js +0 -2
- package/dist/rpc-BGOWS7nj.js +0 -61
- package/dist/rpc.runtime-Ca9K3sx8.js +0 -21
- package/dist/run-delivery.runtime-CabntI64.js +0 -530
- package/dist/run-embedded.runtime-Q7wrP6Qn.js +0 -4
- package/dist/run-execution-cli.runtime-CtRUFc-M.js +0 -4
- package/dist/run-executor.runtime-Nm38xsKA.js +0 -277
- package/dist/run-main-UT0zTwCg.js +0 -567
- package/dist/run-subagent-registry.runtime-D9_scMUr.js +0 -2
- package/dist/run-wait-B2K_6JNL.js +0 -135
- package/dist/runtime-BZ296jTK.js +0 -9
- package/dist/runtime-DnZsw7MB.js +0 -973
- package/dist/runtime-api-BL9vpbvb.js +0 -14
- package/dist/runtime-api-BbsLJB4C.js +0 -9
- package/dist/runtime-api-ChwFrQRw.js +0 -9
- package/dist/runtime-api-_fH7M3Qh.js +0 -4
- package/dist/runtime-embedded-pi.runtime-TOdW-E-2.js +0 -2
- package/dist/runtime-internal-DGwOFi_E.js +0 -2
- package/dist/runtime-options-CSPfxkb1.js +0 -275
- package/dist/runtime-schema-DtNq1-Zd.js +0 -28576
- package/dist/scan-D6gkNpKl.js +0 -523
- package/dist/scan-_9J5-5L6.js +0 -2
- package/dist/secrets-cli-DlVSRQPM.js +0 -2101
- package/dist/security-cli-DtzNOYL2.js +0 -486
- package/dist/selection-CBJZE_FL.js +0 -7764
- package/dist/selection-XsoEF2p2.js +0 -2
- package/dist/send-BAaDBRfi.js +0 -156
- package/dist/send-BB-M1afy.js +0 -102
- package/dist/send.runtime-CI_75KUP.js +0 -2
- package/dist/server-D58E1Cua.js +0 -77
- package/dist/server-D6rXK0fF.js +0 -13
- package/dist/server-context-D5AnCc1E.js +0 -2
- package/dist/server-context-bt09wrJu.js +0 -847
- package/dist/server-node-events-CUx4-7FL.js +0 -481
- package/dist/server-plugin-bootstrap-CBcQpYIR.js +0 -12708
- package/dist/server-plugin-bootstrap-CfkBsGUg.js +0 -2
- package/dist/server-restart-sentinel-ByFI_0MB.js +0 -697
- package/dist/server.impl-DzntNeH-.js +0 -12864
- package/dist/session-kill-http-9MoO6FXC.js +0 -110
- package/dist/session-reset-service-redPsOs-.js +0 -497
- package/dist/session-route-C8oB2UYs.js +0 -93
- package/dist/session-status.runtime-D3bYBPJe.js +0 -2
- package/dist/session-subagent-reactivation.runtime-aat7tUag.js +0 -2
- package/dist/session-tab-registry-CAJ_oDsb.js +0 -581
- package/dist/session-visibility-Dq88jJYB.js +0 -147
- package/dist/sessions-helpers-C8-IkqhO.js +0 -305
- package/dist/sessions-history-http-4Ftuwnes.js +0 -383
- package/dist/sessions-patch-BsyNHOaz.js +0 -309
- package/dist/sessions-resolve-gKLz2Bup.js +0 -174
- package/dist/sessions.runtime-C1W59rQY.js +0 -2
- package/dist/setup-DhvXyU_5.js +0 -636
- package/dist/setup-api-B9Y4qPgq.js +0 -29
- package/dist/setup-core-CdFQ6ZXC.js +0 -176
- package/dist/setup-core-kXUD3Kat.js +0 -171
- package/dist/setup-surface-BFL9WfBs.js +0 -219
- package/dist/setup-surface-Cxg_nSWc.js +0 -286
- package/dist/setup-surface-DbooMj782.js +0 -403
- package/dist/setup.finalize-CKxukDYi.js +0 -547
- package/dist/setup.gateway-config-BhEtXwaB.js +0 -250
- package/dist/shared-BNVKrp5y.js +0 -76
- package/dist/shared-CM3mnx7z.js +0 -198
- package/dist/shared-CfrsSVhL.js +0 -121
- package/dist/slash-state-2Z-om57Q.js +0 -1911
- package/dist/src-DAoKvK_N.js +0 -3974
- package/dist/startup-context-CtYAdYwd.js +0 -312
- package/dist/status-B2M0Imij.js +0 -3
- package/dist/status-Bd-BNmiE.js +0 -2
- package/dist/status-D6nbpHFi.js +0 -397
- package/dist/status-MByUxUGu.js +0 -209
- package/dist/status-QUjO1tkz.js +0 -2
- package/dist/status-all-DPa-BiHk.js +0 -498
- package/dist/status-erNo8YmW.js +0 -190
- package/dist/status-json-command-C9rbAyj-.js +0 -84
- package/dist/status-json-tO3CQXIQ.js +0 -14
- package/dist/status-runtime-shared-DmBB_gmT.js +0 -257
- package/dist/status-subagents.runtime-BXAZr5y0.js +0 -18
- package/dist/status-text-BCeYk0-q.js +0 -237
- package/dist/status.gateway-connection.runtime-bt35dapy.js +0 -2
- package/dist/status.gather-B9a-CEev.js +0 -292
- package/dist/status.gather-ahBLFzk6.js +0 -2
- package/dist/status.runtime-BrErwtfc.js +0 -2
- package/dist/status.scan-D2mvM4II.js +0 -65
- package/dist/status.scan-overview-uOOaqp1t.js +0 -379
- package/dist/status.scan.fast-json-C9dkN28s.js +0 -2
- package/dist/status.scan.fast-json-DY3Or8S4.js +0 -132
- package/dist/status.summary-Cf4p2BPK.js +0 -2
- package/dist/status.summary-DxfZCcNa.js +0 -214
- package/dist/subagent-announce-CyQZsAIm.js +0 -351
- package/dist/subagent-announce-delivery-CgdPNjMA.js +0 -726
- package/dist/subagent-announce-output-D1xi4Tk1.js +0 -364
- package/dist/subagent-control-D-O6I8Mt.js +0 -506
- package/dist/subagent-followup.runtime-BbA7NPAq.js +0 -68
- package/dist/subagent-orphan-recovery-C6_cmAyE.js +0 -305
- package/dist/subagent-registry-Dn_XpDh0.js +0 -1753
- package/dist/subagent-registry-DodFw3pu.js +0 -3
- package/dist/subagent-spawn-Dw5lttXp.js +0 -1005
- package/dist/system-cli-CSqO2Z4K.js +0 -59
- package/dist/targets-CMdwh9lR.js +0 -67
- package/dist/task-executor-DgZSfcBk.js +0 -360
- package/dist/task-owner-access-9c38idlo.js +0 -74
- package/dist/task-registry-Z-lBPkNj.js +0 -2366
- package/dist/task-registry-delivery-runtime-DOV4qoj4.js +0 -2
- package/dist/task-registry-delivery-runtime-EATr0C3C.js +0 -3
- package/dist/task-registry.maintenance-C1YMEwhk.js +0 -416
- package/dist/task-registry.maintenance-CBfaUWcp.js +0 -2
- package/dist/testing-CFk04o9M.js +0 -575
- package/dist/text-report-QhVG354o.js +0 -587
- package/dist/tool-resolution-D6V4tg-G.js +0 -90
- package/dist/tools-effective-inventory-DFU7yYvD.js +0 -152
- package/dist/tools-invoke-http-y6WIa3Ku.js +0 -206
- package/dist/trash-rhbwNhfQ.js +0 -24
- package/dist/tui-cli-BfxeO4YM.js +0 -4575
- package/dist/update-cli-DaN9bvPV.js +0 -1759
- package/dist/upgrade-f5dlIxir.js +0 -1226
- package/dist/video-generation-task-status-yX54iO8n.js +0 -163
- package/dist/wait-for-idle-before-flush-mZrBNr5z.js +0 -5986
- package/dist/wizard-models-D_avLyHR.js +0 -334
|
@@ -1,1215 +0,0 @@
|
|
|
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-Z-lBPkNj.js";
|
|
15
|
-
import { n as summarizeTaskRecords } from "./task-registry.summary-D2tNVhio.js";
|
|
16
|
-
import "./runtime-internal-DGwOFi_E.js";
|
|
17
|
-
import { c as getFlowTaskSummary, n as cancelFlowById, t as cancelDetachedTaskRunById } from "./task-executor-DgZSfcBk.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-osa9LOJf.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-D6nbpHFi.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-C1YMEwhk.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 };
|