@multiplytech/openclaw 2026.2.15-pairing-code.2 → 2026.2.15-pairing-code.4

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 (164) hide show
  1. package/dist/{accounts-DyinIlq4.js → accounts-BvmssTEF.js} +1 -1
  2. package/dist/{accounts-Bu2DSNpQ.js → accounts-CyxQBpl8.js} +1 -1
  3. package/dist/{active-listener-BIBYF9eG.js → active-listener-BruG-udz.js} +1 -1
  4. package/dist/{agent-DSNLBtzv.js → agent-BxxBd9wX.js} +2 -2
  5. package/dist/{agent-CET80Gay.js → agent-D0LfsEPF.js} +2 -2
  6. package/dist/{agent-scope-BIw4Bz2L.js → agent-scope-DUn-XVYs.js} +3 -3
  7. package/dist/{agents-DVhI-sID.js → agents-jAnRMd-A.js} +2 -2
  8. package/dist/{audio-preflight-BHSwqB70.js → audio-preflight-CbR1q2CT.js} +17 -17
  9. package/dist/{audio-preflight-CeC5WuRi.js → audio-preflight-kYQdd_bY.js} +4 -4
  10. package/dist/{auth-choice-CM1FwPhS.js → auth-choice-B6AdPtCu.js} +1 -1
  11. package/dist/{auth-choice-CzyYAKv4.js → auth-choice-GrNENivg.js} +1 -1
  12. package/dist/{banner-CC6AnOLA.js → banner-D3tgjbUi.js} +1 -1
  13. package/dist/build-info.json +3 -3
  14. package/dist/bundled/boot-md/handler.js +38 -38
  15. package/dist/bundled/bootstrap-extra-files/handler.js +4 -4
  16. package/dist/bundled/command-logger/handler.js +1 -1
  17. package/dist/bundled/session-memory/handler.js +32 -32
  18. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  19. package/dist/{channel-activity-C4rZNocg.js → channel-activity--HqvQlN3.js} +1 -1
  20. package/dist/{channel-options-DP6dkP-J.js → channel-options-C0ayB7mx.js} +1 -1
  21. package/dist/{channel-options-DM0gtR7J.js → channel-options-CgdgqIte.js} +1 -1
  22. package/dist/{channel-web-DDHUGqV-.js → channel-web-BTTW7H_d.js} +2 -2
  23. package/dist/{channels-cli-BWY19Tr3.js → channels-cli-BcDsE2LA.js} +4 -4
  24. package/dist/{channels-cli-_m5J1SUj.js → channels-cli-p5hPpQzH.js} +4 -4
  25. package/dist/{chrome-BR14_3nU.js → chrome-B2PpxswT.js} +7 -7
  26. package/dist/{chrome-DlM4kwMc.js → chrome-BtogRifc.js} +18 -18
  27. package/dist/{cli-CkxVFOPr.js → cli-Cwzdze-z.js} +1 -1
  28. package/dist/{cli-cysSgfbp.js → cli-Oxxb4axp.js} +1 -1
  29. package/dist/{command-registry-Ms3vUNfw.js → command-registry-C8q1jb3h.js} +9 -9
  30. package/dist/{common-BB2PeD4P.js → common-BJE3S8zA.js} +2 -2
  31. package/dist/{completion-cli-DuE48nk4.js → completion-cli-CIcsx6ic.js} +1 -1
  32. package/dist/{completion-cli-CbvLZfUs.js → completion-cli-DQd6XSG4.js} +2 -2
  33. package/dist/{config-BA8Xs1ek.js → config-CYlbDcBt.js} +34 -34
  34. package/dist/{config-cli-C58ZfUhH.js → config-cli-BmW3yfH6.js} +1 -1
  35. package/dist/{config-cli-eb9CK3uV.js → config-cli-CZLDgS2E.js} +1 -1
  36. package/dist/{configure-DFUm_Dof.js → configure-B0_p6Z1n.js} +3 -3
  37. package/dist/{configure-DyMYMaNh.js → configure-CRaYQ6hS.js} +3 -3
  38. package/dist/{deliver-CV4a0MBa.js → deliver-BwXnLuWH.js} +16 -16
  39. package/dist/{deliver-DOrBYvPC.js → deliver-C7HjLIB7.js} +1 -1
  40. package/dist/{deps-CiaNIqTD.js → deps-i6fBS1Dw.js} +1 -1
  41. package/dist/{doctor-DFR69Jkv.js → doctor-AUivq-af.js} +4 -4
  42. package/dist/{doctor-BCC19s0G.js → doctor-Cs7rfmA-.js} +4 -4
  43. package/dist/{doctor-completion-CiuhTB62.js → doctor-completion-C2PR6GJF.js} +1 -1
  44. package/dist/{doctor-completion-B7UatwRt.js → doctor-completion-CtBAIy0Z.js} +1 -1
  45. package/dist/entry.js +1 -1
  46. package/dist/{exec-C9rZpEqA.js → exec-C_bNT00b.js} +17 -17
  47. package/dist/extensionAPI.js +6 -6
  48. package/dist/{fetch-Dyb5pqye.js → fetch-mr22CaT4.js} +2 -2
  49. package/dist/{frontmatter-Bk_vZq47.js → frontmatter-BetN20QN.js} +2 -2
  50. package/dist/{gateway-cli-CbP4cmFj.js → gateway-cli-BgGnL3cE.js} +9 -9
  51. package/dist/{gateway-cli-DGB1KeyL.js → gateway-cli-M8r3XcpJ.js} +9 -9
  52. package/dist/{github-copilot-token-BXEGgIt5.js → github-copilot-token-U5JrmjNt.js} +7 -7
  53. package/dist/{health-B2fbSIi_.js → health-BqoIIu1u.js} +2 -2
  54. package/dist/{health-B6AmPi2R.js → health-shfUNbPM.js} +2 -2
  55. package/dist/{heartbeat-visibility-BYMUmHPs.js → heartbeat-visibility-BEMg5PJB.js} +1 -1
  56. package/dist/{heartbeat-visibility-WVqHxZgg.js → heartbeat-visibility-B_kubgRp.js} +1 -1
  57. package/dist/{hooks-cli-dFwTZLe2.js → hooks-cli-99NPDBK1.js} +2 -2
  58. package/dist/{hooks-cli-BWmreFRZ.js → hooks-cli-ec5DFn5g.js} +2 -2
  59. package/dist/{image-CIO7-OG5.js → image-CRFk69Io.js} +1 -1
  60. package/dist/{image-DVTZYmDL.js → image-DN3RgnPr.js} +4 -4
  61. package/dist/{image-ops-7EDUjzca.js → image-ops-CKPJXWk4.js} +9 -9
  62. package/dist/index.js +9 -9
  63. package/dist/{ir-eyTjTBlP.js → ir-C-hSqOPD.js} +6 -6
  64. package/dist/llm-slug-generator.js +32 -32
  65. package/dist/{login-ngyKaHO6.js → login-BFkQgAbM.js} +1 -1
  66. package/dist/{login-CNy8yFnm.js → login-CmhHGO4I.js} +1 -1
  67. package/dist/{login-Cw2wldnK.js → login-CwQj2jUX.js} +1 -1
  68. package/dist/{login-D1k4q2qY.js → login-Dydm4XDa.js} +3 -3
  69. package/dist/{login-qr-CfaLyR02.js → login-qr-B_NTKK4T.js} +1 -1
  70. package/dist/{login-qr-BLRuJdO9.js → login-qr-BrIxb_5N.js} +8 -8
  71. package/dist/{login-qr-DiVZZgtR.js → login-qr-CEOlIdRe.js} +1 -1
  72. package/dist/{login-qr-W7COevag.js → login-qr-CF5T7Eew.js} +1 -1
  73. package/dist/{manager-ihPMEKim.js → manager-Ec86Dapd.js} +10 -10
  74. package/dist/{model-auth-BBAJ-iuC.js → model-auth-COYibYBO.js} +8 -8
  75. package/dist/{models-VQB6E13t.js → models-D688pDKn.js} +2 -2
  76. package/dist/{models-cli-CNFpMBjO.js → models-cli-CcHjNOe3.js} +3 -3
  77. package/dist/{models-cli-DP8Ioz-0.js → models-cli-GWtfGvki.js} +2 -2
  78. package/dist/{onboard-CYiDuEzd.js → onboard-BmB1TAqN.js} +2 -2
  79. package/dist/{onboard-DkRM_urM.js → onboard-C5_njUCe.js} +2 -2
  80. package/dist/{onboard-channels-DKTbKmlk.js → onboard-channels-BATBIQiN.js} +1 -1
  81. package/dist/{onboard-channels-BXaJuRoE.js → onboard-channels-BeXdUwL0.js} +1 -1
  82. package/dist/{onboarding-Dy7479qd.js → onboarding-Cjbb0fRA.js} +3 -3
  83. package/dist/{onboarding-HxGLP3p_.js → onboarding-txZtcVMA.js} +3 -3
  84. package/dist/{onboarding.finalize-CL9qSnkc.js → onboarding.finalize-BI8zTyGF.js} +6 -6
  85. package/dist/{onboarding.finalize-LbRxZIJE.js → onboarding.finalize-CSj3Rf0J.js} +5 -5
  86. package/dist/{outbound-N8cZjkHg.js → outbound-C8YnTFjo.js} +5 -5
  87. package/dist/{outbound-attachment-BAu7a9Bk.js → outbound-attachment-C8Qf4dh8.js} +2 -2
  88. package/dist/{outbound-send-deps-BTWti9aw.js → outbound-send-deps-BCi2C-Sb.js} +1 -1
  89. package/dist/{paths-CMYSfM3T.js → paths-Bbik2tb_.js} +2 -2
  90. package/dist/{paths-CyR9Pa1R.js → paths-CkkDESQ2.js} +5 -5
  91. package/dist/{pi-auth-json-BX0whbu8.js → pi-auth-json-MhfZXNOP.js} +6 -6
  92. package/dist/{pi-embedded-eJxVRGMo.js → pi-embedded-8ou24X6D.js} +18 -18
  93. package/dist/{pi-embedded-helpers-DHT11gwA.js → pi-embedded-helpers-DmwtjJVo.js} +48 -48
  94. package/dist/{pi-embedded-helpers-D3YxFr03.js → pi-embedded-helpers-Dow6Qreh.js} +4 -4
  95. package/dist/{pi-embedded-VsjyhRZJ.js → pi-embedded-wVlKSjNK.js} +120 -120
  96. package/dist/{plugin-registry-JsmPJwwm.js → plugin-registry-D_bG1PT_.js} +1 -1
  97. package/dist/{plugin-registry-BikAQNm7.js → plugin-registry-N4ZFQdQ9.js} +1 -1
  98. package/dist/plugin-sdk/{channel-web-CvD0K75f.js → channel-web-BXr_pHKk.js} +2 -2
  99. package/dist/plugin-sdk/index.js +4 -4
  100. package/dist/plugin-sdk/{login-D94FA38f.js → login-CGRU_9Nh.js} +1 -1
  101. package/dist/plugin-sdk/{login-qr-CjfMeBeY.js → login-qr-D6D-dPg-.js} +1 -1
  102. package/dist/plugin-sdk/{reply-DOp68zJ4.js → reply-BvOTUN2t.js} +4 -4
  103. package/dist/plugin-sdk/{session-CNtQTHPb.js → session-Cjs4HuZk.js} +16 -1
  104. package/dist/plugin-sdk/{web-Db22IeLz.js → web-CUrXnjRV.js} +4 -4
  105. package/dist/{plugins-cli-B55b-uPy.js → plugins-cli-CFOLjXM-.js} +2 -2
  106. package/dist/{plugins-cli-opkeYzuP.js → plugins-cli-D2KHK9jR.js} +2 -2
  107. package/dist/{program-BVG5Yw8K.js → program-B9I5xkOF.js} +7 -7
  108. package/dist/{program-context-BDR_kl7O.js → program-context-C3C2WLNP.js} +17 -17
  109. package/dist/{provider-auth-helpers-B8jWzXEO.js → provider-auth-helpers-DIPDa8Lw.js} +1 -1
  110. package/dist/{provider-auth-helpers-C3wYwZR7.js → provider-auth-helpers-DYPDXQQP.js} +1 -1
  111. package/dist/{pw-ai-xh9cPTDX.js → pw-ai-BCyIw4W4.js} +3 -3
  112. package/dist/{pw-ai-QsOEPS_1.js → pw-ai-Bbd79y0r.js} +1 -1
  113. package/dist/{qmd-manager-DtmZgEoS.js → qmd-manager-CgC5sB-T.js} +6 -6
  114. package/dist/{register.agent-BKnzC9V7.js → register.agent-BedOGhk-.js} +7 -7
  115. package/dist/{register.agent-DB-odXrN.js → register.agent-JL4_r2Jb.js} +6 -6
  116. package/dist/{register.configure-bgPety_6.js → register.configure-D_-8trFJ.js} +6 -6
  117. package/dist/{register.configure-UbUNKSDs.js → register.configure-U45T1EJ-.js} +6 -6
  118. package/dist/{register.maintenance-CUeaYZFE.js → register.maintenance-BNhGCK92.js} +7 -7
  119. package/dist/{register.maintenance-rRcua9fF.js → register.maintenance-TMdlbc45.js} +8 -8
  120. package/dist/{register.message-BuW1XfhN.js → register.message-BdQletmJ.js} +3 -3
  121. package/dist/{register.message-Bc3xTouE.js → register.message-DKw_hGiP.js} +3 -3
  122. package/dist/{register.onboard-D_6kLdSR.js → register.onboard-D5LHgdqV.js} +4 -4
  123. package/dist/{register.onboard-CLHbHGLn.js → register.onboard-DVHlSfZa.js} +4 -4
  124. package/dist/{register.setup-Dki8fLKm.js → register.setup-CAVftQvz.js} +4 -4
  125. package/dist/{register.setup-TQ_JN-KE.js → register.setup-Dfhxwzgk.js} +4 -4
  126. package/dist/{register.status-health-sessions-DXjYJmpA.js → register.status-health-sessions-YCJQ83my.js} +3 -3
  127. package/dist/{register.status-health-sessions-CtrsNaio.js → register.status-health-sessions-ixyM5rDz.js} +3 -3
  128. package/dist/{register.subclis-Qnt7Zvdi.js → register.subclis-D-kjKwwz.js} +9 -9
  129. package/dist/{reply-BWHF3Tu2.js → reply-d6yV4wB_.js} +4 -4
  130. package/dist/{retry-B0RhK9tX.js → retry-D1bxhFWp.js} +1 -1
  131. package/dist/{run-main-BGTntYOK.js → run-main-D5duEqg3.js} +14 -14
  132. package/dist/{runner-nMdrG8eK.js → runner-DGYLHL8R.js} +7 -7
  133. package/dist/{runner-DED-FFOX.js → runner-oDUAvejt.js} +1 -1
  134. package/dist/{send-BRIcpOAj.js → send-CKSrJ7se.js} +5 -5
  135. package/dist/{send-DzhCsWw9.js → send-DULTJ0oK.js} +7 -7
  136. package/dist/{send-CNibEQip.js → send-Df7eglyR.js} +6 -6
  137. package/dist/{send-CWOrEtrR.js → send-DjP-Miy_.js} +7 -7
  138. package/dist/{send-BMQRcdbF.js → send-z4yxEOnF.js} +4 -4
  139. package/dist/{server-node-events-C7DIp79E.js → server-node-events-BE6fD68d.js} +3 -3
  140. package/dist/{server-node-events-hULwDzWN.js → server-node-events-C51Bayv9.js} +3 -3
  141. package/dist/{session-Bu-wfBqD.js → session-2uX9t1PO.js} +22 -7
  142. package/dist/{session-CuaA1jvm.js → session-B5I8E41_.js} +16 -1
  143. package/dist/{session-DAcG6tIg.js → session-Bu5MF744.js} +16 -1
  144. package/dist/{session-BIaiqJ9l.js → session-ZppYapGg.js} +16 -1
  145. package/dist/{sqlite-Bfoh6OgV.js → sqlite-CBMbuGLX.js} +4 -4
  146. package/dist/{status-BGWVilxi.js → status-8g-vfjfP.js} +2 -2
  147. package/dist/{status-BRGJERN0.js → status-BRNeaZhV.js} +1 -1
  148. package/dist/{status-Dm5F4RCD.js → status-D0P0XQqw.js} +1 -1
  149. package/dist/{status-BbNIlVr-.js → status-NfZ6FkuQ.js} +2 -2
  150. package/dist/{store-B6Y3aOaY.js → store-m4I2z_5t.js} +2 -2
  151. package/dist/{subagent-registry-CHt6rcAF.js → subagent-registry-DJBVFvb4.js} +4 -4
  152. package/dist/{tables-BhgdJIJu.js → tables-7DihLyDw.js} +1 -1
  153. package/dist/{tool-images-DRiKq4of.js → tool-images-hzyBQ0Og.js} +2 -2
  154. package/dist/{update-cli-CkIRtgV9.js → update-cli-BOXR9slg.js} +7 -7
  155. package/dist/{update-cli-DPVK3LQY.js → update-cli-BZ2fDrwx.js} +8 -8
  156. package/dist/{update-runner-BopZcn8o.js → update-runner-B55O98W8.js} +1 -1
  157. package/dist/{update-runner-Dm6YThw6.js → update-runner-BZFeJzUi.js} +1 -1
  158. package/dist/{web-DmkmSHj7.js → web-By5urMji.js} +4 -4
  159. package/dist/{web-BhEzjpss.js → web-C5vqAHQC.js} +36 -36
  160. package/dist/{web-Is78NGCZ.js → web-CtSLAgT_.js} +3 -3
  161. package/dist/{web-ulvSoKNk.js → web-DoaI-RpC.js} +8 -8
  162. package/dist/{whatsapp-actions-x16Ismcy.js → whatsapp-actions-C4JR_6XT.js} +14 -14
  163. package/dist/{workspace-LSLFINSz.js → workspace-CgGZnIx_.js} +5 -5
  164. package/package.json +2 -1
@@ -1,6 +1,6 @@
1
1
  import { d as resolveIsNixMode, g as resolveStateDir, m as resolveOAuthDir, t as CONFIG_PATH, u as resolveGatewayPort, y as resolveRequiredHomeDir } from "./paths-B4BZAPZh.js";
2
2
  import { C as shortenHomePath, U as getResolvedLoggerSettings, b as resolveUserPath, w as sleep } from "./utils-CFnnyoTP.js";
3
- import { kt as loadOpenClawPlugins } from "./reply-BWHF3Tu2.js";
3
+ import { kt as loadOpenClawPlugins } from "./reply-d6yV4wB_.js";
4
4
  import { d as defaultRuntime } from "./subsystem-azPHgTb4.js";
5
5
  import { n as runExec, t as runCommandWithTimeout } from "./exec-V7mqHC8U.js";
6
6
  import { t as resolveOpenClawPackageRoot } from "./openclaw-root-CEnmuBUN.js";
@@ -34,15 +34,15 @@ import { a as launchAgentPlistExists, i as isLaunchAgentLoaded, o as repairLaunc
34
34
  import { n as renderSystemdUnavailableHints, r as formatRuntimeStatus, t as isSystemdUnavailableDetail } from "./systemd-hints-D17u0bCX.js";
35
35
  import { t as readLastGatewayErrorLine } from "./diagnostics-u4E1Oha1.js";
36
36
  import { a as renderGatewayServiceCleanupHints, i as findExtraGatewayServices, n as auditGatewayServiceConfig, r as needsNodeRuntimeMigration, t as SERVICE_AUDIT_CODES } from "./service-audit-DIv4XEdU.js";
37
- import { r as healthCommand } from "./health-B2fbSIi_.js";
37
+ import { r as healthCommand } from "./health-BqoIIu1u.js";
38
38
  import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-BvFVs4xo.js";
39
- import { t as runGatewayUpdate } from "./update-runner-BopZcn8o.js";
39
+ import { t as runGatewayUpdate } from "./update-runner-B55O98W8.js";
40
40
  import { n as logConfigUpdated } from "./logging-Bht-XWBM.js";
41
41
  import { n as buildAuthHealthSummary, r as formatRemainingShort, t as DEFAULT_OAUTH_WARN_MS } from "./auth-health-D1wWOKE2.js";
42
42
  import { n as detectLegacyStateMigrations, r as runLegacyStateMigrations, t as loadAndMaybeMigrateDoctorConfig } from "./doctor-config-flow-sQx0FedQ.js";
43
43
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-Bzc93pL-.js";
44
44
  import { t as formatHealthCheckFailure } from "./health-format-PRKB0nJ1.js";
45
- import { n as doctorShellCompletion } from "./doctor-completion-CiuhTB62.js";
45
+ import { n as doctorShellCompletion } from "./doctor-completion-C2PR6GJF.js";
46
46
  import fs from "node:fs";
47
47
  import os from "node:os";
48
48
  import path from "node:path";
@@ -8,7 +8,7 @@ import { t as buildWorkspaceSkillStatus } from "./skills-status-DHWZObxp.js";
8
8
  import { l as writeConfigFile, o as readConfigFileSnapshot } from "./config-B4-Vvu6M.js";
9
9
  import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-CeM4F1rK.js";
10
10
  import { l as resolveGatewayBindHost, n as isLoopbackHost } from "./net-Bs2mpSPy.js";
11
- import { h as loadOpenClawPlugins } from "./subagent-registry-CHt6rcAF.js";
11
+ import { h as loadOpenClawPlugins } from "./subagent-registry-DJBVFvb4.js";
12
12
  import { T as resolveMainSessionKey, i as loadSessionStore } from "./sessions-D-LiJehh.js";
13
13
  import { n as listChannelPlugins } from "./plugins-bX81iDy5.js";
14
14
  import { E as DEFAULT_SANDBOX_IMAGE, T as DEFAULT_SANDBOX_COMMON_IMAGE, d as resolveSandboxScope, w as DEFAULT_SANDBOX_BROWSER_IMAGE } from "./sandbox-DMa7GvJO.js";
@@ -31,15 +31,15 @@ import { a as launchAgentPlistExists, i as isLaunchAgentLoaded, o as repairLaunc
31
31
  import { n as renderSystemdUnavailableHints, r as formatRuntimeStatus, t as isSystemdUnavailableDetail } from "./systemd-hints-DsQLBC_o.js";
32
32
  import { t as readLastGatewayErrorLine } from "./diagnostics-l_Hauu17.js";
33
33
  import { a as renderGatewayServiceCleanupHints, i as findExtraGatewayServices, n as auditGatewayServiceConfig, r as needsNodeRuntimeMigration, t as SERVICE_AUDIT_CODES } from "./service-audit-qdq3Sd69.js";
34
- import { r as healthCommand } from "./health-B6AmPi2R.js";
34
+ import { r as healthCommand } from "./health-shfUNbPM.js";
35
35
  import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-DTeWMjr_.js";
36
- import { t as runGatewayUpdate } from "./update-runner-Dm6YThw6.js";
36
+ import { t as runGatewayUpdate } from "./update-runner-BZFeJzUi.js";
37
37
  import { n as logConfigUpdated } from "./logging-DlBaGy5C.js";
38
38
  import { n as buildAuthHealthSummary, r as formatRemainingShort, t as DEFAULT_OAUTH_WARN_MS } from "./auth-health-CorHkwvD.js";
39
39
  import { n as detectLegacyStateMigrations, r as runLegacyStateMigrations, t as loadAndMaybeMigrateDoctorConfig } from "./doctor-config-flow-BADnjHsM.js";
40
40
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-D81JLquf.js";
41
41
  import { t as formatHealthCheckFailure } from "./health-format-DywI-BlJ.js";
42
- import { n as doctorShellCompletion } from "./doctor-completion-B7UatwRt.js";
42
+ import { n as doctorShellCompletion } from "./doctor-completion-CtBAIy0Z.js";
43
43
  import { execFile } from "node:child_process";
44
44
  import os from "node:os";
45
45
  import path from "node:path";
@@ -1,7 +1,7 @@
1
1
  import { t as resolveOpenClawPackageRoot } from "./openclaw-root-CEnmuBUN.js";
2
2
  import { r as resolveCliName } from "./command-format-ChfKqObn.js";
3
3
  import { t as note } from "./note-DHzyZ-eO.js";
4
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-DuE48nk4.js";
4
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-CIcsx6ic.js";
5
5
  import path from "node:path";
6
6
  import { spawnSync } from "node:child_process";
7
7
 
@@ -1,7 +1,7 @@
1
1
  import { r as resolveCliName } from "./command-format-9CR_a0e_.js";
2
2
  import { t as resolveOpenClawPackageRoot } from "./openclaw-root-DmH5wLkW.js";
3
3
  import { t as note } from "./note-Ct8WrG6i.js";
4
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-CbvLZfUs.js";
4
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-DQd6XSG4.js";
5
5
  import { spawnSync } from "node:child_process";
6
6
  import path from "node:path";
7
7
 
package/dist/entry.js CHANGED
@@ -2442,7 +2442,7 @@ if (!ensureExperimentalWarningSuppressed()) {
2442
2442
  applyCliProfileEnv({ profile: parsed.profile });
2443
2443
  process$1.argv = parsed.argv;
2444
2444
  }
2445
- import("./run-main-BGTntYOK.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
2445
+ import("./run-main-D5duEqg3.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
2446
2446
  console.error("[openclaw] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
2447
2447
  process$1.exitCode = 1;
2448
2448
  });
@@ -1,8 +1,8 @@
1
- import { a as resolveOAuthDir, c as expandHomePrefix, l as resolveEffectiveHomeDir, n as resolveConfigPath, u as resolveRequiredHomeDir } from "./paths-CyR9Pa1R.js";
1
+ import { a as resolveOAuthDir, c as expandHomePrefix, l as resolveEffectiveHomeDir, n as resolveConfigPath, u as resolveRequiredHomeDir } from "./paths-CkkDESQ2.js";
2
2
  import { createRequire } from "node:module";
3
3
  import os from "node:os";
4
4
  import path from "node:path";
5
- import fs from "node:fs";
5
+ import fsSync from "node:fs";
6
6
  import { Logger } from "tslog";
7
7
  import JSON5 from "json5";
8
8
  import chalk, { Chalk } from "chalk";
@@ -15,9 +15,9 @@ function isNodeErrorWithCode(err, code) {
15
15
  return typeof err === "object" && err !== null && "code" in err && err.code === code;
16
16
  }
17
17
  function resolvePreferredOpenClawTmpDir(options = {}) {
18
- const accessSync = options.accessSync ?? fs.accessSync;
19
- const lstatSync = options.lstatSync ?? fs.lstatSync;
20
- const mkdirSync = options.mkdirSync ?? fs.mkdirSync;
18
+ const accessSync = options.accessSync ?? fsSync.accessSync;
19
+ const lstatSync = options.lstatSync ?? fsSync.lstatSync;
20
+ const mkdirSync = options.mkdirSync ?? fsSync.mkdirSync;
21
21
  const getuid = options.getuid ?? (() => {
22
22
  try {
23
23
  return typeof process.getuid === "function" ? process.getuid() : void 0;
@@ -41,14 +41,14 @@ function resolvePreferredOpenClawTmpDir(options = {}) {
41
41
  try {
42
42
  const preferred = lstatSync(POSIX_OPENCLAW_TMP_DIR);
43
43
  if (!preferred.isDirectory() || preferred.isSymbolicLink()) return fallback();
44
- accessSync(POSIX_OPENCLAW_TMP_DIR, fs.constants.W_OK | fs.constants.X_OK);
44
+ accessSync(POSIX_OPENCLAW_TMP_DIR, fsSync.constants.W_OK | fsSync.constants.X_OK);
45
45
  if (!isSecureDirForUser(preferred)) return fallback();
46
46
  return POSIX_OPENCLAW_TMP_DIR;
47
47
  } catch (err) {
48
48
  if (!isNodeErrorWithCode(err, "ENOENT")) return fallback();
49
49
  }
50
50
  try {
51
- accessSync("/tmp", fs.constants.W_OK | fs.constants.X_OK);
51
+ accessSync("/tmp", fsSync.constants.W_OK | fsSync.constants.X_OK);
52
52
  mkdirSync(POSIX_OPENCLAW_TMP_DIR, {
53
53
  recursive: true,
54
54
  mode: 448
@@ -71,8 +71,8 @@ function resolvePreferredOpenClawTmpDir(options = {}) {
71
71
  function readLoggingConfig() {
72
72
  const configPath = resolveConfigPath();
73
73
  try {
74
- if (!fs.existsSync(configPath)) return;
75
- const raw = fs.readFileSync(configPath, "utf-8");
74
+ if (!fsSync.existsSync(configPath)) return;
75
+ const raw = fsSync.readFileSync(configPath, "utf-8");
76
76
  const logging = JSON5.parse(raw)?.logging;
77
77
  if (!logging || typeof logging !== "object" || Array.isArray(logging)) return;
78
78
  return logging;
@@ -165,7 +165,7 @@ function isFileLogLevelEnabled(level) {
165
165
  return levelToMinLevel(level) <= levelToMinLevel(settings.level);
166
166
  }
167
167
  function buildLogger(settings) {
168
- fs.mkdirSync(path.dirname(settings.file), { recursive: true });
168
+ fsSync.mkdirSync(path.dirname(settings.file), { recursive: true });
169
169
  if (isRollingPath(settings.file)) pruneOldRollingLogs(path.dirname(settings.file));
170
170
  const logger = new Logger({
171
171
  name: "openclaw",
@@ -179,7 +179,7 @@ function buildLogger(settings) {
179
179
  ...logObj,
180
180
  time
181
181
  });
182
- fs.appendFileSync(settings.file, `${line}\n`, { encoding: "utf8" });
182
+ fsSync.appendFileSync(settings.file, `${line}\n`, { encoding: "utf8" });
183
183
  } catch {}
184
184
  });
185
185
  for (const transport of externalTransports) attachExternalTransport(logger, transport);
@@ -231,14 +231,14 @@ function isRollingPath(file) {
231
231
  }
232
232
  function pruneOldRollingLogs(dir) {
233
233
  try {
234
- const entries = fs.readdirSync(dir, { withFileTypes: true });
234
+ const entries = fsSync.readdirSync(dir, { withFileTypes: true });
235
235
  const cutoff = Date.now() - MAX_LOG_AGE_MS;
236
236
  for (const entry of entries) {
237
237
  if (!entry.isFile()) continue;
238
238
  if (!entry.name.startsWith(`${LOG_PREFIX}-`) || !entry.name.endsWith(LOG_SUFFIX)) continue;
239
239
  const fullPath = path.join(dir, entry.name);
240
240
  try {
241
- if (fs.statSync(fullPath).mtimeMs < cutoff) fs.rmSync(fullPath, { force: true });
241
+ if (fsSync.statSync(fullPath).mtimeMs < cutoff) fsSync.rmSync(fullPath, { force: true });
242
242
  } catch {}
243
243
  }
244
244
  } catch {}
@@ -310,14 +310,14 @@ const danger = theme.error;
310
310
  //#endregion
311
311
  //#region src/utils.ts
312
312
  async function ensureDir(dir) {
313
- await fs.promises.mkdir(dir, { recursive: true });
313
+ await fsSync.promises.mkdir(dir, { recursive: true });
314
314
  }
315
315
  /**
316
316
  * Check if a file or directory exists at the given path.
317
317
  */
318
318
  async function pathExists(targetPath) {
319
319
  try {
320
- await fs.promises.access(targetPath);
320
+ await fsSync.promises.access(targetPath);
321
321
  return true;
322
322
  } catch {
323
323
  return false;
@@ -407,7 +407,7 @@ function readLidReverseMapping(lid, opts) {
407
407
  for (const dir of mappingDirs) {
408
408
  const mappingPath = path.join(dir, mappingFilename);
409
409
  try {
410
- const data = fs.readFileSync(mappingPath, "utf8");
410
+ const data = fsSync.readFileSync(mappingPath, "utf8");
411
411
  const phone = JSON.parse(data);
412
412
  if (phone === null || phone === void 0) continue;
413
413
  return normalizeE164(String(phone));
@@ -491,7 +491,7 @@ function resolveConfigDir(env = process.env, homedir = os.homedir) {
491
491
  if (override) return resolveUserPath(override);
492
492
  const newDir = path.join(resolveRequiredHomeDir(env, homedir), ".openclaw");
493
493
  try {
494
- if (fs.existsSync(newDir)) return newDir;
494
+ if (fsSync.existsSync(newDir)) return newDir;
495
495
  } catch {}
496
496
  return newDir;
497
497
  }
@@ -2,17 +2,17 @@ import "./paths-Bp5uKvNR.js";
2
2
  import { r as resolveAgentDir, s as resolveAgentWorkspaceDir, y as ensureAgentWorkspace } from "./agent-scope-CtzoNgNk.js";
3
3
  import "./exec-DgwjzGg-.js";
4
4
  import { X as DEFAULT_PROVIDER, Y as DEFAULT_MODEL, f as resolveThinkingDefault } from "./model-selection-Cb6822pn.js";
5
- import { F as resolveAgentTimeoutMs, I as resolveAgentIdentity, t as runEmbeddedPiAgent } from "./pi-embedded-eJxVRGMo.js";
5
+ import { F as resolveAgentTimeoutMs, I as resolveAgentIdentity, t as runEmbeddedPiAgent } from "./pi-embedded-8ou24X6D.js";
6
6
  import "./github-copilot-token-DZwwYztr.js";
7
- import "./deliver-DOrBYvPC.js";
7
+ import "./deliver-C7HjLIB7.js";
8
8
  import "./image-ops-B9jnR447.js";
9
9
  import "./config-Ejc5JKGl.js";
10
- import { $ as saveSessionStore, X as loadSessionStore } from "./pi-embedded-helpers-D3YxFr03.js";
10
+ import { $ as saveSessionStore, X as loadSessionStore } from "./pi-embedded-helpers-Dow6Qreh.js";
11
11
  import "./pi-model-discovery-DWTTaAgY.js";
12
- import "./chrome-BR14_3nU.js";
12
+ import "./chrome-B2PpxswT.js";
13
13
  import { n as resolveSessionFilePath, s as resolveStorePath } from "./paths-CdHoK26P.js";
14
14
  import "./tool-images-IRIIkjuN.js";
15
- import "./image-CIO7-OG5.js";
15
+ import "./image-CRFk69Io.js";
16
16
  import "./manager-CyBrtpKf.js";
17
17
  import "./sqlite-CUiUMvKy.js";
18
18
  import "./redact-DO22U0Pj.js";
@@ -20,7 +20,7 @@ import "./common-Cc-WjVcX.js";
20
20
  import "./ir-DtbNyKoK.js";
21
21
  import "./fetch-CE6hQpN5.js";
22
22
  import "./active-listener-B5CpzLkd.js";
23
- import "./runner-DED-FFOX.js";
23
+ import "./runner-oDUAvejt.js";
24
24
  import "./proxy-_LH9fwZb.js";
25
25
 
26
26
  export { DEFAULT_MODEL, DEFAULT_PROVIDER, ensureAgentWorkspace, loadSessionStore, resolveAgentDir, resolveAgentIdentity, resolveAgentTimeoutMs, resolveAgentWorkspaceDir, resolveSessionFilePath, resolveStorePath, resolveThinkingDefault, runEmbeddedPiAgent, saveSessionStore };
@@ -1,5 +1,5 @@
1
- import { c as logWarn } from "./exec-C9rZpEqA.js";
2
- import { T as extensionForMime, c as createPinnedDispatcher, d as resolvePinnedHostnameWithPolicy, o as SsrFBlockedError, s as closeDispatcher, w as detectMime } from "./image-ops-7EDUjzca.js";
1
+ import { c as logWarn } from "./exec-C_bNT00b.js";
2
+ import { T as extensionForMime, c as createPinnedDispatcher, d as resolvePinnedHostnameWithPolicy, o as SsrFBlockedError, s as closeDispatcher, w as detectMime } from "./image-ops-CKPJXWk4.js";
3
3
  import { t as bindAbortRelay } from "./fetch-timeout-ijQXfnJ1.js";
4
4
  import path from "node:path";
5
5
 
@@ -1,7 +1,7 @@
1
1
  import { t as parseBooleanValue } from "./boolean-Bb19hm9Y.js";
2
2
  import { n as MANIFEST_KEY, t as LEGACY_MANIFEST_KEYS } from "./legacy-names-BTlhTk_5.js";
3
3
  import path from "node:path";
4
- import fs from "node:fs";
4
+ import fsSync from "node:fs";
5
5
  import JSON5 from "json5";
6
6
  import YAML from "yaml";
7
7
 
@@ -56,7 +56,7 @@ function hasBinary(bin) {
56
56
  for (const part of parts) for (const ext of extensions) {
57
57
  const candidate = path.join(part, bin + ext);
58
58
  try {
59
- fs.accessSync(candidate, fs.constants.X_OK);
59
+ fsSync.accessSync(candidate, fsSync.constants.X_OK);
60
60
  hasBinaryCache.set(bin, true);
61
61
  return true;
62
62
  } catch {}
@@ -1,7 +1,7 @@
1
1
  import { _ as expandHomePrefix, g as resolveStateDir, i as isNixMode, l as resolveGatewayLockDir, o as resolveConfigPath, r as STATE_DIR, t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-B4BZAPZh.js";
2
2
  import { B as theme, C as shortenHomePath, D as truncateUtf16Safe, H as getLogger, P as setVerbose, R as colorize, U as getResolvedLoggerSettings, V as getChildLogger, b as resolveUserPath, c as ensureDir, d as isPlainObject, r as clamp, t as CONFIG_DIR, z as isRich } from "./utils-CFnnyoTP.js";
3
3
  import { B as formatXHighModelHint, G as normalizeThinkLevel, K as normalizeUsageDisplay, U as normalizeElevatedLevel, W as normalizeReasoningLevel, Y as supportsXHighThinking, q as normalizeVerboseLevel, z as formatThinkingLevels } from "./pi-embedded-helpers-DwIwt1C1.js";
4
- import { $ as isGatewaySigusr1RestartExternallyAllowed, $n as resolveAgentIdentity, $r as extractFileContentFromSource, $t as requestNodePairing, A as resolveSessionModelRef, At as normalizeGroupActivation, B as resolveOutboundSessionRoute, Bn as countActiveDescendantRuns, Br as isSystemEventContextChanged, Cr as setCommandLaneConcurrency, D as loadSessionEntry, Dn as getTotalPendingReplies, Dr as stopDiagnosticHeartbeat, E as loadCombinedSessionStoreForGateway, En as createReplyDispatcher, Er as startDiagnosticHeartbeat, Et as requestHeartbeatNow, F as readSessionPreviewItemsFromTranscript, Gn as readLatestAssistantReply, Gr as DEFAULT_INPUT_FILE_MIMES, Gt as refreshRemoteBinsForConnectedNodes, Hn as listDescendantRunsForRequester, Ht as getRemoteSkillEligibility, I as resolveSessionTranscriptCandidates, In as isAbortTrigger, Ir as applyModelOverrideToSessionEntry, J as runWithModelFallback, Jn as clearAgentRunContext, Jr as DEFAULT_INPUT_MAX_REDIRECTS, Jt as setSkillsRemoteRegistry, K as resetDirectoryCache, Kr as DEFAULT_INPUT_IMAGE_MAX_BYTES, Kt as refreshRemoteNodeBins, L as stripEnvelopeFromMessages, Ln as stopSubagentsForRequester, Lr as applyVerboseOverride, Lt as handleSlackHttpRequest, M as archiveSessionTranscripts, Mt as loadProviderUsageSummary, N as capArrayByJsonBytes, Nn as formatZonedTimestamp, Nr as stripHeartbeatToken, O as pruneLegacyStoreKeys, Or as isDiagnosticsEnabled, Ot as getPluginToolMeta, P as readSessionMessages, Pr as lookupContextTokens, Q as emitGatewayRestart, Qn as registerAgentRunContext, Qr as DEFAULT_INPUT_TIMEOUT_MS, Qt as renamePairedNode, Rr as parseVerboseOverride, Rt as readJsonBodyWithLimit, S as canonicalizeSpawnedByForAgent, Sr as resetAllLanes, T as listSessionsFromStore, Tn as dispatchInboundMessage, Tr as CommandLane, Tt as persistBrowserProxyFiles, U as resolveOutboundTarget, Ur as DEFAULT_INPUT_FILE_MAX_BYTES, Ut as primeRemoteSkillsCache, Vn as initSubagentRegistry, W as resolveSessionDeliveryTarget, Wn as runSubagentAnnounceFlow, Wr as DEFAULT_INPUT_FILE_MAX_CHARS, Wt as recordRemoteNodeInfo, X as consumeGatewaySigusr1RestartAuthorization, Xn as getAgentRunContext, Xr as DEFAULT_INPUT_PDF_MAX_PIXELS, Xt as listNodePairing, Yn as emitAgentEvent, Yr as DEFAULT_INPUT_PDF_MAX_PAGES, Yt as approveNodePairing, Z as deferGatewayRestartUntilIdle, Zn as onAgentEvent, Zr as DEFAULT_INPUT_PDF_MIN_TEXT_CHARS, Zt as rejectNodePairing, _ as applyToolPolicyPipeline, _r as OPENAI_TTS_MODELS, _t as normalizeRequiredName, a as runCliAgent, an as pruneExpiredPending, ar as resolveUserTimezone, at as formatDoctorNonInteractiveHint, b as createOpenClawTools, bt as hasLegacyDeliveryHints, cn as writeJsonAtomic, cr as isTtsProviderConfigured, ct as summarizeRestartSentinel, d as clearSessionQueues, dn as buildSafeExternalPrompt, dr as resolveTtsConfig, dt as normalizeCronJobCreate, ei as extractImageContentFromSource, en as updatePairedNodeMetadata, et as markGatewaySigusr1RestartHandled, f as runEmbeddedPiAgent, fn as detectSuspiciousPatterns, fr as resolveTtsPrefsPath, ft as normalizeCronJobPatch, gr as textToSpeech, gt as normalizePayloadToSystemText, h as waitForEmbeddedPiRunEnd, hn as createReplyPrefixOptions, hr as setTtsProvider, ht as normalizeOptionalText, i as setCliSessionId, ii as resolveAgentTimeoutMs, in as createAsyncLock, it as consumeRestartSentinel, j as archiveFileOnDisk, k as resolveGatewaySessionStoreTarget, kr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, kt as loadOpenClawPlugins, l as normalizeSendPolicy, ln as getSkillsSnapshotVersion, lr as resolveTtsApiKey, m as getActiveEmbeddedRunCount, mn as isExternalHookSession, mr as setTtsEnabled, mt as normalizeOptionalAgentId, n as BARE_SESSION_RESET_PROMPT, ni as estimateBase64DecodedBytes, nn as generatePairingToken, nt as setGatewaySigusr1RestartPolicy, on as readJsonFile, or as getTtsProvider, ot as formatRestartSentinelMessage, p as abortEmbeddedPiRun, pn as getHookType, pr as resolveTtsProviderOrder, pt as inferLegacyName, qr as DEFAULT_INPUT_IMAGE_MIMES, qt as removeRemoteNodeInfo, r as getCliSessionId, rn as verifyPairingToken, rt as setPreRestartDeferralCheck, sn as resolvePairingPaths, sr as isTtsEnabled, ti as normalizeMimeList, tn as verifyNodeToken, tt as scheduleGatewaySigusr1Restart, u as resolveSendPolicy, un as registerSkillsChangeListener, ur as resolveTtsAutoMode, ut as writeRestartSentinel, v as buildDefaultToolPolicyPipelineSteps, vr as OPENAI_TTS_VOICES, vt as migrateLegacyCronPayload, w as listAgentsForGateway, wr as waitForActiveTasks, wt as applyBrowserProxyPaths, x as resolveAnnounceTargetFromKey, xr as getTotalQueueSize, xt as stripLegacyDeliveryFields, y as sniffMimeFromBase64, yn as buildHistoryContextFromEntries, yr as getActiveTaskCount, yt as buildDeliveryFromLegacyPayload, z as ensureOutboundSessionEntry, zr as enqueueSystemEvent, zt as requestBodyErrorToText } from "./reply-BWHF3Tu2.js";
4
+ import { $ as isGatewaySigusr1RestartExternallyAllowed, $n as resolveAgentIdentity, $r as extractFileContentFromSource, $t as requestNodePairing, A as resolveSessionModelRef, At as normalizeGroupActivation, B as resolveOutboundSessionRoute, Bn as countActiveDescendantRuns, Br as isSystemEventContextChanged, Cr as setCommandLaneConcurrency, D as loadSessionEntry, Dn as getTotalPendingReplies, Dr as stopDiagnosticHeartbeat, E as loadCombinedSessionStoreForGateway, En as createReplyDispatcher, Er as startDiagnosticHeartbeat, Et as requestHeartbeatNow, F as readSessionPreviewItemsFromTranscript, Gn as readLatestAssistantReply, Gr as DEFAULT_INPUT_FILE_MIMES, Gt as refreshRemoteBinsForConnectedNodes, Hn as listDescendantRunsForRequester, Ht as getRemoteSkillEligibility, I as resolveSessionTranscriptCandidates, In as isAbortTrigger, Ir as applyModelOverrideToSessionEntry, J as runWithModelFallback, Jn as clearAgentRunContext, Jr as DEFAULT_INPUT_MAX_REDIRECTS, Jt as setSkillsRemoteRegistry, K as resetDirectoryCache, Kr as DEFAULT_INPUT_IMAGE_MAX_BYTES, Kt as refreshRemoteNodeBins, L as stripEnvelopeFromMessages, Ln as stopSubagentsForRequester, Lr as applyVerboseOverride, Lt as handleSlackHttpRequest, M as archiveSessionTranscripts, Mt as loadProviderUsageSummary, N as capArrayByJsonBytes, Nn as formatZonedTimestamp, Nr as stripHeartbeatToken, O as pruneLegacyStoreKeys, Or as isDiagnosticsEnabled, Ot as getPluginToolMeta, P as readSessionMessages, Pr as lookupContextTokens, Q as emitGatewayRestart, Qn as registerAgentRunContext, Qr as DEFAULT_INPUT_TIMEOUT_MS, Qt as renamePairedNode, Rr as parseVerboseOverride, Rt as readJsonBodyWithLimit, S as canonicalizeSpawnedByForAgent, Sr as resetAllLanes, T as listSessionsFromStore, Tn as dispatchInboundMessage, Tr as CommandLane, Tt as persistBrowserProxyFiles, U as resolveOutboundTarget, Ur as DEFAULT_INPUT_FILE_MAX_BYTES, Ut as primeRemoteSkillsCache, Vn as initSubagentRegistry, W as resolveSessionDeliveryTarget, Wn as runSubagentAnnounceFlow, Wr as DEFAULT_INPUT_FILE_MAX_CHARS, Wt as recordRemoteNodeInfo, X as consumeGatewaySigusr1RestartAuthorization, Xn as getAgentRunContext, Xr as DEFAULT_INPUT_PDF_MAX_PIXELS, Xt as listNodePairing, Yn as emitAgentEvent, Yr as DEFAULT_INPUT_PDF_MAX_PAGES, Yt as approveNodePairing, Z as deferGatewayRestartUntilIdle, Zn as onAgentEvent, Zr as DEFAULT_INPUT_PDF_MIN_TEXT_CHARS, Zt as rejectNodePairing, _ as applyToolPolicyPipeline, _r as OPENAI_TTS_MODELS, _t as normalizeRequiredName, a as runCliAgent, an as pruneExpiredPending, ar as resolveUserTimezone, at as formatDoctorNonInteractiveHint, b as createOpenClawTools, bt as hasLegacyDeliveryHints, cn as writeJsonAtomic, cr as isTtsProviderConfigured, ct as summarizeRestartSentinel, d as clearSessionQueues, dn as buildSafeExternalPrompt, dr as resolveTtsConfig, dt as normalizeCronJobCreate, ei as extractImageContentFromSource, en as updatePairedNodeMetadata, et as markGatewaySigusr1RestartHandled, f as runEmbeddedPiAgent, fn as detectSuspiciousPatterns, fr as resolveTtsPrefsPath, ft as normalizeCronJobPatch, gr as textToSpeech, gt as normalizePayloadToSystemText, h as waitForEmbeddedPiRunEnd, hn as createReplyPrefixOptions, hr as setTtsProvider, ht as normalizeOptionalText, i as setCliSessionId, ii as resolveAgentTimeoutMs, in as createAsyncLock, it as consumeRestartSentinel, j as archiveFileOnDisk, k as resolveGatewaySessionStoreTarget, kr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, kt as loadOpenClawPlugins, l as normalizeSendPolicy, ln as getSkillsSnapshotVersion, lr as resolveTtsApiKey, m as getActiveEmbeddedRunCount, mn as isExternalHookSession, mr as setTtsEnabled, mt as normalizeOptionalAgentId, n as BARE_SESSION_RESET_PROMPT, ni as estimateBase64DecodedBytes, nn as generatePairingToken, nt as setGatewaySigusr1RestartPolicy, on as readJsonFile, or as getTtsProvider, ot as formatRestartSentinelMessage, p as abortEmbeddedPiRun, pn as getHookType, pr as resolveTtsProviderOrder, pt as inferLegacyName, qr as DEFAULT_INPUT_IMAGE_MIMES, qt as removeRemoteNodeInfo, r as getCliSessionId, rn as verifyPairingToken, rt as setPreRestartDeferralCheck, sn as resolvePairingPaths, sr as isTtsEnabled, ti as normalizeMimeList, tn as verifyNodeToken, tt as scheduleGatewaySigusr1Restart, u as resolveSendPolicy, un as registerSkillsChangeListener, ur as resolveTtsAutoMode, ut as writeRestartSentinel, v as buildDefaultToolPolicyPipelineSteps, vr as OPENAI_TTS_VOICES, vt as migrateLegacyCronPayload, w as listAgentsForGateway, wr as waitForActiveTasks, wt as applyBrowserProxyPaths, x as resolveAnnounceTargetFromKey, xr as getTotalQueueSize, xt as stripLegacyDeliveryFields, y as sniffMimeFromBase64, yn as buildHistoryContextFromEntries, yr as getActiveTaskCount, yt as buildDeliveryFromLegacyPayload, z as ensureOutboundSessionEntry, zr as enqueueSystemEvent, zt as requestBodyErrorToText } from "./reply-d6yV4wB_.js";
5
5
  import { b as isSubagentSessionKey, d as resolveAgentIdFromSessionKey, i as buildAgentMainSessionKey, l as normalizeAgentId, m as toAgentRequestSessionKey, n as DEFAULT_AGENT_ID, s as classifySessionKeyShape, t as DEFAULT_ACCOUNT_ID, u as normalizeMainKey, v as isCronRunSessionKey, x as parseAgentSessionKey } from "./session-key-CZ6OwgSB.js";
6
6
  import { B as triggerInternalHook, E as getActivePluginRegistry, L as clearInternalHooks, R as createInternalHookEvent, a as setConsoleSubsystemFilter, d as defaultRuntime, g as CHANNEL_IDS, k as createEmptyPluginRegistry, n as runtimeForLogger, o as setConsoleTimestampPrefix, t as createSubsystemLogger, v as DEFAULT_CHAT_CHANNEL, z as registerInternalHook } from "./subsystem-azPHgTb4.js";
7
7
  import { a as logDebug, c as logWarn, n as runExec, t as runCommandWithTimeout } from "./exec-V7mqHC8U.js";
@@ -86,8 +86,8 @@ import { n as createBrowserControlContext, r as startBrowserControlServiceFromCo
86
86
  import { t as parseAbsoluteTimeMs } from "./parse-B6Z5uj5w.js";
87
87
  import { n as resolveMessageChannelSelection } from "./channel-selection-CuBUJwMM.js";
88
88
  import "./delivery-queue-BX5ZlJ58.js";
89
- import { c as resolveCronStyleNow, i as onHeartbeatEvent, r as getLastHeartbeatEvent, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-WVqHxZgg.js";
90
- import { n as createOutboundSendDeps, t as createDefaultDeps } from "./deps-CiaNIqTD.js";
89
+ import { c as resolveCronStyleNow, i as onHeartbeatEvent, r as getLastHeartbeatEvent, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-B_kubgRp.js";
90
+ import { n as createOutboundSendDeps, t as createDefaultDeps } from "./deps-i6fBS1Dw.js";
91
91
  import { t as ensureOpenClawCliOnPath } from "./path-env-vebQw9DE.js";
92
92
  import { t as forceFreePortAndWait } from "./ports-73wWIFYD.js";
93
93
  import { t as buildChannelUiCatalog } from "./catalog-CiILDAoN.js";
@@ -113,21 +113,21 @@ import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } fr
113
113
  import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-Dg6OGUEl.js";
114
114
  import { c as probeGateway, o as isNodeCommandAllowed, s as resolveNodeCommandAllowlist } from "./audit-rKJDXW1i.js";
115
115
  import { t as discoverGatewayBeacons } from "./bonjour-discovery-CLAot7kh.js";
116
- import { n as getStatusSummary, r as pickGatewaySelfPresence } from "./status-BbNIlVr-.js";
117
- import { c as startHeartbeatRunner, i as styleHealthChannelLine, n as getHealthSnapshot, o as runHeartbeatOnce, s as setHeartbeatsEnabled, t as formatHealthChannelLines } from "./health-B2fbSIi_.js";
116
+ import { n as getStatusSummary, r as pickGatewaySelfPresence } from "./status-NfZ6FkuQ.js";
117
+ import { c as startHeartbeatRunner, i as styleHealthChannelLine, n as getHealthSnapshot, o as runHeartbeatOnce, s as setHeartbeatsEnabled, t as formatHealthChannelLines } from "./health-BqoIIu1u.js";
118
118
  import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-BvFVs4xo.js";
119
119
  import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-Cl-vH3i_.js";
120
- import { t as runOnboardingWizard } from "./onboarding-HxGLP3p_.js";
120
+ import { t as runOnboardingWizard } from "./onboarding-txZtcVMA.js";
121
121
  import { a as setGatewayWsLogStyle, i as summarizeAgentEventForWsLog, n as logWs, r as shouldLogWs, t as formatForLog } from "./ws-log-AWzf4qDj.js";
122
122
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-CNVBYkAm.js";
123
123
  import { t as createOutboundSendDeps$1 } from "./outbound-send-deps-C31Ye6Om.js";
124
124
  import { a as loadAgentIdentity, c as loadAgentIdentityFromWorkspace, i as listAgentEntries, o as pruneAgentConfig, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-BYiNoqyi.js";
125
- import { i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-DSNLBtzv.js";
125
+ import { i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-BxxBd9wX.js";
126
126
  import "./node-service-B_kTE-4u.js";
127
127
  import "./status.update-DFL_a38I.js";
128
128
  import { n as validateSystemRunCommandConsistency, t as formatExecCommand } from "./system-run-command-CAPoFi-M.js";
129
129
  import { t as installSkill } from "./skills-install-WU2nt37w.js";
130
- import { t as runGatewayUpdate } from "./update-runner-BopZcn8o.js";
130
+ import { t as runGatewayUpdate } from "./update-runner-B55O98W8.js";
131
131
  import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-Dg5-fmVc.js";
132
132
  import { fileURLToPath, pathToFileURL } from "node:url";
133
133
  import * as fsSync from "node:fs";
@@ -11426,7 +11426,7 @@ const nodeHandlers = {
11426
11426
  const p = params;
11427
11427
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
11428
11428
  await respondUnavailableOnThrow(respond, async () => {
11429
- const { handleNodeEvent } = await import("./server-node-events-C7DIp79E.js");
11429
+ const { handleNodeEvent } = await import("./server-node-events-BE6fD68d.js");
11430
11430
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
11431
11431
  await handleNodeEvent({
11432
11432
  deps: context.deps,
@@ -19,7 +19,7 @@ import { n as callGateway, o as loadGatewayTlsRuntime$1 } from "./call-CeM4F1rK.
19
19
  import { f as GATEWAY_CLIENT_CAPS, g as hasGatewayClientCap, h as GATEWAY_CLIENT_NAMES, i as isGatewayMessageChannel, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, p as GATEWAY_CLIENT_IDS, r as isGatewayCliClient, s as isWebchatClient, t as INTERNAL_MESSAGE_CHANNEL } from "./message-channel-CZpVDeRr.js";
20
20
  import { c as pickPrimaryLanIPv4, d as resolveGatewayListenHosts, f as resolveHostName, i as isTrustedProxyAddress, l as resolveGatewayBindHost, n as isLoopbackHost, o as normalizeHostHeader, p as rawDataToString, r as isPrivateOrLoopbackAddress, t as isLoopbackAddress, u as resolveGatewayClientIp } from "./net-Bs2mpSPy.js";
21
21
  import { i as normalizeInputProvenance } from "./input-provenance-DRrWAEiI.js";
22
- import { $n as stopSubagentsForRequester, $t as primeRemoteSkillsCache, A as createReplyDispatcher, An as DEFAULT_INPUT_FILE_MAX_CHARS, Ar as stopDiagnosticHeartbeat, At as consumeGatewaySigusr1RestartAuthorization, B as readLatestAssistantReply, Bn as extractImageContentFromSource, Br as onAgentEvent, Bt as loadProviderUsageSummary, Cn as applyVerboseOverride, Ct as detectSuspiciousPatterns, Dr as waitForActiveTasks, Dt as persistBrowserProxyFiles, En as isSystemEventContextChanged, Er as setCommandLaneConcurrency, Et as applyBrowserProxyPaths, F as getCliSessionId, Fn as DEFAULT_INPUT_PDF_MAX_PAGES, Ft as scheduleGatewaySigusr1Restart, Hn as estimateBase64DecodedBytes, I as setCliSessionId, In as DEFAULT_INPUT_PDF_MAX_PIXELS, Ir as stripHeartbeatToken, It as setGatewaySigusr1RestartPolicy, Jt as requestHeartbeatNow, L as runCliAgent, Ln as DEFAULT_INPUT_PDF_MIN_TEXT_CHARS, Lr as clearAgentRunContext, Lt as setPreRestartDeferralCheck, Mn as DEFAULT_INPUT_IMAGE_MAX_BYTES, Mr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, Mt as emitGatewayRestart, Nn as DEFAULT_INPUT_IMAGE_MIMES, Nt as isGatewaySigusr1RestartExternallyAllowed, Or as CommandLane, P as BARE_SESSION_RESET_PROMPT, Pn as DEFAULT_INPUT_MAX_REDIRECTS, Pt as markGatewaySigusr1RestartHandled, Q as resetDirectoryCache, Qn as isAbortTrigger, Qt as getRemoteSkillEligibility, Rn as DEFAULT_INPUT_TIMEOUT_MS, Rr as emitAgentEvent, Rt as normalizeGroupActivation, Sn as applyModelOverrideToSessionEntry, Sr as getActiveTaskCount, St as buildSafeExternalPrompt, T as buildHistoryContextFromEntries, Tn as enqueueSystemEvent, Tr as resetAllLanes, Tt as isExternalHookSession, U as ensureOutboundSessionEntry, V as resolveAnnounceTargetFromKey, Vn as normalizeMimeList, Vr as registerAgentRunContext, W as resolveOutboundSessionRoute, Wn as resolveAgentTimeoutMs, X as resolveSessionDeliveryTarget, Xt as normalizeSendPolicy, Y as resolveOutboundTarget, Yn as formatZonedTimestamp, Zt as resolveSendPolicy, _ as readJsonBodyWithLimit, _n as resolvePairingPaths, _r as setTtsEnabled, _t as buildDeliveryFromLegacyPayload, a as runSubagentAnnounceFlow, an as approveNodePairing, bn as registerSkillsChangeListener, br as OPENAI_TTS_MODELS, c as abortEmbeddedPiRun, cn as renamePairedNode, cr as resolveUserTimezone, ct as writeRestartSentinel, d as applyToolPolicyPipeline, dn as verifyNodeToken, dr as isTtsProviderConfigured, dt as inferLegacyName, en as recordRemoteNodeInfo, et as runWithModelFallback, f as buildDefaultToolPolicyPipelineSteps, fn as generatePairingToken, fr as resolveTtsApiKey, ft as normalizeOptionalAgentId, g as handleSlackHttpRequest, gn as readJsonFile, gr as resolveTtsProviderOrder, gt as migrateLegacyCronPayload, h as loadOpenClawPlugins, hn as pruneExpiredPending, hr as resolveTtsPrefsPath, ht as normalizeRequiredName, in as setSkillsRemoteRegistry, it as formatRestartSentinelMessage, j as getTotalPendingReplies, jn as DEFAULT_INPUT_FILE_MIMES, jr as isDiagnosticsEnabled, jt as deferGatewayRestartUntilIdle, k as dispatchInboundMessage, kn as DEFAULT_INPUT_FILE_MAX_BYTES, kr as startDiagnosticHeartbeat, l as getActiveEmbeddedRunCount, ln as requestNodePairing, lr as getTtsProvider, lt as normalizeCronJobCreate, m as getPluginToolMeta, mn as createAsyncLock, mr as resolveTtsConfig, mt as normalizePayloadToSystemText, n as initSubagentRegistry, nn as refreshRemoteNodeBins, nr as resolveAgentIdentity, nt as consumeRestartSentinel, o as clearSessionQueues, on as listNodePairing, ot as summarizeRestartSentinel, p as sniffMimeFromBase64, pn as verifyPairingToken, pr as resolveTtsAutoMode, pt as normalizeOptionalText, r as listDescendantRunsForRequester, rn as removeRemoteNodeInfo, rt as formatDoctorNonInteractiveHint, s as runEmbeddedPiAgent, sn as rejectNodePairing, t as countActiveDescendantRuns, tn as refreshRemoteBinsForConnectedNodes, u as waitForEmbeddedPiRunEnd, un as updatePairedNodeMetadata, ur as isTtsEnabled, ut as normalizeCronJobPatch, v as requestBodyErrorToText, vn as writeJsonAtomic, vr as setTtsProvider, vt as hasLegacyDeliveryHints, wn as parseVerboseOverride, wr as getTotalQueueSize, wt as getHookType, x as createReplyPrefixOptions, xr as OPENAI_TTS_VOICES, yn as getSkillsSnapshotVersion, yr as textToSpeech, yt as stripLegacyDeliveryFields, z as createOpenClawTools, zn as extractFileContentFromSource, zr as getAgentRunContext } from "./subagent-registry-CHt6rcAF.js";
22
+ import { $n as stopSubagentsForRequester, $t as primeRemoteSkillsCache, A as createReplyDispatcher, An as DEFAULT_INPUT_FILE_MAX_CHARS, Ar as stopDiagnosticHeartbeat, At as consumeGatewaySigusr1RestartAuthorization, B as readLatestAssistantReply, Bn as extractImageContentFromSource, Br as onAgentEvent, Bt as loadProviderUsageSummary, Cn as applyVerboseOverride, Ct as detectSuspiciousPatterns, Dr as waitForActiveTasks, Dt as persistBrowserProxyFiles, En as isSystemEventContextChanged, Er as setCommandLaneConcurrency, Et as applyBrowserProxyPaths, F as getCliSessionId, Fn as DEFAULT_INPUT_PDF_MAX_PAGES, Ft as scheduleGatewaySigusr1Restart, Hn as estimateBase64DecodedBytes, I as setCliSessionId, In as DEFAULT_INPUT_PDF_MAX_PIXELS, Ir as stripHeartbeatToken, It as setGatewaySigusr1RestartPolicy, Jt as requestHeartbeatNow, L as runCliAgent, Ln as DEFAULT_INPUT_PDF_MIN_TEXT_CHARS, Lr as clearAgentRunContext, Lt as setPreRestartDeferralCheck, Mn as DEFAULT_INPUT_IMAGE_MAX_BYTES, Mr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, Mt as emitGatewayRestart, Nn as DEFAULT_INPUT_IMAGE_MIMES, Nt as isGatewaySigusr1RestartExternallyAllowed, Or as CommandLane, P as BARE_SESSION_RESET_PROMPT, Pn as DEFAULT_INPUT_MAX_REDIRECTS, Pt as markGatewaySigusr1RestartHandled, Q as resetDirectoryCache, Qn as isAbortTrigger, Qt as getRemoteSkillEligibility, Rn as DEFAULT_INPUT_TIMEOUT_MS, Rr as emitAgentEvent, Rt as normalizeGroupActivation, Sn as applyModelOverrideToSessionEntry, Sr as getActiveTaskCount, St as buildSafeExternalPrompt, T as buildHistoryContextFromEntries, Tn as enqueueSystemEvent, Tr as resetAllLanes, Tt as isExternalHookSession, U as ensureOutboundSessionEntry, V as resolveAnnounceTargetFromKey, Vn as normalizeMimeList, Vr as registerAgentRunContext, W as resolveOutboundSessionRoute, Wn as resolveAgentTimeoutMs, X as resolveSessionDeliveryTarget, Xt as normalizeSendPolicy, Y as resolveOutboundTarget, Yn as formatZonedTimestamp, Zt as resolveSendPolicy, _ as readJsonBodyWithLimit, _n as resolvePairingPaths, _r as setTtsEnabled, _t as buildDeliveryFromLegacyPayload, a as runSubagentAnnounceFlow, an as approveNodePairing, bn as registerSkillsChangeListener, br as OPENAI_TTS_MODELS, c as abortEmbeddedPiRun, cn as renamePairedNode, cr as resolveUserTimezone, ct as writeRestartSentinel, d as applyToolPolicyPipeline, dn as verifyNodeToken, dr as isTtsProviderConfigured, dt as inferLegacyName, en as recordRemoteNodeInfo, et as runWithModelFallback, f as buildDefaultToolPolicyPipelineSteps, fn as generatePairingToken, fr as resolveTtsApiKey, ft as normalizeOptionalAgentId, g as handleSlackHttpRequest, gn as readJsonFile, gr as resolveTtsProviderOrder, gt as migrateLegacyCronPayload, h as loadOpenClawPlugins, hn as pruneExpiredPending, hr as resolveTtsPrefsPath, ht as normalizeRequiredName, in as setSkillsRemoteRegistry, it as formatRestartSentinelMessage, j as getTotalPendingReplies, jn as DEFAULT_INPUT_FILE_MIMES, jr as isDiagnosticsEnabled, jt as deferGatewayRestartUntilIdle, k as dispatchInboundMessage, kn as DEFAULT_INPUT_FILE_MAX_BYTES, kr as startDiagnosticHeartbeat, l as getActiveEmbeddedRunCount, ln as requestNodePairing, lr as getTtsProvider, lt as normalizeCronJobCreate, m as getPluginToolMeta, mn as createAsyncLock, mr as resolveTtsConfig, mt as normalizePayloadToSystemText, n as initSubagentRegistry, nn as refreshRemoteNodeBins, nr as resolveAgentIdentity, nt as consumeRestartSentinel, o as clearSessionQueues, on as listNodePairing, ot as summarizeRestartSentinel, p as sniffMimeFromBase64, pn as verifyPairingToken, pr as resolveTtsAutoMode, pt as normalizeOptionalText, r as listDescendantRunsForRequester, rn as removeRemoteNodeInfo, rt as formatDoctorNonInteractiveHint, s as runEmbeddedPiAgent, sn as rejectNodePairing, t as countActiveDescendantRuns, tn as refreshRemoteBinsForConnectedNodes, u as waitForEmbeddedPiRunEnd, un as updatePairedNodeMetadata, ur as isTtsEnabled, ut as normalizeCronJobPatch, v as requestBodyErrorToText, vn as writeJsonAtomic, vr as setTtsProvider, vt as hasLegacyDeliveryHints, wn as parseVerboseOverride, wr as getTotalQueueSize, wt as getHookType, x as createReplyPrefixOptions, xr as OPENAI_TTS_VOICES, yn as getSkillsSnapshotVersion, yr as textToSpeech, yt as stripLegacyDeliveryFields, z as createOpenClawTools, zn as extractFileContentFromSource, zr as getAgentRunContext } from "./subagent-registry-DJBVFvb4.js";
23
23
  import { C as resolveAgentMainSessionKey, E as resolveMainSessionKeyFromConfig, L as deliveryContextFromSession, O as snapshotSessionOrigin, T as resolveMainSessionKey, V as normalizeSessionDeliveryFields, i as loadSessionStore, l as updateSessionStore, t as extractDeliveryInfo, w as resolveExplicitAgentSessionKey, z as mergeDeliveryContext } from "./sessions-D-LiJehh.js";
24
24
  import { D as isSilentReplyText, E as SILENT_REPLY_TOKEN, S as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads, w as runGlobalGatewayStopSafely } from "./deliver-a9TlmfSI.js";
25
25
  import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-bX81iDy5.js";
@@ -85,7 +85,7 @@ import { n as withProgress } from "./progress-689bGXNC.js";
85
85
  import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-Bfg43UBg.js";
86
86
  import "./prompt-style-Ws1ofeXe.js";
87
87
  import "./pairing-labels-DKrwGHA2.js";
88
- import { c as resolveCronStyleNow, i as onHeartbeatEvent, r as getLastHeartbeatEvent, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-BYMUmHPs.js";
88
+ import { c as resolveCronStyleNow, i as onHeartbeatEvent, r as getLastHeartbeatEvent, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-BEMg5PJB.js";
89
89
  import { t as ensureOpenClawCliOnPath } from "./path-env-DLNEUoxZ.js";
90
90
  import { n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./dangerous-tools--D0t--r2.js";
91
91
  import { t as buildChannelUiCatalog } from "./catalog-D8aoRgov.js";
@@ -109,21 +109,21 @@ import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } fr
109
109
  import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-B-DBP1Oz.js";
110
110
  import { c as probeGateway, o as isNodeCommandAllowed, s as resolveNodeCommandAllowlist } from "./audit-DX2nVepF.js";
111
111
  import { t as discoverGatewayBeacons } from "./bonjour-discovery-xopleWUb.js";
112
- import { i as pickGatewaySelfPresence, r as getStatusSummary } from "./status-BGWVilxi.js";
113
- import { a as styleHealthChannelLine, c as setHeartbeatsEnabled, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-B6AmPi2R.js";
114
- import { n as createDefaultDeps, r as createOutboundSendDeps$1, t as createOutboundSendDeps } from "./outbound-send-deps-BTWti9aw.js";
112
+ import { i as pickGatewaySelfPresence, r as getStatusSummary } from "./status-8g-vfjfP.js";
113
+ import { a as styleHealthChannelLine, c as setHeartbeatsEnabled, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-shfUNbPM.js";
114
+ import { n as createDefaultDeps, r as createOutboundSendDeps$1, t as createOutboundSendDeps } from "./outbound-send-deps-BCi2C-Sb.js";
115
115
  import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-DTeWMjr_.js";
116
116
  import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-Dvegvfv5.js";
117
- import { t as runOnboardingWizard } from "./onboarding-Dy7479qd.js";
117
+ import { t as runOnboardingWizard } from "./onboarding-Cjbb0fRA.js";
118
118
  import { a as setGatewayWsLogStyle, i as summarizeAgentEventForWsLog, n as logWs, r as shouldLogWs, t as formatForLog } from "./ws-log-BZ1XTQ6n.js";
119
119
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-E_306La0.js";
120
120
  import { a as loadAgentIdentity, c as loadAgentIdentityFromWorkspace, i as listAgentEntries, o as pruneAgentConfig, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-BYwbrVRy.js";
121
- import { i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-CET80Gay.js";
121
+ import { i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-D0LfsEPF.js";
122
122
  import "./node-service-C4ybtLhY.js";
123
123
  import "./status.update-MTF_FPqc.js";
124
124
  import { n as validateSystemRunCommandConsistency, t as formatExecCommand } from "./system-run-command-DEYlDTqb.js";
125
125
  import { t as installSkill } from "./skills-install-pX6H8-rM.js";
126
- import { t as runGatewayUpdate } from "./update-runner-Dm6YThw6.js";
126
+ import { t as runGatewayUpdate } from "./update-runner-BZFeJzUi.js";
127
127
  import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-rtxGnAts.js";
128
128
  import { n as forceFreePortAndWait } from "./ports-CBEgLU1F.js";
129
129
  import { spawn, spawnSync } from "node:child_process";
@@ -11423,7 +11423,7 @@ const nodeHandlers = {
11423
11423
  const p = params;
11424
11424
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
11425
11425
  await respondUnavailableOnThrow(respond, async () => {
11426
- const { handleNodeEvent } = await import("./server-node-events-hULwDzWN.js");
11426
+ const { handleNodeEvent } = await import("./server-node-events-C51Bayv9.js");
11427
11427
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
11428
11428
  await handleNodeEvent({
11429
11429
  deps: context.deps,
@@ -1,13 +1,13 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { s as resolveStateDir } from "./paths-CyR9Pa1R.js";
2
+ import { s as resolveStateDir } from "./paths-CkkDESQ2.js";
3
3
  import path from "node:path";
4
- import fs from "node:fs";
4
+ import fsSync from "node:fs";
5
5
 
6
6
  //#region src/infra/json-file.ts
7
7
  function loadJsonFile(pathname) {
8
8
  try {
9
- if (!fs.existsSync(pathname)) return;
10
- const raw = fs.readFileSync(pathname, "utf8");
9
+ if (!fsSync.existsSync(pathname)) return;
10
+ const raw = fsSync.readFileSync(pathname, "utf8");
11
11
  return JSON.parse(raw);
12
12
  } catch {
13
13
  return;
@@ -15,12 +15,12 @@ function loadJsonFile(pathname) {
15
15
  }
16
16
  function saveJsonFile(pathname, data) {
17
17
  const dir = path.dirname(pathname);
18
- if (!fs.existsSync(dir)) fs.mkdirSync(dir, {
18
+ if (!fsSync.existsSync(dir)) fsSync.mkdirSync(dir, {
19
19
  recursive: true,
20
20
  mode: 448
21
21
  });
22
- fs.writeFileSync(pathname, `${JSON.stringify(data, null, 2)}\n`, "utf8");
23
- fs.chmodSync(pathname, 384);
22
+ fsSync.writeFileSync(pathname, `${JSON.stringify(data, null, 2)}\n`, "utf8");
23
+ fsSync.chmodSync(pathname, 384);
24
24
  }
25
25
 
26
26
  //#endregion
@@ -1,5 +1,5 @@
1
1
  import { B as theme, k as info, z as isRich } from "./utils-CFnnyoTP.js";
2
- import { Ar as DEFAULT_HEARTBEAT_EVERY, Dt as setHeartbeatWakeHandler, Et as requestHeartbeatNow, H as resolveHeartbeatSenderContext, Mr as resolveHeartbeatPrompt$1, Nr as stripHeartbeatToken, Tr as CommandLane, V as resolveHeartbeatDeliveryTarget, Vr as peekSystemEventEntries, ar as resolveUserTimezone, br as getQueueSize, er as resolveEffectiveMessagesConfig, jr as isHeartbeatContentEffectivelyEmpty, kr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, t as getReplyFromConfig } from "./reply-BWHF3Tu2.js";
2
+ import { Ar as DEFAULT_HEARTBEAT_EVERY, Dt as setHeartbeatWakeHandler, Et as requestHeartbeatNow, H as resolveHeartbeatSenderContext, Mr as resolveHeartbeatPrompt$1, Nr as stripHeartbeatToken, Tr as CommandLane, V as resolveHeartbeatDeliveryTarget, Vr as peekSystemEventEntries, ar as resolveUserTimezone, br as getQueueSize, er as resolveEffectiveMessagesConfig, jr as isHeartbeatContentEffectivelyEmpty, kr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, t as getReplyFromConfig } from "./reply-d6yV4wB_.js";
3
3
  import { d as resolveAgentIdFromSessionKey, h as toAgentStoreSessionKey, l as normalizeAgentId } from "./session-key-CZ6OwgSB.js";
4
4
  import { d as defaultRuntime, t as createSubsystemLogger } from "./subsystem-azPHgTb4.js";
5
5
  import { c as resolveDefaultAgentId, h as DEFAULT_HEARTBEAT_FILENAME, n as resolveAgentConfig, s as resolveAgentWorkspaceDir } from "./agent-scope-aaTVOkax.js";
@@ -12,7 +12,7 @@ import { c as resolveStorePath } from "./paths-BgQBidWi.js";
12
12
  import { T as HEARTBEAT_TOKEN, t as deliverOutboundPayloads } from "./deliver-CYip1VI8.js";
13
13
  import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-CiVtT1xB.js";
14
14
  import { n as withProgress } from "./progress-DGUSi8NZ.js";
15
- import { a as resolveIndicatorType, n as emitHeartbeatEvent, o as resolveHeartbeatReplyPayload, s as appendCronStyleCurrentTimeLine, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-WVqHxZgg.js";
15
+ import { a as resolveIndicatorType, n as emitHeartbeatEvent, o as resolveHeartbeatReplyPayload, s as appendCronStyleCurrentTimeLine, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-B_kubgRp.js";
16
16
  import { t as resolveChannelDefaultAccountId } from "./helpers-D9sJmea4.js";
17
17
  import path from "node:path";
18
18
  import fs from "node:fs/promises";
@@ -4,14 +4,14 @@ import { d as resolveAgentIdFromSessionKey, h as toAgentStoreSessionKey, l as no
4
4
  import { c as resolveDefaultAgentId, h as DEFAULT_HEARTBEAT_FILENAME, n as resolveAgentConfig, s as resolveAgentWorkspaceDir } from "./agent-scope-D47kRViK.js";
5
5
  import { _ as parseDurationMs, i as loadConfig } from "./config-B4-Vvu6M.js";
6
6
  import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-CeM4F1rK.js";
7
- import { Cr as getQueueSize, Dn as peekSystemEventEntries, Fr as resolveHeartbeatPrompt$1, Ir as stripHeartbeatToken, J as resolveHeartbeatSenderContext, Jt as requestHeartbeatNow, Mr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, N as getReplyFromConfig, Nr as DEFAULT_HEARTBEAT_EVERY, Or as CommandLane, Pr as isHeartbeatContentEffectivelyEmpty, Yt as setHeartbeatWakeHandler, cr as resolveUserTimezone, q as resolveHeartbeatDeliveryTarget, rr as resolveEffectiveMessagesConfig } from "./subagent-registry-CHt6rcAF.js";
7
+ import { Cr as getQueueSize, Dn as peekSystemEventEntries, Fr as resolveHeartbeatPrompt$1, Ir as stripHeartbeatToken, J as resolveHeartbeatSenderContext, Jt as requestHeartbeatNow, Mr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, N as getReplyFromConfig, Nr as DEFAULT_HEARTBEAT_EVERY, Or as CommandLane, Pr as isHeartbeatContentEffectivelyEmpty, Yt as setHeartbeatWakeHandler, cr as resolveUserTimezone, q as resolveHeartbeatDeliveryTarget, rr as resolveEffectiveMessagesConfig } from "./subagent-registry-DJBVFvb4.js";
8
8
  import { C as resolveAgentMainSessionKey, S as canonicalizeMainSessionAlias, i as loadSessionStore, l as updateSessionStore, s as saveSessionStore } from "./sessions-D-LiJehh.js";
9
9
  import { T as HEARTBEAT_TOKEN, t as deliverOutboundPayloads } from "./deliver-a9TlmfSI.js";
10
10
  import { d as buildChannelAccountBindings, n as listChannelPlugins, p as resolvePreferredAccountId, t as getChannelPlugin } from "./plugins-bX81iDy5.js";
11
11
  import { n as formatErrorMessage } from "./errors-CKaCqKga.js";
12
12
  import { c as resolveStorePath } from "./paths-Db26sT9T.js";
13
13
  import { n as withProgress } from "./progress-689bGXNC.js";
14
- import { a as resolveIndicatorType, n as emitHeartbeatEvent, o as resolveHeartbeatReplyPayload, s as appendCronStyleCurrentTimeLine, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-BYMUmHPs.js";
14
+ import { a as resolveIndicatorType, n as emitHeartbeatEvent, o as resolveHeartbeatReplyPayload, s as appendCronStyleCurrentTimeLine, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-BEMg5PJB.js";
15
15
  import { t as resolveChannelDefaultAccountId } from "./helpers-DcEFMSmw.js";
16
16
  import path from "node:path";
17
17
  import fs from "node:fs/promises";
@@ -1,4 +1,4 @@
1
- import { cr as resolveUserTimezone, or as formatUserTime, sr as resolveUserTimeFormat } from "./subagent-registry-CHt6rcAF.js";
1
+ import { cr as resolveUserTimezone, or as formatUserTime, sr as resolveUserTimeFormat } from "./subagent-registry-DJBVFvb4.js";
2
2
 
3
3
  //#region src/agents/current-time.ts
4
4
  function resolveCronStyleNow(cfg, nowMs) {
@@ -1,4 +1,4 @@
1
- import { ar as resolveUserTimezone, ir as resolveUserTimeFormat, rr as formatUserTime } from "./reply-BWHF3Tu2.js";
1
+ import { ar as resolveUserTimezone, ir as resolveUserTimeFormat, rr as formatUserTime } from "./reply-d6yV4wB_.js";
2
2
 
3
3
  //#region src/agents/current-time.ts
4
4
  function resolveCronStyleNow(cfg, nowMs) {
@@ -1,7 +1,7 @@
1
1
  import "./paths-B4BZAPZh.js";
2
2
  import { B as theme, C as shortenHomePath, b as resolveUserPath, t as CONFIG_DIR } from "./utils-CFnnyoTP.js";
3
3
  import "./pi-embedded-helpers-DwIwt1C1.js";
4
- import "./reply-BWHF3Tu2.js";
4
+ import "./reply-d6yV4wB_.js";
5
5
  import { d as defaultRuntime } from "./subsystem-azPHgTb4.js";
6
6
  import { t as runCommandWithTimeout } from "./exec-V7mqHC8U.js";
7
7
  import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-aaTVOkax.js";
@@ -82,7 +82,7 @@ import { a as installPackageDir, i as unscopedPackageName, n as resolveSafeInsta
82
82
  import { t as renderTable } from "./table-CQy-QAll.js";
83
83
  import { a as parseFrontmatter, t as loadWorkspaceHookEntries } from "./workspace-Dg5-fmVc.js";
84
84
  import { t as buildWorkspaceHookStatus } from "./hooks-status-BuxRfaJw.js";
85
- import { t as buildPluginStatusReport } from "./status-BRGJERN0.js";
85
+ import { t as buildPluginStatusReport } from "./status-BRNeaZhV.js";
86
86
  import fs from "node:fs";
87
87
  import os from "node:os";
88
88
  import path from "node:path";
@@ -14,7 +14,7 @@ import { i as loadConfig, l as writeConfigFile } from "./config-B4-Vvu6M.js";
14
14
  import "./client-gZv0X5tz.js";
15
15
  import "./call-CeM4F1rK.js";
16
16
  import "./message-channel-CZpVDeRr.js";
17
- import "./subagent-registry-CHt6rcAF.js";
17
+ import "./subagent-registry-DJBVFvb4.js";
18
18
  import "./sessions-D-LiJehh.js";
19
19
  import "./deliver-a9TlmfSI.js";
20
20
  import "./plugins-bX81iDy5.js";
@@ -79,7 +79,7 @@ import { a as installPackageDir, i as unscopedPackageName, n as resolveSafeInsta
79
79
  import { t as renderTable } from "./table-BU9JaTpc.js";
80
80
  import { a as parseFrontmatter, t as loadWorkspaceHookEntries } from "./workspace-rtxGnAts.js";
81
81
  import { t as buildWorkspaceHookStatus } from "./hooks-status-ggzVrsP7.js";
82
- import { t as buildPluginStatusReport } from "./status-Dm5F4RCD.js";
82
+ import { t as buildPluginStatusReport } from "./status-D0P0XQqw.js";
83
83
  import os from "node:os";
84
84
  import path from "node:path";
85
85
  import fs from "node:fs";
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { V as isRecord, X as shortenHomeInString } from "./exec-DgwjzGg-.js";
3
3
  import { K as normalizeSecretInput, S as requireApiKey, U as resolveOpenClawAgentDir, _ as resolveImplicitProviders, b as getApiKeyForModel, g as resolveImplicitCopilotProvider, h as resolveImplicitBedrockProvider, m as normalizeProviders } from "./model-selection-Cb6822pn.js";
4
4
  import { n as loadConfig } from "./config-Ejc5JKGl.js";
5
- import { U as sanitizeUserFacingText } from "./pi-embedded-helpers-D3YxFr03.js";
5
+ import { U as sanitizeUserFacingText } from "./pi-embedded-helpers-Dow6Qreh.js";
6
6
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DWTTaAgY.js";
7
7
  import { n as redactToolDetail } from "./redact-DO22U0Pj.js";
8
8
  import path from "node:path";
@@ -1,9 +1,9 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { Q as shortenHomeInString, U as isRecord } from "./exec-C9rZpEqA.js";
3
- import { F as resolveImplicitCopilotProvider, I as resolveImplicitProviders, N as normalizeProviders, P as resolveImplicitBedrockProvider, U as normalizeSecretInput, _ as resolveOpenClawAgentDir, r as requireApiKey, t as getApiKeyForModel } from "./model-auth-BBAJ-iuC.js";
4
- import { n as loadConfig } from "./config-BA8Xs1ek.js";
2
+ import { Q as shortenHomeInString, U as isRecord } from "./exec-C_bNT00b.js";
3
+ import { F as resolveImplicitCopilotProvider, I as resolveImplicitProviders, N as normalizeProviders, P as resolveImplicitBedrockProvider, U as normalizeSecretInput, _ as resolveOpenClawAgentDir, r as requireApiKey, t as getApiKeyForModel } from "./model-auth-COYibYBO.js";
4
+ import { n as loadConfig } from "./config-CYlbDcBt.js";
5
5
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-Cexg1XRf.js";
6
- import { U as sanitizeUserFacingText } from "./pi-embedded-helpers-DHT11gwA.js";
6
+ import { U as sanitizeUserFacingText } from "./pi-embedded-helpers-DmwtjJVo.js";
7
7
  import { n as redactToolDetail } from "./redact-C1ne-kC_.js";
8
8
  import fs from "node:fs/promises";
9
9
  import path from "node:path";