squidclaw 3.0.20 → 3.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/dist/{accounts-s5e9zidf.js → accounts-C7pGQPcS.js} +2 -2
  2. package/dist/{accounts-Bkb-J8V6.js → accounts-DjhBQg_8.js} +2 -2
  3. package/dist/{accounts-B6F_XCgS.js → accounts-DwGoZKGm.js} +17 -17
  4. package/dist/{active-listener-6-Svu8Dx.js → active-listener-DPc_PGsA.js} +2 -2
  5. package/dist/{agents-BOS_wASV.js → agents-DXKtU4Il.js} +4 -4
  6. package/dist/{agents.config-ChUZBohP.js → agents.config-BM-2SLCh.js} +1 -1
  7. package/dist/{agents.config-Dfsl4jNF.js → agents.config-eMSUW-iw.js} +1 -1
  8. package/dist/{api-key-rotation-TRwuCWbu.js → api-key-rotation-DVyYtQxC.js} +2 -2
  9. package/dist/{audio-preflight-DZ1LNMJp.js → audio-preflight-xfe9w6_6.js} +32 -32
  10. package/dist/{audio-transcription-runner-B3u2x_ja.js → audio-transcription-runner-CqKnvAJf.js} +12 -12
  11. package/dist/{audit-membership-runtime-w23FnNAN.js → audit-membership-runtime-DyLj-uhz.js} +4 -4
  12. package/dist/{auth-choice-B_pvWO2S.js → auth-choice-CXepQc7c.js} +1 -1
  13. package/dist/{auth-choice-kUm2JAky.js → auth-choice-D2JrMJn-.js} +1 -1
  14. package/dist/{banner-4LItBqCV.js → banner-DMfuBV69.js} +1 -1
  15. package/dist/build-info.json +3 -3
  16. package/dist/bundled/boot-md/handler.js +51 -51
  17. package/dist/bundled/bootstrap-extra-files/handler.js +6 -6
  18. package/dist/bundled/command-logger/handler.js +2 -2
  19. package/dist/bundled/session-memory/handler.js +687 -51
  20. package/dist/canvas-host/a2ui/a2ui.bundle.js +1 -17815
  21. package/dist/{channel-activity-CxJbx4sD.js → channel-activity-CPpt4XaL.js} +3 -3
  22. package/dist/{channel-options-DA-4IR6h.js → channel-options-CQ-gER0J.js} +1 -1
  23. package/dist/{channel-options-DQeQl3Rk.js → channel-options-SijIkAlT.js} +1 -1
  24. package/dist/{channel-web--dAjVoio.js → channel-web-7t1a2N13.js} +1 -1
  25. package/dist/{channel-web-DJ21CAFF.js → channel-web-LLzBxZrT.js} +1 -1
  26. package/dist/{channels-cli-QvrLGt6C.js → channels-cli-D4xUEYYC.js} +6 -6
  27. package/dist/{channels-cli-DviJtKuS.js → channels-cli-DYaFNMme.js} +6 -6
  28. package/dist/{chrome-Dxm25ptH.js → chrome-x5E5XzEB.js} +18 -18
  29. package/dist/{cli-aCubMdJg.js → cli-CAID9zkL.js} +1 -1
  30. package/dist/{cli-q7seQ2Xx.js → cli-Dlc9IFWZ.js} +1 -1
  31. package/dist/{command-registry-C_YMaVul.js → command-registry-AHS8_9da.js} +9 -9
  32. package/dist/{commands-registry-B44COZFz.js → commands-registry-BJjv8_oR.js} +4 -4
  33. package/dist/{completion-cli-CyKEJDPO.js → completion-cli-B8xjpHDs.js} +1 -1
  34. package/dist/{completion-cli-w4XQjhDI.js → completion-cli-BR1r9_h4.js} +2 -2
  35. package/dist/{config-cli-BhQXEuBv.js → config-cli-D0A8Awoo.js} +1 -1
  36. package/dist/{config-cli-BfhjWCvB.js → config-cli-D4Rxoozg.js} +1 -1
  37. package/dist/{configure-Dsg_0ymU.js → configure-DOiI8_8c.js} +3 -3
  38. package/dist/{configure-0xkYrQ0e.js → configure-XmOqwwy9.js} +3 -3
  39. package/dist/control-ui/assets/{index-cM5P_3w7.js → index-BqxuPQOl.js} +2 -2
  40. package/dist/control-ui/assets/{index-cM5P_3w7.js.map → index-BqxuPQOl.js.map} +1 -1
  41. package/dist/control-ui/index.html +1 -1
  42. package/dist/{deliver-BcnsjbAB.js → deliver-h7T-Od1d.js} +21 -21
  43. package/dist/deliver-runtime-BKO22_He.js +36 -0
  44. package/dist/deps-send-discord.runtime-GIuvX7Xw.js +26 -0
  45. package/dist/deps-send-imessage.runtime-B3TC7G80.js +25 -0
  46. package/dist/deps-send-signal.runtime-CuVJyw7n.js +24 -0
  47. package/dist/deps-send-slack.runtime-cbfFoLZ4.js +22 -0
  48. package/dist/deps-send-telegram.runtime-CRyP-xDQ.js +27 -0
  49. package/dist/{deps-send-whatsapp.runtime-BNAJe11S.js → deps-send-whatsapp.runtime-CETLGt-t.js} +3 -3
  50. package/dist/{deps-send-whatsapp.runtime-qBpqM2k9.js → deps-send-whatsapp.runtime-CrxkfP31.js} +2 -2
  51. package/dist/deps-send-whatsapp.runtime-DIdFPzJE.js +60 -0
  52. package/dist/{deps-send-whatsapp.runtime-BGDIgEzh.js → deps-send-whatsapp.runtime-__ogpmJj.js} +3 -3
  53. package/dist/{diagnostic-C2lklhkn.js → diagnostic-CnVwZNbm.js} +2 -2
  54. package/dist/{doctor-completion-BlkbgU5h.js → doctor-completion-CZoEdMS-.js} +1 -1
  55. package/dist/{doctor-completion-BCQdm02b.js → doctor-completion-DhLEFUhN.js} +1 -1
  56. package/dist/entry.js +2 -2
  57. package/dist/{errors-DfgAh2Ml.js → errors-kkRuS2Cs.js} +1 -1
  58. package/dist/extensionAPI.js +1 -1
  59. package/dist/{fetch-b8tSR7_e.js → fetch-DP-JjB6Z.js} +5 -5
  60. package/dist/{fetch-guard-D16tjNsZ.js → fetch-guard-BDy975wP.js} +2 -2
  61. package/dist/{frontmatter-CjKtFduT.js → frontmatter-Cq1TcIQ2.js} +3 -3
  62. package/dist/{fs-safe-CwHbZdFH.js → fs-safe-BoB4X3GD.js} +4 -4
  63. package/dist/{gateway-cli-tFwyE4a3.js → gateway-cli-BJHBChfI.js} +8 -8
  64. package/dist/{gateway-cli-uWj08vdf.js → gateway-cli-BpHskeDd.js} +8 -8
  65. package/dist/{github-copilot-token-Cw3tAXM9.js → github-copilot-token-B5cPlwaz.js} +7 -7
  66. package/dist/{health-BwC4Qe5W.js → health-TmpUGSqu.js} +1 -1
  67. package/dist/{health-DS3reqch.js → health-XFKFZ7ZJ.js} +1 -1
  68. package/dist/{hooks-cli-oei5kRQM.js → hooks-cli-CXsZK8H9.js} +2 -2
  69. package/dist/{hooks-cli-tp5LchRL.js → hooks-cli-DsDV-Pxz.js} +2 -2
  70. package/dist/{image-C-8Kd2Mh.js → image-Cepp_eYU.js} +6 -6
  71. package/dist/{image-ops-BoN1E_WZ.js → image-ops-Dg8iraUV.js} +2 -2
  72. package/dist/image-runtime-BTfDy-um.js +29 -0
  73. package/dist/index.js +6 -6
  74. package/dist/{ir-Dut0zXyS.js → ir-CKK03mBV.js} +8 -8
  75. package/dist/{legacy-names-B0wgIP0Q.js → legacy-names-aGJJuzM_.js} +1 -1
  76. package/dist/llm-slug-generator.js +51 -51
  77. package/dist/{logger-oGKcCLZ5.js → logger-CnTSBL7T.js} +7 -7
  78. package/dist/{login-DJ357UQV.js → login-CeKDrz6_.js} +5 -5
  79. package/dist/{login-qr-C0fDBnpM.js → login-qr-KbOpR0GQ.js} +10 -10
  80. package/dist/{manager-BPGhs30n.js → manager-DINhLnMi.js} +13 -13
  81. package/dist/manager-runtime-D6ckUNSs.js +18 -0
  82. package/dist/{model-selection-CHnojCCK.js → model-selection-DuNLFQPR.js} +43 -43
  83. package/dist/{models-D9X4EUlY.js → models-5VXwJBU2.js} +2 -2
  84. package/dist/{models-cli-LGp-Tok9.js → models-cli-Br56IHfy.js} +3 -3
  85. package/dist/{models-cli-C1PLBYF7.js → models-cli-CrR1RN3j.js} +2 -2
  86. package/dist/{npm-resolution-BUvQm-e-.js → npm-resolution-CKtyq4FH.js} +1 -1
  87. package/dist/{npm-resolution-Dtkh26DG.js → npm-resolution-CPk7dS7F.js} +1 -1
  88. package/dist/{onboard-DDD6GX8E.js → onboard-DUnBamC0.js} +2 -2
  89. package/dist/{onboard-channels-9My16AOy.js → onboard-channels-D45grihx.js} +1 -1
  90. package/dist/{onboard-channels-Bm_NXV3z.js → onboard-channels-_kVo3Apf.js} +1 -1
  91. package/dist/{onboard-B0padonr.js → onboard-lFwpCpC3.js} +2 -2
  92. package/dist/{onboarding-dES4q9RV.js → onboarding-CyCSQ__q.js} +3 -3
  93. package/dist/{onboarding-o-id7p0-.js → onboarding-EEd_g8Zg.js} +3 -3
  94. package/dist/{onboarding.finalize-dpgNgUt5.js → onboarding.finalize-CbMq7C4K.js} +5 -5
  95. package/dist/{onboarding.finalize-BFtOLT7n.js → onboarding.finalize-Cs1ukjFN.js} +6 -6
  96. package/dist/{outbound-qTioiTJg.js → outbound-C9svt6RH.js} +6 -6
  97. package/dist/{outbound-attachment-rlW7G5df.js → outbound-attachment-DwupUxYF.js} +2 -2
  98. package/dist/{path-alias-guards-Cpsiv2KL.js → path-alias-guards-DORgbZ1w.js} +1 -1
  99. package/dist/{paths-CSdAWKDO.js → paths-DA5srn0U.js} +5 -5
  100. package/dist/{paths-CXClY8zC.js → paths-DSd911Oe.js} +4 -4
  101. package/dist/{pi-embedded-BpHQIzjg.js → pi-embedded-BN8fghaF.js} +137 -4
  102. package/dist/{pi-embedded-B_4NAHxA.js → pi-embedded-BjRmfjDB.js} +291 -158
  103. package/dist/{pi-embedded-helpers-DQ7IaeOi.js → pi-embedded-helpers-BvJVQtA3.js} +52 -52
  104. package/dist/{pi-model-discovery-o-WX5w2t.js → pi-model-discovery-V-InbjOM.js} +7 -7
  105. package/dist/pi-model-discovery-runtime--t6tAlar.js +11 -0
  106. package/dist/{pi-tools.before-tool-call.runtime-B_LUttg1.js → pi-tools.before-tool-call.runtime-Bpk4qTgV.js} +9 -9
  107. package/dist/{plugin-registry-CCeUDvxY.js → plugin-registry-CXm125Uz.js} +1 -1
  108. package/dist/{plugin-registry-CCkpP8-I.js → plugin-registry-D3PnPE1D.js} +1 -1
  109. package/dist/plugin-sdk/agents/agent-tier.d.ts +33 -0
  110. package/dist/plugin-sdk/{channel-web-BtNgAS1G.js → channel-web-CqiSEc52.js} +1 -1
  111. package/dist/plugin-sdk/{channel-web-BQE2gJ5U.js → channel-web-Sj8reff_.js} +1 -1
  112. package/dist/plugin-sdk/compat.js +2 -2
  113. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-DPZSTh1j.js → deps-send-whatsapp.runtime-BpMl725h.js} +3 -3
  114. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-V0Jfat5S.js → deps-send-whatsapp.runtime-DvxhnHR_.js} +3 -3
  115. package/dist/plugin-sdk/index.js +2 -2
  116. package/dist/plugin-sdk/mattermost.js +3 -3
  117. package/dist/plugin-sdk/nextcloud-talk.js +2 -2
  118. package/dist/plugin-sdk/{reply-DJYA4ZNu.js → reply-BczXGzC_.js} +137 -4
  119. package/dist/plugin-sdk/{reply-DeKKmUDh.js → reply-C_eN3l25.js} +137 -4
  120. package/dist/plugin-sdk/signal.js +2 -2
  121. package/dist/plugin-sdk/{slash-dispatch.runtime-E6j8gkO2.js → slash-dispatch.runtime-BpWhUY9B.js} +1 -1
  122. package/dist/plugin-sdk/{slash-dispatch.runtime-k8xSVYOI.js → slash-dispatch.runtime-DOo1IzuY.js} +1 -1
  123. package/dist/plugin-sdk/{subagent-registry-runtime-D6cTAG2k.js → subagent-registry-runtime-DLvup9ph.js} +1 -1
  124. package/dist/plugin-sdk/{subagent-registry-runtime-Cca50Qld.js → subagent-registry-runtime-TEkOfcqG.js} +1 -1
  125. package/dist/plugin-sdk/{web-DkbCMgLG.js → web-C2Sj2WW0.js} +2 -2
  126. package/dist/plugin-sdk/{web-Be4JS3z8.js → web-CmLgZUIO.js} +2 -2
  127. package/dist/plugin-sdk/whatsapp.js +2 -2
  128. package/dist/{plugins-AqsVZZk3.js → plugins-DvejjZnJ.js} +11 -11
  129. package/dist/{plugins-cli-DFpHU_xo.js → plugins-cli-BA_2daJe.js} +2 -2
  130. package/dist/{plugins-cli-CZCadI9y.js → plugins-cli-C0WKWrZo.js} +2 -2
  131. package/dist/{program-B4_o5EDH.js → program-D_xdLzmM.js} +7 -7
  132. package/dist/{program-context-CkfdLtpp.js → program-context-DfmCIQ91.js} +17 -17
  133. package/dist/{prompt-select-styled-C1DFrYuk.js → prompt-select-styled-ApPSadr5.js} +4 -4
  134. package/dist/{prompt-select-styled-CZJJ2rPA.js → prompt-select-styled-BsheNEnh.js} +4 -4
  135. package/dist/{provider-auth-helpers-BlYwNWkq.js → provider-auth-helpers-B5kD4Lt6.js} +1 -1
  136. package/dist/{provider-auth-helpers-C5taJG0R.js → provider-auth-helpers-DpOFkV28.js} +1 -1
  137. package/dist/{proxy-env-DXXfs2WL.js → proxy-env-D-fike7s.js} +1 -1
  138. package/dist/{proxy-fetch-C2v-Utgg.js → proxy-fetch-lH6RsRTE.js} +1 -1
  139. package/dist/{push-apns-Dkjfalec.js → push-apns-BbenjEX4.js} +1 -1
  140. package/dist/{push-apns-Bhk1_5ut.js → push-apns-Ci2sdIKf.js} +1 -1
  141. package/dist/{pw-ai-GOBxzChI.js → pw-ai-DOeiV3Pj.js} +14 -14
  142. package/dist/{qmd-manager-CO-shcLU.js → qmd-manager-BN0siR2Z.js} +10 -10
  143. package/dist/{query-expansion-DlQOkf-g.js → query-expansion-Dzxt6kXo.js} +6 -6
  144. package/dist/{redact-NmPEVjIo.js → redact-DvzicBMu.js} +1 -1
  145. package/dist/{register.agent-s2PqcoIS.js → register.agent-CY6R-7fn.js} +6 -6
  146. package/dist/{register.agent-DOp4lbyc.js → register.agent-Dk_5V5oA.js} +7 -7
  147. package/dist/{register.configure-DABoMBBf.js → register.configure-C8OFfGln.js} +7 -7
  148. package/dist/{register.configure-BGfourxZ.js → register.configure-DT1RLeTR.js} +7 -7
  149. package/dist/{register.maintenance-Bdr3bSAF.js → register.maintenance-CluQOq8b.js} +8 -8
  150. package/dist/{register.maintenance-DmP8sVxb.js → register.maintenance-YHXmOQzf.js} +7 -7
  151. package/dist/{register.message-DF0InVCv.js → register.message-BCTXT5yK.js} +2 -2
  152. package/dist/{register.message-gz8DaAc1.js → register.message-BuoFjRqA.js} +2 -2
  153. package/dist/{register.onboard-Do14cwDQ.js → register.onboard-BJaRMtxU.js} +2 -2
  154. package/dist/{register.onboard-auVLfmF3.js → register.onboard-C64oXnvq.js} +2 -2
  155. package/dist/{register.setup-ZyGJlYOD.js → register.setup-Dl3nk2Ui.js} +2 -2
  156. package/dist/{register.setup-B3aVuPyo.js → register.setup-Drc55K_w.js} +2 -2
  157. package/dist/{register.status-health-sessions-C-1HE5oP.js → register.status-health-sessions-BHtbPeCO.js} +3 -3
  158. package/dist/{register.status-health-sessions-vFpvdVS1.js → register.status-health-sessions-xgC_gtEM.js} +3 -3
  159. package/dist/{register.subclis-BYiAuTiK.js → register.subclis-CDMFyaKR.js} +9 -9
  160. package/dist/{reply-BaVB3YlN.js → reply-DwjHsBuj.js} +137 -4
  161. package/dist/{run-main-DW-JR8hB.js → run-main-BcA22Ipv.js} +14 -14
  162. package/dist/{run-with-concurrency-FczpX8ng.js → run-with-concurrency-BFR3ReeF.js} +4 -4
  163. package/dist/runtime-whatsapp-login.runtime-DxV9iv6l.js +13 -0
  164. package/dist/runtime-whatsapp-outbound.runtime-DQqIlwhS.js +22 -0
  165. package/dist/{send-Bx9CqcZr.js → send-4nRsZJXH.js} +7 -7
  166. package/dist/{send-D5D0ZGht.js → send-BGlcHjUD.js} +26 -26
  167. package/dist/{send-DtHQ7_6Z.js → send-BTUU1jWM.js} +8 -8
  168. package/dist/{send-B9H0BkfO.js → send-DdBbRpTP.js} +6 -6
  169. package/dist/{send-B5QEmMJ4.js → send-dTQd-IyJ.js} +5 -5
  170. package/dist/{server-node-events-rumcq7j0.js → server-node-events-Q0cT2ifj.js} +2 -2
  171. package/dist/{server-node-events-D-EmiDyc.js → server-node-events-YN5eJeHa.js} +2 -2
  172. package/dist/{session-DLTCuoUD.js → session-CnCwDJke.js} +8 -8
  173. package/dist/{skill-commands-BwTLQRR8.js → skill-commands-Cz45_nme.js} +9 -9
  174. package/dist/{skills-B9N2bqKU.js → skills-CdCS1HeL.js} +22 -22
  175. package/dist/slash-commands.runtime-CZz6v6b3.js +16 -0
  176. package/dist/{slash-dispatch.runtime-sVHNrSL1.js → slash-dispatch.runtime-BOMEVFk0.js} +1 -1
  177. package/dist/slash-dispatch.runtime-CYsywpzU.js +56 -0
  178. package/dist/{slash-dispatch.runtime-DPRwMKXk.js → slash-dispatch.runtime-DB1QsBRc.js} +1 -1
  179. package/dist/{slash-dispatch.runtime-BeltKAMm.js → slash-dispatch.runtime-sXaUYn4v.js} +1 -1
  180. package/dist/slash-skill-commands.runtime-Bawt7j0r.js +20 -0
  181. package/dist/{status-BeSD1NDD.js → status-Bh5x6DsW.js} +2 -2
  182. package/dist/{status-DGF_ROMC.js → status-cU9cJReo.js} +2 -2
  183. package/dist/{store-CvQ41zCV.js → store-D9z0dn7D.js} +2 -2
  184. package/dist/{subagent-registry-CgUBOyi3.js → subagent-registry-CIgFD2oi.js} +137 -4
  185. package/dist/{subagent-registry-runtime-Bxc5DYZt.js → subagent-registry-runtime-232sNNT6.js} +1 -1
  186. package/dist/{subagent-registry-runtime-BYpjZwjA.js → subagent-registry-runtime-D7ubAnDZ.js} +1 -1
  187. package/dist/{subagent-registry-runtime-Cx5vPpG8.js → subagent-registry-runtime-DGTjU9Lb.js} +1 -1
  188. package/dist/subagent-registry-runtime-DS-c6Duv.js +56 -0
  189. package/dist/{subsystem-BaLYRf7D.js → subsystem-6v7sWnAD.js} +14 -14
  190. package/dist/{tables-BRYYxYs7.js → tables-BTFiZyRU.js} +1 -1
  191. package/dist/{target-errors-D0ZJUbbf.js → target-errors-DgNRx3Nr.js} +2 -2
  192. package/dist/{thinking-B-A99X3F.js → thinking-B75CXkTT.js} +7 -7
  193. package/dist/{tokens-D2XhLqIz.js → tokens-DfbMVF9y.js} +1 -1
  194. package/dist/{tool-images-Zn6jVmkX.js → tool-images-Dp5OiXeA.js} +2 -2
  195. package/dist/{update-cli-Duy8S3Bj.js → update-cli-CktBOXZF.js} +7 -7
  196. package/dist/{update-cli-BSIF-OEa.js → update-cli-DM_dUip_.js} +8 -8
  197. package/dist/{update-runner-CMpruPN8.js → update-runner-BBJZmfZ4.js} +1 -1
  198. package/dist/{update-runner-D_nDdx7d.js → update-runner-BYGPkHXG.js} +1 -1
  199. package/dist/{web-C-5RPkV9.js → web-CZhZC1EA.js} +2 -2
  200. package/dist/{web-CKY0tK0k.js → web-Chw1dtKA.js} +1 -1
  201. package/dist/{web-Bnr4YuWJ.js → web-DWRZAXj9.js} +2 -2
  202. package/dist/{web-C0xcHURK.js → web-sFV1riEV.js} +55 -55
  203. package/dist/{whatsapp-actions-Cuy0qeQK.js → whatsapp-actions-CzqsuSGx.js} +21 -21
  204. package/dist/{workspace-TqfVSQuO.js → workspace-kVMIaBrV.js} +20 -20
  205. package/docs/reference/templates/IDENTITY.md +8 -23
  206. package/extensions/acpx/node_modules/.bin/acpx +2 -2
  207. package/extensions/diagnostics-otel/node_modules/.bin/acorn +2 -2
  208. package/extensions/diffs/node_modules/.bin/playwright-core +2 -2
  209. package/extensions/googlechat/node_modules/.bin/squidclaw +2 -2
  210. package/extensions/matrix/node_modules/.bin/markdown-it +2 -2
  211. package/extensions/memory-core/node_modules/.bin/squidclaw +2 -2
  212. package/extensions/memory-lancedb/node_modules/.bin/arrow2csv +2 -2
  213. package/extensions/memory-lancedb/node_modules/.bin/openai +2 -2
  214. package/extensions/nostr/node_modules/.bin/tsc +2 -2
  215. package/extensions/nostr/node_modules/.bin/tsserver +2 -2
  216. package/extensions/tlon/node_modules/.bin/tlon +2 -2
  217. package/package.json +1 -1
  218. package/dist/canvas-host/a2ui/.bundle.hash +0 -1
  219. package/dist/deliver-runtime-_mBfV_4S.js +0 -36
  220. package/dist/deps-send-discord.runtime-CUTAK2hy.js +0 -26
  221. package/dist/deps-send-imessage.runtime-CQOiEIuA.js +0 -25
  222. package/dist/deps-send-signal.runtime-wN7MkzLw.js +0 -24
  223. package/dist/deps-send-slack.runtime-HEEwW4uU.js +0 -22
  224. package/dist/deps-send-telegram.runtime-DHlcnjQO.js +0 -27
  225. package/dist/deps-send-whatsapp.runtime-B7GC68Cu.js +0 -60
  226. package/dist/export-html/vendor/highlight.min.js +0 -1213
  227. package/dist/export-html/vendor/marked.min.js +0 -6
  228. package/dist/image-runtime-D11wBIC8.js +0 -29
  229. package/dist/manager-runtime-BB9lcoFR.js +0 -18
  230. package/dist/pi-model-discovery-runtime-DBkQoIJw.js +0 -11
  231. package/dist/runtime-whatsapp-login.runtime-DumUjKRz.js +0 -13
  232. package/dist/runtime-whatsapp-outbound.runtime-Cgu2MfqR.js +0 -22
  233. package/dist/slash-commands.runtime-CjBXruwG.js +0 -16
  234. package/dist/slash-dispatch.runtime-C7rHRQFg.js +0 -56
  235. package/dist/slash-skill-commands.runtime-DYK20Lxf.js +0 -20
  236. package/dist/subagent-registry-runtime-Bm5UEB8c.js +0 -56
  237. package/docs/reference/templates/USER.md +0 -23
  238. package/docs/zh-CN/reference/templates/IDENTITY.md +0 -36
  239. package/docs/zh-CN/reference/templates/USER.md +0 -30
  240. package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +0 -178
@@ -2,7 +2,7 @@ import { g as resolveStateDir, i as isNixMode, m as resolveOAuthDir, o as resolv
2
2
  import { p as theme } from "./globals-xfUIfxbE.js";
3
3
  import { _ as resolveHomeDir, x as shortenHomeInString, y as resolveUserPath } from "./utils-DMGXr25O.js";
4
4
  import "./thinking-44rmAw5o.js";
5
- import "./reply-BaVB3YlN.js";
5
+ import "./reply-DwjHsBuj.js";
6
6
  import { A as resolveDefaultAgentWorkspaceDir } from "./agent-scope-C1XMay0T.js";
7
7
  import { d as defaultRuntime } from "./subsystem-DC87CPVS.js";
8
8
  import "./squidclaw-root-CnE19yKj.js";
@@ -111,29 +111,29 @@ import "./progress-BHN121Ps.js";
111
111
  import "./server-lifecycle-CnZYKJ9s.js";
112
112
  import "./stagger-DL-XRpny.js";
113
113
  import "./runtime-guard-pMNmDPEU.js";
114
- import "./program-context-CkfdLtpp.js";
114
+ import "./program-context-DfmCIQ91.js";
115
115
  import "./skills-status-DQw98BkG.js";
116
116
  import { t as copyToClipboard } from "./clipboard-Cv0aNouS.js";
117
117
  import "./note-CBt9wSWa.js";
118
118
  import "./issue-format-YJgN8cb0.js";
119
119
  import "./channels-status-issues-N9kzQrD8.js";
120
- import "./completion-cli-CyKEJDPO.js";
120
+ import "./completion-cli-B8xjpHDs.js";
121
121
  import "./daemon-install-helpers-a4pGEsbA.js";
122
122
  import "./systemd-fP8tz4aL.js";
123
123
  import { t as resolveGatewayService } from "./service-D4y0_Q5Z.js";
124
124
  import "./systemd-hints-BG_t__ZD.js";
125
125
  import "./diagnostics-DZ99A0EW.js";
126
- import "./health-BwC4Qe5W.js";
126
+ import "./health-TmpUGSqu.js";
127
127
  import "./control-ui-assets-Bz7TCLpb.js";
128
128
  import "./channel-account-context-e4ysObLI.js";
129
- import "./update-runner-D_nDdx7d.js";
129
+ import "./update-runner-BYGPkHXG.js";
130
130
  import "./logging-AGpu_2Pc.js";
131
131
  import "./doctor-config-flow-D7kerJBZ.js";
132
132
  import "./oauth-tls-preflight-CqqomOFQ.js";
133
133
  import "./systemd-linger-DgK8uuKY.js";
134
134
  import "./health-format-B3bJdIC6.js";
135
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-C1DFrYuk.js";
136
- import "./doctor-completion-BCQdm02b.js";
135
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-ApPSadr5.js";
136
+ import "./doctor-completion-DhLEFUhN.js";
137
137
  import path from "node:path";
138
138
  import fs from "node:fs/promises";
139
139
  import { cancel, confirm, isCancel, multiselect } from "@clack/prompts";
@@ -30,7 +30,7 @@ import "./logging-CcxUDNcI.js";
30
30
  import "./accounts-KzgPbLHP.js";
31
31
  import "./send-z-sMjqvX.js";
32
32
  import "./send-DEs83M9V.js";
33
- import { L as createOutboundSendDeps, R as createDefaultDeps, en as CHANNEL_TARGETS_DESCRIPTION, jt as CHANNEL_MESSAGE_ACTION_NAMES, kt as formatTargetDisplay, tn as CHANNEL_TARGET_DESCRIPTION, yt as runMessageAction } from "./subagent-registry-CgUBOyi3.js";
33
+ import { L as createOutboundSendDeps, R as createDefaultDeps, en as CHANNEL_TARGETS_DESCRIPTION, jt as CHANNEL_MESSAGE_ACTION_NAMES, kt as formatTargetDisplay, tn as CHANNEL_TARGET_DESCRIPTION, yt as runMessageAction } from "./subagent-registry-CIgFD2oi.js";
34
34
  import "./paths-Dn_rzeZN.js";
35
35
  import "./chat-envelope-thy05gXR.js";
36
36
  import "./client-G9E5HGM2.js";
@@ -110,7 +110,7 @@ import { t as formatDocsLink } from "./links-Dye6HsRG.js";
110
110
  import { n as runCommandWithRuntime } from "./cli-utils-BKqG4ZT-.js";
111
111
  import { t as formatHelpExamples } from "./help-format-CpR5cEGe.js";
112
112
  import { n as withProgress } from "./progress-DuhDspl6.js";
113
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-CCkpP8-I.js";
113
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-D3PnPE1D.js";
114
114
  import { t as collectOption } from "./helpers-BjRf8izo.js";
115
115
  import { t as renderTable } from "./table-DbDCX_6t.js";
116
116
  import { t as shortenText } from "./text-format-oWqzVmah.js";
@@ -2,7 +2,7 @@ import "./paths-mdt1HFK2.js";
2
2
  import { f as isRich, p as theme, s as setVerbose, t as danger } from "./globals-xfUIfxbE.js";
3
3
  import "./utils-DMGXr25O.js";
4
4
  import "./thinking-44rmAw5o.js";
5
- import { An as runMessageAction, Bn as formatTargetDisplay, Hn as CHANNEL_TARGETS_DESCRIPTION, It as createOutboundSendDeps, Un as CHANNEL_TARGET_DESCRIPTION, j as CHANNEL_MESSAGE_ACTION_NAMES, zt as createDefaultDeps } from "./reply-BaVB3YlN.js";
5
+ import { An as runMessageAction, Bn as formatTargetDisplay, Hn as CHANNEL_TARGETS_DESCRIPTION, It as createOutboundSendDeps, Un as CHANNEL_TARGET_DESCRIPTION, j as CHANNEL_MESSAGE_ACTION_NAMES, zt as createDefaultDeps } from "./reply-DwjHsBuj.js";
6
6
  import "./agent-scope-C1XMay0T.js";
7
7
  import { d as defaultRuntime } from "./subsystem-DC87CPVS.js";
8
8
  import "./squidclaw-root-CnE19yKj.js";
@@ -110,7 +110,7 @@ import { n as withProgress } from "./progress-BHN121Ps.js";
110
110
  import "./server-lifecycle-CnZYKJ9s.js";
111
111
  import "./stagger-DL-XRpny.js";
112
112
  import { t as collectOption } from "./helpers-DUclfUl-.js";
113
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-CCeUDvxY.js";
113
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-CXm125Uz.js";
114
114
  import { t as renderTable } from "./table-BPiDGg8F.js";
115
115
  import { t as shortenText } from "./text-format-D-Z0xB-E.js";
116
116
 
@@ -40,11 +40,11 @@ import "./runtime-guard-pMNmDPEU.js";
40
40
  import "./note-CBt9wSWa.js";
41
41
  import "./clack-prompter-Bx0vssUh.js";
42
42
  import "./onboarding.secret-input-gGUgwqKJ.js";
43
- import "./onboarding-dES4q9RV.js";
43
+ import "./onboarding-CyCSQ__q.js";
44
44
  import "./logging-AGpu_2Pc.js";
45
45
  import { t as ONBOARD_PROVIDER_AUTH_FLAGS } from "./onboard-provider-auth-flags-BpV7mEJN.js";
46
46
  import { n as formatAuthChoiceChoicesForCli } from "./auth-choice-options-DEvk4ApB.js";
47
- import { t as onboardCommand } from "./onboard-DDD6GX8E.js";
47
+ import { t as onboardCommand } from "./onboard-DUnBamC0.js";
48
48
 
49
49
  //#region src/cli/program/register.onboard.ts
50
50
  function resolveInstallDaemonFlag(command, opts) {
@@ -40,11 +40,11 @@ import "./note-IoQo8Ol0.js";
40
40
  import "./clack-prompter-DU01bRlk.js";
41
41
  import "./runtime-guard-BPoq8vFM.js";
42
42
  import "./onboarding.secret-input-BTK1IG-J.js";
43
- import "./onboarding-o-id7p0-.js";
43
+ import "./onboarding-EEd_g8Zg.js";
44
44
  import "./logging-ZAeFsd9K.js";
45
45
  import { t as ONBOARD_PROVIDER_AUTH_FLAGS } from "./onboard-provider-auth-flags-DjGs2ip7.js";
46
46
  import { n as formatAuthChoiceChoicesForCli } from "./auth-choice-options-gK9YFFTi.js";
47
- import { t as onboardCommand } from "./onboard-B0padonr.js";
47
+ import { t as onboardCommand } from "./onboard-lFwpCpC3.js";
48
48
 
49
49
  //#region src/cli/program/register.onboard.ts
50
50
  function resolveInstallDaemonFlag(command, opts) {
@@ -41,9 +41,9 @@ import "./note-IoQo8Ol0.js";
41
41
  import "./clack-prompter-DU01bRlk.js";
42
42
  import "./runtime-guard-BPoq8vFM.js";
43
43
  import "./onboarding.secret-input-BTK1IG-J.js";
44
- import "./onboarding-o-id7p0-.js";
44
+ import "./onboarding-EEd_g8Zg.js";
45
45
  import { n as logConfigUpdated, t as formatConfigPath } from "./logging-ZAeFsd9K.js";
46
- import { t as onboardCommand } from "./onboard-B0padonr.js";
46
+ import { t as onboardCommand } from "./onboard-lFwpCpC3.js";
47
47
  import JSON5 from "json5";
48
48
  import fs from "node:fs/promises";
49
49
 
@@ -41,9 +41,9 @@ import { t as hasExplicitOptions } from "./command-options-D0bXi5Pl.js";
41
41
  import "./note-CBt9wSWa.js";
42
42
  import "./clack-prompter-Bx0vssUh.js";
43
43
  import "./onboarding.secret-input-gGUgwqKJ.js";
44
- import "./onboarding-dES4q9RV.js";
44
+ import "./onboarding-CyCSQ__q.js";
45
45
  import { n as logConfigUpdated, t as formatConfigPath } from "./logging-AGpu_2Pc.js";
46
- import { t as onboardCommand } from "./onboard-DDD6GX8E.js";
46
+ import { t as onboardCommand } from "./onboard-DUnBamC0.js";
47
47
  import JSON5 from "json5";
48
48
  import fs from "node:fs/promises";
49
49
 
@@ -31,7 +31,7 @@ import "./logging-CcxUDNcI.js";
31
31
  import "./accounts-KzgPbLHP.js";
32
32
  import "./send-z-sMjqvX.js";
33
33
  import "./send-DEs83M9V.js";
34
- import "./subagent-registry-CgUBOyi3.js";
34
+ import "./subagent-registry-CIgFD2oi.js";
35
35
  import { n as resolveSessionFilePath, r as resolveSessionFilePathOptions } from "./paths-Dn_rzeZN.js";
36
36
  import "./chat-envelope-thy05gXR.js";
37
37
  import "./client-G9E5HGM2.js";
@@ -121,8 +121,8 @@ import "./service-DSqxS6_D.js";
121
121
  import "./diagnostics--O6mo6KH.js";
122
122
  import "./table-DbDCX_6t.js";
123
123
  import "./audit-DLTgNDFw.js";
124
- import { n as statusCommand } from "./status-DGF_ROMC.js";
125
- import { r as healthCommand } from "./health-DS3reqch.js";
124
+ import { n as statusCommand } from "./status-cU9cJReo.js";
125
+ import { r as healthCommand } from "./health-XFKFZ7ZJ.js";
126
126
  import "./channel-account-context-CQ6rCiGI.js";
127
127
  import "./node-command-policy-B_D5ucTj.js";
128
128
  import "./node-service-Z0JprJda.js";
@@ -2,7 +2,7 @@ import "./paths-mdt1HFK2.js";
2
2
  import { f as isRich, n as info, p as theme, s as setVerbose } from "./globals-xfUIfxbE.js";
3
3
  import "./utils-DMGXr25O.js";
4
4
  import "./thinking-44rmAw5o.js";
5
- import { A as resolveSessionModelRef, C as classifySessionKey, Xt as lookupContextTokens } from "./reply-BaVB3YlN.js";
5
+ import { A as resolveSessionModelRef, C as classifySessionKey, Xt as lookupContextTokens } from "./reply-DwjHsBuj.js";
6
6
  import { d as resolveDefaultAgentId, r as listAgentIds } from "./agent-scope-C1XMay0T.js";
7
7
  import { d as defaultRuntime } from "./subsystem-DC87CPVS.js";
8
8
  import { E as parseAgentSessionKey, c as normalizeAgentId } from "./session-key-CIXZm7v4.js";
@@ -122,8 +122,8 @@ import "./service-D4y0_Q5Z.js";
122
122
  import "./diagnostics-DZ99A0EW.js";
123
123
  import "./table-BPiDGg8F.js";
124
124
  import "./audit-DwyLBJMC.js";
125
- import { t as statusCommand } from "./status-BeSD1NDD.js";
126
- import { r as healthCommand } from "./health-BwC4Qe5W.js";
125
+ import { t as statusCommand } from "./status-Bh5x6DsW.js";
126
+ import { r as healthCommand } from "./health-TmpUGSqu.js";
127
127
  import "./channel-account-context-e4ysObLI.js";
128
128
  import "./node-command-policy-CIz48Rgh.js";
129
129
  import "./node-service-xGYkt3vb.js";
@@ -65,7 +65,7 @@ const entries = [
65
65
  description: "Run, inspect, and query the WebSocket Gateway",
66
66
  hasSubcommands: true,
67
67
  register: async (program) => {
68
- (await import("./gateway-cli-tFwyE4a3.js")).registerGatewayCli(program);
68
+ (await import("./gateway-cli-BJHBChfI.js")).registerGatewayCli(program);
69
69
  }
70
70
  },
71
71
  {
@@ -97,7 +97,7 @@ const entries = [
97
97
  description: "Discover, scan, and configure models",
98
98
  hasSubcommands: true,
99
99
  register: async (program) => {
100
- (await import("./models-cli-LGp-Tok9.js")).registerModelsCli(program);
100
+ (await import("./models-cli-Br56IHfy.js")).registerModelsCli(program);
101
101
  }
102
102
  },
103
103
  {
@@ -177,7 +177,7 @@ const entries = [
177
177
  description: "Manage internal agent hooks",
178
178
  hasSubcommands: true,
179
179
  register: async (program) => {
180
- (await import("./hooks-cli-oei5kRQM.js")).registerHooksCli(program);
180
+ (await import("./hooks-cli-CXsZK8H9.js")).registerHooksCli(program);
181
181
  }
182
182
  },
183
183
  {
@@ -209,7 +209,7 @@ const entries = [
209
209
  description: "Secure DM pairing (approve inbound requests)",
210
210
  hasSubcommands: true,
211
211
  register: async (program) => {
212
- const { registerPluginCliCommands } = await import("./cli-aCubMdJg.js");
212
+ const { registerPluginCliCommands } = await import("./cli-CAID9zkL.js");
213
213
  registerPluginCliCommands(program, await loadConfig());
214
214
  (await import("./pairing-cli-NhoRKes6.js")).registerPairingCli(program);
215
215
  }
@@ -219,8 +219,8 @@ const entries = [
219
219
  description: "Manage SquidClaw plugins and extensions",
220
220
  hasSubcommands: true,
221
221
  register: async (program) => {
222
- (await import("./plugins-cli-DFpHU_xo.js")).registerPluginsCli(program);
223
- const { registerPluginCliCommands } = await import("./cli-aCubMdJg.js");
222
+ (await import("./plugins-cli-BA_2daJe.js")).registerPluginsCli(program);
223
+ const { registerPluginCliCommands } = await import("./cli-CAID9zkL.js");
224
224
  registerPluginCliCommands(program, await loadConfig());
225
225
  }
226
226
  },
@@ -229,7 +229,7 @@ const entries = [
229
229
  description: "Manage connected chat channels (Telegram, Discord, etc.)",
230
230
  hasSubcommands: true,
231
231
  register: async (program) => {
232
- (await import("./channels-cli-QvrLGt6C.js")).registerChannelsCli(program);
232
+ (await import("./channels-cli-D4xUEYYC.js")).registerChannelsCli(program);
233
233
  }
234
234
  },
235
235
  {
@@ -269,7 +269,7 @@ const entries = [
269
269
  description: "Update SquidClaw and inspect update channel status",
270
270
  hasSubcommands: true,
271
271
  register: async (program) => {
272
- (await import("./update-cli-BSIF-OEa.js")).registerUpdateCli(program);
272
+ (await import("./update-cli-DM_dUip_.js")).registerUpdateCli(program);
273
273
  }
274
274
  },
275
275
  {
@@ -277,7 +277,7 @@ const entries = [
277
277
  description: "Generate shell completion script",
278
278
  hasSubcommands: false,
279
279
  register: async (program) => {
280
- (await import("./completion-cli-w4XQjhDI.js").then((n) => n.n)).registerCompletionCli(program);
280
+ (await import("./completion-cli-BR1r9_h4.js").then((n) => n.n)).registerCompletionCli(program);
281
281
  }
282
282
  }
283
283
  ];
@@ -16354,7 +16354,7 @@ const DEFAULT_SUBAGENT_ANNOUNCE_TIMEOUT_MS = 6e4;
16354
16354
  const MAX_TIMER_SAFE_TIMEOUT_MS = 2147e6;
16355
16355
  let subagentRegistryRuntimePromise = null;
16356
16356
  function loadSubagentRegistryRuntime() {
16357
- subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-BYpjZwjA.js");
16357
+ subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-D7ubAnDZ.js");
16358
16358
  return subagentRegistryRuntimePromise;
16359
16359
  }
16360
16360
  const DIRECT_ANNOUNCE_TRANSIENT_RETRY_DELAYS_MS = FAST_TEST_MODE ? [
@@ -32344,6 +32344,112 @@ function resolveContextTokensForModel(params) {
32344
32344
  return lookupContextTokens(params.model) ?? params.fallbackContextTokens;
32345
32345
  }
32346
32346
 
32347
+ //#endregion
32348
+ //#region src/agents/agent-tier.ts
32349
+ const PAID_PROVIDERS = ["anthropic", "openai"];
32350
+ function isPaidProvider(modelRef) {
32351
+ const trimmed = modelRef.trim().toLowerCase();
32352
+ for (const provider of PAID_PROVIDERS) if (trimmed.startsWith(provider + "/") || trimmed.startsWith(provider + ":")) return {
32353
+ isPaid: true,
32354
+ provider
32355
+ };
32356
+ return {
32357
+ isPaid: false,
32358
+ provider: ""
32359
+ };
32360
+ }
32361
+ /**
32362
+ * Check if the primary provider's last interaction was a failure
32363
+ * with no successful use after it.
32364
+ */
32365
+ function isPrimaryLastKnownBroken(store, profileIds, now) {
32366
+ for (const id of profileIds) {
32367
+ const stats = store.usageStats?.[id];
32368
+ if (!stats) continue;
32369
+ if (typeof stats.disabledUntil === "number" && stats.disabledUntil > now) return true;
32370
+ if (typeof stats.cooldownUntil === "number" && stats.cooldownUntil > now && (stats.errorCount ?? 0) > 0) return true;
32371
+ const lastFailure = stats.lastFailureAt ?? 0;
32372
+ const lastSuccess = stats.lastUsed ?? 0;
32373
+ if (lastFailure > 0 && lastFailure > lastSuccess) return true;
32374
+ }
32375
+ return false;
32376
+ }
32377
+ /**
32378
+ * Resolve the fallback flag file path.
32379
+ */
32380
+ function resolveFallbackFlagPath() {
32381
+ const dir = process.env.SQUIDCLAW_DIR || path.join(process.env.HOME || "/root", ".squidclaw");
32382
+ return path.join(dir, "fallback-active.json");
32383
+ }
32384
+ /**
32385
+ * Read the fallback flag file. Returns null if not present or invalid.
32386
+ */
32387
+ function readFallbackFlag() {
32388
+ try {
32389
+ const flagPath = resolveFallbackFlagPath();
32390
+ if (!fs.existsSync(flagPath)) return null;
32391
+ const data = JSON.parse(fs.readFileSync(flagPath, "utf8"));
32392
+ if (data && data.active) return data;
32393
+ return null;
32394
+ } catch {
32395
+ return null;
32396
+ }
32397
+ }
32398
+ /**
32399
+ * Write the fallback flag file when primary model fails.
32400
+ */
32401
+ function writeFallbackFlag(data) {
32402
+ try {
32403
+ const flagPath = resolveFallbackFlagPath();
32404
+ fs.writeFileSync(flagPath, JSON.stringify({
32405
+ active: true,
32406
+ ...data,
32407
+ since: Date.now()
32408
+ }));
32409
+ } catch {}
32410
+ }
32411
+ /**
32412
+ * Clear the fallback flag file when primary model recovers.
32413
+ */
32414
+ function clearFallbackFlag() {
32415
+ try {
32416
+ const flagPath = resolveFallbackFlagPath();
32417
+ if (fs.existsSync(flagPath)) fs.unlinkSync(flagPath);
32418
+ } catch {}
32419
+ }
32420
+ /**
32421
+ * Resolve the current agent tier.
32422
+ *
32423
+ * - "super": Paid provider configured and last known working.
32424
+ * - "degraded": Paid provider configured but last attempt failed (no success since).
32425
+ * - "base": Local/free model only.
32426
+ */
32427
+ function resolveAgentTier(params) {
32428
+ const primary = resolveAgentModelPrimaryValue(params.cfg?.agents?.defaults?.model);
32429
+ if (!primary) return "base";
32430
+ const { isPaid, provider } = isPaidProvider(primary);
32431
+ if (!isPaid) return "base";
32432
+ if (!resolveEnvApiKey(provider)) return "base";
32433
+ try {
32434
+ const authStore = ensureAuthProfileStore(params.agentDir ?? resolveSquidClawAgentDir(), { allowKeychainPrompt: false });
32435
+ const profileIds = resolveAuthProfileOrder({
32436
+ cfg: params.cfg,
32437
+ store: authStore,
32438
+ provider
32439
+ });
32440
+ if (profileIds.length > 0 && isPrimaryLastKnownBroken(authStore, profileIds, Date.now())) return "degraded";
32441
+ } catch {}
32442
+ if (readFallbackFlag()) return "degraded";
32443
+ return "super";
32444
+ }
32445
+ function formatAgentTierLabel(tier) {
32446
+ switch (tier) {
32447
+ case "super": return "🟢 Super Agent";
32448
+ case "degraded": return "🟠 Basic Agent (degraded)";
32449
+ case "base": return "🟡 Basic Agent";
32450
+ }
32451
+ }
32452
+
32347
32453
  //#endregion
32348
32454
  //#region src/sessions/model-overrides.ts
32349
32455
  function applyModelOverrideToSessionEntry(params) {
@@ -32417,6 +32523,7 @@ function applyModelOverrideToSessionEntry(params) {
32417
32523
  }
32418
32524
  if (updated) {
32419
32525
  delete entry.fallbackNoticeSelectedModel;
32526
+ clearFallbackFlag();
32420
32527
  delete entry.fallbackNoticeActiveModel;
32421
32528
  delete entry.fallbackNoticeReason;
32422
32529
  entry.updatedAt = Date.now();
@@ -37719,7 +37826,7 @@ let slackSenderRuntimePromise = null;
37719
37826
  let signalSenderRuntimePromise = null;
37720
37827
  let imessageSenderRuntimePromise = null;
37721
37828
  function loadWhatsAppSenderRuntime() {
37722
- whatsappSenderRuntimePromise ??= import("./deps-send-whatsapp.runtime-BNAJe11S.js");
37829
+ whatsappSenderRuntimePromise ??= import("./deps-send-whatsapp.runtime-CETLGt-t.js");
37723
37830
  return whatsappSenderRuntimePromise;
37724
37831
  }
37725
37832
  function loadTelegramSenderRuntime() {
@@ -50593,7 +50700,7 @@ function loadSlashCommandsRuntime() {
50593
50700
  return slashCommandsRuntimePromise;
50594
50701
  }
50595
50702
  function loadSlashDispatchRuntime() {
50596
- slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-DPRwMKXk.js");
50703
+ slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-DB1QsBRc.js");
50597
50704
  return slashDispatchRuntimePromise;
50598
50705
  }
50599
50706
  function loadSlashSkillCommandsRuntime() {
@@ -52098,6 +52205,22 @@ function buildStatusMessage(args) {
52098
52205
  activeModelRef: activeModelLabel,
52099
52206
  state: entry
52100
52207
  });
52208
+ if (!fallbackState.active) {
52209
+ const flag = readFallbackFlag();
52210
+ if (flag) {
52211
+ fallbackState = {
52212
+ active: true,
52213
+ reason: flag.reason || "primary unavailable"
52214
+ };
52215
+ if (flag.activeModel) {
52216
+ const parts = flag.activeModel.split("/");
52217
+ if (parts.length === 2) {
52218
+ activeProvider = parts[0];
52219
+ activeModel = parts[1];
52220
+ }
52221
+ }
52222
+ }
52223
+ }
52101
52224
  const effectiveCostAuthMode = fallbackState.active ? activeAuthMode : selectedAuthMode ?? activeAuthMode;
52102
52225
  const showCost = effectiveCostAuthMode === "api-key" || effectiveCostAuthMode === "mixed";
52103
52226
  const costConfig = showCost ? resolveModelCostConfig({
@@ -52154,6 +52277,11 @@ function buildStatusMessage(args) {
52154
52277
  const voiceLine = formatVoiceModeLine(args.config, args.sessionEntry);
52155
52278
  return [
52156
52279
  versionLine,
52280
+ args.config ? formatAgentTierLabel((() => {
52281
+ const t = resolveAgentTier({ cfg: args.config });
52282
+ if (t === "super" && fallbackState.active) return "degraded";
52283
+ return t;
52284
+ })()) : null,
52157
52285
  args.timeLine,
52158
52286
  modelLine,
52159
52287
  fallbackLine,
@@ -59203,7 +59331,7 @@ function loadWebLoginQr() {
59203
59331
  return webLoginQrPromise;
59204
59332
  }
59205
59333
  function loadWebChannel() {
59206
- webChannelPromise ??= import("./web-Bnr4YuWJ.js");
59334
+ webChannelPromise ??= import("./web-DWRZAXj9.js");
59207
59335
  return webChannelPromise;
59208
59336
  }
59209
59337
  function loadWhatsAppActions() {
@@ -88293,6 +88421,11 @@ async function runReplyAgent(params) {
88293
88421
  fallbackStateEntry.fallbackNoticeSelectedModel = fallbackTransition.nextState.selectedModel;
88294
88422
  fallbackStateEntry.fallbackNoticeActiveModel = fallbackTransition.nextState.activeModel;
88295
88423
  fallbackStateEntry.fallbackNoticeReason = fallbackTransition.nextState.reason;
88424
+ writeFallbackFlag({
88425
+ selectedModel: fallbackTransition.nextState.selectedModel,
88426
+ activeModel: fallbackTransition.nextState.activeModel,
88427
+ reason: fallbackTransition.nextState.reason
88428
+ });
88296
88429
  fallbackStateEntry.updatedAt = Date.now();
88297
88430
  activeSessionEntry = fallbackStateEntry;
88298
88431
  }
@@ -31,7 +31,7 @@ import "./logging-CcxUDNcI.js";
31
31
  import "./accounts-KzgPbLHP.js";
32
32
  import "./send-z-sMjqvX.js";
33
33
  import "./send-DEs83M9V.js";
34
- import "./subagent-registry-CgUBOyi3.js";
34
+ import "./subagent-registry-CIgFD2oi.js";
35
35
  import "./paths-Dn_rzeZN.js";
36
36
  import "./chat-envelope-thy05gXR.js";
37
37
  import "./client-G9E5HGM2.js";
@@ -114,9 +114,9 @@ import "./progress-DuhDspl6.js";
114
114
  import { t as ensureSquidClawCliOnPath } from "./path-env-_OXBdJlU.js";
115
115
  import "./note-IoQo8Ol0.js";
116
116
  import "./issue-format-DCcINW-9.js";
117
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-CCkpP8-I.js";
117
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-D3PnPE1D.js";
118
118
  import { t as assertSupportedRuntime } from "./runtime-guard-BPoq8vFM.js";
119
- import { t as emitCliBanner } from "./banner-4LItBqCV.js";
119
+ import { t as emitCliBanner } from "./banner-DMfuBV69.js";
120
120
  import "./doctor-config-flow-C-h3yV4z.js";
121
121
  import { n as ensureConfigReady } from "./config-guard-BHy2f0hU.js";
122
122
  import process$1 from "node:process";
@@ -131,7 +131,7 @@ const routeHealth = {
131
131
  const verbose = getVerboseFlag(argv, { includeDebug: true });
132
132
  const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
133
133
  if (timeoutMs === null) return false;
134
- const { healthCommand } = await import("./health-DS3reqch.js").then((n) => n.i);
134
+ const { healthCommand } = await import("./health-XFKFZ7ZJ.js").then((n) => n.i);
135
135
  await healthCommand({
136
136
  json,
137
137
  timeoutMs,
@@ -151,7 +151,7 @@ const routeStatus = {
151
151
  const verbose = getVerboseFlag(argv, { includeDebug: true });
152
152
  const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
153
153
  if (timeoutMs === null) return false;
154
- const { statusCommand } = await import("./status-DGF_ROMC.js").then((n) => n.t);
154
+ const { statusCommand } = await import("./status-cU9cJReo.js").then((n) => n.t);
155
155
  await statusCommand({
156
156
  json,
157
157
  deep,
@@ -190,7 +190,7 @@ const routeAgentsList = {
190
190
  run: async (argv) => {
191
191
  const json = hasFlag(argv, "--json");
192
192
  const bindings = hasFlag(argv, "--bindings");
193
- const { agentsListCommand } = await import("./agents-BOS_wASV.js").then((n) => n.t);
193
+ const { agentsListCommand } = await import("./agents-DXKtU4Il.js").then((n) => n.t);
194
194
  await agentsListCommand({
195
195
  json,
196
196
  bindings
@@ -256,7 +256,7 @@ const routes = [
256
256
  const pathArg = positionals[0];
257
257
  if (!pathArg) return false;
258
258
  const json = hasFlag(argv, "--json");
259
- const { runConfigGet } = await import("./config-cli-BhQXEuBv.js");
259
+ const { runConfigGet } = await import("./config-cli-D0A8Awoo.js");
260
260
  await runConfigGet({
261
261
  path: pathArg,
262
262
  json
@@ -271,7 +271,7 @@ const routes = [
271
271
  if (!positionals || positionals.length !== 1) return false;
272
272
  const pathArg = positionals[0];
273
273
  if (!pathArg) return false;
274
- const { runConfigUnset } = await import("./config-cli-BhQXEuBv.js");
274
+ const { runConfigUnset } = await import("./config-cli-D0A8Awoo.js");
275
275
  await runConfigUnset({ path: pathArg });
276
276
  return true;
277
277
  }
@@ -285,7 +285,7 @@ const routes = [
285
285
  const local = hasFlag(argv, "--local");
286
286
  const json = hasFlag(argv, "--json");
287
287
  const plain = hasFlag(argv, "--plain");
288
- const { modelsListCommand } = await import("./models-D9X4EUlY.js").then((n) => n.t);
288
+ const { modelsListCommand } = await import("./models-5VXwJBU2.js").then((n) => n.t);
289
289
  await modelsListCommand({
290
290
  all,
291
291
  local,
@@ -316,7 +316,7 @@ const routes = [
316
316
  const plain = hasFlag(argv, "--plain");
317
317
  const check = hasFlag(argv, "--check");
318
318
  const probe = hasFlag(argv, "--probe");
319
- const { modelsStatusCommand } = await import("./models-D9X4EUlY.js").then((n) => n.t);
319
+ const { modelsStatusCommand } = await import("./models-5VXwJBU2.js").then((n) => n.t);
320
320
  await modelsStatusCommand({
321
321
  json,
322
322
  plain,
@@ -419,7 +419,7 @@ async function runCli(argv = process$1.argv) {
419
419
  assertSupportedRuntime();
420
420
  if (await tryRouteCli(normalizedArgv)) return;
421
421
  enableConsoleCapture();
422
- const { buildProgram } = await import("./program-B4_o5EDH.js");
422
+ const { buildProgram } = await import("./program-D_xdLzmM.js");
423
423
  const program = buildProgram();
424
424
  installUnhandledRejectionHandler();
425
425
  process$1.on("uncaughtException", (error) => {
@@ -432,10 +432,10 @@ async function runCli(argv = process$1.argv) {
432
432
  const { getProgramContext } = await import("./program-context-DKVuITe2.js").then((n) => n.n);
433
433
  const ctx = getProgramContext(program);
434
434
  if (ctx) {
435
- const { registerCoreCliByName } = await import("./command-registry-C_YMaVul.js").then((n) => n.t);
435
+ const { registerCoreCliByName } = await import("./command-registry-AHS8_9da.js").then((n) => n.t);
436
436
  await registerCoreCliByName(program, ctx, primary, parseArgv);
437
437
  }
438
- const { registerSubCliByName } = await import("./register.subclis-BYiAuTiK.js").then((n) => n.a);
438
+ const { registerSubCliByName } = await import("./register.subclis-CDMFyaKR.js").then((n) => n.a);
439
439
  await registerSubCliByName(program, primary);
440
440
  }
441
441
  if (!shouldSkipPluginCommandRegistration({
@@ -443,7 +443,7 @@ async function runCli(argv = process$1.argv) {
443
443
  primary,
444
444
  hasBuiltinPrimary: primary !== null && program.commands.some((command) => command.name() === primary)
445
445
  })) {
446
- const { registerPluginCliCommands } = await import("./cli-aCubMdJg.js");
446
+ const { registerPluginCliCommands } = await import("./cli-CAID9zkL.js");
447
447
  const { loadConfig } = await import("./auth-profiles-CX4YYu7Z.js").then((n) => n.F);
448
448
  registerPluginCliCommands(program, loadConfig());
449
449
  }
@@ -1,7 +1,7 @@
1
- import { c as resolveStateDir } from "./paths-CSdAWKDO.js";
2
- import { t as createSubsystemLogger } from "./subsystem-BaLYRf7D.js";
3
- import { $ as parseAgentSessionKey, B as resolveAgentIdFromSessionKey, R as normalizeAgentId, j as DEFAULT_AGENT_ID, p as resolveDefaultAgentWorkspaceDir } from "./workspace-TqfVSQuO.js";
4
- import { y as resolveUserPath } from "./logger-oGKcCLZ5.js";
1
+ import { c as resolveStateDir } from "./paths-DA5srn0U.js";
2
+ import { t as createSubsystemLogger } from "./subsystem-6v7sWnAD.js";
3
+ import { $ as parseAgentSessionKey, B as resolveAgentIdFromSessionKey, R as normalizeAgentId, j as DEFAULT_AGENT_ID, p as resolveDefaultAgentWorkspaceDir } from "./workspace-kVMIaBrV.js";
4
+ import { y as resolveUserPath } from "./logger-CnTSBL7T.js";
5
5
  import path from "node:path";
6
6
 
7
7
  //#region src/config/model-input.ts
@@ -0,0 +1,13 @@
1
+ import "./run-with-concurrency-BFR3ReeF.js";
2
+ import "./paths-DA5srn0U.js";
3
+ import "./subsystem-6v7sWnAD.js";
4
+ import "./workspace-kVMIaBrV.js";
5
+ import "./logger-CnTSBL7T.js";
6
+ import "./model-selection-DuNLFQPR.js";
7
+ import "./github-copilot-token-B5cPlwaz.js";
8
+ import "./legacy-names-aGJJuzM_.js";
9
+ import "./accounts-DwGoZKGm.js";
10
+ import "./session-CnCwDJke.js";
11
+ import { t as loginWeb } from "./login-CeKDrz6_.js";
12
+
13
+ export { loginWeb };
@@ -0,0 +1,22 @@
1
+ import "./run-with-concurrency-BFR3ReeF.js";
2
+ import "./paths-DA5srn0U.js";
3
+ import "./subsystem-6v7sWnAD.js";
4
+ import "./workspace-kVMIaBrV.js";
5
+ import "./logger-CnTSBL7T.js";
6
+ import "./model-selection-DuNLFQPR.js";
7
+ import "./github-copilot-token-B5cPlwaz.js";
8
+ import "./legacy-names-aGJJuzM_.js";
9
+ import "./plugins-DvejjZnJ.js";
10
+ import "./accounts-DwGoZKGm.js";
11
+ import "./image-ops-Dg8iraUV.js";
12
+ import "./path-alias-guards-DORgbZ1w.js";
13
+ import "./fs-safe-BoB4X3GD.js";
14
+ import "./proxy-env-D-fike7s.js";
15
+ import "./fetch-DP-JjB6Z.js";
16
+ import "./fetch-guard-BDy975wP.js";
17
+ import "./ir-CKK03mBV.js";
18
+ import "./render-DW7AcFdD.js";
19
+ import "./tables-BTFiZyRU.js";
20
+ import { n as sendPollWhatsApp, t as sendMessageWhatsApp } from "./outbound-C9svt6RH.js";
21
+
22
+ export { sendMessageWhatsApp, sendPollWhatsApp };
@@ -1,10 +1,10 @@
1
- import { h as normalizeE164, y as resolveUserPath } from "./logger-oGKcCLZ5.js";
2
- import { X as loadConfig } from "./model-selection-CHnojCCK.js";
3
- import { E as kindFromMime } from "./image-ops-BoN1E_WZ.js";
4
- import { t as resolveIMessageAccount } from "./accounts-Bkb-J8V6.js";
5
- import { s as resolveMarkdownTableMode } from "./ir-Dut0zXyS.js";
6
- import { t as convertMarkdownTables } from "./tables-BRYYxYs7.js";
7
- import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-rlW7G5df.js";
1
+ import { h as normalizeE164, y as resolveUserPath } from "./logger-CnTSBL7T.js";
2
+ import { X as loadConfig } from "./model-selection-DuNLFQPR.js";
3
+ import { E as kindFromMime } from "./image-ops-Dg8iraUV.js";
4
+ import { t as resolveIMessageAccount } from "./accounts-DjhBQg_8.js";
5
+ import { s as resolveMarkdownTableMode } from "./ir-CKK03mBV.js";
6
+ import { t as convertMarkdownTables } from "./tables-BTFiZyRU.js";
7
+ import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-DwupUxYF.js";
8
8
  import { spawn } from "node:child_process";
9
9
  import { createInterface } from "node:readline";
10
10