squidclaw 3.0.23 → 3.0.25

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 (235) hide show
  1. package/dist/{accounts-KzgPbLHP.js → accounts-B1RxFghM.js} +1 -1
  2. package/dist/{accounts-BK8I0Svb.js → accounts-BH9Qo1sQ.js} +7 -7
  3. package/dist/{accounts-DeqNOvBo.js → accounts-Cuwg9Tan.js} +1 -1
  4. package/dist/{acp-cli-BwG98FYT.js → acp-cli-Ch55Vzud.js} +8 -8
  5. package/dist/{agent-scope-Cq4vDGrK.js → agent-scope-nEVgVklg.js} +17 -17
  6. package/dist/{agents-DXKtU4Il.js → agents-B-ig6ydU.js} +14 -14
  7. package/dist/{agents.config-BM-2SLCh.js → agents.config-w_Z6Fb4-.js} +2 -2
  8. package/dist/{api-key-rotation-6i41mEc9.js → api-key-rotation-JPmjv-c0.js} +1 -1
  9. package/dist/{audio-preflight-C-JCwUKe.js → audio-preflight-CZ--cSZh.js} +34 -34
  10. package/dist/{audio-transcription-runner-DvQksGUE.js → audio-transcription-runner-D-uxpkbd.js} +23 -23
  11. package/dist/{audit-DLTgNDFw.js → audit-JLT1FqTt.js} +29 -29
  12. package/dist/{auth-CuObxnC4.js → auth-BlP9BwaD.js} +1 -1
  13. package/dist/{auth-choice-BVQQneHM.js → auth-choice-Czu7271G.js} +13 -13
  14. package/dist/{auth-choice-CXepQc7c.js → auth-choice-ORZHjbsv.js} +11 -11
  15. package/dist/{auth-choice.apply-helpers-p1y_DmDT.js → auth-choice.apply-helpers-CdoXMtxm.js} +1 -1
  16. package/dist/{auth-profiles-CX4YYu7Z.js → auth-profiles-9T4j6jMy.js} +16 -16
  17. package/dist/{auth-token-Dlk7MMsC.js → auth-token-BFc70pes.js} +1 -1
  18. package/dist/{banner-DMfuBV69.js → banner-CwNmI5G-.js} +2 -2
  19. package/dist/{bonjour-discovery-BHz2I6_W.js → bonjour-discovery-eqJcK09r.js} +1 -1
  20. package/dist/{browser-cli-Dvwk4zAD.js → browser-cli-DCDPC5sg.js} +12 -12
  21. package/dist/build-info.json +3 -3
  22. package/dist/bundled/session-memory/handler.js +52 -10
  23. package/dist/{call-BlWEBz99.js → call-D7jOWSFr.js} +10 -10
  24. package/dist/{channel-account-context-CQ6rCiGI.js → channel-account-context-DJ3rHgVO.js} +5 -5
  25. package/dist/{channel-activity-BZKeZQH-.js → channel-activity-wuB3-cfR.js} +1 -1
  26. package/dist/{channel-options-CQ-gER0J.js → channel-options-BS7BSU_5.js} +3 -3
  27. package/dist/{channel-selection-BqwS1Rlq.js → channel-selection-CFWQq1nS.js} +1 -1
  28. package/dist/{channel-web-LLzBxZrT.js → channel-web-C1qYz-HK.js} +17 -17
  29. package/dist/{channels-cli-D4xUEYYC.js → channels-cli-CVNqp5q7.js} +93 -93
  30. package/dist/{channels-status-issues-Dz1_R7Ah.js → channels-status-issues-Erzzhl2e.js} +1 -1
  31. package/dist/{chrome-CoRiYsNu.js → chrome-DiktJpMU.js} +4 -4
  32. package/dist/{clawbot-cli-2Zlim_pH.js → clawbot-cli-C3bt-FEP.js} +11 -11
  33. package/dist/cli/daemon-cli.js +1 -1
  34. package/dist/{cli-CAID9zkL.js → cli-Jyqv2jm8.js} +73 -73
  35. package/dist/{client-G9E5HGM2.js → client-COy24r9W.js} +2 -2
  36. package/dist/{command-registry-AHS8_9da.js → command-registry-DCojicSG.js} +11 -11
  37. package/dist/{command-secret-targets-DAu5nw-j.js → command-secret-targets-CZjP-Bm5.js} +4 -4
  38. package/dist/{commands-CnX9I_l4.js → commands-DDHiW-As.js} +1 -1
  39. package/dist/{commands-registry-_r_JONI4.js → commands-registry--ITOJ-cM.js} +3 -3
  40. package/dist/{completion-cli-BR1r9_h4.js → completion-cli-DCTv7Ejv.js} +13 -13
  41. package/dist/{config-cli-D0A8Awoo.js → config-cli-CSPSSP_R.js} +7 -7
  42. package/dist/{config-guard-BHy2f0hU.js → config-guard-CFauJm79.js} +3 -3
  43. package/dist/{config-validation-BkvDORAk.js → config-validation-Bt3LfFJ0.js} +3 -3
  44. package/dist/{configure-XmOqwwy9.js → configure-DAol2gT6.js} +17 -17
  45. package/dist/{control-ui-assets-BYEy341x.js → control-ui-assets-d6VtDSeo.js} +1 -1
  46. package/dist/{cron-cli-QwZcnjJc.js → cron-cli-yS1ww1k2.js} +11 -11
  47. package/dist/{daemon-cli-kJfDhzr8.js → daemon-cli-B-yZvTqZ.js} +15 -15
  48. package/dist/{daemon-install-Chxlu9Kv.js → daemon-install-CbPLNiIP.js} +4 -4
  49. package/dist/{daemon-install-helpers-CJtiW2RE.js → daemon-install-helpers-CZDVO_MU.js} +11 -11
  50. package/dist/{deliver-CL2RW5UB.js → deliver-D-IQEJ52.js} +7 -7
  51. package/dist/deliver-runtime-zICm26tE.js +61 -0
  52. package/dist/deps-send-discord.runtime-C_9HZQko.js +36 -0
  53. package/dist/deps-send-imessage.runtime-BMhGsWds.js +35 -0
  54. package/dist/deps-send-signal.runtime-BGhjYiu6.js +34 -0
  55. package/dist/deps-send-slack.runtime-DjBCu-RX.js +32 -0
  56. package/dist/{deps-send-telegram.runtime-BHaZAs2h.js → deps-send-telegram.runtime-Irv0ky5l.js} +16 -16
  57. package/dist/deps-send-whatsapp.runtime-CU257URT.js +119 -0
  58. package/dist/{devices-cli-DlQGTogF.js → devices-cli-CPgutgUT.js} +8 -8
  59. package/dist/{diagnostic-CLEtu0MC.js → diagnostic-B4w80e4D.js} +1 -1
  60. package/dist/{diagnostics--O6mo6KH.js → diagnostics-m7hHHbuE.js} +5 -5
  61. package/dist/{directory-cli-K9qIwxYa.js → directory-cli-DqObADBL.js} +7 -7
  62. package/dist/{dns-cli-qtX-WNMF.js → dns-cli-CKbwsWBv.js} +5 -5
  63. package/dist/{dock-DJJAj46v.js → dock-W3cGg46W.js} +4 -4
  64. package/dist/{docs-cli--gGxz79Z.js → docs-cli-BpZtes_j.js} +4 -4
  65. package/dist/{doctor-completion-CZoEdMS-.js → doctor-completion--7PR_Vqz.js} +2 -2
  66. package/dist/{doctor-config-flow-C-h3yV4z.js → doctor-config-flow-BDF7TR6O.js} +15 -15
  67. package/dist/{enable-C8FNY18p.js → enable--Q7yLTZm.js} +1 -1
  68. package/dist/entry.js +2 -2
  69. package/dist/{exec-approvals-allowlist-CtSREgYh.js → exec-approvals-allowlist-B9bcJkGP.js} +1 -1
  70. package/dist/{exec-approvals-cli-BmM4RpVn.js → exec-approvals-cli-homtziYt.js} +16 -16
  71. package/dist/{exec-safe-bin-runtime-policy-CfQeDABF.js → exec-safe-bin-runtime-policy-DECo77U6.js} +2 -2
  72. package/dist/{fetch-guard-Dvzi3MjK.js → fetch-guard-CbtWqa1E.js} +1 -1
  73. package/dist/{fetch-CtoC2wgs.js → fetch-lq0SDLLE.js} +3 -3
  74. package/dist/{fs-safe-DPYj7h8A.js → fs-safe-BPQ-per2.js} +24 -24
  75. package/dist/{gateway-cli-BJHBChfI.js → gateway-cli-B3oqskb4.js} +153 -153
  76. package/dist/{gateway-rpc-D0AmaBzR.js → gateway-rpc-BBBN9ZJk.js} +1 -1
  77. package/dist/{health-XFKFZ7ZJ.js → health-CjXrJkCb.js} +11 -11
  78. package/dist/{hooks-cli-CXsZK8H9.js → hooks-cli--aKmd8c9.js} +81 -81
  79. package/dist/{hooks-status-DMFBAUq8.js → hooks-status-BlgSVDvN.js} +1 -1
  80. package/dist/{image-DSWTfuxv.js → image-BcYt63Jx.js} +5 -5
  81. package/dist/{image-ops-B2uuLIGD.js → image-ops-LFsSCTyI.js} +10 -10
  82. package/dist/image-runtime-Cxoxcx04.js +55 -0
  83. package/dist/{inspect-4c1uL0x5.js → inspect-CzsXBsew.js} +4 -4
  84. package/dist/{install-safe-path-3muwy3fu.js → install-safe-path-DqI19VEv.js} +25 -25
  85. package/dist/{installs-BiQDtPF0.js → installs-P-pYAJm1.js} +9 -9
  86. package/dist/{ipv4-sHllwvAI.js → ipv4-B95173MB.js} +1 -1
  87. package/dist/{ir-BukzlgSp.js → ir-C7He5vmn.js} +8 -8
  88. package/dist/{issue-format-DCcINW-9.js → issue-format-CbTfB8Hy.js} +1 -1
  89. package/dist/{json-files-CuJjdF_0.js → json-files-rR19q30D.js} +8 -8
  90. package/dist/{lifecycle-core-CqFEhwHn.js → lifecycle-core-ChKClWdw.js} +5 -5
  91. package/dist/{login-zoeewfBu.js → login-CjzRATwO.js} +3 -3
  92. package/dist/{login-qr-B8P_EAd-.js → login-qr-CX0rs3A6.js} +6 -6
  93. package/dist/{logs-cli-D30BUN6y.js → logs-cli-DvHsw1WZ.js} +9 -9
  94. package/dist/{manager-5OzUkYLf.js → manager-BVfTfggO.js} +14 -14
  95. package/dist/{manager-runtime-BxXpVt3x.js → manager-runtime-BXJJSlzC.js} +9 -9
  96. package/dist/{manifest-registry-7kwtbCH-.js → manifest-registry-1ACGW3OR.js} +1 -1
  97. package/dist/{memory-cli-Dj8tyFtt.js → memory-cli-u8eyO3Ec.js} +12 -12
  98. package/dist/{model-B8p-EsdJ.js → model-D7hZpWTB.js} +2 -2
  99. package/dist/{model-catalog-BWuvEv1x.js → model-catalog-Drh9Rois.js} +3 -3
  100. package/dist/{model-picker-CLhaaagi.js → model-picker-DK_vvKCV.js} +4 -4
  101. package/dist/{models-5VXwJBU2.js → models-CFXLX9IF.js} +17 -17
  102. package/dist/{models-cli-Br56IHfy.js → models-cli-PHQyKESa.js} +78 -78
  103. package/dist/{models-config-poV-4Xlx.js → models-config-DAastTau.js} +6 -6
  104. package/dist/{net-CCnbGop3.js → net-CIh5ellr.js} +2 -2
  105. package/dist/{node-cli-C8hvYquX.js → node-cli-o9qcU9GJ.js} +33 -33
  106. package/dist/{node-command-policy-B_D5ucTj.js → node-command-policy-BeTSnoyk.js} +1 -1
  107. package/dist/{node-service-Z0JprJda.js → node-service-OVe0_CIs.js} +1 -1
  108. package/dist/{nodes-cli-IIc8fTKT.js → nodes-cli-kGx_Qa3c.js} +16 -16
  109. package/dist/{nodes-screen-DFFmbaXE.js → nodes-screen-BrMJzhot.js} +7 -7
  110. package/dist/{npm-pack-install-B887us7R.js → npm-pack-install-Dn3FiWXB.js} +18 -18
  111. package/dist/{npm-resolution-CKtyq4FH.js → npm-resolution-ky_uAlXE.js} +4 -4
  112. package/dist/{onboard-lFwpCpC3.js → onboard-D1Qy64JK.js} +6 -6
  113. package/dist/{onboard-channels-_kVo3Apf.js → onboard-channels-oJCC_sJX.js} +21 -21
  114. package/dist/{onboard-custom-CZtjqrY7.js → onboard-custom-CRpsaM3g.js} +4 -4
  115. package/dist/{onboard-helpers-BP429__H.js → onboard-helpers-DwEZeaoe.js} +10 -10
  116. package/dist/{onboard-hooks-CTbjgLDl.js → onboard-hooks-DyxckB2C.js} +4 -4
  117. package/dist/{onboard-remote-BlZB0AE9.js → onboard-remote-ZgpWNq9Z.js} +4 -4
  118. package/dist/{onboard-skills-BT2YOXeP.js → onboard-skills-DEijVfCg.js} +4 -4
  119. package/dist/{onboarding-EEd_g8Zg.js → onboarding-Mxqy4O1E.js} +14 -14
  120. package/dist/{onboarding.finalize-Cs1ukjFN.js → onboarding.finalize-DiOMx6A5.js} +90 -90
  121. package/dist/{onboarding.gateway-config-C6N8r5Is.js → onboarding.gateway-config-9wkBCzzO.js} +18 -18
  122. package/dist/{onboarding.secret-input-BTK1IG-J.js → onboarding.secret-input-DRnoQSlI.js} +1 -1
  123. package/dist/{openai-model-default-COzeuAI4.js → openai-model-default-DqE4bNtd.js} +2 -2
  124. package/dist/{outbound-B7m9Vcd2.js → outbound-CwzUo-rx.js} +3 -3
  125. package/dist/{outbound-attachment-fdEhzyl9.js → outbound-attachment-Bedqixj2.js} +2 -2
  126. package/dist/{pairing-cli-NhoRKes6.js → pairing-cli-CsYP0at7.js} +8 -8
  127. package/dist/{pairing-labels-CnTvFrUT.js → pairing-labels-CX4CtqRa.js} +1 -1
  128. package/dist/{pairing-store-D0eOXyby.js → pairing-store-BC4mnG9S.js} +3 -3
  129. package/dist/{path-alias-guards-vfYYQFIg.js → path-alias-guards-DeOVetT7.js} +3 -3
  130. package/dist/{path-safety-C95DzArw.js → path-safety-D7CjFQvf.js} +1 -1
  131. package/dist/{paths-DfuVHiHu.js → paths-D6mnO6Ni.js} +9 -9
  132. package/dist/{pi-embedded-helpers-qCAK_a65.js → pi-embedded-helpers-DtCOZSv-.js} +6 -6
  133. package/dist/{pi-model-discovery-CKUePiDc.js → pi-model-discovery-Cr1q2cJt.js} +1 -1
  134. package/dist/{pi-model-discovery-runtime-CNLKih0w.js → pi-model-discovery-runtime-BHmdAKBK.js} +5 -5
  135. package/dist/{pi-tools.before-tool-call.runtime-Bba7rXQq.js → pi-tools.before-tool-call.runtime-duKHqrMc.js} +5 -5
  136. package/dist/{pi-tools.policy-BwWnFLLV.js → pi-tools.policy-D3RA94WF.js} +5 -5
  137. package/dist/{plugin-auto-enable-DJkHW_LG.js → plugin-auto-enable-a3TK3OPT.js} +3 -3
  138. package/dist/{plugin-registry-D3PnPE1D.js → plugin-registry-CFqqDqQV.js} +3 -3
  139. package/dist/{plugins-BDTkSIi7.js → plugins-Bc7YM9X-.js} +2 -2
  140. package/dist/{plugins-cli-BA_2daJe.js → plugins-cli-vQi8tFye.js} +83 -83
  141. package/dist/{ports-Be82TlEg.js → ports-BzfeaNjw.js} +1 -1
  142. package/dist/{ports-0jLyYbvQ.js → ports-DMeUt80n.js} +2 -2
  143. package/dist/{program-D_xdLzmM.js → program-Nott_VTb.js} +81 -81
  144. package/dist/{prompt-select-styled-BsheNEnh.js → prompt-select-styled-7mnlZgrQ.js} +40 -40
  145. package/dist/{provider-auth-helpers-B5kD4Lt6.js → provider-auth-helpers-_77rN3Zc.js} +5 -5
  146. package/dist/{proxy-env-CQTuxZoS.js → proxy-env-BiKHVg2h.js} +1 -1
  147. package/dist/{push-apns-BbenjEX4.js → push-apns-Ce1zzNYB.js} +5 -5
  148. package/dist/{pw-ai-wo5t_KO_.js → pw-ai-CAhTwexx.js} +18 -18
  149. package/dist/{qmd-manager-BkSWV1Q1.js → qmd-manager-BsL_hcOB.js} +20 -20
  150. package/dist/{qr-cli-DSMYIp-D.js → qr-cli-DzjBpGix.js} +2 -2
  151. package/dist/{query-expansion-DI9INxTg.js → query-expansion-C0HUJbRn.js} +12 -12
  152. package/dist/{redact-snapshot-B2YFI3cO.js → redact-snapshot-C0McNGqh.js} +1 -1
  153. package/dist/{register.agent-Dk_5V5oA.js → register.agent-DtjNdvUh.js} +94 -94
  154. package/dist/register.configure-BkwbM-hb.js +165 -0
  155. package/dist/{register.maintenance-CluQOq8b.js → register.maintenance-DERKsSgi.js} +95 -95
  156. package/dist/{register.message-BCTXT5yK.js → register.message-DkYxt6gZ.js} +74 -74
  157. package/dist/{register.onboard-C64oXnvq.js → register.onboard-BtfW83M0.js} +18 -18
  158. package/dist/{register.setup-Dl3nk2Ui.js → register.setup-Ba9gMkRk.js} +21 -21
  159. package/dist/{register.status-health-sessions-BHtbPeCO.js → register.status-health-sessions-BILdpWJV.js} +88 -88
  160. package/dist/{register.subclis-CDMFyaKR.js → register.subclis-Dfm_Zu31.js} +31 -31
  161. package/dist/{rpc-DA9IhLVG.js → rpc-mau2U4RG.js} +1 -1
  162. package/dist/{run-main-BcA22Ipv.js → run-main-BF7ybLIy.js} +93 -93
  163. package/dist/{runtime-BnbzNRr6.js → runtime-Bcmv4Epp.js} +3 -3
  164. package/dist/{runtime-config-collectors-CXJdhHRo.js → runtime-config-collectors-Bsjz4isf.js} +1 -1
  165. package/dist/{runtime-whatsapp-login.runtime-DRoK8G8H.js → runtime-whatsapp-login.runtime-COUEKxmy.js} +7 -7
  166. package/dist/{runtime-whatsapp-outbound.runtime-C9OiwkWh.js → runtime-whatsapp-outbound.runtime-BaWH6-ns.js} +15 -15
  167. package/dist/{sandbox-cli-BwK2slfh.js → sandbox-cli-DOxm7fjR.js} +25 -25
  168. package/dist/{sandbox-C3TbYIHd.js → sandbox-ixDhkfHu.js} +18 -18
  169. package/dist/{secrets-cli-Beu2lcrf.js → secrets-cli-DvXznMUb.js} +11 -11
  170. package/dist/{security-cli-CcpKH_lC.js → security-cli-3WOXvJR-.js} +42 -42
  171. package/dist/{send-EVcbFVqn.js → send-BPgrWmUX.js} +5 -5
  172. package/dist/{send-RDqyJwZx.js → send-BVyLW1cn.js} +8 -8
  173. package/dist/{send-z-sMjqvX.js → send-BpkluEZ5.js} +4 -4
  174. package/dist/{send-CLI3CiQv.js → send-BuBTLRMz.js} +6 -6
  175. package/dist/{send-DEs83M9V.js → send-Do2preUU.js} +11 -11
  176. package/dist/{server-Bm-IxvZZ.js → server-DMAPnkgM.js} +20 -20
  177. package/dist/{server-context-Dw_4lGoI.js → server-context-Dd8UynDU.js} +12 -12
  178. package/dist/{server-lifecycle-DYgHYif9.js → server-lifecycle-BEZ2jsQ6.js} +2 -2
  179. package/dist/{server-middleware-BVAEuQs7.js → server-middleware-B_LyQkOL.js} +1 -1
  180. package/dist/{server-node-events-Q0cT2ifj.js → server-node-events-dr5CaM3M.js} +74 -74
  181. package/dist/{service-DSqxS6_D.js → service-B5T42CWZ.js} +15 -15
  182. package/dist/{session-D0jodcgT.js → session-eXSdl5mb.js} +1 -1
  183. package/dist/{session-utils-XY6JwRhT.js → session-utils-D12gSo5W.js} +6 -6
  184. package/dist/{sessions-CMqv9JEu.js → sessions-C16G7L5c.js} +4 -4
  185. package/dist/{sessions-BWptzMw0.js → sessions-DgnXAQCc.js} +15 -15
  186. package/dist/{shared-BbVxcRzb.js → shared-BYny1RCF.js} +3 -3
  187. package/dist/{shared-D5DTxBPH.js → shared-By6_qr_R.js} +1 -1
  188. package/dist/{skill-commands-fU-Mejn9.js → skill-commands-BcigmiOW.js} +5 -5
  189. package/dist/{skill-scanner-CvS725eQ.js → skill-scanner--QKHR8U0.js} +6 -6
  190. package/dist/{skills-C85azDXm.js → skills-EwyaIyKC.js} +3 -3
  191. package/dist/{skills-cli-ZXx6BNar.js → skills-cli-CqEjN0Yj.js} +5 -5
  192. package/dist/{skills-install-KD6dzNoZ.js → skills-install-CXVKvhIE.js} +6 -6
  193. package/dist/{skills-status-DkO7rxE8.js → skills-status-Bv8Xt7Lc.js} +1 -1
  194. package/dist/{slash-commands.runtime-CPlXJtuM.js → slash-commands.runtime-Bi99B_EP.js} +11 -11
  195. package/dist/slash-dispatch.runtime-reuPLnse.js +114 -0
  196. package/dist/{slash-skill-commands.runtime-Cnfq_5LN.js → slash-skill-commands.runtime-DOXmvOtU.js} +15 -15
  197. package/dist/{squidclaw-root-BQfLymzj.js → squidclaw-root-JXyRbQLJ.js} +8 -8
  198. package/dist/{status-cU9cJReo.js → status-Dnl-Um1D.js} +27 -27
  199. package/dist/{status.update-CiLU9RPF.js → status.update-BGIm6we4.js} +2 -2
  200. package/dist/{store-BEIcnlgx.js → store-BTkIx401.js} +5 -5
  201. package/dist/{subagent-registry-CIgFD2oi.js → subagent-registry-CQA6P2FO.js} +149 -149
  202. package/dist/subagent-registry-runtime-CqgIWcSl.js +114 -0
  203. package/dist/{system-cli-i1FWZDjn.js → system-cli-CJAQxYHv.js} +9 -9
  204. package/dist/{system-run-command-COqCNIBg.js → system-run-command-BaSqmSwR.js} +1 -1
  205. package/dist/{systemd-Cj2cX_ZP.js → systemd-B86VePXs.js} +9 -9
  206. package/dist/{systemd-hints-46PqJfaq.js → systemd-hints-BmFWZu_j.js} +6 -6
  207. package/dist/{systemd-linger-6Jd9K5p2.js → systemd-linger-w7fvBU-1.js} +1 -1
  208. package/dist/{tables-CIpKClDV.js → tables-CGh4CW_h.js} +1 -1
  209. package/dist/{tailnet-CZANZjq6.js → tailnet-DJq7Mi1o.js} +1 -1
  210. package/dist/{target-errors-CRQlPF1u.js → target-errors-C_rnMuJ2.js} +4 -4
  211. package/dist/{tool-images-CyzWvDUu.js → tool-images-D6mmxuWS.js} +1 -1
  212. package/dist/{tui-CC_AbfZr.js → tui-BbcmzKaA.js} +6 -6
  213. package/dist/{tui-cli-DiJ7zKUD.js → tui-cli-Dv3jSm3x.js} +32 -32
  214. package/dist/{update-1JhjCqjy.js → update-BhRrb6BI.js} +3 -3
  215. package/dist/{update-cli-DM_dUip_.js → update-cli-Oe0fP8x9.js} +104 -104
  216. package/dist/{update-runner-BBJZmfZ4.js → update-runner-DdA6xBa9.js} +16 -16
  217. package/dist/web-w04Gvwqi.js +118 -0
  218. package/dist/{webhooks-cli-CzDd8ikc.js → webhooks-cli-CJLug1QH.js} +6 -6
  219. package/dist/{whatsapp-actions-MR_bBjXO.js → whatsapp-actions-_ca5OtHq.js} +17 -17
  220. package/dist/{with-timeout-BZ_Teugb.js → with-timeout-CFfRudNc.js} +3 -3
  221. package/dist/{workspace-D5vNjk5G.js → workspace-BbO-M3Jv.js} +1 -1
  222. package/dist/{workspace-dirs-CjMIsQti.js → workspace-dirs-D8D-Ghcl.js} +1 -1
  223. package/dist/{wsl-CvQfS6aU.js → wsl-CsGe5QCP.js} +2 -2
  224. package/package.json +1 -1
  225. package/dist/deliver-runtime-C08pF1_3.js +0 -61
  226. package/dist/deps-send-discord.runtime-r80y9aXF.js +0 -36
  227. package/dist/deps-send-imessage.runtime-BmocBgPM.js +0 -35
  228. package/dist/deps-send-signal.runtime-ByJt6qz-.js +0 -34
  229. package/dist/deps-send-slack.runtime-C3UUEG9J.js +0 -32
  230. package/dist/deps-send-whatsapp.runtime-__ogpmJj.js +0 -119
  231. package/dist/image-runtime-cza2NTiZ.js +0 -55
  232. package/dist/register.configure-C8OFfGln.js +0 -165
  233. package/dist/slash-dispatch.runtime-BOMEVFk0.js +0 -114
  234. package/dist/subagent-registry-runtime-DGTjU9Lb.js +0 -114
  235. package/dist/web-CZhZC1EA.js +0 -118
@@ -1,38 +1,38 @@
1
1
  import { g as resolveStateDir, m as resolveOAuthDir, o as resolveConfigPath } from "./paths-CHIu6D1E.js";
2
- import { A as formatPermissionRemediation, M as safeStat, Qt as normalizeTrustedSafeBinDirs, R as createConfigIO, Rn as INCLUDE_KEY, dt as isDangerousNetworkMode, ft as normalizeNetworkMode, j as inspectPathPermissions, k as formatPermissionDetail, zn as MAX_INCLUDE_DEPTH } from "./auth-profiles-CX4YYu7Z.js";
2
+ import { A as formatPermissionRemediation, M as safeStat, Qt as normalizeTrustedSafeBinDirs, R as createConfigIO, Rn as INCLUDE_KEY, dt as isDangerousNetworkMode, ft as normalizeNetworkMode, j as inspectPathPermissions, k as formatPermissionDetail, zn as MAX_INCLUDE_DEPTH } from "./auth-profiles-9T4j6jMy.js";
3
3
  import { t as formatCliCommand } from "./command-format-D8-lYArk.js";
4
- import { M as resolveAgentModelFallbackValues, N as resolveAgentModelPrimaryValue, d as resolveDefaultAgentId } from "./agent-scope-Cq4vDGrK.js";
4
+ import { M as resolveAgentModelFallbackValues, N as resolveAgentModelPrimaryValue, d as resolveDefaultAgentId } from "./agent-scope-nEVgVklg.js";
5
5
  import { c as normalizeAgentId } from "./session-key-k6urs9r-.js";
6
6
  import { A as hasConfiguredSecretInput } from "./registry-BXcl3IkC.js";
7
7
  import { i as isPathInside, n as MANIFEST_KEY, r as extensionUsesSkippedScannerPath } from "./legacy-names-Q0o_2ITh.js";
8
- import { d as normalizePluginsConfig } from "./manifest-registry-7kwtbCH-.js";
9
- import { l as normalizeStringEntries } from "./dock-DJJAj46v.js";
10
- import { i as loadWorkspaceSkillEntries } from "./skills-C85azDXm.js";
8
+ import { d as normalizePluginsConfig } from "./manifest-registry-1ACGW3OR.js";
9
+ import { l as normalizeStringEntries } from "./dock-W3cGg46W.js";
10
+ import { i as loadWorkspaceSkillEntries } from "./skills-EwyaIyKC.js";
11
11
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-DqvtYF2o.js";
12
- import { n as listChannelPlugins } from "./plugins-BDTkSIi7.js";
13
- import { t as GatewayClient } from "./client-G9E5HGM2.js";
14
- import { l as READ_SCOPE, t as buildGatewayConnectionDetails } from "./call-BlWEBz99.js";
12
+ import { n as listChannelPlugins } from "./plugins-Bc7YM9X-.js";
13
+ import { t as GatewayClient } from "./client-COy24r9W.js";
14
+ import { l as READ_SCOPE, t as buildGatewayConnectionDetails } from "./call-D7jOWSFr.js";
15
15
  import { t as resolveGatewayCredentialsFromConfig } from "./credentials-CyQeGziJ.js";
16
- import { C as resolveToolProfilePolicy, f as resolveSandboxConfigForAgent, k as SANDBOX_BROWSER_SECURITY_HASH_EPOCH, l as execDockerRaw, m as resolveSandboxToolPolicyForAgent, u as getBlockedBindReason } from "./sandbox-C3TbYIHd.js";
17
- import { a as resolveGatewayAuth } from "./auth-CuObxnC4.js";
18
- import { a as resolveProfile, c as resolveBrowserControlAuth, i as resolveBrowserConfig } from "./server-context-Dw_4lGoI.js";
16
+ import { C as resolveToolProfilePolicy, f as resolveSandboxConfigForAgent, k as SANDBOX_BROWSER_SECURITY_HASH_EPOCH, l as execDockerRaw, m as resolveSandboxToolPolicyForAgent, u as getBlockedBindReason } from "./sandbox-ixDhkfHu.js";
17
+ import { a as resolveGatewayAuth } from "./auth-BlP9BwaD.js";
18
+ import { a as resolveProfile, c as resolveBrowserControlAuth, i as resolveBrowserConfig } from "./server-context-Dd8UynDU.js";
19
19
  import { r as formatErrorMessage } from "./errors-BnRmsfe-.js";
20
- import { r as resolveMergedSafeBinProfileFixtures, t as listInterpreterLikeSafeBins } from "./exec-safe-bin-runtime-policy-CfQeDABF.js";
21
- import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled } from "./commands-CnX9I_l4.js";
22
- import { i as readChannelAllowFromStore } from "./pairing-store-D0eOXyby.js";
23
- import { t as listAgentWorkspaceDirs } from "./workspace-dirs-CjMIsQti.js";
24
- import { l as resolveDmAllowState, n as isToolAllowedByPolicies, o as pickSandboxToolPolicy } from "./pi-tools.policy-BwWnFLLV.js";
20
+ import { r as resolveMergedSafeBinProfileFixtures, t as listInterpreterLikeSafeBins } from "./exec-safe-bin-runtime-policy-DECo77U6.js";
21
+ import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled } from "./commands-DDHiW-As.js";
22
+ import { i as readChannelAllowFromStore } from "./pairing-store-BC4mnG9S.js";
23
+ import { t as listAgentWorkspaceDirs } from "./workspace-dirs-D8D-Ghcl.js";
24
+ import { l as resolveDmAllowState, n as isToolAllowedByPolicies, o as pickSandboxToolPolicy } from "./pi-tools.policy-D3RA94WF.js";
25
25
  import { n as isDangerousNameMatchingEnabled } from "./dangerous-name-matching-CXdnb6je.js";
26
26
  import { n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./dangerous-tools-Dpi4An5r.js";
27
27
  import { t as resolveChannelDefaultAccountId } from "./helpers-D7MilaX-.js";
28
- import { t as scanDirectoryWithSummary } from "./skill-scanner-CvS725eQ.js";
29
- import { r as resolveNodeCommandAllowlist, t as DEFAULT_DANGEROUS_NODE_COMMANDS } from "./node-command-policy-B_D5ucTj.js";
28
+ import { t as scanDirectoryWithSummary } from "./skill-scanner--QKHR8U0.js";
29
+ import { r as resolveNodeCommandAllowlist, t as DEFAULT_DANGEROUS_NODE_COMMANDS } from "./node-command-policy-BeTSnoyk.js";
30
30
  import { c as normalizeTelegramAllowFromEntry, s as isNumericTelegramUserId, t as isDiscordMutableAllowEntry } from "./mutable-allowlist-detectors-DHXBcz_e.js";
31
31
  import { t as inferParamBFromIdOrName } from "./model-param-b-scvX_s5g.js";
32
32
  import path from "node:path";
33
33
  import JSON5 from "json5";
34
- import * as fs$1 from "node:fs/promises";
35
- import fs from "node:fs/promises";
34
+ import * as fs from "node:fs/promises";
35
+ import fsPromises from "node:fs/promises";
36
36
  import { randomUUID } from "node:crypto";
37
37
  import { isIP } from "node:net";
38
38
 
@@ -1342,7 +1342,7 @@ async function collectIncludePathsRecursive(params) {
1342
1342
  if (visited.has(resolved)) continue;
1343
1343
  visited.add(resolved);
1344
1344
  result.push(resolved);
1345
- const rawText = await fs$1.readFile(resolved, "utf-8").catch(() => null);
1345
+ const rawText = await fs.readFile(resolved, "utf-8").catch(() => null);
1346
1346
  if (!rawText) continue;
1347
1347
  const nestedParsed = (() => {
1348
1348
  try {
@@ -1377,7 +1377,7 @@ function expandTilde(p, env) {
1377
1377
  }
1378
1378
  async function readPluginManifestExtensions(pluginPath) {
1379
1379
  const manifestPath = path.join(pluginPath, "package.json");
1380
- const raw = await fs.readFile(manifestPath, "utf-8").catch(() => "");
1380
+ const raw = await fsPromises.readFile(manifestPath, "utf-8").catch(() => "");
1381
1381
  if (!raw.trim()) return [];
1382
1382
  const extensions = JSON.parse(raw)?.[MANIFEST_KEY]?.extensions;
1383
1383
  if (!Array.isArray(extensions)) return [];
@@ -1399,7 +1399,7 @@ async function listInstalledPluginDirs(params) {
1399
1399
  };
1400
1400
  return {
1401
1401
  extensionsDir,
1402
- pluginDirs: (await fs.readdir(extensionsDir, { withFileTypes: true }).catch((err) => {
1402
+ pluginDirs: (await fsPromises.readdir(extensionsDir, { withFileTypes: true }).catch((err) => {
1403
1403
  params.onReadError?.(err);
1404
1404
  return [];
1405
1405
  })).filter((entry) => entry.isDirectory()).map((entry) => entry.name).filter(Boolean)
@@ -1462,7 +1462,7 @@ function isPinnedRegistrySpec(spec) {
1462
1462
  }
1463
1463
  async function readInstalledPackageVersion(dir) {
1464
1464
  try {
1465
- const raw = await fs.readFile(path.join(dir, "package.json"), "utf-8");
1465
+ const raw = await fsPromises.readFile(path.join(dir, "package.json"), "utf-8");
1466
1466
  const parsed = JSON.parse(raw);
1467
1467
  return typeof parsed.version === "string" ? parsed.version : void 0;
1468
1468
  } catch {
@@ -1498,10 +1498,10 @@ async function listWorkspaceSkillMarkdownFiles(workspaceDir) {
1498
1498
  const visitedDirs = /* @__PURE__ */ new Set();
1499
1499
  while (queue.length > 0 && skillFiles.length < MAX_WORKSPACE_SKILL_SCAN_FILES_PER_WORKSPACE) {
1500
1500
  const dir = queue.shift();
1501
- const dirRealPath = await fs.realpath(dir).catch(() => path.resolve(dir));
1501
+ const dirRealPath = await fsPromises.realpath(dir).catch(() => path.resolve(dir));
1502
1502
  if (visitedDirs.has(dirRealPath)) continue;
1503
1503
  visitedDirs.add(dirRealPath);
1504
- const entries = await fs.readdir(dir, { withFileTypes: true }).catch(() => []);
1504
+ const entries = await fsPromises.readdir(dir, { withFileTypes: true }).catch(() => []);
1505
1505
  for (const entry of entries) {
1506
1506
  if (entry.name.startsWith(".") || entry.name === "node_modules") continue;
1507
1507
  const fullPath = path.join(dir, entry.name);
@@ -1510,7 +1510,7 @@ async function listWorkspaceSkillMarkdownFiles(workspaceDir) {
1510
1510
  continue;
1511
1511
  }
1512
1512
  if (entry.isSymbolicLink()) {
1513
- const stat = await fs.stat(fullPath).catch(() => null);
1513
+ const stat = await fsPromises.stat(fullPath).catch(() => null);
1514
1514
  if (!stat) continue;
1515
1515
  if (stat.isDirectory()) {
1516
1516
  queue.push(fullPath);
@@ -1800,13 +1800,13 @@ async function collectWorkspaceSkillSymlinkEscapeFindings(params) {
1800
1800
  const seenSkillPaths = /* @__PURE__ */ new Set();
1801
1801
  for (const workspaceDir of workspaceDirs) {
1802
1802
  const workspacePath = path.resolve(workspaceDir);
1803
- const workspaceRealPath = await fs.realpath(workspacePath).catch(() => workspacePath);
1803
+ const workspaceRealPath = await fsPromises.realpath(workspacePath).catch(() => workspacePath);
1804
1804
  const skillFilePaths = await listWorkspaceSkillMarkdownFiles(workspacePath);
1805
1805
  for (const skillFilePath of skillFilePaths) {
1806
1806
  const canonicalSkillPath = path.resolve(skillFilePath);
1807
1807
  if (seenSkillPaths.has(canonicalSkillPath)) continue;
1808
1808
  seenSkillPaths.add(canonicalSkillPath);
1809
- const skillRealPath = await fs.realpath(canonicalSkillPath).catch(() => null);
1809
+ const skillRealPath = await fsPromises.realpath(canonicalSkillPath).catch(() => null);
1810
1810
  if (!skillRealPath) continue;
1811
1811
  if (isPathInside(workspaceRealPath, skillRealPath)) continue;
1812
1812
  escapedSkillFiles.push({
@@ -1,5 +1,5 @@
1
1
  import { t as safeEqualSecret } from "./secret-equal-Gla36CGi.js";
2
- import { a as isTrustedProxyAddress, l as resolveClientIp, n as isLoopbackAddress, t as isLocalishHost } from "./net-CCnbGop3.js";
2
+ import { a as isTrustedProxyAddress, l as resolveClientIp, n as isLoopbackAddress, t as isLocalishHost } from "./net-CIh5ellr.js";
3
3
  import { n as resolveGatewayCredentialsFromValues } from "./credentials-CyQeGziJ.js";
4
4
  import { c as readTailscaleWhoisIdentity } from "./tailscale-DHGqQR08.js";
5
5
 
@@ -2,10 +2,10 @@ import "./globals-BrhVUl-N.js";
2
2
  import "./paths-CHIu6D1E.js";
3
3
  import "./subsystem-Bw5n50gj.js";
4
4
  import "./boolean-DtWR5bt3.js";
5
- import { Ai as normalizeOptionalSecretInput, Sr as normalizeProviderId, Zn as upsertAuthProfile, ct as resolveDefaultSecretProviderAlias, d as resolveApiKeyForProfile, er as ensureAuthProfileStore, gi as resolveEnvApiKey, ji as normalizeSecretInput, pt as parseDurationMs, r as resolveAuthProfileOrder } from "./auth-profiles-CX4YYu7Z.js";
6
- import "./agent-scope-Cq4vDGrK.js";
5
+ import { Ai as normalizeOptionalSecretInput, Sr as normalizeProviderId, Zn as upsertAuthProfile, ct as resolveDefaultSecretProviderAlias, d as resolveApiKeyForProfile, er as ensureAuthProfileStore, gi as resolveEnvApiKey, ji as normalizeSecretInput, pt as parseDurationMs, r as resolveAuthProfileOrder } from "./auth-profiles-9T4j6jMy.js";
6
+ import "./agent-scope-nEVgVklg.js";
7
7
  import "./utils-D6vohX1h.js";
8
- import "./squidclaw-root-BQfLymzj.js";
8
+ import "./squidclaw-root-JXyRbQLJ.js";
9
9
  import "./logger-DL3N22PJ.js";
10
10
  import "./exec-TSiqsZw1.js";
11
11
  import "./registry-BXcl3IkC.js";
@@ -13,16 +13,16 @@ import "./github-copilot-token-CxitgiZA.js";
13
13
  import "./host-env-security-lcjXF83D.js";
14
14
  import "./version-3so140Zi.js";
15
15
  import "./env-vars-mSSOl7Rv.js";
16
- import "./manifest-registry-7kwtbCH-.js";
17
- import "./models-config-poV-4Xlx.js";
18
- import "./model-catalog-BWuvEv1x.js";
19
- import { a as normalizeSecretInputModeInput } from "./auth-choice.apply-helpers-p1y_DmDT.js";
20
- import "./issue-format-DCcINW-9.js";
21
- import "./shared-BbVxcRzb.js";
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-Dlk7MMsC.js";
23
- import { i as detectZaiEndpoint, n as applyOpenAIConfig, o as applyGoogleGeminiModelDefault } from "./openai-model-default-COzeuAI4.js";
24
- import { r as applyPrimaryModel } from "./model-picker-CLhaaagi.js";
25
- import { i as parseNonInteractiveCustomApiFlags, n as applyCustomApiConfig, o as resolveCustomProviderId, t as CustomApiError } from "./onboard-custom-CZtjqrY7.js";
16
+ import "./manifest-registry-1ACGW3OR.js";
17
+ import "./models-config-DAastTau.js";
18
+ import "./model-catalog-Drh9Rois.js";
19
+ import { a as normalizeSecretInputModeInput } from "./auth-choice.apply-helpers-CdoXMtxm.js";
20
+ import "./issue-format-CbTfB8Hy.js";
21
+ import "./shared-BYny1RCF.js";
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-BFc70pes.js";
23
+ import { i as detectZaiEndpoint, n as applyOpenAIConfig, o as applyGoogleGeminiModelDefault } from "./openai-model-default-DqE4bNtd.js";
24
+ import { r as applyPrimaryModel } from "./model-picker-DK_vvKCV.js";
25
+ import { i as parseNonInteractiveCustomApiFlags, n as applyCustomApiConfig, o as resolveCustomProviderId, t as CustomApiError } from "./onboard-custom-CRpsaM3g.js";
26
26
 
27
27
  //#region src/commands/onboard-non-interactive/api-keys.ts
28
28
  function parseEnvVarNameFromSourceLabel(source) {
@@ -1,15 +1,15 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { Di as CLOUDFLARE_AI_GATEWAY_DEFAULT_MODEL_REF, Dr as resolveDefaultModelForAgent, Ei as isHuggingfacePolicyLocked, Jn as listProfilesForProvider, Ni as KILOCODE_DEFAULT_MODEL_REF, Ti as discoverHuggingfaceModels, Zn as upsertAuthProfile, _ as parseOAuthCallbackInput, er as ensureAuthProfileStore, fi as getCustomProviderApiKey, g as generateChutesPkce, gi as resolveEnvApiKey, h as exchangeChutesCodeForTokens, m as CHUTES_AUTHORIZE_ENDPOINT, ni as SYNTHETIC_DEFAULT_MODEL_REF, qr as VENICE_DEFAULT_MODEL_REF, r as resolveAuthProfileOrder, sr as resolveSquidClawAgentDir } from "./auth-profiles-CX4YYu7Z.js";
3
- import { A as resolveDefaultAgentWorkspaceDir, P as toAgentModelListLike, a as resolveAgentDir, d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-Cq4vDGrK.js";
4
- import { r as isLoopbackHost } from "./net-CCnbGop3.js";
5
- import { n as loadModelCatalog } from "./model-catalog-BWuvEv1x.js";
6
- import { f as openUrl } from "./onboard-helpers-BP429__H.js";
7
- import { t as enablePluginInConfig } from "./enable-C8FNY18p.js";
8
- import { a as normalizeSecretInputModeInput, c as resolveSecretInputModeForEnvSelection, d as normalizeApiKeyInput, f as validateApiKeyInput, i as ensureApiKeyFromOptionEnvOrPrompt, l as applyDefaultModelChoice, n as createAuthChoiceDefaultModelApplierForMutableState, o as normalizeTokenProviderInput, s as promptSecretRefForOnboarding, t as createAuthChoiceAgentModelNoter, u as ensureModelAllowlistEntry } from "./auth-choice.apply-helpers-p1y_DmDT.js";
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-Dlk7MMsC.js";
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-B5kD4Lt6.js";
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-COzeuAI4.js";
12
- import { c as OPENAI_CODEX_DEFAULT_MODEL, l as applyOpenAICodexModelDefault, r as applyPrimaryModel, s as promptAndConfigureVllm } from "./model-picker-CLhaaagi.js";
2
+ import { Di as CLOUDFLARE_AI_GATEWAY_DEFAULT_MODEL_REF, Dr as resolveDefaultModelForAgent, Ei as isHuggingfacePolicyLocked, Jn as listProfilesForProvider, Ni as KILOCODE_DEFAULT_MODEL_REF, Ti as discoverHuggingfaceModels, Zn as upsertAuthProfile, _ as parseOAuthCallbackInput, er as ensureAuthProfileStore, fi as getCustomProviderApiKey, g as generateChutesPkce, gi as resolveEnvApiKey, h as exchangeChutesCodeForTokens, m as CHUTES_AUTHORIZE_ENDPOINT, ni as SYNTHETIC_DEFAULT_MODEL_REF, qr as VENICE_DEFAULT_MODEL_REF, r as resolveAuthProfileOrder, sr as resolveSquidClawAgentDir } from "./auth-profiles-9T4j6jMy.js";
3
+ import { A as resolveDefaultAgentWorkspaceDir, P as toAgentModelListLike, a as resolveAgentDir, d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-nEVgVklg.js";
4
+ import { r as isLoopbackHost } from "./net-CIh5ellr.js";
5
+ import { n as loadModelCatalog } from "./model-catalog-Drh9Rois.js";
6
+ import { f as openUrl } from "./onboard-helpers-DwEZeaoe.js";
7
+ import { t as enablePluginInConfig } from "./enable--Q7yLTZm.js";
8
+ import { a as normalizeSecretInputModeInput, c as resolveSecretInputModeForEnvSelection, d as normalizeApiKeyInput, f as validateApiKeyInput, i as ensureApiKeyFromOptionEnvOrPrompt, l as applyDefaultModelChoice, n as createAuthChoiceDefaultModelApplierForMutableState, o as normalizeTokenProviderInput, s as promptSecretRefForOnboarding, t as createAuthChoiceAgentModelNoter, u as ensureModelAllowlistEntry } from "./auth-choice.apply-helpers-CdoXMtxm.js";
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-BFc70pes.js";
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-_77rN3Zc.js";
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-DqE4bNtd.js";
12
+ import { c as OPENAI_CODEX_DEFAULT_MODEL, l as applyOpenAICodexModelDefault, r as applyPrimaryModel, s as promptAndConfigureVllm } from "./model-picker-DK_vvKCV.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";
@@ -1,4 +1,4 @@
1
- import { Li as DEFAULT_PROVIDER, O as encodeJsonPointerToken, Tr as resolveAllowlistModelKey, ct as resolveDefaultSecretProviderAlias, gi as resolveEnvApiKey, ot as isValidFileSecretRefId, y as resolveSecretRefString } from "./auth-profiles-CX4YYu7Z.js";
1
+ import { Li as DEFAULT_PROVIDER, O as encodeJsonPointerToken, Tr as resolveAllowlistModelKey, ct as resolveDefaultSecretProviderAlias, gi as resolveEnvApiKey, ot as isValidFileSecretRefId, y as resolveSecretRefString } from "./auth-profiles-9T4j6jMy.js";
2
2
  import { t as PROVIDER_ENV_VARS } from "./provider-env-vars-CDLIEZFR.js";
3
3
 
4
4
  //#region src/commands/auth-choice.api-key.ts
@@ -3,10 +3,10 @@ import { _ as expandHomePrefix, a as resolveCanonicalConfigPath, c as resolveDef
3
3
  import { c as stripAnsi, t as createSubsystemLogger } from "./subsystem-Bw5n50gj.js";
4
4
  import { r as isTruthyEnvValue } from "./entry.js";
5
5
  import { t as formatCliCommand } from "./command-format-D8-lYArk.js";
6
- import { N as resolveAgentModelPrimaryValue, P as toAgentModelListLike, d as resolveDefaultAgentId, i as resolveAgentConfig, o as resolveAgentEffectiveModelPrimary, u as resolveAgentWorkspaceDir } from "./agent-scope-Cq4vDGrK.js";
6
+ import { N as resolveAgentModelPrimaryValue, P as toAgentModelListLike, d as resolveDefaultAgentId, i as resolveAgentConfig, o as resolveAgentEffectiveModelPrimary, u as resolveAgentWorkspaceDir } from "./agent-scope-nEVgVklg.js";
7
7
  import { c as normalizeAgentId, t as DEFAULT_AGENT_ID, y as isBlockedObjectKey } from "./session-key-k6urs9r-.js";
8
8
  import { E as isPlainObject$2, S as sleep, h as resolveConfigDir, u as isRecord$2, v as resolveUserPath } from "./utils-D6vohX1h.js";
9
- import { a as openBoundaryFileSync, r as canUseBoundaryFileOpen } from "./squidclaw-root-BQfLymzj.js";
9
+ import { a as openBoundaryFileSync, r as canUseBoundaryFileOpen } from "./squidclaw-root-JXyRbQLJ.js";
10
10
  import { n as runExec } from "./exec-TSiqsZw1.js";
11
11
  import { A as hasConfiguredSecretInput, D as DEFAULT_SECRET_PROVIDER_ALIAS, F as resolveSecretInputRef, M as normalizeResolvedSecretInputString, N as normalizeSecretInputString, O as assertSecretInputResolved, P as parseEnvTemplateSecretRef, j as isSecretRef, k as coerceSecretRef, l as normalizeChatChannelId, t as CHANNEL_IDS } from "./registry-BXcl3IkC.js";
12
12
  import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-CxitgiZA.js";
@@ -14,8 +14,8 @@ import { i as sanitizeHostExecEnv } from "./host-env-security-lcjXF83D.js";
14
14
  import { t as VERSION } from "./version-3so140Zi.js";
15
15
  import { t as applyConfigEnvVars } from "./env-vars-mSSOl7Rv.js";
16
16
  import { i as isPathInside } from "./legacy-names-Q0o_2ITh.js";
17
- import { d as normalizePluginsConfig, f as resolveEffectiveEnableState, n as loadPluginManifestRegistry, p as resolveMemorySlotDecision } from "./manifest-registry-7kwtbCH-.js";
18
- import { d as TOOLS_BY_SENDER_KEY_TYPES, f as parseToolsBySenderTypedKey } from "./dock-DJJAj46v.js";
17
+ import { d as normalizePluginsConfig, f as resolveEffectiveEnableState, n as loadPluginManifestRegistry, p as resolveMemorySlotDecision } from "./manifest-registry-1ACGW3OR.js";
18
+ import { d as TOOLS_BY_SENDER_KEY_TYPES, f as parseToolsBySenderTypedKey } from "./dock-W3cGg46W.js";
19
19
  import { t as runTasksWithConcurrency } from "./run-with-concurrency-kzSMVKJz.js";
20
20
  import { createRequire } from "node:module";
21
21
  import { execFileSync, spawn } from "node:child_process";
@@ -24,7 +24,7 @@ import path from "node:path";
24
24
  import fs from "node:fs";
25
25
  import JSON5 from "json5";
26
26
  import { isDeepStrictEqual } from "node:util";
27
- import fs$1 from "node:fs/promises";
27
+ import fsPromises from "node:fs/promises";
28
28
  import { BedrockClient, ListFoundationModelsCommand } from "@aws-sdk/client-bedrock";
29
29
  import { createAssistantMessageEventStream, getEnvApiKey, getOAuthApiKey, getOAuthProviders } from "@mariozechner/pi-ai";
30
30
  import crypto, { createHash, randomBytes, randomUUID } from "node:crypto";
@@ -3559,7 +3559,7 @@ function computeDelayMs(retries, attempt) {
3559
3559
  }
3560
3560
  async function readLockPayload(lockPath) {
3561
3561
  try {
3562
- const raw = await fs$1.readFile(lockPath, "utf8");
3562
+ const raw = await fsPromises.readFile(lockPath, "utf8");
3563
3563
  const parsed = JSON.parse(raw);
3564
3564
  if (typeof parsed.pid !== "number" || typeof parsed.createdAt !== "string") return null;
3565
3565
  return {
@@ -3573,9 +3573,9 @@ async function readLockPayload(lockPath) {
3573
3573
  async function resolveNormalizedFilePath(filePath) {
3574
3574
  const resolved = path.resolve(filePath);
3575
3575
  const dir = path.dirname(resolved);
3576
- await fs$1.mkdir(dir, { recursive: true });
3576
+ await fsPromises.mkdir(dir, { recursive: true });
3577
3577
  try {
3578
- const realDir = await fs$1.realpath(dir);
3578
+ const realDir = await fsPromises.realpath(dir);
3579
3579
  return path.join(realDir, path.basename(resolved));
3580
3580
  } catch {
3581
3581
  return resolved;
@@ -3589,7 +3589,7 @@ async function isStaleLock(lockPath, staleMs) {
3589
3589
  if (!Number.isFinite(createdAt) || Date.now() - createdAt > staleMs) return true;
3590
3590
  }
3591
3591
  try {
3592
- const stat = await fs$1.stat(lockPath);
3592
+ const stat = await fsPromises.stat(lockPath);
3593
3593
  return Date.now() - stat.mtimeMs > staleMs;
3594
3594
  } catch {
3595
3595
  return true;
@@ -3602,7 +3602,7 @@ async function releaseHeldLock(normalizedFile) {
3602
3602
  if (current.count > 0) return;
3603
3603
  HELD_LOCKS.delete(normalizedFile);
3604
3604
  await current.handle.close().catch(() => void 0);
3605
- await fs$1.rm(current.lockPath, { force: true }).catch(() => void 0);
3605
+ await fsPromises.rm(current.lockPath, { force: true }).catch(() => void 0);
3606
3606
  }
3607
3607
  async function acquireFileLock(filePath, options) {
3608
3608
  const normalizedFile = await resolveNormalizedFilePath(filePath);
@@ -3617,7 +3617,7 @@ async function acquireFileLock(filePath, options) {
3617
3617
  }
3618
3618
  const attempts = Math.max(1, options.retries.retries + 1);
3619
3619
  for (let attempt = 0; attempt < attempts; attempt += 1) try {
3620
- const handle = await fs$1.open(lockPath, "wx");
3620
+ const handle = await fsPromises.open(lockPath, "wx");
3621
3621
  await handle.writeFile(JSON.stringify({
3622
3622
  pid: process.pid,
3623
3623
  createdAt: (/* @__PURE__ */ new Date()).toISOString()
@@ -3634,7 +3634,7 @@ async function acquireFileLock(filePath, options) {
3634
3634
  } catch (err) {
3635
3635
  if (err.code !== "EEXIST") throw err;
3636
3636
  if (await isStaleLock(lockPath, options.stale)) {
3637
- await fs$1.rm(lockPath, { force: true }).catch(() => void 0);
3637
+ await fsPromises.rm(lockPath, { force: true }).catch(() => void 0);
3638
3638
  continue;
3639
3639
  }
3640
3640
  if (attempt >= attempts - 1) break;
@@ -14786,7 +14786,7 @@ function createIcaclsResetCommand(targetPath, opts) {
14786
14786
  //#region src/security/audit-fs.ts
14787
14787
  async function safeStat(targetPath) {
14788
14788
  try {
14789
- const lst = await fs$1.lstat(targetPath);
14789
+ const lst = await fsPromises.lstat(targetPath);
14790
14790
  return {
14791
14791
  ok: true,
14792
14792
  isSymlink: lst.isSymbolicLink(),
@@ -14825,7 +14825,7 @@ async function inspectPathPermissions(targetPath, opts) {
14825
14825
  let effectiveMode = st.mode;
14826
14826
  let effectiveIsDir = st.isDir;
14827
14827
  if (st.isSymlink) try {
14828
- const target = await fs$1.stat(targetPath);
14828
+ const target = await fsPromises.stat(targetPath);
14829
14829
  effectiveMode = typeof target.mode === "number" ? target.mode : st.mode;
14830
14830
  effectiveIsDir = target.isDirectory();
14831
14831
  } catch {}
@@ -15079,7 +15079,7 @@ async function assertSecurePath(params) {
15079
15079
  if (stat.isSymlink) {
15080
15080
  if (!params.allowSymlinkPath) throw new Error(`${params.label} must not be a symlink: ${effectivePath}`);
15081
15081
  try {
15082
- effectivePath = await fs$1.realpath(effectivePath);
15082
+ effectivePath = await fsPromises.realpath(effectivePath);
15083
15083
  } catch {
15084
15084
  throw new Error(`${params.label} symlink target is not readable: ${params.targetPath}`);
15085
15085
  }
@@ -15127,7 +15127,7 @@ async function readFileProviderPayload(params) {
15127
15127
  }, timeoutMs);
15128
15128
  });
15129
15129
  try {
15130
- const payload = await Promise.race([fs$1.readFile(secureFilePath, { signal: abortController.signal }), timeoutPromise]);
15130
+ const payload = await Promise.race([fsPromises.readFile(secureFilePath, { signal: abortController.signal }), timeoutPromise]);
15131
15131
  if (payload.byteLength > maxBytes) throw new Error(`File provider "${params.providerName}" exceeded maxBytes (${maxBytes}).`);
15132
15132
  const text = payload.toString("utf8");
15133
15133
  if (params.providerConfig.mode === "singleValue") return text.replace(/\r?\n$/, "");
@@ -1,6 +1,6 @@
1
1
  import { g as resolveStateDir } from "./paths-CHIu6D1E.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-Bw5n50gj.js";
3
- import { $r as TOGETHER_MODEL_CATALOG, Br as buildXiaomiProvider, Ci as HUGGINGFACE_MODEL_CATALOG, Di as CLOUDFLARE_AI_GATEWAY_DEFAULT_MODEL_REF, Fr as QIANFAN_DEFAULT_MODEL_ID, Ir as XIAOMI_DEFAULT_MODEL_ID, Jr as VENICE_MODEL_CATALOG, Kr as VENICE_BASE_URL, Lr as buildKilocodeProvider, Mi as KILOCODE_BASE_URL, Ni as KILOCODE_DEFAULT_MODEL_REF, Oi as buildCloudflareAiGatewayModelDefinition, Pr as QIANFAN_BASE_URL, Qr as TOGETHER_BASE_URL, Rr as buildKimiCodingProvider, Si as HUGGINGFACE_BASE_URL, Sr as normalizeProviderId, Yr as buildVeniceModelDefinition, Zn as upsertAuthProfile, ei as buildTogetherModelDefinition, ii as buildSyntheticModelDefinition, ji as normalizeSecretInput, ki as resolveCloudflareAiGatewayBaseUrl, ni as SYNTHETIC_DEFAULT_MODEL_REF, qr as VENICE_DEFAULT_MODEL_REF, ri as SYNTHETIC_MODEL_CATALOG, sr as resolveSquidClawAgentDir, ti as SYNTHETIC_BASE_URL, wi as buildHuggingfaceModelDefinition, zr as buildQianfanProvider } from "./auth-profiles-CX4YYu7Z.js";
3
+ import { $r as TOGETHER_MODEL_CATALOG, Br as buildXiaomiProvider, Ci as HUGGINGFACE_MODEL_CATALOG, Di as CLOUDFLARE_AI_GATEWAY_DEFAULT_MODEL_REF, Fr as QIANFAN_DEFAULT_MODEL_ID, Ir as XIAOMI_DEFAULT_MODEL_ID, Jr as VENICE_MODEL_CATALOG, Kr as VENICE_BASE_URL, Lr as buildKilocodeProvider, Mi as KILOCODE_BASE_URL, Ni as KILOCODE_DEFAULT_MODEL_REF, Oi as buildCloudflareAiGatewayModelDefinition, Pr as QIANFAN_BASE_URL, Qr as TOGETHER_BASE_URL, Rr as buildKimiCodingProvider, Si as HUGGINGFACE_BASE_URL, Sr as normalizeProviderId, Yr as buildVeniceModelDefinition, Zn as upsertAuthProfile, ei as buildTogetherModelDefinition, ii as buildSyntheticModelDefinition, ji as normalizeSecretInput, ki as resolveCloudflareAiGatewayBaseUrl, ni as SYNTHETIC_DEFAULT_MODEL_REF, qr as VENICE_DEFAULT_MODEL_REF, ri as SYNTHETIC_MODEL_CATALOG, sr as resolveSquidClawAgentDir, ti as SYNTHETIC_BASE_URL, wi as buildHuggingfaceModelDefinition, zr as buildQianfanProvider } from "./auth-profiles-9T4j6jMy.js";
4
4
  import { D as DEFAULT_SECRET_PROVIDER_ALIAS, k as coerceSecretRef } from "./registry-BXcl3IkC.js";
5
5
  import { t as PROVIDER_ENV_VARS } from "./provider-env-vars-CDLIEZFR.js";
6
6
  import path from "node:path";
@@ -1,7 +1,7 @@
1
1
  import { f as isRich, p as theme, z as hasRootVersionAlias } from "./globals-BrhVUl-N.js";
2
2
  import { l as visibleWidth } from "./subsystem-Bw5n50gj.js";
3
- import { z as loadConfig } from "./auth-profiles-CX4YYu7Z.js";
4
- import { Hn as resolveCommitHash } from "./subagent-registry-CIgFD2oi.js";
3
+ import { z as loadConfig } from "./auth-profiles-9T4j6jMy.js";
4
+ import { Hn as resolveCommitHash } from "./subagent-registry-CQA6P2FO.js";
5
5
 
6
6
  //#region src/cli/tagline.ts
7
7
  const DEFAULT_TAGLINE = "All your chats, one SquidClaw.";
@@ -1,5 +1,5 @@
1
1
  import { t as runCommandWithTimeout } from "./exec-TSiqsZw1.js";
2
- import { t as isTailnetIPv4 } from "./tailnet-CZANZjq6.js";
2
+ import { t as isTailnetIPv4 } from "./tailnet-DJq7Mi1o.js";
3
3
  import { n as resolveWideAreaDiscoveryDomain } from "./widearea-dns-BCMIEFUS.js";
4
4
 
5
5
  //#region src/infra/bonjour-discovery.ts
@@ -2,11 +2,11 @@ import { n as info, p as theme, t as danger } from "./globals-BrhVUl-N.js";
2
2
  import { g as resolveStateDir } from "./paths-CHIu6D1E.js";
3
3
  import { d as defaultRuntime } from "./subsystem-Bw5n50gj.js";
4
4
  import { t as parseBooleanValue } from "./boolean-DtWR5bt3.js";
5
- import { z as loadConfig } from "./auth-profiles-CX4YYu7Z.js";
5
+ import { z as loadConfig } from "./auth-profiles-9T4j6jMy.js";
6
6
  import { t as formatCliCommand } from "./command-format-D8-lYArk.js";
7
- import "./agent-scope-Cq4vDGrK.js";
7
+ import "./agent-scope-nEVgVklg.js";
8
8
  import { x as shortenHomePath } from "./utils-D6vohX1h.js";
9
- import "./squidclaw-root-BQfLymzj.js";
9
+ import "./squidclaw-root-JXyRbQLJ.js";
10
10
  import "./logger-DL3N22PJ.js";
11
11
  import "./exec-TSiqsZw1.js";
12
12
  import "./registry-BXcl3IkC.js";
@@ -14,25 +14,25 @@ import "./github-copilot-token-CxitgiZA.js";
14
14
  import "./host-env-security-lcjXF83D.js";
15
15
  import "./version-3so140Zi.js";
16
16
  import "./env-vars-mSSOl7Rv.js";
17
- import "./manifest-registry-7kwtbCH-.js";
18
- import "./path-alias-guards-vfYYQFIg.js";
17
+ import "./manifest-registry-1ACGW3OR.js";
18
+ import "./path-alias-guards-DeOVetT7.js";
19
19
  import "./message-channel-DqvtYF2o.js";
20
- import "./client-G9E5HGM2.js";
21
- import "./call-BlWEBz99.js";
20
+ import "./client-COy24r9W.js";
21
+ import "./call-D7jOWSFr.js";
22
22
  import "./pairing-token-B_ig96RO.js";
23
- import "./net-CCnbGop3.js";
24
- import "./tailnet-CZANZjq6.js";
25
- import { c as normalizeBrowserFormField, i as resolveExistingPathsWithinRoot, l as normalizeBrowserFormFieldValue, r as DEFAULT_UPLOAD_DIR } from "./paths-DfuVHiHu.js";
23
+ import "./net-CIh5ellr.js";
24
+ import "./tailnet-DJq7Mi1o.js";
25
+ import { c as normalizeBrowserFormField, i as resolveExistingPathsWithinRoot, l as normalizeBrowserFormFieldValue, r as DEFAULT_UPLOAD_DIR } from "./paths-D6mnO6Ni.js";
26
26
  import "./redact-DknVdX-O.js";
27
27
  import "./errors-BnRmsfe-.js";
28
- import "./fs-safe-DPYj7h8A.js";
28
+ import "./fs-safe-BPQ-per2.js";
29
29
  import { t as movePathToTrash } from "./trash-DUuU677G.js";
30
30
  import { t as formatDocsLink } from "./links-Dye6HsRG.js";
31
31
  import { n as runCommandWithRuntime } from "./cli-utils-BKqG4ZT-.js";
32
32
  import { t as formatHelpExamples } from "./help-format-CpR5cEGe.js";
33
33
  import "./progress-DuhDspl6.js";
34
34
  import { n as inheritOptionFromParent } from "./command-options-DVCpMofi.js";
35
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-D0AmaBzR.js";
35
+ import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-BBBN9ZJk.js";
36
36
  import { t as copyToClipboard } from "./clipboard-DFi9X9K_.js";
37
37
  import { fileURLToPath } from "node:url";
38
38
  import path from "node:path";
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "3.0.23",
3
- "commit": "d9d6c6ad69f04fa19798578e43fb44ba66c1baaf",
4
- "builtAt": "2026-03-19T21:59:27.517Z"
2
+ "version": "3.0.25",
3
+ "commit": "be956a9acfb597e32c0defaf61cbf6604466008d",
4
+ "builtAt": "2026-03-20T20:21:25.658Z"
5
5
  }
@@ -277,6 +277,15 @@ var MemoryManager = class {
277
277
  clearWorkingMemory(sessionId) {
278
278
  this.db.prepare(`DELETE FROM working_memory WHERE session_id = ? AND agent_id = ? AND user_id = ?`).run(sessionId, this.agentId, this.userId);
279
279
  }
280
+ /** Replace all working memory for this agent (working memory = current state, not history) */
281
+ clearAllWorkingMemory() {
282
+ this.db.prepare(`DELETE FROM working_memory WHERE agent_id = ? AND user_id = ?`).run(this.agentId, this.userId);
283
+ }
284
+ /** Get the most recent working memory items across all sessions */
285
+ getLatestWorkingMemory(limit = 5) {
286
+ return this.db.prepare(`SELECT * FROM working_memory WHERE agent_id = ? AND user_id = ?
287
+ ORDER BY created_at DESC LIMIT ?`).all(this.agentId, this.userId, limit);
288
+ }
280
289
  addEpisodic(mem) {
281
290
  const sortedEntities = [...mem.entities ?? []].toSorted();
282
291
  const sortedTags = [...mem.tags ?? []].toSorted();
@@ -468,6 +477,9 @@ Return ONLY valid JSON in this exact format (no markdown, no explanation):
468
477
  ],
469
478
  "procedural": [
470
479
  {"name": "procedure_name", "description": "when to use", "steps": ["Step 1", "Step 2"], "tags": ["tag"]}
480
+ ],
481
+ "working_memory": [
482
+ {"task": "what was being actively worked on", "project": "ProjectName", "next_step": "the very next action to take"}
471
483
  ]
472
484
  }
473
485
 
@@ -476,7 +488,8 @@ Rules:
476
488
  - Importance: 1=trivial 5=normal 8=important 10=critical
477
489
  - Confidence: 0.0=uncertain 0.5=probable 1.0=certain
478
490
  - Entities: proper nouns only (people, projects, companies, products, servers)
479
- - If nothing worth remembering: {"episodic":[],"semantic":[],"procedural":[]}`;
491
+ - working_memory: capture ONLY tasks that were actively in progress at session end — things the user would want to continue next time. Max 3 items. If nothing was actively being worked on, return [].
492
+ - If nothing worth remembering: {"episodic":[],"semantic":[],"procedural":[],"working_memory":[]}`;
480
493
  /**
481
494
  * Run long-term memory extraction on session content.
482
495
  * Follows the same pattern as generateSlugViaLLM.
@@ -503,9 +516,9 @@ ${params.sessionContent.slice(-6e3)}`;
503
516
  const parsed = modelRef ? parseModelRef(modelRef, DEFAULT_PROVIDER) : null;
504
517
  const provider = parsed?.provider ?? DEFAULT_PROVIDER;
505
518
  const model = parsed?.model ?? DEFAULT_MODEL;
506
- let rawResponse = "";
507
- await runEmbeddedPiAgent({
508
- sessionId: `ltm-extract-${Date.now()}`,
519
+ const runId = `ltm-extract-${Date.now()}`;
520
+ const rawResponse = (await runEmbeddedPiAgent({
521
+ sessionId: runId,
509
522
  sessionKey: "temp:ltm-extractor",
510
523
  agentId: cfgAgentId,
511
524
  sessionFile: tempSessionFile,
@@ -514,13 +527,11 @@ ${params.sessionContent.slice(-6e3)}`;
514
527
  config: params.cfg,
515
528
  provider,
516
529
  model,
517
- trigger: "api",
518
530
  prompt,
519
531
  extraSystemPrompt: EXTRACTION_PROMPT_SYSTEM,
520
- onAgentEvent: (evt) => {
521
- if (evt.stream === "assistant" && typeof evt.data?.text === "string") rawResponse += evt.data.text;
522
- }
523
- });
532
+ timeoutMs: 3e4,
533
+ runId
534
+ })).payloads?.[0]?.text ?? "";
524
535
  if (!rawResponse.trim()) {
525
536
  log$1.warn("LTM extraction returned empty response");
526
537
  return {
@@ -605,6 +616,24 @@ ${params.sessionContent.slice(-6e3)}`;
605
616
  skipped++;
606
617
  }
607
618
  }
619
+ const workingItems = (extracted.working_memory ?? []).filter((w) => typeof w?.task === "string" && w.task.trim().length > 0);
620
+ if (workingItems.length > 0) {
621
+ manager.clearAllWorkingMemory();
622
+ for (const wm of workingItems.slice(0, 3)) try {
623
+ manager.addWorking({
624
+ sessionId: params.sessionId,
625
+ content: JSON.stringify({
626
+ task: wm.task,
627
+ project: wm.project,
628
+ next_step: wm.next_step
629
+ }),
630
+ layerHint: "working"
631
+ });
632
+ created++;
633
+ } catch {
634
+ skipped++;
635
+ }
636
+ }
608
637
  manager.logExtraction({
609
638
  sessionId: params.sessionId,
610
639
  trigger: "session_end",
@@ -645,6 +674,19 @@ async function syncLongTermContextFile(params) {
645
674
  "*Auto-generated from conversation history. Updated at session end.*",
646
675
  ""
647
676
  ];
677
+ const working = params.manager.getLatestWorkingMemory(3);
678
+ if (working.length > 0) {
679
+ lines.push("### 🔄 Active Work (Resume Here)");
680
+ for (const w of working) try {
681
+ const parsed = JSON.parse(w.content);
682
+ const proj = parsed.project ? `**[${parsed.project}]** ` : "";
683
+ const next = parsed.next_step ? ` → Next: ${parsed.next_step}` : "";
684
+ lines.push(`- ${proj}${parsed.task}${next}`);
685
+ } catch {
686
+ lines.push(`- ${w.content}`);
687
+ }
688
+ lines.push("");
689
+ }
648
690
  const semantic = params.manager.getActiveSemantic(40);
649
691
  if (semantic.length > 0) {
650
692
  lines.push("### Facts & Preferences");
@@ -670,7 +712,7 @@ async function syncLongTermContextFile(params) {
670
712
  lines.push("");
671
713
  }
672
714
  const stats = params.manager.getStats();
673
- lines.push(`*${stats.episodic} events · ${stats.semantic} facts · ${stats.procedural} workflows*`);
715
+ lines.push(`*${stats.episodic} events · ${stats.semantic} facts · ${stats.procedural} workflows · ${stats.working} active tasks*`);
674
716
  const memDir = path.join(params.workspaceDir, "memory");
675
717
  await fs.mkdir(memDir, { recursive: true });
676
718
  await fs.writeFile(path.join(memDir, "long-term-context.md"), lines.join("\n"), "utf-8");
@@ -1,22 +1,22 @@
1
1
  import { g as resolveStateDir, o as resolveConfigPath, u as resolveGatewayPort } from "./paths-CHIu6D1E.js";
2
- import { lt as secretRefKey, x as resolveSecretRefValues, z as loadConfig } from "./auth-profiles-CX4YYu7Z.js";
2
+ import { lt as secretRefKey, x as resolveSecretRefValues, z as loadConfig } from "./auth-profiles-9T4j6jMy.js";
3
3
  import { b as shortenHomeInString, s as ensureDir, t as CONFIG_DIR, v as resolveUserPath } from "./utils-D6vohX1h.js";
4
4
  import { A as hasConfiguredSecretInput, F as resolveSecretInputRef } from "./registry-BXcl3IkC.js";
5
5
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-DqvtYF2o.js";
6
- import { Mt as PROTOCOL_VERSION, en as normalizeFingerprint, nn as loadOrCreateDeviceIdentity, t as GatewayClient } from "./client-G9E5HGM2.js";
7
- import { i as isSecureWebSocketUrl } from "./net-CCnbGop3.js";
6
+ import { Mt as PROTOCOL_VERSION, en as normalizeFingerprint, nn as loadOrCreateDeviceIdentity, t as GatewayClient } from "./client-COy24r9W.js";
7
+ import { i as isSecureWebSocketUrl } from "./net-CIh5ellr.js";
8
8
  import { t as resolveGatewayCredentialsFromConfig } from "./credentials-CyQeGziJ.js";
9
9
  import { execFile } from "node:child_process";
10
10
  import path from "node:path";
11
11
  import { promisify } from "node:util";
12
- import fs from "node:fs/promises";
12
+ import fsPromises from "node:fs/promises";
13
13
  import { X509Certificate, randomUUID } from "node:crypto";
14
14
 
15
15
  //#region src/infra/tls/gateway.ts
16
16
  const execFileAsync = promisify(execFile);
17
17
  async function fileExists(filePath) {
18
18
  try {
19
- await fs.access(filePath);
19
+ await fsPromises.access(filePath);
20
20
  return true;
21
21
  } catch {
22
22
  return false;
@@ -43,8 +43,8 @@ async function generateSelfSignedCert(params) {
43
43
  "-subj",
44
44
  "/CN=squidclaw-gateway"
45
45
  ]);
46
- await fs.chmod(params.keyPath, 384).catch(() => {});
47
- await fs.chmod(params.certPath, 384).catch(() => {});
46
+ await fsPromises.chmod(params.keyPath, 384).catch(() => {});
47
+ await fsPromises.chmod(params.certPath, 384).catch(() => {});
48
48
  params.log?.info?.(`gateway tls: generated self-signed cert at ${shortenHomeInString(params.certPath)}`);
49
49
  }
50
50
  async function loadGatewayTlsRuntime(cfg, log) {
@@ -82,9 +82,9 @@ async function loadGatewayTlsRuntime(cfg, log) {
82
82
  error: "gateway tls: cert/key missing"
83
83
  };
84
84
  try {
85
- const cert = await fs.readFile(certPath, "utf8");
86
- const key = await fs.readFile(keyPath, "utf8");
87
- const ca = caPath ? await fs.readFile(caPath, "utf8") : void 0;
85
+ const cert = await fsPromises.readFile(certPath, "utf8");
86
+ const key = await fsPromises.readFile(keyPath, "utf8");
87
+ const ca = caPath ? await fsPromises.readFile(caPath, "utf8") : void 0;
88
88
  const fingerprintSha256 = normalizeFingerprint(new X509Certificate(cert).fingerprint256 ?? "");
89
89
  if (!fingerprintSha256) return {
90
90
  enabled: false,