squidclaw 3.0.24 → 3.0.26

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 (329) hide show
  1. package/dist/{accounts-BH9Qo1sQ.js → accounts-BK8I0Svb.js} +7 -7
  2. package/dist/{accounts-Cuwg9Tan.js → accounts-DeqNOvBo.js} +1 -1
  3. package/dist/{accounts-B1RxFghM.js → accounts-KzgPbLHP.js} +1 -1
  4. package/dist/{acp-cli-Ch55Vzud.js → acp-cli-BwG98FYT.js} +8 -8
  5. package/dist/{agent-scope-nEVgVklg.js → agent-scope-Cq4vDGrK.js} +17 -17
  6. package/dist/{agents-B-ig6ydU.js → agents-DXKtU4Il.js} +14 -14
  7. package/dist/{agents.config-w_Z6Fb4-.js → agents.config-BM-2SLCh.js} +2 -2
  8. package/dist/{api-key-rotation-JPmjv-c0.js → api-key-rotation-6i41mEc9.js} +1 -1
  9. package/dist/{audio-preflight-lT9iRnYi.js → audio-preflight-Bzo_zN4j.js} +4 -4
  10. package/dist/{audio-preflight-CZ--cSZh.js → audio-preflight-C-JCwUKe.js} +34 -34
  11. package/dist/{audio-transcription-runner-YiR1ym3a.js → audio-transcription-runner-Cp_lkLCv.js} +1 -1
  12. package/dist/{audio-transcription-runner-D-uxpkbd.js → audio-transcription-runner-DvQksGUE.js} +23 -23
  13. package/dist/{audit-JLT1FqTt.js → audit-DLTgNDFw.js} +29 -29
  14. package/dist/{auth-BlP9BwaD.js → auth-CuObxnC4.js} +1 -1
  15. package/dist/{auth-choice-Czu7271G.js → auth-choice-BVQQneHM.js} +13 -13
  16. package/dist/{auth-choice-ORZHjbsv.js → auth-choice-CXepQc7c.js} +11 -11
  17. package/dist/{auth-choice.apply-helpers-CdoXMtxm.js → auth-choice.apply-helpers-p1y_DmDT.js} +1 -1
  18. package/dist/{auth-profiles-9T4j6jMy.js → auth-profiles-CX4YYu7Z.js} +16 -16
  19. package/dist/{auth-token-BFc70pes.js → auth-token-Dlk7MMsC.js} +1 -1
  20. package/dist/{banner-CwNmI5G-.js → banner-DMfuBV69.js} +2 -2
  21. package/dist/{bonjour-discovery-eqJcK09r.js → bonjour-discovery-BHz2I6_W.js} +1 -1
  22. package/dist/{browser-cli-DCDPC5sg.js → browser-cli-Dvwk4zAD.js} +12 -12
  23. package/dist/build-info.json +3 -3
  24. package/dist/bundled/session-memory/handler.js +127 -12
  25. package/dist/{call-D7jOWSFr.js → call-BlWEBz99.js} +10 -10
  26. package/dist/{channel-account-context-DJ3rHgVO.js → channel-account-context-CQ6rCiGI.js} +5 -5
  27. package/dist/{channel-activity-wuB3-cfR.js → channel-activity-BZKeZQH-.js} +1 -1
  28. package/dist/{channel-options-BS7BSU_5.js → channel-options-CQ-gER0J.js} +3 -3
  29. package/dist/{channel-selection-CFWQq1nS.js → channel-selection-BqwS1Rlq.js} +1 -1
  30. package/dist/{channel-web-C1qYz-HK.js → channel-web-LLzBxZrT.js} +17 -17
  31. package/dist/{channels-cli-CVNqp5q7.js → channels-cli-D4xUEYYC.js} +93 -93
  32. package/dist/{channels-status-issues-Erzzhl2e.js → channels-status-issues-Dz1_R7Ah.js} +1 -1
  33. package/dist/{chrome-CuBHInKC.js → chrome-CZQnp4VH.js} +8 -8
  34. package/dist/{chrome-DiktJpMU.js → chrome-CoRiYsNu.js} +4 -4
  35. package/dist/{clawbot-cli-C3bt-FEP.js → clawbot-cli-2Zlim_pH.js} +11 -11
  36. package/dist/cli/daemon-cli.js +1 -1
  37. package/dist/{cli-Jyqv2jm8.js → cli-CAID9zkL.js} +73 -73
  38. package/dist/{client-COy24r9W.js → client-G9E5HGM2.js} +2 -2
  39. package/dist/{command-registry-DCojicSG.js → command-registry-AHS8_9da.js} +11 -11
  40. package/dist/{command-secret-targets-CZjP-Bm5.js → command-secret-targets-DAu5nw-j.js} +4 -4
  41. package/dist/{commands-DDHiW-As.js → commands-CnX9I_l4.js} +1 -1
  42. package/dist/{commands-registry--ITOJ-cM.js → commands-registry-_r_JONI4.js} +3 -3
  43. package/dist/{completion-cli-DCTv7Ejv.js → completion-cli-BR1r9_h4.js} +13 -13
  44. package/dist/{config-cli-CSPSSP_R.js → config-cli-D0A8Awoo.js} +7 -7
  45. package/dist/{config-guard-CFauJm79.js → config-guard-BHy2f0hU.js} +3 -3
  46. package/dist/{config-validation-Bt3LfFJ0.js → config-validation-BkvDORAk.js} +3 -3
  47. package/dist/{configure-DAol2gT6.js → configure-XmOqwwy9.js} +17 -17
  48. package/dist/{control-ui-assets-d6VtDSeo.js → control-ui-assets-BYEy341x.js} +1 -1
  49. package/dist/{cron-cli-yS1ww1k2.js → cron-cli-QwZcnjJc.js} +11 -11
  50. package/dist/{daemon-cli-B-yZvTqZ.js → daemon-cli-kJfDhzr8.js} +15 -15
  51. package/dist/{daemon-install-CbPLNiIP.js → daemon-install-Chxlu9Kv.js} +4 -4
  52. package/dist/{daemon-install-helpers-CZDVO_MU.js → daemon-install-helpers-CJtiW2RE.js} +11 -11
  53. package/dist/{deliver-6zfT7daI.js → deliver-B4WWPQvt.js} +1 -1
  54. package/dist/{deliver-D-IQEJ52.js → deliver-CL2RW5UB.js} +7 -7
  55. package/dist/deliver-runtime-C08pF1_3.js +61 -0
  56. package/dist/{deliver-runtime-MBexxUuG.js → deliver-runtime-CeE1X9si.js} +3 -3
  57. package/dist/deps-send-discord.runtime-r80y9aXF.js +36 -0
  58. package/dist/deps-send-imessage.runtime-BmocBgPM.js +35 -0
  59. package/dist/deps-send-signal.runtime-ByJt6qz-.js +34 -0
  60. package/dist/deps-send-slack.runtime-C3UUEG9J.js +32 -0
  61. package/dist/{deps-send-telegram.runtime-Irv0ky5l.js → deps-send-telegram.runtime-BHaZAs2h.js} +16 -16
  62. package/dist/{deps-send-whatsapp.runtime-CrxkfP31.js → deps-send-whatsapp.runtime-COv_qoD2.js} +7 -7
  63. package/dist/deps-send-whatsapp.runtime-__ogpmJj.js +119 -0
  64. package/dist/{devices-cli-CPgutgUT.js → devices-cli-DlQGTogF.js} +8 -8
  65. package/dist/{diagnostic-B4w80e4D.js → diagnostic-CLEtu0MC.js} +1 -1
  66. package/dist/{diagnostics-m7hHHbuE.js → diagnostics--O6mo6KH.js} +5 -5
  67. package/dist/{directory-cli-DqObADBL.js → directory-cli-K9qIwxYa.js} +7 -7
  68. package/dist/{dns-cli-CKbwsWBv.js → dns-cli-qtX-WNMF.js} +5 -5
  69. package/dist/{dock-W3cGg46W.js → dock-DJJAj46v.js} +4 -4
  70. package/dist/{docs-cli-BpZtes_j.js → docs-cli--gGxz79Z.js} +4 -4
  71. package/dist/{doctor-completion--7PR_Vqz.js → doctor-completion-CZoEdMS-.js} +2 -2
  72. package/dist/{doctor-config-flow-BDF7TR6O.js → doctor-config-flow-C-h3yV4z.js} +15 -15
  73. package/dist/{enable--Q7yLTZm.js → enable-C8FNY18p.js} +1 -1
  74. package/dist/entry.js +2 -2
  75. package/dist/{exec-approvals-allowlist-B9bcJkGP.js → exec-approvals-allowlist-CtSREgYh.js} +1 -1
  76. package/dist/{exec-approvals-cli-homtziYt.js → exec-approvals-cli-BmM4RpVn.js} +16 -16
  77. package/dist/{exec-safe-bin-runtime-policy-DECo77U6.js → exec-safe-bin-runtime-policy-CfQeDABF.js} +2 -2
  78. package/dist/extensionAPI.js +6 -6
  79. package/dist/{fetch-lq0SDLLE.js → fetch-CtoC2wgs.js} +3 -3
  80. package/dist/{fetch-guard-CbtWqa1E.js → fetch-guard-Dvzi3MjK.js} +1 -1
  81. package/dist/{plugin-sdk/fs-safe-Dqmpk-Fr.js → fs-safe-DPYj7h8A.js} +6 -6
  82. package/dist/{gateway-cli-B3oqskb4.js → gateway-cli-BJHBChfI.js} +153 -153
  83. package/dist/{gateway-rpc-BBBN9ZJk.js → gateway-rpc-D0AmaBzR.js} +1 -1
  84. package/dist/{health-CjXrJkCb.js → health-XFKFZ7ZJ.js} +11 -11
  85. package/dist/{hooks-cli--aKmd8c9.js → hooks-cli-CXsZK8H9.js} +81 -81
  86. package/dist/{hooks-status-BlgSVDvN.js → hooks-status-DMFBAUq8.js} +1 -1
  87. package/dist/{image-VgwN31FZ.js → image-DKkuLtZ4.js} +1 -1
  88. package/dist/{image-BcYt63Jx.js → image-DSWTfuxv.js} +5 -5
  89. package/dist/{image-ops-LFsSCTyI.js → image-ops-B2uuLIGD.js} +10 -10
  90. package/dist/{image-runtime-CwMuTYvd.js → image-runtime-BMavqm9n.js} +3 -3
  91. package/dist/image-runtime-cza2NTiZ.js +55 -0
  92. package/dist/{inspect-CzsXBsew.js → inspect-4c1uL0x5.js} +4 -4
  93. package/dist/{install-safe-path-DqI19VEv.js → install-safe-path-3muwy3fu.js} +25 -25
  94. package/dist/{installs-P-pYAJm1.js → installs-BiQDtPF0.js} +9 -9
  95. package/dist/{ipv4-B95173MB.js → ipv4-sHllwvAI.js} +1 -1
  96. package/dist/{ir-C7He5vmn.js → ir-BukzlgSp.js} +8 -8
  97. package/dist/{issue-format-CbTfB8Hy.js → issue-format-DCcINW-9.js} +1 -1
  98. package/dist/{json-files-rR19q30D.js → json-files-CuJjdF_0.js} +8 -8
  99. package/dist/{lifecycle-core-ChKClWdw.js → lifecycle-core-CqFEhwHn.js} +5 -5
  100. package/dist/{login-qr-CX0rs3A6.js → login-qr-B8P_EAd-.js} +6 -6
  101. package/dist/{login-CjzRATwO.js → login-zoeewfBu.js} +3 -3
  102. package/dist/{logs-cli-DvHsw1WZ.js → logs-cli-D30BUN6y.js} +9 -9
  103. package/dist/{manager-BVfTfggO.js → manager-5OzUkYLf.js} +14 -14
  104. package/dist/{manager-runtime-BXJJSlzC.js → manager-runtime-BxXpVt3x.js} +9 -9
  105. package/dist/{manifest-registry-1ACGW3OR.js → manifest-registry-7kwtbCH-.js} +1 -1
  106. package/dist/{memory-cli-u8eyO3Ec.js → memory-cli-Dj8tyFtt.js} +12 -12
  107. package/dist/{model-D7hZpWTB.js → model-B8p-EsdJ.js} +2 -2
  108. package/dist/{model-catalog-Drh9Rois.js → model-catalog-BWuvEv1x.js} +3 -3
  109. package/dist/{model-picker-DK_vvKCV.js → model-picker-CLhaaagi.js} +4 -4
  110. package/dist/{models-CFXLX9IF.js → models-5VXwJBU2.js} +17 -17
  111. package/dist/{models-cli-PHQyKESa.js → models-cli-Br56IHfy.js} +78 -78
  112. package/dist/{models-config-DAastTau.js → models-config-poV-4Xlx.js} +6 -6
  113. package/dist/{net-CIh5ellr.js → net-CCnbGop3.js} +2 -2
  114. package/dist/{node-cli-o9qcU9GJ.js → node-cli-C8hvYquX.js} +33 -33
  115. package/dist/{node-command-policy-BeTSnoyk.js → node-command-policy-B_D5ucTj.js} +1 -1
  116. package/dist/{node-service-OVe0_CIs.js → node-service-Z0JprJda.js} +1 -1
  117. package/dist/{nodes-cli-kGx_Qa3c.js → nodes-cli-IIc8fTKT.js} +16 -16
  118. package/dist/{nodes-screen-BrMJzhot.js → nodes-screen-DFFmbaXE.js} +7 -7
  119. package/dist/{npm-pack-install-Dn3FiWXB.js → npm-pack-install-B887us7R.js} +18 -18
  120. package/dist/{npm-resolution-ky_uAlXE.js → npm-resolution-CKtyq4FH.js} +4 -4
  121. package/dist/{onboard-channels-oJCC_sJX.js → onboard-channels-_kVo3Apf.js} +21 -21
  122. package/dist/{onboard-custom-CRpsaM3g.js → onboard-custom-CZtjqrY7.js} +4 -4
  123. package/dist/{onboard-helpers-DwEZeaoe.js → onboard-helpers-BP429__H.js} +10 -10
  124. package/dist/{onboard-hooks-DyxckB2C.js → onboard-hooks-CTbjgLDl.js} +4 -4
  125. package/dist/{onboard-D1Qy64JK.js → onboard-lFwpCpC3.js} +6 -6
  126. package/dist/{onboard-remote-ZgpWNq9Z.js → onboard-remote-BlZB0AE9.js} +4 -4
  127. package/dist/{onboard-skills-DEijVfCg.js → onboard-skills-BT2YOXeP.js} +4 -4
  128. package/dist/{onboarding-Mxqy4O1E.js → onboarding-EEd_g8Zg.js} +14 -14
  129. package/dist/{onboarding.finalize-DiOMx6A5.js → onboarding.finalize-Cs1ukjFN.js} +90 -90
  130. package/dist/{onboarding.gateway-config-9wkBCzzO.js → onboarding.gateway-config-C6N8r5Is.js} +18 -18
  131. package/dist/{onboarding.secret-input-DRnoQSlI.js → onboarding.secret-input-BTK1IG-J.js} +1 -1
  132. package/dist/{openai-model-default-DqE4bNtd.js → openai-model-default-COzeuAI4.js} +2 -2
  133. package/dist/{outbound-CwzUo-rx.js → outbound-B7m9Vcd2.js} +3 -3
  134. package/dist/{outbound-attachment-Bedqixj2.js → outbound-attachment-fdEhzyl9.js} +2 -2
  135. package/dist/{pairing-cli-CsYP0at7.js → pairing-cli-NhoRKes6.js} +8 -8
  136. package/dist/{pairing-labels-CX4CtqRa.js → pairing-labels-CnTvFrUT.js} +1 -1
  137. package/dist/{pairing-store-BC4mnG9S.js → pairing-store-D0eOXyby.js} +3 -3
  138. package/dist/{plugin-sdk/path-alias-guards-gBhrAn14.js → path-alias-guards-vfYYQFIg.js} +1 -1
  139. package/dist/{path-safety-D7CjFQvf.js → path-safety-C95DzArw.js} +1 -1
  140. package/dist/{paths-D6mnO6Ni.js → paths-DfuVHiHu.js} +9 -9
  141. package/dist/{pi-embedded-BN8fghaF.js → pi-embedded-BR5y0dLa.js} +24 -24
  142. package/dist/{pi-embedded-helpers-A9VYPVCH.js → pi-embedded-helpers-CEHpGDRs.js} +3 -3
  143. package/dist/{pi-embedded-helpers-DtCOZSv-.js → pi-embedded-helpers-qCAK_a65.js} +6 -6
  144. package/dist/{pi-model-discovery-Cr1q2cJt.js → pi-model-discovery-CKUePiDc.js} +1 -1
  145. package/dist/{pi-model-discovery-runtime-BHmdAKBK.js → pi-model-discovery-runtime-CNLKih0w.js} +5 -5
  146. package/dist/{pi-tools.before-tool-call.runtime-duKHqrMc.js → pi-tools.before-tool-call.runtime-Bba7rXQq.js} +5 -5
  147. package/dist/{pi-tools.policy-D3RA94WF.js → pi-tools.policy-BwWnFLLV.js} +5 -5
  148. package/dist/{plugin-auto-enable-a3TK3OPT.js → plugin-auto-enable-DJkHW_LG.js} +3 -3
  149. package/dist/{plugin-registry-CFqqDqQV.js → plugin-registry-D3PnPE1D.js} +3 -3
  150. package/dist/plugin-sdk/discord.js +6 -6
  151. package/dist/plugin-sdk/index.js +50 -50
  152. package/dist/plugin-sdk/mattermost.js +3 -3
  153. package/dist/plugin-sdk/signal.js +2 -2
  154. package/dist/{plugins-Bc7YM9X-.js → plugins-BDTkSIi7.js} +2 -2
  155. package/dist/{plugins-cli-vQi8tFye.js → plugins-cli-BA_2daJe.js} +83 -83
  156. package/dist/{ports-DMeUt80n.js → ports-0jLyYbvQ.js} +2 -2
  157. package/dist/{ports-BzfeaNjw.js → ports-Be82TlEg.js} +1 -1
  158. package/dist/{program-Nott_VTb.js → program-D_xdLzmM.js} +81 -81
  159. package/dist/{prompt-select-styled-7mnlZgrQ.js → prompt-select-styled-BsheNEnh.js} +40 -40
  160. package/dist/{provider-auth-helpers-_77rN3Zc.js → provider-auth-helpers-B5kD4Lt6.js} +5 -5
  161. package/dist/{proxy-env-BiKHVg2h.js → proxy-env-CQTuxZoS.js} +1 -1
  162. package/dist/{push-apns-Ce1zzNYB.js → push-apns-BbenjEX4.js} +5 -5
  163. package/dist/{pw-ai-CM87tQwG.js → pw-ai-Du22SYoO.js} +1 -1
  164. package/dist/{pw-ai-CAhTwexx.js → pw-ai-wo5t_KO_.js} +18 -18
  165. package/dist/{plugin-sdk/qmd-manager-6bozlfFg.js → qmd-manager-BkSWV1Q1.js} +17 -11
  166. package/dist/{qr-cli-DzjBpGix.js → qr-cli-DSMYIp-D.js} +2 -2
  167. package/dist/{query-expansion-C0HUJbRn.js → query-expansion-DI9INxTg.js} +12 -12
  168. package/dist/{redact-snapshot-C0McNGqh.js → redact-snapshot-B2YFI3cO.js} +1 -1
  169. package/dist/{register.agent-DtjNdvUh.js → register.agent-Dk_5V5oA.js} +94 -94
  170. package/dist/register.configure-C8OFfGln.js +165 -0
  171. package/dist/{register.maintenance-DERKsSgi.js → register.maintenance-CluQOq8b.js} +95 -95
  172. package/dist/{register.message-DkYxt6gZ.js → register.message-BCTXT5yK.js} +74 -74
  173. package/dist/{register.onboard-BtfW83M0.js → register.onboard-C64oXnvq.js} +18 -18
  174. package/dist/{register.setup-Ba9gMkRk.js → register.setup-Dl3nk2Ui.js} +21 -21
  175. package/dist/{register.status-health-sessions-BILdpWJV.js → register.status-health-sessions-BHtbPeCO.js} +88 -88
  176. package/dist/{register.subclis-Dfm_Zu31.js → register.subclis-CDMFyaKR.js} +31 -31
  177. package/dist/{rpc-mau2U4RG.js → rpc-DA9IhLVG.js} +1 -1
  178. package/dist/{run-main-BF7ybLIy.js → run-main-BcA22Ipv.js} +93 -93
  179. package/dist/{runtime-Bcmv4Epp.js → runtime-BnbzNRr6.js} +3 -3
  180. package/dist/{runtime-config-collectors-Bsjz4isf.js → runtime-config-collectors-CXJdhHRo.js} +1 -1
  181. package/dist/{runtime-whatsapp-login.runtime-COUEKxmy.js → runtime-whatsapp-login.runtime-DRoK8G8H.js} +7 -7
  182. package/dist/{runtime-whatsapp-outbound.runtime-BaWH6-ns.js → runtime-whatsapp-outbound.runtime-C9OiwkWh.js} +15 -15
  183. package/dist/{sandbox-ixDhkfHu.js → sandbox-C3TbYIHd.js} +18 -18
  184. package/dist/{sandbox-cli-DOxm7fjR.js → sandbox-cli-BwK2slfh.js} +25 -25
  185. package/dist/{secrets-cli-DvXznMUb.js → secrets-cli-Beu2lcrf.js} +11 -11
  186. package/dist/{security-cli-3WOXvJR-.js → security-cli-CcpKH_lC.js} +42 -42
  187. package/dist/{send-BuBTLRMz.js → send-CLI3CiQv.js} +6 -6
  188. package/dist/{send-Do2preUU.js → send-DEs83M9V.js} +11 -11
  189. package/dist/{send-BPgrWmUX.js → send-EVcbFVqn.js} +5 -5
  190. package/dist/{send-BVyLW1cn.js → send-RDqyJwZx.js} +8 -8
  191. package/dist/{send-BpkluEZ5.js → send-z-sMjqvX.js} +4 -4
  192. package/dist/{server-DMAPnkgM.js → server-Bm-IxvZZ.js} +20 -20
  193. package/dist/{server-context-Dd8UynDU.js → server-context-Dw_4lGoI.js} +12 -12
  194. package/dist/{server-lifecycle-BEZ2jsQ6.js → server-lifecycle-DYgHYif9.js} +2 -2
  195. package/dist/{server-middleware-B_LyQkOL.js → server-middleware-BVAEuQs7.js} +1 -1
  196. package/dist/{server-node-events-dr5CaM3M.js → server-node-events-Q0cT2ifj.js} +74 -74
  197. package/dist/{service-B5T42CWZ.js → service-DSqxS6_D.js} +15 -15
  198. package/dist/{session-eXSdl5mb.js → session-D0jodcgT.js} +1 -1
  199. package/dist/{session-utils-D12gSo5W.js → session-utils-XY6JwRhT.js} +6 -6
  200. package/dist/{sessions-DgnXAQCc.js → sessions-BWptzMw0.js} +15 -15
  201. package/dist/{sessions-C16G7L5c.js → sessions-CMqv9JEu.js} +4 -4
  202. package/dist/{shared-BYny1RCF.js → shared-BbVxcRzb.js} +3 -3
  203. package/dist/{shared-By6_qr_R.js → shared-D5DTxBPH.js} +1 -1
  204. package/dist/{skill-commands-BcigmiOW.js → skill-commands-fU-Mejn9.js} +5 -5
  205. package/dist/{skill-scanner--QKHR8U0.js → skill-scanner-CvS725eQ.js} +6 -6
  206. package/dist/{skills-EwyaIyKC.js → skills-C85azDXm.js} +3 -3
  207. package/dist/{skills-cli-CqEjN0Yj.js → skills-cli-ZXx6BNar.js} +5 -5
  208. package/dist/{skills-install-CXVKvhIE.js → skills-install-KD6dzNoZ.js} +6 -6
  209. package/dist/{skills-status-Bv8Xt7Lc.js → skills-status-DkO7rxE8.js} +1 -1
  210. package/dist/{slash-commands.runtime-Bi99B_EP.js → slash-commands.runtime-CPlXJtuM.js} +11 -11
  211. package/dist/slash-dispatch.runtime-BOMEVFk0.js +114 -0
  212. package/dist/{slash-dispatch.runtime-sXaUYn4v.js → slash-dispatch.runtime-BcecLKcJ.js} +6 -6
  213. package/dist/{slash-skill-commands.runtime-DOXmvOtU.js → slash-skill-commands.runtime-Cnfq_5LN.js} +15 -15
  214. package/dist/{squidclaw-root-JXyRbQLJ.js → squidclaw-root-BQfLymzj.js} +8 -8
  215. package/dist/{status-Dnl-Um1D.js → status-cU9cJReo.js} +27 -27
  216. package/dist/{status.update-BGIm6we4.js → status.update-CiLU9RPF.js} +2 -2
  217. package/dist/{store-BTkIx401.js → store-BEIcnlgx.js} +5 -5
  218. package/dist/{subagent-registry-CQA6P2FO.js → subagent-registry-CIgFD2oi.js} +149 -149
  219. package/dist/{subagent-registry-runtime-232sNNT6.js → subagent-registry-runtime-Cq9I6PwW.js} +6 -6
  220. package/dist/subagent-registry-runtime-DGTjU9Lb.js +114 -0
  221. package/dist/{system-cli-CJAQxYHv.js → system-cli-i1FWZDjn.js} +9 -9
  222. package/dist/{system-run-command-BaSqmSwR.js → system-run-command-COqCNIBg.js} +1 -1
  223. package/dist/{systemd-B86VePXs.js → systemd-Cj2cX_ZP.js} +9 -9
  224. package/dist/{systemd-hints-BmFWZu_j.js → systemd-hints-46PqJfaq.js} +6 -6
  225. package/dist/{systemd-linger-w7fvBU-1.js → systemd-linger-6Jd9K5p2.js} +1 -1
  226. package/dist/{tables-CGh4CW_h.js → tables-CIpKClDV.js} +1 -1
  227. package/dist/{tailnet-DJq7Mi1o.js → tailnet-CZANZjq6.js} +1 -1
  228. package/dist/{plugin-sdk/target-errors-jlLHihbX.js → target-errors-CRQlPF1u.js} +2 -2
  229. package/dist/{tool-images-D6mmxuWS.js → tool-images-CyzWvDUu.js} +1 -1
  230. package/dist/{tui-BbcmzKaA.js → tui-CC_AbfZr.js} +6 -6
  231. package/dist/{tui-cli-Dv3jSm3x.js → tui-cli-DiJ7zKUD.js} +32 -32
  232. package/dist/{update-BhRrb6BI.js → update-1JhjCqjy.js} +3 -3
  233. package/dist/{update-cli-Oe0fP8x9.js → update-cli-DM_dUip_.js} +104 -104
  234. package/dist/{update-runner-DdA6xBa9.js → update-runner-BBJZmfZ4.js} +16 -16
  235. package/dist/{web-Chw1dtKA.js → web-CWxO_flK.js} +6 -6
  236. package/dist/web-CZhZC1EA.js +118 -0
  237. package/dist/{webhooks-cli-CJLug1QH.js → webhooks-cli-CzDd8ikc.js} +6 -6
  238. package/dist/{whatsapp-actions-_ca5OtHq.js → whatsapp-actions-MR_bBjXO.js} +17 -17
  239. package/dist/{with-timeout-CFfRudNc.js → with-timeout-BZ_Teugb.js} +3 -3
  240. package/dist/{workspace-BbO-M3Jv.js → workspace-D5vNjk5G.js} +1 -1
  241. package/dist/{workspace-dirs-D8D-Ghcl.js → workspace-dirs-CjMIsQti.js} +1 -1
  242. package/dist/{wsl-CsGe5QCP.js → wsl-CvQfS6aU.js} +2 -2
  243. package/package.json +1 -1
  244. package/dist/deliver-runtime-zICm26tE.js +0 -61
  245. package/dist/deps-send-discord.runtime-C_9HZQko.js +0 -36
  246. package/dist/deps-send-imessage.runtime-BMhGsWds.js +0 -35
  247. package/dist/deps-send-signal.runtime-BGhjYiu6.js +0 -34
  248. package/dist/deps-send-slack.runtime-DjBCu-RX.js +0 -32
  249. package/dist/deps-send-whatsapp.runtime-CU257URT.js +0 -119
  250. package/dist/fs-safe-BPQ-per2.js +0 -352
  251. package/dist/image-runtime-Cxoxcx04.js +0 -55
  252. package/dist/path-alias-guards-DeOVetT7.js +0 -43
  253. package/dist/plugin-sdk/accounts-CUEuUR3C.js +0 -46
  254. package/dist/plugin-sdk/accounts-D0W2pELU.js +0 -288
  255. package/dist/plugin-sdk/accounts-ucj0odJq.js +0 -35
  256. package/dist/plugin-sdk/active-listener-BO7eBEG_.js +0 -50
  257. package/dist/plugin-sdk/api-key-rotation-C4C_mDsg.js +0 -181
  258. package/dist/plugin-sdk/audio-preflight-Cqdo0JKm.js +0 -69
  259. package/dist/plugin-sdk/audio-transcription-runner-DnEooIyE.js +0 -2176
  260. package/dist/plugin-sdk/audit-membership-runtime-B9b-zRwg.js +0 -58
  261. package/dist/plugin-sdk/channel-activity-BMWLw4o2.js +0 -94
  262. package/dist/plugin-sdk/channel-web-B8bj7MB9.js +0 -2256
  263. package/dist/plugin-sdk/chrome-CV-q0Lmc.js +0 -2415
  264. package/dist/plugin-sdk/commands-registry-e7YoqrbP.js +0 -1125
  265. package/dist/plugin-sdk/config-B2B64aX0.js +0 -17911
  266. package/dist/plugin-sdk/deliver-BkyBtcLR.js +0 -1694
  267. package/dist/plugin-sdk/deliver-runtime-O4lwAWMw.js +0 -32
  268. package/dist/plugin-sdk/deps-send-discord.runtime-BAeeBldY.js +0 -23
  269. package/dist/plugin-sdk/deps-send-imessage.runtime-EL-CfikZ.js +0 -22
  270. package/dist/plugin-sdk/deps-send-signal.runtime-BeemHeUu.js +0 -21
  271. package/dist/plugin-sdk/deps-send-slack.runtime-DTttkC0N.js +0 -19
  272. package/dist/plugin-sdk/deps-send-telegram.runtime-Dsf9Cnka.js +0 -24
  273. package/dist/plugin-sdk/deps-send-whatsapp.runtime-DvdFo6lj.js +0 -57
  274. package/dist/plugin-sdk/diagnostic-DPRVoKTk.js +0 -319
  275. package/dist/plugin-sdk/errors-B8oJXuCF.js +0 -54
  276. package/dist/plugin-sdk/fetch-guard-F0Fnqisy.js +0 -156
  277. package/dist/plugin-sdk/image-cBW8L8pp.js +0 -2310
  278. package/dist/plugin-sdk/image-ops-BP8ix1GC.js +0 -584
  279. package/dist/plugin-sdk/image-runtime-9xkgSlNz.js +0 -25
  280. package/dist/plugin-sdk/ir-DWEc6zOp.js +0 -1296
  281. package/dist/plugin-sdk/local-roots-BIPT8uAO.js +0 -186
  282. package/dist/plugin-sdk/logger-DDdrdbDu.js +0 -1163
  283. package/dist/plugin-sdk/login-BMTiGutN.js +0 -57
  284. package/dist/plugin-sdk/login-qr-BFxqYUkc.js +0 -320
  285. package/dist/plugin-sdk/manager-BD-aYaZ8.js +0 -3917
  286. package/dist/plugin-sdk/manager-runtime-C5bRwUlz.js +0 -15
  287. package/dist/plugin-sdk/outbound-Bm07xvO6.js +0 -212
  288. package/dist/plugin-sdk/outbound-attachment-DLsaxDsc.js +0 -19
  289. package/dist/plugin-sdk/paths-C6W4VHoa.js +0 -166
  290. package/dist/plugin-sdk/pi-embedded-helpers-BExwPvTh.js +0 -9627
  291. package/dist/plugin-sdk/pi-model-discovery-DdctvBeX.js +0 -134
  292. package/dist/plugin-sdk/pi-model-discovery-runtime-DrtpLJjk.js +0 -8
  293. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-rgTz3FBl.js +0 -354
  294. package/dist/plugin-sdk/plugins-BN64HHZA.js +0 -864
  295. package/dist/plugin-sdk/proxy-fetch-ZPEvp58f.js +0 -38
  296. package/dist/plugin-sdk/pw-ai-DBm3RdBK.js +0 -1938
  297. package/dist/plugin-sdk/query-expansion-eeVz_aEm.js +0 -1011
  298. package/dist/plugin-sdk/redact-BoNEjbpF.js +0 -319
  299. package/dist/plugin-sdk/reply-Bp49JV3f.js +0 -98828
  300. package/dist/plugin-sdk/resolve-outbound-target-DXfjGlZQ.js +0 -40
  301. package/dist/plugin-sdk/run-with-concurrency-5DMu9szx.js +0 -1994
  302. package/dist/plugin-sdk/runtime-whatsapp-login.runtime-D2hkJBa-.js +0 -10
  303. package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-C06I4adi.js +0 -19
  304. package/dist/plugin-sdk/send-B9xnwtQ-.js +0 -540
  305. package/dist/plugin-sdk/send-BxySs-Cu.js +0 -2587
  306. package/dist/plugin-sdk/send-D9THKp_J.js +0 -414
  307. package/dist/plugin-sdk/send-DCuaaP2w.js +0 -503
  308. package/dist/plugin-sdk/send-Dm_-_xje.js +0 -3135
  309. package/dist/plugin-sdk/session-DDzIZHxt.js +0 -169
  310. package/dist/plugin-sdk/skill-commands-DRvqtuFC.js +0 -342
  311. package/dist/plugin-sdk/skills-BWwlfbVj.js +0 -1428
  312. package/dist/plugin-sdk/slash-commands.runtime-BzYsaTST.js +0 -13
  313. package/dist/plugin-sdk/slash-dispatch.runtime-Cty8EAD9.js +0 -52
  314. package/dist/plugin-sdk/slash-skill-commands.runtime-sg98L8BK.js +0 -16
  315. package/dist/plugin-sdk/ssrf-DOBwjFow.js +0 -202
  316. package/dist/plugin-sdk/store-BKDR_-Qk.js +0 -81
  317. package/dist/plugin-sdk/subagent-registry-runtime-Dz50ieim.js +0 -52
  318. package/dist/plugin-sdk/tables-GIj79us5.js +0 -55
  319. package/dist/plugin-sdk/thinking-BgdUnMZ2.js +0 -1206
  320. package/dist/plugin-sdk/tokens-CTIYTLWu.js +0 -52
  321. package/dist/plugin-sdk/tool-images-GSlvf6RP.js +0 -274
  322. package/dist/plugin-sdk/web-BK9mCTAc.js +0 -56
  323. package/dist/plugin-sdk/whatsapp-actions-DQpK_5Ds.js +0 -80
  324. package/dist/qmd-manager-BsL_hcOB.js +0 -1454
  325. package/dist/register.configure-BkwbM-hb.js +0 -165
  326. package/dist/slash-dispatch.runtime-reuPLnse.js +0 -114
  327. package/dist/subagent-registry-runtime-CqgIWcSl.js +0 -114
  328. package/dist/target-errors-C_rnMuJ2.js +0 -195
  329. package/dist/web-w04Gvwqi.js +0 -118
@@ -1,32 +0,0 @@
1
- import "./run-with-concurrency-5DMu9szx.js";
2
- import "./accounts-D0W2pELU.js";
3
- import "./paths-8xF5kDne.js";
4
- import "./github-copilot-token-Dy-0-Kh3.js";
5
- import "./config-B2B64aX0.js";
6
- import "./logger-DDdrdbDu.js";
7
- import "./thinking-BgdUnMZ2.js";
8
- import "./image-ops-BP8ix1GC.js";
9
- import "./pi-embedded-helpers-BExwPvTh.js";
10
- import "./plugins-BN64HHZA.js";
11
- import "./accounts-ucj0odJq.js";
12
- import "./accounts-CUEuUR3C.js";
13
- import "./paths-C6W4VHoa.js";
14
- import "./fetch-B_RcOnt9.js";
15
- import "./redact-BoNEjbpF.js";
16
- import "./errors-B8oJXuCF.js";
17
- import "./path-alias-guards-gBhrAn14.js";
18
- import "./fs-safe-Dqmpk-Fr.js";
19
- import "./ssrf-DOBwjFow.js";
20
- import "./fetch-guard-F0Fnqisy.js";
21
- import "./local-roots-BIPT8uAO.js";
22
- import "./ir-DWEc6zOp.js";
23
- import "./tool-images-GSlvf6RP.js";
24
- import "./tokens-CTIYTLWu.js";
25
- import "./skills-BWwlfbVj.js";
26
- import "./chrome-CV-q0Lmc.js";
27
- import { t as deliverOutboundPayloads } from "./deliver-BkyBtcLR.js";
28
- import "./store-BKDR_-Qk.js";
29
- import "./send-B9xnwtQ-.js";
30
- import "./outbound-attachment-DLsaxDsc.js";
31
-
32
- export { deliverOutboundPayloads };
@@ -1,23 +0,0 @@
1
- import "./run-with-concurrency-5DMu9szx.js";
2
- import "./accounts-D0W2pELU.js";
3
- import "./paths-8xF5kDne.js";
4
- import "./github-copilot-token-Dy-0-Kh3.js";
5
- import "./config-B2B64aX0.js";
6
- import "./logger-DDdrdbDu.js";
7
- import "./image-ops-BP8ix1GC.js";
8
- import "./plugins-BN64HHZA.js";
9
- import { h as sendMessageDiscord } from "./send-Dm_-_xje.js";
10
- import "./fetch-B_RcOnt9.js";
11
- import "./redact-BoNEjbpF.js";
12
- import "./errors-B8oJXuCF.js";
13
- import "./channel-activity-BMWLw4o2.js";
14
- import "./path-alias-guards-gBhrAn14.js";
15
- import "./fs-safe-Dqmpk-Fr.js";
16
- import "./ssrf-DOBwjFow.js";
17
- import "./fetch-guard-F0Fnqisy.js";
18
- import "./local-roots-BIPT8uAO.js";
19
- import "./ir-DWEc6zOp.js";
20
- import "./render-HmipMDlP.js";
21
- import "./tables-GIj79us5.js";
22
-
23
- export { sendMessageDiscord };
@@ -1,22 +0,0 @@
1
- import "./run-with-concurrency-5DMu9szx.js";
2
- import "./accounts-D0W2pELU.js";
3
- import "./paths-8xF5kDne.js";
4
- import "./github-copilot-token-Dy-0-Kh3.js";
5
- import "./config-B2B64aX0.js";
6
- import "./logger-DDdrdbDu.js";
7
- import "./image-ops-BP8ix1GC.js";
8
- import "./plugins-BN64HHZA.js";
9
- import "./accounts-ucj0odJq.js";
10
- import "./path-alias-guards-gBhrAn14.js";
11
- import "./fs-safe-Dqmpk-Fr.js";
12
- import "./ssrf-DOBwjFow.js";
13
- import "./fetch-guard-F0Fnqisy.js";
14
- import "./local-roots-BIPT8uAO.js";
15
- import "./ir-DWEc6zOp.js";
16
- import "./render-HmipMDlP.js";
17
- import "./tables-GIj79us5.js";
18
- import { t as sendMessageIMessage } from "./send-DCuaaP2w.js";
19
- import "./store-BKDR_-Qk.js";
20
- import "./outbound-attachment-DLsaxDsc.js";
21
-
22
- export { sendMessageIMessage };
@@ -1,21 +0,0 @@
1
- import "./run-with-concurrency-5DMu9szx.js";
2
- import "./accounts-D0W2pELU.js";
3
- import "./paths-8xF5kDne.js";
4
- import "./github-copilot-token-Dy-0-Kh3.js";
5
- import "./config-B2B64aX0.js";
6
- import "./logger-DDdrdbDu.js";
7
- import "./image-ops-BP8ix1GC.js";
8
- import "./plugins-BN64HHZA.js";
9
- import "./accounts-CUEuUR3C.js";
10
- import "./fetch-B_RcOnt9.js";
11
- import "./path-alias-guards-gBhrAn14.js";
12
- import "./fs-safe-Dqmpk-Fr.js";
13
- import "./ssrf-DOBwjFow.js";
14
- import "./fetch-guard-F0Fnqisy.js";
15
- import "./local-roots-BIPT8uAO.js";
16
- import "./ir-DWEc6zOp.js";
17
- import "./store-BKDR_-Qk.js";
18
- import { t as sendMessageSignal } from "./send-B9xnwtQ-.js";
19
- import "./outbound-attachment-DLsaxDsc.js";
20
-
21
- export { sendMessageSignal };
@@ -1,19 +0,0 @@
1
- import "./run-with-concurrency-5DMu9szx.js";
2
- import "./accounts-D0W2pELU.js";
3
- import "./paths-8xF5kDne.js";
4
- import "./github-copilot-token-Dy-0-Kh3.js";
5
- import "./config-B2B64aX0.js";
6
- import "./logger-DDdrdbDu.js";
7
- import "./image-ops-BP8ix1GC.js";
8
- import "./plugins-BN64HHZA.js";
9
- import "./path-alias-guards-gBhrAn14.js";
10
- import "./fs-safe-Dqmpk-Fr.js";
11
- import "./ssrf-DOBwjFow.js";
12
- import "./fetch-guard-F0Fnqisy.js";
13
- import "./local-roots-BIPT8uAO.js";
14
- import "./ir-DWEc6zOp.js";
15
- import "./render-HmipMDlP.js";
16
- import { t as sendMessageSlack } from "./send-D9THKp_J.js";
17
- import "./tokens-CTIYTLWu.js";
18
-
19
- export { sendMessageSlack };
@@ -1,24 +0,0 @@
1
- import "./run-with-concurrency-5DMu9szx.js";
2
- import "./accounts-D0W2pELU.js";
3
- import "./paths-8xF5kDne.js";
4
- import "./github-copilot-token-Dy-0-Kh3.js";
5
- import "./config-B2B64aX0.js";
6
- import "./logger-DDdrdbDu.js";
7
- import "./image-ops-BP8ix1GC.js";
8
- import "./plugins-BN64HHZA.js";
9
- import "./fetch-B_RcOnt9.js";
10
- import "./redact-BoNEjbpF.js";
11
- import "./errors-B8oJXuCF.js";
12
- import "./channel-activity-BMWLw4o2.js";
13
- import "./path-alias-guards-gBhrAn14.js";
14
- import "./fs-safe-Dqmpk-Fr.js";
15
- import "./ssrf-DOBwjFow.js";
16
- import "./fetch-guard-F0Fnqisy.js";
17
- import "./local-roots-BIPT8uAO.js";
18
- import "./ir-DWEc6zOp.js";
19
- import "./render-HmipMDlP.js";
20
- import { o as sendMessageTelegram } from "./send-BxySs-Cu.js";
21
- import "./proxy-fetch-ZPEvp58f.js";
22
- import "./proxy-BKdNrmWL.js";
23
-
24
- export { sendMessageTelegram };
@@ -1,57 +0,0 @@
1
- import "./run-with-concurrency-5DMu9szx.js";
2
- import "./accounts-D0W2pELU.js";
3
- import "./reply-Bp49JV3f.js";
4
- import "./paths-8xF5kDne.js";
5
- import "./github-copilot-token-Dy-0-Kh3.js";
6
- import "./config-B2B64aX0.js";
7
- import "./logger-DDdrdbDu.js";
8
- import "./thinking-BgdUnMZ2.js";
9
- import "./image-ops-BP8ix1GC.js";
10
- import "./pi-embedded-helpers-BExwPvTh.js";
11
- import "./plugins-BN64HHZA.js";
12
- import "./accounts-ucj0odJq.js";
13
- import "./accounts-CUEuUR3C.js";
14
- import "./send-Dm_-_xje.js";
15
- import "./paths-C6W4VHoa.js";
16
- import "./fetch-B_RcOnt9.js";
17
- import "./redact-BoNEjbpF.js";
18
- import "./errors-B8oJXuCF.js";
19
- import "./channel-activity-BMWLw4o2.js";
20
- import "./path-alias-guards-gBhrAn14.js";
21
- import "./fs-safe-Dqmpk-Fr.js";
22
- import "./ssrf-DOBwjFow.js";
23
- import "./fetch-guard-F0Fnqisy.js";
24
- import "./local-roots-BIPT8uAO.js";
25
- import "./ir-DWEc6zOp.js";
26
- import "./render-HmipMDlP.js";
27
- import "./tables-GIj79us5.js";
28
- import "./send-DCuaaP2w.js";
29
- import "./send-BxySs-Cu.js";
30
- import "./tool-images-GSlvf6RP.js";
31
- import "./target-errors-jlLHihbX.js";
32
- import "./send-D9THKp_J.js";
33
- import "./audio-transcription-runner-DnEooIyE.js";
34
- import "./tokens-CTIYTLWu.js";
35
- import "./skill-commands-DRvqtuFC.js";
36
- import "./skills-BWwlfbVj.js";
37
- import "./chrome-CV-q0Lmc.js";
38
- import "./deliver-BkyBtcLR.js";
39
- import "./diagnostic-DPRVoKTk.js";
40
- import "./store-BKDR_-Qk.js";
41
- import "./commands-registry-e7YoqrbP.js";
42
- import "./channel-web-B8bj7MB9.js";
43
- import "./image-cBW8L8pp.js";
44
- import "./api-key-rotation-C4C_mDsg.js";
45
- import "./proxy-fetch-ZPEvp58f.js";
46
- import "./pi-model-discovery-DdctvBeX.js";
47
- import "./send-B9xnwtQ-.js";
48
- import "./outbound-attachment-DLsaxDsc.js";
49
- import "./proxy-BKdNrmWL.js";
50
- import "./manager-BD-aYaZ8.js";
51
- import "./query-expansion-eeVz_aEm.js";
52
- import { t as sendMessageWhatsApp } from "./outbound-Bm07xvO6.js";
53
- import "./session-DDzIZHxt.js";
54
- import "./login-BMTiGutN.js";
55
- import "./web-BK9mCTAc.js";
56
-
57
- export { sendMessageWhatsApp };
@@ -1,319 +0,0 @@
1
- import { n as loadConfig } from "./config-B2B64aX0.js";
2
- import { a as createSubsystemLogger } from "./logger-DDdrdbDu.js";
3
-
4
- //#region src/infra/diagnostic-events.ts
5
- function getDiagnosticEventsState() {
6
- const globalStore = globalThis;
7
- if (!globalStore.__squidclawDiagnosticEventsState) globalStore.__squidclawDiagnosticEventsState = {
8
- seq: 0,
9
- listeners: /* @__PURE__ */ new Set(),
10
- dispatchDepth: 0
11
- };
12
- return globalStore.__squidclawDiagnosticEventsState;
13
- }
14
- function isDiagnosticsEnabled(config) {
15
- return config?.diagnostics?.enabled === true;
16
- }
17
- function emitDiagnosticEvent(event) {
18
- const state = getDiagnosticEventsState();
19
- if (state.dispatchDepth > 100) {
20
- console.error(`[diagnostic-events] recursion guard tripped at depth=${state.dispatchDepth}, dropping type=${event.type}`);
21
- return;
22
- }
23
- const enriched = {
24
- ...event,
25
- seq: state.seq += 1,
26
- ts: Date.now()
27
- };
28
- state.dispatchDepth += 1;
29
- for (const listener of state.listeners) try {
30
- listener(enriched);
31
- } catch (err) {
32
- const errorMessage = err instanceof Error ? err.stack ?? err.message : typeof err === "string" ? err : String(err);
33
- console.error(`[diagnostic-events] listener error type=${enriched.type} seq=${enriched.seq}: ${errorMessage}`);
34
- }
35
- state.dispatchDepth -= 1;
36
- }
37
- function onDiagnosticEvent(listener) {
38
- const state = getDiagnosticEventsState();
39
- state.listeners.add(listener);
40
- return () => {
41
- state.listeners.delete(listener);
42
- };
43
- }
44
-
45
- //#endregion
46
- //#region src/logging/diagnostic-session-state.ts
47
- const diagnosticSessionStates = /* @__PURE__ */ new Map();
48
- const SESSION_STATE_TTL_MS = 1800 * 1e3;
49
- const SESSION_STATE_PRUNE_INTERVAL_MS = 60 * 1e3;
50
- const SESSION_STATE_MAX_ENTRIES = 2e3;
51
- let lastSessionPruneAt = 0;
52
- function pruneDiagnosticSessionStates(now = Date.now(), force = false) {
53
- const shouldPruneForSize = diagnosticSessionStates.size > SESSION_STATE_MAX_ENTRIES;
54
- if (!force && !shouldPruneForSize && now - lastSessionPruneAt < SESSION_STATE_PRUNE_INTERVAL_MS) return;
55
- lastSessionPruneAt = now;
56
- for (const [key, state] of diagnosticSessionStates.entries()) {
57
- const ageMs = now - state.lastActivity;
58
- if (state.state === "idle" && state.queueDepth <= 0 && ageMs > SESSION_STATE_TTL_MS) diagnosticSessionStates.delete(key);
59
- }
60
- if (diagnosticSessionStates.size <= SESSION_STATE_MAX_ENTRIES) return;
61
- const excess = diagnosticSessionStates.size - SESSION_STATE_MAX_ENTRIES;
62
- const ordered = Array.from(diagnosticSessionStates.entries()).toSorted((a, b) => a[1].lastActivity - b[1].lastActivity);
63
- for (let i = 0; i < excess; i += 1) {
64
- const key = ordered[i]?.[0];
65
- if (!key) break;
66
- diagnosticSessionStates.delete(key);
67
- }
68
- }
69
- function resolveSessionKey({ sessionKey, sessionId }) {
70
- return sessionKey ?? sessionId ?? "unknown";
71
- }
72
- function findStateBySessionId(sessionId) {
73
- for (const state of diagnosticSessionStates.values()) if (state.sessionId === sessionId) return state;
74
- }
75
- function getDiagnosticSessionState(ref) {
76
- pruneDiagnosticSessionStates();
77
- const key = resolveSessionKey(ref);
78
- const existing = diagnosticSessionStates.get(key) ?? (ref.sessionId && findStateBySessionId(ref.sessionId));
79
- if (existing) {
80
- if (ref.sessionId) existing.sessionId = ref.sessionId;
81
- if (ref.sessionKey) existing.sessionKey = ref.sessionKey;
82
- return existing;
83
- }
84
- const created = {
85
- sessionId: ref.sessionId,
86
- sessionKey: ref.sessionKey,
87
- lastActivity: Date.now(),
88
- state: "idle",
89
- queueDepth: 0
90
- };
91
- diagnosticSessionStates.set(key, created);
92
- pruneDiagnosticSessionStates(Date.now(), true);
93
- return created;
94
- }
95
-
96
- //#endregion
97
- //#region src/logging/diagnostic.ts
98
- const diag = createSubsystemLogger("diagnostic");
99
- const webhookStats = {
100
- received: 0,
101
- processed: 0,
102
- errors: 0,
103
- lastReceived: 0
104
- };
105
- let lastActivityAt = 0;
106
- const DEFAULT_STUCK_SESSION_WARN_MS = 12e4;
107
- const MIN_STUCK_SESSION_WARN_MS = 1e3;
108
- const MAX_STUCK_SESSION_WARN_MS = 1440 * 60 * 1e3;
109
- let commandPollBackoffRuntimePromise = null;
110
- function loadCommandPollBackoffRuntime() {
111
- commandPollBackoffRuntimePromise ??= import("./command-poll-backoff.runtime-BrAQqJqT.js");
112
- return commandPollBackoffRuntimePromise;
113
- }
114
- function markActivity() {
115
- lastActivityAt = Date.now();
116
- }
117
- function resolveStuckSessionWarnMs(config) {
118
- const raw = config?.diagnostics?.stuckSessionWarnMs;
119
- if (typeof raw !== "number" || !Number.isFinite(raw)) return DEFAULT_STUCK_SESSION_WARN_MS;
120
- const rounded = Math.floor(raw);
121
- if (rounded < MIN_STUCK_SESSION_WARN_MS || rounded > MAX_STUCK_SESSION_WARN_MS) return DEFAULT_STUCK_SESSION_WARN_MS;
122
- return rounded;
123
- }
124
- function logWebhookReceived(params) {
125
- webhookStats.received += 1;
126
- webhookStats.lastReceived = Date.now();
127
- if (diag.isEnabled("debug")) diag.debug(`webhook received: channel=${params.channel} type=${params.updateType ?? "unknown"} chatId=${params.chatId ?? "unknown"} total=${webhookStats.received}`);
128
- emitDiagnosticEvent({
129
- type: "webhook.received",
130
- channel: params.channel,
131
- updateType: params.updateType,
132
- chatId: params.chatId
133
- });
134
- markActivity();
135
- }
136
- function logWebhookProcessed(params) {
137
- webhookStats.processed += 1;
138
- if (diag.isEnabled("debug")) diag.debug(`webhook processed: channel=${params.channel} type=${params.updateType ?? "unknown"} chatId=${params.chatId ?? "unknown"} duration=${params.durationMs ?? 0}ms processed=${webhookStats.processed}`);
139
- emitDiagnosticEvent({
140
- type: "webhook.processed",
141
- channel: params.channel,
142
- updateType: params.updateType,
143
- chatId: params.chatId,
144
- durationMs: params.durationMs
145
- });
146
- markActivity();
147
- }
148
- function logWebhookError(params) {
149
- webhookStats.errors += 1;
150
- diag.error(`webhook error: channel=${params.channel} type=${params.updateType ?? "unknown"} chatId=${params.chatId ?? "unknown"} error="${params.error}" errors=${webhookStats.errors}`);
151
- emitDiagnosticEvent({
152
- type: "webhook.error",
153
- channel: params.channel,
154
- updateType: params.updateType,
155
- chatId: params.chatId,
156
- error: params.error
157
- });
158
- markActivity();
159
- }
160
- function logMessageQueued(params) {
161
- const state = getDiagnosticSessionState(params);
162
- state.queueDepth += 1;
163
- state.lastActivity = Date.now();
164
- if (diag.isEnabled("debug")) diag.debug(`message queued: sessionId=${state.sessionId ?? "unknown"} sessionKey=${state.sessionKey ?? "unknown"} source=${params.source} queueDepth=${state.queueDepth} sessionState=${state.state}`);
165
- emitDiagnosticEvent({
166
- type: "message.queued",
167
- sessionId: state.sessionId,
168
- sessionKey: state.sessionKey,
169
- channel: params.channel,
170
- source: params.source,
171
- queueDepth: state.queueDepth
172
- });
173
- markActivity();
174
- }
175
- function logMessageProcessed(params) {
176
- if (params.outcome === "error" ? diag.isEnabled("error") : diag.isEnabled("debug")) {
177
- const payload = `message processed: channel=${params.channel} chatId=${params.chatId ?? "unknown"} messageId=${params.messageId ?? "unknown"} sessionId=${params.sessionId ?? "unknown"} sessionKey=${params.sessionKey ?? "unknown"} outcome=${params.outcome} duration=${params.durationMs ?? 0}ms${params.reason ? ` reason=${params.reason}` : ""}${params.error ? ` error="${params.error}"` : ""}`;
178
- if (params.outcome === "error") diag.error(payload);
179
- else diag.debug(payload);
180
- }
181
- emitDiagnosticEvent({
182
- type: "message.processed",
183
- channel: params.channel,
184
- chatId: params.chatId,
185
- messageId: params.messageId,
186
- sessionId: params.sessionId,
187
- sessionKey: params.sessionKey,
188
- durationMs: params.durationMs,
189
- outcome: params.outcome,
190
- reason: params.reason,
191
- error: params.error
192
- });
193
- markActivity();
194
- }
195
- function logSessionStateChange(params) {
196
- const state = getDiagnosticSessionState(params);
197
- const isProbeSession = state.sessionId?.startsWith("probe-") ?? false;
198
- const prevState = state.state;
199
- state.state = params.state;
200
- state.lastActivity = Date.now();
201
- if (params.state === "idle") state.queueDepth = Math.max(0, state.queueDepth - 1);
202
- if (!isProbeSession && diag.isEnabled("debug")) diag.debug(`session state: sessionId=${state.sessionId ?? "unknown"} sessionKey=${state.sessionKey ?? "unknown"} prev=${prevState} new=${params.state} reason="${params.reason ?? ""}" queueDepth=${state.queueDepth}`);
203
- emitDiagnosticEvent({
204
- type: "session.state",
205
- sessionId: state.sessionId,
206
- sessionKey: state.sessionKey,
207
- prevState,
208
- state: params.state,
209
- reason: params.reason,
210
- queueDepth: state.queueDepth
211
- });
212
- markActivity();
213
- }
214
- function logSessionStuck(params) {
215
- const state = getDiagnosticSessionState(params);
216
- diag.warn(`stuck session: sessionId=${state.sessionId ?? "unknown"} sessionKey=${state.sessionKey ?? "unknown"} state=${params.state} age=${Math.round(params.ageMs / 1e3)}s queueDepth=${state.queueDepth}`);
217
- emitDiagnosticEvent({
218
- type: "session.stuck",
219
- sessionId: state.sessionId,
220
- sessionKey: state.sessionKey,
221
- state: params.state,
222
- ageMs: params.ageMs,
223
- queueDepth: state.queueDepth
224
- });
225
- markActivity();
226
- }
227
- function logLaneEnqueue(lane, queueSize) {
228
- diag.debug(`lane enqueue: lane=${lane} queueSize=${queueSize}`);
229
- emitDiagnosticEvent({
230
- type: "queue.lane.enqueue",
231
- lane,
232
- queueSize
233
- });
234
- markActivity();
235
- }
236
- function logLaneDequeue(lane, waitMs, queueSize) {
237
- diag.debug(`lane dequeue: lane=${lane} waitMs=${waitMs} queueSize=${queueSize}`);
238
- emitDiagnosticEvent({
239
- type: "queue.lane.dequeue",
240
- lane,
241
- queueSize,
242
- waitMs
243
- });
244
- markActivity();
245
- }
246
- function logToolLoopAction(params) {
247
- const payload = `tool loop: sessionId=${params.sessionId ?? "unknown"} sessionKey=${params.sessionKey ?? "unknown"} tool=${params.toolName} level=${params.level} action=${params.action} detector=${params.detector} count=${params.count}${params.pairedToolName ? ` pairedTool=${params.pairedToolName}` : ""} message="${params.message}"`;
248
- if (params.level === "critical") diag.error(payload);
249
- else diag.warn(payload);
250
- emitDiagnosticEvent({
251
- type: "tool.loop",
252
- sessionId: params.sessionId,
253
- sessionKey: params.sessionKey,
254
- toolName: params.toolName,
255
- level: params.level,
256
- action: params.action,
257
- detector: params.detector,
258
- count: params.count,
259
- message: params.message,
260
- pairedToolName: params.pairedToolName
261
- });
262
- markActivity();
263
- }
264
- let heartbeatInterval = null;
265
- function startDiagnosticHeartbeat(config) {
266
- if (heartbeatInterval) return;
267
- heartbeatInterval = setInterval(() => {
268
- let heartbeatConfig = config;
269
- if (!heartbeatConfig) try {
270
- heartbeatConfig = loadConfig();
271
- } catch {
272
- heartbeatConfig = void 0;
273
- }
274
- const stuckSessionWarnMs = resolveStuckSessionWarnMs(heartbeatConfig);
275
- const now = Date.now();
276
- pruneDiagnosticSessionStates(now, true);
277
- const activeCount = Array.from(diagnosticSessionStates.values()).filter((s) => s.state === "processing").length;
278
- const waitingCount = Array.from(diagnosticSessionStates.values()).filter((s) => s.state === "waiting").length;
279
- const totalQueued = Array.from(diagnosticSessionStates.values()).reduce((sum, s) => sum + s.queueDepth, 0);
280
- if (!(lastActivityAt > 0 || webhookStats.received > 0 || activeCount > 0 || waitingCount > 0 || totalQueued > 0)) return;
281
- if (now - lastActivityAt > 12e4 && activeCount === 0 && waitingCount === 0) return;
282
- diag.debug(`heartbeat: webhooks=${webhookStats.received}/${webhookStats.processed}/${webhookStats.errors} active=${activeCount} waiting=${waitingCount} queued=${totalQueued}`);
283
- emitDiagnosticEvent({
284
- type: "diagnostic.heartbeat",
285
- webhooks: {
286
- received: webhookStats.received,
287
- processed: webhookStats.processed,
288
- errors: webhookStats.errors
289
- },
290
- active: activeCount,
291
- waiting: waitingCount,
292
- queued: totalQueued
293
- });
294
- loadCommandPollBackoffRuntime().then(({ pruneStaleCommandPolls }) => {
295
- for (const [, state] of diagnosticSessionStates) pruneStaleCommandPolls(state);
296
- }).catch((err) => {
297
- diag.debug(`command-poll-backoff prune failed: ${String(err)}`);
298
- });
299
- for (const [, state] of diagnosticSessionStates) {
300
- const ageMs = now - state.lastActivity;
301
- if (state.state === "processing" && ageMs > stuckSessionWarnMs) logSessionStuck({
302
- sessionId: state.sessionId,
303
- sessionKey: state.sessionKey,
304
- state: state.state,
305
- ageMs
306
- });
307
- }
308
- }, 3e4);
309
- heartbeatInterval.unref?.();
310
- }
311
- function stopDiagnosticHeartbeat() {
312
- if (heartbeatInterval) {
313
- clearInterval(heartbeatInterval);
314
- heartbeatInterval = null;
315
- }
316
- }
317
-
318
- //#endregion
319
- export { logMessageQueued as a, logWebhookError as c, startDiagnosticHeartbeat as d, stopDiagnosticHeartbeat as f, onDiagnosticEvent as g, isDiagnosticsEnabled as h, logMessageProcessed as i, logWebhookProcessed as l, emitDiagnosticEvent as m, logLaneDequeue as n, logSessionStateChange as o, getDiagnosticSessionState as p, logLaneEnqueue as r, logToolLoopAction as s, diag as t, logWebhookReceived as u };
@@ -1,54 +0,0 @@
1
- import { t as redactSensitiveText } from "./redact-BoNEjbpF.js";
2
-
3
- //#region src/infra/errors.ts
4
- function extractErrorCode(err) {
5
- if (!err || typeof err !== "object") return;
6
- const code = err.code;
7
- if (typeof code === "string") return code;
8
- if (typeof code === "number") return String(code);
9
- }
10
- function readErrorName(err) {
11
- if (!err || typeof err !== "object") return "";
12
- const name = err.name;
13
- return typeof name === "string" ? name : "";
14
- }
15
- function collectErrorGraphCandidates(err, resolveNested) {
16
- const queue = [err];
17
- const seen = /* @__PURE__ */ new Set();
18
- const candidates = [];
19
- while (queue.length > 0) {
20
- const current = queue.shift();
21
- if (current == null || seen.has(current)) continue;
22
- seen.add(current);
23
- candidates.push(current);
24
- if (!current || typeof current !== "object" || !resolveNested) continue;
25
- for (const nested of resolveNested(current)) if (nested != null && !seen.has(nested)) queue.push(nested);
26
- }
27
- return candidates;
28
- }
29
- /**
30
- * Type guard for NodeJS.ErrnoException (any error with a `code` property).
31
- */
32
- function isErrno(err) {
33
- return Boolean(err && typeof err === "object" && "code" in err);
34
- }
35
- function formatErrorMessage(err) {
36
- let formatted;
37
- if (err instanceof Error) formatted = err.message || err.name || "Error";
38
- else if (typeof err === "string") formatted = err;
39
- else if (typeof err === "number" || typeof err === "boolean" || typeof err === "bigint") formatted = String(err);
40
- else try {
41
- formatted = JSON.stringify(err);
42
- } catch {
43
- formatted = Object.prototype.toString.call(err);
44
- }
45
- return redactSensitiveText(formatted);
46
- }
47
- function formatUncaughtError(err) {
48
- if (extractErrorCode(err) === "INVALID_CONFIG") return formatErrorMessage(err);
49
- if (err instanceof Error) return redactSensitiveText(err.stack ?? err.message ?? err.name);
50
- return formatErrorMessage(err);
51
- }
52
-
53
- //#endregion
54
- export { isErrno as a, formatUncaughtError as i, extractErrorCode as n, readErrorName as o, formatErrorMessage as r, collectErrorGraphCandidates as t };