squidclaw 3.0.8 → 3.0.10

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 (194) hide show
  1. package/dist/{agents-6aZ5MtwI.js → agents-D1Kh-fk3.js} +1 -1
  2. package/dist/{audio-preflight-BTYxAJjy.js → audio-preflight-BKgdc7dS.js} +4 -4
  3. package/dist/{audio-transcription-runner-DBkDgluo.js → audio-transcription-runner-BnbdYMDl.js} +1 -1
  4. package/dist/{auth-choice-BoDJ6TOl.js → auth-choice-DLlZ8SJr.js} +1 -1
  5. package/dist/{auth-choice-DYgXmh79.js → auth-choice-DqZroYac.js} +2 -2
  6. package/dist/{auth-choice-CKWbxSjp.js → auth-choice-JF7Gy6QB.js} +2 -2
  7. package/dist/{auth-choice-FjsBJLJF.js → auth-choice-Qh2aWSu3.js} +1 -1
  8. package/dist/build-info.json +3 -3
  9. package/dist/bundled/boot-md/handler.js +6 -6
  10. package/dist/bundled/session-memory/handler.js +6 -6
  11. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  12. package/dist/{chrome-pBkBuWci.js → chrome-CjxCwFA9.js} +8 -8
  13. package/dist/cli/daemon-cli.js +1 -1
  14. package/dist/{command-registry-CGSJnTGc.js → command-registry-DUCyOBd1.js} +8 -8
  15. package/dist/{completion-cli-CnnbGfPk.js → completion-cli-BvLg6TUR.js} +1 -1
  16. package/dist/{completion-cli-6rDw9Vgd.js → completion-cli-CSUrTCzX.js} +2 -2
  17. package/dist/{config-cli-Bb8GJwFr.js → config-cli-Cd-bBJEj.js} +1 -1
  18. package/dist/{config-cli-DvcyIvFj.js → config-cli-Dr_JIBrw.js} +1 -1
  19. package/dist/{configure-CR_H0TGw.js → configure-BZ6ItDDb.js} +5 -5
  20. package/dist/{configure-BvLhk-vk.js → configure-SygAFeSR.js} +5 -5
  21. package/dist/{daemon-cli-B7j3r4qt.js → daemon-cli-DFPaz9xP.js} +5 -5
  22. package/dist/{daemon-cli-BPphu66E.js → daemon-cli-DJZIKYzT.js} +5 -5
  23. package/dist/daemon-cli.js +23 -30
  24. package/dist/{daemon-install-MOrssUh2.js → daemon-install-CCOOGwxT.js} +3 -3
  25. package/dist/{daemon-install-DSSFlp8W.js → daemon-install-DJoF2Wz3.js} +3 -3
  26. package/dist/{deliver-DBXe-ZmL.js → deliver-D-f6Wa3i.js} +1 -1
  27. package/dist/{deliver-runtime-GlnBJNCj.js → deliver-runtime-_egya0QZ.js} +3 -3
  28. package/dist/{deps-send-whatsapp.runtime-CslTuV47.js → deps-send-whatsapp.runtime-CiG6xd2e.js} +7 -7
  29. package/dist/{diagnostics-DvOqta_6.js → diagnostics-0TAnpHSE.js} +1 -1
  30. package/dist/{diagnostics-B7TvAs1Y.js → diagnostics-DG2Lz77X.js} +1 -1
  31. package/dist/{doctor-completion-CC0lUyzO.js → doctor-completion-BnZn8alS.js} +1 -1
  32. package/dist/{doctor-completion-D08-ZGv_.js → doctor-completion-DGug3-Aj.js} +1 -1
  33. package/dist/entry.js +2 -2
  34. package/dist/{exec-approvals-cli-Bnb5XQ6T.js → exec-approvals-cli-CDDgHzpg.js} +3 -3
  35. package/dist/{exec-approvals-cli-DJgyhlQI.js → exec-approvals-cli-CxXVtJrI.js} +3 -3
  36. package/dist/{gateway-cli-DxQPkbc5.js → gateway-cli-BAp-DLjN.js} +10 -10
  37. package/dist/{gateway-cli-1qoqHHCn.js → gateway-cli-CM0ztAq4.js} +10 -10
  38. package/dist/{image-j_UomzVG.js → image-C-C7hQ26.js} +1 -1
  39. package/dist/{image-runtime-BNh3IfMj.js → image-runtime-D7n4dID4.js} +3 -3
  40. package/dist/index.js +1 -1
  41. package/dist/{inspect-Bwnw_UjM.js → inspect-DLik2FMq.js} +1 -1
  42. package/dist/{inspect-Dv0VyA0s.js → inspect-FnsCebWG.js} +1 -1
  43. package/dist/{lifecycle-core-C3gBUQyA.js → lifecycle-core-DMMLEqYN.js} +3 -3
  44. package/dist/{lifecycle-core-C6bIL3hq.js → lifecycle-core-DtY6w3ub.js} +3 -3
  45. package/dist/llm-slug-generator.js +6 -6
  46. package/dist/{model-picker-MhyQtM_M.js → model-picker-CeqG7aGB.js} +2 -2
  47. package/dist/{model-picker-BMUukKtX.js → model-picker-DVY4bpQj.js} +2 -2
  48. package/dist/{node-cli-BNY4sO1l.js → node-cli-CfwK794P.js} +5 -5
  49. package/dist/{node-cli-DG15lK9m.js → node-cli-zyRorl51.js} +5 -5
  50. package/dist/{node-service-DJ2PdPiI.js → node-service-BB2b76l8.js} +1 -1
  51. package/dist/{node-service-BA4mUxAW.js → node-service-DjfbZKKZ.js} +1 -1
  52. package/dist/{onboard-Cblf5YfI.js → onboard-Ce20Oyng.js} +3 -3
  53. package/dist/{onboard-DNVPNtLC.js → onboard-WMgKYIrD.js} +3 -3
  54. package/dist/{onboard-custom-xZqh5J3l.js → onboard-custom-Cq4RYUaZ.js} +1 -1
  55. package/dist/{onboard-custom-DRKG6mwB.js → onboard-custom-DvQCIxyh.js} +1 -1
  56. package/dist/{onboarding-DMoDasxG.js → onboarding-Ct4Rx7wJ.js} +4 -4
  57. package/dist/{onboarding-DG1HG1hZ.js → onboarding-DgsOXxxB.js} +4 -4
  58. package/dist/{onboarding.finalize-C73A2Ey4.js → onboarding.finalize-DS68yQZn.js} +6 -6
  59. package/dist/{onboarding.finalize-D4zecIE7.js → onboarding.finalize-DxhWHf4_.js} +7 -7
  60. package/dist/{pi-embedded-BP2UlUm_.js → pi-embedded-CHzwPt6X.js} +24 -24
  61. package/dist/{pi-embedded-helpers-CmLnmKlb.js → pi-embedded-helpers-Bse_QhEf.js} +3 -3
  62. package/dist/plugin-sdk/{accounts-kr-Gz1hk.js → accounts-DghIDNk2.js} +2 -2
  63. package/dist/plugin-sdk/{accounts-CxUSDHsT.js → accounts-YTdQYQFr.js} +3 -3
  64. package/dist/plugin-sdk/{accounts-PSzw-z3S.js → accounts-h__dTrLK.js} +2 -2
  65. package/dist/plugin-sdk/{active-listener-BQNrTcR3.js → active-listener-_PRYjtJv.js} +2 -2
  66. package/dist/plugin-sdk/{api-key-rotation-DE4gr5YM.js → api-key-rotation-mVDSAkKQ.js} +2 -2
  67. package/dist/plugin-sdk/{audio-preflight-_xgGaeho.js → audio-preflight-BZlQM-qX.js} +26 -26
  68. package/dist/plugin-sdk/{audio-transcription-runner-Dwc0Eh-B.js → audio-transcription-runner-CrYTX8py.js} +11 -11
  69. package/dist/plugin-sdk/{audit-membership-runtime-DHQDvH4u.js → audit-membership-runtime-Xl20kCBe.js} +2 -2
  70. package/dist/plugin-sdk/{channel-activity-XajEg_DL.js → channel-activity-gwxRn4wF.js} +3 -3
  71. package/dist/plugin-sdk/{channel-web-KtqCp4mz.js → channel-web-1WF-Nabe.js} +18 -18
  72. package/dist/plugin-sdk/{chrome-diV5m81I.js → chrome-BXbYwXRH.js} +6 -6
  73. package/dist/plugin-sdk/{commands-registry-DwZAJuut.js → commands-registry-0w-aZenK.js} +4 -4
  74. package/dist/plugin-sdk/{common-CqnO92P8.js → common-DBOCt6Yv.js} +2 -2
  75. package/dist/plugin-sdk/{config-DYbtdrsT.js → config-pRtEoVyZ.js} +7 -7
  76. package/dist/plugin-sdk/{deliver-DG_7Uagn.js → deliver-FjlJrtZk.js} +10 -10
  77. package/dist/plugin-sdk/deliver-runtime-DEzvpBW1.js +32 -0
  78. package/dist/plugin-sdk/deps-send-discord.runtime-Bhusa_Hi.js +23 -0
  79. package/dist/plugin-sdk/deps-send-imessage.runtime-bmakPm5f.js +22 -0
  80. package/dist/plugin-sdk/deps-send-signal.runtime-n00sfFto.js +21 -0
  81. package/dist/plugin-sdk/deps-send-slack.runtime-BvM3Z-Mr.js +19 -0
  82. package/dist/plugin-sdk/deps-send-telegram.runtime-CPuMkcmo.js +24 -0
  83. package/dist/plugin-sdk/deps-send-whatsapp.runtime-BzO6S-KX.js +57 -0
  84. package/dist/plugin-sdk/{diagnostic-CT7v_kM2.js → diagnostic-Dt2i3afe.js} +2 -2
  85. package/dist/plugin-sdk/{errors-9oVz7reJ.js → errors-CgRPdp3o.js} +1 -1
  86. package/dist/plugin-sdk/{fetch-guard-Or5BCq0E.js → fetch-guard-DyPZh8r2.js} +2 -2
  87. package/dist/plugin-sdk/{fs-safe-DFbwq9CS.js → fs-safe-DqCO1D4C.js} +3 -3
  88. package/dist/plugin-sdk/{image-rycGCqJO.js → image-CQ9TZ9vq.js} +6 -6
  89. package/dist/plugin-sdk/{image-ops-CMsocOob.js → image-ops-sw0uZ0GN.js} +2 -2
  90. package/dist/plugin-sdk/image-runtime-17_mTqsy.js +25 -0
  91. package/dist/plugin-sdk/imessage.js +2 -2
  92. package/dist/plugin-sdk/{ir-DihI2SIz.js → ir-BVZ5kUMb.js} +7 -7
  93. package/dist/plugin-sdk/{local-roots-1xVosTZ4.js → local-roots-fO3ZgW3G.js} +4 -4
  94. package/dist/plugin-sdk/{logger-Bg4vIUJn.js → logger-DIb2cGHp.js} +2 -2
  95. package/dist/plugin-sdk/{login-YhFrVUWo.js → login-Dg5cxB_3.js} +4 -4
  96. package/dist/plugin-sdk/{login-qr-SpUTuwYv.js → login-qr-C3Vn30cq.js} +5 -5
  97. package/dist/plugin-sdk/{manager-DrzOPeMD.js → manager-BR-TwWTH.js} +8 -8
  98. package/dist/plugin-sdk/manager-runtime-CvI9wF8N.js +15 -0
  99. package/dist/plugin-sdk/{outbound-Cc4cUn9K.js → outbound-1a3Z_QJ2.js} +5 -5
  100. package/dist/plugin-sdk/{outbound-attachment-Dtp3hQgc.js → outbound-attachment-BTQjD4YE.js} +2 -2
  101. package/dist/plugin-sdk/{path-alias-guards-DA0MhfkG.js → path-alias-guards-TnxupPQC.js} +1 -1
  102. package/dist/plugin-sdk/{paths-CP67O8eN.js → paths-B7_75Pdr.js} +1 -1
  103. package/dist/plugin-sdk/{pi-embedded-helpers-BDJ_4Plh.js → pi-embedded-helpers-DZRNadD8.js} +16 -16
  104. package/dist/plugin-sdk/{pi-model-discovery-Mk0GTDJl.js → pi-model-discovery-DGh6xekX.js} +1 -1
  105. package/dist/plugin-sdk/pi-model-discovery-runtime-DjjBdPYt.js +8 -0
  106. package/dist/plugin-sdk/{pi-tools.before-tool-call.runtime-DV72wTDb.js → pi-tools.before-tool-call.runtime-BZ9XgG_x.js} +4 -4
  107. package/dist/plugin-sdk/{plugins-DSs2-fnK.js → plugins-B8pWVYug.js} +4 -4
  108. package/dist/plugin-sdk/{proxy-env-Ib4-LUh-.js → proxy-env-BOlkiW1-.js} +1 -1
  109. package/dist/plugin-sdk/{proxy-fetch-Cf3IUSDw.js → proxy-fetch-Dt5BedH8.js} +1 -1
  110. package/dist/plugin-sdk/{pw-ai-DIx2wpkY.js → pw-ai-C17A1o4w.js} +9 -9
  111. package/dist/plugin-sdk/{qmd-manager-Ov9ElEfG.js → qmd-manager-Bei6TaFq.js} +7 -7
  112. package/dist/plugin-sdk/{query-expansion-CzjwW461.js → query-expansion-POz2za8a.js} +4 -4
  113. package/dist/plugin-sdk/{redact-DfACyt0X.js → redact-9WsNyb7S.js} +1 -1
  114. package/dist/plugin-sdk/{reply-CWWUd_JS.js → reply-BFbijn6_.js} +73 -73
  115. package/dist/plugin-sdk/{resolve-outbound-target-BOkvxZtM.js → resolve-outbound-target-B9iFEh0y.js} +2 -2
  116. package/dist/plugin-sdk/{run-with-concurrency-kVooFCVo.js → run-with-concurrency-DmTrN5JG.js} +1 -1
  117. package/dist/plugin-sdk/runtime-whatsapp-login.runtime-DzhkSmLi.js +10 -0
  118. package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-DyILWezU.js +19 -0
  119. package/dist/plugin-sdk/{send-BP1fSEBR.js → send-BGZo6HW1.js} +5 -5
  120. package/dist/plugin-sdk/{send-D9CSOGul.js → send-BisREGBZ.js} +6 -6
  121. package/dist/plugin-sdk/{send-BeLBlAsQ.js → send-BqkUDZed.js} +13 -13
  122. package/dist/plugin-sdk/{send-DLKxJJYV.js → send-D6_nNvi0.js} +8 -8
  123. package/dist/plugin-sdk/{send-XZ6IXCtL.js → send-Dj7XEcZN.js} +7 -7
  124. package/dist/plugin-sdk/{session-DtLUYWvY.js → session-D4KDs7Hq.js} +3 -3
  125. package/dist/plugin-sdk/signal.js +2 -2
  126. package/dist/plugin-sdk/{skill-commands-Bv7EZypt.js → skill-commands-D_xeseiI.js} +4 -4
  127. package/dist/plugin-sdk/{skills-BzXN4uev.js → skills-Bs2b3JfV.js} +6 -6
  128. package/dist/plugin-sdk/slash-commands.runtime-CUb5sqqf.js +13 -0
  129. package/dist/plugin-sdk/slash-dispatch.runtime-DCB6bGjB.js +52 -0
  130. package/dist/plugin-sdk/slash-skill-commands.runtime-BqEweE4K.js +16 -0
  131. package/dist/plugin-sdk/{store-DnJhFFW5.js → store-B7ESm9_L.js} +2 -2
  132. package/dist/plugin-sdk/subagent-registry-runtime-CCUW4SbM.js +52 -0
  133. package/dist/plugin-sdk/{tables-CpmqssLF.js → tables-1vhBJPK_.js} +1 -1
  134. package/dist/plugin-sdk/{thinking-1UCPuD9d.js → thinking-DjaClmzi.js} +7 -7
  135. package/dist/plugin-sdk/{tokens-DAL_5WHL.js → tokens-CLE20fRI.js} +1 -1
  136. package/dist/plugin-sdk/{tool-images-RX4QTMnt.js → tool-images-B95xcwiR.js} +2 -2
  137. package/dist/plugin-sdk/web-DeRmHQ4_.js +56 -0
  138. package/dist/plugin-sdk/{whatsapp-actions-BF6ih4Gi.js → whatsapp-actions-BYpcWkTN.js} +17 -17
  139. package/dist/plugin-sdk/whatsapp.js +50 -50
  140. package/dist/plugin-sdk/zalouser.js +2 -2
  141. package/dist/{program-B6qrkS8k.js → program-CGnpqaIZ.js} +2 -2
  142. package/dist/{program-context-BI4RLPKE.js → program-context-YzgE3bAD.js} +13 -13
  143. package/dist/{prompt-select-styled-DgOGstZD.js → prompt-select-styled-D0pkL6H_.js} +7 -7
  144. package/dist/{prompt-select-styled-15p-EqkU.js → prompt-select-styled-DiMjgSXS.js} +7 -7
  145. package/dist/{pw-ai-7kHgUGj0.js → pw-ai-BwRP3TWc.js} +1 -1
  146. package/dist/{register.agent-CKQDO-Ln.js → register.agent-Bgdw1l9e.js} +3 -3
  147. package/dist/{register.agent-Bk8XUUdB.js → register.agent-gaecxMYP.js} +2 -2
  148. package/dist/{register.configure-CRVwhLCu.js → register.configure-CXK0g5TX.js} +7 -7
  149. package/dist/{register.configure-pqjsFCmc.js → register.configure-JuX1GlLT.js} +7 -7
  150. package/dist/{register.maintenance-C4XxOMVa.js → register.maintenance-CKOdhzP0.js} +10 -10
  151. package/dist/{register.maintenance-CTGczchl.js → register.maintenance-DyUX79UM.js} +9 -9
  152. package/dist/{register.onboard-DQ-fbOHv.js → register.onboard-B1V4Jit6.js} +2 -2
  153. package/dist/{register.onboard-B7sv06Nj.js → register.onboard-D8yAudVg.js} +2 -2
  154. package/dist/{register.setup-DOBBtw-F.js → register.setup-BQA072ul.js} +2 -2
  155. package/dist/{register.setup-CkieBd76.js → register.setup-DMP-58qd.js} +2 -2
  156. package/dist/{register.status-health-sessions-B3hsvwPb.js → register.status-health-sessions-BKbPZSFr.js} +5 -5
  157. package/dist/{register.status-health-sessions-B1n45-Cb.js → register.status-health-sessions-Dn9Vgyzt.js} +5 -5
  158. package/dist/{register.subclis-B2-bYRai.js → register.subclis-CdhuSeWY.js} +6 -6
  159. package/dist/{run-main--RtRUDZ1.js → run-main-C5BiexaH.js} +7 -7
  160. package/dist/{service-D6lUMZKF.js → service-C7cnow9v.js} +1 -1
  161. package/dist/{service-DWcwQCyr.js → service-Dzjv6Q-l.js} +1 -1
  162. package/dist/{shared-BpdBkle5.js → shared-DHo531sq.js} +1 -1
  163. package/dist/{shared-DEKzP77M.js → shared-DICsiPXv.js} +1 -1
  164. package/dist/{slash-dispatch.runtime-Dh2L_3Tg.js → slash-dispatch.runtime-DuJRl-LD.js} +6 -6
  165. package/dist/{status-FEZLL4zc.js → status-BRABC_jk.js} +3 -3
  166. package/dist/{status-C0aKFAb1.js → status-Dylkp0Eb.js} +3 -3
  167. package/dist/{subagent-registry-runtime-BRNDawlJ.js → subagent-registry-runtime-COygB9b1.js} +6 -6
  168. package/dist/{systemd-CD8s-qZ_.js → systemd-BqXjET4w.js} +27 -39
  169. package/dist/{systemd-DEyfdNKS.js → systemd-DgeSm0Fg.js} +27 -39
  170. package/dist/{systemd-hints-BylRxjER.js → systemd-hints-DDOoq1Ph.js} +2 -2
  171. package/dist/{systemd-hints-CuQVI0A1.js → systemd-hints-F4o_ziad.js} +2 -2
  172. package/dist/{systemd-linger-BL2Ex5My.js → systemd-linger-B7J3aXhx.js} +1 -1
  173. package/dist/{systemd-linger-BVu_9dOp.js → systemd-linger-iIqcMjee.js} +1 -1
  174. package/dist/{update-cli-DbO-YsuU.js → update-cli-BlSVu-pH.js} +12 -12
  175. package/dist/{update-cli-B7QjEzzI.js → update-cli-CUACfIGf.js} +11 -11
  176. package/dist/{web-B7kbCskR.js → web-DyCuTR9b.js} +6 -6
  177. package/package.json +1 -1
  178. package/dist/plugin-sdk/deliver-runtime-BdTC7uKE.js +0 -32
  179. package/dist/plugin-sdk/deps-send-discord.runtime-CObCNMt3.js +0 -23
  180. package/dist/plugin-sdk/deps-send-imessage.runtime-DlWgi2DH.js +0 -22
  181. package/dist/plugin-sdk/deps-send-signal.runtime-Cz7FT8J8.js +0 -21
  182. package/dist/plugin-sdk/deps-send-slack.runtime-D4vDoRsg.js +0 -19
  183. package/dist/plugin-sdk/deps-send-telegram.runtime-DjTVED_m.js +0 -24
  184. package/dist/plugin-sdk/deps-send-whatsapp.runtime-CRWOIKRC.js +0 -57
  185. package/dist/plugin-sdk/image-runtime-Cjz368oj.js +0 -25
  186. package/dist/plugin-sdk/manager-runtime-CF55pBNe.js +0 -15
  187. package/dist/plugin-sdk/pi-model-discovery-runtime-BrwtJHPU.js +0 -8
  188. package/dist/plugin-sdk/runtime-whatsapp-login.runtime-DitS0I1z.js +0 -10
  189. package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-CYCr6A3v.js +0 -19
  190. package/dist/plugin-sdk/slash-commands.runtime-Bx1K1iqP.js +0 -13
  191. package/dist/plugin-sdk/slash-dispatch.runtime-DVn338JI.js +0 -52
  192. package/dist/plugin-sdk/slash-skill-commands.runtime-Dbi_YzPO.js +0 -16
  193. package/dist/plugin-sdk/subagent-registry-runtime-FhP0l-Rw.js +0 -52
  194. package/dist/plugin-sdk/web-AtEy-48y.js +0 -56
@@ -17,7 +17,7 @@ import { a as pruneAgentConfig, i as loadAgentIdentity, n as buildAgentSummaries
17
17
  import { r as setupChannels } from "./onboard-channels-Dt3KBZ1w.js";
18
18
  import { n as logConfigUpdated } from "./logging-ZAeFsd9K.js";
19
19
  import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-4mupmvzh.js";
20
- import { i as applyAuthChoice, r as warnIfModelConfigLooksOff } from "./auth-choice-BoDJ6TOl.js";
20
+ import { i as applyAuthChoice, r as warnIfModelConfigLooksOff } from "./auth-choice-DLlZ8SJr.js";
21
21
  import path from "node:path";
22
22
  import fs from "node:fs/promises";
23
23
 
@@ -11,8 +11,8 @@ import "./plugins-DXkm70nK.js";
11
11
  import "./accounts-CkF7YwoF.js";
12
12
  import "./accounts-DbloMfwT.js";
13
13
  import "./image-ops-CdgypS_g.js";
14
- import "./pi-embedded-helpers-CmLnmKlb.js";
15
- import "./chrome-pBkBuWci.js";
14
+ import "./pi-embedded-helpers-Bse_QhEf.js";
15
+ import "./chrome-CjxCwFA9.js";
16
16
  import "./frontmatter-Cq1TcIQ2.js";
17
17
  import "./skills-CTV78w4q.js";
18
18
  import "./path-alias-guards-DORgbZ1w.js";
@@ -24,8 +24,8 @@ import "./store-B89Hj8Ub.js";
24
24
  import "./accounts-CK_sHUyT.js";
25
25
  import "./paths-DSd911Oe.js";
26
26
  import "./tool-images-8BKrL7Bn.js";
27
- import "./image-j_UomzVG.js";
28
- import { g as isAudioAttachment, i as normalizeMediaAttachments, o as resolveMediaAttachmentLocalRoots, t as runAudioTranscription } from "./audio-transcription-runner-DBkDgluo.js";
27
+ import "./image-C-C7hQ26.js";
28
+ import { g as isAudioAttachment, i as normalizeMediaAttachments, o as resolveMediaAttachmentLocalRoots, t as runAudioTranscription } from "./audio-transcription-runner-BnbdYMDl.js";
29
29
  import "./fetch-BLS7EMnx.js";
30
30
  import "./fetch-guard-D0fXNJls.js";
31
31
  import "./api-key-rotation-BHFJiYbw.js";
@@ -4,7 +4,7 @@ import { _ as runExec } from "./workspace-kVMIaBrV.js";
4
4
  import { M as resolveApiKeyForProvider, X as loadConfig, at as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, c as normalizeProviderId, ct as resolveIMessageAttachmentRoots, g as normalizeGoogleModelId, ir as resolveSquidClawAgentDir, j as requireApiKey, ot as isInboundPathAllowed, st as mergeInboundPathRoots } from "./model-selection-ag9BmVct.js";
5
5
  import { _ as normalizeChatType } from "./plugins-DXkm70nK.js";
6
6
  import { E as kindFromMime, S as getFileExtension, b as detectMime, w as isAudioFileName } from "./image-ops-CdgypS_g.js";
7
- import { t as describeImageWithModel, w as ensureSquidClawModelsJson } from "./image-j_UomzVG.js";
7
+ import { t as describeImageWithModel, w as ensureSquidClawModelsJson } from "./image-C-C7hQ26.js";
8
8
  import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia, t as MediaFetchError } from "./fetch-BLS7EMnx.js";
9
9
  import { n as fetchWithTimeout } from "./fetch-timeout-Wgx3OXYj.js";
10
10
  import { t as fetchWithSsrFGuard } from "./fetch-guard-D0fXNJls.js";
@@ -9,7 +9,7 @@ import { a as normalizeSecretInputModeInput, c as resolveSecretInputModeForEnvSe
9
9
  import { $ as ZAI_DEFAULT_MODEL_REF, A as applyTogetherConfig, B as applyLitellmConfig, C as applyMoonshotProviderConfigCn, Ct as writeOAuthCredentials, D as applyQianfanProviderConfig, Dt as QIANFAN_DEFAULT_MODEL_REF, E as applyQianfanConfig, Et as MOONSHOT_DEFAULT_MODEL_REF, F as applyXaiProviderConfig, G as applyVercelAiGatewayProviderConfig, H as applyCloudflareAiGatewayConfig, I as applyXiaomiConfig, J as LITELLM_DEFAULT_MODEL_REF, K as applyAgentDefaultModelPrimary, L as applyXiaomiProviderConfig, M as applyVeniceConfig, N as applyVeniceProviderConfig, O as applySyntheticConfig, Ot as XAI_DEFAULT_MODEL_REF, P as applyXaiConfig, Q as XIAOMI_DEFAULT_MODEL_REF, R as applyZaiConfig, S as applyMoonshotProviderConfig, St as setZaiApiKey, T as applyOpenrouterProviderConfig, Tt as MISTRAL_DEFAULT_MODEL_REF, U as applyCloudflareAiGatewayProviderConfig, V as applyLitellmProviderConfig, W as applyVercelAiGatewayConfig, X as TOGETHER_DEFAULT_MODEL_REF, Y as OPENROUTER_DEFAULT_MODEL_REF, Z as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, _ as applyKimiCodeProviderConfig, _t as setVeniceApiKey, a as applyMinimaxApiConfig, at as setKilocodeApiKey, b as applyMoonshotConfig, bt as setXaiApiKey, c as applyMinimaxApiProviderConfigCn, ct as setMinimaxApiKey, d as applyAuthProfileConfig, dt as setOpenaiApiKey, et as setAnthropicApiKey, ft as setOpencodeZenApiKey, g as applyKimiCodeConfig, gt as setTogetherApiKey, h as applyKilocodeProviderConfig, ht as setSyntheticApiKey, i as applyOpencodeZenProviderConfig, it as setHuggingfaceApiKey, j as applyTogetherProviderConfig, k as applySyntheticProviderConfig, l as applyMinimaxConfig, lt as setMistralApiKey, m as applyKilocodeConfig, mt as setQianfanApiKey, n as validateAnthropicSetupToken, nt as setCloudflareAiGatewayConfig, o as applyMinimaxApiConfigCn, ot as setKimiCodingApiKey, p as applyHuggingfaceProviderConfig, pt as setOpenrouterApiKey, q as HUGGINGFACE_DEFAULT_MODEL_REF, r as applyOpencodeZenConfig, rt as setGeminiApiKey, s as applyMinimaxApiProviderConfig, st as setLitellmApiKey, t as buildTokenProfileId, tt as setByteplusApiKey, u as applyMinimaxProviderConfig, ut as setMoonshotApiKey, v as applyMistralConfig, vt as setVercelAiGatewayApiKey, w as applyOpenrouterConfig, wt as KIMI_CODING_MODEL_REF, x as applyMoonshotConfigCn, xt as setXiaomiApiKey, y as applyMistralProviderConfig, yt as setVolcengineApiKey, z as applyZaiProviderConfig } from "./auth-token-D8eHvwMb.js";
10
10
  import { a as createVpsAwareOAuthHandlers, c as githubCopilotLoginCommand, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-HUTJPJzR.js";
11
11
  import { a as GOOGLE_GEMINI_DEFAULT_MODEL, i as detectZaiEndpoint, n as applyOpenAIConfig, o as applyGoogleGeminiModelDefault, r as applyOpenAIProviderConfig, t as OPENAI_DEFAULT_MODEL } from "./openai-model-default-BYZDBOLH.js";
12
- import { c as OPENAI_CODEX_DEFAULT_MODEL, l as applyOpenAICodexModelDefault, r as applyPrimaryModel, s as promptAndConfigureVllm } from "./model-picker-MhyQtM_M.js";
12
+ import { c as OPENAI_CODEX_DEFAULT_MODEL, l as applyOpenAICodexModelDefault, r as applyPrimaryModel, s as promptAndConfigureVllm } from "./model-picker-CeqG7aGB.js";
13
13
  import { r as runOpenAIOAuthTlsPreflight, t as formatOpenAIOAuthTlsPreflightFix } from "./oauth-tls-preflight-6-9iUInB.js";
14
14
  import { loginOpenAICodex } from "@mariozechner/pi-ai";
15
15
  import { randomBytes } from "node:crypto";
@@ -21,8 +21,8 @@ import "./issue-format-CJF4zrPW.js";
21
21
  import "./shared-DVCd_nv2.js";
22
22
  import { A as applyTogetherConfig, B as applyLitellmConfig, E as applyQianfanConfig, H as applyCloudflareAiGatewayConfig, I as applyXiaomiConfig, M as applyVeniceConfig, O as applySyntheticConfig, P as applyXaiConfig, R as applyZaiConfig, St as setZaiApiKey, W as applyVercelAiGatewayConfig, _t as setVeniceApiKey, a as applyMinimaxApiConfig, at as setKilocodeApiKey, b as applyMoonshotConfig, bt as setXaiApiKey, ct as setMinimaxApiKey, d as applyAuthProfileConfig, dt as setOpenaiApiKey, et as setAnthropicApiKey, f as applyHuggingfaceConfig, ft as setOpencodeZenApiKey, g as applyKimiCodeConfig, gt as setTogetherApiKey, ht as setSyntheticApiKey, it as setHuggingfaceApiKey, l as applyMinimaxConfig, lt as setMistralApiKey, m as applyKilocodeConfig, mt as setQianfanApiKey, n as validateAnthropicSetupToken, nt as setCloudflareAiGatewayConfig, o as applyMinimaxApiConfigCn, ot as setKimiCodingApiKey, pt as setOpenrouterApiKey, r as applyOpencodeZenConfig, rt as setGeminiApiKey, st as setLitellmApiKey, t as buildTokenProfileId, tt as setByteplusApiKey, ut as setMoonshotApiKey, v as applyMistralConfig, vt as setVercelAiGatewayApiKey, w as applyOpenrouterConfig, x as applyMoonshotConfigCn, xt as setXiaomiApiKey, yt as setVolcengineApiKey } from "./auth-token-Rzhjv-mo.js";
23
23
  import { i as detectZaiEndpoint, n as applyOpenAIConfig, o as applyGoogleGeminiModelDefault } from "./openai-model-default-BJvl-wjq.js";
24
- import { r as applyPrimaryModel } from "./model-picker-BMUukKtX.js";
25
- import { i as parseNonInteractiveCustomApiFlags, n as applyCustomApiConfig, o as resolveCustomProviderId, t as CustomApiError } from "./onboard-custom-xZqh5J3l.js";
24
+ import { r as applyPrimaryModel } from "./model-picker-DVY4bpQj.js";
25
+ import { i as parseNonInteractiveCustomApiFlags, n as applyCustomApiConfig, o as resolveCustomProviderId, t as CustomApiError } from "./onboard-custom-Cq4RYUaZ.js";
26
26
 
27
27
  //#region src/commands/onboard-non-interactive/api-keys.ts
28
28
  function parseEnvVarNameFromSourceLabel(source) {
@@ -21,8 +21,8 @@ import "./issue-format-CVVBG2XC.js";
21
21
  import "./shared-DIMaxrU0.js";
22
22
  import { A as applyTogetherConfig, B as applyLitellmConfig, E as applyQianfanConfig, H as applyCloudflareAiGatewayConfig, I as applyXiaomiConfig, M as applyVeniceConfig, O as applySyntheticConfig, P as applyXaiConfig, R as applyZaiConfig, St as setZaiApiKey, W as applyVercelAiGatewayConfig, _t as setVeniceApiKey, a as applyMinimaxApiConfig, at as setKilocodeApiKey, b as applyMoonshotConfig, bt as setXaiApiKey, ct as setMinimaxApiKey, d as applyAuthProfileConfig, dt as setOpenaiApiKey, et as setAnthropicApiKey, f as applyHuggingfaceConfig, ft as setOpencodeZenApiKey, g as applyKimiCodeConfig, gt as setTogetherApiKey, ht as setSyntheticApiKey, it as setHuggingfaceApiKey, l as applyMinimaxConfig, lt as setMistralApiKey, m as applyKilocodeConfig, mt as setQianfanApiKey, n as validateAnthropicSetupToken, nt as setCloudflareAiGatewayConfig, o as applyMinimaxApiConfigCn, ot as setKimiCodingApiKey, pt as setOpenrouterApiKey, r as applyOpencodeZenConfig, rt as setGeminiApiKey, st as setLitellmApiKey, t as buildTokenProfileId, tt as setByteplusApiKey, ut as setMoonshotApiKey, v as applyMistralConfig, vt as setVercelAiGatewayApiKey, w as applyOpenrouterConfig, x as applyMoonshotConfigCn, xt as setXiaomiApiKey, yt as setVolcengineApiKey } from "./auth-token-D8eHvwMb.js";
23
23
  import { i as detectZaiEndpoint, n as applyOpenAIConfig, o as applyGoogleGeminiModelDefault } from "./openai-model-default-BYZDBOLH.js";
24
- import { r as applyPrimaryModel } from "./model-picker-MhyQtM_M.js";
25
- import { i as parseNonInteractiveCustomApiFlags, n as applyCustomApiConfig, o as resolveCustomProviderId, t as CustomApiError } from "./onboard-custom-DRKG6mwB.js";
24
+ import { r as applyPrimaryModel } from "./model-picker-CeqG7aGB.js";
25
+ import { i as parseNonInteractiveCustomApiFlags, n as applyCustomApiConfig, o as resolveCustomProviderId, t as CustomApiError } from "./onboard-custom-DvQCIxyh.js";
26
26
 
27
27
  //#region src/commands/onboard-non-interactive/api-keys.ts
28
28
  function parseEnvVarNameFromSourceLabel(source) {
@@ -9,7 +9,7 @@ import { a as normalizeSecretInputModeInput, c as resolveSecretInputModeForEnvSe
9
9
  import { $ as ZAI_DEFAULT_MODEL_REF, A as applyTogetherConfig, B as applyLitellmConfig, C as applyMoonshotProviderConfigCn, Ct as writeOAuthCredentials, D as applyQianfanProviderConfig, Dt as QIANFAN_DEFAULT_MODEL_REF, E as applyQianfanConfig, Et as MOONSHOT_DEFAULT_MODEL_REF, F as applyXaiProviderConfig, G as applyVercelAiGatewayProviderConfig, H as applyCloudflareAiGatewayConfig, I as applyXiaomiConfig, J as LITELLM_DEFAULT_MODEL_REF, K as applyAgentDefaultModelPrimary, L as applyXiaomiProviderConfig, M as applyVeniceConfig, N as applyVeniceProviderConfig, O as applySyntheticConfig, Ot as XAI_DEFAULT_MODEL_REF, P as applyXaiConfig, Q as XIAOMI_DEFAULT_MODEL_REF, R as applyZaiConfig, S as applyMoonshotProviderConfig, St as setZaiApiKey, T as applyOpenrouterProviderConfig, Tt as MISTRAL_DEFAULT_MODEL_REF, U as applyCloudflareAiGatewayProviderConfig, V as applyLitellmProviderConfig, W as applyVercelAiGatewayConfig, X as TOGETHER_DEFAULT_MODEL_REF, Y as OPENROUTER_DEFAULT_MODEL_REF, Z as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, _ as applyKimiCodeProviderConfig, _t as setVeniceApiKey, a as applyMinimaxApiConfig, at as setKilocodeApiKey, b as applyMoonshotConfig, bt as setXaiApiKey, c as applyMinimaxApiProviderConfigCn, ct as setMinimaxApiKey, d as applyAuthProfileConfig, dt as setOpenaiApiKey, et as setAnthropicApiKey, ft as setOpencodeZenApiKey, g as applyKimiCodeConfig, gt as setTogetherApiKey, h as applyKilocodeProviderConfig, ht as setSyntheticApiKey, i as applyOpencodeZenProviderConfig, it as setHuggingfaceApiKey, j as applyTogetherProviderConfig, k as applySyntheticProviderConfig, l as applyMinimaxConfig, lt as setMistralApiKey, m as applyKilocodeConfig, mt as setQianfanApiKey, n as validateAnthropicSetupToken, nt as setCloudflareAiGatewayConfig, o as applyMinimaxApiConfigCn, ot as setKimiCodingApiKey, p as applyHuggingfaceProviderConfig, pt as setOpenrouterApiKey, q as HUGGINGFACE_DEFAULT_MODEL_REF, r as applyOpencodeZenConfig, rt as setGeminiApiKey, s as applyMinimaxApiProviderConfig, st as setLitellmApiKey, t as buildTokenProfileId, tt as setByteplusApiKey, u as applyMinimaxProviderConfig, ut as setMoonshotApiKey, v as applyMistralConfig, vt as setVercelAiGatewayApiKey, w as applyOpenrouterConfig, wt as KIMI_CODING_MODEL_REF, x as applyMoonshotConfigCn, xt as setXiaomiApiKey, y as applyMistralProviderConfig, yt as setVolcengineApiKey, z as applyZaiProviderConfig } from "./auth-token-Rzhjv-mo.js";
10
10
  import { a as createVpsAwareOAuthHandlers, c as githubCopilotLoginCommand, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-BdoxZkJ5.js";
11
11
  import { a as GOOGLE_GEMINI_DEFAULT_MODEL, i as detectZaiEndpoint, n as applyOpenAIConfig, o as applyGoogleGeminiModelDefault, r as applyOpenAIProviderConfig, t as OPENAI_DEFAULT_MODEL } from "./openai-model-default-BJvl-wjq.js";
12
- import { c as OPENAI_CODEX_DEFAULT_MODEL, l as applyOpenAICodexModelDefault, r as applyPrimaryModel, s as promptAndConfigureVllm } from "./model-picker-BMUukKtX.js";
12
+ import { c as OPENAI_CODEX_DEFAULT_MODEL, l as applyOpenAICodexModelDefault, r as applyPrimaryModel, s as promptAndConfigureVllm } from "./model-picker-DVY4bpQj.js";
13
13
  import { r as runOpenAIOAuthTlsPreflight, t as formatOpenAIOAuthTlsPreflightFix } from "./oauth-tls-preflight-CqqomOFQ.js";
14
14
  import { randomBytes } from "node:crypto";
15
15
  import { loginOpenAICodex } from "@mariozechner/pi-ai";
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "3.0.8",
3
- "commit": "5f6a695c654a345bd78619462dd8adfd7eccecf5",
4
- "builtAt": "2026-03-13T14:51:52.588Z"
2
+ "version": "3.0.10",
3
+ "commit": "9a0f7b2b47cc5b449df369a661a1f0b3934e5ee9",
4
+ "builtAt": "2026-03-13T17:38:54.488Z"
5
5
  }
@@ -8,19 +8,19 @@ import "../../github-copilot-token-B5cPlwaz.js";
8
8
  import { a as isGatewayStartupEvent } from "../../legacy-names-aGJJuzM_.js";
9
9
  import "../../thinking-SdNGqtJE.js";
10
10
  import { n as SILENT_REPLY_TOKEN } from "../../tokens-DfbMVF9y.js";
11
- import { a as agentCommand, o as createDefaultDeps } from "../../pi-embedded-BP2UlUm_.js";
11
+ import { a as agentCommand, o as createDefaultDeps } from "../../pi-embedded-CHzwPt6X.js";
12
12
  import "../../plugins-DXkm70nK.js";
13
13
  import "../../accounts-CkF7YwoF.js";
14
14
  import "../../send-Co5Bqwuo.js";
15
15
  import "../../send-DjL7KlMV.js";
16
- import "../../deliver-DBXe-ZmL.js";
16
+ import "../../deliver-D-f6Wa3i.js";
17
17
  import "../../diagnostic-ySwZga6c.js";
18
18
  import "../../accounts-DbloMfwT.js";
19
19
  import "../../image-ops-CdgypS_g.js";
20
20
  import "../../send-bW7jDv8D.js";
21
21
  import "../../pi-model-discovery-DAzuqPoG.js";
22
- import { Dt as resolveMainSessionKey, J as updateSessionStore, Tt as resolveAgentMainSessionKey, W as loadSessionStore } from "../../pi-embedded-helpers-CmLnmKlb.js";
23
- import "../../chrome-pBkBuWci.js";
22
+ import { Dt as resolveMainSessionKey, J as updateSessionStore, Tt as resolveAgentMainSessionKey, W as loadSessionStore } from "../../pi-embedded-helpers-Bse_QhEf.js";
23
+ import "../../chrome-CjxCwFA9.js";
24
24
  import "../../frontmatter-Cq1TcIQ2.js";
25
25
  import "../../skills-CTV78w4q.js";
26
26
  import "../../path-alias-guards-DORgbZ1w.js";
@@ -32,8 +32,8 @@ import "../../store-B89Hj8Ub.js";
32
32
  import "../../accounts-CK_sHUyT.js";
33
33
  import { s as resolveStorePath } from "../../paths-DSd911Oe.js";
34
34
  import "../../tool-images-8BKrL7Bn.js";
35
- import "../../image-j_UomzVG.js";
36
- import "../../audio-transcription-runner-DBkDgluo.js";
35
+ import "../../image-C-C7hQ26.js";
36
+ import "../../audio-transcription-runner-BnbdYMDl.js";
37
37
  import "../../fetch-BLS7EMnx.js";
38
38
  import "../../fetch-guard-D0fXNJls.js";
39
39
  import "../../api-key-rotation-BHFJiYbw.js";
@@ -8,19 +8,19 @@ import "../../github-copilot-token-B5cPlwaz.js";
8
8
  import "../../legacy-names-aGJJuzM_.js";
9
9
  import "../../thinking-SdNGqtJE.js";
10
10
  import "../../tokens-DfbMVF9y.js";
11
- import "../../pi-embedded-BP2UlUm_.js";
11
+ import "../../pi-embedded-CHzwPt6X.js";
12
12
  import "../../plugins-DXkm70nK.js";
13
13
  import "../../accounts-CkF7YwoF.js";
14
14
  import "../../send-Co5Bqwuo.js";
15
15
  import "../../send-DjL7KlMV.js";
16
- import "../../deliver-DBXe-ZmL.js";
16
+ import "../../deliver-D-f6Wa3i.js";
17
17
  import "../../diagnostic-ySwZga6c.js";
18
18
  import "../../accounts-DbloMfwT.js";
19
19
  import "../../image-ops-CdgypS_g.js";
20
20
  import "../../send-bW7jDv8D.js";
21
21
  import "../../pi-model-discovery-DAzuqPoG.js";
22
- import { dt as hasInterSessionUserProvenance } from "../../pi-embedded-helpers-CmLnmKlb.js";
23
- import "../../chrome-pBkBuWci.js";
22
+ import { dt as hasInterSessionUserProvenance } from "../../pi-embedded-helpers-Bse_QhEf.js";
23
+ import "../../chrome-CjxCwFA9.js";
24
24
  import "../../frontmatter-Cq1TcIQ2.js";
25
25
  import "../../skills-CTV78w4q.js";
26
26
  import "../../path-alias-guards-DORgbZ1w.js";
@@ -32,8 +32,8 @@ import "../../store-B89Hj8Ub.js";
32
32
  import "../../accounts-CK_sHUyT.js";
33
33
  import "../../paths-DSd911Oe.js";
34
34
  import "../../tool-images-8BKrL7Bn.js";
35
- import "../../image-j_UomzVG.js";
36
- import "../../audio-transcription-runner-DBkDgluo.js";
35
+ import "../../image-C-C7hQ26.js";
36
+ import "../../audio-transcription-runner-BnbdYMDl.js";
37
37
  import "../../fetch-BLS7EMnx.js";
38
38
  import "../../fetch-guard-D0fXNJls.js";
39
39
  import "../../api-key-rotation-BHFJiYbw.js";
@@ -1 +1 @@
1
- ebaf7497fd7876a628d11978310ce2136e0e7ec0d828b4caa42b868aa54b1e8c
1
+ 4d39ce0e25ac18c0e37c013a96c8c1a63ac8f5ec0ca5eaadcb84c38798688215
@@ -14,7 +14,7 @@ import { createHmac } from "node:crypto";
14
14
  import net from "node:net";
15
15
  import http, { createServer } from "node:http";
16
16
  import https from "node:https";
17
- import WebSocket, { WebSocketServer } from "ws";
17
+ import WebSocket$1, { WebSocketServer } from "ws";
18
18
  import { Buffer as Buffer$1 } from "node:buffer";
19
19
 
20
20
  //#region src/browser/constants.ts
@@ -593,7 +593,7 @@ async function ensureChromeExtensionRelayServer(opts) {
593
593
  let extensionWs = null;
594
594
  const cdpClients = /* @__PURE__ */ new Set();
595
595
  const connectedTargets = /* @__PURE__ */ new Map();
596
- const extensionConnected = () => extensionWs?.readyState === WebSocket.OPEN;
596
+ const extensionConnected = () => extensionWs?.readyState === WebSocket$1.OPEN;
597
597
  const hasConnectedTargets = () => connectedTargets.size > 0;
598
598
  let extensionDisconnectCleanupTimer = null;
599
599
  const extensionReconnectWaiters = /* @__PURE__ */ new Set();
@@ -645,7 +645,7 @@ async function ensureChromeExtensionRelayServer(opts) {
645
645
  let nextExtensionId = 1;
646
646
  const sendToExtension = async (payload) => {
647
647
  const ws = extensionWs;
648
- if (!ws || ws.readyState !== WebSocket.OPEN) throw new Error("Chrome extension not connected");
648
+ if (!ws || ws.readyState !== WebSocket$1.OPEN) throw new Error("Chrome extension not connected");
649
649
  ws.send(JSON.stringify(payload));
650
650
  return await new Promise((resolve, reject) => {
651
651
  const timer = setTimeout(() => {
@@ -662,12 +662,12 @@ async function ensureChromeExtensionRelayServer(opts) {
662
662
  const broadcastToCdpClients = (evt) => {
663
663
  const msg = JSON.stringify(evt);
664
664
  for (const ws of cdpClients) {
665
- if (ws.readyState !== WebSocket.OPEN) continue;
665
+ if (ws.readyState !== WebSocket$1.OPEN) continue;
666
666
  ws.send(msg);
667
667
  }
668
668
  };
669
669
  const sendResponseToCdp = (ws, res) => {
670
- if (ws.readyState !== WebSocket.OPEN) return;
670
+ if (ws.readyState !== WebSocket$1.OPEN) return;
671
671
  ws.send(JSON.stringify(res));
672
672
  };
673
673
  const dropConnectedTargetSession = (sessionId) => {
@@ -921,7 +921,7 @@ async function ensureChromeExtensionRelayServer(opts) {
921
921
  rejectUpgrade(socket, 401, "Unauthorized");
922
922
  return;
923
923
  }
924
- if (extensionWs && extensionWs.readyState !== WebSocket.OPEN) {
924
+ if (extensionWs && extensionWs.readyState !== WebSocket$1.OPEN) {
925
925
  try {
926
926
  extensionWs.terminate();
927
927
  } catch {}
@@ -954,7 +954,7 @@ async function ensureChromeExtensionRelayServer(opts) {
954
954
  clearExtensionDisconnectCleanupTimer();
955
955
  flushExtensionReconnectWaiters(true);
956
956
  const ping = setInterval(() => {
957
- if (ws.readyState !== WebSocket.OPEN) return;
957
+ if (ws.readyState !== WebSocket$1.OPEN) return;
958
958
  ws.send(JSON.stringify({ method: "ping" }));
959
959
  }, 5e3);
960
960
  ws.on("message", (data) => {
@@ -1310,7 +1310,7 @@ function openCdpWebSocket(wsUrl, opts) {
1310
1310
  const headers = getHeadersWithAuth(wsUrl, opts?.headers ?? {});
1311
1311
  const handshakeTimeoutMs = typeof opts?.handshakeTimeoutMs === "number" && Number.isFinite(opts.handshakeTimeoutMs) ? Math.max(1, Math.floor(opts.handshakeTimeoutMs)) : CDP_WS_HANDSHAKE_TIMEOUT_MS;
1312
1312
  const agent = getDirectAgentForCdp(wsUrl);
1313
- return new WebSocket(wsUrl, {
1313
+ return new WebSocket$1(wsUrl, {
1314
1314
  handshakeTimeout: handshakeTimeoutMs,
1315
1315
  ...Object.keys(headers).length ? { headers } : {},
1316
1316
  ...agent ? { agent } : {}
@@ -1,5 +1,5 @@
1
1
  // Legacy shim for pre-tsdown update-cli imports.
2
- import * as daemonCli from "../daemon-cli-B7j3r4qt.js";
2
+ import * as daemonCli from "../daemon-cli-DFPaz9xP.js";
3
3
  export const registerDaemonCli = daemonCli.t.registerDaemonCli;
4
4
  export const runDaemonInstall = daemonCli.s;
5
5
  export const runDaemonRestart = daemonCli.r;
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { F as getPrimaryCommand, R as hasHelpOrVersion } from "./globals-BrhVUl-N.js";
3
- import { i as registerSubCliCommands, o as removeCommandByName, s as reparseProgramFromActionArgs } from "./register.subclis-B2-bYRai.js";
3
+ import { i as registerSubCliCommands, o as removeCommandByName, s as reparseProgramFromActionArgs } from "./register.subclis-CdhuSeWY.js";
4
4
 
5
5
  //#region src/cli/program/command-registry.ts
6
6
  var command_registry_exports = /* @__PURE__ */ __exportAll({
@@ -22,7 +22,7 @@ const coreEntries = [
22
22
  hasSubcommands: false
23
23
  }],
24
24
  register: async ({ program }) => {
25
- (await import("./register.setup-DOBBtw-F.js")).registerSetupCommand(program);
25
+ (await import("./register.setup-BQA072ul.js")).registerSetupCommand(program);
26
26
  }
27
27
  },
28
28
  {
@@ -32,7 +32,7 @@ const coreEntries = [
32
32
  hasSubcommands: false
33
33
  }],
34
34
  register: async ({ program }) => {
35
- (await import("./register.onboard-DQ-fbOHv.js")).registerOnboardCommand(program);
35
+ (await import("./register.onboard-B1V4Jit6.js")).registerOnboardCommand(program);
36
36
  }
37
37
  },
38
38
  {
@@ -42,7 +42,7 @@ const coreEntries = [
42
42
  hasSubcommands: false
43
43
  }],
44
44
  register: async ({ program }) => {
45
- (await import("./register.configure-CRVwhLCu.js")).registerConfigureCommand(program);
45
+ (await import("./register.configure-CXK0g5TX.js")).registerConfigureCommand(program);
46
46
  }
47
47
  },
48
48
  {
@@ -52,7 +52,7 @@ const coreEntries = [
52
52
  hasSubcommands: true
53
53
  }],
54
54
  register: async ({ program }) => {
55
- (await import("./config-cli-DvcyIvFj.js")).registerConfigCli(program);
55
+ (await import("./config-cli-Dr_JIBrw.js")).registerConfigCli(program);
56
56
  }
57
57
  },
58
58
  {
@@ -79,7 +79,7 @@ const coreEntries = [
79
79
  }
80
80
  ],
81
81
  register: async ({ program }) => {
82
- (await import("./register.maintenance-C4XxOMVa.js")).registerMaintenanceCommands(program);
82
+ (await import("./register.maintenance-CKOdhzP0.js")).registerMaintenanceCommands(program);
83
83
  }
84
84
  },
85
85
  {
@@ -113,7 +113,7 @@ const coreEntries = [
113
113
  hasSubcommands: true
114
114
  }],
115
115
  register: async ({ program, ctx }) => {
116
- (await import("./register.agent-CKQDO-Ln.js")).registerAgentCommands(program, { agentChannelOptions: ctx.agentChannelOptions });
116
+ (await import("./register.agent-Bgdw1l9e.js")).registerAgentCommands(program, { agentChannelOptions: ctx.agentChannelOptions });
117
117
  }
118
118
  },
119
119
  {
@@ -135,7 +135,7 @@ const coreEntries = [
135
135
  }
136
136
  ],
137
137
  register: async ({ program }) => {
138
- (await import("./register.status-health-sessions-B3hsvwPb.js")).registerStatusHealthSessionsCommands(program);
138
+ (await import("./register.status-health-sessions-BKbPZSFr.js")).registerStatusHealthSessionsCommands(program);
139
139
  }
140
140
  },
141
141
  {
@@ -4,7 +4,7 @@ import { p as theme } from "./globals-xfUIfxbE.js";
4
4
  import { h as pathExists } from "./utils-DMGXr25O.js";
5
5
  import { i as routeLogsToStderr } from "./subsystem-DC87CPVS.js";
6
6
  import { t as formatDocsLink } from "./links-De9M3AmU.js";
7
- import { a as registerCoreCliByName, c as getSubCliEntries, l as registerSubCliByName, r as getCoreCliCommandNames, t as getProgramContext } from "./program-context-BI4RLPKE.js";
7
+ import { a as registerCoreCliByName, c as getSubCliEntries, l as registerSubCliByName, r as getCoreCliCommandNames, t as getProgramContext } from "./program-context-YzgE3bAD.js";
8
8
  import os from "node:os";
9
9
  import path from "node:path";
10
10
  import fs from "node:fs/promises";
@@ -4,8 +4,8 @@ import { g as resolveStateDir } from "./paths-CHIu6D1E.js";
4
4
  import { i as routeLogsToStderr } from "./subsystem-Bw5n50gj.js";
5
5
  import { m as pathExists } from "./utils-D6vohX1h.js";
6
6
  import { t as formatDocsLink } from "./links-Dye6HsRG.js";
7
- import { n as getSubCliEntries, r as registerSubCliByName } from "./register.subclis-B2-bYRai.js";
8
- import { i as registerCoreCliByName, n as getCoreCliCommandNames } from "./command-registry-CGSJnTGc.js";
7
+ import { n as getSubCliEntries, r as registerSubCliByName } from "./register.subclis-CdhuSeWY.js";
8
+ import { i as registerCoreCliByName, n as getCoreCliCommandNames } from "./command-registry-DUCyOBd1.js";
9
9
  import { t as getProgramContext } from "./program-context-DKVuITe2.js";
10
10
  import os from "node:os";
11
11
  import path from "node:path";
@@ -305,7 +305,7 @@ async function runConfigValidate(opts = {}) {
305
305
  }
306
306
  function registerConfigCli(program) {
307
307
  const cmd = program.command("config").description("Non-interactive config helpers (get/set/unset/file/validate). Run without subcommand for the setup wizard.").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.squidclaw.dev/cli/config")}\n`).option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
308
- const { configureCommandFromSectionsArg } = await import("./configure-BvLhk-vk.js").then((n) => n.t);
308
+ const { configureCommandFromSectionsArg } = await import("./configure-SygAFeSR.js").then((n) => n.t);
309
309
  await configureCommandFromSectionsArg(opts.section, defaultRuntime);
310
310
  });
311
311
  cmd.command("get").description("Get a config value by dot path").argument("<path>", "Config path (dot or bracket notation)").option("--json", "Output JSON", false).action(async (path, opts) => {
@@ -305,7 +305,7 @@ async function runConfigValidate(opts = {}) {
305
305
  }
306
306
  function registerConfigCli(program) {
307
307
  const cmd = program.command("config").description("Non-interactive config helpers (get/set/unset/file/validate). Run without subcommand for the setup wizard.").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.squidclaw.dev/cli/config")}\n`).option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
308
- const { configureCommandFromSectionsArg } = await import("./configure-CR_H0TGw.js").then((n) => n.t);
308
+ const { configureCommandFromSectionsArg } = await import("./configure-BZ6ItDDb.js").then((n) => n.t);
309
309
  await configureCommandFromSectionsArg(opts.section, defaultRuntime);
310
310
  });
311
311
  cmd.command("get").description("Get a config value by dot path").argument("<path>", "Config path (dot or bracket notation)").option("--json", "Output JSON", false).action(async (path, opts) => {
@@ -16,15 +16,15 @@ import { t as createClackPrompter } from "./clack-prompter-DU01bRlk.js";
16
16
  import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-Dt3KBZ1w.js";
17
17
  import { n as gatewayInstallErrorHint, t as buildGatewayInstallPlan } from "./daemon-install-helpers-CJtiW2RE.js";
18
18
  import { n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-Dgg-ogyc.js";
19
- import { t as resolveGatewayService } from "./service-D6lUMZKF.js";
19
+ import { t as resolveGatewayService } from "./service-C7cnow9v.js";
20
20
  import { r as healthCommand } from "./health-xBOt7lp3.js";
21
21
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-BYEy341x.js";
22
22
  import { n as logConfigUpdated } from "./logging-ZAeFsd9K.js";
23
23
  import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-4mupmvzh.js";
24
- import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-BoDJ6TOl.js";
25
- import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-MhyQtM_M.js";
26
- import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-BVu_9dOp.js";
27
- import { a as promptCustomApiConfig } from "./onboard-custom-DRKG6mwB.js";
24
+ import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-DLlZ8SJr.js";
25
+ import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-CeqG7aGB.js";
26
+ import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-iIqcMjee.js";
27
+ import { a as promptCustomApiConfig } from "./onboard-custom-DvQCIxyh.js";
28
28
  import { a as maybeAddTailnetOriginToControlUiAllowedOrigins, i as TAILSCALE_MISSING_BIN_NOTE_LINES, n as TAILSCALE_DOCS_LINES, r as TAILSCALE_EXPOSURE_OPTIONS, t as validateIPv4AddressInput } from "./ipv4-Cl0LHiMy.js";
29
29
  import { t as formatHealthCheckFailure } from "./health-format-eNDYxTNS.js";
30
30
  import { n as promptRemoteGatewayConfig } from "./onboard-remote-B5pb0k_J.js";
@@ -16,15 +16,15 @@ import { t as createClackPrompter } from "./clack-prompter-Bx0vssUh.js";
16
16
  import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-BB39kGye.js";
17
17
  import { n as gatewayInstallErrorHint, t as buildGatewayInstallPlan } from "./daemon-install-helpers-a4pGEsbA.js";
18
18
  import { n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-Di8BSZyD.js";
19
- import { t as resolveGatewayService } from "./service-DWcwQCyr.js";
19
+ import { t as resolveGatewayService } from "./service-Dzjv6Q-l.js";
20
20
  import { r as healthCommand } from "./health-CrEBegrW.js";
21
21
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Bz7TCLpb.js";
22
22
  import { n as logConfigUpdated } from "./logging-AGpu_2Pc.js";
23
23
  import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-D8RKb8oM.js";
24
- import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-FjsBJLJF.js";
25
- import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-BMUukKtX.js";
26
- import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-BL2Ex5My.js";
27
- import { a as promptCustomApiConfig } from "./onboard-custom-xZqh5J3l.js";
24
+ import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-Qh2aWSu3.js";
25
+ import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-DVY4bpQj.js";
26
+ import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-B7J3aXhx.js";
27
+ import { a as promptCustomApiConfig } from "./onboard-custom-Cq4RYUaZ.js";
28
28
  import { a as maybeAddTailnetOriginToControlUiAllowedOrigins, i as TAILSCALE_MISSING_BIN_NOTE_LINES, n as TAILSCALE_DOCS_LINES, r as TAILSCALE_EXPOSURE_OPTIONS, t as validateIPv4AddressInput } from "./ipv4-BLo8Kwlg.js";
29
29
  import { t as formatHealthCheckFailure } from "./health-format-B3bJdIC6.js";
30
30
  import { n as promptRemoteGatewayConfig } from "./onboard-remote-BcqJ3Tz_.js";
@@ -22,12 +22,12 @@ import { n as inheritOptionFromParent } from "./command-options-D0bXi5Pl.js";
22
22
  import { t as formatConfigIssueLine } from "./issue-format-CJF4zrPW.js";
23
23
  import { t as buildGatewayInstallPlan } from "./daemon-install-helpers-a4pGEsbA.js";
24
24
  import { r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-Di8BSZyD.js";
25
- import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-DWcwQCyr.js";
26
- import { a as createCliStatusTextStyles, c as parsePortFromArgs, d as renderRuntimeHints, f as resolveRuntimeStatusColor, g as installDaemonServiceAndEmit, h as createDaemonActionContext, i as runServiceUninstall, l as pickProbeHostForBind, m as buildDaemonServiceSnapshot, n as runServiceStart, o as filterDaemonEnv, p as safeDaemonEnv, r as runServiceStop, s as normalizeListenerAddress, t as runServiceRestart, u as renderGatewayServiceStartHints } from "./lifecycle-core-C3gBUQyA.js";
27
- import { i as auditGatewayServiceConfig, n as renderSystemdUnavailableHints, s as formatRuntimeStatus, t as isSystemdUnavailableDetail } from "./systemd-hints-BylRxjER.js";
25
+ import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-Dzjv6Q-l.js";
26
+ import { a as createCliStatusTextStyles, c as parsePortFromArgs, d as renderRuntimeHints, f as resolveRuntimeStatusColor, g as installDaemonServiceAndEmit, h as createDaemonActionContext, i as runServiceUninstall, l as pickProbeHostForBind, m as buildDaemonServiceSnapshot, n as runServiceStart, o as filterDaemonEnv, p as safeDaemonEnv, r as runServiceStop, s as normalizeListenerAddress, t as runServiceRestart, u as renderGatewayServiceStartHints } from "./lifecycle-core-DMMLEqYN.js";
27
+ import { i as auditGatewayServiceConfig, n as renderSystemdUnavailableHints, s as formatRuntimeStatus, t as isSystemdUnavailableDetail } from "./systemd-hints-DDOoq1Ph.js";
28
28
  import { t as parsePort } from "./parse-port-OBGBQwYB.js";
29
- import { t as readLastGatewayErrorLine } from "./diagnostics-DvOqta_6.js";
30
- import { n as renderGatewayServiceCleanupHints, t as findExtraGatewayServices } from "./inspect-Dv0VyA0s.js";
29
+ import { t as readLastGatewayErrorLine } from "./diagnostics-0TAnpHSE.js";
30
+ import { n as renderGatewayServiceCleanupHints, t as findExtraGatewayServices } from "./inspect-FnsCebWG.js";
31
31
 
32
32
  //#region src/cli/daemon-cli/install.ts
33
33
  async function runDaemonInstall(opts) {
@@ -22,12 +22,12 @@ import { n as inheritOptionFromParent } from "./command-options-DVCpMofi.js";
22
22
  import { t as formatConfigIssueLine } from "./issue-format-CVVBG2XC.js";
23
23
  import { t as buildGatewayInstallPlan } from "./daemon-install-helpers-CJtiW2RE.js";
24
24
  import { r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-Dgg-ogyc.js";
25
- import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-D6lUMZKF.js";
26
- import { a as createCliStatusTextStyles, c as parsePortFromArgs, d as renderRuntimeHints, f as resolveRuntimeStatusColor, g as installDaemonServiceAndEmit, h as createDaemonActionContext, i as runServiceUninstall, l as pickProbeHostForBind, m as buildDaemonServiceSnapshot, n as runServiceStart, o as filterDaemonEnv, p as safeDaemonEnv, r as runServiceStop, s as normalizeListenerAddress, t as runServiceRestart, u as renderGatewayServiceStartHints } from "./lifecycle-core-C6bIL3hq.js";
27
- import { i as auditGatewayServiceConfig, n as renderSystemdUnavailableHints, s as formatRuntimeStatus, t as isSystemdUnavailableDetail } from "./systemd-hints-CuQVI0A1.js";
25
+ import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-C7cnow9v.js";
26
+ import { a as createCliStatusTextStyles, c as parsePortFromArgs, d as renderRuntimeHints, f as resolveRuntimeStatusColor, g as installDaemonServiceAndEmit, h as createDaemonActionContext, i as runServiceUninstall, l as pickProbeHostForBind, m as buildDaemonServiceSnapshot, n as runServiceStart, o as filterDaemonEnv, p as safeDaemonEnv, r as runServiceStop, s as normalizeListenerAddress, t as runServiceRestart, u as renderGatewayServiceStartHints } from "./lifecycle-core-DtY6w3ub.js";
27
+ import { i as auditGatewayServiceConfig, n as renderSystemdUnavailableHints, s as formatRuntimeStatus, t as isSystemdUnavailableDetail } from "./systemd-hints-F4o_ziad.js";
28
28
  import { t as parsePort } from "./parse-port-CboE2EQm.js";
29
- import { t as readLastGatewayErrorLine } from "./diagnostics-B7TvAs1Y.js";
30
- import { n as renderGatewayServiceCleanupHints, t as findExtraGatewayServices } from "./inspect-Bwnw_UjM.js";
29
+ import { t as readLastGatewayErrorLine } from "./diagnostics-DG2Lz77X.js";
30
+ import { n as renderGatewayServiceCleanupHints, t as findExtraGatewayServices } from "./inspect-DLik2FMq.js";
31
31
 
32
32
  //#region src/cli/daemon-cli/install.ts
33
33
  async function runDaemonInstall(opts) {
@@ -17752,7 +17752,18 @@ function parseSystemdEnvAssignment(raw) {
17752
17752
 
17753
17753
  //#endregion
17754
17754
  //#region src/daemon/systemd.ts
17755
+ function isSystemRoot() {
17756
+ try {
17757
+ return process.getuid?.() === 0;
17758
+ } catch {
17759
+ return false;
17760
+ }
17761
+ }
17762
+ function sysArgs(args) {
17763
+ return isSystemRoot() ? args : ["--user", ...args];
17764
+ }
17755
17765
  function resolveSystemdUnitPathForName(env, name) {
17766
+ if (isSystemRoot()) return `/etc/systemd/system/${name}.service`;
17756
17767
  const home = toPosixPath(resolveHomeDir$1(env));
17757
17768
  return path.posix.join(home, ".config", "systemd", "user", `${name}.service`);
17758
17769
  }
@@ -17833,7 +17844,7 @@ function isSystemdUnitNotEnabled(detail) {
17833
17844
  return normalized.includes("disabled") || normalized.includes("static") || normalized.includes("indirect") || normalized.includes("masked") || normalized.includes("not-found") || normalized.includes("could not be found") || normalized.includes("failed to get unit file state");
17834
17845
  }
17835
17846
  async function isSystemdUserServiceAvailable() {
17836
- const res = await execSystemctl(["--user", "status"]);
17847
+ const res = await execSystemctl(sysArgs(["status"]));
17837
17848
  if (res.code === 0) return true;
17838
17849
  const detail = `${res.stderr} ${res.stdout}`.toLowerCase();
17839
17850
  if (!detail) return false;
@@ -17845,10 +17856,10 @@ async function isSystemdUserServiceAvailable() {
17845
17856
  return false;
17846
17857
  }
17847
17858
  async function assertSystemdAvailable() {
17848
- const res = await execSystemctl(["--user", "status"]);
17859
+ const res = await execSystemctl(sysArgs(["status"]));
17849
17860
  if (res.code === 0) return;
17850
17861
  const detail = readSystemctlDetail(res);
17851
- if (isSystemctlMissing(detail)) throw new Error("systemctl not available; systemd user services are required on Linux.");
17862
+ if (isSystemctlMissing(detail)) throw new Error("systemctl not available on this system.");
17852
17863
  throw new Error(`systemctl --user unavailable: ${detail || "unknown error"}`.trim());
17853
17864
  }
17854
17865
  async function installSystemdService({ env, stdout, programArguments, workingDirectory, environment, description }) {
@@ -17874,19 +17885,11 @@ async function installSystemdService({ env, stdout, programArguments, workingDir
17874
17885
  });
17875
17886
  await fs$1.writeFile(unitPath, unit, "utf8");
17876
17887
  const unitName = `${resolveGatewaySystemdServiceName(env.SQUIDCLAW_PROFILE)}.service`;
17877
- const reload = await execSystemctl(["--user", "daemon-reload"]);
17888
+ const reload = await execSystemctl(sysArgs(["daemon-reload"]));
17878
17889
  if (reload.code !== 0) throw new Error(`systemctl daemon-reload failed: ${reload.stderr || reload.stdout}`.trim());
17879
- const enable = await execSystemctl([
17880
- "--user",
17881
- "enable",
17882
- unitName
17883
- ]);
17890
+ const enable = await execSystemctl(sysArgs(["enable", unitName]));
17884
17891
  if (enable.code !== 0) throw new Error(`systemctl enable failed: ${enable.stderr || enable.stdout}`.trim());
17885
- const restart = await execSystemctl([
17886
- "--user",
17887
- "restart",
17888
- unitName
17889
- ]);
17892
+ const restart = await execSystemctl(sysArgs(["restart", unitName]));
17890
17893
  if (restart.code !== 0) throw new Error(`systemctl restart failed: ${restart.stderr || restart.stdout}`.trim());
17891
17894
  writeFormattedLines(stdout, [{
17892
17895
  label: "Installed systemd service",
@@ -17899,12 +17902,11 @@ async function installSystemdService({ env, stdout, programArguments, workingDir
17899
17902
  }
17900
17903
  async function uninstallSystemdService({ env, stdout }) {
17901
17904
  await assertSystemdAvailable();
17902
- await execSystemctl([
17903
- "--user",
17905
+ await execSystemctl(sysArgs([
17904
17906
  "disable",
17905
17907
  "--now",
17906
17908
  `${resolveGatewaySystemdServiceName(env.SQUIDCLAW_PROFILE)}.service`
17907
- ]);
17909
+ ]));
17908
17910
  const unitPath = resolveSystemdUnitPath(env);
17909
17911
  try {
17910
17912
  await fs$1.unlink(unitPath);
@@ -17916,11 +17918,7 @@ async function uninstallSystemdService({ env, stdout }) {
17916
17918
  async function runSystemdServiceAction(params) {
17917
17919
  await assertSystemdAvailable();
17918
17920
  const unitName = `${resolveSystemdServiceName(params.env ?? {})}.service`;
17919
- const res = await execSystemctl([
17920
- "--user",
17921
- params.action,
17922
- unitName
17923
- ]);
17921
+ const res = await execSystemctl(sysArgs([params.action, unitName]));
17924
17922
  if (res.code !== 0) throw new Error(`systemctl ${params.action} failed: ${res.stderr || res.stdout}`.trim());
17925
17923
  params.stdout.write(`${formatLine(params.label, unitName)}\n`);
17926
17924
  }
@@ -17941,11 +17939,7 @@ async function restartSystemdService({ stdout, env }) {
17941
17939
  });
17942
17940
  }
17943
17941
  async function isSystemdServiceEnabled(args) {
17944
- const res = await execSystemctl([
17945
- "--user",
17946
- "is-enabled",
17947
- `${resolveSystemdServiceName(args.env ?? {})}.service`
17948
- ]);
17942
+ const res = await execSystemctl(sysArgs(["is-enabled", `${resolveSystemdServiceName(args.env ?? {})}.service`]));
17949
17943
  if (res.code === 0) return true;
17950
17944
  const detail = readSystemctlDetail(res);
17951
17945
  if (isSystemctlMissing(detail) || isSystemdUnitNotEnabled(detail)) return false;
@@ -17960,14 +17954,13 @@ async function readSystemdServiceRuntime(env = process.env) {
17960
17954
  detail: err instanceof Error ? err.message : String(err)
17961
17955
  };
17962
17956
  }
17963
- const res = await execSystemctl([
17964
- "--user",
17957
+ const res = await execSystemctl(sysArgs([
17965
17958
  "show",
17966
17959
  `${resolveSystemdServiceName(env)}.service`,
17967
17960
  "--no-page",
17968
17961
  "--property",
17969
17962
  "ActiveState,SubState,MainPID,ExecMainStatus,ExecMainCode"
17970
- ]);
17963
+ ]));
17971
17964
  if (res.code !== 0) {
17972
17965
  const detail = (res.stderr || res.stdout).trim();
17973
17966
  const missing = detail.toLowerCase().includes("not found");
@@ -11,9 +11,9 @@ import "./note-IoQo8Ol0.js";
11
11
  import { n as gatewayInstallErrorHint, t as buildGatewayInstallPlan } from "./daemon-install-helpers-CJtiW2RE.js";
12
12
  import "./runtime-guard-BPoq8vFM.js";
13
13
  import { r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-Dgg-ogyc.js";
14
- import { r as isSystemdUserServiceAvailable } from "./systemd-CD8s-qZ_.js";
15
- import { t as resolveGatewayService } from "./service-D6lUMZKF.js";
16
- import { n as ensureSystemdUserLingerNonInteractive } from "./systemd-linger-BVu_9dOp.js";
14
+ import { r as isSystemdUserServiceAvailable } from "./systemd-BqXjET4w.js";
15
+ import { t as resolveGatewayService } from "./service-C7cnow9v.js";
16
+ import { n as ensureSystemdUserLingerNonInteractive } from "./systemd-linger-iIqcMjee.js";
17
17
 
18
18
  //#region src/commands/onboard-non-interactive/local/daemon-install.ts
19
19
  async function installGatewayDaemonNonInteractive(params) {