winclaw 2026.3.21 → 2026.3.22

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 (338) hide show
  1. package/dist/{accounts-CTJXIABG.js → accounts-8qwgz384.js} +1 -1
  2. package/dist/{accounts-CLKFSM00.js → accounts-BpS-Awr5.js} +1 -1
  3. package/dist/{accounts-cYG8442L.js → accounts-BrWJjaKS.js} +7 -7
  4. package/dist/{acp-cli-BbN2vTHD.js → acp-cli-BMM5ssNE.js} +8 -8
  5. package/dist/{agent-scope-D-i-vMLS.js → agent-scope-Dany4R2i.js} +17 -17
  6. package/dist/{agents-_gcdm-kb.js → agents-AMH_Bmb6.js} +14 -14
  7. package/dist/{agents.config-BkgsJJng.js → agents.config-6n_jmCMa.js} +2 -2
  8. package/dist/{api-key-rotation-D_JdsLIl.js → api-key-rotation-C9ywPLG3.js} +1 -1
  9. package/dist/{audio-preflight-CdgtLVh2.js → audio-preflight-D7UvXGlQ.js} +34 -34
  10. package/dist/{audio-preflight-CBWXmKyj.js → audio-preflight-DHeEYciJ.js} +4 -4
  11. package/dist/{audio-transcription-runner-DpvjaNmr.js → audio-transcription-runner-1-9PFrzh.js} +1 -1
  12. package/dist/{audio-transcription-runner-DGZYB2Wq.js → audio-transcription-runner-nnwJufig.js} +23 -23
  13. package/dist/{audit-DdcsBl_-.js → audit-DV_kf1sd.js} +29 -29
  14. package/dist/{auth-CU4HqNch.js → auth-Ahj-1B5R.js} +1 -1
  15. package/dist/{auth-choice-CtzD_rrW.js → auth-choice-NjkwJsBG.js} +13 -13
  16. package/dist/{auth-choice-i771W71t.js → auth-choice-dFTD1hLR.js} +11 -11
  17. package/dist/{auth-choice.apply-helpers-Bmj9LZnO.js → auth-choice.apply-helpers-ClzwLPaB.js} +1 -1
  18. package/dist/{auth-profiles-CmoHF97e.js → auth-profiles-DF0cLC20.js} +16 -16
  19. package/dist/{auth-token-C_S_Uszj.js → auth-token-BXCBtI3p.js} +1 -1
  20. package/dist/{banner-C-01b-if.js → banner-BB4DFL8E.js} +2 -2
  21. package/dist/{bonjour-discovery-BxCVyJLG.js → bonjour-discovery-BVSpbdjs.js} +1 -1
  22. package/dist/{browser-cli-Rt_P1-M1.js → browser-cli-DAcccrxR.js} +12 -12
  23. package/dist/build-info.json +2 -2
  24. package/dist/bundled/boot-md/handler.js +6 -6
  25. package/dist/bundled/session-memory/handler.js +6 -6
  26. package/dist/{call-BLyRfBMl.js → call-DEKH5GO9.js} +10 -10
  27. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  28. package/dist/{channel-account-context-B4ofKr9t.js → channel-account-context-D4Yftz20.js} +5 -5
  29. package/dist/{channel-activity-CPWF8YR5.js → channel-activity-D03SwGPA.js} +1 -1
  30. package/dist/{channel-options-it9Z3dNk.js → channel-options-C7dYNZsy.js} +3 -3
  31. package/dist/{channel-selection-5G2iw3CB.js → channel-selection-Bke39fer.js} +1 -1
  32. package/dist/{channel-web-CJ_jcZSw.js → channel-web-BOrAGcza.js} +17 -17
  33. package/dist/{channels-cli-miFqkj2-.js → channels-cli-4YLI7Ar_.js} +93 -93
  34. package/dist/{channels-status-issues-DpfEWI4l.js → channels-status-issues-wCgCdUDu.js} +1 -1
  35. package/dist/{chrome-RAfAR4xV.js → chrome-BDFA9lPV.js} +4 -4
  36. package/dist/{chrome-GsaZ074n.js → chrome-Cr8R7xl_.js} +8 -8
  37. package/dist/{clawbot-cli-HvFYYAc6.js → clawbot-cli-B96xAtzs.js} +11 -11
  38. package/dist/cli/daemon-cli.js +1 -1
  39. package/dist/cli-BozE7JCS.js +154 -0
  40. package/dist/{client-DCxDsURZ.js → client-jNFqrgw6.js} +2 -2
  41. package/dist/{command-registry-m8nfRV-J.js → command-registry-qDpes5Yr.js} +11 -11
  42. package/dist/{command-secret-targets-BfqkoJyp.js → command-secret-targets-Dd4qCPSg.js} +4 -4
  43. package/dist/{commands-4mnxaSoA.js → commands-DmBkhPD-.js} +1 -1
  44. package/dist/{commands-registry-h5KiQe_S.js → commands-registry-BB289Bg8.js} +3 -3
  45. package/dist/{completion-cli-B-8mTxbh.js → completion-cli-DzZieT3i.js} +13 -13
  46. package/dist/{config-cli-1ecjxVfC.js → config-cli-Dk1yc6M9.js} +7 -7
  47. package/dist/{config-guard-DlzKrdcR.js → config-guard-3fwTO4Mb.js} +3 -3
  48. package/dist/{config-validation-E-3Wz4C4.js → config-validation-5pIaju5U.js} +3 -3
  49. package/dist/{configure-B-tOY-wa.js → configure-CuqZCxTb.js} +17 -17
  50. package/dist/{control-ui-assets-B0DdamQU.js → control-ui-assets-5F0FEjfM.js} +1 -1
  51. package/dist/{cron-cli-DpVGzupl.js → cron-cli-BIa0VxDk.js} +11 -11
  52. package/dist/{daemon-cli-CqwUFobu.js → daemon-cli-BE11O7QX.js} +16 -16
  53. package/dist/{daemon-install-C029NlXk.js → daemon-install-DNhR8NtL.js} +4 -4
  54. package/dist/{daemon-install-helpers-D1YQ03lO.js → daemon-install-helpers-DWmF3oFP.js} +11 -11
  55. package/dist/{deliver-BX-UVg7x.js → deliver-CqiBzHnh.js} +7 -7
  56. package/dist/{deliver-CtyrAYix.js → deliver-r4_Yp7-C.js} +1 -1
  57. package/dist/{deliver-runtime-Bvh4te8E.js → deliver-runtime-CIXUsI5k.js} +3 -3
  58. package/dist/deliver-runtime-DJsAB9LW.js +57 -0
  59. package/dist/deps-send-discord.runtime-M8Cl0fms.js +32 -0
  60. package/dist/deps-send-imessage.runtime-Bing_Bvm.js +31 -0
  61. package/dist/deps-send-signal.runtime-CEnhoskG.js +30 -0
  62. package/dist/deps-send-slack.runtime-DeKWrOdA.js +28 -0
  63. package/dist/deps-send-telegram.runtime-K5LxxPog.js +34 -0
  64. package/dist/{deps-send-whatsapp.runtime-BJV7VcRP.js → deps-send-whatsapp.runtime-BXDQiU2D.js} +7 -7
  65. package/dist/deps-send-whatsapp.runtime-Cie2nrT8.js +115 -0
  66. package/dist/{devices-cli-Cpq_Gt1l.js → devices-cli-BJgUG9fc.js} +8 -8
  67. package/dist/{diagnostic-DIPYflOJ.js → diagnostic-BCcd-_zI.js} +1 -1
  68. package/dist/{diagnostics-KfpqzhsS.js → diagnostics-BDjbQJxP.js} +5 -5
  69. package/dist/{directory-cli-CPBPE8N1.js → directory-cli-CJ_l_BnF.js} +7 -7
  70. package/dist/{dns-cli-CI7HzCVI.js → dns-cli-CFau82Y7.js} +5 -5
  71. package/dist/{dock-ClcGZ0LV.js → dock-C-w5XvOS.js} +4 -4
  72. package/dist/{docs-cli-DkQBHXw-.js → docs-cli-BRob5CHm.js} +4 -4
  73. package/dist/{doctor-completion-DEdT-_9v.js → doctor-completion-DB39JNV7.js} +2 -2
  74. package/dist/{doctor-config-flow-D6rEqOwb.js → doctor-config-flow-BzYwmYwv.js} +15 -15
  75. package/dist/{enable-sRe0nI5a.js → enable-Qw-mz6ta.js} +1 -1
  76. package/dist/entry.js +2 -2
  77. package/dist/{exec-approvals-allowlist-B5ZdMbz6.js → exec-approvals-allowlist-BkdJCc3F.js} +1 -1
  78. package/dist/{exec-approvals-cli-BFxdGk9c.js → exec-approvals-cli-DsDGgzyV.js} +16 -16
  79. package/dist/{exec-safe-bin-runtime-policy-CB8atBLm.js → exec-safe-bin-runtime-policy-C5pAgyiz.js} +2 -2
  80. package/dist/{fetch-CdvuNDFE.js → fetch-BwrGQrFL.js} +3 -3
  81. package/dist/{fetch-guard-D-W6TRJN.js → fetch-guard-CHht1LfT.js} +1 -1
  82. package/dist/{plugin-sdk/fs-safe-DRACrdwg.js → fs-safe-B8J4dv27.js} +6 -6
  83. package/dist/{gateway-cli-C_4mlmOW.js → gateway-cli-BdyXCC2C.js} +154 -154
  84. package/dist/{gateway-rpc-Dg3CGljP.js → gateway-rpc-ICMh7-Qs.js} +1 -1
  85. package/dist/{health-C5a0wlfE.js → health-Boe965-L.js} +11 -11
  86. package/dist/{hooks-cli-C79J_WG7.js → hooks-cli-DI0sn396.js} +81 -81
  87. package/dist/{hooks-status-Cjg5SLpX.js → hooks-status-CQjtRM1s.js} +1 -1
  88. package/dist/{image-7s8Q2r40.js → image-DoOVDHql.js} +1 -1
  89. package/dist/{image-EjGWXbei.js → image-Dpt9TurJ.js} +5 -5
  90. package/dist/{image-ops-eFMqXMDE.js → image-ops-DWGnyTvC.js} +10 -10
  91. package/dist/image-runtime-HfAsK5X3.js +51 -0
  92. package/dist/{image-runtime-QNP_uABR.js → image-runtime-Wym8Keh3.js} +3 -3
  93. package/dist/{inspect-XmcWN97u.js → inspect-DbVcDDi7.js} +4 -4
  94. package/dist/{install-safe-path-DNotGe9T.js → install-safe-path-FR9r9Dmi.js} +25 -25
  95. package/dist/{installs-zKF10nZF.js → installs-7zsfIb7P.js} +9 -9
  96. package/dist/{ipv4-DIKCnoyz.js → ipv4-CfrDjvjo.js} +1 -1
  97. package/dist/{ir-CJPPU4LU.js → ir-B-FffSKU.js} +8 -8
  98. package/dist/{issue-format-DCF2SXK_.js → issue-format-NmLUfbBT.js} +1 -1
  99. package/dist/{json-files-kWpauJWO.js → json-files-D9ZHO8Ud.js} +8 -8
  100. package/dist/{lifecycle-core-BLhI5nRz.js → lifecycle-core-Di83_FGS.js} +5 -5
  101. package/dist/llm-slug-generator.js +6 -6
  102. package/dist/{login-D26qK4NQ.js → login-BrdFlfV0.js} +3 -3
  103. package/dist/{login-qr-CMgMlRCI.js → login-qr-Ci3FVgS9.js} +6 -6
  104. package/dist/{logs-cli-Cn7bGSc7.js → logs-cli-DUl4D14l.js} +9 -9
  105. package/dist/{manager-f6tniCBN.js → manager-2Wice7pq.js} +14 -14
  106. package/dist/manager-runtime-BrpO8pJp.js +22 -0
  107. package/dist/{manifest-registry-CI-UuKUO.js → manifest-registry-_liSV_Vx.js} +1 -1
  108. package/dist/{memory-cli-C2Yq9ryD.js → memory-cli-BgZK6A-T.js} +12 -12
  109. package/dist/{model-CXGHDOeN.js → model-C4J88Gi3.js} +2 -2
  110. package/dist/{model-catalog-08ftNXDk.js → model-catalog-BYxSwIkt.js} +3 -3
  111. package/dist/{model-picker-CTRi5Yhj.js → model-picker-DAr8DpKu.js} +4 -4
  112. package/dist/{models-Do96D4zT.js → models-DqwqcGxg.js} +17 -17
  113. package/dist/{models-cli-pblTciC_.js → models-cli-BFfUYhHp.js} +78 -78
  114. package/dist/{models-config-DYJ-p9kt.js → models-config-CJq2ywhf.js} +6 -6
  115. package/dist/{net-DQYHvbkN.js → net-C7TXXUto.js} +2 -2
  116. package/dist/{node-cli-CsQwAHzH.js → node-cli-DMpZsjse.js} +33 -33
  117. package/dist/{node-command-policy-BHdicfMO.js → node-command-policy-DGMJi4xw.js} +1 -1
  118. package/dist/{node-service-CLtiUeNO.js → node-service-L9-L8-7x.js} +1 -1
  119. package/dist/{nodes-cli-Dlilj-Pf.js → nodes-cli-BcyY77Cc.js} +16 -16
  120. package/dist/{nodes-screen-CL-8raxt.js → nodes-screen-B6QVlwKO.js} +7 -7
  121. package/dist/{npm-pack-install-DZvYhRnM.js → npm-pack-install-B3VCcNWC.js} +18 -18
  122. package/dist/{npm-resolution-DE7xcGkg.js → npm-resolution-0-Scs5nn.js} +4 -4
  123. package/dist/{onboard-CReGZ3G9.js → onboard-C9gtA3_b.js} +6 -6
  124. package/dist/{onboard-channels-ljMkIe7O.js → onboard-channels-NBqfiIc3.js} +21 -21
  125. package/dist/{onboard-custom-DoJDTzAW.js → onboard-custom-Cv61U_sa.js} +4 -4
  126. package/dist/{onboard-helpers-7lOdCHhD.js → onboard-helpers-Djj9SkyR.js} +10 -10
  127. package/dist/{onboard-hooks-BTD0YhRI.js → onboard-hooks-DRkLf5gL.js} +4 -4
  128. package/dist/{onboard-remote-Bj9uk3zW.js → onboard-remote-o8XtWCa_.js} +4 -4
  129. package/dist/{onboard-skills-1KAA9UrK.js → onboard-skills-TATKa-gc.js} +4 -4
  130. package/dist/{onboarding-CoH1hPY0.js → onboarding-C_LQ6doG.js} +14 -14
  131. package/dist/{onboarding.finalize-DzRWtkmA.js → onboarding.finalize-uHWzNBrm.js} +87 -87
  132. package/dist/{onboarding.gateway-config-s11ZLxLE.js → onboarding.gateway-config-ByvXJY2k.js} +18 -18
  133. package/dist/{onboarding.secret-input-D5VKqHdN.js → onboarding.secret-input-Cw4uIgyl.js} +1 -1
  134. package/dist/{openai-model-default-sYh2slgj.js → openai-model-default-Db9joqm4.js} +2 -2
  135. package/dist/{outbound-D0KF3CHY.js → outbound-DgsIsXfj.js} +3 -3
  136. package/dist/{outbound-attachment-CEC4H3tX.js → outbound-attachment-CjhkSZBR.js} +2 -2
  137. package/dist/{pairing-cli-4Nrc-V_v.js → pairing-cli-D0KKynjI.js} +8 -8
  138. package/dist/{pairing-labels-e3Pnen1C.js → pairing-labels-Ev8O2qBX.js} +1 -1
  139. package/dist/{pairing-store-Kslw_Wa0.js → pairing-store-CI0hWzZk.js} +3 -3
  140. package/dist/{plugin-sdk/path-alias-guards-CaCBZRHc.js → path-alias-guards-BoydiaPL.js} +1 -1
  141. package/dist/{path-safety-Cq9rwfZN.js → path-safety-CSCsbd-j.js} +1 -1
  142. package/dist/{paths-C5mR1YC-.js → paths-BVQ0udwc.js} +9 -9
  143. package/dist/{pi-embedded-DUO1eQ_J.js → pi-embedded-CD3oPGOP.js} +24 -24
  144. package/dist/{pi-embedded-helpers-BWpzwT6B.js → pi-embedded-helpers-Be8qWeKb.js} +6 -6
  145. package/dist/{pi-embedded-helpers-BMGRFCuV.js → pi-embedded-helpers-BthBxPYi.js} +3 -3
  146. package/dist/{pi-model-discovery-CibSv4gC.js → pi-model-discovery-CgxnCHvU.js} +1 -1
  147. package/dist/{pi-model-discovery-runtime-DhBE8w94.js → pi-model-discovery-runtime-CqYOz48r.js} +5 -5
  148. package/dist/{pi-tools.before-tool-call.runtime-D6h4CmLs.js → pi-tools.before-tool-call.runtime-CPnt06zM.js} +5 -5
  149. package/dist/{pi-tools.policy-BqpmC_c4.js → pi-tools.policy-DGbCC2Ji.js} +5 -5
  150. package/dist/{plugin-auto-enable-DnSZLbIH.js → plugin-auto-enable-Crpu18wt.js} +3 -3
  151. package/dist/{plugin-registry-DckyegZB.js → plugin-registry-Dbu4pN4B.js} +3 -3
  152. package/dist/plugin-sdk/imessage.js +2 -2
  153. package/dist/plugin-sdk/index.js +50 -50
  154. package/dist/plugin-sdk/mattermost.js +3 -3
  155. package/dist/plugin-sdk/signal.js +2 -2
  156. package/dist/plugin-sdk/telegram.js +2 -2
  157. package/dist/{plugins-C1OgLvb4.js → plugins-IFacUN_Q.js} +2 -2
  158. package/dist/{plugins-cli-C6Oo9R6E.js → plugins-cli-CCpaWcyg.js} +83 -83
  159. package/dist/{ports-CfOim1GC.js → ports-DqZBwUsy.js} +2 -2
  160. package/dist/{ports-Dw-3Gxsb.js → ports-FLn4cVl7.js} +1 -1
  161. package/dist/{probe-D3f6QMfy.js → probe-CHRXpP2F.js} +2 -2
  162. package/dist/{program-CEJ6CsoR.js → program-Br4Re78f.js} +81 -81
  163. package/dist/{prompt-select-styled-D-f3R2mt.js → prompt-select-styled-w-CGGgrT.js} +40 -40
  164. package/dist/{provider-auth-helpers-CN4iPBfs.js → provider-auth-helpers-BVCos07y.js} +5 -5
  165. package/dist/{proxy-env-B7GwrH5p.js → proxy-env-Bx8OhutV.js} +1 -1
  166. package/dist/{push-apns-BEZdCQsM.js → push-apns-Cdl2nskU.js} +5 -5
  167. package/dist/{pw-ai-Ckb-165q.js → pw-ai-BpQw305H.js} +18 -18
  168. package/dist/{pw-ai-D6e8FGb0.js → pw-ai-CJfoHUhH.js} +1 -1
  169. package/dist/{plugin-sdk/qmd-manager-JiY1T3wh.js → qmd-manager-COHJs6wn.js} +15 -11
  170. package/dist/{qr-cli-BI54tdt3.js → qr-cli-Bzo00_vR.js} +2 -2
  171. package/dist/{query-expansion-Cja4xprw.js → query-expansion-IQFdQdeu.js} +12 -12
  172. package/dist/{redact-snapshot-YrAxVxTI.js → redact-snapshot-Bfefch_D.js} +1 -1
  173. package/dist/{register.agent-BjxrirHi.js → register.agent-CVpohSrc.js} +94 -94
  174. package/dist/register.configure-CiIuig3f.js +162 -0
  175. package/dist/{register.maintenance-BfdiJ7KX.js → register.maintenance-CpVfbR8z.js} +95 -95
  176. package/dist/{register.message-BszoJEBm.js → register.message-CJErVRcL.js} +74 -74
  177. package/dist/{register.onboard-CbJU4Y-3.js → register.onboard-Cm5fn9dF.js} +18 -18
  178. package/dist/{register.setup-BTTBsCT0.js → register.setup-DIBDbMN8.js} +21 -21
  179. package/dist/{register.status-health-sessions-C3Ji8sqv.js → register.status-health-sessions-Bu3abDYw.js} +89 -89
  180. package/dist/{register.subclis-2iN-TxPh.js → register.subclis-DTiQUgvr.js} +31 -31
  181. package/dist/{rpc-4GcuaLHq.js → rpc-CkwrblZ9.js} +1 -1
  182. package/dist/{run-main-BEtPk_9z.js → run-main-4p7ridqP.js} +92 -92
  183. package/dist/{runtime-4RU4PT-H.js → runtime-C-9xWVep.js} +3 -3
  184. package/dist/{runtime-config-collectors-Ca2llf68.js → runtime-config-collectors-vw9ITu9W.js} +1 -1
  185. package/dist/{runtime-whatsapp-login.runtime-DOTrH3Wz.js → runtime-whatsapp-login.runtime-CrytFUOh.js} +7 -7
  186. package/dist/runtime-whatsapp-outbound.runtime-DOHkvY0R.js +28 -0
  187. package/dist/{sandbox-D19lOCVP.js → sandbox-CDjV0Crv.js} +18 -18
  188. package/dist/{sandbox-cli-DAZxiFQz.js → sandbox-cli-CyS9Kzp1.js} +25 -25
  189. package/dist/{secrets-cli-Bd2eDDOJ.js → secrets-cli-BPXW13bC.js} +11 -11
  190. package/dist/{security-cli-C6oO69to.js → security-cli-DfuX1PAw.js} +43 -43
  191. package/dist/{send-DR5zNR-6.js → send-BTQQeOIu.js} +6 -6
  192. package/dist/{send-3vnK2por.js → send-CFsJh6px.js} +11 -11
  193. package/dist/{send-DTvtOsK3.js → send-CM55Cnqy.js} +4 -4
  194. package/dist/{send-Bz5LPBFx.js → send-D7wKzeqg.js} +8 -8
  195. package/dist/{send-CEgqE2b1.js → send-DUJqLDEQ.js} +5 -5
  196. package/dist/{server-vPpafyBR.js → server-57rjxu9J.js} +20 -20
  197. package/dist/{server-context-FT_S05Zu.js → server-context-DdGwcBos.js} +12 -12
  198. package/dist/{server-lifecycle-YV61YmRr.js → server-lifecycle-TD7uRUJM.js} +2 -2
  199. package/dist/{server-middleware-BPI-0Duw.js → server-middleware-Dqzu_N47.js} +1 -1
  200. package/dist/{server-node-events-BozhXo6J.js → server-node-events-CstHr-4q.js} +74 -74
  201. package/dist/{service-Aratsspm.js → service-B45ntxm9.js} +15 -15
  202. package/dist/{session-C4iQQHfw.js → session-BO7rj_9P.js} +1 -1
  203. package/dist/{session-utils-CTpXGSxL.js → session-utils-DqzU9P2d.js} +6 -6
  204. package/dist/{sessions-CZvR93mC.js → sessions-BPbCt7hk.js} +4 -4
  205. package/dist/{sessions-Cvvux3S6.js → sessions-BUNwVEqF.js} +15 -15
  206. package/dist/{shared-ByZODVse.js → shared-CeHWQzSU.js} +3 -3
  207. package/dist/{shared-Cj-SPh02.js → shared-CpqkgNHp.js} +1 -1
  208. package/dist/{skill-commands-CzaT61kL.js → skill-commands-BlmjGaIe.js} +5 -5
  209. package/dist/{skill-scanner-DqqhF5of.js → skill-scanner-DOOfjrYo.js} +6 -6
  210. package/dist/{skills-BpN5EUZU.js → skills-CFYm0xdh.js} +3 -3
  211. package/dist/{skills-cli-Bk2WM5gn.js → skills-cli-Dmbm2-L8.js} +5 -5
  212. package/dist/{skills-install-0pjIZu1-.js → skills-install-DSB3T8VY.js} +6 -6
  213. package/dist/{skills-status-Bu28FGtt.js → skills-status-CmWpjTMz.js} +1 -1
  214. package/dist/{slash-commands.runtime-CU--cvcd.js → slash-commands.runtime-CTVGYo20.js} +11 -11
  215. package/dist/{slash-dispatch.runtime-DDLolsGY.js → slash-dispatch.runtime-CQmhrE1-.js} +6 -6
  216. package/dist/slash-dispatch.runtime-yKnwVCI5.js +110 -0
  217. package/dist/slash-skill-commands.runtime-BCG9eUm1.js +29 -0
  218. package/dist/{status-B5hylgEQ.js → status-DPFQHdBI.js} +28 -28
  219. package/dist/{status.update-CdaaXiD4.js → status.update-ZhDibzTU.js} +2 -2
  220. package/dist/{store-LSg8jeyh.js → store-Dgl-neCe.js} +5 -5
  221. package/dist/{subagent-registry-iD-ynHA9.js → subagent-registry-DPqc72Pw.js} +149 -149
  222. package/dist/{subagent-registry-runtime-DfMDVaOY.js → subagent-registry-runtime-BYxLgcCY.js} +6 -6
  223. package/dist/subagent-registry-runtime-DE-5902Y.js +110 -0
  224. package/dist/{system-cli-B8wmT3y0.js → system-cli-BiiO_z6k.js} +9 -9
  225. package/dist/{system-run-command-Ft0meR8i.js → system-run-command-CUMrwy8H.js} +1 -1
  226. package/dist/{systemd-CVY4-XuL.js → systemd-BNMfPHLS.js} +9 -9
  227. package/dist/{systemd-hints-GPX9Y1X7.js → systemd-hints-O9SJa5Ku.js} +6 -6
  228. package/dist/{systemd-linger-CyioH9ho.js → systemd-linger-CDgtOmPf.js} +1 -1
  229. package/dist/{tables-B6p8P9wY.js → tables-Bjpb4vEC.js} +1 -1
  230. package/dist/{tailnet-yScEfa2T.js → tailnet-C4yxhmDk.js} +1 -1
  231. package/dist/{plugin-sdk/target-errors-Hoj2qirZ.js → target-errors-Bd8kj4z9.js} +2 -2
  232. package/dist/{tool-images-Cp3hNFNZ.js → tool-images-DbchBdq5.js} +1 -1
  233. package/dist/{tui-BPqNtl51.js → tui-BVOPPCMP.js} +6 -6
  234. package/dist/{tui-cli-BZE2zssw.js → tui-cli-B2jmEXCo.js} +32 -32
  235. package/dist/{update-u6OtnABh.js → update-DF240Zd0.js} +3 -3
  236. package/dist/{update-cli-C1nysDmM.js → update-cli-PDG-KYWB.js} +105 -105
  237. package/dist/{update-runner-BpzbDTnQ.js → update-runner-BkpGT3AA.js} +16 -16
  238. package/dist/{web-CodV11ZY.js → web-0SOsmYmI.js} +6 -6
  239. package/dist/web-20qjCzeI.js +114 -0
  240. package/dist/{webhooks-cli-D4O_OfXU.js → webhooks-cli-N_vV0iXR.js} +6 -6
  241. package/dist/{whatsapp-actions-By2rV868.js → whatsapp-actions-X768ziyc.js} +17 -17
  242. package/dist/{winclaw-root-D0OUuGl7.js → winclaw-root-DEqOOeOw.js} +8 -8
  243. package/dist/{with-timeout-Cng0KnPd.js → with-timeout-DJb5ULbL.js} +3 -3
  244. package/dist/{workspace-vYy4qLQz.js → workspace-Cx-f7PO5.js} +1 -1
  245. package/dist/{workspace-dirs-C13vnqQQ.js → workspace-dirs-C5erYAob.js} +1 -1
  246. package/dist/{wsl-C9d12M7y.js → wsl-BisEqrSr.js} +2 -2
  247. package/package.json +1 -1
  248. package/dist/cli-Da0pNyXg.js +0 -154
  249. package/dist/deliver-runtime-Co5o7uv0.js +0 -57
  250. package/dist/deps-send-discord.runtime-D0BtA9iO.js +0 -32
  251. package/dist/deps-send-imessage.runtime-89fweiea.js +0 -31
  252. package/dist/deps-send-signal.runtime-BA3mNq_v.js +0 -30
  253. package/dist/deps-send-slack.runtime-DiA-Ieod.js +0 -28
  254. package/dist/deps-send-telegram.runtime-C9bLOnbt.js +0 -34
  255. package/dist/deps-send-whatsapp.runtime-Dflrvnq-.js +0 -115
  256. package/dist/fs-safe-Dha0DfFC.js +0 -352
  257. package/dist/image-runtime-CGAobfgI.js +0 -51
  258. package/dist/manager-runtime-BifbXCuI.js +0 -22
  259. package/dist/path-alias-guards-9OJ1UBCd.js +0 -43
  260. package/dist/plugin-sdk/accounts-B9lBByhz.js +0 -35
  261. package/dist/plugin-sdk/accounts-Bl6fp04N.js +0 -288
  262. package/dist/plugin-sdk/accounts-CQWq_42g.js +0 -46
  263. package/dist/plugin-sdk/active-listener-Dc-P7jeX.js +0 -50
  264. package/dist/plugin-sdk/api-key-rotation-DSOB99GV.js +0 -181
  265. package/dist/plugin-sdk/audio-preflight-DYTxAG0v.js +0 -69
  266. package/dist/plugin-sdk/audio-transcription-runner-Bndij5Q1.js +0 -2176
  267. package/dist/plugin-sdk/audit-membership-runtime-ZTTIhQhs.js +0 -58
  268. package/dist/plugin-sdk/channel-activity-ChRCQNSc.js +0 -94
  269. package/dist/plugin-sdk/channel-web-CfZNFYCV.js +0 -2256
  270. package/dist/plugin-sdk/chrome-DNpRdbZ1.js +0 -2415
  271. package/dist/plugin-sdk/commands-registry-Bq1HqcJU.js +0 -1125
  272. package/dist/plugin-sdk/config-Cyo0rHBx.js +0 -17959
  273. package/dist/plugin-sdk/deliver-mBruQPRt.js +0 -1719
  274. package/dist/plugin-sdk/deliver-runtime-ByVt0evu.js +0 -32
  275. package/dist/plugin-sdk/deps-send-discord.runtime-C2fc3t93.js +0 -23
  276. package/dist/plugin-sdk/deps-send-imessage.runtime-D4m7X6j4.js +0 -22
  277. package/dist/plugin-sdk/deps-send-signal.runtime-DwGJRjyX.js +0 -21
  278. package/dist/plugin-sdk/deps-send-slack.runtime-7J491hID.js +0 -19
  279. package/dist/plugin-sdk/deps-send-telegram.runtime-DAKGyd6b.js +0 -24
  280. package/dist/plugin-sdk/deps-send-whatsapp.runtime-BxQ5tZO2.js +0 -57
  281. package/dist/plugin-sdk/diagnostic-B3ZoSFoM.js +0 -319
  282. package/dist/plugin-sdk/errors-DdSHGcgi.js +0 -54
  283. package/dist/plugin-sdk/fetch-guard-Uhk4tySC.js +0 -156
  284. package/dist/plugin-sdk/image-CEBZ8sRh.js +0 -2314
  285. package/dist/plugin-sdk/image-ops-Dye2ozSZ.js +0 -584
  286. package/dist/plugin-sdk/image-runtime-CabQkSZn.js +0 -25
  287. package/dist/plugin-sdk/ir-CruONUHn.js +0 -1296
  288. package/dist/plugin-sdk/local-roots-BYSlR-at.js +0 -186
  289. package/dist/plugin-sdk/logger-C_vnHQg2.js +0 -1163
  290. package/dist/plugin-sdk/login-bdsdinOj.js +0 -57
  291. package/dist/plugin-sdk/login-qr-BYAvyop9.js +0 -320
  292. package/dist/plugin-sdk/manager-AOQxrU7P.js +0 -3929
  293. package/dist/plugin-sdk/manager-runtime-CijO5giX.js +0 -15
  294. package/dist/plugin-sdk/outbound-FdiP5J7H.js +0 -212
  295. package/dist/plugin-sdk/outbound-attachment-DZphVgq7.js +0 -19
  296. package/dist/plugin-sdk/paths-ICLB349I.js +0 -166
  297. package/dist/plugin-sdk/pi-embedded-helpers-tHjfJzH4.js +0 -9627
  298. package/dist/plugin-sdk/pi-model-discovery-DQV-B6bn.js +0 -134
  299. package/dist/plugin-sdk/pi-model-discovery-runtime-MJmZTIax.js +0 -8
  300. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-7DPjo7Ey.js +0 -354
  301. package/dist/plugin-sdk/plugins-BQHnLb2v.js +0 -864
  302. package/dist/plugin-sdk/proxy-fetch-BpMu-RpD.js +0 -38
  303. package/dist/plugin-sdk/pw-ai-DAMRoo8O.js +0 -1938
  304. package/dist/plugin-sdk/query-expansion-CuaTloKx.js +0 -1011
  305. package/dist/plugin-sdk/redact-BznLQ6I5.js +0 -319
  306. package/dist/plugin-sdk/reply-Cx_4UtvJ.js +0 -100211
  307. package/dist/plugin-sdk/resolve-outbound-target-BDjhohcf.js +0 -40
  308. package/dist/plugin-sdk/run-with-concurrency-BcPenaKJ.js +0 -1994
  309. package/dist/plugin-sdk/runtime-whatsapp-login.runtime-DqezqoLI.js +0 -10
  310. package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-Dgnv_x4o.js +0 -19
  311. package/dist/plugin-sdk/send-BWz-g7wE.js +0 -540
  312. package/dist/plugin-sdk/send-DB9pUM0k.js +0 -414
  313. package/dist/plugin-sdk/send-QPap4wBN.js +0 -503
  314. package/dist/plugin-sdk/send-gz4Lq5tL.js +0 -2587
  315. package/dist/plugin-sdk/send-tyEtWeMX.js +0 -3135
  316. package/dist/plugin-sdk/session-88GgvJcW.js +0 -169
  317. package/dist/plugin-sdk/skill-commands-ClwX3DoE.js +0 -353
  318. package/dist/plugin-sdk/skills-B2FPl9ca.js +0 -1428
  319. package/dist/plugin-sdk/slash-commands.runtime-CGAfyDkY.js +0 -13
  320. package/dist/plugin-sdk/slash-dispatch.runtime-DN7TWAWh.js +0 -52
  321. package/dist/plugin-sdk/slash-skill-commands.runtime-C4i9B-79.js +0 -16
  322. package/dist/plugin-sdk/ssrf-D3NQgatK.js +0 -202
  323. package/dist/plugin-sdk/store-CDmdRGxP.js +0 -81
  324. package/dist/plugin-sdk/subagent-registry-runtime-CprGCjIU.js +0 -52
  325. package/dist/plugin-sdk/tables-j2CMtAoX.js +0 -55
  326. package/dist/plugin-sdk/thinking-Dh6B0ZhB.js +0 -1206
  327. package/dist/plugin-sdk/tokens-PExiD061.js +0 -52
  328. package/dist/plugin-sdk/tool-images-D7ah30xm.js +0 -274
  329. package/dist/plugin-sdk/web-D9wJfMr_.js +0 -56
  330. package/dist/plugin-sdk/whatsapp-actions-BjarJorO.js +0 -80
  331. package/dist/qmd-manager-oU4X85hj.js +0 -1452
  332. package/dist/register.configure-MduIRRMt.js +0 -162
  333. package/dist/runtime-whatsapp-outbound.runtime-CNnM5MdE.js +0 -28
  334. package/dist/slash-dispatch.runtime-D5Cl7j1v.js +0 -110
  335. package/dist/slash-skill-commands.runtime-DnvHGcVS.js +0 -29
  336. package/dist/subagent-registry-runtime-LH0OBaWN.js +0 -110
  337. package/dist/target-errors-HJQQHC3B.js +0 -195
  338. package/dist/web-DxHq9RWt.js +0 -114
@@ -1,10 +1,10 @@
1
1
  import { $ as resolveGatewayLockDir, E as logVerbose, F as getChildLogger, G as CONFIG_PATH, I as getLogger, J as isNixMode, L as getResolvedLoggerSettings, M as colorize, N as isRich, O as setVerbose, P as theme, X as resolveConfigPath, _ as defaultRuntime, c as runtimeForLogger, d as setConsoleSubsystemFilter, et as resolveGatewayPort, f as setConsoleTimestampPrefix, i as logAcceptedEnvOption, ot as resolveStateDir, q as STATE_DIR, r as isTruthyEnvValue, s as createSubsystemLogger } from "./entry.js";
2
- import { At as AVATAR_MAX_BYTES, B as parseConfigJson5, Bn as buildTalkConfigResponse, Dn as applyMergePatch, Dr as resolveConfiguredModelRef, G as writeConfigFile, H as readConfigFileSnapshotForWrite, Hn as resolveAgentMaxConcurrent, I as migrateLegacyConfig, Ii as DEFAULT_CONTEXT_TOKENS, K as validateConfigObjectWithPlugins, Li as DEFAULT_MODEL, Lt as looksLikeAvatarPath, Mi as normalizeSecretInput, Mr as resolveSubagentConfiguredModelSelection, Mt as isAvatarHttpUrl, Nt as isAvatarImageDataUrl, On as applyLegacyMigrations, Or as resolveDefaultModelForAgent, Pr as resolveThinkingDefault, R as createConfigIO, Ri as DEFAULT_PROVIDER, Sr as normalizeModelSelection, Tr as resolveAllowedModelRef, U as resolveConfigSnapshotHash, Un as resolveSubagentMaxConcurrent, V as readConfigFileSnapshot, Zn as upsertAuthProfile, _r as getModelRefStatus, fr as isPidAlive, ir as saveAuthProfileStore, kn as ensureControlUiAllowedOriginsForNonLoopbackBind, kr as resolveHooksGmailModel, mt as parseByteSize, pr as buildAllowedModelSet, pt as parseDurationMs, q as WinClawSchema, tr as loadAuthProfileStore, yr as isCliProvider, z as loadConfig } from "./auth-profiles-CmoHF97e.js";
2
+ import { At as AVATAR_MAX_BYTES, B as parseConfigJson5, Bn as buildTalkConfigResponse, Dn as applyMergePatch, Dr as resolveConfiguredModelRef, G as writeConfigFile, H as readConfigFileSnapshotForWrite, Hn as resolveAgentMaxConcurrent, I as migrateLegacyConfig, Ii as DEFAULT_CONTEXT_TOKENS, K as validateConfigObjectWithPlugins, Li as DEFAULT_MODEL, Lt as looksLikeAvatarPath, Mi as normalizeSecretInput, Mr as resolveSubagentConfiguredModelSelection, Mt as isAvatarHttpUrl, Nt as isAvatarImageDataUrl, On as applyLegacyMigrations, Or as resolveDefaultModelForAgent, Pr as resolveThinkingDefault, R as createConfigIO, Ri as DEFAULT_PROVIDER, Sr as normalizeModelSelection, Tr as resolveAllowedModelRef, U as resolveConfigSnapshotHash, Un as resolveSubagentMaxConcurrent, V as readConfigFileSnapshot, Zn as upsertAuthProfile, _r as getModelRefStatus, fr as isPidAlive, ir as saveAuthProfileStore, kn as ensureControlUiAllowedOriginsForNonLoopbackBind, kr as resolveHooksGmailModel, mt as parseByteSize, pr as buildAllowedModelSet, pt as parseDurationMs, q as WinClawSchema, tr as loadAuthProfileStore, yr as isCliProvider, z as loadConfig } from "./auth-profiles-DF0cLC20.js";
3
3
  import { t as formatCliCommand } from "./command-format-C2YuTuPp.js";
4
- import { A as resolveDefaultAgentWorkspaceDir, C as DEFAULT_SOUL_FILENAME, E as ensureAgentWorkspace, O as isWorkspaceOnboardingCompleted, S as DEFAULT_MEMORY_FILENAME, T as DEFAULT_USER_FILENAME, a as resolveAgentDir, b as DEFAULT_IDENTITY_FILENAME, c as resolveAgentModelFallbacksOverride, d as resolveDefaultAgentId, g as DEFAULT_AGENTS_FILENAME, i as resolveAgentConfig, j as resolveWorkspaceTemplateDir, l as resolveAgentSkillsFilter, m as resolveSessionAgentId, n as listAgentEntries, r as listAgentIds, u as resolveAgentWorkspaceDir, v as DEFAULT_BOOTSTRAP_FILENAME, w as DEFAULT_TOOLS_FILENAME, x as DEFAULT_MEMORY_ALT_FILENAME, y as DEFAULT_HEARTBEAT_FILENAME } from "./agent-scope-D-i-vMLS.js";
4
+ import { A as resolveDefaultAgentWorkspaceDir, C as DEFAULT_SOUL_FILENAME, E as ensureAgentWorkspace, O as isWorkspaceOnboardingCompleted, S as DEFAULT_MEMORY_FILENAME, T as DEFAULT_USER_FILENAME, a as resolveAgentDir, b as DEFAULT_IDENTITY_FILENAME, c as resolveAgentModelFallbacksOverride, d as resolveDefaultAgentId, g as DEFAULT_AGENTS_FILENAME, i as resolveAgentConfig, j as resolveWorkspaceTemplateDir, l as resolveAgentSkillsFilter, m as resolveSessionAgentId, n as listAgentEntries, r as listAgentIds, u as resolveAgentWorkspaceDir, v as DEFAULT_BOOTSTRAP_FILENAME, w as DEFAULT_TOOLS_FILENAME, x as DEFAULT_MEMORY_ALT_FILENAME, y as DEFAULT_HEARTBEAT_FILENAME } from "./agent-scope-Dany4R2i.js";
5
5
  import { C as isCronRunSessionKey, E as parseAgentSessionKey, T as isSubagentSessionKey, _ as normalizeAccountId$1, c as normalizeAgentId, g as DEFAULT_ACCOUNT_ID, h as toAgentStoreSessionKey, l as normalizeMainKey, m as toAgentRequestSessionKey, o as classifySessionKeyShape, r as buildAgentMainSessionKey, t as DEFAULT_AGENT_ID, u as resolveAgentIdFromSessionKey } from "./session-key-9-yI-GU_.js";
6
6
  import { E as isPlainObject, S as sleep, T as truncateUtf16Safe, n as clamp, s as ensureDir, t as CONFIG_DIR, v as resolveUserPath, x as shortenHomePath } from "./utils-hiIKrqOK.js";
7
- import { a as openBoundaryFileSync, f as isNotFoundPathError, g as matchesSkillFilter, i as openBoundaryFile, o as openVerifiedFileSync, s as sameFileIdentity, t as resolveWinClawPackageRoot } from "./winclaw-root-D0OUuGl7.js";
7
+ import { a as openBoundaryFileSync, f as isNotFoundPathError, g as matchesSkillFilter, i as openBoundaryFile, o as openVerifiedFileSync, s as sameFileIdentity, t as resolveWinClawPackageRoot } from "./winclaw-root-DEqOOeOw.js";
8
8
  import { i as logWarn, t as logDebug } from "./logger-BcqRk323.js";
9
9
  import { n as runExec, t as runCommandWithTimeout } from "./exec-CaapFZaD.js";
10
10
  import { C as clearInternalHooks, E as triggerInternalHook, T as registerInternalHook, h as createEmptyPluginRegistry, t as CHANNEL_IDS, u as getActivePluginRegistry, w as createInternalHookEvent } from "./registry-BcRQUSsJ.js";
@@ -12,105 +12,105 @@ import "./github-copilot-token-DHTToceK.js";
12
12
  import "./host-env-security-CIiLt2Mi.js";
13
13
  import { n as resolveRuntimeServiceVersion, t as VERSION } from "./version-TiOyTfO4.js";
14
14
  import "./env-vars-CE3cUIrz.js";
15
- import { u as isTestDefaultMemorySlotDisabled } from "./manifest-registry-CI-UuKUO.js";
16
- import "./dock-ClcGZ0LV.js";
17
- import "./model-CXGHDOeN.js";
18
- import "./pi-model-discovery-CibSv4gC.js";
19
- import { d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, m as isDiagnosticsEnabled } from "./diagnostic-DIPYflOJ.js";
15
+ import { u as isTestDefaultMemorySlotDisabled } from "./manifest-registry-_liSV_Vx.js";
16
+ import "./dock-C-w5XvOS.js";
17
+ import "./model-C4J88Gi3.js";
18
+ import "./pi-model-discovery-CgxnCHvU.js";
19
+ import { d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, m as isDiagnosticsEnabled } from "./diagnostic-BCcd-_zI.js";
20
20
  import { d as hasBinary } from "./frontmatter-BnXqzQr3.js";
21
- import { i as loadWorkspaceSkillEntries, r as buildWorkspaceSkillSnapshot } from "./skills-BpN5EUZU.js";
22
- import { n as assertNoPathAliasEscape } from "./path-alias-guards-9OJ1UBCd.js";
23
- import { t as buildWorkspaceSkillStatus } from "./skills-status-Bu28FGtt.js";
21
+ import { i as loadWorkspaceSkillEntries, r as buildWorkspaceSkillSnapshot } from "./skills-CFYm0xdh.js";
22
+ import { n as assertNoPathAliasEscape } from "./path-alias-guards-BoydiaPL.js";
23
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-CmWpjTMz.js";
24
24
  import { _ as normalizeGatewayClientMode, 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-DINJBdD0.js";
25
- import { $ as resolveAgentMainSessionKey, A as readSessionPreviewItemsFromTranscript, B as cleanStaleLockFiles, C as normalizeSessionDeliveryFields, D as capArrayByJsonBytes, E as archiveSessionTranscripts, G as resolveSessionResetPolicy, I as stripInlineDirectiveTagsForDisplay, L as stripInlineDirectiveTagsFromMessageForDisplay, M as resolveSessionTranscriptCandidates, N as stripEnvelopeFromMessage, O as cleanupArchivedSessionTranscripts, P as stripEnvelopeFromMessages, Q as canonicalizeMainSessionAlias, R as jsonUtf8Bytes, T as archiveFileOnDisk, U as evaluateSessionFreshness, Y as mergeSessionEntry, Z as setSessionRuntimeModel, d as updateSessionStore, et as resolveExplicitAgentSessionKey, it as snapshotSessionOrigin, k as readSessionMessages, n as parseSessionThreadInfo, nt as resolveMainSessionKeyFromConfig, o as loadSessionStore, t as extractDeliveryInfo, tt as resolveMainSessionKey, x as mergeDeliveryContext, y as deliveryContextFromSession } from "./sessions-Cvvux3S6.js";
26
- import { m as buildChannelAccountBindings, n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin, w as normalizeWhatsAppTarget } from "./plugins-C1OgLvb4.js";
27
- import { i as resolveWhatsAppAccount } from "./accounts-cYG8442L.js";
28
- import "./accounts-CTJXIABG.js";
25
+ import { $ as resolveAgentMainSessionKey, A as readSessionPreviewItemsFromTranscript, B as cleanStaleLockFiles, C as normalizeSessionDeliveryFields, D as capArrayByJsonBytes, E as archiveSessionTranscripts, G as resolveSessionResetPolicy, I as stripInlineDirectiveTagsForDisplay, L as stripInlineDirectiveTagsFromMessageForDisplay, M as resolveSessionTranscriptCandidates, N as stripEnvelopeFromMessage, O as cleanupArchivedSessionTranscripts, P as stripEnvelopeFromMessages, Q as canonicalizeMainSessionAlias, R as jsonUtf8Bytes, T as archiveFileOnDisk, U as evaluateSessionFreshness, Y as mergeSessionEntry, Z as setSessionRuntimeModel, d as updateSessionStore, et as resolveExplicitAgentSessionKey, it as snapshotSessionOrigin, k as readSessionMessages, n as parseSessionThreadInfo, nt as resolveMainSessionKeyFromConfig, o as loadSessionStore, t as extractDeliveryInfo, tt as resolveMainSessionKey, x as mergeDeliveryContext, y as deliveryContextFromSession } from "./sessions-BUNwVEqF.js";
26
+ import { m as buildChannelAccountBindings, n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin, w as normalizeWhatsAppTarget } from "./plugins-IFacUN_Q.js";
27
+ import { i as resolveWhatsAppAccount } from "./accounts-BrWJjaKS.js";
28
+ import "./accounts-8qwgz384.js";
29
29
  import "./logging-CFvkxgcX.js";
30
- import "./accounts-CLKFSM00.js";
31
- import "./send-DTvtOsK3.js";
32
- import "./send-3vnK2por.js";
33
- import { $n as ACP_SESSION_IDENTITY_RENDERER_VERSION, $r as clearAgentRunContext, $t as hasLegacyDeliveryHints, An as loadProviderUsageSummary, Ar as resolveTtsApiKey, At as resetDirectoryCache, B as resolveAgentAvatar, Br as getActiveTaskCount, Cn as scheduleGatewaySigusr1Restart, D as handleSlackHttpRequest, Dn as unbindThreadBindingsBySessionKey, Dr as getTtsProvider, Dt as resolveSessionDeliveryTarget, En as triggerWinClawRestart, Er as clearBootstrapSnapshot, Et as resolveOutboundTarget, F as resolveAgentDeliveryPlan, Fr as setTtsEnabled, Ft as consumeRestartSentinel, Gn as isSystemEventContextChanged, Gr as setCommandLaneConcurrency, Gt as inferLegacyName, Hr as getTotalQueueSize, Ht as normalizeHttpWebhookUrl, I as resolveAgentOutboundTarget, In as resolveBootstrapWarningSignaturesSeen, Ir as setTtsProvider, It as formatDoctorNonInteractiveHint, J as buildHistoryContextFromEntries, Jn as requestHeartbeatNow, Jr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, Jt as normalizeOptionalText, Kr as waitForActiveTasks, Kt as normalizeOptionalAgentId, L as createOutboundSendDeps, Ln as formatZonedTimestamp, Lr as textToSpeech, Lt as formatRestartSentinelMessage, Mr as resolveTtsConfig, Mt as runWithModelFallback, N as agentCommandFromIngress, Nr as resolveTtsPrefsPath, O as readJsonBodyWithLimit, On as normalizeGroupActivation, Or as isTtsEnabled, Ot as resolveOutboundChannelPlugin, Pr as resolveTtsProviderOrder, Pt as GrcClient, Qr as stripHeartbeatToken, Qt as buildDeliveryFromLegacyPayload, R as createDefaultDeps, Rr as OPENAI_TTS_MODELS, Sn as markGatewaySigusr1RestartHandled, T as resolveAgentOutboundIdentity, Tn as setPreRestartDeferralCheck, Ur as markGatewayDraining, Ut as normalizeCronJobCreate, Vt as writeRestartSentinel, W as createReplyPrefixOptions, Wn as enqueueSystemEvent, Wr as resetAllLanes, Wt as normalizeCronJobPatch, Xt as normalizeRequiredName, Yt as normalizePayloadToSystemText, Zt as migrateLegacyCronPayload, _ as getPluginToolMeta, _n as buildOutboundSessionContext, _t as readLatestAssistantReply, an as getHookType, ar as extractImageContentFromSource, at as dispatchInboundMessage, b as loadWinClawPlugins, bn as emitGatewayRestart, br as resolveAgentIdentity, bt as ensureOutboundSessionEntry, c as runSubagentAnnounceFlow, cn as persistBrowserProxyFiles, d as abortEmbeddedPiRun, dr as resolveSendPolicy, ei as emitAgentEvent, en as stripLegacyDeliveryFields, er as DEFAULT_INPUT_IMAGE_MAX_BYTES, f as getActiveEmbeddedRunCount, ft as resolveCronStyleNow, gn as parseVerboseOverride, gt as createWinClawTools, h as buildDefaultToolPolicyPipelineSteps, hn as applyVerboseOverride, hr as stopSubagentsForRequester, ht as runCliAgent, i as initSubagentRegistry, in as detectSuspiciousPatterns, ir as extractFileContentFromSource, jr as resolveTtsAutoMode, k as requestBodyErrorToText, kr as isTtsProviderConfigured, l as clearSessionQueues, ln as resolveSessionAuthProfileOverride, lr as resolveAgentTimeoutMs, m as applyToolPolicyPipeline, mn as applyModelOverrideToSessionEntry, mr as isAbortRequestText, mt as setCliSessionId, ni as onAgentEvent, nr as DEFAULT_INPUT_MAX_REDIRECTS, o as listDescendantRunsForRequester, on as isExternalHookSession, or as normalizeMimeList, ot as createReplyDispatcher, p as waitForEmbeddedPiRunEnd, pt as getCliSessionId, qr as CommandLane, qt as normalizeOptionalSessionKey, ri as registerAgentRunContext, rn as buildSafeExternalPrompt, rr as DEFAULT_INPUT_TIMEOUT_MS, sn as applyBrowserProxyPaths, sr as resolveInputFileLimits, st as getTotalPendingReplies, t as countActiveDescendantRuns, ti as getAgentRunContext, tr as DEFAULT_INPUT_IMAGE_MIMES, u as runEmbeddedPiAgent, ur as normalizeSendPolicy, ut as buildBareSessionResetPrompt, v as resolvePluginTools, vn as consumeGatewaySigusr1RestartAuthorization, vr as getAcpSessionManager, vt as resolveAnnounceTargetFromKey, wn as setGatewaySigusr1RestartPolicy, wr as resolveUserTimezone, x as createPluginRuntime, xn as isGatewaySigusr1RestartExternallyAllowed, xt as resolveOutboundSessionRoute, yn as deferGatewayRestartUntilIdle, yr as resolveAgentSessionDirs, z as createOutboundSendDeps$1, zr as OPENAI_TTS_VOICES, zt as summarizeRestartSentinel } from "./subagent-registry-iD-ynHA9.js";
30
+ import "./accounts-BpS-Awr5.js";
31
+ import "./send-CM55Cnqy.js";
32
+ import "./send-CFsJh6px.js";
33
+ import { $n as ACP_SESSION_IDENTITY_RENDERER_VERSION, $r as clearAgentRunContext, $t as hasLegacyDeliveryHints, An as loadProviderUsageSummary, Ar as resolveTtsApiKey, At as resetDirectoryCache, B as resolveAgentAvatar, Br as getActiveTaskCount, Cn as scheduleGatewaySigusr1Restart, D as handleSlackHttpRequest, Dn as unbindThreadBindingsBySessionKey, Dr as getTtsProvider, Dt as resolveSessionDeliveryTarget, En as triggerWinClawRestart, Er as clearBootstrapSnapshot, Et as resolveOutboundTarget, F as resolveAgentDeliveryPlan, Fr as setTtsEnabled, Ft as consumeRestartSentinel, Gn as isSystemEventContextChanged, Gr as setCommandLaneConcurrency, Gt as inferLegacyName, Hr as getTotalQueueSize, Ht as normalizeHttpWebhookUrl, I as resolveAgentOutboundTarget, In as resolveBootstrapWarningSignaturesSeen, Ir as setTtsProvider, It as formatDoctorNonInteractiveHint, J as buildHistoryContextFromEntries, Jn as requestHeartbeatNow, Jr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, Jt as normalizeOptionalText, Kr as waitForActiveTasks, Kt as normalizeOptionalAgentId, L as createOutboundSendDeps, Ln as formatZonedTimestamp, Lr as textToSpeech, Lt as formatRestartSentinelMessage, Mr as resolveTtsConfig, Mt as runWithModelFallback, N as agentCommandFromIngress, Nr as resolveTtsPrefsPath, O as readJsonBodyWithLimit, On as normalizeGroupActivation, Or as isTtsEnabled, Ot as resolveOutboundChannelPlugin, Pr as resolveTtsProviderOrder, Pt as GrcClient, Qr as stripHeartbeatToken, Qt as buildDeliveryFromLegacyPayload, R as createDefaultDeps, Rr as OPENAI_TTS_MODELS, Sn as markGatewaySigusr1RestartHandled, T as resolveAgentOutboundIdentity, Tn as setPreRestartDeferralCheck, Ur as markGatewayDraining, Ut as normalizeCronJobCreate, Vt as writeRestartSentinel, W as createReplyPrefixOptions, Wn as enqueueSystemEvent, Wr as resetAllLanes, Wt as normalizeCronJobPatch, Xt as normalizeRequiredName, Yt as normalizePayloadToSystemText, Zt as migrateLegacyCronPayload, _ as getPluginToolMeta, _n as buildOutboundSessionContext, _t as readLatestAssistantReply, an as getHookType, ar as extractImageContentFromSource, at as dispatchInboundMessage, b as loadWinClawPlugins, bn as emitGatewayRestart, br as resolveAgentIdentity, bt as ensureOutboundSessionEntry, c as runSubagentAnnounceFlow, cn as persistBrowserProxyFiles, d as abortEmbeddedPiRun, dr as resolveSendPolicy, ei as emitAgentEvent, en as stripLegacyDeliveryFields, er as DEFAULT_INPUT_IMAGE_MAX_BYTES, f as getActiveEmbeddedRunCount, ft as resolveCronStyleNow, gn as parseVerboseOverride, gt as createWinClawTools, h as buildDefaultToolPolicyPipelineSteps, hn as applyVerboseOverride, hr as stopSubagentsForRequester, ht as runCliAgent, i as initSubagentRegistry, in as detectSuspiciousPatterns, ir as extractFileContentFromSource, jr as resolveTtsAutoMode, k as requestBodyErrorToText, kr as isTtsProviderConfigured, l as clearSessionQueues, ln as resolveSessionAuthProfileOverride, lr as resolveAgentTimeoutMs, m as applyToolPolicyPipeline, mn as applyModelOverrideToSessionEntry, mr as isAbortRequestText, mt as setCliSessionId, ni as onAgentEvent, nr as DEFAULT_INPUT_MAX_REDIRECTS, o as listDescendantRunsForRequester, on as isExternalHookSession, or as normalizeMimeList, ot as createReplyDispatcher, p as waitForEmbeddedPiRunEnd, pt as getCliSessionId, qr as CommandLane, qt as normalizeOptionalSessionKey, ri as registerAgentRunContext, rn as buildSafeExternalPrompt, rr as DEFAULT_INPUT_TIMEOUT_MS, sn as applyBrowserProxyPaths, sr as resolveInputFileLimits, st as getTotalPendingReplies, t as countActiveDescendantRuns, ti as getAgentRunContext, tr as DEFAULT_INPUT_IMAGE_MIMES, u as runEmbeddedPiAgent, ur as normalizeSendPolicy, ut as buildBareSessionResetPrompt, v as resolvePluginTools, vn as consumeGatewaySigusr1RestartAuthorization, vr as getAcpSessionManager, vt as resolveAnnounceTargetFromKey, wn as setGatewaySigusr1RestartPolicy, wr as resolveUserTimezone, x as createPluginRuntime, xn as isGatewaySigusr1RestartExternallyAllowed, xt as resolveOutboundSessionRoute, yn as deferGatewayRestartUntilIdle, yr as resolveAgentSessionDirs, z as createOutboundSendDeps$1, zr as OPENAI_TTS_VOICES, zt as summarizeRestartSentinel } from "./subagent-registry-DPqc72Pw.js";
34
34
  import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, s as resolveSessionTranscriptsDirForAgent } from "./paths-ByCv35uy.js";
35
35
  import { i as normalizeInputProvenance } from "./input-provenance-CVQcfcqs.js";
36
36
  import "./chat-envelope-DDCB7eZC.js";
37
- import { n as readJsonFile, r as writeJsonAtomic, t as createAsyncLock } from "./json-files-kWpauJWO.js";
38
- import { $ as validateNodePairRejectParams, $t as roleScopesAllow, A as validateCronStatusParams, At as validateWizardStartParams, B as validateExecApprovalsGetParams, C as validateConfigSetParams, Ct as validateToolsCatalogParams, D as validateCronRemoveParams, Dt as validateWebLoginWaitParams, E as validateCronListParams, Et as validateWebLoginStartParams, F as validateDevicePairRemoveParams, G as validateModelsListParams, Gt as rejectDevicePairing, H as validateExecApprovalsNodeSetParams, Ht as ensureDeviceToken, I as validateDeviceTokenRevokeParams, It as parseSessionLabel, J as validateNodeInvokeParams, Jt as revokeDeviceToken, K as validateNodeDescribeParams, Kt as removePairedDevice, L as validateDeviceTokenRotateParams, Lt as buildDeviceAuthPayload, M as validateDevicePairApproveParams, Mt as PROTOCOL_VERSION, N as validateDevicePairListParams, Nt as ErrorCodes, O as validateCronRunParams, Ot as validateWizardCancelParams, P as validateDevicePairRejectParams, Pt as errorShape, Q as validateNodePairListParams, Qt as verifyDeviceToken, R as validateExecApprovalRequestParams, Rt as buildDeviceAuthPayloadV3, S as validateConfigSchemaParams, St as validateTalkModeParams, T as validateCronAddParams, Tt as validateWakeParams, U as validateExecApprovalsSetParams, Ut as getPairedDevice, V as validateExecApprovalsNodeGetParams, Vt as approveDevicePairing, W as validateLogsTailParams, Wt as listDevicePairing, X as validateNodeListParams, Xt as summarizeDeviceTokens, Y as validateNodeInvokeResultParams, Yt as rotateDeviceToken, Z as validateNodePairApproveParams, Zt as updatePairedDeviceMetadata, _ as validateChatInjectParams, _t as validateSkillsBinsParams, a as validateAgentWaitParams, at as validateRequestFrame, b as validateConfigGetParams, bt as validateSkillsUpdateParams, c as validateAgentsFilesGetParams, ct as validateSendParams, d as validateAgentsListParams, dt as validateSessionsListParams, et as validateNodePairRequestParams, f as validateAgentsUpdateParams, ft as validateSessionsPatchParams, g as validateChatHistoryParams, gt as validateSessionsUsageParams, h as validateChatAbortParams, ht as validateSessionsResolveParams, i as validateAgentParams, in as verifyDeviceSignature, it as validatePushTestParams, j as validateCronUpdateParams, jt as validateWizardStatusParams, k as validateCronRunsParams, kt as validateWizardNextParams, l as validateAgentsFilesListParams, lt as validateSessionsCompactParams, m as validateChannelsStatusParams, mt as validateSessionsResetParams, n as formatValidationErrors, nn as loadOrCreateDeviceIdentity, nt as validateNodeRenameParams, o as validateAgentsCreateParams, ot as validateSecretsResolveParams, p as validateChannelsLogoutParams, pt as validateSessionsPreviewParams, q as validateNodeEventParams, qt as requestDevicePairing, r as validateAgentIdentityParams, rn as normalizeDevicePublicKeyBase64Url, rt as validatePollParams, s as validateAgentsDeleteParams, st as validateSecretsResolveResult, tn as deriveDeviceIdFromPublicKey, tt as validateNodePairVerifyParams, u as validateAgentsFilesSetParams, ut as validateSessionsDeleteParams, v as validateChatSendParams, vt as validateSkillsInstallParams, w as validateConnectParams, wt as validateUpdateRunParams, x as validateConfigPatchParams, xt as validateTalkConfigParams, y as validateConfigApplyParams, yt as validateSkillsStatusParams, z as validateExecApprovalResolveParams, zt as normalizeDeviceMetadataForAuth } from "./client-DCxDsURZ.js";
39
- import { c as ADMIN_SCOPE$3, d as isNodeRoleMethod, n as callGateway, p as loadGatewayTlsRuntime$1, u as authorizeOperatorScopesForMethod } from "./call-BLyRfBMl.js";
37
+ import { n as readJsonFile, r as writeJsonAtomic, t as createAsyncLock } from "./json-files-D9ZHO8Ud.js";
38
+ import { $ as validateNodePairRejectParams, $t as roleScopesAllow, A as validateCronStatusParams, At as validateWizardStartParams, B as validateExecApprovalsGetParams, C as validateConfigSetParams, Ct as validateToolsCatalogParams, D as validateCronRemoveParams, Dt as validateWebLoginWaitParams, E as validateCronListParams, Et as validateWebLoginStartParams, F as validateDevicePairRemoveParams, G as validateModelsListParams, Gt as rejectDevicePairing, H as validateExecApprovalsNodeSetParams, Ht as ensureDeviceToken, I as validateDeviceTokenRevokeParams, It as parseSessionLabel, J as validateNodeInvokeParams, Jt as revokeDeviceToken, K as validateNodeDescribeParams, Kt as removePairedDevice, L as validateDeviceTokenRotateParams, Lt as buildDeviceAuthPayload, M as validateDevicePairApproveParams, Mt as PROTOCOL_VERSION, N as validateDevicePairListParams, Nt as ErrorCodes, O as validateCronRunParams, Ot as validateWizardCancelParams, P as validateDevicePairRejectParams, Pt as errorShape, Q as validateNodePairListParams, Qt as verifyDeviceToken, R as validateExecApprovalRequestParams, Rt as buildDeviceAuthPayloadV3, S as validateConfigSchemaParams, St as validateTalkModeParams, T as validateCronAddParams, Tt as validateWakeParams, U as validateExecApprovalsSetParams, Ut as getPairedDevice, V as validateExecApprovalsNodeGetParams, Vt as approveDevicePairing, W as validateLogsTailParams, Wt as listDevicePairing, X as validateNodeListParams, Xt as summarizeDeviceTokens, Y as validateNodeInvokeResultParams, Yt as rotateDeviceToken, Z as validateNodePairApproveParams, Zt as updatePairedDeviceMetadata, _ as validateChatInjectParams, _t as validateSkillsBinsParams, a as validateAgentWaitParams, at as validateRequestFrame, b as validateConfigGetParams, bt as validateSkillsUpdateParams, c as validateAgentsFilesGetParams, ct as validateSendParams, d as validateAgentsListParams, dt as validateSessionsListParams, et as validateNodePairRequestParams, f as validateAgentsUpdateParams, ft as validateSessionsPatchParams, g as validateChatHistoryParams, gt as validateSessionsUsageParams, h as validateChatAbortParams, ht as validateSessionsResolveParams, i as validateAgentParams, in as verifyDeviceSignature, it as validatePushTestParams, j as validateCronUpdateParams, jt as validateWizardStatusParams, k as validateCronRunsParams, kt as validateWizardNextParams, l as validateAgentsFilesListParams, lt as validateSessionsCompactParams, m as validateChannelsStatusParams, mt as validateSessionsResetParams, n as formatValidationErrors, nn as loadOrCreateDeviceIdentity, nt as validateNodeRenameParams, o as validateAgentsCreateParams, ot as validateSecretsResolveParams, p as validateChannelsLogoutParams, pt as validateSessionsPreviewParams, q as validateNodeEventParams, qt as requestDevicePairing, r as validateAgentIdentityParams, rn as normalizeDevicePublicKeyBase64Url, rt as validatePollParams, s as validateAgentsDeleteParams, st as validateSecretsResolveResult, tn as deriveDeviceIdFromPublicKey, tt as validateNodePairVerifyParams, u as validateAgentsFilesSetParams, ut as validateSessionsDeleteParams, v as validateChatSendParams, vt as validateSkillsInstallParams, w as validateConnectParams, wt as validateUpdateRunParams, x as validateConfigPatchParams, xt as validateTalkConfigParams, y as validateConfigApplyParams, yt as validateSkillsStatusParams, z as validateExecApprovalResolveParams, zt as normalizeDeviceMetadataForAuth } from "./client-jNFqrgw6.js";
39
+ import { c as ADMIN_SCOPE$3, d as isNodeRoleMethod, n as callGateway, p as loadGatewayTlsRuntime$1, u as authorizeOperatorScopesForMethod } from "./call-DEKH5GO9.js";
40
40
  import "./pairing-token-CyhEb6Je.js";
41
41
  import { t as safeEqualSecret } from "./secret-equal-DyYamV7h.js";
42
- import { a as isTrustedProxyAddress, c as pickPrimaryLanIPv4, d as resolveGatewayListenHosts, f as rawDataToString, l as resolveClientIp, n as isLoopbackAddress, o as isValidIPv4, r as isLoopbackHost, s as normalizeHostHeader, t as isLocalishHost, u as resolveGatewayBindHost } from "./net-DQYHvbkN.js";
43
- import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-yScEfa2T.js";
42
+ import { a as isTrustedProxyAddress, c as pickPrimaryLanIPv4, d as resolveGatewayListenHosts, f as rawDataToString, l as resolveClientIp, n as isLoopbackAddress, o as isValidIPv4, r as isLoopbackHost, s as normalizeHostHeader, t as isLocalishHost, u as resolveGatewayBindHost } from "./net-C7TXXUto.js";
43
+ import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-C4yxhmDk.js";
44
44
  import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-30uTrUKf.js";
45
- import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext } from "./with-timeout-Cng0KnPd.js";
46
- import { j as runGlobalGatewayStopSafely, k as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-BX-UVg7x.js";
47
- import { c as detectMime } from "./image-ops-eFMqXMDE.js";
48
- import { b as resolveCronStorePath, x as saveCronStore, y as loadCronStore } from "./send-Bz5LPBFx.js";
49
- import "./pi-embedded-helpers-BWpzwT6B.js";
50
- import { C as resolveToolProfilePolicy, _ as collectExplicitAllowlist, y as mergeAlsoAllowPolicy } from "./sandbox-D19lOCVP.js";
45
+ import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext } from "./with-timeout-DJb5ULbL.js";
46
+ import { j as runGlobalGatewayStopSafely, k as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-CqiBzHnh.js";
47
+ import { c as detectMime } from "./image-ops-DWGnyTvC.js";
48
+ import { b as resolveCronStorePath, x as saveCronStore, y as loadCronStore } from "./send-D7wKzeqg.js";
49
+ import "./pi-embedded-helpers-Be8qWeKb.js";
50
+ import { C as resolveToolProfilePolicy, _ as collectExplicitAllowlist, y as mergeAlsoAllowPolicy } from "./sandbox-CDjV0Crv.js";
51
51
  import { i as listCoreToolSections, n as PROFILE_OPTIONS, o as resolveCoreToolProfiles } from "./tool-catalog-DN2kDDZk.js";
52
- import "./chrome-RAfAR4xV.js";
52
+ import "./chrome-BDFA9lPV.js";
53
53
  import { i as enableTailscaleServe, n as disableTailscaleServe, o as getTailnetHostname, r as enableTailscaleFunnel, t as disableTailscaleFunnel } from "./tailscale-CB_lUnsU.js";
54
- 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-CU4HqNch.js";
55
- import { l as ensureGatewayStartupAuth, u as mergeGatewayTailscaleConfig } from "./server-context-FT_S05Zu.js";
56
- import "./paths-C5mR1YC-.js";
54
+ 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-Ahj-1B5R.js";
55
+ import { l as ensureGatewayStartupAuth, u as mergeGatewayTailscaleConfig } from "./server-context-DdGwcBos.js";
56
+ import "./paths-BVQ0udwc.js";
57
57
  import { a as testRegexWithBoundedInput, i as compileSafeRegex } from "./redact-D1OBirZT.js";
58
58
  import { o as isErrno, r as formatErrorMessage } from "./errors-Dt_4okVn.js";
59
- import { i as openFileWithinRoot, l as writeFileWithinRoot, s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-Dha0DfFC.js";
60
- import { n as SsrFBlockedError } from "./proxy-env-B7GwrH5p.js";
61
- import "./store-LSg8jeyh.js";
62
- import { n as inspectPortUsage, o as formatPortDiagnostics, t as ensurePortAvailable } from "./ports-CfOim1GC.js";
59
+ import { i as openFileWithinRoot, l as writeFileWithinRoot, s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-B8J4dv27.js";
60
+ import { n as SsrFBlockedError } from "./proxy-env-Bx8OhutV.js";
61
+ import "./store-Dgl-neCe.js";
62
+ import { n as inspectPortUsage, o as formatPortDiagnostics, t as ensurePortAvailable } from "./ports-DqZBwUsy.js";
63
63
  import { t as movePathToTrash } from "./trash-D9VuTy5D.js";
64
- import "./server-middleware-BPI-0Duw.js";
65
- import "./tool-images-Cp3hNFNZ.js";
64
+ import "./server-middleware-Dqzu_N47.js";
65
+ import "./tool-images-DbchBdq5.js";
66
66
  import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels } from "./thinking-BxCyPtl0.js";
67
- import "./models-config-DYJ-p9kt.js";
68
- import "./exec-approvals-allowlist-B5ZdMbz6.js";
69
- import "./exec-safe-bin-runtime-policy-CB8atBLm.js";
70
- import { n as loadModelCatalog } from "./model-catalog-08ftNXDk.js";
71
- import "./fetch-CdvuNDFE.js";
72
- import { g as registerUnhandledRejectionHandler } from "./audio-transcription-runner-DGZYB2Wq.js";
73
- import { t as fetchWithSsrFGuard } from "./fetch-guard-D-W6TRJN.js";
74
- import { b as extractTextFromChatContent } from "./image-EjGWXbei.js";
67
+ import "./models-config-CJq2ywhf.js";
68
+ import "./exec-approvals-allowlist-BkdJCc3F.js";
69
+ import "./exec-safe-bin-runtime-policy-C5pAgyiz.js";
70
+ import { n as loadModelCatalog } from "./model-catalog-BYxSwIkt.js";
71
+ import "./fetch-BwrGQrFL.js";
72
+ import { g as registerUnhandledRejectionHandler } from "./audio-transcription-runner-nnwJufig.js";
73
+ import { t as fetchWithSsrFGuard } from "./fetch-guard-CHht1LfT.js";
74
+ import { b as extractTextFromChatContent } from "./image-Dpt9TurJ.js";
75
75
  import "./tool-display-DRwMjyJE.js";
76
- import "./api-key-rotation-D_JdsLIl.js";
76
+ import "./api-key-rotation-C9ywPLG3.js";
77
77
  import "./proxy-fetch-BqEHARvZ.js";
78
- import "./ir-CJPPU4LU.js";
78
+ import "./ir-B-FffSKU.js";
79
79
  import "./render-DrBfVs0u.js";
80
- import { a as ToolInputError } from "./target-errors-HJQQHC3B.js";
81
- import { r as isRestartEnabled } from "./commands-4mnxaSoA.js";
82
- import "./commands-registry-h5KiQe_S.js";
80
+ import { a as ToolInputError } from "./target-errors-Bd8kj4z9.js";
81
+ import { r as isRestartEnabled } from "./commands-DmBkhPD-.js";
82
+ import "./commands-registry-BB289Bg8.js";
83
83
  import "./fetch-D7LmzGoN.js";
84
- import { a as readChannelAllowFromStoreSync } from "./pairing-store-Kslw_Wa0.js";
84
+ import { a as readChannelAllowFromStoreSync } from "./pairing-store-CI0hWzZk.js";
85
85
  import { a as mergeExecApprovalsSocketDefaults, c as readExecApprovalsSnapshot, p as saveExecApprovals, r as ensureExecApprovals, s as normalizeExecApprovals, t as DEFAULT_EXEC_APPROVAL_TIMEOUT_MS } from "./exec-approvals-DJQZoZxK.js";
86
- import { _ as matchSystemRunApprovalBinding, g as buildSystemRunApprovalBinding, h as resolveSystemRunApprovalRuntimeContext, m as resolveSystemRunApprovalRequestContext, v as missingSystemRunApprovalBinding, y as toSystemRunApprovalMismatchError } from "./nodes-screen-CL-8raxt.js";
87
- import { n as resolveSystemRunCommand } from "./system-run-command-Ft0meR8i.js";
88
- import { a as loadCombinedSessionStoreForGateway, c as resolveGatewaySessionStoreTarget, f as computeBackoff, i as listSessionsFromStore, l as resolveSessionModelRef, o as loadSessionEntry, p as sleepWithAbort, r as listAgentsForGateway, s as pruneLegacyStoreKeys, t as canonicalizeSpawnedByForAgent, u as lookupContextTokens } from "./session-utils-CTpXGSxL.js";
86
+ import { _ as matchSystemRunApprovalBinding, g as buildSystemRunApprovalBinding, h as resolveSystemRunApprovalRuntimeContext, m as resolveSystemRunApprovalRequestContext, v as missingSystemRunApprovalBinding, y as toSystemRunApprovalMismatchError } from "./nodes-screen-B6QVlwKO.js";
87
+ import { n as resolveSystemRunCommand } from "./system-run-command-CUMrwy8H.js";
88
+ import { a as loadCombinedSessionStoreForGateway, c as resolveGatewaySessionStoreTarget, f as computeBackoff, i as listSessionsFromStore, l as resolveSessionModelRef, o as loadSessionEntry, p as sleepWithAbort, r as listAgentsForGateway, s as pruneLegacyStoreKeys, t as canonicalizeSpawnedByForAgent, u as lookupContextTokens } from "./session-utils-DqzU9P2d.js";
89
89
  import { c as hasNonzeroUsage, i as loadSessionUsageTimeSeries, n as loadCostUsageSummary, r as loadSessionCostSummary, s as deriveSessionTotalTokens, t as discoverAllSessions } from "./session-cost-usage-Bv0xEXGE.js";
90
90
  import { n as formatTokenCount, r as formatUsd } from "./usage-format-rxT5cEAf.js";
91
- import { _ as updatePairedNodeMetadata, a as getRemoteSkillEligibility, b as getSkillsSnapshotVersion, c as refreshRemoteBinsForConnectedNodes, d as setSkillsRemoteRegistry, f as approveNodePairing, g as requestNodePairing, h as renamePairedNode, l as refreshRemoteNodeBins, m as rejectNodePairing, o as primeRemoteSkillsCache, p as listNodePairing, s as recordRemoteNodeInfo, u as removeRemoteNodeInfo, v as verifyNodeToken, x as registerSkillsChangeListener } from "./skill-commands-CzaT61kL.js";
92
- import { t as listAgentWorkspaceDirs } from "./workspace-dirs-C13vnqQQ.js";
93
- import { t as getChannelActivity } from "./channel-activity-CPWF8YR5.js";
91
+ import { _ as updatePairedNodeMetadata, a as getRemoteSkillEligibility, b as getSkillsSnapshotVersion, c as refreshRemoteBinsForConnectedNodes, d as setSkillsRemoteRegistry, f as approveNodePairing, g as requestNodePairing, h as renamePairedNode, l as refreshRemoteNodeBins, m as rejectNodePairing, o as primeRemoteSkillsCache, p as listNodePairing, s as recordRemoteNodeInfo, u as removeRemoteNodeInfo, v as verifyNodeToken, x as registerSkillsChangeListener } from "./skill-commands-BlmjGaIe.js";
92
+ import { t as listAgentWorkspaceDirs } from "./workspace-dirs-C5erYAob.js";
93
+ import { t as getChannelActivity } from "./channel-activity-D03SwGPA.js";
94
94
  import { n as normalizePollInput } from "./polls-DKYugoIe.js";
95
- import "./tables-B6p8P9wY.js";
96
- import "./server-lifecycle-YV61YmRr.js";
95
+ import "./tables-Bjpb4vEC.js";
96
+ import "./server-lifecycle-TD7uRUJM.js";
97
97
  import { i as parseAbsoluteTimeMs, n as resolveCronStaggerMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-CT5G1TCV.js";
98
- import { n as resolveMessageChannelSelection } from "./channel-selection-5G2iw3CB.js";
99
- import { i as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-DnSZLbIH.js";
100
- import "./send-CEgqE2b1.js";
101
- import "./outbound-attachment-CEC4H3tX.js";
98
+ import { n as resolveMessageChannelSelection } from "./channel-selection-Bke39fer.js";
99
+ import { i as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-Crpu18wt.js";
100
+ import "./send-DUJqLDEQ.js";
101
+ import "./outbound-attachment-CjhkSZBR.js";
102
102
  import "./delivery-queue-D978kc-o.js";
103
- import "./send-DR5zNR-6.js";
104
- import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-BqpmC_c4.js";
103
+ import "./send-BTQQeOIu.js";
104
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-DGbCC2Ji.js";
105
105
  import "./proxy-DY77z1xN.js";
106
- import { f as isKnownSecretTargetId, n as GATEWAY_AUTH_SURFACE_PATHS, r as evaluateGatewayAuthSurfaceStates } from "./runtime-config-collectors-Ca2llf68.js";
107
- import "./command-secret-targets-BfqkoJyp.js";
108
- import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-7lOdCHhD.js";
106
+ import { f as isKnownSecretTargetId, n as GATEWAY_AUTH_SURFACE_PATHS, r as evaluateGatewayAuthSurfaceStates } from "./runtime-config-collectors-vw9ITu9W.js";
107
+ import "./command-secret-targets-Dd4qCPSg.js";
108
+ import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-Djj9SkyR.js";
109
109
  import "./prompt-style-ezqCM_Sr.js";
110
- import "./pairing-labels-e3Pnen1C.js";
111
- import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-C2Yq9ryD.js";
112
- import { r as resolveMemorySearchConfig } from "./manager-f6tniCBN.js";
113
- import "./query-expansion-Cja4xprw.js";
110
+ import "./pairing-labels-Ev8O2qBX.js";
111
+ import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-BgZK6A-T.js";
112
+ import { r as resolveMemorySearchConfig } from "./manager-2Wice7pq.js";
113
+ import "./query-expansion-IQFdQdeu.js";
114
114
  import { t as formatDocsLink } from "./links-Bcv6_maG.js";
115
115
  import { n as runCommandWithRuntime } from "./cli-utils-BlpNlYVq.js";
116
116
  import { t as formatHelpExamples } from "./help-format-DqamOwoM.js";
@@ -121,45 +121,45 @@ import { n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./dangerous-tools-B9LIt3MU.
121
121
  import { n as inheritOptionFromParent } from "./command-options-ZvhOayEd.js";
122
122
  import { t as WizardCancelledError } from "./prompts-DomsZukd.js";
123
123
  import { t as resolveChannelDefaultAccountId } from "./helpers-dV2m_On0.js";
124
- import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-BkgsJJng.js";
125
- import { t as isWithinDir } from "./path-safety-Cq9rwfZN.js";
126
- import "./install-safe-path-DNotGe9T.js";
127
- import "./skill-scanner-DqqhF5of.js";
128
- import { n as formatConfigIssueLines } from "./issue-format-DCF2SXK_.js";
124
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-6n_jmCMa.js";
125
+ import { t as isWithinDir } from "./path-safety-CSCsbd-j.js";
126
+ import "./install-safe-path-FR9r9Dmi.js";
127
+ import "./skill-scanner-DOOfjrYo.js";
128
+ import { n as formatConfigIssueLines } from "./issue-format-NmLUfbBT.js";
129
129
  import { t as buildChannelAccountSnapshot } from "./status-DaSGMHlt.js";
130
- import "./channels-status-issues-DpfEWI4l.js";
131
- import { a as buildBaseHints, i as applySensitiveHints, n as redactConfigSnapshot, o as mapSensitivePaths, r as restoreRedactedValues, s as applyDerivedTags, t as redactConfigObject } from "./redact-snapshot-YrAxVxTI.js";
132
- import "./daemon-install-helpers-D1YQ03lO.js";
130
+ import "./channels-status-issues-wCgCdUDu.js";
131
+ import { a as buildBaseHints, i as applySensitiveHints, n as redactConfigSnapshot, o as mapSensitivePaths, r as restoreRedactedValues, s as applyDerivedTags, t as redactConfigObject } from "./redact-snapshot-Bfefch_D.js";
132
+ import "./daemon-install-helpers-DWmF3oFP.js";
133
133
  import "./runtime-guard-H-DjZ1G4.js";
134
- import "./systemd-CVY4-XuL.js";
135
- import "./service-Aratsspm.js";
136
- import "./lifecycle-core-BLhI5nRz.js";
137
- import "./systemd-hints-GPX9Y1X7.js";
134
+ import "./systemd-BNMfPHLS.js";
135
+ import "./service-B45ntxm9.js";
136
+ import "./lifecycle-core-Di83_FGS.js";
137
+ import "./systemd-hints-O9SJa5Ku.js";
138
138
  import { t as parsePort$1 } from "./parse-port-CzTewNTY.js";
139
- import { n as addGatewayServiceCommands } from "./daemon-cli-CqwUFobu.js";
140
- import { t as probeGateway } from "./probe-D3f6QMfy.js";
141
- import "./diagnostics-KfpqzhsS.js";
139
+ import { n as addGatewayServiceCommands } from "./daemon-cli-BE11O7QX.js";
140
+ import { t as probeGateway } from "./probe-CHRXpP2F.js";
141
+ import "./diagnostics-BDjbQJxP.js";
142
142
  import "./table-BaxY_3r9.js";
143
143
  import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-CkVHlwIZ.js";
144
- import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-Cj-SPh02.js";
145
- import { t as discoverGatewayBeacons } from "./bonjour-discovery-BxCVyJLG.js";
146
- import { i as pickGatewaySelfPresence, r as getStatusSummary } from "./status-B5hylgEQ.js";
147
- import { a as styleHealthChannelLine, c as setHeartbeatsEnabled, d as cacheTaskEvent, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines, u as isCronSystemEvent } from "./health-C5a0wlfE.js";
148
- import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-B0DdamQU.js";
149
- import { c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-B4ofKr9t.js";
150
- import { t as runGatewayUpdate } from "./update-runner-BpzbDTnQ.js";
151
- import { a as resolveCommandSecretsFromActiveRuntimeSnapshot, i as prepareSecretsRuntimeSnapshot, n as clearSecretsRuntimeSnapshot, r as getActiveSecretsRuntimeSnapshot, t as activateSecretsRuntimeSnapshot } from "./runtime-4RU4PT-H.js";
152
- import "./onboarding.secret-input-D5VKqHdN.js";
153
- import { t as runOnboardingWizard } from "./onboarding-CoH1hPY0.js";
154
- 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-BEZdCQsM.js";
144
+ import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-CpqkgNHp.js";
145
+ import { t as discoverGatewayBeacons } from "./bonjour-discovery-BVSpbdjs.js";
146
+ import { i as pickGatewaySelfPresence, r as getStatusSummary } from "./status-DPFQHdBI.js";
147
+ import { a as styleHealthChannelLine, c as setHeartbeatsEnabled, d as cacheTaskEvent, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines, u as isCronSystemEvent } from "./health-Boe965-L.js";
148
+ import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-5F0FEjfM.js";
149
+ import { c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-D4Yftz20.js";
150
+ import { t as runGatewayUpdate } from "./update-runner-BkpGT3AA.js";
151
+ import { a as resolveCommandSecretsFromActiveRuntimeSnapshot, i as prepareSecretsRuntimeSnapshot, n as clearSecretsRuntimeSnapshot, r as getActiveSecretsRuntimeSnapshot, t as activateSecretsRuntimeSnapshot } from "./runtime-C-9xWVep.js";
152
+ import "./onboarding.secret-input-Cw4uIgyl.js";
153
+ import { t as runOnboardingWizard } from "./onboarding-C_LQ6doG.js";
154
+ 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-Cdl2nskU.js";
155
155
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-DgQq2EEP.js";
156
- import { n as isNodeCommandAllowed, r as resolveNodeCommandAllowlist } from "./node-command-policy-BHdicfMO.js";
157
- import { n as collectEnabledInsecureOrDangerousFlags } from "./audit-DdcsBl_-.js";
158
- import "./node-service-CLtiUeNO.js";
159
- import "./status.update-CdaaXiD4.js";
160
- import { t as installSkill } from "./skills-install-0pjIZu1-.js";
161
- import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-vYy4qLQz.js";
162
- import { n as forceFreePortAndWait, r as waitForPortBindable } from "./ports-Dw-3Gxsb.js";
156
+ import { n as isNodeCommandAllowed, r as resolveNodeCommandAllowlist } from "./node-command-policy-DGMJi4xw.js";
157
+ import { n as collectEnabledInsecureOrDangerousFlags } from "./audit-DV_kf1sd.js";
158
+ import "./node-service-L9-L8-7x.js";
159
+ import "./status.update-ZhDibzTU.js";
160
+ import { t as installSkill } from "./skills-install-DSB3T8VY.js";
161
+ import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-Cx-f7PO5.js";
162
+ import { n as forceFreePortAndWait, r as waitForPortBindable } from "./ports-FLn4cVl7.js";
163
163
  import { execFile, spawn, spawnSync } from "node:child_process";
164
164
  import { fileURLToPath, pathToFileURL } from "node:url";
165
165
  import os from "node:os";
@@ -168,7 +168,7 @@ import * as fsSync from "node:fs";
168
168
  import fs from "node:fs";
169
169
  import chalk from "chalk";
170
170
  import { isDeepStrictEqual } from "node:util";
171
- import fsPromises from "node:fs/promises";
171
+ import fs$1 from "node:fs/promises";
172
172
  import crypto, { createHash, randomBytes, randomUUID } from "node:crypto";
173
173
  import { z } from "zod";
174
174
  import { CURRENT_SESSION_VERSION, SessionManager } from "@mariozechner/pi-coding-agent";
@@ -4242,7 +4242,7 @@ function resolveCheckIntervalMs(cfg) {
4242
4242
  }
4243
4243
  async function readState(statePath) {
4244
4244
  try {
4245
- const raw = await fsPromises.readFile(statePath, "utf-8");
4245
+ const raw = await fs$1.readFile(statePath, "utf-8");
4246
4246
  const parsed = JSON.parse(raw);
4247
4247
  return parsed && typeof parsed === "object" ? parsed : {};
4248
4248
  } catch {
@@ -4323,7 +4323,7 @@ async function runAutoUpdateCommand(params) {
4323
4323
  path.join(params.root, "dist", "index.mjs")
4324
4324
  ];
4325
4325
  for (const candidate of candidates) try {
4326
- await fsPromises.access(candidate);
4326
+ await fs$1.access(candidate);
4327
4327
  argv.push(execPath, candidate, ...baseArgs);
4328
4328
  break;
4329
4329
  } catch {}
@@ -7503,20 +7503,20 @@ async function drainPendingWrite(filePath) {
7503
7503
  if (pending) await pending.catch(() => void 0);
7504
7504
  }
7505
7505
  async function pruneIfNeeded(filePath, opts) {
7506
- const stat = await fsPromises.stat(filePath).catch(() => null);
7506
+ const stat = await fs$1.stat(filePath).catch(() => null);
7507
7507
  if (!stat || stat.size <= opts.maxBytes) return;
7508
- const lines = (await fsPromises.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
7508
+ const lines = (await fs$1.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
7509
7509
  const kept = lines.slice(Math.max(0, lines.length - opts.keepLines));
7510
7510
  const { randomBytes } = await import("node:crypto");
7511
7511
  const tmp = `${filePath}.${process.pid}.${randomBytes(8).toString("hex")}.tmp`;
7512
- await fsPromises.writeFile(tmp, `${kept.join("\n")}\n`, "utf-8");
7513
- await fsPromises.rename(tmp, filePath);
7512
+ await fs$1.writeFile(tmp, `${kept.join("\n")}\n`, "utf-8");
7513
+ await fs$1.rename(tmp, filePath);
7514
7514
  }
7515
7515
  async function appendCronRunLog(filePath, entry, opts) {
7516
7516
  const resolved = path.resolve(filePath);
7517
7517
  const next = (writesByPath.get(resolved) ?? Promise.resolve()).catch(() => void 0).then(async () => {
7518
- await fsPromises.mkdir(path.dirname(resolved), { recursive: true });
7519
- await fsPromises.appendFile(resolved, `${JSON.stringify(entry)}\n`, "utf-8");
7518
+ await fs$1.mkdir(path.dirname(resolved), { recursive: true });
7519
+ await fs$1.appendFile(resolved, `${JSON.stringify(entry)}\n`, "utf-8");
7520
7520
  await pruneIfNeeded(resolved, {
7521
7521
  maxBytes: opts?.maxBytes ?? DEFAULT_CRON_RUN_LOG_MAX_BYTES,
7522
7522
  keepLines: opts?.keepLines ?? DEFAULT_CRON_RUN_LOG_KEEP_LINES
@@ -7610,7 +7610,7 @@ function filterRunLogEntries(entries, opts) {
7610
7610
  async function readCronRunLogEntriesPage(filePath, opts) {
7611
7611
  await drainPendingWrite(filePath);
7612
7612
  const limit = Math.max(1, Math.min(200, Math.floor(opts?.limit ?? 50)));
7613
- const raw = await fsPromises.readFile(path.resolve(filePath), "utf-8").catch(() => "");
7613
+ const raw = await fs$1.readFile(path.resolve(filePath), "utf-8").catch(() => "");
7614
7614
  const statuses = normalizeRunStatuses(opts);
7615
7615
  const deliveryStatuses = normalizeDeliveryStatuses(opts);
7616
7616
  const query = opts?.query?.trim().toLowerCase() ?? "";
@@ -7646,7 +7646,7 @@ async function readCronRunLogEntriesPageAll(opts) {
7646
7646
  const query = opts.query?.trim().toLowerCase() ?? "";
7647
7647
  const sortDir = opts.sortDir === "asc" ? "asc" : "desc";
7648
7648
  const runsDir = path.resolve(path.dirname(path.resolve(opts.storePath)), "runs");
7649
- const jsonlFiles = (await fsPromises.readdir(runsDir, { withFileTypes: true }).catch(() => [])).filter((entry) => entry.isFile() && entry.name.endsWith(".jsonl")).map((entry) => path.join(runsDir, entry.name));
7649
+ const jsonlFiles = (await fs$1.readdir(runsDir, { withFileTypes: true }).catch(() => [])).filter((entry) => entry.isFile() && entry.name.endsWith(".jsonl")).map((entry) => path.join(runsDir, entry.name));
7650
7650
  if (jsonlFiles.length === 0) return {
7651
7651
  entries: [],
7652
7652
  total: 0,
@@ -7657,7 +7657,7 @@ async function readCronRunLogEntriesPageAll(opts) {
7657
7657
  };
7658
7658
  await Promise.all(jsonlFiles.map((f) => drainPendingWrite(f)));
7659
7659
  const filtered = filterRunLogEntries((await Promise.all(jsonlFiles.map(async (filePath) => {
7660
- return parseAllRunLogEntries(await fsPromises.readFile(filePath, "utf-8").catch(() => ""));
7660
+ return parseAllRunLogEntries(await fs$1.readFile(filePath, "utf-8").catch(() => ""));
7661
7661
  }))).flat(), {
7662
7662
  statuses,
7663
7663
  deliveryStatuses,
@@ -13205,7 +13205,7 @@ function resolveWorkspaceFilePathResultOrThrow(params) {
13205
13205
  }
13206
13206
  async function resolveWorkspaceRealPath(workspaceDir) {
13207
13207
  try {
13208
- return await fsPromises.realpath(workspaceDir);
13208
+ return await fs$1.realpath(workspaceDir);
13209
13209
  } catch {
13210
13210
  return path.resolve(workspaceDir);
13211
13211
  }
@@ -13234,7 +13234,7 @@ async function resolveAgentWorkspaceFilePath(params) {
13234
13234
  };
13235
13235
  let candidateLstat;
13236
13236
  try {
13237
- candidateLstat = await fsPromises.lstat(candidatePath);
13237
+ candidateLstat = await fs$1.lstat(candidatePath);
13238
13238
  } catch (err) {
13239
13239
  return resolveWorkspaceFilePathResultOrThrow({
13240
13240
  error: err,
@@ -13245,7 +13245,7 @@ async function resolveAgentWorkspaceFilePath(params) {
13245
13245
  if (candidateLstat.isSymbolicLink()) {
13246
13246
  let targetReal;
13247
13247
  try {
13248
- targetReal = await fsPromises.realpath(candidatePath);
13248
+ targetReal = await fs$1.realpath(candidatePath);
13249
13249
  } catch (err) {
13250
13250
  return resolveWorkspaceFilePathResultOrThrow({
13251
13251
  error: err,
@@ -13255,7 +13255,7 @@ async function resolveAgentWorkspaceFilePath(params) {
13255
13255
  }
13256
13256
  let targetStat;
13257
13257
  try {
13258
- targetStat = await fsPromises.stat(targetReal);
13258
+ targetStat = await fs$1.stat(targetReal);
13259
13259
  } catch (err) {
13260
13260
  return resolveWorkspaceFilePathResultOrThrow({
13261
13261
  error: err,
@@ -13293,13 +13293,13 @@ async function resolveAgentWorkspaceFilePath(params) {
13293
13293
  return {
13294
13294
  kind: "ready",
13295
13295
  requestPath,
13296
- ioPath: await fsPromises.realpath(candidatePath).catch(() => candidatePath),
13296
+ ioPath: await fs$1.realpath(candidatePath).catch(() => candidatePath),
13297
13297
  workspaceReal
13298
13298
  };
13299
13299
  }
13300
13300
  async function statFileSafely(filePath) {
13301
13301
  try {
13302
- const [stat, lstat] = await Promise.all([fsPromises.stat(filePath), fsPromises.lstat(filePath)]);
13302
+ const [stat, lstat] = await Promise.all([fs$1.stat(filePath), fs$1.lstat(filePath)]);
13303
13303
  if (lstat.isSymbolicLink() || !stat.isFile()) return null;
13304
13304
  if (stat.nlink > 1) return null;
13305
13305
  if (!sameFileIdentity(stat, lstat)) return null;
@@ -13393,7 +13393,7 @@ function respondAgentNotFound(respond, agentId) {
13393
13393
  async function moveToTrashBestEffort(pathname) {
13394
13394
  if (!pathname) return;
13395
13395
  try {
13396
- await fsPromises.access(pathname);
13396
+ await fs$1.access(pathname);
13397
13397
  } catch {
13398
13398
  return;
13399
13399
  }
@@ -13469,7 +13469,7 @@ const agentsHandlers = {
13469
13469
  dir: workspaceDir,
13470
13470
  ensureBootstrapFiles: !Boolean(nextConfig.agents?.defaults?.skipBootstrap)
13471
13471
  });
13472
- await fsPromises.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
13472
+ await fs$1.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
13473
13473
  await writeConfigFile(nextConfig);
13474
13474
  const safeName = sanitizeIdentityLine(rawName);
13475
13475
  const emoji = resolveOptionalStringParam(params.emoji);
@@ -13482,7 +13482,7 @@ const agentsHandlers = {
13482
13482
  ...avatar ? [`- Avatar: ${sanitizeIdentityLine(avatar)}`] : [],
13483
13483
  ""
13484
13484
  ];
13485
- await fsPromises.appendFile(identityPath, lines.join("\n"), "utf-8");
13485
+ await fs$1.appendFile(identityPath, lines.join("\n"), "utf-8");
13486
13486
  respond(true, {
13487
13487
  ok: true,
13488
13488
  agentId,
@@ -13517,9 +13517,9 @@ const agentsHandlers = {
13517
13517
  });
13518
13518
  if (avatar) {
13519
13519
  const workspace = workspaceDir ?? resolveAgentWorkspaceDir(nextConfig, agentId);
13520
- await fsPromises.mkdir(workspace, { recursive: true });
13520
+ await fs$1.mkdir(workspace, { recursive: true });
13521
13521
  const identityPath = path.join(workspace, DEFAULT_IDENTITY_FILENAME);
13522
- await fsPromises.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
13522
+ await fs$1.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
13523
13523
  }
13524
13524
  respond(true, {
13525
13525
  ok: true,
@@ -13643,7 +13643,7 @@ const agentsHandlers = {
13643
13643
  const resolved = resolveAgentWorkspaceFileOrRespondError(params, respond);
13644
13644
  if (!resolved) return;
13645
13645
  const { agentId, workspaceDir, name } = resolved;
13646
- await fsPromises.mkdir(workspaceDir, { recursive: true });
13646
+ await fs$1.mkdir(workspaceDir, { recursive: true });
13647
13647
  const filePath = path.join(workspaceDir, name);
13648
13648
  const resolvedPath = await resolveWorkspaceFilePathOrRespond({
13649
13649
  respond,
@@ -15981,14 +15981,14 @@ function isRollingLogFile(file) {
15981
15981
  return ROLLING_LOG_RE.test(path.basename(file));
15982
15982
  }
15983
15983
  async function resolveLogFile(file) {
15984
- if (await fsPromises.stat(file).catch(() => null)) return file;
15984
+ if (await fs$1.stat(file).catch(() => null)) return file;
15985
15985
  if (!isRollingLogFile(file)) return file;
15986
15986
  const dir = path.dirname(file);
15987
- const entries = await fsPromises.readdir(dir, { withFileTypes: true }).catch(() => null);
15987
+ const entries = await fs$1.readdir(dir, { withFileTypes: true }).catch(() => null);
15988
15988
  if (!entries) return file;
15989
15989
  return (await Promise.all(entries.filter((entry) => entry.isFile() && ROLLING_LOG_RE.test(entry.name)).map(async (entry) => {
15990
15990
  const fullPath = path.join(dir, entry.name);
15991
- const fileStat = await fsPromises.stat(fullPath).catch(() => null);
15991
+ const fileStat = await fs$1.stat(fullPath).catch(() => null);
15992
15992
  return fileStat ? {
15993
15993
  path: fullPath,
15994
15994
  mtimeMs: fileStat.mtimeMs
@@ -15996,7 +15996,7 @@ async function resolveLogFile(file) {
15996
15996
  }))).filter((entry) => Boolean(entry)).toSorted((a, b) => b.mtimeMs - a.mtimeMs)[0]?.path ?? file;
15997
15997
  }
15998
15998
  async function readLogSlice(params) {
15999
- const stat = await fsPromises.stat(params.file).catch(() => null);
15999
+ const stat = await fs$1.stat(params.file).catch(() => null);
16000
16000
  if (!stat) return {
16001
16001
  cursor: 0,
16002
16002
  size: 0,
@@ -16034,7 +16034,7 @@ async function readLogSlice(params) {
16034
16034
  truncated,
16035
16035
  reset
16036
16036
  };
16037
- const handle = await fsPromises.open(params.file, "r");
16037
+ const handle = await fs$1.open(params.file, "r");
16038
16038
  try {
16039
16039
  let prefix = "";
16040
16040
  if (start > 0) {
@@ -17043,7 +17043,7 @@ const nodeHandlers = {
17043
17043
  const p = params;
17044
17044
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
17045
17045
  await respondUnavailableOnThrow(respond, async () => {
17046
- const { handleNodeEvent } = await import("./server-node-events-BozhXo6J.js");
17046
+ const { handleNodeEvent } = await import("./server-node-events-CstHr-4q.js");
17047
17047
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
17048
17048
  await handleNodeEvent({
17049
17049
  deps: context.deps,
@@ -20852,7 +20852,7 @@ function normalizeAgentPayload(payload) {
20852
20852
  async function startBrowserControlServerIfEnabled() {
20853
20853
  if (isTruthyEnvValue(process.env.WINCLAW_SKIP_BROWSER_CONTROL_SERVER)) return null;
20854
20854
  const override = process.env.WINCLAW_BROWSER_CONTROL_MODULE?.trim();
20855
- const mod = override ? await import(override) : await import("./server-vPpafyBR.js");
20855
+ const mod = override ? await import(override) : await import("./server-57rjxu9J.js");
20856
20856
  const start = typeof mod.startBrowserControlServiceFromConfig === "function" ? mod.startBrowserControlServiceFromConfig : mod.startBrowserControlServerFromConfig;
20857
20857
  const stop = typeof mod.stopBrowserControlService === "function" ? mod.stopBrowserControlService : mod.stopBrowserControlServer;
20858
20858
  if (!start) return null;
@@ -21080,7 +21080,7 @@ async function resolveFileWithinRoot(rootReal, urlPath) {
21080
21080
  if (normalized.endsWith("/")) return await tryOpen(path.posix.join(rel, "index.html"));
21081
21081
  const candidate = path.join(rootReal, rel);
21082
21082
  try {
21083
- const st = await fsPromises.lstat(candidate);
21083
+ const st = await fs$1.lstat(candidate);
21084
21084
  if (st.isSymbolicLink()) return null;
21085
21085
  if (st.isDirectory()) return await tryOpen(path.posix.join(rel, "index.html"));
21086
21086
  } catch {}
@@ -21117,8 +21117,8 @@ async function resolveA2uiRoot() {
21117
21117
  for (const dir of candidates) try {
21118
21118
  const indexPath = path.join(dir, "index.html");
21119
21119
  const bundlePath = path.join(dir, "a2ui.bundle.js");
21120
- await fsPromises.stat(indexPath);
21121
- await fsPromises.stat(bundlePath);
21120
+ await fs$1.stat(indexPath);
21121
+ await fs$1.stat(bundlePath);
21122
21122
  return dir;
21123
21123
  } catch {}
21124
21124
  return null;
@@ -21127,7 +21127,7 @@ async function resolveA2uiRootReal() {
21127
21127
  if (cachedA2uiRootReal !== void 0 && (cachedA2uiRootReal !== null || Date.now() - cachedA2uiResolvedAtMs < A2UI_ROOT_RETRY_NULL_AFTER_MS)) return cachedA2uiRootReal;
21128
21128
  if (!resolvingA2uiRoot) resolvingA2uiRoot = (async () => {
21129
21129
  const root = await resolveA2uiRoot();
21130
- cachedA2uiRootReal = root ? await fsPromises.realpath(root) : null;
21130
+ cachedA2uiRootReal = root ? await fs$1.realpath(root) : null;
21131
21131
  cachedA2uiResolvedAtMs = Date.now();
21132
21132
  resolvingA2uiRoot = null;
21133
21133
  return cachedA2uiRootReal;
@@ -21348,13 +21348,13 @@ function normalizeBasePath(rawPath) {
21348
21348
  }
21349
21349
  async function prepareCanvasRoot(rootDir) {
21350
21350
  await ensureDir(rootDir);
21351
- const rootReal = await fsPromises.realpath(rootDir);
21351
+ const rootReal = await fs$1.realpath(rootDir);
21352
21352
  try {
21353
21353
  const indexPath = path.join(rootReal, "index.html");
21354
- await fsPromises.stat(indexPath);
21354
+ await fs$1.stat(indexPath);
21355
21355
  } catch {
21356
21356
  try {
21357
- await fsPromises.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
21357
+ await fs$1.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
21358
21358
  } catch {}
21359
21359
  }
21360
21360
  return rootReal;
@@ -24401,7 +24401,7 @@ async function resolveGatewayOwnerStatus(pid, payload, platform, port) {
24401
24401
  }
24402
24402
  async function readLockPayload(lockPath) {
24403
24403
  try {
24404
- const raw = await fsPromises.readFile(lockPath, "utf8");
24404
+ const raw = await fs$1.readFile(lockPath, "utf8");
24405
24405
  const parsed = JSON.parse(raw);
24406
24406
  if (typeof parsed.pid !== "number") return null;
24407
24407
  if (typeof parsed.createdAt !== "string") return null;
@@ -24436,11 +24436,11 @@ async function acquireGatewayLock(opts = {}) {
24436
24436
  const platform = opts.platform ?? process.platform;
24437
24437
  const port = opts.port;
24438
24438
  const { lockPath, configPath } = resolveGatewayLockPath(env);
24439
- await fsPromises.mkdir(path.dirname(lockPath), { recursive: true });
24439
+ await fs$1.mkdir(path.dirname(lockPath), { recursive: true });
24440
24440
  const startedAt = Date.now();
24441
24441
  let lastPayload = null;
24442
24442
  while (Date.now() - startedAt < timeoutMs) try {
24443
- const handle = await fsPromises.open(lockPath, "wx");
24443
+ const handle = await fs$1.open(lockPath, "wx");
24444
24444
  const startTime = platform === "linux" ? readLinuxStartTime(process.pid) : null;
24445
24445
  const payload = {
24446
24446
  pid: process.pid,
@@ -24454,7 +24454,7 @@ async function acquireGatewayLock(opts = {}) {
24454
24454
  configPath,
24455
24455
  release: async () => {
24456
24456
  await handle.close().catch(() => void 0);
24457
- await fsPromises.rm(lockPath, { force: true });
24457
+ await fs$1.rm(lockPath, { force: true });
24458
24458
  }
24459
24459
  };
24460
24460
  } catch (err) {
@@ -24463,7 +24463,7 @@ async function acquireGatewayLock(opts = {}) {
24463
24463
  const ownerPid = lastPayload?.pid;
24464
24464
  const ownerStatus = ownerPid ? await resolveGatewayOwnerStatus(ownerPid, lastPayload, platform, port) : "unknown";
24465
24465
  if (ownerStatus === "dead" && ownerPid) {
24466
- await fsPromises.rm(lockPath, { force: true });
24466
+ await fs$1.rm(lockPath, { force: true });
24467
24467
  continue;
24468
24468
  }
24469
24469
  if (ownerStatus !== "alive") {
@@ -24473,13 +24473,13 @@ async function acquireGatewayLock(opts = {}) {
24473
24473
  stale = Number.isFinite(createdAt) ? Date.now() - createdAt > staleMs : false;
24474
24474
  }
24475
24475
  if (!stale) try {
24476
- const st = await fsPromises.stat(lockPath);
24476
+ const st = await fs$1.stat(lockPath);
24477
24477
  stale = Date.now() - st.mtimeMs > staleMs;
24478
24478
  } catch {
24479
24479
  stale = false;
24480
24480
  }
24481
24481
  if (stale) {
24482
- await fsPromises.rm(lockPath, { force: true });
24482
+ await fs$1.rm(lockPath, { force: true });
24483
24483
  continue;
24484
24484
  }
24485
24485
  }
@@ -26832,7 +26832,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
26832
26832
  if (!minimalTestGateway) cron.start().catch((err) => logCron.error(`failed to start: ${String(err)}`));
26833
26833
  if (!minimalTestGateway) (async () => {
26834
26834
  const { recoverPendingDeliveries } = await import("./delivery-queue-D978kc-o.js").then((n) => n.n);
26835
- const { deliverOutboundPayloads } = await import("./deliver-BX-UVg7x.js").then((n) => n.n);
26835
+ const { deliverOutboundPayloads } = await import("./deliver-CqiBzHnh.js").then((n) => n.n);
26836
26836
  await recoverPendingDeliveries({
26837
26837
  deliver: deliverOutboundPayloads,
26838
26838
  log: log.child("delivery-recovery"),