remoteclaw 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/dist/{accounts-Qulj3jS8.js → accounts-B0V43QEN.js} +1 -1
  2. package/dist/{accounts-PoAEsvXo.js → accounts-DObM4hAF.js} +2 -2
  3. package/dist/{accounts-C_7Xc5wa.js → accounts-DZ4c6f7x.js} +1 -1
  4. package/dist/{active-listener-nMUQ-dVt.js → active-listener-DVLYzYd3.js} +1 -1
  5. package/dist/{agent-O04J-JEw.js → agent-B2leLOo0.js} +377 -355
  6. package/dist/{agent-scope-wbu0VZoq.js → agent-scope-CYJrXxD6.js} +1 -1
  7. package/dist/{agents-BbQIzW1N.js → agents-Eg0_nSnn.js} +1 -1
  8. package/dist/{banner-DONy2WbW.js → banner-B52X-rEb.js} +1 -1
  9. package/dist/{bindings-0dx8vqz9.js → bindings-AUVd82yI.js} +2 -2
  10. package/dist/boot/handler.js +46 -46
  11. package/dist/build-info.json +3 -3
  12. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  13. package/dist/{channel-activity-D47P56pj.js → channel-activity-Bydtz0cv.js} +2 -2
  14. package/dist/{channel-options-DWOSBsjN.js → channel-options-CD6ZBbON.js} +1 -1
  15. package/dist/{channel-options-JoYluwGr.js → channel-options-h1pCAx0w.js} +1 -1
  16. package/dist/{channel-web-YLHk99fU.js → channel-web-DbNWyl5A.js} +2 -2
  17. package/dist/{channel-web-Cvf5FKyf.js → channel-web-FA7MGFJO.js} +2 -2
  18. package/dist/{channels-cli-Be0_n1L2.js → channels-cli-BIArqz2T.js} +9 -9
  19. package/dist/{channels-cli-BoDA0aQ1.js → channels-cli-BZ5sRWaP.js} +9 -9
  20. package/dist/{chunk-C5Oai9vm.js → chunk-0ZB8yVlw.js} +1 -1
  21. package/dist/{cli-BEOzFl_6.js → cli-C8XFOFxS.js} +5 -5
  22. package/dist/{cli-D1ORFJ6n.js → cli-ifZiERUK.js} +5 -5
  23. package/dist/command-logger/handler.js +1 -1
  24. package/dist/{command-registry-D6LIEhaY.js → command-registry-kxjFHjjE.js} +9 -9
  25. package/dist/{commands-registry-CB3qR3Ui.js → commands-registry-BQrQnwzJ.js} +3 -3
  26. package/dist/{completion-cli-ohSjYC4v.js → completion-cli-eH6YXa0H.js} +1 -1
  27. package/dist/{completion-cli-D93-g9B7.js → completion-cli-wYa36YaL.js} +2 -2
  28. package/dist/{config-Ca5Dfk8O.js → config-BIrnJuXL.js} +8 -8
  29. package/dist/{config-cli-CJ1S3_VC.js → config-cli-BfJacpda.js} +1 -1
  30. package/dist/{config-cli-uJUr7Pe-.js → config-cli-CkJFUL61.js} +1 -1
  31. package/dist/{configure-CXjIsq-V.js → configure-C9cTz03s.js} +2 -2
  32. package/dist/{configure-BAlORoYU.js → configure-Dh-yP8hn.js} +2 -2
  33. package/dist/{deliver-BGpFaGMz.js → deliver-B5eZoNwr.js} +2 -2
  34. package/dist/{deliver-D3lJfcWr.js → deliver-Cu2kD7-u.js} +2 -2
  35. package/dist/{deliver-BTjGqSGN.js → deliver-z04wZfnQ.js} +8 -8
  36. package/dist/{dock-C0qWBS5h.js → dock-BQ3iSblF.js} +5 -5
  37. package/dist/{doctor-completion-CKGabXFn.js → doctor-completion-Cz3-0qwJ.js} +1 -1
  38. package/dist/{doctor-completion-Bo9yo8-v.js → doctor-completion-D6DqtWrm.js} +1 -1
  39. package/dist/entry.js +1 -1
  40. package/dist/{env-Bs-DOhs6.js → env-D3fELH5B.js} +1 -1
  41. package/dist/{errors-bgTXk4n7.js → errors-Bg7BK273.js} +1 -1
  42. package/dist/extensionAPI.js +23 -1
  43. package/dist/{fetch-C-q-x9xS.js → fetch--eFpeNac.js} +3 -3
  44. package/dist/{fetch-B_D1a6ac.js → fetch-C3R1kkzO.js} +1 -1
  45. package/dist/{gateway-cli-DC1V6Fdf.js → gateway-cli-DuMZZmMm.js} +23 -14
  46. package/dist/{gateway-cli-CUPV9YIf.js → gateway-cli-ZPbldBb7.js} +23 -14
  47. package/dist/{health-D5YyZkng.js → health-6NZ23ZCc.js} +5 -5
  48. package/dist/{health-uTVcqwOx.js → health-D6T18gwU.js} +5 -5
  49. package/dist/{heartbeat-visibility-Z_3IqRgn.js → heartbeat-visibility-CXLlnSbK.js} +1 -1
  50. package/dist/{heartbeat-visibility-GeWWsF3e.js → heartbeat-visibility-CksK28e2.js} +1 -1
  51. package/dist/{hook-runner-global-D8bMcDPD.js → hook-runner-global-DPdZsDAH.js} +1 -1
  52. package/dist/{hooks-cli-DToXVDBQ.js → hooks-cli-CQAdRG0h.js} +6 -6
  53. package/dist/{hooks-cli-CpWC6lUu.js → hooks-cli-c8IB_ozo.js} +6 -6
  54. package/dist/{image-ops-CAVojpnw.js → image-ops-CD4YRYFY.js} +2 -2
  55. package/dist/index.js +10 -10
  56. package/dist/{ir-CDjoXuIW.js → ir-BK7K3Bbu.js} +6 -6
  57. package/dist/{logger-Bp0X6yHd.js → logger-BKFID___.js} +1 -1
  58. package/dist/{login-DWKSrC5K.js → login-BYHOjw55.js} +6 -6
  59. package/dist/{login-qr-C7zaGKxz.js → login-qr-ZRBRz2BA.js} +8 -8
  60. package/dist/{markdown-tables-Bm7xJUcn.js → markdown-tables-CfM1ner1.js} +1 -1
  61. package/dist/{message-action-names-y0-o46BN.js → message-action-names-AEii-fdA.js} +5 -5
  62. package/dist/{message-action-names-PbKqmcBa.js → message-action-names-CPJVqkJL.js} +5 -5
  63. package/dist/{message-channel-BuWy8hEk.js → message-channel-tSSi5C96.js} +1 -1
  64. package/dist/{npm-resolution-BLL-hroo.js → npm-resolution-C6jVPSqS.js} +1 -1
  65. package/dist/{npm-resolution-o9lE9iRL.js → npm-resolution-CdEbWlwy.js} +1 -1
  66. package/dist/{onboard-BohVFYna.js → onboard-CVpITzvB.js} +2 -2
  67. package/dist/{onboard-channels-DMgpmtQu.js → onboard-channels-D664lpQl.js} +1 -1
  68. package/dist/{onboard-channels-DzuidyBQ.js → onboard-channels-DReWe-Pi.js} +1 -1
  69. package/dist/{onboard-BKfLjwEp.js → onboard-zh78fAIB.js} +2 -2
  70. package/dist/{onboarding-sWcrQljf.js → onboarding-BnS6FhcE.js} +3 -3
  71. package/dist/{onboarding-BLgEs3xo.js → onboarding-CCahs79c.js} +3 -3
  72. package/dist/{onboarding.finalize-D5VLM268.js → onboarding.finalize-CmYoFs6n.js} +9 -9
  73. package/dist/{onboarding.finalize-CLmpb0fB.js → onboarding.finalize-uTFFUZ8O.js} +10 -10
  74. package/dist/{onboarding.gateway-config-DsTEqzPz.js → onboarding.gateway-config-DQX6SBU8.js} +1 -1
  75. package/dist/{onboarding.gateway-config-D-ZMefuj.js → onboarding.gateway-config-DYjDeKEw.js} +1 -1
  76. package/dist/{outbound-CCvRhb_6.js → outbound-BCY7cG5r.js} +6 -6
  77. package/dist/{outbound-attachment-BXwueqll.js → outbound-attachment-6NNNORlp.js} +3 -3
  78. package/dist/{plugin-registry-C-OlCiRd.js → plugin-registry-BC1RH6cl.js} +1 -1
  79. package/dist/{plugin-registry-LBCvRwK8.js → plugin-registry-TC2kC2iG.js} +1 -1
  80. package/dist/plugin-sdk/agents/session-run-registry.d.ts +36 -0
  81. package/dist/plugin-sdk/{channel-web-CM3jOFIe.js → channel-web-DSYJDq30.js} +4 -4
  82. package/dist/plugin-sdk/{deliver-DOBaX9a2.js → deliver-BzPIWEw5.js} +1 -1
  83. package/dist/plugin-sdk/index.js +5 -5
  84. package/dist/plugin-sdk/{reply-sVftK2Ge.js → reply-Dzts0EiK.js} +22 -8
  85. package/dist/plugin-sdk/{reply-payloads-DybMtW8a.js → reply-payloads-DwsjAWzB.js} +7 -1
  86. package/dist/plugin-sdk/{subagent-registry-BfxxwQv4.js → subagent-registry-DrBYYinw.js} +221 -5
  87. package/dist/plugin-sdk/web-afnwTWMq.js +7 -0
  88. package/dist/{plugins-cli-DCkrm_Bp.js → plugins-cli-CModgvwT.js} +6 -6
  89. package/dist/{plugins-cli-ChGSPhWr.js → plugins-cli-CpdkQdKD.js} +6 -6
  90. package/dist/{plugins-ODda1fNU.js → plugins-sjrWIkqk.js} +4 -4
  91. package/dist/{preflight-B9B3VBaW.js → preflight-a80t-iPi.js} +63 -63
  92. package/dist/{program-DYx2DvMr.js → program-BlZGbNe5.js} +11 -11
  93. package/dist/{program-context-B_oA8k9e.js → program-context-BVx30291.js} +16 -16
  94. package/dist/{prompt-select-styled-tATNv5wG.js → prompt-select-styled-Bqov4T-S.js} +4 -4
  95. package/dist/{prompt-select-styled-CHuBVQoF.js → prompt-select-styled-CtPeDmXo.js} +4 -4
  96. package/dist/{provider-dispatcher-CaVZ8Nhx.js → provider-dispatcher-BD5K64cR.js} +44 -22
  97. package/dist/{redact-DUvSdQvv.js → redact-D2_cayCv.js} +1 -1
  98. package/dist/{register.agent-mJGdqH4r.js → register.agent-B89Ymzwt.js} +8 -8
  99. package/dist/{register.agent-CAkJcVgr.js → register.agent-CuhMDT3t.js} +7 -7
  100. package/dist/{register.configure-BhkIDDW5.js → register.configure-C8WcdyT6.js} +9 -9
  101. package/dist/{register.configure-DvwKyrwL.js → register.configure-b8Ic06Uw.js} +9 -9
  102. package/dist/{register.maintenance-CKwKHDhS.js → register.maintenance-BlMuoELU.js} +11 -11
  103. package/dist/{register.maintenance-vpQOTI6u.js → register.maintenance-D5RP4wO6.js} +10 -10
  104. package/dist/{register.message-h_ydGqf0.js → register.message-CSeNrxdd.js} +7 -7
  105. package/dist/{register.message-NSrj_UY0.js → register.message-D7jdDTte.js} +7 -7
  106. package/dist/{register.onboard-C08IBU41.js → register.onboard-CRiXHw0n.js} +3 -3
  107. package/dist/{register.onboard-CcOONokP.js → register.onboard-Dj8wICC1.js} +3 -3
  108. package/dist/{register.setup-BHbQcv1_.js → register.setup-8gos4jqr.js} +3 -3
  109. package/dist/{register.setup-JYGpPbA2.js → register.setup-C_-8vfKv.js} +3 -3
  110. package/dist/{register.status-health-sessions-CAVFepVm.js → register.status-health-sessions-CrCsnTEq.js} +9 -9
  111. package/dist/{register.status-health-sessions-CV4R4Fe2.js → register.status-health-sessions-Df9SxgpH.js} +8 -8
  112. package/dist/{register.subclis-pRE159Cu.js → register.subclis-CxT7d8Bs.js} +8 -8
  113. package/dist/{replies-Cu8SG6CK.js → replies-Dsu1hdd7.js} +3 -3
  114. package/dist/{reply-DqJBHDn_.js → reply-Ccq9RRYF.js} +44 -22
  115. package/dist/{reply-payloads-DbQW7c5s.js → reply-payloads-DwEnDy7C.js} +4 -4
  116. package/dist/{reply-payloads-C4mbcSP-.js → reply-payloads-KYLwM629.js} +1 -1
  117. package/dist/{reply-prefix-DwJ8gxoz.js → reply-prefix-DtQ_7Eac.js} +1 -1
  118. package/dist/{resolve-route-BBztqaX0.js → resolve-route-DFUMTbRD.js} +4 -4
  119. package/dist/{response-prefix-template-BgDMziqu.js → response-prefix-template-DDQsoC2g.js} +1 -1
  120. package/dist/{run-main-D4CHxIUS.js → run-main-3RfLQTiu.js} +17 -17
  121. package/dist/{send-D3Uuw_MA.js → send-4gX7wep2.js} +8 -8
  122. package/dist/{send-CeBdN3Dp.js → send-CgAV9I1-.js} +15 -15
  123. package/dist/{send-DgVCmydL.js → send-CkPRLaz-.js} +8 -8
  124. package/dist/{send-C2J41ICD.js → send-DBeVQI-J.js} +7 -7
  125. package/dist/{send-Cibl-r-E.js → send-fdOUhBcN.js} +10 -10
  126. package/dist/{server-node-events-B60wtfXc.js → server-node-events-CRRE92S3.js} +6 -6
  127. package/dist/{server-node-events-DdwEsXLN.js → server-node-events-wpvPI-kw.js} +6 -6
  128. package/dist/{session-Bj8e8O8R.js → session-IUmTrU6A.js} +4 -4
  129. package/dist/{session-utils-CpgeP4rB.js → session-utils-ChEnoQCt.js} +1 -1
  130. package/dist/{session-utils-BUNcG-B2.js → session-utils-Dq5uiNDE.js} +1 -1
  131. package/dist/{sessions-3ACDrmHu.js → sessions-C6O5qrbx.js} +7 -1
  132. package/dist/{sessions-BePPqEtN.js → sessions-D5CiijxL.js} +12 -6
  133. package/dist/{sessions-n_z2PE4-.js → sessions-DPke45uf.js} +2 -2
  134. package/dist/{shell-env-DPAvieDD.js → shell-env-CKQ7fvtT.js} +1 -1
  135. package/dist/{status-BLKhFWFc.js → status-BeGUnsBd.js} +4 -4
  136. package/dist/{status-Ccfq5H-G.js → status-uyg2yOTM.js} +4 -4
  137. package/dist/{store-BS8fRU9w.js → store-BfW5-y9S.js} +7 -1
  138. package/dist/{subagent-registry-DIReZNw1.js → subagent-registry-BTv48FFX.js} +239 -6
  139. package/dist/{subagent-registry-DvnyYXMs.js → subagent-registry-D2yHvOBr.js} +238 -22
  140. package/dist/{subagent-registry-DMTgcI99.js → subagent-registry-DljM1oxO.js} +239 -6
  141. package/dist/{subsystem-DLQY6iY4.js → subsystem-9R2eOxp2.js} +2 -2
  142. package/dist/{tables-Bk8AXTIS.js → tables-CDsRjvfB.js} +2 -2
  143. package/dist/{tokens-CgIfCmK3.js → tokens-CFajuiSx.js} +1 -1
  144. package/dist/{tool-images-BMnWMHwL.js → tool-images-Cmsx31Bo.js} +1 -1
  145. package/dist/{update-cli-DCK9HF3t.js → update-cli-ChJoLU8L.js} +11 -11
  146. package/dist/{update-cli-1qesJ1_a.js → update-cli-DaW75dJC.js} +10 -10
  147. package/dist/{web-DG3SWzn_.js → web-BS0azDPB.js} +6 -6
  148. package/dist/{web-CCw02lmy.js → web-C_Alo-mS.js} +6 -6
  149. package/dist/{web-CKces-ap.js → web-DHXIgMOC.js} +50 -50
  150. package/dist/{whatsapp-actions-BzyFEHw4.js → whatsapp-actions-sR-u0T6U.js} +21 -21
  151. package/extensions/bluebubbles/package.json +1 -1
  152. package/extensions/diagnostics-otel/package.json +1 -1
  153. package/extensions/discord/package.json +1 -1
  154. package/extensions/feishu/package.json +1 -1
  155. package/extensions/googlechat/package.json +1 -1
  156. package/extensions/imessage/package.json +1 -1
  157. package/extensions/irc/package.json +1 -1
  158. package/extensions/line/package.json +1 -1
  159. package/extensions/matrix/package.json +1 -1
  160. package/extensions/mattermost/package.json +1 -1
  161. package/extensions/msteams/package.json +1 -1
  162. package/extensions/nextcloud-talk/package.json +1 -1
  163. package/extensions/nostr/package.json +1 -1
  164. package/extensions/signal/package.json +1 -1
  165. package/extensions/slack/package.json +1 -1
  166. package/extensions/synology-chat/package.json +1 -1
  167. package/extensions/telegram/package.json +1 -1
  168. package/extensions/tlon/package.json +1 -1
  169. package/extensions/twitch/package.json +1 -1
  170. package/extensions/voice-call/package.json +1 -1
  171. package/extensions/whatsapp/package.json +1 -1
  172. package/extensions/zalo/package.json +1 -1
  173. package/extensions/zalouser/package.json +1 -1
  174. package/package.json +1 -1
  175. package/dist/plugin-sdk/web-C24fSRzu.js +0 -7
  176. /package/dist/{fetch-timeout-DTIN7CGM.js → fetch-timeout-jOIu9Xud.js} +0 -0
  177. /package/dist/{file-lock-BftAtpBn.js → file-lock-CEhZlbAi.js} +0 -0
  178. /package/dist/{ip-B27WD9wk.js → ip-N_XHHVsM.js} +0 -0
  179. /package/dist/{json-file-CRyYLqpu.js → json-file-DYQIVLc1.js} +0 -0
  180. /package/dist/{render-DSLzcBxk.js → render-TpKSK5RV.js} +0 -0
  181. /package/dist/{target-errors-owiG6LWY.js → target-errors-D7fLx8zG.js} +0 -0
@@ -215,7 +215,7 @@ async function runConfigUnset(opts) {
215
215
  }
216
216
  function registerConfigCli(program) {
217
217
  const cmd = program.command("config").description("Non-interactive config helpers (get/set/unset). Run without subcommand for the setup wizard.").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.remoteclaw.org/cli/config")}\n`).option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
218
- const { configureCommandFromSectionsArg } = await import("./configure-BAlORoYU.js").then((n) => n.t);
218
+ const { configureCommandFromSectionsArg } = await import("./configure-Dh-yP8hn.js").then((n) => n.t);
219
219
  await configureCommandFromSectionsArg(opts.section, defaultRuntime);
220
220
  });
221
221
  cmd.command("get").description("Get a config value by dot path").argument("<path>", "Config path (dot or bracket notation)").option("--json", "Output JSON", false).action(async (path, opts) => {
@@ -211,7 +211,7 @@ async function runConfigUnset(opts) {
211
211
  }
212
212
  function registerConfigCli(program) {
213
213
  const cmd = program.command("config").description("Non-interactive config helpers (get/set/unset). Run without subcommand for the setup wizard.").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.remoteclaw.org/cli/config")}\n`).option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
214
- const { configureCommandFromSectionsArg } = await import("./configure-CXjIsq-V.js").then((n) => n.t);
214
+ const { configureCommandFromSectionsArg } = await import("./configure-C9cTz03s.js").then((n) => n.t);
215
215
  await configureCommandFromSectionsArg(opts.section, defaultRuntime);
216
216
  });
217
217
  cmd.command("get").description("Get a config value by dot path").argument("<path>", "Config path (dot or bracket notation)").option("--json", "Output JSON", false).action(async (path, opts) => {
@@ -10,11 +10,11 @@ import { a as findTailscaleBinary } from "./tailscale-Bhwn4X8A.js";
10
10
  import { n as withProgress } from "./progress-B-Sv81mU.js";
11
11
  import { t as note$1 } from "./note-CpaPZuea.js";
12
12
  import { n as WizardCancelledError, t as createClackPrompter } from "./clack-prompter-2e6Qd1mU.js";
13
- import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-DzuidyBQ.js";
13
+ import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-DReWe-Pi.js";
14
14
  import { n as gatewayInstallErrorHint, t as buildGatewayInstallPlan } from "./daemon-install-helpers-3pWvg8Oh.js";
15
15
  import { n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-VfkpXuRu.js";
16
16
  import { t as resolveGatewayService } from "./service-BNLSB3-j.js";
17
- import { r as healthCommand } from "./health-uTVcqwOx.js";
17
+ import { r as healthCommand } from "./health-D6T18gwU.js";
18
18
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-CbCKSgtg.js";
19
19
  import { n as collectWorkspaceDirs } from "./cleanup-utils-CZAO_QjK.js";
20
20
  import { n as logConfigUpdated } from "./logging-DVnniiH5.js";
@@ -12,11 +12,11 @@ import { a as findTailscaleBinary } from "./tailscale-DFFSqXN6.js";
12
12
  import { n as withProgress } from "./progress-L9k8Ji0e.js";
13
13
  import { t as note$1 } from "./note-B8uuZ2pB.js";
14
14
  import { n as WizardCancelledError, t as createClackPrompter } from "./clack-prompter-D4hirmyk.js";
15
- import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-DMgpmtQu.js";
15
+ import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-D664lpQl.js";
16
16
  import { n as gatewayInstallErrorHint, t as buildGatewayInstallPlan } from "./daemon-install-helpers-DQ7ClZ2P.js";
17
17
  import { n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-Dp28yNwO.js";
18
18
  import { t as resolveGatewayService } from "./service-DDkOQ7FJ.js";
19
- import { r as healthCommand } from "./health-D5YyZkng.js";
19
+ import { r as healthCommand } from "./health-6NZ23ZCc.js";
20
20
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-DOwMM2s0.js";
21
21
  import { n as collectWorkspaceDirs } from "./cleanup-utils-9SdJBDuf.js";
22
22
  import { n as logConfigUpdated } from "./logging-Nn7PK_AX.js";
@@ -1,9 +1,9 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { Yt as createInternalHookEvent, Zt as triggerInternalHook, j as getActivePluginRegistry, o as createSubsystemLogger } from "./entry.js";
3
3
  import { h as normalizeAccountId } from "./session-key-CfvsBObU.js";
4
- import { P as parseInlineDirectives, a as resolveMirroredTranscriptText, i as appendAssistantMessageToSessionTranscript } from "./sessions-3ACDrmHu.js";
4
+ import { F as parseInlineDirectives, a as resolveMirroredTranscriptText, i as appendAssistantMessageToSessionTranscript } from "./sessions-C6O5qrbx.js";
5
5
  import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-D1JVsjbg.js";
6
- import { c as isRenderablePayload, t as getGlobalHookRunner, u as shouldSuppressReasoningPayload } from "./hook-runner-global-D8bMcDPD.js";
6
+ import { c as isRenderablePayload, t as getGlobalHookRunner, u as shouldSuppressReasoningPayload } from "./hook-runner-global-DPdZsDAH.js";
7
7
  import { n as resolveMarkdownTableMode } from "./markdown-tables-BKzJxBq0.js";
8
8
  import { c as resolveChunkMode, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph } from "./chunk-CFUl7_2l.js";
9
9
  import { r as getAgentScopedMediaLocalRoots } from "./media-CDHVxfu3.js";
@@ -2,8 +2,8 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { N as triggerInternalHook, j as createInternalHookEvent, t as createSubsystemLogger, v as getActivePluginRegistry } from "./subsystem-YtLxC9Jh.js";
3
3
  import { h as normalizeAccountId } from "./session-key-DUewR3Vl.js";
4
4
  import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-DJrhANSO.js";
5
- import { a as isRenderablePayload, p as getGlobalHookRunner, s as shouldSuppressReasoningPayload } from "./reply-payloads-C4mbcSP-.js";
6
- import { E as parseInlineDirectives, N as appendAssistantMessageToSessionTranscript, P as resolveMirroredTranscriptText } from "./store-BS8fRU9w.js";
5
+ import { a as isRenderablePayload, p as getGlobalHookRunner, s as shouldSuppressReasoningPayload } from "./reply-payloads-KYLwM629.js";
6
+ import { D as parseInlineDirectives, F as resolveMirroredTranscriptText, P as appendAssistantMessageToSessionTranscript } from "./store-BfW5-y9S.js";
7
7
  import { o as getAgentScopedMediaLocalRoots } from "./ir-P78akbDa.js";
8
8
  import { c as resolveChunkMode, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph } from "./chunk-Cgk347qp.js";
9
9
  import { n as resolveMarkdownTableMode } from "./markdown-tables-BsunnBTT.js";
@@ -1,14 +1,14 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { $ as createInternalHookEvent, d as getActivePluginRegistry, st as resolveStateDir, t as createSubsystemLogger, tt as triggerInternalHook } from "./subsystem-DLQY6iY4.js";
2
+ import { $ as createInternalHookEvent, d as getActivePluginRegistry, st as resolveStateDir, t as createSubsystemLogger, tt as triggerInternalHook } from "./subsystem-9R2eOxp2.js";
3
3
  import { f as normalizeAccountId } from "./session-key-X7pmdLBX.js";
4
- import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-CgIfCmK3.js";
5
- import { i as resolveMirroredTranscriptText, r as appendAssistantMessageToSessionTranscript, x as parseInlineDirectives } from "./sessions-BePPqEtN.js";
6
- import { a as isRenderablePayload, h as getGlobalHookRunner, s as shouldSuppressReasoningPayload } from "./reply-payloads-DbQW7c5s.js";
7
- import { c as resolveChunkMode, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph } from "./chunk-C5Oai9vm.js";
8
- import { n as resolveMarkdownTableMode } from "./markdown-tables-Bm7xJUcn.js";
9
- import { o as getAgentScopedMediaLocalRoots } from "./ir-CDjoXuIW.js";
4
+ import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-CFajuiSx.js";
5
+ import { S as parseInlineDirectives, i as resolveMirroredTranscriptText, r as appendAssistantMessageToSessionTranscript } from "./sessions-D5CiijxL.js";
6
+ import { a as isRenderablePayload, h as getGlobalHookRunner, s as shouldSuppressReasoningPayload } from "./reply-payloads-DwEnDy7C.js";
7
+ import { c as resolveChunkMode, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph } from "./chunk-0ZB8yVlw.js";
8
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-CfM1ner1.js";
9
+ import { o as getAgentScopedMediaLocalRoots } from "./ir-BK7K3Bbu.js";
10
10
  import { n as generateSecureUuid } from "./secure-random-B_UuvbNQ.js";
11
- import { a as markdownToSignalTextChunks, t as sendMessageSignal } from "./send-DgVCmydL.js";
11
+ import { a as markdownToSignalTextChunks, t as sendMessageSignal } from "./send-CkPRLaz-.js";
12
12
  import path from "node:path";
13
13
  import fs from "node:fs";
14
14
 
@@ -1,10 +1,10 @@
1
- import { T as escapeRegExp, a as CHAT_CHANNEL_ORDER, k as normalizeE164, o as getChatChannelMeta, p as requireActivePluginRegistry } from "./subsystem-DLQY6iY4.js";
1
+ import { T as escapeRegExp, a as CHAT_CHANNEL_ORDER, k as normalizeE164, o as getChatChannelMeta, p as requireActivePluginRegistry } from "./subsystem-9R2eOxp2.js";
2
2
  import { f as normalizeAccountId } from "./session-key-X7pmdLBX.js";
3
- import { n as resolveWhatsAppAccount } from "./accounts-PoAEsvXo.js";
3
+ import { n as resolveWhatsAppAccount } from "./accounts-DObM4hAF.js";
4
4
  import { t as resolveAccountEntry } from "./account-lookup-BU0Ibuj-.js";
5
- import { _ as resolveDiscordAccount, a as normalizeWhatsAppTarget, d as resolveSlackAccount, f as resolveSlackReplyToMode, l as resolveTelegramAccount } from "./plugins-ODda1fNU.js";
6
- import { t as resolveIMessageAccount } from "./accounts-C_7Xc5wa.js";
7
- import { n as resolveSignalAccount } from "./accounts-Qulj3jS8.js";
5
+ import { _ as resolveDiscordAccount, a as normalizeWhatsAppTarget, d as resolveSlackAccount, f as resolveSlackReplyToMode, l as resolveTelegramAccount } from "./plugins-sjrWIkqk.js";
6
+ import { t as resolveIMessageAccount } from "./accounts-DZ4c6f7x.js";
7
+ import { n as resolveSignalAccount } from "./accounts-B0V43QEN.js";
8
8
 
9
9
  //#region src/config/types.tools.ts
10
10
  const TOOLS_BY_SENDER_KEY_TYPES = [
@@ -1,6 +1,6 @@
1
1
  import { n as resolveCliName } from "./cli-name-BZsYSp9l.js";
2
2
  import { t as note } from "./note-B8uuZ2pB.js";
3
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-ohSjYC4v.js";
3
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-eH6YXa0H.js";
4
4
  import { t as resolveRemoteClawPackageRoot } from "./remoteclaw-root-BkQA3neE.js";
5
5
  import path from "node:path";
6
6
  import { spawnSync } from "node:child_process";
@@ -1,6 +1,6 @@
1
1
  import { n as resolveCliName } from "./cli-name-CRe5Ow_t.js";
2
2
  import { t as note } from "./note-CpaPZuea.js";
3
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-D93-g9B7.js";
3
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-wYa36YaL.js";
4
4
  import { t as resolveRemoteClawPackageRoot } from "./remoteclaw-root-Dgi-g2QH.js";
5
5
  import { spawnSync } from "node:child_process";
6
6
  import path from "node:path";
package/dist/entry.js CHANGED
@@ -2699,7 +2699,7 @@ if (!isMainModule({
2699
2699
  applyCliProfileEnv({ profile: parsed.profile });
2700
2700
  process$1.argv = parsed.argv;
2701
2701
  }
2702
- import("./run-main-D4CHxIUS.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
2702
+ import("./run-main-3RfLQTiu.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
2703
2703
  console.error("[remoteclaw] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
2704
2704
  process$1.exitCode = 1;
2705
2705
  });
@@ -1,4 +1,4 @@
1
- import { t as createSubsystemLogger } from "./subsystem-DLQY6iY4.js";
1
+ import { t as createSubsystemLogger } from "./subsystem-9R2eOxp2.js";
2
2
  import path from "node:path";
3
3
 
4
4
  //#region src/cli/cli-name.ts
@@ -1,4 +1,4 @@
1
- import { t as redactSensitiveText } from "./redact-DUvSdQvv.js";
1
+ import { t as redactSensitiveText } from "./redact-D2_cayCv.js";
2
2
 
3
3
  //#region src/infra/errors.ts
4
4
  function extractErrorCode(err) {
@@ -9273,6 +9273,18 @@ async function withSessionStoreLock(storePath, fn, opts = {}) {
9273
9273
  });
9274
9274
  }
9275
9275
 
9276
+ //#endregion
9277
+ //#region src/agents/session-run-registry.ts
9278
+ const ACTIVE_SESSION_RUNS = /* @__PURE__ */ new Map();
9279
+ /** Register an active session run. */
9280
+ function registerSessionRun(sessionKey, handle) {
9281
+ ACTIVE_SESSION_RUNS.set(sessionKey, handle);
9282
+ }
9283
+ /** Unregister a session run (on turn completion or crash). */
9284
+ function unregisterSessionRun(sessionKey) {
9285
+ ACTIVE_SESSION_RUNS.delete(sessionKey);
9286
+ }
9287
+
9276
9288
  //#endregion
9277
9289
  //#region src/logger.ts
9278
9290
  const subsystemPrefixRe = /^([a-z][a-z0-9-]{1,20}):\s+(.*)$/i;
@@ -11915,6 +11927,15 @@ var ChannelBridge = class {
11915
11927
  let workspaceDir = this.#workspaceDir;
11916
11928
  let hookEnv;
11917
11929
  const runId = randomUUID();
11930
+ const sessionKeyStr = formatSessionKeyString(sessionKey);
11931
+ const internalAbortCtrl = new AbortController();
11932
+ registerSessionRun(sessionKeyStr, {
11933
+ startedAt: Date.now(),
11934
+ sessionKey: sessionKeyStr,
11935
+ agentId: message.agentId ?? "default",
11936
+ abortController: internalAbortCtrl
11937
+ });
11938
+ const combinedSignal = abortSignal ? AbortSignal.any([abortSignal, internalAbortCtrl.signal]) : internalAbortCtrl.signal;
11918
11939
  if (hookRunner?.hasHooks("before_runtime_spawn")) {
11919
11940
  const spawnResult = await hookRunner.runBeforeRuntimeSpawn({
11920
11941
  runtimeName: this.#provider,
@@ -11959,7 +11980,7 @@ var ChannelBridge = class {
11959
11980
  media: supportedMedia?.length ? supportedMedia : void 0,
11960
11981
  sessionId: existingSessionId,
11961
11982
  mcpServers,
11962
- abortSignal,
11983
+ abortSignal: combinedSignal,
11963
11984
  workingDirectory: workspaceDir,
11964
11985
  env: this.#runtimeEnv || hookEnv ? {
11965
11986
  ...this.#runtimeEnv,
@@ -12028,6 +12049,7 @@ var ChannelBridge = class {
12028
12049
  error: lastError
12029
12050
  };
12030
12051
  } finally {
12052
+ unregisterSessionRun(formatSessionKeyString(sessionKey));
12031
12053
  await rm(invocationDir, {
12032
12054
  recursive: true,
12033
12055
  force: true
@@ -1,6 +1,6 @@
1
- import { i as logWarn } from "./logger-Bp0X6yHd.js";
2
- import { t as bindAbortRelay } from "./fetch-timeout-DTIN7CGM.js";
3
- import { a as isIpv4Address, c as parseCanonicalIpAddress, i as isCanonicalDottedDecimalIPv4, l as parseLooseIpAddress, n as isBlockedSpecialUseIpv4Address, o as isLegacyIpv4Literal, r as isBlockedSpecialUseIpv6Address, t as extractEmbeddedIpv4FromIpv6 } from "./ip-B27WD9wk.js";
1
+ import { i as logWarn } from "./logger-BKFID___.js";
2
+ import { t as bindAbortRelay } from "./fetch-timeout-jOIu9Xud.js";
3
+ import { a as isIpv4Address, c as parseCanonicalIpAddress, i as isCanonicalDottedDecimalIPv4, l as parseLooseIpAddress, n as isBlockedSpecialUseIpv4Address, o as isLegacyIpv4Literal, r as isBlockedSpecialUseIpv6Address, t as extractEmbeddedIpv4FromIpv6 } from "./ip-N_XHHVsM.js";
4
4
  import path from "node:path";
5
5
  import { Agent, EnvHttpProxyAgent } from "undici";
6
6
  import { lookup } from "node:dns";
@@ -1,4 +1,4 @@
1
- import { t as bindAbortRelay } from "./fetch-timeout-DTIN7CGM.js";
1
+ import { t as bindAbortRelay } from "./fetch-timeout-jOIu9Xud.js";
2
2
 
3
3
  //#region src/infra/fetch.ts
4
4
  const wrapFetchWithAbortSignalMarker = Symbol.for("remoteclaw.fetch.abort-signal-wrapped");
@@ -1,13 +1,13 @@
1
1
  import { i as isNixMode, l as resolveGatewayLockDir, m as resolveStateDir, o as resolveConfigPath, r as STATE_DIR, t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-DHuXVC00.js";
2
2
  import { B as getResolvedLoggerSettings, C as truncateUtf16Safe, F as colorize, I as isRich, L as theme, M as shouldLogVerbose, R as getChildLogger, _ as resolveUserPath, j as setVerbose, k as logVerbose, l as isRecord, o as ensureDir, r as clamp, w as isPlainObject, z as getLogger } from "./utils-__cbkDgx.js";
3
3
  import { n as normalizeVerboseLevel, t as normalizeUsageDisplay } from "./thinking-4nOZPunr.js";
4
- import { $ as getTotalPendingReplies, $t as getTtsProvider, A as createOutboundSendDeps$1, At as stopSubagentsForRequester, Bt as setPreRestartDeferralCheck, Ct as SUBAGENT_SPAWN_MODES, D as resolveAgentOutboundTarget, Dt as resolveTotalTokens, E as resolveAgentDeliveryPlan, Et as formatTokenUsageDisplay, F as isExternalHookSession, Ft as emitGatewayRestart, Gt as normalizeGroupActivation, Ht as resolveSubagentLabel, It as isGatewaySigusr1RestartExternallyAllowed, Lt as markGatewaySigusr1RestartHandled, M as buildSafeExternalPrompt, N as detectSuspiciousPatterns, Nt as consumeGatewaySigusr1RestartAuthorization, O as createOutboundSendDeps, Ot as truncateLine, P as getHookType, Pt as deferGatewayRestartUntilIdle, Q as createReplyDispatcher, Rt as scheduleGatewaySigusr1Restart, S as sleepWithAbort, St as parseVerboseOverride, Tt as formatDurationCompact, Ut as resolveSubagentTargetFromRuns, Vt as unbindThreadBindingsBySessionKey, Wt as sortSubagentRuns, Xt as resolveUsageProviderId, Yt as formatUsageWindowSummary, Z as dispatchInboundMessage, Zt as buildStatusMessage, _t as enqueueSystemEvent, a as resolveSessionDeliveryTarget, an as resolveTtsPrefsPath, at as formatZonedTimestamp, b as requestBodyErrorToText, c as loadRemoteClawPlugins, cn as setTtsProvider, ct as ChannelBridge, d as registerUnhandledRejectionHandler, dn as OPENAI_TTS_VOICES, dt as resolveUserTimeFormat, en as isTtsEnabled, ft as resolveUserTimezone, gn as resolveSendPolicy, hn as normalizeSendPolicy, i as resolveOutboundTarget, in as resolveTtsConfig, it as BARE_SESSION_RESET_PROMPT, j as resolveAgentAvatar, k as createDefaultDeps, kt as isAbortRequestText, ln as textToSpeech, lt as withAuthKeyRetry, m as handleSlackHttpRequest, mt as resolveChannelMessageToolHints, nn as resolveTtsApiKey, on as resolveTtsProviderOrder, ot as getCliSessionId, pt as listChannelSupportedActions, qt as loadProviderUsageSummary, rn as resolveTtsAutoMode, s as resolveOutboundChannelPlugin, sn as setTtsEnabled, st as setCliSessionId, tn as isTtsProviderConfigured, un as OPENAI_TTS_MODELS, ut as formatUserTime, vt as isSystemEventContextChanged, w as agentCommand, wt as spawnSubagentDirect, x as computeBackoff, xt as applyVerboseOverride, y as readJsonBodyWithLimit, z as buildHistoryContextFromEntries, zt as setGatewaySigusr1RestartPolicy } from "./reply-DqJBHDn_.js";
4
+ import { $ as getTotalPendingReplies, $t as getTtsProvider, A as createOutboundSendDeps$1, At as stopSubagentsForRequester, Bt as setPreRestartDeferralCheck, Ct as SUBAGENT_SPAWN_MODES, D as resolveAgentOutboundTarget, Dt as resolveTotalTokens, E as resolveAgentDeliveryPlan, Et as formatTokenUsageDisplay, F as isExternalHookSession, Ft as emitGatewayRestart, Gt as normalizeGroupActivation, Ht as resolveSubagentLabel, It as isGatewaySigusr1RestartExternallyAllowed, Lt as markGatewaySigusr1RestartHandled, M as buildSafeExternalPrompt, N as detectSuspiciousPatterns, Nt as consumeGatewaySigusr1RestartAuthorization, O as createOutboundSendDeps, Ot as truncateLine, P as getHookType, Pt as deferGatewayRestartUntilIdle, Q as createReplyDispatcher, Rt as scheduleGatewaySigusr1Restart, S as sleepWithAbort, St as parseVerboseOverride, Tt as formatDurationCompact, Ut as resolveSubagentTargetFromRuns, Vt as unbindThreadBindingsBySessionKey, Wt as sortSubagentRuns, Xt as resolveUsageProviderId, Yt as formatUsageWindowSummary, Z as dispatchInboundMessage, Zt as buildStatusMessage, _t as enqueueSystemEvent, a as resolveSessionDeliveryTarget, an as resolveTtsPrefsPath, at as formatZonedTimestamp, b as requestBodyErrorToText, c as loadRemoteClawPlugins, cn as setTtsProvider, ct as ChannelBridge, d as registerUnhandledRejectionHandler, dn as OPENAI_TTS_VOICES, dt as resolveUserTimeFormat, en as isTtsEnabled, ft as resolveUserTimezone, gn as resolveSendPolicy, hn as normalizeSendPolicy, i as resolveOutboundTarget, in as resolveTtsConfig, it as BARE_SESSION_RESET_PROMPT, j as resolveAgentAvatar, k as createDefaultDeps, kt as isAbortRequestText, ln as textToSpeech, lt as withAuthKeyRetry, m as handleSlackHttpRequest, mt as resolveChannelMessageToolHints, nn as resolveTtsApiKey, on as resolveTtsProviderOrder, ot as getCliSessionId, pt as listChannelSupportedActions, qt as loadProviderUsageSummary, rn as resolveTtsAutoMode, s as resolveOutboundChannelPlugin, sn as setTtsEnabled, st as setCliSessionId, tn as isTtsProviderConfigured, un as OPENAI_TTS_MODELS, ut as formatUserTime, vt as isSystemEventContextChanged, w as agentCommand, wt as spawnSubagentDirect, x as computeBackoff, xt as applyVerboseOverride, y as readJsonBodyWithLimit, z as buildHistoryContextFromEntries, zt as setGatewaySigusr1RestartPolicy } from "./reply-Ccq9RRYF.js";
5
5
  import { A as clearInternalHooks, M as registerInternalHook, N as triggerInternalHook, S as createEmptyPluginRegistry, a as setConsoleSubsystemFilter, j as createInternalHookEvent, l as CHANNEL_IDS, n as runtimeForLogger, o as setConsoleTimestampPrefix, t as createSubsystemLogger, v as getActivePluginRegistry } from "./subsystem-YtLxC9Jh.js";
6
6
  import { i as defaultRuntime } from "./ansi-DtaiOnt1.js";
7
7
  import { C as parseAgentSessionKey, S as isSubagentSessionKey, c as normalizeMainKey, d as sanitizeAgentId, f as toAgentRequestSessionKey, h as normalizeAccountId$1, l as resolveAgentIdFromSessionKey, m as DEFAULT_ACCOUNT_ID, o as classifySessionKeyShape, p as toAgentStoreSessionKey, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, x as isCronRunSessionKey } from "./session-key-DUewR3Vl.js";
8
8
  import { a as resolveAgentDir, c as resolveAgentRuntimeOrThrow, d as resolveDefaultAgentId, f as resolveSessionAgentId, i as resolveAgentConfig, l as resolveAgentWorkspaceDir, n as listAgentIds, o as resolveAgentRuntimeArgs, s as resolveAgentRuntimeEnv, t as listAgentEntries } from "./agent-scope-CqLq7cFg.js";
9
9
  import { i as normalizeModelRef, o as parseModelRef, t as isCliProvider } from "./provider-utils-C9kBVF1f.js";
10
- import { A as createSessionVisibilityGuard, B as AGENT_LANE_SUBAGENT, C as classifySessionKind, Ct as clearAgentRunContext, D as stripToolMessages, Dt as registerAgentRunContext, Et as onAgentEvent, F as resolveInternalSessionKey, H as extractTextFromChatContent, I as resolveMainSessionAlias, J as getFollowupQueueDepth, K as resolveQueueSettings, L as resolveSessionReference, M as resolveSandboxedSessionToolContext, N as isResolvedSessionVisibleToRequester, O as stripReasoningTagsFromText, P as resolveDisplaySessionKey, R as shouldResolveSessionIdInput, S as runAgentStep, T as extractAssistantText, Tt as getAgentRunContext, V as getSubagentDepthFromSessionStore, _ as isAnnounceSkip, a as listDescendantRunsForRequester, b as resolvePingPongTurns, c as markSubagentRunTerminated, ct as resetAllLanes, dt as CommandLane, g as buildAgentToAgentReplyContext, h as buildAgentToAgentMessageContext, i as initSubagentRegistry, it as getActiveTaskCount, j as resolveEffectiveSessionToolsVisibility, k as createAgentToAgentPolicy, kt as resolveAgentTimeoutMs, lt as setCommandLaneConcurrency, m as buildAgentToAgentAnnounceContext, n as countActiveDescendantRuns, nt as clearSessionQueues, o as listSubagentRunsForRequester, ot as getTotalQueueSize, p as runSubagentAnnounceFlow, s as markSubagentRunForSteerRestart, st as markGatewayDraining, t as clearSubagentRunSteerRestart, tt as buildOutboundSessionContext, u as replaceSubagentRunAfterSteer, ut as waitForActiveTasks, v as isReplySkip, vt as startDiagnosticHeartbeat, w as deriveChannel, wt as emitAgentEvent, x as readLatestAssistantReply, xt as isDiagnosticsEnabled, y as resolveAnnounceTargetFromKey, yt as stopDiagnosticHeartbeat, z as AGENT_LANE_NESTED } from "./subagent-registry-DMTgcI99.js";
10
+ import { A as createSessionVisibilityGuard, At as emitAgentEvent, B as AGENT_LANE_SUBAGENT, C as classifySessionKind, D as stripToolMessages, Dt as isDiagnosticsEnabled, F as resolveInternalSessionKey, Ft as resolveAgentTimeoutMs, G as registerSessionRun, H as getActiveSessionRunCount, I as resolveMainSessionAlias, J as extractTextFromChatContent, K as unregisterSessionRun, L as resolveSessionReference, M as resolveSandboxedSessionToolContext, Mt as onAgentEvent, N as isResolvedSessionVisibleToRequester, Nt as registerAgentRunContext, O as stripReasoningTagsFromText, P as resolveDisplaySessionKey, Q as resolveQueueSettings, R as shouldResolveSessionIdInput, S as runAgentStep, T as extractAssistantText, Tt as stopDiagnosticHeartbeat, V as getSubagentDepthFromSessionStore, W as killSessionRun, _ as isAnnounceSkip, _t as CommandLane, a as listDescendantRunsForRequester, b as resolvePingPongTurns, c as markSubagentRunTerminated, ct as clearSessionQueues, et as getFollowupQueueDepth, ft as getTotalQueueSize, g as buildAgentToAgentReplyContext, gt as waitForActiveTasks, h as buildAgentToAgentMessageContext, ht as setCommandLaneConcurrency, i as initSubagentRegistry, j as resolveEffectiveSessionToolsVisibility, jt as getAgentRunContext, k as createAgentToAgentPolicy, kt as clearAgentRunContext, m as buildAgentToAgentAnnounceContext, mt as resetAllLanes, n as countActiveDescendantRuns, o as listSubagentRunsForRequester, p as runSubagentAnnounceFlow, pt as markGatewayDraining, q as waitForSessionRunEnd, s as markSubagentRunForSteerRestart, st as buildOutboundSessionContext, t as clearSubagentRunSteerRestart, u as replaceSubagentRunAfterSteer, ut as getActiveTaskCount, v as isReplySkip, w as deriveChannel, wt as startDiagnosticHeartbeat, x as readLatestAssistantReply, y as resolveAnnounceTargetFromKey, z as AGENT_LANE_NESTED } from "./subagent-registry-DljM1oxO.js";
11
11
  import { C as ensureAgentWorkspace, S as resolveAssistantAvatarUrl, b as buildControlUiAvatarUrl, x as normalizeControlUiBasePath, y as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-D2nzz93W.js";
12
12
  import { c as normalizeMessageChannel, d as GATEWAY_CLIENT_IDS, f as GATEWAY_CLIENT_MODES, h as normalizeGatewayClientMode, i as isGatewayMessageChannel, m as hasGatewayClientCap, n as isDeliverableMessageChannel, o as isWebchatClient, p as GATEWAY_CLIENT_NAMES, r as isGatewayCliClient, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_CAPS } from "./message-channel-Byxx9SGy.js";
13
13
  import "./send-CoDb77BF.js";
@@ -28,7 +28,7 @@ import { t as buildChannelAccountBindings } from "./bindings-DeKYuXJO.js";
28
28
  import { t as formatCliCommand } from "./command-format-Dntg_tnC.js";
29
29
  import "./logging-fywhKCmE.js";
30
30
  import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-DJrhANSO.js";
31
- import { f as normalizeTargetForProvider, h as runGlobalGatewayStopSafely, p as getGlobalHookRunner } from "./reply-payloads-C4mbcSP-.js";
31
+ import { f as normalizeTargetForProvider, h as runGlobalGatewayStopSafely, p as getGlobalHookRunner } from "./reply-payloads-KYLwM629.js";
32
32
  import "./send-Bj1TUsUZ.js";
33
33
  import { r as isRestartEnabled } from "./commands-YI4OIEz0.js";
34
34
  import "./commands-registry-BKzejEC3.js";
@@ -38,7 +38,7 @@ import { t as getChannelActivity } from "./channel-activity-0siRvnUT.js";
38
38
  import { n as isPidAlive } from "./process-scoped-map-CQ1C5MbT.js";
39
39
  import "./file-lock-CCBpdPM_.js";
40
40
  import { c as resolveSessionFilePath, l as resolveSessionFilePathOptions, m as resolveStorePath, p as resolveSessionTranscriptsDirForAgent } from "./chat-envelope-DPKIEKwe.js";
41
- import { $ as snapshotSessionOrigin, C as resolveSessionTranscriptCandidates, D as stripInlineDirectiveTagsForDisplay, G as mergeSessionEntry, I as CURRENT_SESSION_VERSION, J as resolveAgentMainSessionKey, M as parseSessionThreadInfo, O as stripInlineDirectiveTagsFromMessageForDisplay, T as stripEnvelopeFromMessages, V as resolveSessionResetPolicy, X as resolveMainSessionKey, Y as resolveExplicitAgentSessionKey, Z as resolveMainSessionKeyFromConfig, _ as archiveSessionTranscripts, b as readSessionMessages, d as deliveryContextFromSession, f as mergeDeliveryContext, g as archiveFileOnDisk, it as cleanStaleLockFiles, j as extractDeliveryInfo, l as updateSessionStore, m as normalizeSessionDeliveryFields, n as loadSessionStore, q as canonicalizeMainSessionAlias, v as capArrayByJsonBytes, w as stripEnvelopeFromMessage, x as readSessionPreviewItemsFromTranscript, y as cleanupArchivedSessionTranscripts, z as evaluateSessionFreshness } from "./store-BS8fRU9w.js";
41
+ import { B as evaluateSessionFreshness, E as stripEnvelopeFromMessages, H as resolveSessionResetPolicy, J as canonicalizeMainSessionAlias, K as mergeSessionEntry, L as CURRENT_SESSION_VERSION, M as extractDeliveryInfo, N as parseSessionThreadInfo, O as stripInlineDirectiveTagsForDisplay, Q as resolveMainSessionKeyFromConfig, S as readSessionPreviewItemsFromTranscript, T as stripEnvelopeFromMessage, X as resolveExplicitAgentSessionKey, Y as resolveAgentMainSessionKey, Z as resolveMainSessionKey, _ as archiveFileOnDisk, at as cleanStaleLockFiles, b as cleanupArchivedSessionTranscripts, d as deliveryContextFromSession, et as snapshotSessionOrigin, h as normalizeSessionDeliveryFields, k as stripInlineDirectiveTagsFromMessageForDisplay, l as updateSessionStore, n as loadSessionStore, p as mergeDeliveryContext, v as archiveSessionTranscripts, w as resolveSessionTranscriptCandidates, x as readSessionMessages, y as capArrayByJsonBytes } from "./store-BfW5-y9S.js";
42
42
  import { r as normalizeInputProvenance } from "./input-provenance-DuD7g0fn.js";
43
43
  import "./strip-inbound-meta-aD15EKsc.js";
44
44
  import { c as hasNonzeroUsage, i as loadSessionUsageTimeSeries, n as loadCostUsageSummary, r as loadSessionCostSummary, s as deriveSessionTotalTokens, t as discoverAllSessions } from "./session-cost-usage-BEJ7hSxb.js";
@@ -73,7 +73,7 @@ import "./render-CIF_SgbA.js";
73
73
  import "./tables-C6OJbUw4.js";
74
74
  import { f as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel, p as resolveGatewayWindowsTaskName } from "./constants-A-nqwfMi.js";
75
75
  import "./ports-lsof-BmOgvEU5.js";
76
- import { o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-D3lJfcWr.js";
76
+ import { o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-Cu2kD7-u.js";
77
77
  import { i as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-onDiMat_.js";
78
78
  import { a as ToolInputError, c as jsonResult, f as readStringArrayParam, m as readStringParam, s as imageResult, u as readNumberParam } from "./target-errors-B_VJlqx6.js";
79
79
  import "./dm-policy-shared-AsIdue8Y.js";
@@ -89,7 +89,7 @@ import "./delivery-queue-BuoTsDxs.js";
89
89
  import "./send-CcKbce_B.js";
90
90
  import "./prompt-style-DMn5Aefm.js";
91
91
  import "./pairing-labels-Cc_CF9XM.js";
92
- import { c as resolveCronStyleNow, i as onHeartbeatEvent, r as getLastHeartbeatEvent } from "./heartbeat-visibility-GeWWsF3e.js";
92
+ import { c as resolveCronStyleNow, i as onHeartbeatEvent, r as getLastHeartbeatEvent } from "./heartbeat-visibility-CksK28e2.js";
93
93
  import "./prompt-BXVP2VY4.js";
94
94
  import "./binaries-DdZzi9Fw.js";
95
95
  import { t as ensureRemoteClawCliOnPath } from "./path-env-BCudIsbk.js";
@@ -130,8 +130,8 @@ import "./table-D-dtKj8e.js";
130
130
  import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-nmovbrpN.js";
131
131
  import { b as probeGateway, c as resolveGroupToolPolicy, d as collectExplicitAllowlist, f as expandPolicyWithPluginGroups, g as resolveToolProfilePolicy, h as normalizeToolName, l as resolveSubagentToolPolicy, m as stripPluginOnlyAllowlist, n as collectEnabledInsecureOrDangerousFlags, o as filterToolsByPolicy, p as mergeAlsoAllowPolicy, s as resolveEffectiveToolPolicy, u as buildPluginToolGroups, v as isNodeCommandAllowed, y as resolveNodeCommandAllowlist } from "./audit-DI6k-N_P.js";
132
132
  import { t as discoverGatewayBeacons } from "./bonjour-discovery-Cuvc_vec.js";
133
- import { n as getStatusSummary, r as pickGatewaySelfPresence } from "./status-BLKhFWFc.js";
134
- import { a as styleHealthChannelLine, c as setHeartbeatsEnabled, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-D5YyZkng.js";
133
+ import { n as getStatusSummary, r as pickGatewaySelfPresence } from "./status-BeGUnsBd.js";
134
+ import { a as styleHealthChannelLine, c as setHeartbeatsEnabled, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-6NZ23ZCc.js";
135
135
  import { t as requestHeartbeatNow } from "./heartbeat-wake-ByHafflq.js";
136
136
  import { t as resolveRemoteClawPackageRoot } from "./remoteclaw-root-BkQA3neE.js";
137
137
  import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-DOwMM2s0.js";
@@ -140,9 +140,9 @@ import { c as writeRestartSentinel, f as normalizeUpdateChannel, i as formatRest
140
140
  import { a as checkUpdateStatus, c as resolveNpmChannelTag, o as compareSemverStrings } from "./status.update-tjyBpJ__.js";
141
141
  import "./cleanup-utils-9SdJBDuf.js";
142
142
  import "./import-gwRwvSvO.js";
143
- import { t as runOnboardingWizard } from "./onboarding-BLgEs3xo.js";
144
- import { a as CHANNEL_TARGET_DESCRIPTION, c as supportsChannelMessageButtonsForChannel, d as ensureOutboundSessionEntry, f as resolveOutboundSessionRoute, i as CHANNEL_TARGETS_DESCRIPTION, l as supportsChannelMessageCards, m as resetDirectoryCache, n as getToolResult, o as listChannelMessageActions, r as runMessageAction, s as supportsChannelMessageButtons, t as CHANNEL_MESSAGE_ACTION_NAMES, u as supportsChannelMessageCardsForChannel } from "./message-action-names-y0-o46BN.js";
145
- import { a as loadCombinedSessionStoreForGateway, c as resolveGatewaySessionStoreTarget, i as listSessionsFromStore, l as resolveSessionModelRef, o as loadSessionEntry, r as listAgentsForGateway, s as pruneLegacyStoreKeys, t as canonicalizeSpawnedByForAgent } from "./session-utils-CpgeP4rB.js";
143
+ import { t as runOnboardingWizard } from "./onboarding-CCahs79c.js";
144
+ import { a as CHANNEL_TARGET_DESCRIPTION, c as supportsChannelMessageButtonsForChannel, d as ensureOutboundSessionEntry, f as resolveOutboundSessionRoute, i as CHANNEL_TARGETS_DESCRIPTION, l as supportsChannelMessageCards, m as resetDirectoryCache, n as getToolResult, o as listChannelMessageActions, r as runMessageAction, s as supportsChannelMessageButtons, t as CHANNEL_MESSAGE_ACTION_NAMES, u as supportsChannelMessageCardsForChannel } from "./message-action-names-AEii-fdA.js";
145
+ import { a as loadCombinedSessionStoreForGateway, c as resolveGatewaySessionStoreTarget, i as listSessionsFromStore, l as resolveSessionModelRef, o as loadSessionEntry, r as listAgentsForGateway, s as pruneLegacyStoreKeys, t as canonicalizeSpawnedByForAgent } from "./session-utils-ChEnoQCt.js";
146
146
  import { a as sendApnsAlert, c as parseMessageWithAttachments, d as shouldLogWs, f as summarizeAgentEventForWsLog, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, p as setGatewayWsLogStyle, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration, u as logWs } from "./push-apns-CmaPaHik.js";
147
147
  import { n as hasBinary } from "./config-eval-CrNx1PGo.js";
148
148
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-Cl2IkgAE.js";
@@ -7203,10 +7203,12 @@ async function ensureSessionRuntimeCleanup(params) {
7203
7203
  queueKeys.add(params.target.canonicalKey);
7204
7204
  if (params.sessionId) queueKeys.add(params.sessionId);
7205
7205
  clearSessionQueues([...queueKeys]);
7206
+ killSessionRun(params.target.canonicalKey);
7206
7207
  stopSubagentsForRequester({
7207
7208
  cfg: params.cfg,
7208
7209
  requesterSessionKey: params.target.canonicalKey
7209
7210
  });
7211
+ await waitForSessionRunEnd(params.target.canonicalKey, 5e3);
7210
7212
  }
7211
7213
  const sessionsHandlers = {
7212
7214
  "sessions.list": ({ params, respond }) => {
@@ -7943,6 +7945,11 @@ const agentHandlers = {
7943
7945
  });
7944
7946
  respond(true, accepted, void 0, { runId });
7945
7947
  const resolvedThreadId = explicitThreadId ?? deliveryPlan.resolvedThreadId;
7948
+ if (resolvedSessionKey) registerSessionRun(resolvedSessionKey, {
7949
+ startedAt: Date.now(),
7950
+ sessionKey: resolvedSessionKey,
7951
+ agentId: agentId ?? "main"
7952
+ });
7946
7953
  agentCommand({
7947
7954
  message,
7948
7955
  images,
@@ -8004,6 +8011,8 @@ const agentHandlers = {
8004
8011
  runId,
8005
8012
  error: formatForLog(err)
8006
8013
  });
8014
+ }).finally(() => {
8015
+ if (resolvedSessionKey) unregisterSessionRun(resolvedSessionKey);
8007
8016
  });
8008
8017
  },
8009
8018
  "agent.identity.get": ({ params, respond }) => {
@@ -11730,7 +11739,7 @@ const nodeHandlers = {
11730
11739
  const p = params;
11731
11740
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
11732
11741
  await respondUnavailableOnThrow(respond, async () => {
11733
- const { handleNodeEvent } = await import("./server-node-events-B60wtfXc.js");
11742
+ const { handleNodeEvent } = await import("./server-node-events-CRRE92S3.js");
11734
11743
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
11735
11744
  await handleNodeEvent({
11736
11745
  deps: context.deps,
@@ -14680,7 +14689,7 @@ function createGatewayReloadHandlers(params) {
14680
14689
  const getActiveCounts = () => {
14681
14690
  const queueSize = getTotalQueueSize();
14682
14691
  const pendingReplies = getTotalPendingReplies();
14683
- const embeddedRuns = 0;
14692
+ const embeddedRuns = getActiveSessionRunCount();
14684
14693
  return {
14685
14694
  queueSize,
14686
14695
  pendingReplies,
@@ -23879,7 +23888,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
23879
23888
  if (!minimalTestGateway) cron.start().catch((err) => logCron.error(`failed to start: ${String(err)}`));
23880
23889
  if (!minimalTestGateway) (async () => {
23881
23890
  const { recoverPendingDeliveries } = await import("./delivery-queue-BuoTsDxs.js").then((n) => n.n);
23882
- const { deliverOutboundPayloads } = await import("./deliver-D3lJfcWr.js").then((n) => n.n);
23891
+ const { deliverOutboundPayloads } = await import("./deliver-Cu2kD7-u.js").then((n) => n.n);
23883
23892
  await recoverPendingDeliveries({
23884
23893
  deliver: deliverOutboundPayloads,
23885
23894
  log: log.child("delivery-recovery"),
@@ -10,7 +10,7 @@ import { a as resolveAgentDir, c as resolveAgentRuntimeOrThrow, d as resolveDefa
10
10
  import { _ as parseByteSize, g as parseDurationMs, t as RemoteClawSchema, u as isInboundPathAllowed } from "./zod-schema-Bh8NOhFH.js";
11
11
  import "./dock-DO9Vw5CE.js";
12
12
  import { c as normalizeMessageChannel, d as GATEWAY_CLIENT_IDS, f as GATEWAY_CLIENT_MODES, h as normalizeGatewayClientMode, i as isGatewayMessageChannel, m as hasGatewayClientCap, n as isDeliverableMessageChannel, o as isWebchatClient, p as GATEWAY_CLIENT_NAMES, r as isGatewayCliClient, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_CAPS } from "./message-channel-tuc9CdEw.js";
13
- import { $ as snapshotSessionOrigin, D as cleanupArchivedSessionTranscripts, E as capArrayByJsonBytes, F as stripInlineDirectiveTagsForDisplay, G as mergeSessionEntry, I as stripInlineDirectiveTagsFromMessageForDisplay, J as resolveAgentMainSessionKey, L as cleanStaleLockFiles, M as stripEnvelopeFromMessage, N as stripEnvelopeFromMessages, O as readSessionMessages, S as normalizeSessionDeliveryFields, T as archiveSessionTranscripts, V as resolveSessionResetPolicy, X as resolveMainSessionKey, Y as resolveExplicitAgentSessionKey, Z as resolveMainSessionKeyFromConfig, b as mergeDeliveryContext, g as updateSessionStore, j as resolveSessionTranscriptCandidates, k as readSessionPreviewItemsFromTranscript, l as loadSessionStore, n as extractDeliveryInfo, q as canonicalizeMainSessionAlias, r as parseSessionThreadInfo, s as CURRENT_SESSION_VERSION, w as archiveFileOnDisk, y as deliveryContextFromSession, z as evaluateSessionFreshness } from "./sessions-3ACDrmHu.js";
13
+ import { A as readSessionPreviewItemsFromTranscript, B as evaluateSessionFreshness, C as normalizeSessionDeliveryFields, D as capArrayByJsonBytes, E as archiveSessionTranscripts, H as resolveSessionResetPolicy, I as stripInlineDirectiveTagsForDisplay, J as canonicalizeMainSessionAlias, K as mergeSessionEntry, L as stripInlineDirectiveTagsFromMessageForDisplay, M as resolveSessionTranscriptCandidates, N as stripEnvelopeFromMessage, O as cleanupArchivedSessionTranscripts, P as stripEnvelopeFromMessages, Q as resolveMainSessionKeyFromConfig, R as cleanStaleLockFiles, T as archiveFileOnDisk, X as resolveExplicitAgentSessionKey, Y as resolveAgentMainSessionKey, Z as resolveMainSessionKey, et as snapshotSessionOrigin, g as updateSessionStore, k as readSessionMessages, l as loadSessionStore, n as extractDeliveryInfo, r as parseSessionThreadInfo, s as CURRENT_SESSION_VERSION, x as mergeDeliveryContext, y as deliveryContextFromSession } from "./sessions-C6O5qrbx.js";
14
14
  import "./accounts-BVh3N1Fk.js";
15
15
  import { i as resolveWhatsAppAccount } from "./accounts-9jdDby1S.js";
16
16
  import { n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-xybjDXd6.js";
@@ -21,7 +21,7 @@ import { t as formatCliCommand } from "./command-format-CnyOPNyW.js";
21
21
  import "./logging-DRwtiLIS.js";
22
22
  import "./send-QGiloXFZ.js";
23
23
  import "./send-BvObbKlY.js";
24
- import { A as resolveAgentDeliveryPlan, At as stopSubagentsForRequester, Bt as setPreRestartDeferralCheck, C as readJsonBodyWithLimit, Ct as SUBAGENT_SPAWN_MODES, Dt as resolveTotalTokens, E as sleepWithAbort, Et as formatTokenUsageDisplay, F as resolveAgentAvatar, Ft as emitGatewayRestart, Gt as normalizeGroupActivation, Ht as resolveSubagentLabel, I as buildSafeExternalPrompt, It as isGatewaySigusr1RestartExternallyAllowed, L as detectSuspiciousPatterns, Lt as markGatewaySigusr1RestartHandled, M as createOutboundSendDeps, N as createDefaultDeps, Nt as consumeGatewaySigusr1RestartAuthorization, O as agentCommand, Ot as truncateLine, P as createOutboundSendDeps$1, Pt as deferGatewayRestartUntilIdle, R as getHookType, Rt as scheduleGatewaySigusr1Restart, St as parseVerboseOverride, T as computeBackoff, Tt as formatDurationCompact, U as buildHistoryContextFromEntries, Ut as resolveSubagentTargetFromRuns, Vt as unbindThreadBindingsBySessionKey, Wt as sortSubagentRuns, X as getTotalPendingReplies, Xt as resolveUsageProviderId, Y as createReplyDispatcher, Yt as formatUsageWindowSummary, Zt as buildStatusMessage, _t as enqueueSystemEvent, an as isTtsEnabled, at as formatZonedTimestamp, c as resolveSessionDeliveryTarget, cn as resolveTtsAutoMode, ct as ChannelBridge, d as loadRemoteClawPlugins, dn as resolveTtsProviderOrder, dt as resolveUserTimeFormat, fn as setTtsEnabled, ft as resolveUserTimezone, gn as OPENAI_TTS_VOICES, hn as OPENAI_TTS_MODELS, in as getTtsProvider, it as BARE_SESSION_RESET_PROMPT, j as resolveAgentOutboundTarget, kt as isAbortRequestText, ln as resolveTtsConfig, lt as withAuthKeyRetry, m as registerUnhandledRejectionHandler, mn as textToSpeech, mt as resolveChannelMessageToolHints, nn as resolveSendPolicy, on as isTtsProviderConfigured, ot as getCliSessionId, pn as setTtsProvider, pt as listChannelSupportedActions, qt as loadProviderUsageSummary, r as dispatchInboundMessage, s as resolveOutboundTarget, sn as resolveTtsApiKey, st as setCliSessionId, tn as normalizeSendPolicy, u as resolveOutboundChannelPlugin, un as resolveTtsPrefsPath, ut as formatUserTime, v as handleSlackHttpRequest, vt as isSystemEventContextChanged, w as requestBodyErrorToText, wt as spawnSubagentDirect, xt as applyVerboseOverride, z as isExternalHookSession, zt as setGatewaySigusr1RestartPolicy } from "./provider-dispatcher-CaVZ8Nhx.js";
24
+ import { A as resolveAgentDeliveryPlan, At as stopSubagentsForRequester, Bt as setPreRestartDeferralCheck, C as readJsonBodyWithLimit, Ct as SUBAGENT_SPAWN_MODES, Dt as resolveTotalTokens, E as sleepWithAbort, Et as formatTokenUsageDisplay, F as resolveAgentAvatar, Ft as emitGatewayRestart, Gt as normalizeGroupActivation, Ht as resolveSubagentLabel, I as buildSafeExternalPrompt, It as isGatewaySigusr1RestartExternallyAllowed, L as detectSuspiciousPatterns, Lt as markGatewaySigusr1RestartHandled, M as createOutboundSendDeps, N as createDefaultDeps, Nt as consumeGatewaySigusr1RestartAuthorization, O as agentCommand, Ot as truncateLine, P as createOutboundSendDeps$1, Pt as deferGatewayRestartUntilIdle, R as getHookType, Rt as scheduleGatewaySigusr1Restart, St as parseVerboseOverride, T as computeBackoff, Tt as formatDurationCompact, U as buildHistoryContextFromEntries, Ut as resolveSubagentTargetFromRuns, Vt as unbindThreadBindingsBySessionKey, Wt as sortSubagentRuns, X as getTotalPendingReplies, Xt as resolveUsageProviderId, Y as createReplyDispatcher, Yt as formatUsageWindowSummary, Zt as buildStatusMessage, _t as enqueueSystemEvent, an as isTtsEnabled, at as formatZonedTimestamp, c as resolveSessionDeliveryTarget, cn as resolveTtsAutoMode, ct as ChannelBridge, d as loadRemoteClawPlugins, dn as resolveTtsProviderOrder, dt as resolveUserTimeFormat, fn as setTtsEnabled, ft as resolveUserTimezone, gn as OPENAI_TTS_VOICES, hn as OPENAI_TTS_MODELS, in as getTtsProvider, it as BARE_SESSION_RESET_PROMPT, j as resolveAgentOutboundTarget, kt as isAbortRequestText, ln as resolveTtsConfig, lt as withAuthKeyRetry, m as registerUnhandledRejectionHandler, mn as textToSpeech, mt as resolveChannelMessageToolHints, nn as resolveSendPolicy, on as isTtsProviderConfigured, ot as getCliSessionId, pn as setTtsProvider, pt as listChannelSupportedActions, qt as loadProviderUsageSummary, r as dispatchInboundMessage, s as resolveOutboundTarget, sn as resolveTtsApiKey, st as setCliSessionId, tn as normalizeSendPolicy, u as resolveOutboundChannelPlugin, un as resolveTtsPrefsPath, ut as formatUserTime, v as handleSlackHttpRequest, vt as isSystemEventContextChanged, w as requestBodyErrorToText, wt as spawnSubagentDirect, xt as applyVerboseOverride, z as isExternalHookSession, zt as setGatewaySigusr1RestartPolicy } from "./provider-dispatcher-BD5K64cR.js";
25
25
  import { c as resolveSessionFilePath, l as resolveSessionFilePathOptions, m as resolveStorePath, p as resolveSessionTranscriptsDirForAgent } from "./chat-envelope-CT-Ocz9D.js";
26
26
  import { n as isPidAlive } from "./process-scoped-map-Cb1EHPyN.js";
27
27
  import { r as normalizeInputProvenance } from "./input-provenance-gIfDn1ki.js";
@@ -33,14 +33,14 @@ import { a as isTrustedProxyAddress, c as pickPrimaryLanIPv4, d as resolveGatewa
33
33
  import { i as logWarn, t as logDebug } from "./logger-Bg_B5M43.js";
34
34
  import "./ip-DK-vcRii.js";
35
35
  import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-kbXXH7kK.js";
36
- import { A as createAgentToAgentPolicy, B as AGENT_LANE_NESTED, C as runAgentStep, Ct as isDiagnosticsEnabled, Dt as getAgentRunContext, E as extractAssistantText, Et as emitAgentEvent, F as resolveDisplaySessionKey, H as getSubagentDepthFromSessionStore, I as resolveInternalSessionKey, L as resolveMainSessionAlias, M as resolveEffectiveSessionToolsVisibility, N as resolveSandboxedSessionToolContext, O as stripToolMessages, Ot as onAgentEvent, P as isResolvedSessionVisibleToRequester, R as resolveSessionReference, S as readLatestAssistantReply, T as deriveChannel, Tt as clearAgentRunContext, U as extractTextFromChatContent, V as AGENT_LANE_SUBAGENT, Y as getFollowupQueueDepth, _ as buildAgentToAgentReplyContext, a as listDescendantRunsForRequester, b as resolveAnnounceTargetFromKey, bt as startDiagnosticHeartbeat, c as markSubagentRunTerminated, ct as getTotalQueueSize, dt as setCommandLaneConcurrency, f as resolveAgentTimeoutMs, ft as waitForActiveTasks, g as buildAgentToAgentMessageContext, h as buildAgentToAgentAnnounceContext, i as initSubagentRegistry, it as clearSessionQueues, j as createSessionVisibilityGuard, k as stripReasoningTagsFromText, kt as registerAgentRunContext, lt as markGatewayDraining, m as runSubagentAnnounceFlow, n as countActiveDescendantRuns, o as listSubagentRunsForRequester, ot as getActiveTaskCount, pt as CommandLane, q as resolveQueueSettings, rt as buildOutboundSessionContext, s as markSubagentRunForSteerRestart, t as clearSubagentRunSteerRestart, u as replaceSubagentRunAfterSteer, ut as resetAllLanes, v as isAnnounceSkip, w as classifySessionKind, x as resolvePingPongTurns, xt as stopDiagnosticHeartbeat, y as isReplySkip, z as shouldResolveSessionIdInput } from "./subagent-registry-DIReZNw1.js";
36
+ import { $ as resolveQueueSettings, A as createAgentToAgentPolicy, B as AGENT_LANE_NESTED, C as runAgentStep, Dt as stopDiagnosticHeartbeat, E as extractAssistantText, Et as startDiagnosticHeartbeat, F as resolveDisplaySessionKey, Ft as registerAgentRunContext, G as killSessionRun, H as getSubagentDepthFromSessionStore, I as resolveInternalSessionKey, J as waitForSessionRunEnd, K as registerSessionRun, L as resolveMainSessionAlias, M as resolveEffectiveSessionToolsVisibility, Mt as emitAgentEvent, N as resolveSandboxedSessionToolContext, Nt as getAgentRunContext, O as stripToolMessages, P as isResolvedSessionVisibleToRequester, Pt as onAgentEvent, R as resolveSessionReference, S as readLatestAssistantReply, T as deriveChannel, U as getActiveSessionRunCount, V as AGENT_LANE_SUBAGENT, Y as extractTextFromChatContent, _ as buildAgentToAgentReplyContext, _t as setCommandLaneConcurrency, a as listDescendantRunsForRequester, b as resolveAnnounceTargetFromKey, c as markSubagentRunTerminated, f as resolveAgentTimeoutMs, ft as getActiveTaskCount, g as buildAgentToAgentMessageContext, gt as resetAllLanes, h as buildAgentToAgentAnnounceContext, ht as markGatewayDraining, i as initSubagentRegistry, j as createSessionVisibilityGuard, jt as clearAgentRunContext, k as stripReasoningTagsFromText, kt as isDiagnosticsEnabled, lt as buildOutboundSessionContext, m as runSubagentAnnounceFlow, mt as getTotalQueueSize, n as countActiveDescendantRuns, o as listSubagentRunsForRequester, q as unregisterSessionRun, s as markSubagentRunForSteerRestart, t as clearSubagentRunSteerRestart, tt as getFollowupQueueDepth, u as replaceSubagentRunAfterSteer, ut as clearSessionQueues, v as isAnnounceSkip, vt as waitForActiveTasks, w as classifySessionKind, x as resolvePingPongTurns, y as isReplySkip, yt as CommandLane, z as shouldResolveSessionIdInput } from "./subagent-registry-BTv48FFX.js";
37
37
  import { i as resolveAgentIdentity } from "./response-prefix-template-DKzvekX_.js";
38
38
  import "./agent-helpers-Bzz_tiPK.js";
39
39
  import { i as estimateBase64DecodedBytes, n as resolveImageSanitizationLimits, r as canonicalizeBase64, t as sanitizeToolResultImages } from "./tool-images-CX2LXum2.js";
40
40
  import { n as runExec, t as runCommandWithTimeout } from "./exec-D1tuG1om.js";
41
41
  import "./image-ops-BT4VediG.js";
42
42
  import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-D1JVsjbg.js";
43
- import { h as normalizeTargetForProvider, r as runGlobalGatewayStopSafely, t as getGlobalHookRunner } from "./hook-runner-global-D8bMcDPD.js";
43
+ import { h as normalizeTargetForProvider, r as runGlobalGatewayStopSafely, t as getGlobalHookRunner } from "./hook-runner-global-DPdZsDAH.js";
44
44
  import { n as redactSensitiveText } from "./redact-CuM_QcqM.js";
45
45
  import "./tool-display-FTmiDILs.js";
46
46
  import "./markdown-tables-BKzJxBq0.js";
@@ -70,7 +70,7 @@ import { n as formatTokenCount, r as formatUsd } from "./usage-format-BTja_W6a.j
70
70
  import { i as isErrno, n as formatErrorMessage } from "./errors-BO7MWwih.js";
71
71
  import { f as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel, p as resolveGatewayWindowsTaskName } from "./constants-IGj7U5iv.js";
72
72
  import "./ports-lsof-CwRCSLwc.js";
73
- import { o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-BGpFaGMz.js";
73
+ import { o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-B5eZoNwr.js";
74
74
  import { i as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-CExwFUHo.js";
75
75
  import "./dm-policy-shared-Bla9d1QG.js";
76
76
  import "./send-D8F6oiAI.js";
@@ -94,7 +94,7 @@ import { i as enableTailscaleServe, n as disableTailscaleServe, o as getTailnetH
94
94
  import { a as resolveGatewayAuth, c as AUTH_RATE_LIMIT_SCOPE_SHARED_SECRET, i as isLocalDirectRequest, l as createAuthRateLimiter, n as authorizeHttpGatewayConnect, o as AUTH_RATE_LIMIT_SCOPE_DEVICE_TOKEN, r as authorizeWsControlUiGatewayConnect, s as AUTH_RATE_LIMIT_SCOPE_HOOK_AUTH, t as assertGatewayAuthConfigured, u as normalizeRateLimitClientIp } from "./auth-DLxYp9jW.js";
95
95
  import "./server-lifecycle-0I70Ep4C.js";
96
96
  import { t as movePathToTrash } from "./trash-CLXPOrao.js";
97
- import { c as resolveCronStyleNow, i as onHeartbeatEvent, r as getLastHeartbeatEvent } from "./heartbeat-visibility-Z_3IqRgn.js";
97
+ import { c as resolveCronStyleNow, i as onHeartbeatEvent, r as getLastHeartbeatEvent } from "./heartbeat-visibility-CXLlnSbK.js";
98
98
  import { c as resolveCoreToolProfiles, i as PROFILE_OPTIONS, n as DEFAULT_GATEWAY_HTTP_TOOL_DENY, o as listCoreToolSections } from "./dangerous-tools-GchSg2uX.js";
99
99
  import { t as ensureRemoteClawCliOnPath } from "./path-env-D95MIp74.js";
100
100
  import { t as formatDocsLink } from "./links-CbtTPpO-.js";
@@ -124,8 +124,8 @@ import "./table-GQ3pJQ0O.js";
124
124
  import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-C7bajxQi.js";
125
125
  import { b as probeGateway, c as resolveGroupToolPolicy, d as collectExplicitAllowlist, f as expandPolicyWithPluginGroups, g as resolveToolProfilePolicy, h as normalizeToolName, l as resolveSubagentToolPolicy, m as stripPluginOnlyAllowlist, n as collectEnabledInsecureOrDangerousFlags, o as filterToolsByPolicy, p as mergeAlsoAllowPolicy, s as resolveEffectiveToolPolicy, u as buildPluginToolGroups, v as isNodeCommandAllowed, y as resolveNodeCommandAllowlist } from "./audit-ir0rWxq8.js";
126
126
  import { t as discoverGatewayBeacons } from "./bonjour-discovery-BWEM4FlS.js";
127
- import { i as pickGatewaySelfPresence, r as getStatusSummary } from "./status-Ccfq5H-G.js";
128
- import { a as styleHealthChannelLine, c as setHeartbeatsEnabled, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-uTVcqwOx.js";
127
+ import { i as pickGatewaySelfPresence, r as getStatusSummary } from "./status-uyg2yOTM.js";
128
+ import { a as styleHealthChannelLine, c as setHeartbeatsEnabled, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-D6T18gwU.js";
129
129
  import { t as requestHeartbeatNow } from "./heartbeat-wake-Uah8gcOk.js";
130
130
  import { t as resolveRemoteClawPackageRoot } from "./remoteclaw-root-Dgi-g2QH.js";
131
131
  import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-CbCKSgtg.js";
@@ -134,9 +134,9 @@ import { c as writeRestartSentinel, f as normalizeUpdateChannel, i as formatRest
134
134
  import { a as checkUpdateStatus, c as resolveNpmChannelTag, o as compareSemverStrings } from "./status.update-BAifUX2r.js";
135
135
  import "./cleanup-utils-CZAO_QjK.js";
136
136
  import "./import-DPg-pRq4.js";
137
- import { t as runOnboardingWizard } from "./onboarding-sWcrQljf.js";
138
- import { a as CHANNEL_TARGET_DESCRIPTION, c as supportsChannelMessageButtonsForChannel, d as ensureOutboundSessionEntry, f as resolveOutboundSessionRoute, i as CHANNEL_TARGETS_DESCRIPTION, l as supportsChannelMessageCards, m as resetDirectoryCache, n as getToolResult, o as listChannelMessageActions, r as runMessageAction, s as supportsChannelMessageButtons, t as CHANNEL_MESSAGE_ACTION_NAMES, u as supportsChannelMessageCardsForChannel } from "./message-action-names-PbKqmcBa.js";
139
- import { a as loadCombinedSessionStoreForGateway, c as resolveGatewaySessionStoreTarget, i as listSessionsFromStore, l as resolveSessionModelRef, o as loadSessionEntry, r as listAgentsForGateway, s as pruneLegacyStoreKeys, t as canonicalizeSpawnedByForAgent } from "./session-utils-BUNcG-B2.js";
137
+ import { t as runOnboardingWizard } from "./onboarding-BnS6FhcE.js";
138
+ import { a as CHANNEL_TARGET_DESCRIPTION, c as supportsChannelMessageButtonsForChannel, d as ensureOutboundSessionEntry, f as resolveOutboundSessionRoute, i as CHANNEL_TARGETS_DESCRIPTION, l as supportsChannelMessageCards, m as resetDirectoryCache, n as getToolResult, o as listChannelMessageActions, r as runMessageAction, s as supportsChannelMessageButtons, t as CHANNEL_MESSAGE_ACTION_NAMES, u as supportsChannelMessageCardsForChannel } from "./message-action-names-CPJVqkJL.js";
139
+ import { a as loadCombinedSessionStoreForGateway, c as resolveGatewaySessionStoreTarget, i as listSessionsFromStore, l as resolveSessionModelRef, o as loadSessionEntry, r as listAgentsForGateway, s as pruneLegacyStoreKeys, t as canonicalizeSpawnedByForAgent } from "./session-utils-Dq5uiNDE.js";
140
140
  import { a as sendApnsAlert, c as parseMessageWithAttachments, d as shouldLogWs, f as summarizeAgentEventForWsLog, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, p as setGatewayWsLogStyle, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration, u as logWs } from "./push-apns-BYc01wgM.js";
141
141
  import { n as hasBinary } from "./config-eval-5QsRpN7Y.js";
142
142
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-BX5QBLRf.js";
@@ -7198,10 +7198,12 @@ async function ensureSessionRuntimeCleanup(params) {
7198
7198
  queueKeys.add(params.target.canonicalKey);
7199
7199
  if (params.sessionId) queueKeys.add(params.sessionId);
7200
7200
  clearSessionQueues([...queueKeys]);
7201
+ killSessionRun(params.target.canonicalKey);
7201
7202
  stopSubagentsForRequester({
7202
7203
  cfg: params.cfg,
7203
7204
  requesterSessionKey: params.target.canonicalKey
7204
7205
  });
7206
+ await waitForSessionRunEnd(params.target.canonicalKey, 5e3);
7205
7207
  }
7206
7208
  const sessionsHandlers = {
7207
7209
  "sessions.list": ({ params, respond }) => {
@@ -7938,6 +7940,11 @@ const agentHandlers = {
7938
7940
  });
7939
7941
  respond(true, accepted, void 0, { runId });
7940
7942
  const resolvedThreadId = explicitThreadId ?? deliveryPlan.resolvedThreadId;
7943
+ if (resolvedSessionKey) registerSessionRun(resolvedSessionKey, {
7944
+ startedAt: Date.now(),
7945
+ sessionKey: resolvedSessionKey,
7946
+ agentId: agentId ?? "main"
7947
+ });
7941
7948
  agentCommand({
7942
7949
  message,
7943
7950
  images,
@@ -7999,6 +8006,8 @@ const agentHandlers = {
7999
8006
  runId,
8000
8007
  error: formatForLog(err)
8001
8008
  });
8009
+ }).finally(() => {
8010
+ if (resolvedSessionKey) unregisterSessionRun(resolvedSessionKey);
8002
8011
  });
8003
8012
  },
8004
8013
  "agent.identity.get": ({ params, respond }) => {
@@ -11725,7 +11734,7 @@ const nodeHandlers = {
11725
11734
  const p = params;
11726
11735
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
11727
11736
  await respondUnavailableOnThrow(respond, async () => {
11728
- const { handleNodeEvent } = await import("./server-node-events-DdwEsXLN.js");
11737
+ const { handleNodeEvent } = await import("./server-node-events-wpvPI-kw.js");
11729
11738
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
11730
11739
  await handleNodeEvent({
11731
11740
  deps: context.deps,
@@ -14675,7 +14684,7 @@ function createGatewayReloadHandlers(params) {
14675
14684
  const getActiveCounts = () => {
14676
14685
  const queueSize = getTotalQueueSize();
14677
14686
  const pendingReplies = getTotalPendingReplies();
14678
- const embeddedRuns = 0;
14687
+ const embeddedRuns = getActiveSessionRunCount();
14679
14688
  return {
14680
14689
  queueSize,
14681
14690
  pendingReplies,
@@ -23874,7 +23883,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
23874
23883
  if (!minimalTestGateway) cron.start().catch((err) => logCron.error(`failed to start: ${String(err)}`));
23875
23884
  if (!minimalTestGateway) (async () => {
23876
23885
  const { recoverPendingDeliveries } = await import("./delivery-queue-5y843sAr.js").then((n) => n.n);
23877
- const { deliverOutboundPayloads } = await import("./deliver-BGpFaGMz.js").then((n) => n.n);
23886
+ const { deliverOutboundPayloads } = await import("./deliver-B5eZoNwr.js").then((n) => n.n);
23878
23887
  await recoverPendingDeliveries({
23879
23888
  deliver: deliverOutboundPayloads,
23880
23889
  log: log.child("delivery-recovery"),
@@ -1,23 +1,23 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { E as info, I as isRich, L as theme } from "./utils-__cbkDgx.js";
3
- import { ft as resolveUserTimezone, n as resolveHeartbeatDeliveryTarget, r as resolveHeartbeatSenderContext, t as getReplyFromConfig, yt as peekSystemEventEntries } from "./reply-DqJBHDn_.js";
3
+ import { ft as resolveUserTimezone, n as resolveHeartbeatDeliveryTarget, r as resolveHeartbeatSenderContext, t as getReplyFromConfig, yt as peekSystemEventEntries } from "./reply-Ccq9RRYF.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-YtLxC9Jh.js";
5
5
  import { i as defaultRuntime } from "./ansi-DtaiOnt1.js";
6
6
  import { l as resolveAgentIdFromSessionKey, p as toAgentStoreSessionKey, s as normalizeAgentId } from "./session-key-DUewR3Vl.js";
7
7
  import { d as resolveDefaultAgentId, i as resolveAgentConfig, l as resolveAgentWorkspaceDir } from "./agent-scope-CqLq7cFg.js";
8
- import { $ as DEFAULT_HEARTBEAT_EVERY, at as getQueueSize, dt as CommandLane, et as resolveHeartbeatPrompt$1 } from "./subagent-registry-DMTgcI99.js";
8
+ import { _t as CommandLane, at as DEFAULT_HEARTBEAT_EVERY, dt as getQueueSize, ot as resolveHeartbeatPrompt$1 } from "./subagent-registry-DljM1oxO.js";
9
9
  import { i as loadConfig } from "./config-nbO6QgRa.js";
10
10
  import { t as isTruthyEnvValue } from "./env-CY8oslpl.js";
11
11
  import { g as parseDurationMs } from "./zod-schema-C2MssSI0.js";
12
12
  import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-BzN42FWt.js";
13
13
  import { a as resolvePreferredAccountId, t as buildChannelAccountBindings } from "./bindings-DeKYuXJO.js";
14
14
  import { c as resolveSessionFilePath, m as resolveStorePath } from "./chat-envelope-DPKIEKwe.js";
15
- import { J as resolveAgentMainSessionKey, l as updateSessionStore, n as loadSessionStore, q as canonicalizeMainSessionAlias, s as saveSessionStore } from "./store-BS8fRU9w.js";
15
+ import { J as canonicalizeMainSessionAlias, Y as resolveAgentMainSessionKey, l as updateSessionStore, n as loadSessionStore, s as saveSessionStore } from "./store-BfW5-y9S.js";
16
16
  import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-CzzsQW8Z.js";
17
17
  import { a as resolveEffectiveMessagesConfig } from "./response-prefix-template-QvNeSzmd.js";
18
18
  import { n as formatErrorMessage } from "./errors-1O-U7EuY.js";
19
- import { t as deliverOutboundPayloads } from "./deliver-D3lJfcWr.js";
20
- import { a as resolveIndicatorType, n as emitHeartbeatEvent, o as resolveHeartbeatReplyPayload, s as appendCronStyleCurrentTimeLine, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-GeWWsF3e.js";
19
+ import { t as deliverOutboundPayloads } from "./deliver-Cu2kD7-u.js";
20
+ import { a as resolveIndicatorType, n as emitHeartbeatEvent, o as resolveHeartbeatReplyPayload, s as appendCronStyleCurrentTimeLine, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-CksK28e2.js";
21
21
  import { n as withProgress } from "./progress-L9k8Ji0e.js";
22
22
  import { t as resolveChannelDefaultAccountId } from "./helpers-2ePysKF5.js";
23
23
  import { n as setHeartbeatWakeHandler, r as resolveHeartbeatReasonKind, t as requestHeartbeatNow } from "./heartbeat-wake-ByHafflq.js";