squidclaw 3.0.13 → 3.0.15

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 (439) hide show
  1. package/dist/{accounts-PhtBJ8mA.js → accounts-BjEXPlGc.js} +1 -1
  2. package/dist/{accounts-BsypiWiC.js → accounts-BznLC9dH.js} +2 -2
  3. package/dist/{accounts-CojLB8gu.js → accounts-Ci60lQsY.js} +17 -17
  4. package/dist/{accounts-Xp5W2xrR.js → accounts-CyBVeR-N.js} +1 -1
  5. package/dist/{accounts-BFC1okn9.js → accounts-D095MOmG.js} +7 -7
  6. package/dist/{accounts-CBMZbUu2.js → accounts-Dw4ivpQU.js} +2 -2
  7. package/dist/{acp-cli-Dt95OPXW.js → acp-cli-Dd2joFFS.js} +8 -8
  8. package/dist/{active-listener-eLf5VQ_4.js → active-listener-B5jww01z.js} +2 -2
  9. package/dist/{agent-scope-tUxfsPYq.js → agent-scope-C1XMay0T.js} +17 -17
  10. package/dist/{agents.config-DNPisWCH.js → agents.config-CRKsD30n.js} +2 -2
  11. package/dist/{api-key-rotation-Y59kKrr0.js → api-key-rotation-BcKKu9kK.js} +1 -1
  12. package/dist/{api-key-rotation-R0EeTSGR.js → api-key-rotation-C1EZFUSy.js} +2 -2
  13. package/dist/{audio-preflight-C2dLsMCR.js → audio-preflight-CG6H_U7W.js} +32 -32
  14. package/dist/{audio-preflight-DeBM0nTy.js → audio-preflight-g9rsstMv.js} +34 -34
  15. package/dist/{audio-transcription-runner-B7oPsr3U.js → audio-transcription-runner-Bnl3Ubjo.js} +23 -23
  16. package/dist/{audio-transcription-runner-B7Q9WPbH.js → audio-transcription-runner-D0H4ucWV.js} +12 -12
  17. package/dist/{audit-Bq3iosCf.js → audit-B4s_5Gn1.js} +29 -29
  18. package/dist/{audit-membership-runtime-w23FnNAN.js → audit-membership-runtime-DyLj-uhz.js} +4 -4
  19. package/dist/{auth-HYiP0mxx.js → auth-DHSeaNcB.js} +1 -1
  20. package/dist/{auth-choice-Du_pIfBh.js → auth-choice-C-7c5Td_.js} +13 -13
  21. package/dist/{auth-choice-CX8TDXmp.js → auth-choice-D7LiN5Ju.js} +11 -11
  22. package/dist/{auth-choice.apply-helpers-DRfHu1d8.js → auth-choice.apply-helpers-CxO2Wbq-.js} +1 -1
  23. package/dist/{auth-token-BQRI3c6e.js → auth-token-BxYYHBlc.js} +1 -1
  24. package/dist/{bonjour-discovery-BenDpM0y.js → bonjour-discovery-mtNewKSx.js} +1 -1
  25. package/dist/{browser-cli-Et8PyJjA.js → browser-cli-I1fzIVmS.js} +12 -12
  26. package/dist/build-info.json +3 -3
  27. package/dist/bundled/boot-md/handler.js +51 -51
  28. package/dist/bundled/bootstrap-extra-files/handler.js +6 -6
  29. package/dist/bundled/command-logger/handler.js +2 -2
  30. package/dist/bundled/session-memory/handler.js +51 -51
  31. package/dist/{call-DbkLm3eP.js → call-DkR5OGhh.js} +10 -10
  32. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  33. package/dist/{channel-account-context-C_WQRa6U.js → channel-account-context-e4ysObLI.js} +5 -5
  34. package/dist/{channel-activity-7kixHIgY.js → channel-activity-CCjlTlcN.js} +1 -1
  35. package/dist/{channel-activity-B-tyheVe.js → channel-activity-CUT8qw0W.js} +3 -3
  36. package/dist/{channel-options-D0TjqxeO.js → channel-options-BL5mHe-R.js} +3 -3
  37. package/dist/{channel-selection-BwbXcgj2.js → channel-selection-D_20zq3H.js} +1 -1
  38. package/dist/{channel-web-lfZ3VOOl.js → channel-web-C7Iij0H0.js} +16 -16
  39. package/dist/{channels-cli-Hr4vekE6.js → channels-cli-BMiEn81Y.js} +92 -92
  40. package/dist/{channels-status-issues-DeoqSoo-.js → channels-status-issues-N9kzQrD8.js} +1 -1
  41. package/dist/{chrome-3982B8u4.js → chrome-53mklS3F.js} +18 -18
  42. package/dist/{chrome-gIqO4t7T.js → chrome-BNfSmFAM.js} +4 -4
  43. package/dist/{clawbot-cli-C-jGxnTq.js → clawbot-cli-B6-68gsT.js} +11 -11
  44. package/dist/cli/daemon-cli.js +1 -1
  45. package/dist/{cli-BH62lCfL.js → cli-ByaubO_B.js} +72 -72
  46. package/dist/{client-CeaUCJtL.js → client-BURktNyH.js} +2 -2
  47. package/dist/{command-registry-CquAbyqR.js → command-registry-D-zYyZpc.js} +4 -4
  48. package/dist/{command-secret-targets-BF4WzaME.js → command-secret-targets-WwcPUFAf.js} +4 -4
  49. package/dist/{commands-CD6EMOiw.js → commands-CiY9HjRt.js} +1 -1
  50. package/dist/{commands-registry-DCUj1QOi.js → commands-registry-0bpX7A_Q.js} +3 -3
  51. package/dist/{commands-registry-i6O3l1QI.js → commands-registry-DmH3aIGN.js} +4 -4
  52. package/dist/{completion-cli-BIY_jjYY.js → completion-cli-ClRcwvgc.js} +12 -12
  53. package/dist/{completion-cli-CIM6cyBy.js → completion-cli-DhTAfX_O.js} +2 -2
  54. package/dist/{config-cli-DvNViMXW.js → config-cli-ClomIMw7.js} +7 -7
  55. package/dist/{config-guard-DwgnWjmj.js → config-guard-rLrk7eSS.js} +16 -16
  56. package/dist/{config-validation-CcqZ--gE.js → config-validation-BQEaXMk7.js} +3 -3
  57. package/dist/{configure-B5Zuhebc.js → configure-CoXGul3l.js} +17 -17
  58. package/dist/{control-ui-assets-x69xyZH-.js → control-ui-assets-Bz7TCLpb.js} +1 -1
  59. package/dist/{cron-cli-Bv-X4msQ.js → cron-cli-C3iKBccc.js} +11 -11
  60. package/dist/{daemon-cli-B-8-rGND.js → daemon-cli-BVcrlw5o.js} +15 -15
  61. package/dist/{daemon-install-2y4HHhYl.js → daemon-install-CXDWHEEO.js} +4 -4
  62. package/dist/{daemon-install-helpers-Cdo6Pryw.js → daemon-install-helpers-a4pGEsbA.js} +11 -11
  63. package/dist/{deliver-CVl43oM1.js → deliver-B1sllFkh.js} +7 -7
  64. package/dist/{deliver-BLMHHSPm.js → deliver-DBhlEXOh.js} +21 -21
  65. package/dist/deliver-runtime-BpVWeU13.js +36 -0
  66. package/dist/deliver-runtime-CaV7seKv.js +61 -0
  67. package/dist/deps-send-discord.runtime-CL6FlfRz.js +26 -0
  68. package/dist/deps-send-discord.runtime-DbS5pxta.js +36 -0
  69. package/dist/deps-send-imessage.runtime-DP56C3XB.js +25 -0
  70. package/dist/deps-send-imessage.runtime-Ji753_F7.js +35 -0
  71. package/dist/deps-send-signal.runtime-4WUnsfj1.js +24 -0
  72. package/dist/deps-send-signal.runtime-DLJqvPLf.js +34 -0
  73. package/dist/deps-send-slack.runtime-BM_8OV-V.js +22 -0
  74. package/dist/deps-send-slack.runtime-DrFxeZ1I.js +32 -0
  75. package/dist/{deps-send-telegram.runtime-C9lz8bf0.js → deps-send-telegram.runtime-CF-Ylrvr.js} +16 -16
  76. package/dist/deps-send-telegram.runtime-CL27zxrX.js +27 -0
  77. package/dist/deps-send-whatsapp.runtime-B0xMiMJX.js +60 -0
  78. package/dist/deps-send-whatsapp.runtime-BOE0Ke6v.js +118 -0
  79. package/dist/{devices-cli-BT8K0hdG.js → devices-cli-Dn_norz3.js} +8 -8
  80. package/dist/{diagnostic-CFkF5G3N.js → diagnostic-C2LLQE3X.js} +2 -2
  81. package/dist/{diagnostic-5bqrhGEp.js → diagnostic-CNl71AzW.js} +1 -1
  82. package/dist/{diagnostics-C0CazfQM.js → diagnostics-DZ99A0EW.js} +5 -5
  83. package/dist/{directory-cli-BZcT9ie1.js → directory-cli-ZzwXkW89.js} +7 -7
  84. package/dist/{dns-cli-CPYaeASu.js → dns-cli-DipYQjtY.js} +5 -5
  85. package/dist/{dock-CVTqzMqE.js → dock-C7N1CmcP.js} +4 -4
  86. package/dist/{docs-cli-C50vGyDh.js → docs-cli-C-Izm9Tb.js} +4 -4
  87. package/dist/{doctor-completion-DWWBwulC.js → doctor-completion-CvbhXcBA.js} +1 -1
  88. package/dist/{doctor-completion-Emprau8v.js → doctor-completion-DTHBtueI.js} +2 -2
  89. package/dist/{doctor-config-flow-DSA-JE3n.js → doctor-config-flow-DDWA3Z2D.js} +15 -15
  90. package/dist/{enable-CAYj5OhY.js → enable-RJyJVP_B.js} +1 -1
  91. package/dist/entry.js +2 -2
  92. package/dist/{plugin-sdk/errors-CgRPdp3o.js → errors-kkRuS2Cs.js} +1 -1
  93. package/dist/{exec-approvals-allowlist-BO4EEQUI.js → exec-approvals-allowlist-Bu_oaDJC.js} +1 -1
  94. package/dist/{exec-approvals-cli-DSOHdWJR.js → exec-approvals-cli-Csducy9L.js} +16 -16
  95. package/dist/{exec-safe-bin-runtime-policy-CSnpe1AT.js → exec-safe-bin-runtime-policy-DRQwt8kj.js} +2 -2
  96. package/dist/{fetch-38Yx06gt.js → fetch-CxBkawdM.js} +5 -5
  97. package/dist/{fetch-guard-VcWeni3c.js → fetch-guard-DNykKlIv.js} +1 -1
  98. package/dist/{fetch-guard-D4vl4ujr.js → fetch-guard-fb71kZZ8.js} +2 -2
  99. package/dist/{frontmatter-CjKtFduT.js → frontmatter-Cq1TcIQ2.js} +3 -3
  100. package/dist/{fs-safe-CwHbZdFH.js → fs-safe-BoB4X3GD.js} +4 -4
  101. package/dist/{fs-safe-CjHYKGbt.js → fs-safe-CKHYu4Vz.js} +24 -24
  102. package/dist/{gateway-cli-9UpCzUUR.js → gateway-cli-5rUG2fBn.js} +1 -1
  103. package/dist/{gateway-cli-B2fScwuY.js → gateway-cli-CF1kp5f9.js} +152 -152
  104. package/dist/{gateway-rpc-DpqZnhyz.js → gateway-rpc-DoKw40aG.js} +1 -1
  105. package/dist/{github-copilot-token-Cw3tAXM9.js → github-copilot-token-B5cPlwaz.js} +7 -7
  106. package/dist/{health-BZcB9SMe.js → health-Cia3g9r1.js} +11 -11
  107. package/dist/{hooks-cli-BylHgZ52.js → hooks-cli-LDbU3XMU.js} +80 -80
  108. package/dist/{hooks-status-DqGd74DG.js → hooks-status-Dd_iWcBZ.js} +1 -1
  109. package/dist/{image-UWdNg3AV.js → image-C5cdH_Hn.js} +6 -6
  110. package/dist/{image-CulZw1up.js → image-D2a7rcK1.js} +5 -5
  111. package/dist/{image-ops-BpsIdA2j.js → image-ops-BIWika4g.js} +10 -10
  112. package/dist/{image-ops-MgyUqvIc.js → image-ops-BSjD6uEb.js} +2 -2
  113. package/dist/image-runtime-B1jzvCV9.js +29 -0
  114. package/dist/image-runtime-DTxVPe7Z.js +55 -0
  115. package/dist/index.js +82 -82
  116. package/dist/{inspect-D5T8Bbzl.js → inspect-C3PHuODr.js} +4 -4
  117. package/dist/{install-safe-path-BoN-MLvX.js → install-safe-path-iCmVuopp.js} +25 -25
  118. package/dist/{installs-CPHMcmNj.js → installs-CyjlehlR.js} +9 -9
  119. package/dist/{ipv4-Bwl9ruCP.js → ipv4-CWVOQw5T.js} +1 -1
  120. package/dist/{ir-xnftdkOo.js → ir-BPM7rQYq.js} +8 -8
  121. package/dist/{ir-KtKnWVYv.js → ir-DM4doOj9.js} +8 -8
  122. package/dist/{issue-format-8t_ncgFx.js → issue-format-sA05c-6t.js} +1 -1
  123. package/dist/{json-files-DIEpaxUj.js → json-files-D6M304Qd.js} +8 -8
  124. package/dist/{legacy-names-B0wgIP0Q.js → legacy-names-aGJJuzM_.js} +1 -1
  125. package/dist/{lifecycle-core-DKiBjZdv.js → lifecycle-core-DsfZ6965.js} +5 -5
  126. package/dist/llm-slug-generator.js +51 -51
  127. package/dist/{local-roots-BrxGyJnb.js → local-roots-CMxJ8L4w.js} +3 -3
  128. package/dist/{logger-oGKcCLZ5.js → logger-CnTSBL7T.js} +7 -7
  129. package/dist/{login-BJ7RjzPV.js → login--L7xmR80.js} +5 -5
  130. package/dist/{login-CxDYXbgx.js → login-BjtBaVVG.js} +3 -3
  131. package/dist/{login-qr-zf4B1lpU.js → login-qr-JfRlpd7I.js} +6 -6
  132. package/dist/{login-qr-C2dv3VjF.js → login-qr-StQBwOgw.js} +10 -10
  133. package/dist/{logs-cli-CJAe1_dv.js → logs-cli-gv2Ql7GE.js} +9 -9
  134. package/dist/{manager-Cz8NNpPk.js → manager-B5htbo-7.js} +13 -13
  135. package/dist/{manager-DBgRFvYb.js → manager-XeZQ6ws7.js} +14 -14
  136. package/dist/{manager-runtime-Dl31cGh-.js → manager-runtime-BvGqzQIY.js} +9 -9
  137. package/dist/manager-runtime-CbCJ9KL0.js +18 -0
  138. package/dist/{manifest-registry-Cx3mB9zS.js → manifest-registry-BaUPjNKb.js} +1 -1
  139. package/dist/{memory-cli-Bhoc-n_1.js → memory-cli-BUJHSsW6.js} +12 -12
  140. package/dist/{model-DYzjrxpA.js → model-Jy6fO59G.js} +2 -2
  141. package/dist/{model-catalog-kpDOW8eY.js → model-catalog-BfoWgIDd.js} +3 -3
  142. package/dist/{model-picker-BZwK54QT.js → model-picker-CxmHVCE1.js} +4 -4
  143. package/dist/{model-selection-2Xl7Zx-s.js → model-selection-BfuTT3Ie.js} +43 -43
  144. package/dist/{model-selection-ZV3PuYVR.js → model-selection-QgM_TOjC.js} +16 -16
  145. package/dist/{models-cli-BIxlIOFr.js → models-cli-DlbNL6it.js} +81 -81
  146. package/dist/{models-config-BLdDYoxi.js → models-config-DOD5jluc.js} +6 -6
  147. package/dist/{node-cli-6uYJccbd.js → node-cli-uJ5lFzxj.js} +33 -33
  148. package/dist/{node-command-policy-CKTXVa3D.js → node-command-policy-CwVo8Z1X.js} +1 -1
  149. package/dist/{node-service-DGPVb5ri.js → node-service-xGYkt3vb.js} +1 -1
  150. package/dist/{nodes-cli-CXLRfAYx.js → nodes-cli-eauCMbSr.js} +16 -16
  151. package/dist/{nodes-screen-C-tuRhA1.js → nodes-screen-iR_FzGNs.js} +7 -7
  152. package/dist/{npm-pack-install-DgSn7djE.js → npm-pack-install-s-mP9K0z.js} +18 -18
  153. package/dist/{npm-resolution-gw3vFNTB.js → npm-resolution-Ck7yFIM2.js} +4 -4
  154. package/dist/{onboard-DLJ_9fJU.js → onboard-BVgRwIeK.js} +1 -1
  155. package/dist/{onboard-CCaYDSO2.js → onboard-Vq9LkQon.js} +6 -6
  156. package/dist/{onboard-channels-DQnP5d3Y.js → onboard-channels-CELkEQUS.js} +21 -21
  157. package/dist/{onboard-custom-CJohrPzT.js → onboard-custom-BmAzWYbD.js} +4 -4
  158. package/dist/{onboard-helpers-Bcs_1b81.js → onboard-helpers-DRk4Y5uA.js} +10 -10
  159. package/dist/{onboard-hooks-A23nqe_3.js → onboard-hooks-lk1sMnDf.js} +4 -4
  160. package/dist/{onboard-remote-Hf9sTDHl.js → onboard-remote-Bj9cR8kF.js} +4 -4
  161. package/dist/{onboard-skills-Cpc8o6sG.js → onboard-skills-eRpyQ1la.js} +4 -4
  162. package/dist/{onboarding-wx00blu5.js → onboarding-BW7AN6GP.js} +14 -14
  163. package/dist/{onboarding-YgRfODPk.js → onboarding-DO1ScRD8.js} +1 -1
  164. package/dist/{onboarding.finalize-B8wqvggG.js → onboarding.finalize-DyoNGKAv.js} +93 -85
  165. package/dist/{onboarding.finalize-DQcrecUs.js → onboarding.finalize-mpPeXAsn.js} +12 -4
  166. package/dist/{onboarding.gateway-config-CvWq5i_X.js → onboarding.gateway-config-BPyk6gwr.js} +18 -18
  167. package/dist/{onboarding.secret-input-CIN4p8mg.js → onboarding.secret-input-DlDt-I2O.js} +1 -1
  168. package/dist/{openai-model-default-BYfJa19m.js → openai-model-default-DnYP1Em1.js} +2 -2
  169. package/dist/{outbound-B3RZI-ai.js → outbound-BQtnr_z2.js} +3 -3
  170. package/dist/{outbound-CZO5ZCAG.js → outbound-Dp8B-7n3.js} +6 -6
  171. package/dist/{outbound-attachment-BBtJNyuW.js → outbound-attachment-BSZq7jTZ.js} +2 -2
  172. package/dist/{outbound-attachment-BATDqOuj.js → outbound-attachment-WnXMTJC4.js} +2 -2
  173. package/dist/{pairing-cli-FMIw0yL6.js → pairing-cli-BsU-YnVT.js} +8 -8
  174. package/dist/{pairing-labels-MH31IXn_.js → pairing-labels-BXfoinTP.js} +1 -1
  175. package/dist/{pairing-store-KII9MIZX.js → pairing-store-C1FvWpDK.js} +3 -3
  176. package/dist/{path-alias-guards-B7H6jIIw.js → path-alias-guards-CCRXJArp.js} +3 -3
  177. package/dist/{path-alias-guards-Cpsiv2KL.js → path-alias-guards-DORgbZ1w.js} +1 -1
  178. package/dist/{path-safety-3wUzDqI9.js → path-safety-BWiXz6D4.js} +1 -1
  179. package/dist/{paths-BguvT84s.js → paths-Bg6h1q3v.js} +9 -9
  180. package/dist/{paths-CSdAWKDO.js → paths-DA5srn0U.js} +5 -5
  181. package/dist/{paths-CXClY8zC.js → paths-DSd911Oe.js} +4 -4
  182. package/dist/{pi-embedded-DgpQEVa1.js → pi-embedded-CrAWjHKR.js} +162 -162
  183. package/dist/{pi-embedded-helpers-CkCvcpdc.js → pi-embedded-helpers-DM4KAgn-.js} +52 -52
  184. package/dist/{pi-embedded-helpers-D8WkqLZt.js → pi-embedded-helpers-DctimJJI.js} +6 -6
  185. package/dist/{pi-model-discovery-Bfyzj3Lq.js → pi-model-discovery-D63dINOn.js} +1 -1
  186. package/dist/{pi-model-discovery-CHdwOZiV.js → pi-model-discovery-DE0XZt9x.js} +7 -7
  187. package/dist/pi-model-discovery-runtime-B5s0PRpY.js +11 -0
  188. package/dist/{pi-model-discovery-runtime-nh-zh_Bp.js → pi-model-discovery-runtime-CcXGQcru.js} +5 -5
  189. package/dist/{pi-tools.before-tool-call.runtime-D4V6gUzq.js → pi-tools.before-tool-call.runtime-BMb_b90y.js} +5 -5
  190. package/dist/{pi-tools.before-tool-call.runtime-BlLvl0eL.js → pi-tools.before-tool-call.runtime-DfLoi4qR.js} +9 -9
  191. package/dist/{pi-tools.policy-DCE9mhtw.js → pi-tools.policy-CXvZtJB7.js} +5 -5
  192. package/dist/{plugin-auto-enable-BJw5Rcbx.js → plugin-auto-enable-DMABTEO-.js} +3 -3
  193. package/dist/{plugin-registry-V0H8DaZf.js → plugin-registry-BSlUIHKX.js} +3 -3
  194. package/dist/plugin-sdk/{accounts-BW7b9aIf.js → accounts-C9RGqL4T.js} +3 -3
  195. package/dist/plugin-sdk/{accounts-tAi-tfAf.js → accounts-CgiUq3Un.js} +2 -2
  196. package/dist/plugin-sdk/{accounts-De05T3_J.js → accounts-DcDj_weC.js} +2 -2
  197. package/dist/plugin-sdk/{active-listener-CirjQdCm.js → active-listener-BlJ5RUzB.js} +2 -2
  198. package/dist/plugin-sdk/{api-key-rotation-CCoQ5SD_.js → api-key-rotation-Z-Qny376.js} +2 -2
  199. package/dist/plugin-sdk/{audio-preflight-BgPpaXum.js → audio-preflight-DXuewfE7.js} +26 -26
  200. package/dist/plugin-sdk/{audio-transcription-runner-CO4tyQtQ.js → audio-transcription-runner-DSNzBBSH.js} +11 -11
  201. package/dist/plugin-sdk/{audit-membership-runtime-Xl20kCBe.js → audit-membership-runtime-DHQDvH4u.js} +2 -2
  202. package/dist/plugin-sdk/{channel-activity-QlTyjswN.js → channel-activity-D1afTUj8.js} +3 -3
  203. package/dist/plugin-sdk/{channel-web-NzpRnn9f.js → channel-web-IPKOTqU3.js} +18 -18
  204. package/dist/plugin-sdk/{chrome-CVbDHFaE.js → chrome-B1q83rKv.js} +6 -6
  205. package/dist/plugin-sdk/{commands-registry-DSWbTWB2.js → commands-registry-DzySrtKG.js} +4 -4
  206. package/dist/plugin-sdk/{common-BpvaubXW.js → common-D8IL0ajZ.js} +2 -2
  207. package/dist/plugin-sdk/{config-DE6ibnmU.js → config-B5u_IldI.js} +7 -7
  208. package/dist/plugin-sdk/{deliver-86fU1nUC.js → deliver-S0Nnmc4b.js} +10 -10
  209. package/dist/plugin-sdk/deliver-runtime-tAQPm44B.js +32 -0
  210. package/dist/plugin-sdk/deps-send-discord.runtime-DeuyKcxA.js +23 -0
  211. package/dist/plugin-sdk/deps-send-imessage.runtime-D9NRm877.js +22 -0
  212. package/dist/plugin-sdk/deps-send-signal.runtime-DBepwGd9.js +21 -0
  213. package/dist/plugin-sdk/deps-send-slack.runtime-CUWnNsmH.js +19 -0
  214. package/dist/plugin-sdk/deps-send-telegram.runtime-CRI0ptpU.js +24 -0
  215. package/dist/plugin-sdk/deps-send-whatsapp.runtime-CypkchYB.js +57 -0
  216. package/dist/plugin-sdk/{diagnostic-DwTd77di.js → diagnostic-CMOeaeBe.js} +2 -2
  217. package/dist/plugin-sdk/discord.js +6 -6
  218. package/dist/{errors-DfgAh2Ml.js → plugin-sdk/errors-9oVz7reJ.js} +1 -1
  219. package/dist/plugin-sdk/{fetch-guard-dmZ4U9uQ.js → fetch-guard-C_jkJc0N.js} +2 -2
  220. package/dist/plugin-sdk/{fs-safe-DqCO1D4C.js → fs-safe-DFbwq9CS.js} +3 -3
  221. package/dist/plugin-sdk/{image-UG930mNm.js → image-C-YH4Uik.js} +6 -6
  222. package/dist/plugin-sdk/{image-ops-D9cweu_-.js → image-ops-57ipHrBF.js} +2 -2
  223. package/dist/plugin-sdk/image-runtime-BzP3HfiE.js +25 -0
  224. package/dist/plugin-sdk/{ir-pigw84ir.js → ir-CYDBM_JC.js} +7 -7
  225. package/dist/plugin-sdk/{local-roots-CIhD7Co-.js → local-roots-BfR7HxIa.js} +4 -4
  226. package/dist/plugin-sdk/{logger-DIb2cGHp.js → logger-Bg4vIUJn.js} +2 -2
  227. package/dist/plugin-sdk/{login-DN33Ry8p.js → login-BhBKfrcu.js} +4 -4
  228. package/dist/plugin-sdk/{login-qr-DXZPiiDq.js → login-qr-pZv8YA21.js} +5 -5
  229. package/dist/plugin-sdk/{manager-cBbgCrQ7.js → manager-CNL-O6jb.js} +8 -8
  230. package/dist/plugin-sdk/manager-runtime-B87hYNyb.js +15 -0
  231. package/dist/plugin-sdk/mattermost.js +3 -3
  232. package/dist/plugin-sdk/{outbound-attachment-C4f-OcC0.js → outbound-attachment-rsxzcJYF.js} +2 -2
  233. package/dist/plugin-sdk/{outbound-ux3UTEA3.js → outbound-icMF_rUc.js} +5 -5
  234. package/dist/plugin-sdk/{path-alias-guards-TnxupPQC.js → path-alias-guards-DA0MhfkG.js} +1 -1
  235. package/dist/plugin-sdk/{paths-B7_75Pdr.js → paths-CP67O8eN.js} +1 -1
  236. package/dist/plugin-sdk/{pi-embedded-helpers-CBAsAxOB.js → pi-embedded-helpers-8ieRSf-l.js} +16 -16
  237. package/dist/plugin-sdk/{pi-model-discovery-hrhgLkQy.js → pi-model-discovery-DSSANt82.js} +1 -1
  238. package/dist/plugin-sdk/pi-model-discovery-runtime-C2t2kU5s.js +8 -0
  239. package/dist/plugin-sdk/{pi-tools.before-tool-call.runtime-EL-r4x87.js → pi-tools.before-tool-call.runtime-ChLGyK0j.js} +4 -4
  240. package/dist/plugin-sdk/{plugins-NKOOkt_i.js → plugins-BLeJXdd2.js} +4 -4
  241. package/dist/plugin-sdk/{proxy-env-DooJ7AbC.js → proxy-env-CtPm4saU.js} +1 -1
  242. package/dist/plugin-sdk/{proxy-fetch-Dt5BedH8.js → proxy-fetch-Cf3IUSDw.js} +1 -1
  243. package/dist/plugin-sdk/{pw-ai-jALO1jBq.js → pw-ai-CtZSk4at.js} +9 -9
  244. package/dist/plugin-sdk/{qmd-manager-Bei6TaFq.js → qmd-manager-Ov9ElEfG.js} +7 -7
  245. package/dist/plugin-sdk/{query-expansion-POz2za8a.js → query-expansion-CzjwW461.js} +4 -4
  246. package/dist/plugin-sdk/{redact-9WsNyb7S.js → redact-DfACyt0X.js} +1 -1
  247. package/dist/plugin-sdk/{reply-sihF_R23.js → reply-Bl5GGHri.js} +73 -73
  248. package/dist/plugin-sdk/{resolve-outbound-target-qXRaNZi8.js → resolve-outbound-target-D-0B2aK8.js} +2 -2
  249. package/dist/plugin-sdk/{run-with-concurrency-DmTrN5JG.js → run-with-concurrency-kVooFCVo.js} +1 -1
  250. package/dist/plugin-sdk/runtime-whatsapp-login.runtime-B6MdStWm.js +10 -0
  251. package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-DexVGpkn.js +19 -0
  252. package/dist/plugin-sdk/{send-jou-S7lc.js → send-BKQRdkHg.js} +5 -5
  253. package/dist/plugin-sdk/{send-aWQBb6ca.js → send-BkAfzZYd.js} +8 -8
  254. package/dist/plugin-sdk/{send-BMv-WOpW.js → send-C7C3x6hg.js} +7 -7
  255. package/dist/plugin-sdk/{send-Cm6HGK-a.js → send-CGlHhdoZ.js} +6 -6
  256. package/dist/plugin-sdk/{send-DZB0Hlej.js → send-YldTY40c.js} +13 -13
  257. package/dist/plugin-sdk/{session-C98G_V4e.js → session-uS6b35hg.js} +3 -3
  258. package/dist/plugin-sdk/{skill-commands-_K2_qYb4.js → skill-commands-c9HTevk5.js} +4 -4
  259. package/dist/plugin-sdk/{skills-D58hSyfJ.js → skills-OK3LublS.js} +6 -6
  260. package/dist/plugin-sdk/slash-commands.runtime-JFUaFK3N.js +13 -0
  261. package/dist/plugin-sdk/slash-dispatch.runtime-BP81ZOIp.js +52 -0
  262. package/dist/plugin-sdk/slash-skill-commands.runtime-KVmn_84j.js +16 -0
  263. package/dist/plugin-sdk/{store-CHxyy2Nq.js → store-BkxOV4wy.js} +2 -2
  264. package/dist/plugin-sdk/subagent-registry-runtime-DZHhsl5N.js +52 -0
  265. package/dist/plugin-sdk/{tables-D2Q-dmPT.js → tables-8_ELoE8R.js} +1 -1
  266. package/dist/plugin-sdk/{thinking-0lRH3Rcl.js → thinking-TLm688bb.js} +7 -7
  267. package/dist/{tokens-D2XhLqIz.js → plugin-sdk/tokens-DAL_5WHL.js} +1 -1
  268. package/dist/plugin-sdk/{tool-images-K2kMTUHK.js → tool-images-CbObuT48.js} +2 -2
  269. package/dist/plugin-sdk/web-DIhuSOD-.js +56 -0
  270. package/dist/plugin-sdk/{whatsapp-actions-DnEN6SNn.js → whatsapp-actions-DVZ223y_.js} +17 -17
  271. package/dist/plugin-sdk/whatsapp.js +50 -50
  272. package/dist/{plugins--Y8ggxrk.js → plugins-Db8j13y8.js} +11 -11
  273. package/dist/{plugins-Cl_3OCyK.js → plugins-H53_4Gxb.js} +2 -2
  274. package/dist/{plugins-cli-CN2fty5U.js → plugins-cli-CQkxWdnt.js} +82 -82
  275. package/dist/{ports-Bop51hz6.js → ports-CKXuQJST.js} +2 -2
  276. package/dist/{ports-6i8smH3e.js → ports-CXjhFS7T.js} +1 -1
  277. package/dist/{program-BpSOl_1X.js → program-BJO_oaKF.js} +2 -2
  278. package/dist/{program-context-ehHvCw9L.js → program-context-CWsWlM9-.js} +41 -41
  279. package/dist/{prompt-select-styled-CSMviLJY.js → prompt-select-styled-CnWGIwST.js} +40 -40
  280. package/dist/{prompt-select-styled-CqnrivgC.js → prompt-select-styled-R6Iau0zv.js} +1 -1
  281. package/dist/{provider-auth-helpers-CgNWlsqs.js → provider-auth-helpers-BqWiy-r-.js} +5 -5
  282. package/dist/{proxy-env-CRD7fbqp.js → proxy-env-D1tz4Z6a.js} +1 -1
  283. package/dist/{proxy-env-BAlmOqn_.js → proxy-env-bjBQWAZU.js} +1 -1
  284. package/dist/{proxy-fetch-C2v-Utgg.js → proxy-fetch-lH6RsRTE.js} +1 -1
  285. package/dist/{push-apns-DoYzx3tH.js → push-apns-C-YdARdy.js} +5 -5
  286. package/dist/{pw-ai-Ci7uZGTd.js → pw-ai-BMx3rnIH.js} +14 -14
  287. package/dist/{pw-ai-yKJj32B4.js → pw-ai-SVeR5d2o.js} +18 -18
  288. package/dist/{qmd-manager-AYDUTXmc.js → qmd-manager-B-XXhWVw.js} +20 -20
  289. package/dist/{qmd-manager-CO-shcLU.js → qmd-manager-BN0siR2Z.js} +10 -10
  290. package/dist/{qr-cli-cikAHfYn.js → qr-cli-B4fjHvn1.js} +2 -2
  291. package/dist/{query-expansion-CV2Z4_mS.js → query-expansion-Bf60ekMj.js} +12 -12
  292. package/dist/{query-expansion-DlQOkf-g.js → query-expansion-Dzxt6kXo.js} +6 -6
  293. package/dist/{redact-NmPEVjIo.js → redact-DvzicBMu.js} +1 -1
  294. package/dist/{redact-snapshot-C9T1079O.js → redact-snapshot-DRqM8Vla.js} +1 -1
  295. package/dist/{register.agent-BlxoyQt0.js → register.agent-BdiM0qkl.js} +97 -97
  296. package/dist/register.configure-wANXDbzQ.js +164 -0
  297. package/dist/{register.maintenance-BUWUvg1o.js → register.maintenance-C0WLFNcv.js} +5 -5
  298. package/dist/{register.maintenance-C-Yv2mHK.js → register.maintenance-c4CZQhHy.js} +93 -93
  299. package/dist/{register.message-CUNXtFOj.js → register.message-CbxQ5lgi.js} +73 -73
  300. package/dist/{register.onboard-BKXm1mL7.js → register.onboard-B8LXDCnA.js} +18 -18
  301. package/dist/{register.onboard-1KrFhKgA.js → register.onboard-C8-hGp4-.js} +2 -2
  302. package/dist/{register.setup-DaT9AIAz.js → register.setup-Bw1pnWbM.js} +21 -21
  303. package/dist/{register.setup-Ct7W5KHu.js → register.setup-DiUpJRvj.js} +2 -2
  304. package/dist/{register.status-health-sessions-7yZmSvUL.js → register.status-health-sessions-Bw5YDa_s.js} +86 -86
  305. package/dist/{register.subclis-Z1fJCSxh.js → register.subclis-BbFUfhdj.js} +3 -3
  306. package/dist/{reply-CeUYZhWu.js → reply-BWXzPVSJ.js} +149 -149
  307. package/dist/{rpc-BDpuIniF.js → rpc-DlN_W_L1.js} +1 -1
  308. package/dist/{run-main-DDsH3MYf.js → run-main-Exefhxet.js} +3 -3
  309. package/dist/{run-with-concurrency-FczpX8ng.js → run-with-concurrency-BFR3ReeF.js} +4 -4
  310. package/dist/{runtime-Dw7Yw4OJ.js → runtime-Ci7mtLvH.js} +3 -3
  311. package/dist/{runtime-config-collectors-jhc1wDBg.js → runtime-config-collectors-CKmGmTQ5.js} +1 -1
  312. package/dist/{runtime-whatsapp-login.runtime-f293Z_er.js → runtime-whatsapp-login.runtime-Bxqt5jiO.js} +7 -7
  313. package/dist/runtime-whatsapp-login.runtime-DTnWO4dr.js +13 -0
  314. package/dist/runtime-whatsapp-outbound.runtime-B-UsXwvb.js +32 -0
  315. package/dist/runtime-whatsapp-outbound.runtime-XzfTCc36.js +22 -0
  316. package/dist/{sandbox-BgsD1lf7.js → sandbox-Cuk1IWYT.js} +18 -18
  317. package/dist/{sandbox-cli-BnvmhiN9.js → sandbox-cli-BxgFeoAD.js} +25 -25
  318. package/dist/{secrets-cli-D7-K7P82.js → secrets-cli-DODLX29x.js} +11 -11
  319. package/dist/{security-cli-BFJAgNYH.js → security-cli-Ch83VrLP.js} +42 -42
  320. package/dist/{send-BYlxWwez.js → send-0EU-Y3Gn.js} +5 -5
  321. package/dist/{send-Jg_3nT2E.js → send-B92swUj4.js} +26 -26
  322. package/dist/{send-BvlkshC1.js → send-BfVgGHK6.js} +6 -6
  323. package/dist/{send-tK0H9nwq.js → send-Bw8LNCit.js} +5 -5
  324. package/dist/{send-Je58aHGD.js → send-By-oi8SV.js} +6 -6
  325. package/dist/{send-CqgPl09X.js → send-C2v8GsVK.js} +7 -7
  326. package/dist/{send-CDms2FQA.js → send-C9UJKBSM.js} +4 -4
  327. package/dist/{send-D2tGdo2t.js → send-CKtUdJpX.js} +8 -8
  328. package/dist/{send-CPFNtAP8.js → send-DX_fR45p.js} +11 -11
  329. package/dist/{send-C3Aeswif.js → send-FTQaNJPj.js} +8 -8
  330. package/dist/{server-OfKJG6Bo.js → server-Q9nnn04D.js} +20 -20
  331. package/dist/{server-context-B-0KzcZE.js → server-context-CX28l04l.js} +12 -12
  332. package/dist/{server-lifecycle-D6VNKVvQ.js → server-lifecycle-yAUMTJhv.js} +2 -2
  333. package/dist/{server-middleware-7cXowO4W.js → server-middleware-DIc4WJOS.js} +1 -1
  334. package/dist/{server-node-events-DWQhNK-0.js → server-node-events-qU3NTncQ.js} +73 -73
  335. package/dist/{service-Dk-UMipf.js → service-D4y0_Q5Z.js} +15 -15
  336. package/dist/{session-DC1-0Js7.js → session-CZ24KNcj.js} +8 -8
  337. package/dist/{session-Da18ilJ0.js → session-CZJ5Ux6-.js} +1 -1
  338. package/dist/{sessions-CmjcNTJ3.js → sessions-C5H_BZSr.js} +15 -15
  339. package/dist/{shared-BzY0v0tS.js → shared-CxdBWgym.js} +3 -3
  340. package/dist/{shared-BcB-feC8.js → shared-DwNtcoQg.js} +1 -1
  341. package/dist/{skill-commands-BaKuTMGP.js → skill-commands-BRoRvs2q.js} +9 -9
  342. package/dist/{skill-commands-BEWkEml_.js → skill-commands-BSRPnzXp.js} +5 -5
  343. package/dist/{skill-scanner-Bb5SMbCz.js → skill-scanner-rdr9cQew.js} +6 -6
  344. package/dist/{skills-Rnr7zPen.js → skills-BnBOxX1c.js} +3 -3
  345. package/dist/{skills-BeJSK5PY.js → skills-OLKf_9cW.js} +22 -22
  346. package/dist/{skills-cli-BowIIIzH.js → skills-cli-CUgeYV1y.js} +5 -5
  347. package/dist/{skills-install-BLNCKuex.js → skills-install-BE04CZ6e.js} +6 -6
  348. package/dist/{skills-status-BCU-5otB.js → skills-status-DQw98BkG.js} +1 -1
  349. package/dist/{slash-commands.runtime-BgVgQ-Eh.js → slash-commands.runtime-BPtL2Qev.js} +11 -11
  350. package/dist/slash-commands.runtime-jY_-vStu.js +16 -0
  351. package/dist/slash-dispatch.runtime-BxaEpG30.js +56 -0
  352. package/dist/slash-dispatch.runtime-Cf9dq1k6.js +113 -0
  353. package/dist/{slash-skill-commands.runtime-4dOiU6U0.js → slash-skill-commands.runtime-9BYoANpd.js} +15 -15
  354. package/dist/slash-skill-commands.runtime-B6vRGL-p.js +20 -0
  355. package/dist/{squidclaw-root-BcB7vo9M.js → squidclaw-root-CnE19yKj.js} +8 -8
  356. package/dist/{status-COTRBaam.js → status-rb5Jz-VU.js} +26 -26
  357. package/dist/{status.update-BUql4yz-.js → status.update-BNODJGA9.js} +2 -2
  358. package/dist/{store-Ky_egzlA.js → store-Mz6VjFuy.js} +2 -2
  359. package/dist/{store-aa15VM42.js → store-PDMRmC5Z.js} +5 -5
  360. package/dist/subagent-registry-runtime-BNE1FIwQ.js +56 -0
  361. package/dist/subagent-registry-runtime-CTiA365B.js +113 -0
  362. package/dist/{subsystem-BaLYRf7D.js → subsystem-6v7sWnAD.js} +14 -14
  363. package/dist/{system-cli-CgCUbH_M.js → system-cli-DJYyTO07.js} +9 -9
  364. package/dist/{system-run-command-Ny1SbbOD.js → system-run-command-BgnCyvrj.js} +1 -1
  365. package/dist/{systemd-zbKl2Q3E.js → systemd-fP8tz4aL.js} +9 -9
  366. package/dist/{systemd-hints-C9_7ouv7.js → systemd-hints-BG_t__ZD.js} +6 -6
  367. package/dist/{systemd-linger-BM6JyzAr.js → systemd-linger-DgK8uuKY.js} +1 -1
  368. package/dist/{tables-BlsVH8H4.js → tables-0InE37AN.js} +1 -1
  369. package/dist/{tables-jZMI8hLl.js → tables-DUSFF9-W.js} +1 -1
  370. package/dist/{tailnet-gTCqUBfJ.js → tailnet-CLkKVwDq.js} +1 -1
  371. package/dist/{target-errors-CiNyvgLy.js → target-errors-B37sVq3w.js} +2 -2
  372. package/dist/{target-errors-DlzVutaL.js → target-errors-BxwxgIDk.js} +4 -4
  373. package/dist/{thinking-D9F_aLRB.js → thinking-D4AaB24F.js} +7 -7
  374. package/dist/{plugin-sdk/tokens-CLE20fRI.js → tokens-DfbMVF9y.js} +1 -1
  375. package/dist/{tool-images-C2WK6W0J.js → tool-images-Dpl5RgN7.js} +2 -2
  376. package/dist/{tool-images-DTl_LHMa.js → tool-images-FhSCiY-o.js} +1 -1
  377. package/dist/{tui-kDK-MAOc.js → tui-BMOMT-ma.js} +6 -6
  378. package/dist/{tui-cli-Dxy6fKkU.js → tui-cli-kqZ_-2Mz.js} +32 -32
  379. package/dist/{update-ZUTn6Jsu.js → update-blK9j2ag.js} +3 -3
  380. package/dist/{update-cli-D_QEiKyz.js → update-cli-CeMQxSs2.js} +102 -102
  381. package/dist/{update-cli-Fe17E_Xm.js → update-cli-esFXuN7Z.js} +5 -5
  382. package/dist/{update-runner-DOXPSA_-.js → update-runner-C2UrF4oZ.js} +16 -16
  383. package/dist/web-VmjeceHS.js +117 -0
  384. package/dist/{web-D4FdtS8P.js → web-gFh8coIz.js} +55 -55
  385. package/dist/{webhooks-cli-D1iehjkP.js → webhooks-cli-BEXPBILa.js} +6 -6
  386. package/dist/{whatsapp-actions-aF5qDSh_.js → whatsapp-actions-B-LXYZ6Z.js} +21 -21
  387. package/dist/{whatsapp-actions-hN5bwjWU.js → whatsapp-actions-DhiV181U.js} +17 -17
  388. package/dist/{with-timeout-BjaANd4G.js → with-timeout-BCAfkt03.js} +3 -3
  389. package/dist/{workspace-BITWyKG4.js → workspace-B-k5DNiQ.js} +1 -1
  390. package/dist/{workspace-dirs-B7O9BAHp.js → workspace-dirs-B2dNahfe.js} +1 -1
  391. package/dist/{workspace-TqfVSQuO.js → workspace-kVMIaBrV.js} +20 -20
  392. package/dist/{ws-Bx8lpC1N.js → ws-DKt5HoA5.js} +2 -2
  393. package/dist/{wsl-wYxPJ8EO.js → wsl-CgxzAzRe.js} +2 -2
  394. package/package.json +1 -1
  395. package/dist/deliver-runtime-BSg7XU_9.js +0 -36
  396. package/dist/deliver-runtime-uwleBPlq.js +0 -61
  397. package/dist/deps-send-discord.runtime-CuZGpA7H.js +0 -36
  398. package/dist/deps-send-discord.runtime-DpEvkdzn.js +0 -26
  399. package/dist/deps-send-imessage.runtime-ByVW2alP.js +0 -35
  400. package/dist/deps-send-imessage.runtime-etYmfsQ1.js +0 -25
  401. package/dist/deps-send-signal.runtime-4HiuvLY4.js +0 -24
  402. package/dist/deps-send-signal.runtime-Dl4GaCbQ.js +0 -34
  403. package/dist/deps-send-slack.runtime-BEV10FHj.js +0 -32
  404. package/dist/deps-send-slack.runtime-Y5M5BNt7.js +0 -22
  405. package/dist/deps-send-telegram.runtime-CQ6XgUqx.js +0 -27
  406. package/dist/deps-send-whatsapp.runtime-B1XdeiW1.js +0 -60
  407. package/dist/deps-send-whatsapp.runtime-Di0SEPNK.js +0 -118
  408. package/dist/image-runtime-3Z60UCGO.js +0 -29
  409. package/dist/image-runtime-B5Q4J9w2.js +0 -55
  410. package/dist/manager-runtime-By-gmgqz.js +0 -18
  411. package/dist/pi-model-discovery-runtime-DiznhLrZ.js +0 -11
  412. package/dist/plugin-sdk/deliver-runtime-BJHbLq-S.js +0 -32
  413. package/dist/plugin-sdk/deps-send-discord.runtime-CDRnV2G9.js +0 -23
  414. package/dist/plugin-sdk/deps-send-imessage.runtime-B6kLsqc2.js +0 -22
  415. package/dist/plugin-sdk/deps-send-signal.runtime-BSQh0bHr.js +0 -21
  416. package/dist/plugin-sdk/deps-send-slack.runtime-BFom-0ng.js +0 -19
  417. package/dist/plugin-sdk/deps-send-telegram.runtime-CpTtZ6JM.js +0 -24
  418. package/dist/plugin-sdk/deps-send-whatsapp.runtime-C0XcOgX1.js +0 -57
  419. package/dist/plugin-sdk/image-runtime-Bu3DSIBB.js +0 -25
  420. package/dist/plugin-sdk/manager-runtime-Dbz_bpiL.js +0 -15
  421. package/dist/plugin-sdk/pi-model-discovery-runtime-SPHihgeR.js +0 -8
  422. package/dist/plugin-sdk/runtime-whatsapp-login.runtime-DMNRnMAJ.js +0 -10
  423. package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-w9rCES1O.js +0 -19
  424. package/dist/plugin-sdk/slash-commands.runtime-CyZybvM0.js +0 -13
  425. package/dist/plugin-sdk/slash-dispatch.runtime-DGI2ovR2.js +0 -52
  426. package/dist/plugin-sdk/slash-skill-commands.runtime-Cb1PFrG4.js +0 -16
  427. package/dist/plugin-sdk/subagent-registry-runtime-TxOQ-aoU.js +0 -52
  428. package/dist/plugin-sdk/web-wfXoGaeS.js +0 -56
  429. package/dist/register.configure-CGptmTVZ.js +0 -164
  430. package/dist/runtime-whatsapp-login.runtime-nLoztrHq.js +0 -13
  431. package/dist/runtime-whatsapp-outbound.runtime-ipj7KEHf.js +0 -22
  432. package/dist/runtime-whatsapp-outbound.runtime-uDhEmWe1.js +0 -32
  433. package/dist/slash-commands.runtime-SPLrdY5U.js +0 -16
  434. package/dist/slash-dispatch.runtime-BXF9mgkV.js +0 -56
  435. package/dist/slash-dispatch.runtime-D83FVeU7.js +0 -113
  436. package/dist/slash-skill-commands.runtime-DbWF-siU.js +0 -20
  437. package/dist/subagent-registry-runtime-CqsLRf4P.js +0 -56
  438. package/dist/subagent-registry-runtime-CrT5RSO9.js +0 -113
  439. package/dist/web-DtSq_aUB.js +0 -117
@@ -2,14 +2,14 @@ import { g as resolveStateDir, i as isNixMode, l as resolveGatewayLockDir, o as
2
2
  import { a as logVerbose, d as colorize, f as isRich, g as getResolvedLoggerSettings, h as getLogger, m as getChildLogger, p as theme, s as setVerbose } from "./globals-xfUIfxbE.js";
3
3
  import { C as sleep, D as isPlainObject, E as truncateUtf16Safe, S as shortenHomePath, c as ensureDir, r as clamp, y as resolveUserPath } from "./utils-DMGXr25O.js";
4
4
  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-44rmAw5o.js";
5
- import { $ as normalizeOptionalSessionKey, $n as listDescendantRunsForRequester, $t as sleepWithAbort, A as resolveSessionModelRef, Ar as OPENAI_TTS_VOICES, B as triggerSquidClawRestart, Bt as createOutboundSendDeps$1, Cr as resolveTtsConfig, D as loadSessionEntry, Dn as createReplyDispatcher, Dr as setTtsProvider, Dt as readJsonBodyWithLimit, E as loadCombinedSessionStoreForGateway, En as dispatchInboundMessage, Er as setTtsEnabled, Et as handleSlackHttpRequest, F as isGatewaySigusr1RestartExternallyAllowed, Fr as resetAllLanes, Ft as resolveAgentOutboundTarget, G as summarizeRestartSentinel, H as formatDoctorNonInteractiveHint, Ht as getCliSessionId, I as markGatewaySigusr1RestartHandled, Ir as setCommandLaneConcurrency, It as createOutboundSendDeps, J as normalizeHttpWebhookUrl, Jn as countActiveDescendantRuns, Jt as resolveBootstrapWarningSignaturesSeen, Kn as isAbortRequestText, Kr as enqueueSystemEvent, L as scheduleGatewaySigusr1Restart, Ln as resolveOutboundTarget, Lr as waitForActiveTasks, Lt as applyVerboseOverride, M as consumeGatewaySigusr1RestartAuthorization, Mn as resolveOutboundSessionRoute, Mt as agentCommandFromIngress, N as deferGatewayRestartUntilIdle, Nr as getTotalQueueSize, O as pruneLegacyStoreKeys, On as getTotalPendingReplies, Or as textToSpeech, Ot as requestBodyErrorToText, P as emitGatewayRestart, Pr as markGatewayDraining, Pt as resolveAgentDeliveryPlan, Q as normalizeOptionalAgentId, Qt as computeBackoff, R as setGatewaySigusr1RestartPolicy, Rn as resolveSessionDeliveryTarget, Rr as CommandLane, Rt as parseVerboseOverride, S as canonicalizeSpawnedByForAgent, Sr as resolveTtsAutoMode, T as listSessionsFromStore, Tn as formatZonedTimestamp, Tr as resolveTtsProviderOrder, U as formatRestartSentinelMessage, Ur as stripHeartbeatToken, Ut as setCliSessionId, V as consumeRestartSentinel, Vn as resetDirectoryCache, Vt as runWithModelFallback, Wt as runCliAgent, X as normalizeCronJobPatch, Xr as requestHeartbeatNow, Xt as lookupContextTokens, Y as normalizeCronJobCreate, Yt as applyModelOverrideToSessionEntry, Z as inferLegacyName, Zn as initSubagentRegistry, _ as resolveCronStyleNow, _r as clearBootstrapSnapshot, ai as resolveSendPolicy, an as buildSafeExternalPrompt, ar as buildOutboundSessionContext, at as hasLegacyDeliveryHints, br as isTtsProviderConfigured, ci as DEFAULT_INPUT_MAX_REDIRECTS, cn as isExternalHookSession, cr as getAgentRunContext, ct as persistBrowserProxyFiles, di as extractImageContentFromSource, dr as resolveAgentIdentity, en as resolveSessionAuthProfileOverride, et as normalizeOptionalText, f as runEmbeddedPiAgent, fi as normalizeMimeList, ft as loadSquidClawPlugins, gt as normalizeGroupActivation, h as waitForEmbeddedPiRunEnd, hi as resolveAgentTimeoutMs, hr as resolveUserTimezone, ii as normalizeSendPolicy, ir as clearSessionQueues, it as buildDeliveryFromLegacyPayload, jn as ensureOutboundSessionEntry, jr as getActiveTaskCount, k as resolveGatewaySessionStoreTarget, kr as OPENAI_TTS_MODELS, li as DEFAULT_INPUT_TIMEOUT_MS, ln as createReplyPrefixOptions, lr as onAgentEvent, lt as getPluginToolMeta, m as getActiveEmbeddedRunCount, mn as buildHistoryContextFromEntries, n as buildBareSessionResetPrompt, ni as getAcpSessionManager, nr as resolveAnnounceTargetFromKey, nt as normalizeRequiredName, oi as DEFAULT_INPUT_IMAGE_MAX_BYTES, on as detectSuspiciousPatterns, or as clearAgentRunContext, ot as stripLegacyDeliveryFields, p as abortEmbeddedPiRun, pi as resolveInputFileLimits, pt as createPluginRuntime, q as writeRestartSentinel, qn as stopSubagentsForRequester, qr as isSystemEventContextChanged, ri as resolveAgentSessionDirs, rr as readLatestAssistantReply, rt as migrateLegacyCronPayload, si as DEFAULT_INPUT_IMAGE_MIMES, sn as getHookType, sr as emitAgentEvent, st as applyBrowserProxyPaths, ti as ACP_SESSION_IDENTITY_RENDERER_VERSION, tn as resolveAgentAvatar, tr as runSubagentAnnounceFlow, tt as normalizePayloadToSystemText, ui as extractFileContentFromSource, un as unbindThreadBindingsBySessionKey, ur as registerAgentRunContext, ut as resolvePluginTools, v as applyToolPolicyPipeline, vr as getTtsProvider, vt as loadProviderUsageSummary, w as listAgentsForGateway, wr as resolveTtsPrefsPath, wt as resolveAgentOutboundIdentity, x as createSquidClawTools, xr as resolveTtsApiKey, y as buildDefaultToolPolicyPipelineSteps, yr as isTtsEnabled, z as setPreRestartDeferralCheck, zn as resolveOutboundChannelPlugin, zr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, zt as createDefaultDeps } from "./reply-CeUYZhWu.js";
6
- 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-tUxfsPYq.js";
5
+ import { $ as normalizeOptionalSessionKey, $n as listDescendantRunsForRequester, $t as sleepWithAbort, A as resolveSessionModelRef, Ar as OPENAI_TTS_VOICES, B as triggerSquidClawRestart, Bt as createOutboundSendDeps$1, Cr as resolveTtsConfig, D as loadSessionEntry, Dn as createReplyDispatcher, Dr as setTtsProvider, Dt as readJsonBodyWithLimit, E as loadCombinedSessionStoreForGateway, En as dispatchInboundMessage, Er as setTtsEnabled, Et as handleSlackHttpRequest, F as isGatewaySigusr1RestartExternallyAllowed, Fr as resetAllLanes, Ft as resolveAgentOutboundTarget, G as summarizeRestartSentinel, H as formatDoctorNonInteractiveHint, Ht as getCliSessionId, I as markGatewaySigusr1RestartHandled, Ir as setCommandLaneConcurrency, It as createOutboundSendDeps, J as normalizeHttpWebhookUrl, Jn as countActiveDescendantRuns, Jt as resolveBootstrapWarningSignaturesSeen, Kn as isAbortRequestText, Kr as enqueueSystemEvent, L as scheduleGatewaySigusr1Restart, Ln as resolveOutboundTarget, Lr as waitForActiveTasks, Lt as applyVerboseOverride, M as consumeGatewaySigusr1RestartAuthorization, Mn as resolveOutboundSessionRoute, Mt as agentCommandFromIngress, N as deferGatewayRestartUntilIdle, Nr as getTotalQueueSize, O as pruneLegacyStoreKeys, On as getTotalPendingReplies, Or as textToSpeech, Ot as requestBodyErrorToText, P as emitGatewayRestart, Pr as markGatewayDraining, Pt as resolveAgentDeliveryPlan, Q as normalizeOptionalAgentId, Qt as computeBackoff, R as setGatewaySigusr1RestartPolicy, Rn as resolveSessionDeliveryTarget, Rr as CommandLane, Rt as parseVerboseOverride, S as canonicalizeSpawnedByForAgent, Sr as resolveTtsAutoMode, T as listSessionsFromStore, Tn as formatZonedTimestamp, Tr as resolveTtsProviderOrder, U as formatRestartSentinelMessage, Ur as stripHeartbeatToken, Ut as setCliSessionId, V as consumeRestartSentinel, Vn as resetDirectoryCache, Vt as runWithModelFallback, Wt as runCliAgent, X as normalizeCronJobPatch, Xr as requestHeartbeatNow, Xt as lookupContextTokens, Y as normalizeCronJobCreate, Yt as applyModelOverrideToSessionEntry, Z as inferLegacyName, Zn as initSubagentRegistry, _ as resolveCronStyleNow, _r as clearBootstrapSnapshot, ai as resolveSendPolicy, an as buildSafeExternalPrompt, ar as buildOutboundSessionContext, at as hasLegacyDeliveryHints, br as isTtsProviderConfigured, ci as DEFAULT_INPUT_MAX_REDIRECTS, cn as isExternalHookSession, cr as getAgentRunContext, ct as persistBrowserProxyFiles, di as extractImageContentFromSource, dr as resolveAgentIdentity, en as resolveSessionAuthProfileOverride, et as normalizeOptionalText, f as runEmbeddedPiAgent, fi as normalizeMimeList, ft as loadSquidClawPlugins, gt as normalizeGroupActivation, h as waitForEmbeddedPiRunEnd, hi as resolveAgentTimeoutMs, hr as resolveUserTimezone, ii as normalizeSendPolicy, ir as clearSessionQueues, it as buildDeliveryFromLegacyPayload, jn as ensureOutboundSessionEntry, jr as getActiveTaskCount, k as resolveGatewaySessionStoreTarget, kr as OPENAI_TTS_MODELS, li as DEFAULT_INPUT_TIMEOUT_MS, ln as createReplyPrefixOptions, lr as onAgentEvent, lt as getPluginToolMeta, m as getActiveEmbeddedRunCount, mn as buildHistoryContextFromEntries, n as buildBareSessionResetPrompt, ni as getAcpSessionManager, nr as resolveAnnounceTargetFromKey, nt as normalizeRequiredName, oi as DEFAULT_INPUT_IMAGE_MAX_BYTES, on as detectSuspiciousPatterns, or as clearAgentRunContext, ot as stripLegacyDeliveryFields, p as abortEmbeddedPiRun, pi as resolveInputFileLimits, pt as createPluginRuntime, q as writeRestartSentinel, qn as stopSubagentsForRequester, qr as isSystemEventContextChanged, ri as resolveAgentSessionDirs, rr as readLatestAssistantReply, rt as migrateLegacyCronPayload, si as DEFAULT_INPUT_IMAGE_MIMES, sn as getHookType, sr as emitAgentEvent, st as applyBrowserProxyPaths, ti as ACP_SESSION_IDENTITY_RENDERER_VERSION, tn as resolveAgentAvatar, tr as runSubagentAnnounceFlow, tt as normalizePayloadToSystemText, ui as extractFileContentFromSource, un as unbindThreadBindingsBySessionKey, ur as registerAgentRunContext, ut as resolvePluginTools, v as applyToolPolicyPipeline, vr as getTtsProvider, vt as loadProviderUsageSummary, w as listAgentsForGateway, wr as resolveTtsPrefsPath, wt as resolveAgentOutboundIdentity, x as createSquidClawTools, xr as resolveTtsApiKey, y as buildDefaultToolPolicyPipelineSteps, yr as isTtsEnabled, z as setPreRestartDeferralCheck, zn as resolveOutboundChannelPlugin, zr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, zt as createDefaultDeps } from "./reply-BWXzPVSJ.js";
6
+ 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-C1XMay0T.js";
7
7
  import { a as setConsoleSubsystemFilter, d as defaultRuntime, n as runtimeForLogger, o as setConsoleTimestampPrefix, t as createSubsystemLogger } from "./subsystem-DC87CPVS.js";
8
8
  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-CIXZm7v4.js";
9
- import { a as openBoundaryFileSync, f as isNotFoundPathError, g as matchesSkillFilter, i as openBoundaryFile, o as openVerifiedFileSync, s as sameFileIdentity, t as resolveSquidClawPackageRoot } from "./squidclaw-root-BcB7vo9M.js";
9
+ import { a as openBoundaryFileSync, f as isNotFoundPathError, g as matchesSkillFilter, i as openBoundaryFile, o as openVerifiedFileSync, s as sameFileIdentity, t as resolveSquidClawPackageRoot } from "./squidclaw-root-CnE19yKj.js";
10
10
  import { i as logWarn, t as logDebug } from "./logger-DEmOJ9C3.js";
11
11
  import { n as runExec, t as runCommandWithTimeout } from "./exec-Dfgi8amS.js";
12
- import { $t as loadConfig, Bi as DEFAULT_MODEL, Dn as parseDurationMs, Fi as normalizeSecretInput, Hr as applyLegacyMigrations, Kn as isAvatarHttpUrl, On as parseByteSize, Qt as createConfigIO, S as resolveThinkingDefault, Ur as ensureControlUiAllowedOriginsForNonLoopbackBind, Vi as DEFAULT_PROVIDER, Vr as applyMergePatch, Wn as AVATAR_MAX_BYTES, Xt as migrateLegacyConfig, Zn as looksLikeAvatarPath, _ as resolveHooksGmailModel, a as getModelRefStatus, an as writeConfigFile, b as resolveSubagentConfiguredModelSelection, ei as buildTalkConfigResponse, en as parseConfigJson5, g as resolveDefaultModelForAgent, h as resolveConfiguredModelRef, ki as isPidAlive, ni as resolveAgentMaxConcurrent, nn as readConfigFileSnapshotForWrite, on as validateConfigObjectWithPlugins, p as resolveAllowedModelRef, qn as isAvatarImageDataUrl, ri as resolveSubagentMaxConcurrent, rn as resolveConfigSnapshotHash, s as isCliProvider, sn as SquidClawSchema, t as buildAllowedModelSet, tn as readConfigFileSnapshot, u as normalizeModelSelection, zi as DEFAULT_CONTEXT_TOKENS } from "./model-selection-ZV3PuYVR.js";
12
+ import { $t as loadConfig, Bi as DEFAULT_MODEL, Dn as parseDurationMs, Fi as normalizeSecretInput, Hr as applyLegacyMigrations, Kn as isAvatarHttpUrl, On as parseByteSize, Qt as createConfigIO, S as resolveThinkingDefault, Ur as ensureControlUiAllowedOriginsForNonLoopbackBind, Vi as DEFAULT_PROVIDER, Vr as applyMergePatch, Wn as AVATAR_MAX_BYTES, Xt as migrateLegacyConfig, Zn as looksLikeAvatarPath, _ as resolveHooksGmailModel, a as getModelRefStatus, an as writeConfigFile, b as resolveSubagentConfiguredModelSelection, ei as buildTalkConfigResponse, en as parseConfigJson5, g as resolveDefaultModelForAgent, h as resolveConfiguredModelRef, ki as isPidAlive, ni as resolveAgentMaxConcurrent, nn as readConfigFileSnapshotForWrite, on as validateConfigObjectWithPlugins, p as resolveAllowedModelRef, qn as isAvatarImageDataUrl, ri as resolveSubagentMaxConcurrent, rn as resolveConfigSnapshotHash, s as isCliProvider, sn as SquidClawSchema, t as buildAllowedModelSet, tn as readConfigFileSnapshot, u as normalizeModelSelection, zi as DEFAULT_CONTEXT_TOKENS } from "./model-selection-QgM_TOjC.js";
13
13
  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-CpzNS8-a.js";
14
14
  import "./github-copilot-token-Xh3EqlDM.js";
15
15
  import { t as formatCliCommand } from "./command-format-z1t1m-Kx.js";
@@ -17,150 +17,150 @@ import "./boolean-BsqeuxE6.js";
17
17
  import { n as logAcceptedEnvOption, t as isTruthyEnvValue } from "./env-DeB9SeAQ.js";
18
18
  import "./host-env-security-DkAVVuaw.js";
19
19
  import { i as resolveRuntimeServiceVersion, r as VERSION } from "./env-vars-DpyLwTjM.js";
20
- import { u as isTestDefaultMemorySlotDisabled } from "./manifest-registry-Cx3mB9zS.js";
21
- import "./dock-CVTqzMqE.js";
20
+ import { u as isTestDefaultMemorySlotDisabled } from "./manifest-registry-BaUPjNKb.js";
21
+ import "./dock-C7N1CmcP.js";
22
22
  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-CSxZnhaV.js";
23
- import "./send-CPFNtAP8.js";
24
- import { m as buildChannelAccountBindings, n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin, w as normalizeWhatsAppTarget } from "./plugins-Cl_3OCyK.js";
25
- import { $ as resolveMainSessionKey, A as readSessionPreviewItemsFromTranscript, C as normalizeSessionDeliveryFields, D as capArrayByJsonBytes, E as archiveSessionTranscripts, I as stripInlineDirectiveTagsForDisplay, L as stripInlineDirectiveTagsFromMessageForDisplay, M as resolveSessionTranscriptCandidates, N as stripEnvelopeFromMessage, O as cleanupArchivedSessionTranscripts, P as stripEnvelopeFromMessages, Q as resolveExplicitAgentSessionKey, R as jsonUtf8Bytes, T as archiveFileOnDisk, U as resolveSessionResetPolicy, V as evaluateSessionFreshness, X as canonicalizeMainSessionAlias, Y as setSessionRuntimeModel, Z as resolveAgentMainSessionKey, ct as cleanStaleLockFiles, d as updateSessionStore, et as resolveMainSessionKeyFromConfig, k as readSessionMessages, n as parseSessionThreadInfo, nt as snapshotSessionOrigin, o as loadSessionStore, q as mergeSessionEntry, t as extractDeliveryInfo, x as mergeDeliveryContext, y as deliveryContextFromSession } from "./sessions-CmjcNTJ3.js";
26
- import { u as registerUnhandledRejectionHandler } from "./audio-transcription-runner-B7oPsr3U.js";
27
- import { b as extractTextFromChatContent } from "./image-CulZw1up.js";
28
- import "./models-config-BLdDYoxi.js";
29
- import "./pi-embedded-helpers-D8WkqLZt.js";
30
- import { C as resolveToolProfilePolicy, _ as collectExplicitAllowlist, y as mergeAlsoAllowPolicy } from "./sandbox-BgsD1lf7.js";
23
+ import "./send-DX_fR45p.js";
24
+ import { m as buildChannelAccountBindings, n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin, w as normalizeWhatsAppTarget } from "./plugins-H53_4Gxb.js";
25
+ import { $ as resolveMainSessionKey, A as readSessionPreviewItemsFromTranscript, C as normalizeSessionDeliveryFields, D as capArrayByJsonBytes, E as archiveSessionTranscripts, I as stripInlineDirectiveTagsForDisplay, L as stripInlineDirectiveTagsFromMessageForDisplay, M as resolveSessionTranscriptCandidates, N as stripEnvelopeFromMessage, O as cleanupArchivedSessionTranscripts, P as stripEnvelopeFromMessages, Q as resolveExplicitAgentSessionKey, R as jsonUtf8Bytes, T as archiveFileOnDisk, U as resolveSessionResetPolicy, V as evaluateSessionFreshness, X as canonicalizeMainSessionAlias, Y as setSessionRuntimeModel, Z as resolveAgentMainSessionKey, ct as cleanStaleLockFiles, d as updateSessionStore, et as resolveMainSessionKeyFromConfig, k as readSessionMessages, n as parseSessionThreadInfo, nt as snapshotSessionOrigin, o as loadSessionStore, q as mergeSessionEntry, t as extractDeliveryInfo, x as mergeDeliveryContext, y as deliveryContextFromSession } from "./sessions-C5H_BZSr.js";
26
+ import { u as registerUnhandledRejectionHandler } from "./audio-transcription-runner-Bnl3Ubjo.js";
27
+ import { b as extractTextFromChatContent } from "./image-D2a7rcK1.js";
28
+ import "./models-config-DOD5jluc.js";
29
+ import "./pi-embedded-helpers-DctimJJI.js";
30
+ import { C as resolveToolProfilePolicy, _ as collectExplicitAllowlist, y as mergeAlsoAllowPolicy } from "./sandbox-Cuk1IWYT.js";
31
31
  import { i as listCoreToolSections, n as PROFILE_OPTIONS, o as resolveCoreToolProfiles } from "./tool-catalog-DEbNxV11.js";
32
- import "./chrome-gIqO4t7T.js";
32
+ import "./chrome-BNfSmFAM.js";
33
33
  import { i as enableTailscaleServe, n as disableTailscaleServe, o as getTailnetHostname, r as enableTailscaleFunnel, t as disableTailscaleFunnel } from "./tailscale-D0l0E6wR.js";
34
34
  import { t as safeEqualSecret } from "./secret-equal-B7oJEPub.js";
35
- import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-gTCqUBfJ.js";
36
- import { c as normalizeHostHeader, d as resolveGatewayBindHost, f as resolveGatewayListenHosts, i as isLoopbackHost, l as pickPrimaryLanIPv4, n as isLocalishHost, o as isTrustedProxyAddress, r as isLoopbackAddress, s as isValidIPv4, t as rawDataToString, u as resolveClientIp } from "./ws-Bx8lpC1N.js";
37
- 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-HYiP0mxx.js";
38
- import { l as ensureGatewayStartupAuth, u as mergeGatewayTailscaleConfig } from "./server-context-B-0KzcZE.js";
35
+ import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-CLkKVwDq.js";
36
+ import { c as normalizeHostHeader, d as resolveGatewayBindHost, f as resolveGatewayListenHosts, i as isLoopbackHost, l as pickPrimaryLanIPv4, n as isLocalishHost, o as isTrustedProxyAddress, r as isLoopbackAddress, s as isValidIPv4, t as rawDataToString, u as resolveClientIp } from "./ws-DKt5HoA5.js";
37
+ 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-DHSeaNcB.js";
38
+ import { l as ensureGatewayStartupAuth, u as mergeGatewayTailscaleConfig } from "./server-context-CX28l04l.js";
39
39
  import { d as hasBinary } from "./frontmatter-2aKLThq2.js";
40
- import { i as loadWorkspaceSkillEntries, r as buildWorkspaceSkillSnapshot } from "./skills-Rnr7zPen.js";
41
- import { n as assertNoPathAliasEscape } from "./path-alias-guards-B7H6jIIw.js";
42
- import "./paths-BguvT84s.js";
40
+ import { i as loadWorkspaceSkillEntries, r as buildWorkspaceSkillSnapshot } from "./skills-BnBOxX1c.js";
41
+ import { n as assertNoPathAliasEscape } from "./path-alias-guards-CCRXJArp.js";
42
+ import "./paths-Bg6h1q3v.js";
43
43
  import { a as testRegexWithBoundedInput, i as compileSafeRegex } from "./redact-BHOzodtN.js";
44
44
  import { o as isErrno, r as formatErrorMessage } from "./errors-oMAXKmXG.js";
45
- import { i as openFileWithinRoot, l as writeFileWithinRoot, s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-CjHYKGbt.js";
46
- import { n as SsrFBlockedError } from "./proxy-env-CRD7fbqp.js";
47
- import { c as detectMime } from "./image-ops-BpsIdA2j.js";
48
- import "./store-aa15VM42.js";
49
- import { a as inspectPortUsage, l as formatPortDiagnostics, r as ensurePortAvailable } from "./ports-Bop51hz6.js";
45
+ import { i as openFileWithinRoot, l as writeFileWithinRoot, s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-CKHYu4Vz.js";
46
+ import { n as SsrFBlockedError } from "./proxy-env-D1tz4Z6a.js";
47
+ import { c as detectMime } from "./image-ops-BIWika4g.js";
48
+ import "./store-PDMRmC5Z.js";
49
+ import { a as inspectPortUsage, l as formatPortDiagnostics, r as ensurePortAvailable } from "./ports-CKXuQJST.js";
50
50
  import { t as movePathToTrash } from "./trash-C4dj1x0P.js";
51
- import "./server-middleware-7cXowO4W.js";
52
- import { n as readJsonFile, r as writeJsonAtomic, t as createAsyncLock } from "./json-files-DIEpaxUj.js";
53
- import { i as resolveWhatsAppAccount } from "./accounts-BFC1okn9.js";
54
- import "./accounts-Xp5W2xrR.js";
51
+ import "./server-middleware-DIc4WJOS.js";
52
+ import { n as readJsonFile, r as writeJsonAtomic, t as createAsyncLock } from "./json-files-D6M304Qd.js";
53
+ import { i as resolveWhatsAppAccount } from "./accounts-D095MOmG.js";
54
+ import "./accounts-CyBVeR-N.js";
55
55
  import "./logging-D3KTM1pH.js";
56
- import "./accounts-PhtBJ8mA.js";
57
- import "./send-CDms2FQA.js";
56
+ import "./accounts-BjEXPlGc.js";
57
+ import "./send-C9UJKBSM.js";
58
58
  import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, s as resolveSessionTranscriptsDirForAgent } from "./paths-B9v1dJHA.js";
59
59
  import { i as normalizeInputProvenance } from "./input-provenance-K1purPKY.js";
60
60
  import "./chat-envelope-D5xd2cOr.js";
61
- import "./tool-images-DTl_LHMa.js";
61
+ import "./tool-images-FhSCiY-o.js";
62
62
  import "./tool-display-j0Y5n8v7.js";
63
- import { t as fetchWithSsrFGuard } from "./fetch-guard-VcWeni3c.js";
64
- import "./api-key-rotation-Y59kKrr0.js";
65
- import "./local-roots-BrxGyJnb.js";
66
- import { n as loadModelCatalog } from "./model-catalog-kpDOW8eY.js";
63
+ import { t as fetchWithSsrFGuard } from "./fetch-guard-DNykKlIv.js";
64
+ import "./api-key-rotation-BcKKu9kK.js";
65
+ import "./local-roots-CMxJ8L4w.js";
66
+ import { n as loadModelCatalog } from "./model-catalog-BfoWgIDd.js";
67
67
  import "./proxy-fetch-C4C5I8Js.js";
68
68
  import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-B4_ntOSs.js";
69
- import { j as runGlobalGatewayStopSafely, k as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-CVl43oM1.js";
70
- import { r as isRestartEnabled } from "./commands-CD6EMOiw.js";
71
- import "./commands-registry-DCUj1QOi.js";
72
- 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, 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-CeaUCJtL.js";
73
- import { c as ADMIN_SCOPE$3, d as isNodeRoleMethod, n as callGateway, p as loadGatewayTlsRuntime$1, u as authorizeOperatorScopesForMethod } from "./call-DbkLm3eP.js";
69
+ import { j as runGlobalGatewayStopSafely, k as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-B1sllFkh.js";
70
+ import { r as isRestartEnabled } from "./commands-CiY9HjRt.js";
71
+ import "./commands-registry-0bpX7A_Q.js";
72
+ 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, 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-BURktNyH.js";
73
+ import { c as ADMIN_SCOPE$3, d as isNodeRoleMethod, n as callGateway, p as loadGatewayTlsRuntime$1, u as authorizeOperatorScopesForMethod } from "./call-DkR5OGhh.js";
74
74
  import "./pairing-token-C0LPdqAt.js";
75
75
  import "./fetch-C7NOAcr0.js";
76
- import { a as readChannelAllowFromStoreSync } from "./pairing-store-KII9MIZX.js";
76
+ import { a as readChannelAllowFromStoreSync } from "./pairing-store-C1FvWpDK.js";
77
77
  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-B7ShUtAS.js";
78
- import "./exec-approvals-allowlist-BO4EEQUI.js";
79
- import "./exec-safe-bin-runtime-policy-CSnpe1AT.js";
80
- import { _ as matchSystemRunApprovalBinding, g as buildSystemRunApprovalBinding, h as resolveSystemRunApprovalRuntimeContext, m as resolveSystemRunApprovalRequestContext, v as missingSystemRunApprovalBinding, y as toSystemRunApprovalMismatchError } from "./nodes-screen-C-tuRhA1.js";
81
- import { a as ToolInputError } from "./target-errors-DlzVutaL.js";
82
- import { n as resolveSystemRunCommand } from "./system-run-command-Ny1SbbOD.js";
83
- import { d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, m as isDiagnosticsEnabled } from "./diagnostic-5bqrhGEp.js";
84
- import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext } from "./with-timeout-BjaANd4G.js";
85
- import { d as resolveCronStorePath, f as saveCronStore, u as loadCronStore } from "./send-C3Aeswif.js";
86
- import "./model-DYzjrxpA.js";
87
- import "./pi-model-discovery-Bfyzj3Lq.js";
88
- import "./ir-xnftdkOo.js";
78
+ import "./exec-approvals-allowlist-Bu_oaDJC.js";
79
+ import "./exec-safe-bin-runtime-policy-DRQwt8kj.js";
80
+ import { _ as matchSystemRunApprovalBinding, g as buildSystemRunApprovalBinding, h as resolveSystemRunApprovalRuntimeContext, m as resolveSystemRunApprovalRequestContext, v as missingSystemRunApprovalBinding, y as toSystemRunApprovalMismatchError } from "./nodes-screen-iR_FzGNs.js";
81
+ import { a as ToolInputError } from "./target-errors-BxwxgIDk.js";
82
+ import { n as resolveSystemRunCommand } from "./system-run-command-BgnCyvrj.js";
83
+ import { d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, m as isDiagnosticsEnabled } from "./diagnostic-CNl71AzW.js";
84
+ import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext } from "./with-timeout-BCAfkt03.js";
85
+ import { d as resolveCronStorePath, f as saveCronStore, u as loadCronStore } from "./send-FTQaNJPj.js";
86
+ import "./model-Jy6fO59G.js";
87
+ import "./pi-model-discovery-D63dINOn.js";
88
+ import "./ir-BPM7rQYq.js";
89
89
  import "./render-Bwu_WxwA.js";
90
- import { n as resolveMessageChannelSelection } from "./channel-selection-BwbXcgj2.js";
90
+ import { n as resolveMessageChannelSelection } from "./channel-selection-D_20zq3H.js";
91
91
  import { n as normalizePollInput } from "./polls-Dc-wk6Mc.js";
92
- import { i as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-BJw5Rcbx.js";
93
- import "./send-tK0H9nwq.js";
94
- import "./outbound-attachment-BATDqOuj.js";
92
+ import { i as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-DMABTEO-.js";
93
+ import "./send-Bw8LNCit.js";
94
+ import "./outbound-attachment-WnXMTJC4.js";
95
95
  import "./delivery-queue-BHAfJDuf.js";
96
- import "./send-BvlkshC1.js";
97
- import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-DCE9mhtw.js";
98
- import { t as getChannelActivity } from "./channel-activity-7kixHIgY.js";
99
- import "./tables-jZMI8hLl.js";
96
+ import "./send-BfVgGHK6.js";
97
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-CXvZtJB7.js";
98
+ import { t as getChannelActivity } from "./channel-activity-CCjlTlcN.js";
99
+ import "./tables-DUSFF9-W.js";
100
100
  import "./proxy-CzncRRd4.js";
101
- 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-BEWkEml_.js";
102
- import { t as listAgentWorkspaceDirs } from "./workspace-dirs-B7O9BAHp.js";
103
- import { f as isKnownSecretTargetId, n as GATEWAY_AUTH_SURFACE_PATHS, r as evaluateGatewayAuthSurfaceStates } from "./runtime-config-collectors-jhc1wDBg.js";
104
- import "./command-secret-targets-BF4WzaME.js";
101
+ 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-BSRPnzXp.js";
102
+ import { t as listAgentWorkspaceDirs } from "./workspace-dirs-B2dNahfe.js";
103
+ import { f as isKnownSecretTargetId, n as GATEWAY_AUTH_SURFACE_PATHS, r as evaluateGatewayAuthSurfaceStates } from "./runtime-config-collectors-CKmGmTQ5.js";
104
+ import "./command-secret-targets-WwcPUFAf.js";
105
105
  import { c as hasNonzeroUsage, i as loadSessionUsageTimeSeries, n as loadCostUsageSummary, r as loadSessionCostSummary, s as deriveSessionTotalTokens, t as discoverAllSessions } from "./session-cost-usage-B4DbYmaL.js";
106
- import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-Bcs_1b81.js";
106
+ import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-DRk4Y5uA.js";
107
107
  import "./prompt-style-BoYH_ODs.js";
108
- import "./pairing-labels-MH31IXn_.js";
108
+ import "./pairing-labels-BXfoinTP.js";
109
109
  import { n as formatTokenCount, r as formatUsd } from "./usage-format-CpAFclrX.js";
110
- import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-Bhoc-n_1.js";
111
- import { r as resolveMemorySearchConfig } from "./manager-DBgRFvYb.js";
112
- import "./query-expansion-CV2Z4_mS.js";
110
+ import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-BUJHSsW6.js";
111
+ import { r as resolveMemorySearchConfig } from "./manager-XeZQ6ws7.js";
112
+ import "./query-expansion-Bf60ekMj.js";
113
113
  import { t as formatDocsLink } from "./links-De9M3AmU.js";
114
114
  import { n as runCommandWithRuntime } from "./cli-utils-Ca0KE-dW.js";
115
115
  import { t as formatHelpExamples } from "./help-format-BMkyP_P-.js";
116
116
  import { n as withProgress } from "./progress-BHN121Ps.js";
117
- import "./server-lifecycle-D6VNKVvQ.js";
117
+ import "./server-lifecycle-yAUMTJhv.js";
118
118
  import { i as parseAbsoluteTimeMs, n as resolveCronStaggerMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-DL-XRpny.js";
119
119
  import { i as onHeartbeatEvent, r as getLastHeartbeatEvent, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-D3fxcg9H.js";
120
120
  import { t as ensureSquidClawCliOnPath } from "./path-env-kSxA2INU.js";
121
121
  import "./runtime-guard-pMNmDPEU.js";
122
- import { n as waitForPortBindable, t as forceFreePortAndWait } from "./ports-6i8smH3e.js";
123
- import { t as buildWorkspaceSkillStatus } from "./skills-status-BCU-5otB.js";
122
+ import { n as waitForPortBindable, t as forceFreePortAndWait } from "./ports-CXjhFS7T.js";
123
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-DQw98BkG.js";
124
124
  import { n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./dangerous-tools-D0u9YNYf.js";
125
125
  import { n as inheritOptionFromParent } from "./command-options-D0bXi5Pl.js";
126
126
  import { t as WizardCancelledError } from "./prompts-knTF_LVq.js";
127
127
  import { t as resolveChannelDefaultAccountId } from "./helpers-CvsgDup6.js";
128
- import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-DNPisWCH.js";
129
- import { t as isWithinDir } from "./path-safety-3wUzDqI9.js";
130
- import "./install-safe-path-BoN-MLvX.js";
131
- import "./skill-scanner-Bb5SMbCz.js";
132
- import { n as formatConfigIssueLines } from "./issue-format-8t_ncgFx.js";
128
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-CRKsD30n.js";
129
+ import { t as isWithinDir } from "./path-safety-BWiXz6D4.js";
130
+ import "./install-safe-path-iCmVuopp.js";
131
+ import "./skill-scanner-rdr9cQew.js";
132
+ import { n as formatConfigIssueLines } from "./issue-format-sA05c-6t.js";
133
133
  import { t as buildChannelAccountSnapshot } from "./status-D98glect.js";
134
- import "./channels-status-issues-DeoqSoo-.js";
135
- 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-C9T1079O.js";
136
- import "./daemon-install-helpers-Cdo6Pryw.js";
137
- import "./systemd-zbKl2Q3E.js";
138
- import "./service-Dk-UMipf.js";
139
- import "./lifecycle-core-DKiBjZdv.js";
140
- import "./systemd-hints-C9_7ouv7.js";
134
+ import "./channels-status-issues-N9kzQrD8.js";
135
+ 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-DRqM8Vla.js";
136
+ import "./daemon-install-helpers-a4pGEsbA.js";
137
+ import "./systemd-fP8tz4aL.js";
138
+ import "./service-D4y0_Q5Z.js";
139
+ import "./lifecycle-core-DsfZ6965.js";
140
+ import "./systemd-hints-BG_t__ZD.js";
141
141
  import { t as parsePort$1 } from "./parse-port-OBGBQwYB.js";
142
- import { n as addGatewayServiceCommands } from "./daemon-cli-B-8-rGND.js";
143
- import "./diagnostics-C0CazfQM.js";
142
+ import { n as addGatewayServiceCommands } from "./daemon-cli-BVcrlw5o.js";
143
+ import "./diagnostics-DZ99A0EW.js";
144
144
  import "./table-BPiDGg8F.js";
145
145
  import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-CrTl2Q0i.js";
146
- import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-BcB-feC8.js";
147
- import { a as probeGateway, n as collectEnabledInsecureOrDangerousFlags } from "./audit-Bq3iosCf.js";
148
- import { t as discoverGatewayBeacons } from "./bonjour-discovery-BenDpM0y.js";
149
- import { n as getStatusSummary, r as pickGatewaySelfPresence } from "./status-COTRBaam.js";
150
- import { a as styleHealthChannelLine, c as setHeartbeatsEnabled, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines, u as isCronSystemEvent } from "./health-BZcB9SMe.js";
151
- import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-x69xyZH-.js";
152
- import { h as normalizeUpdateChannel, l as DEFAULT_PACKAGE_CHANNEL, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-C_WQRa6U.js";
153
- import { a as resolveCommandSecretsFromActiveRuntimeSnapshot, i as prepareSecretsRuntimeSnapshot, n as clearSecretsRuntimeSnapshot, r as getActiveSecretsRuntimeSnapshot, t as activateSecretsRuntimeSnapshot } from "./runtime-Dw7Yw4OJ.js";
154
- import "./onboarding.secret-input-CIN4p8mg.js";
155
- import { t as runOnboardingWizard } from "./onboarding-wx00blu5.js";
156
- 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-DoYzx3tH.js";
146
+ import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-DwNtcoQg.js";
147
+ import { a as probeGateway, n as collectEnabledInsecureOrDangerousFlags } from "./audit-B4s_5Gn1.js";
148
+ import { t as discoverGatewayBeacons } from "./bonjour-discovery-mtNewKSx.js";
149
+ import { n as getStatusSummary, r as pickGatewaySelfPresence } from "./status-rb5Jz-VU.js";
150
+ import { a as styleHealthChannelLine, c as setHeartbeatsEnabled, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines, u as isCronSystemEvent } from "./health-Cia3g9r1.js";
151
+ import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Bz7TCLpb.js";
152
+ import { h as normalizeUpdateChannel, l as DEFAULT_PACKAGE_CHANNEL, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-e4ysObLI.js";
153
+ import { a as resolveCommandSecretsFromActiveRuntimeSnapshot, i as prepareSecretsRuntimeSnapshot, n as clearSecretsRuntimeSnapshot, r as getActiveSecretsRuntimeSnapshot, t as activateSecretsRuntimeSnapshot } from "./runtime-Ci7mtLvH.js";
154
+ import "./onboarding.secret-input-DlDt-I2O.js";
155
+ import { t as runOnboardingWizard } from "./onboarding-BW7AN6GP.js";
156
+ 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-C-YdARdy.js";
157
157
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-CDJE1jBL.js";
158
- import { n as isNodeCommandAllowed, r as resolveNodeCommandAllowlist } from "./node-command-policy-CKTXVa3D.js";
159
- import "./node-service-DGPVb5ri.js";
160
- import "./status.update-BUql4yz-.js";
161
- import { t as installSkill } from "./skills-install-BLNCKuex.js";
162
- import { t as runGatewayUpdate } from "./update-runner-DOXPSA_-.js";
163
- import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-BITWyKG4.js";
158
+ import { n as isNodeCommandAllowed, r as resolveNodeCommandAllowlist } from "./node-command-policy-CwVo8Z1X.js";
159
+ import "./node-service-xGYkt3vb.js";
160
+ import "./status.update-BNODJGA9.js";
161
+ import { t as installSkill } from "./skills-install-BE04CZ6e.js";
162
+ import { t as runGatewayUpdate } from "./update-runner-C2UrF4oZ.js";
163
+ import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-B-k5DNiQ.js";
164
164
  import { fileURLToPath, pathToFileURL } from "node:url";
165
165
  import * as fsSync from "node:fs";
166
166
  import fs from "node:fs";
@@ -168,7 +168,7 @@ import os from "node:os";
168
168
  import path from "node:path";
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 { spawn, spawnSync } from "node:child_process";
173
173
  import crypto, { createHash, randomBytes, randomUUID } from "node:crypto";
174
174
  import { z } from "zod";
@@ -1239,7 +1239,7 @@ function resolveCheckIntervalMs(cfg) {
1239
1239
  }
1240
1240
  async function readState(statePath) {
1241
1241
  try {
1242
- const raw = await fsPromises.readFile(statePath, "utf-8");
1242
+ const raw = await fs$1.readFile(statePath, "utf-8");
1243
1243
  const parsed = JSON.parse(raw);
1244
1244
  return parsed && typeof parsed === "object" ? parsed : {};
1245
1245
  } catch {
@@ -1320,7 +1320,7 @@ async function runAutoUpdateCommand(params) {
1320
1320
  path.join(params.root, "dist", "index.mjs")
1321
1321
  ];
1322
1322
  for (const candidate of candidates) try {
1323
- await fsPromises.access(candidate);
1323
+ await fs$1.access(candidate);
1324
1324
  argv.push(execPath, candidate, ...baseArgs);
1325
1325
  break;
1326
1326
  } catch {}
@@ -4451,20 +4451,20 @@ async function drainPendingWrite(filePath) {
4451
4451
  if (pending) await pending.catch(() => void 0);
4452
4452
  }
4453
4453
  async function pruneIfNeeded(filePath, opts) {
4454
- const stat = await fsPromises.stat(filePath).catch(() => null);
4454
+ const stat = await fs$1.stat(filePath).catch(() => null);
4455
4455
  if (!stat || stat.size <= opts.maxBytes) return;
4456
- const lines = (await fsPromises.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
4456
+ const lines = (await fs$1.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
4457
4457
  const kept = lines.slice(Math.max(0, lines.length - opts.keepLines));
4458
4458
  const { randomBytes } = await import("node:crypto");
4459
4459
  const tmp = `${filePath}.${process.pid}.${randomBytes(8).toString("hex")}.tmp`;
4460
- await fsPromises.writeFile(tmp, `${kept.join("\n")}\n`, "utf-8");
4461
- await fsPromises.rename(tmp, filePath);
4460
+ await fs$1.writeFile(tmp, `${kept.join("\n")}\n`, "utf-8");
4461
+ await fs$1.rename(tmp, filePath);
4462
4462
  }
4463
4463
  async function appendCronRunLog(filePath, entry, opts) {
4464
4464
  const resolved = path.resolve(filePath);
4465
4465
  const next = (writesByPath.get(resolved) ?? Promise.resolve()).catch(() => void 0).then(async () => {
4466
- await fsPromises.mkdir(path.dirname(resolved), { recursive: true });
4467
- await fsPromises.appendFile(resolved, `${JSON.stringify(entry)}\n`, "utf-8");
4466
+ await fs$1.mkdir(path.dirname(resolved), { recursive: true });
4467
+ await fs$1.appendFile(resolved, `${JSON.stringify(entry)}\n`, "utf-8");
4468
4468
  await pruneIfNeeded(resolved, {
4469
4469
  maxBytes: opts?.maxBytes ?? DEFAULT_CRON_RUN_LOG_MAX_BYTES,
4470
4470
  keepLines: opts?.keepLines ?? DEFAULT_CRON_RUN_LOG_KEEP_LINES
@@ -4558,7 +4558,7 @@ function filterRunLogEntries(entries, opts) {
4558
4558
  async function readCronRunLogEntriesPage(filePath, opts) {
4559
4559
  await drainPendingWrite(filePath);
4560
4560
  const limit = Math.max(1, Math.min(200, Math.floor(opts?.limit ?? 50)));
4561
- const raw = await fsPromises.readFile(path.resolve(filePath), "utf-8").catch(() => "");
4561
+ const raw = await fs$1.readFile(path.resolve(filePath), "utf-8").catch(() => "");
4562
4562
  const statuses = normalizeRunStatuses(opts);
4563
4563
  const deliveryStatuses = normalizeDeliveryStatuses(opts);
4564
4564
  const query = opts?.query?.trim().toLowerCase() ?? "";
@@ -4594,7 +4594,7 @@ async function readCronRunLogEntriesPageAll(opts) {
4594
4594
  const query = opts.query?.trim().toLowerCase() ?? "";
4595
4595
  const sortDir = opts.sortDir === "asc" ? "asc" : "desc";
4596
4596
  const runsDir = path.resolve(path.dirname(path.resolve(opts.storePath)), "runs");
4597
- const jsonlFiles = (await fsPromises.readdir(runsDir, { withFileTypes: true }).catch(() => [])).filter((entry) => entry.isFile() && entry.name.endsWith(".jsonl")).map((entry) => path.join(runsDir, entry.name));
4597
+ 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));
4598
4598
  if (jsonlFiles.length === 0) return {
4599
4599
  entries: [],
4600
4600
  total: 0,
@@ -4605,7 +4605,7 @@ async function readCronRunLogEntriesPageAll(opts) {
4605
4605
  };
4606
4606
  await Promise.all(jsonlFiles.map((f) => drainPendingWrite(f)));
4607
4607
  const filtered = filterRunLogEntries((await Promise.all(jsonlFiles.map(async (filePath) => {
4608
- return parseAllRunLogEntries(await fsPromises.readFile(filePath, "utf-8").catch(() => ""));
4608
+ return parseAllRunLogEntries(await fs$1.readFile(filePath, "utf-8").catch(() => ""));
4609
4609
  }))).flat(), {
4610
4610
  statuses,
4611
4611
  deliveryStatuses,
@@ -10013,7 +10013,7 @@ function resolveWorkspaceFilePathResultOrThrow(params) {
10013
10013
  }
10014
10014
  async function resolveWorkspaceRealPath(workspaceDir) {
10015
10015
  try {
10016
- return await fsPromises.realpath(workspaceDir);
10016
+ return await fs$1.realpath(workspaceDir);
10017
10017
  } catch {
10018
10018
  return path.resolve(workspaceDir);
10019
10019
  }
@@ -10042,7 +10042,7 @@ async function resolveAgentWorkspaceFilePath(params) {
10042
10042
  };
10043
10043
  let candidateLstat;
10044
10044
  try {
10045
- candidateLstat = await fsPromises.lstat(candidatePath);
10045
+ candidateLstat = await fs$1.lstat(candidatePath);
10046
10046
  } catch (err) {
10047
10047
  return resolveWorkspaceFilePathResultOrThrow({
10048
10048
  error: err,
@@ -10053,7 +10053,7 @@ async function resolveAgentWorkspaceFilePath(params) {
10053
10053
  if (candidateLstat.isSymbolicLink()) {
10054
10054
  let targetReal;
10055
10055
  try {
10056
- targetReal = await fsPromises.realpath(candidatePath);
10056
+ targetReal = await fs$1.realpath(candidatePath);
10057
10057
  } catch (err) {
10058
10058
  return resolveWorkspaceFilePathResultOrThrow({
10059
10059
  error: err,
@@ -10063,7 +10063,7 @@ async function resolveAgentWorkspaceFilePath(params) {
10063
10063
  }
10064
10064
  let targetStat;
10065
10065
  try {
10066
- targetStat = await fsPromises.stat(targetReal);
10066
+ targetStat = await fs$1.stat(targetReal);
10067
10067
  } catch (err) {
10068
10068
  return resolveWorkspaceFilePathResultOrThrow({
10069
10069
  error: err,
@@ -10101,13 +10101,13 @@ async function resolveAgentWorkspaceFilePath(params) {
10101
10101
  return {
10102
10102
  kind: "ready",
10103
10103
  requestPath,
10104
- ioPath: await fsPromises.realpath(candidatePath).catch(() => candidatePath),
10104
+ ioPath: await fs$1.realpath(candidatePath).catch(() => candidatePath),
10105
10105
  workspaceReal
10106
10106
  };
10107
10107
  }
10108
10108
  async function statFileSafely(filePath) {
10109
10109
  try {
10110
- const [stat, lstat] = await Promise.all([fsPromises.stat(filePath), fsPromises.lstat(filePath)]);
10110
+ const [stat, lstat] = await Promise.all([fs$1.stat(filePath), fs$1.lstat(filePath)]);
10111
10111
  if (lstat.isSymbolicLink() || !stat.isFile()) return null;
10112
10112
  if (stat.nlink > 1) return null;
10113
10113
  if (!sameFileIdentity(stat, lstat)) return null;
@@ -10201,7 +10201,7 @@ function respondAgentNotFound(respond, agentId) {
10201
10201
  async function moveToTrashBestEffort(pathname) {
10202
10202
  if (!pathname) return;
10203
10203
  try {
10204
- await fsPromises.access(pathname);
10204
+ await fs$1.access(pathname);
10205
10205
  } catch {
10206
10206
  return;
10207
10207
  }
@@ -10277,7 +10277,7 @@ const agentsHandlers = {
10277
10277
  dir: workspaceDir,
10278
10278
  ensureBootstrapFiles: !Boolean(nextConfig.agents?.defaults?.skipBootstrap)
10279
10279
  });
10280
- await fsPromises.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
10280
+ await fs$1.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
10281
10281
  await writeConfigFile(nextConfig);
10282
10282
  const safeName = sanitizeIdentityLine(rawName);
10283
10283
  const emoji = resolveOptionalStringParam(params.emoji);
@@ -10290,7 +10290,7 @@ const agentsHandlers = {
10290
10290
  ...avatar ? [`- Avatar: ${sanitizeIdentityLine(avatar)}`] : [],
10291
10291
  ""
10292
10292
  ];
10293
- await fsPromises.appendFile(identityPath, lines.join("\n"), "utf-8");
10293
+ await fs$1.appendFile(identityPath, lines.join("\n"), "utf-8");
10294
10294
  respond(true, {
10295
10295
  ok: true,
10296
10296
  agentId,
@@ -10325,9 +10325,9 @@ const agentsHandlers = {
10325
10325
  });
10326
10326
  if (avatar) {
10327
10327
  const workspace = workspaceDir ?? resolveAgentWorkspaceDir(nextConfig, agentId);
10328
- await fsPromises.mkdir(workspace, { recursive: true });
10328
+ await fs$1.mkdir(workspace, { recursive: true });
10329
10329
  const identityPath = path.join(workspace, DEFAULT_IDENTITY_FILENAME);
10330
- await fsPromises.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
10330
+ await fs$1.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
10331
10331
  }
10332
10332
  respond(true, {
10333
10333
  ok: true,
@@ -10451,7 +10451,7 @@ const agentsHandlers = {
10451
10451
  const resolved = resolveAgentWorkspaceFileOrRespondError(params, respond);
10452
10452
  if (!resolved) return;
10453
10453
  const { agentId, workspaceDir, name } = resolved;
10454
- await fsPromises.mkdir(workspaceDir, { recursive: true });
10454
+ await fs$1.mkdir(workspaceDir, { recursive: true });
10455
10455
  const filePath = path.join(workspaceDir, name);
10456
10456
  const resolvedPath = await resolveWorkspaceFilePathOrRespond({
10457
10457
  respond,
@@ -12782,14 +12782,14 @@ function isRollingLogFile(file) {
12782
12782
  return ROLLING_LOG_RE.test(path.basename(file));
12783
12783
  }
12784
12784
  async function resolveLogFile(file) {
12785
- if (await fsPromises.stat(file).catch(() => null)) return file;
12785
+ if (await fs$1.stat(file).catch(() => null)) return file;
12786
12786
  if (!isRollingLogFile(file)) return file;
12787
12787
  const dir = path.dirname(file);
12788
- const entries = await fsPromises.readdir(dir, { withFileTypes: true }).catch(() => null);
12788
+ const entries = await fs$1.readdir(dir, { withFileTypes: true }).catch(() => null);
12789
12789
  if (!entries) return file;
12790
12790
  return (await Promise.all(entries.filter((entry) => entry.isFile() && ROLLING_LOG_RE.test(entry.name)).map(async (entry) => {
12791
12791
  const fullPath = path.join(dir, entry.name);
12792
- const fileStat = await fsPromises.stat(fullPath).catch(() => null);
12792
+ const fileStat = await fs$1.stat(fullPath).catch(() => null);
12793
12793
  return fileStat ? {
12794
12794
  path: fullPath,
12795
12795
  mtimeMs: fileStat.mtimeMs
@@ -12797,7 +12797,7 @@ async function resolveLogFile(file) {
12797
12797
  }))).filter((entry) => Boolean(entry)).toSorted((a, b) => b.mtimeMs - a.mtimeMs)[0]?.path ?? file;
12798
12798
  }
12799
12799
  async function readLogSlice(params) {
12800
- const stat = await fsPromises.stat(params.file).catch(() => null);
12800
+ const stat = await fs$1.stat(params.file).catch(() => null);
12801
12801
  if (!stat) return {
12802
12802
  cursor: 0,
12803
12803
  size: 0,
@@ -12835,7 +12835,7 @@ async function readLogSlice(params) {
12835
12835
  truncated,
12836
12836
  reset
12837
12837
  };
12838
- const handle = await fsPromises.open(params.file, "r");
12838
+ const handle = await fs$1.open(params.file, "r");
12839
12839
  try {
12840
12840
  let prefix = "";
12841
12841
  if (start > 0) {
@@ -13817,7 +13817,7 @@ const nodeHandlers = {
13817
13817
  const p = params;
13818
13818
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
13819
13819
  await respondUnavailableOnThrow(respond, async () => {
13820
- const { handleNodeEvent } = await import("./server-node-events-DWQhNK-0.js");
13820
+ const { handleNodeEvent } = await import("./server-node-events-qU3NTncQ.js");
13821
13821
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
13822
13822
  await handleNodeEvent({
13823
13823
  deps: context.deps,
@@ -16848,7 +16848,7 @@ function normalizeAgentPayload(payload) {
16848
16848
  async function startBrowserControlServerIfEnabled() {
16849
16849
  if (isTruthyEnvValue(process.env.SQUIDCLAW_SKIP_BROWSER_CONTROL_SERVER)) return null;
16850
16850
  const override = process.env.SQUIDCLAW_BROWSER_CONTROL_MODULE?.trim();
16851
- const mod = override ? await import(override) : await import("./server-OfKJG6Bo.js");
16851
+ const mod = override ? await import(override) : await import("./server-Q9nnn04D.js");
16852
16852
  const start = typeof mod.startBrowserControlServiceFromConfig === "function" ? mod.startBrowserControlServiceFromConfig : mod.startBrowserControlServerFromConfig;
16853
16853
  const stop = typeof mod.stopBrowserControlService === "function" ? mod.stopBrowserControlService : mod.stopBrowserControlServer;
16854
16854
  if (!start) return null;
@@ -17076,7 +17076,7 @@ async function resolveFileWithinRoot(rootReal, urlPath) {
17076
17076
  if (normalized.endsWith("/")) return await tryOpen(path.posix.join(rel, "index.html"));
17077
17077
  const candidate = path.join(rootReal, rel);
17078
17078
  try {
17079
- const st = await fsPromises.lstat(candidate);
17079
+ const st = await fs$1.lstat(candidate);
17080
17080
  if (st.isSymbolicLink()) return null;
17081
17081
  if (st.isDirectory()) return await tryOpen(path.posix.join(rel, "index.html"));
17082
17082
  } catch {}
@@ -17113,8 +17113,8 @@ async function resolveA2uiRoot() {
17113
17113
  for (const dir of candidates) try {
17114
17114
  const indexPath = path.join(dir, "index.html");
17115
17115
  const bundlePath = path.join(dir, "a2ui.bundle.js");
17116
- await fsPromises.stat(indexPath);
17117
- await fsPromises.stat(bundlePath);
17116
+ await fs$1.stat(indexPath);
17117
+ await fs$1.stat(bundlePath);
17118
17118
  return dir;
17119
17119
  } catch {}
17120
17120
  return null;
@@ -17123,7 +17123,7 @@ async function resolveA2uiRootReal() {
17123
17123
  if (cachedA2uiRootReal !== void 0 && (cachedA2uiRootReal !== null || Date.now() - cachedA2uiResolvedAtMs < A2UI_ROOT_RETRY_NULL_AFTER_MS)) return cachedA2uiRootReal;
17124
17124
  if (!resolvingA2uiRoot) resolvingA2uiRoot = (async () => {
17125
17125
  const root = await resolveA2uiRoot();
17126
- cachedA2uiRootReal = root ? await fsPromises.realpath(root) : null;
17126
+ cachedA2uiRootReal = root ? await fs$1.realpath(root) : null;
17127
17127
  cachedA2uiResolvedAtMs = Date.now();
17128
17128
  resolvingA2uiRoot = null;
17129
17129
  return cachedA2uiRootReal;
@@ -17344,13 +17344,13 @@ function normalizeBasePath(rawPath) {
17344
17344
  }
17345
17345
  async function prepareCanvasRoot(rootDir) {
17346
17346
  await ensureDir(rootDir);
17347
- const rootReal = await fsPromises.realpath(rootDir);
17347
+ const rootReal = await fs$1.realpath(rootDir);
17348
17348
  try {
17349
17349
  const indexPath = path.join(rootReal, "index.html");
17350
- await fsPromises.stat(indexPath);
17350
+ await fs$1.stat(indexPath);
17351
17351
  } catch {
17352
17352
  try {
17353
- await fsPromises.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
17353
+ await fs$1.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
17354
17354
  } catch {}
17355
17355
  }
17356
17356
  return rootReal;
@@ -20396,7 +20396,7 @@ async function resolveGatewayOwnerStatus(pid, payload, platform, port) {
20396
20396
  }
20397
20397
  async function readLockPayload(lockPath) {
20398
20398
  try {
20399
- const raw = await fsPromises.readFile(lockPath, "utf8");
20399
+ const raw = await fs$1.readFile(lockPath, "utf8");
20400
20400
  const parsed = JSON.parse(raw);
20401
20401
  if (typeof parsed.pid !== "number") return null;
20402
20402
  if (typeof parsed.createdAt !== "string") return null;
@@ -20431,11 +20431,11 @@ async function acquireGatewayLock(opts = {}) {
20431
20431
  const platform = opts.platform ?? process.platform;
20432
20432
  const port = opts.port;
20433
20433
  const { lockPath, configPath } = resolveGatewayLockPath(env);
20434
- await fsPromises.mkdir(path.dirname(lockPath), { recursive: true });
20434
+ await fs$1.mkdir(path.dirname(lockPath), { recursive: true });
20435
20435
  const startedAt = Date.now();
20436
20436
  let lastPayload = null;
20437
20437
  while (Date.now() - startedAt < timeoutMs) try {
20438
- const handle = await fsPromises.open(lockPath, "wx");
20438
+ const handle = await fs$1.open(lockPath, "wx");
20439
20439
  const startTime = platform === "linux" ? readLinuxStartTime(process.pid) : null;
20440
20440
  const payload = {
20441
20441
  pid: process.pid,
@@ -20449,7 +20449,7 @@ async function acquireGatewayLock(opts = {}) {
20449
20449
  configPath,
20450
20450
  release: async () => {
20451
20451
  await handle.close().catch(() => void 0);
20452
- await fsPromises.rm(lockPath, { force: true });
20452
+ await fs$1.rm(lockPath, { force: true });
20453
20453
  }
20454
20454
  };
20455
20455
  } catch (err) {
@@ -20458,7 +20458,7 @@ async function acquireGatewayLock(opts = {}) {
20458
20458
  const ownerPid = lastPayload?.pid;
20459
20459
  const ownerStatus = ownerPid ? await resolveGatewayOwnerStatus(ownerPid, lastPayload, platform, port) : "unknown";
20460
20460
  if (ownerStatus === "dead" && ownerPid) {
20461
- await fsPromises.rm(lockPath, { force: true });
20461
+ await fs$1.rm(lockPath, { force: true });
20462
20462
  continue;
20463
20463
  }
20464
20464
  if (ownerStatus !== "alive") {
@@ -20468,13 +20468,13 @@ async function acquireGatewayLock(opts = {}) {
20468
20468
  stale = Number.isFinite(createdAt) ? Date.now() - createdAt > staleMs : false;
20469
20469
  }
20470
20470
  if (!stale) try {
20471
- const st = await fsPromises.stat(lockPath);
20471
+ const st = await fs$1.stat(lockPath);
20472
20472
  stale = Date.now() - st.mtimeMs > staleMs;
20473
20473
  } catch {
20474
20474
  stale = false;
20475
20475
  }
20476
20476
  if (stale) {
20477
- await fsPromises.rm(lockPath, { force: true });
20477
+ await fs$1.rm(lockPath, { force: true });
20478
20478
  continue;
20479
20479
  }
20480
20480
  }
@@ -22826,7 +22826,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
22826
22826
  if (!minimalTestGateway) cron.start().catch((err) => logCron.error(`failed to start: ${String(err)}`));
22827
22827
  if (!minimalTestGateway) (async () => {
22828
22828
  const { recoverPendingDeliveries } = await import("./delivery-queue-BHAfJDuf.js").then((n) => n.n);
22829
- const { deliverOutboundPayloads } = await import("./deliver-CVl43oM1.js").then((n) => n.n);
22829
+ const { deliverOutboundPayloads } = await import("./deliver-B1sllFkh.js").then((n) => n.n);
22830
22830
  await recoverPendingDeliveries({
22831
22831
  deliver: deliverOutboundPayloads,
22832
22832
  log: log.child("delivery-recovery"),