@symerian/symi 2.5.8 → 2.6.0

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 (281) hide show
  1. package/dist/{accounts-qtxJ-6em.js → accounts-3dCrO3oZ.js} +1 -1
  2. package/dist/{accounts-tNElYrCH.js → accounts-BRw8yhIW.js} +21 -21
  3. package/dist/{accounts-CWktKM8a.js → accounts-BuZxOb3B.js} +1 -1
  4. package/dist/{active-listener-C9r8ZB9m.js → active-listener-CfHHV2SU.js} +1 -1
  5. package/dist/{agent-scope-BxoUQqgM.js → agent-scope-CpEJ0B88.js} +3 -3
  6. package/dist/{agents-CXloh6n_.js → agents-Bi50kp6u.js} +4 -4
  7. package/dist/{agents.config-BhAJXAtA.js → agents.config-BcTeP94V.js} +1 -1
  8. package/dist/{agents.config-BuTzBaXf.js → agents.config-Duce7lam.js} +1 -1
  9. package/dist/{audio-preflight-O3ASWbaG.js → audio-preflight-DHTaS5U1.js} +34 -34
  10. package/dist/{auth-choice-DvaVrSwn.js → auth-choice-BFIBR4l9.js} +1 -1
  11. package/dist/{auth-choice-Br6zT8iS.js → auth-choice-Dyq-0MNq.js} +1 -1
  12. package/dist/{model-auth-DK43VicI.js → auth-profiles-DdK1Hxaa.js} +412 -412
  13. package/dist/{banner-BtqKaQZr.js → banner-D50f_0qf.js} +1 -1
  14. package/dist/{bindings-B7Ke6LJi.js → bindings-BsHoBLIE.js} +2 -2
  15. package/dist/build-info.json +3 -3
  16. package/dist/bundled/boot-md/handler.js +60 -60
  17. package/dist/bundled/bootstrap-extra-files/handler.js +6 -6
  18. package/dist/bundled/command-logger/handler.js +3 -3
  19. package/dist/bundled/session-memory/handler.js +61 -61
  20. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  21. package/dist/{channel-activity-CsM_hJ_s.js → channel-activity-B6G1jnQT.js} +2 -2
  22. package/dist/{channel-options-DFHEgad5.js → channel-options-BFqaanEt.js} +1 -1
  23. package/dist/{channel-options-CfLxsV76.js → channel-options-BvBcjqyk.js} +1 -1
  24. package/dist/{channel-web-D-jDDmWN.js → channel-web-BQtFg4IP.js} +1 -1
  25. package/dist/{channels-cli-BEZORT4N.js → channels-cli-BYFQdWnL.js} +4 -4
  26. package/dist/{channels-cli-CT6wdGT8.js → channels-cli-BuTH-iVi.js} +4 -4
  27. package/dist/{chrome-BFekevcE.js → chrome-DYZwl5Gv.js} +24 -24
  28. package/dist/{chunk-BW5f05BR.js → chunk-09egQapi.js} +1 -1
  29. package/dist/{cli-CkxvN9Cb.js → cli-eOBlVLcC.js} +1 -1
  30. package/dist/{cli-kxxM9xT0.js → cli-r2L-UK6y.js} +1 -1
  31. package/dist/{command-registry-DsqA8NDd.js → command-registry-D-pwcAIW.js} +9 -9
  32. package/dist/{commands-registry-D7CTCQPm.js → commands-registry-Bfc7Uz0o.js} +4 -4
  33. package/dist/{completion-cli-QCrjurdu.js → completion-cli-DIx7KyOG.js} +2 -2
  34. package/dist/{completion-cli-mZMiIG7C.js → completion-cli-DMO2OGTm.js} +1 -1
  35. package/dist/{config-DRbjHIwD.js → config-5SdHIcHU.js} +6 -6
  36. package/dist/{config-cli-CS_0o9LY.js → config-cli-BsDxqYDU.js} +1 -1
  37. package/dist/{config-cli-DLsLPE4o.js → config-cli-seaVWVru.js} +1 -1
  38. package/dist/{configure-T9J4bw0H.js → configure-BmPwuHXL.js} +3 -3
  39. package/dist/{configure-BX4aNf3w.js → configure-CqbKA0_V.js} +3 -3
  40. package/dist/{conversation-label-DXUkoKcB.js → conversation-label-Onz2hiJh.js} +1 -1
  41. package/dist/{deliver-CvCK5Mm9.js → deliver-dODxSv3b.js} +11 -11
  42. package/dist/{diagnostic-CI0kRQkt.js → diagnostic-rPhsBoZz.js} +2 -2
  43. package/dist/{doctor-completion-CTodkFg2.js → doctor-completion-C2IV3lKi.js} +1 -1
  44. package/dist/{doctor-completion-BKydQfCM.js → doctor-completion-DMjs7-Qa.js} +1 -1
  45. package/dist/entry.js +1 -1
  46. package/dist/{command-format-BaxDnULz.js → env-BDXYbTKj.js} +10 -10
  47. package/dist/{errors-BoQgnc8X.js → errors-XIsvXeC-.js} +1 -1
  48. package/dist/extensionAPI.js +1 -1
  49. package/dist/{frontmatter-C_bv_0P8.js → frontmatter-CTR5f_Ez.js} +2 -2
  50. package/dist/{gateway-cli-DEpU3Bg3.js → gateway-cli-BanaeKQ_.js} +20 -18
  51. package/dist/{gateway-cli-CZnyhTAu.js → gateway-cli-C-J_s559.js} +20 -18
  52. package/dist/{gemini-auth-CdSPHuLl.js → gemini-auth-Dy12ZAH3.js} +2 -2
  53. package/dist/{github-copilot-token-C_qUP7p5.js → github-copilot-token-cCYzSU9h.js} +1 -1
  54. package/dist/{glass-ui-ws-KbKXJGb5.js → glass-ui-ws-DK7x3Tz7.js} +7 -7
  55. package/dist/{glass-ui-ws-BdBSYcsf.js → glass-ui-ws-DUzp9m0D.js} +7 -7
  56. package/dist/{health-z-YCZRhf.js → health-BpHgCv-u.js} +1 -1
  57. package/dist/{health-DQmyj-7z.js → health-DK6rAOhC.js} +1 -1
  58. package/dist/{hooks-cli-4d-QhgRs.js → hooks-cli-Cin_3tFg.js} +2 -2
  59. package/dist/{hooks-cli-BRehYEXJ.js → hooks-cli-D-75G_66.js} +2 -2
  60. package/dist/{image-B0wGflxA.js → image-CXu8W39c.js} +7 -7
  61. package/dist/{plugin-sdk/image-ops-Bnp6LXEx.js → image-ops-C7CauEK8.js} +2 -2
  62. package/dist/{inbound-context-BlHX0H3E.js → inbound-context-DSDTl6Kj.js} +2 -2
  63. package/dist/index.js +6 -6
  64. package/dist/{ir-DccrnjsE.js → ir-CTiz95Vb.js} +5 -5
  65. package/dist/llm-slug-generator.js +64 -84
  66. package/dist/{local-roots-DMwIh5cS.js → local-roots-DhZz0Ybs.js} +6 -6
  67. package/dist/{login-qr-Batf3PT5.js → login-qr-AP9agO-i.js} +13 -13
  68. package/dist/{login-CwCoxapk.js → login-ul8zaw_S.js} +7 -7
  69. package/dist/{manager-D_LwXbc6.js → manager-PprhCvO_.js} +25 -25
  70. package/dist/{manifest-registry-D0IQ3WuX.js → manifest-registry-yb7sAlu4.js} +2 -2
  71. package/dist/{markdown-tables-iMQQZu4Q.js → markdown-tables-C-BmIap8.js} +1 -1
  72. package/dist/{plugin-sdk/message-channel-BdI5Ra9S.js → message-channel-OlFBYAw8.js} +1 -1
  73. package/dist/{models-CPlSSoV0.js → models-CeKIXf5B.js} +7 -8
  74. package/dist/{models-cli-BM2RWTmM.js → models-cli-2NcPKR9A.js} +7 -8
  75. package/dist/{models-cli-DDhpJuX3.js → models-cli-DN4AVlpI.js} +3 -3
  76. package/dist/{onboard-DpB21qno.js → onboard-BcxDiUl_.js} +2 -2
  77. package/dist/{onboard-BczLOUCW.js → onboard-BukRqcRH.js} +2 -2
  78. package/dist/{onboard-channels-S0FbC25u.js → onboard-channels-DS6s341R.js} +1 -1
  79. package/dist/{onboard-channels-DjfS9mS6.js → onboard-channels-HPxu77wp.js} +1 -1
  80. package/dist/{onboarding-CyPkawbg.js → onboarding-B8uz24jt.js} +3 -3
  81. package/dist/{onboarding--mrKZtpR.js → onboarding-DI-o_sax.js} +3 -3
  82. package/dist/{onboarding.finalize-C0ijhYbg.js → onboarding.finalize-Bn2e61yb.js} +5 -5
  83. package/dist/{onboarding.finalize-0XoI3wLH.js → onboarding.finalize-CfE_AEto.js} +6 -6
  84. package/dist/{outbound-D4fN_ZlE.js → outbound-CtMCmwxR.js} +7 -7
  85. package/dist/{outbound-attachment-DjNDa3zn.js → outbound-attachment-DJldbweZ.js} +2 -2
  86. package/dist/{paths-DLyHUt31.js → paths-CbQV9WEg.js} +2 -2
  87. package/dist/{pi-auth-json-0SYBFZTt.js → pi-auth-json-Bk8ERadJ.js} +10 -10
  88. package/dist/{pi-embedded-Cg70pjmm.js → pi-embedded-B5qBa69e.js} +20111 -20012
  89. package/dist/{pi-embedded-helpers-DLFjnVBb.js → pi-embedded-helpers-pubKo8HQ.js} +81 -81
  90. package/dist/{plugin-registry-VhRGXCLQ.js → plugin-registry-NIUxULTk.js} +1 -1
  91. package/dist/{plugin-registry-Dxo1iUfJ.js → plugin-registry-cj99EI0k.js} +1 -1
  92. package/dist/plugin-sdk/{accounts-BToL3HlP.js → accounts-BtaOa4z_.js} +1 -1
  93. package/dist/plugin-sdk/{accounts-D9zGZU5t.js → accounts-Ddm33hQm.js} +3 -3
  94. package/dist/plugin-sdk/{accounts-Dtszw3Zn.js → accounts-s-AdhXVR.js} +1 -1
  95. package/dist/plugin-sdk/{active-listener-bEk__wbB.js → active-listener-BXYeALs0.js} +1 -1
  96. package/dist/plugin-sdk/{agent-scope-C3gMMKCU.js → agent-scope-CYYpcO9W.js} +2 -2
  97. package/dist/plugin-sdk/agents/pi-embedded-runner.d.ts +1 -1
  98. package/dist/plugin-sdk/agents/unified-runner.d.ts +69 -1
  99. package/dist/plugin-sdk/{api-key-rotation-CVBMpnPc.js → api-key-rotation-D_sMvI5W.js} +1 -1
  100. package/dist/plugin-sdk/{audio-preflight-DoQQKlxa.js → audio-preflight-VpItkiy3.js} +24 -24
  101. package/dist/plugin-sdk/auto-reply/reply/agent-runner-execution.d.ts +2 -2
  102. package/dist/plugin-sdk/{bindings-BbwoUGPx.js → bindings-C7hRtgYW.js} +2 -2
  103. package/dist/plugin-sdk/{channel-activity-Ji7f0gqq.js → channel-activity-DoC1xtDu.js} +1 -1
  104. package/dist/plugin-sdk/{channel-web-DKo2tOO-.js → channel-web-CSd16cDi.js} +22 -22
  105. package/dist/plugin-sdk/{chrome-C7c_0I5M.js → chrome-B7RdxmJ0.js} +3 -3
  106. package/dist/plugin-sdk/{chunk-jvk9axTQ.js → chunk-Dw2XBYXv.js} +1 -1
  107. package/dist/plugin-sdk/{command-format-DSdvQ_M5.js → command-format-GKSevep4.js} +1 -1
  108. package/dist/plugin-sdk/{commands-registry-CQFbmUMs.js → commands-registry-COIaslGl.js} +4 -4
  109. package/dist/plugin-sdk/{config-DDkdiUOR.js → config-KlTNfkFF.js} +9 -9
  110. package/dist/plugin-sdk/{deliver-BZ6iNLl7.js → deliver-BZ99UKQq.js} +10 -10
  111. package/dist/plugin-sdk/{diagnostic-mFf4i4G9.js → diagnostic-05pm5Rxi.js} +1 -1
  112. package/dist/plugin-sdk/{image-BOYy0Ump.js → image-CLOPx7yW.js} +4 -4
  113. package/dist/{image-ops-CvJzsyvE.js → plugin-sdk/image-ops-BlQR__MN.js} +100 -100
  114. package/dist/plugin-sdk/index.js +53 -53
  115. package/dist/plugin-sdk/{ir-Fb3qpcis.js → ir-BJ6BHE5b.js} +4 -4
  116. package/dist/plugin-sdk/{local-roots-Ckk1QfzI.js → local-roots-BHLNSI8U.js} +3 -3
  117. package/dist/plugin-sdk/{login-Bh3DZPam.js → login-DQMXuxOk.js} +7 -7
  118. package/dist/plugin-sdk/{login-qr-DbR7odSr.js → login-qr-BjVZSoCi.js} +9 -9
  119. package/dist/plugin-sdk/{manager-DckktAQ3.js → manager-CBSBFuFz.js} +8 -8
  120. package/dist/plugin-sdk/{manifest-registry-B3ugY9-f.js → manifest-registry-CPnHl_K3.js} +1 -1
  121. package/dist/plugin-sdk/{markdown-tables-Dfaqilz6.js → markdown-tables-BoYFajMu.js} +1 -1
  122. package/dist/{message-channel-Dz5lr5b0.js → plugin-sdk/message-channel-COTAJzHd.js} +1 -1
  123. package/dist/plugin-sdk/{model-selection-OpU8HN50.js → model-selection-CsbEfrS0.js} +4 -4
  124. package/dist/plugin-sdk/{outbound-rF6G8Xpr.js → outbound-B0e8KdaR.js} +7 -7
  125. package/dist/plugin-sdk/{outbound-attachment-DnVQfTG2.js → outbound-attachment-CnslKL38.js} +2 -2
  126. package/dist/plugin-sdk/{pi-auth-json-CJk8t14T.js → pi-auth-json-qWi7ZIYV.js} +5 -5
  127. package/dist/plugin-sdk/{pi-embedded-helpers-BveUP4hk.js → pi-embedded-helpers-CW630epe.js} +17 -17
  128. package/dist/plugin-sdk/{plugins-BbAvhC25.js → plugins-BNByVCIH.js} +4 -4
  129. package/dist/plugin-sdk/{pw-ai-DjGUsee-.js → pw-ai-CnbPIPY9.js} +8 -8
  130. package/dist/plugin-sdk/{qmd-manager-mjKcdwVr.js → qmd-manager-CH0XbIHf.js} +4 -4
  131. package/dist/plugin-sdk/{registry--_pGht6S.js → registry-D0xTnUWt.js} +2 -2
  132. package/dist/{replies-BIX_isV7.js → plugin-sdk/replies-LLcQL3w6.js} +3 -3
  133. package/dist/plugin-sdk/{reply-Ch4_18FZ.js → reply-CkqSfQZN.js} +495 -396
  134. package/dist/plugin-sdk/{reply-prefix-BHuV5t70.js → reply-prefix-uxfMZW4p.js} +1 -1
  135. package/dist/plugin-sdk/{resolve-outbound-target-BkCUbYGV.js → resolve-outbound-target-BiyAyTWz.js} +2 -2
  136. package/dist/plugin-sdk/{resolve-route-D3JH_D2N.js → resolve-route-B3CCBumQ.js} +3 -3
  137. package/dist/plugin-sdk/{retry-ilSJqnz9.js → retry-CwQ_iIj8.js} +1 -1
  138. package/dist/plugin-sdk/{runner-BVqnEfNe.js → runner-CGBT7tgF.js} +9 -9
  139. package/dist/plugin-sdk/{send-BtANzsAo.js → send-B2CEnVLL.js} +6 -6
  140. package/dist/plugin-sdk/{send-BHbXh8Ly.js → send-C5h_YxNb.js} +7 -7
  141. package/dist/plugin-sdk/{send-D6LMZJ_h.js → send-CRsR8-vO.js} +10 -10
  142. package/dist/plugin-sdk/{send-Bxdu6ZZy.js → send-CjOBB3Vo.js} +10 -10
  143. package/dist/plugin-sdk/{send-BMfJIhCk.js → send-pYqe432l.js} +6 -6
  144. package/dist/plugin-sdk/{session-kI0tzViQ.js → session-BsOrxiMj.js} +4 -4
  145. package/dist/plugin-sdk/{skill-commands-DCNXVERE.js → skill-commands-ff_01_r3.js} +5 -5
  146. package/dist/plugin-sdk/{skills-B1GeRYlu.js → skills-_yTP47Cd.js} +7 -7
  147. package/dist/plugin-sdk/{sqlite-Cq_7Cg4E.js → sqlite-CxAR5ttJ.js} +1 -1
  148. package/dist/plugin-sdk/{store-Do3t33-c.js → store-BdrNabcU.js} +2 -2
  149. package/dist/plugin-sdk/{subsystem-Coz2AgU8.js → subsystem-B2uDN3TV.js} +1 -1
  150. package/dist/plugin-sdk/{tables-DR0NmBeH.js → tables-DNwXwNFa.js} +1 -1
  151. package/dist/{target-errors-Be1SwYlW.js → plugin-sdk/target-errors-Paro1BjP.js} +2 -2
  152. package/dist/plugin-sdk/{thinking-DCNUIAHY.js → thinking-CXqf7WTe.js} +5 -5
  153. package/dist/plugin-sdk/{tokens-CWMflosr.js → tokens-bC3UVmVH.js} +1 -1
  154. package/dist/plugin-sdk/{tool-images-D7Lno-TE.js → tool-images-HJ2sfZDV.js} +2 -2
  155. package/dist/plugin-sdk/{tool-loop-detection-edmW8ZiF.js → tool-loop-detection-BVA6fax-.js} +2 -2
  156. package/dist/plugin-sdk/web-DdTTil50.js +65 -0
  157. package/dist/plugin-sdk/{whatsapp-actions-CcBzDuL-.js → whatsapp-actions-DfseosPO.js} +21 -21
  158. package/dist/{plugins-DQYI3Fr-.js → plugins-BzmbgY7s.js} +5 -5
  159. package/dist/{plugins-cli-zNr1ThAO.js → plugins-cli-CcjxxESJ.js} +2 -2
  160. package/dist/{plugins-cli-DeDSnKlr.js → plugins-cli-D8hhTHZD.js} +2 -2
  161. package/dist/{program-COEKTv5u.js → program-D09h71pS.js} +7 -7
  162. package/dist/{program-context-CbM3x8lT.js → program-context-CLJSWBZr.js} +17 -17
  163. package/dist/{prompt-select-styled-C6JLWNMU.js → prompt-select-styled-DQqZEGoo.js} +4 -4
  164. package/dist/{prompt-select-styled-d18_XWTb.js → prompt-select-styled-zRUqu0c8.js} +4 -4
  165. package/dist/{provider-auth-helpers-BmH4oHwJ.js → provider-auth-helpers-16r2WHNe.js} +1 -1
  166. package/dist/{provider-auth-helpers-C8cO9DLi.js → provider-auth-helpers-LzJ2WQIc.js} +1 -1
  167. package/dist/{push-apns-CoqskfCc.js → push-apns-B5xZKIxK.js} +1 -1
  168. package/dist/{push-apns-CJtWrkQV.js → push-apns-DJddAK3u.js} +1 -1
  169. package/dist/{pw-ai-BnAKvSuw.js → pw-ai-B5asscAD.js} +16 -16
  170. package/dist/{qmd-manager-QHUP-_em.js → qmd-manager-iDLSiI4Z.js} +10 -10
  171. package/dist/{register.agent-fK3vOCU5.js → register.agent-CP_sigRh.js} +6 -6
  172. package/dist/{register.agent-C1Is84Q1.js → register.agent-D7NKuUkY.js} +5 -5
  173. package/dist/{register.configure-CIwwqqt9.js → register.configure-BEsGd0PR.js} +6 -6
  174. package/dist/{register.configure-DFJeKFFK.js → register.configure-BjRLNatb.js} +6 -6
  175. package/dist/{register.maintenance-DKDqruW6.js → register.maintenance-CN6KUuX7.js} +7 -7
  176. package/dist/{register.maintenance-BwTFd3Ax.js → register.maintenance-DD6TNFtV.js} +8 -8
  177. package/dist/{register.message-DYnXMP4c.js → register.message-DEUcNly1.js} +2 -2
  178. package/dist/{register.message-Ce57RPK8.js → register.message-DMVC_Sqm.js} +2 -2
  179. package/dist/{register.onboard-9glf-j43.js → register.onboard-CP6RP90V.js} +4 -4
  180. package/dist/{register.onboard-Dj-_AJQr.js → register.onboard-J1pgV7lz.js} +4 -4
  181. package/dist/{register.setup-Cp3DBI6D.js → register.setup-BeHpW3xI.js} +4 -4
  182. package/dist/{register.setup-C0CXUMFE.js → register.setup-Dhc3jKpK.js} +4 -4
  183. package/dist/{register.status-health-sessions-BncpB9Vw.js → register.status-health-sessions-DDkC0aoW.js} +3 -3
  184. package/dist/{register.status-health-sessions-DBXMyrNP.js → register.status-health-sessions-b-lWNsTM.js} +3 -3
  185. package/dist/{register.subclis-D6PmKJll.js → register.subclis-BJqiT8Q2.js} +9 -9
  186. package/dist/{registry-CK4e9hn8.js → registry-DYq1AYOv.js} +2 -2
  187. package/dist/{plugin-sdk/replies-fI39rPGa.js → replies-LSmuwOhA.js} +3 -3
  188. package/dist/{reply-BfZzgC9H.js → reply-D40cmAci.js} +420 -321
  189. package/dist/{reply-prefix-XlyuyChD.js → reply-prefix-DpqZu44Z.js} +1 -1
  190. package/dist/{resolve-route-CZ-1eqw0.js → resolve-route-C4_I4GFI.js} +5 -5
  191. package/dist/{retry-Cly39XZB.js → retry-BBVXkKBV.js} +1 -1
  192. package/dist/{run-main-wm3s04Xh.js → run-main-BruREeZ6.js} +14 -14
  193. package/dist/{runner-odEv83vv.js → runner-WAG0M5s9.js} +46 -46
  194. package/dist/{send-WyRqb4WD.js → send-CQAKg_12.js} +7 -7
  195. package/dist/{send-DeFniOjh.js → send-CVMyYPQw.js} +7 -7
  196. package/dist/{send-CiTGOvEc.js → send-CvhXrdgS.js} +12 -12
  197. package/dist/{send-DW96zgDL.js → send-DAN9hA5h.js} +6 -6
  198. package/dist/{send-B1u-LrcS.js → send-DYj_o4_F.js} +14 -14
  199. package/dist/{server-methods-xXv4ObXK.js → server-methods-Cyw_WS3A.js} +7 -7
  200. package/dist/{server-methods-D5zcFhng.js → server-methods-K-0MHs8x.js} +7 -7
  201. package/dist/{server-node-events-BN7H6wBM.js → server-node-events-89R9Ryky.js} +2 -2
  202. package/dist/{server-node-events-D4At7-pe.js → server-node-events-RA8RurtC.js} +2 -2
  203. package/dist/{session-SM36BTsl.js → session-DSU1vxxi.js} +4 -4
  204. package/dist/{skill-commands-BJMb_psG.js → skill-commands-DcVwOafC.js} +17 -17
  205. package/dist/{skills-BFekKL7i.js → skills-Bs0AW1g3.js} +25 -25
  206. package/dist/{sqlite-DRbx2dhW.js → sqlite-D_mz1_-y.js} +17 -17
  207. package/dist/{status-Nhvf_TEN.js → status-BSMEjz4q.js} +1 -1
  208. package/dist/{status-PbQwO8SV.js → status-CtNKWuzg.js} +2 -2
  209. package/dist/{status-XJTqV-CC.js → status-DHJLMwQN.js} +2 -2
  210. package/dist/{status-C5rGEkur.js → status-Kv_hsY8N.js} +1 -1
  211. package/dist/{store-C0wvOkae.js → store-01F_JM7O.js} +6 -6
  212. package/dist/{subagent-registry-DvCrN2PQ.js → subagent-registry-Cb5e_x99.js} +19342 -19243
  213. package/dist/{subsystem-Bs9YvKLa.js → subsystem-BjyjJF-d.js} +1 -1
  214. package/dist/{tables-DuZspiBu.js → tables-qMwbq29u.js} +1 -1
  215. package/dist/{plugin-sdk/target-errors-B7YyMnIi.js → target-errors-Bbr9rlzN.js} +2 -2
  216. package/dist/{thinking-CdlENGRW.js → thinking-BprCy23Z.js} +5 -5
  217. package/dist/{tokens-H1H1LiSQ.js → tokens-Bux9Y_xD.js} +1 -1
  218. package/dist/{tool-images-DXB7tqWi.js → tool-images-SqqWIT22.js} +2 -2
  219. package/dist/{tool-loop-detection-Cs8_HCsx.js → tool-loop-detection-D0kUzUGu.js} +3 -3
  220. package/dist/{pi-embedded-CTBkDXkV.js → unified-runner-CkJLTsTK.js} +69858 -69759
  221. package/dist/{update-cli-BHxqriaA.js → update-cli-Bl66LJZ4.js} +7 -7
  222. package/dist/{update-cli-IqwjBYS0.js → update-cli-CrRBoiVU.js} +8 -8
  223. package/dist/{update-runner-BuoOzUcX.js → update-runner-DxpSPK-f.js} +1 -1
  224. package/dist/{update-runner-BFwirE1P.js → update-runner-FgrqoxvV.js} +1 -1
  225. package/dist/{web-Cr6E8Ych.js → web-BYRKX5Ln.js} +2 -2
  226. package/dist/{web-C4CDNJmR.js → web-Czp0JS6-.js} +1 -1
  227. package/dist/{web-OSVyyJa9.js → web-D99WHLTL.js} +1 -1
  228. package/dist/{web-Dti17mxB.js → web-RePh7lRy.js} +64 -64
  229. package/dist/{whatsapp-actions-D1RsnX7P.js → whatsapp-actions-BIeSWsCF.js} +25 -25
  230. package/dist/{workspace-wAaHI8-5.js → workspace-DscDraUb.js} +28 -28
  231. package/extensions/bluebubbles/node_modules/.bin/symi +0 -0
  232. package/extensions/copilot-proxy/node_modules/.bin/symi +0 -0
  233. package/extensions/diagnostics-otel/node_modules/.bin/acorn +0 -0
  234. package/extensions/diagnostics-otel/node_modules/.bin/symi +0 -0
  235. package/extensions/discord/node_modules/.bin/symi +0 -0
  236. package/extensions/feishu/node_modules/.bin/symi +0 -0
  237. package/extensions/google-antigravity-auth/node_modules/.bin/symi +0 -0
  238. package/extensions/google-gemini-cli-auth/node_modules/.bin/symi +0 -0
  239. package/extensions/googlechat/node_modules/.bin/symi +0 -0
  240. package/extensions/imessage/node_modules/.bin/symi +0 -0
  241. package/extensions/irc/node_modules/.bin/symi +0 -0
  242. package/extensions/learning-loop/node_modules/.bin/symi +0 -0
  243. package/extensions/line/node_modules/.bin/symi +0 -0
  244. package/extensions/matrix/node_modules/.bin/markdown-it +0 -0
  245. package/extensions/matrix/node_modules/.bin/symi +0 -0
  246. package/extensions/mattermost/node_modules/.bin/symi +0 -0
  247. package/extensions/memory-core/node_modules/.bin/symi +0 -0
  248. package/extensions/memory-lancedb/node_modules/.bin/arrow2csv +0 -0
  249. package/extensions/memory-lancedb/node_modules/.bin/openai +0 -0
  250. package/extensions/memory-lancedb/node_modules/.bin/symi +0 -0
  251. package/extensions/minimax-portal-auth/node_modules/.bin/symi +0 -0
  252. package/extensions/msteams/node_modules/.bin/symi +0 -0
  253. package/extensions/nextcloud-talk/node_modules/.bin/symi +0 -0
  254. package/extensions/nostr/node_modules/.bin/symi +0 -0
  255. package/extensions/nostr/node_modules/.bin/tsc +0 -0
  256. package/extensions/nostr/node_modules/.bin/tsserver +0 -0
  257. package/extensions/signal/node_modules/.bin/symi +0 -0
  258. package/extensions/slack/node_modules/.bin/symi +0 -0
  259. package/extensions/telegram/node_modules/.bin/symi +0 -0
  260. package/extensions/tlon/node_modules/.bin/symi +0 -0
  261. package/extensions/twitch/node_modules/.bin/symi +0 -0
  262. package/extensions/voice-call/node_modules/.bin/symi +0 -0
  263. package/extensions/whatsapp/node_modules/.bin/symi +0 -0
  264. package/extensions/zalo/node_modules/.bin/symi +0 -0
  265. package/extensions/zalouser/node_modules/.bin/symi +0 -0
  266. package/package.json +83 -113
  267. package/skills/nano-banana-pro/scripts/generate_image.py +0 -0
  268. package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +0 -0
  269. package/skills/tmux/scripts/find-sessions.sh +0 -0
  270. package/skills/tmux/scripts/wait-for-text.sh +0 -0
  271. package/dist/paths-Cce4PUkG.js +0 -212
  272. package/dist/plugin-sdk/web-Dz2oyzw_.js +0 -65
  273. /package/dist/{boolean-B8-BqKGQ.js → boolean-CE7i9tBR.js} +0 -0
  274. /package/dist/{chat-type-C_KiWNAH.js → chat-type-3FRbbjbq.js} +0 -0
  275. /package/dist/{diagnostic-session-state-Bxo4UHOL.js → diagnostic-session-state-Zw87xFym.js} +0 -0
  276. /package/dist/{legacy-names-BHV4AoFT.js → legacy-names-CePMUvus.js} +0 -0
  277. /package/dist/{pi-model-discovery-DaNAekda.js → pi-model-discovery-Bv5YDJc8.js} +0 -0
  278. /package/dist/{redact-jSxx6Ep2.js → redact-BDMXB06K.js} +0 -0
  279. /package/dist/{ssrf-BTMDZjHT.js → ssrf-DpUUUgkK.js} +0 -0
  280. /package/dist/{targets-CFovdgJI.js → targets-DGkXkFPj.js} +0 -0
  281. /package/dist/{transcript-events-DDYvbmRV.js → transcript-events-BBh3Gsrx.js} +0 -0
@@ -1,34 +1,34 @@
1
- import "./accounts-D9zGZU5t.js";
1
+ import "./accounts-Ddm33hQm.js";
2
2
  import "./paths-DR2yt_mP.js";
3
3
  import "./github-copilot-token-D9X2phUj.js";
4
- import "./plugins-BbAvhC25.js";
5
- import { K as logVerbose, Y as shouldLogVerbose } from "./registry--_pGht6S.js";
6
- import "./config-DDkdiUOR.js";
7
- import "./subsystem-Coz2AgU8.js";
8
- import "./command-format-DSdvQ_M5.js";
9
- import "./model-selection-OpU8HN50.js";
10
- import "./agent-scope-C3gMMKCU.js";
11
- import "./manifest-registry-B3ugY9-f.js";
4
+ import "./plugins-BNByVCIH.js";
5
+ import { K as logVerbose, Y as shouldLogVerbose } from "./registry-D0xTnUWt.js";
6
+ import "./config-KlTNfkFF.js";
7
+ import "./subsystem-B2uDN3TV.js";
8
+ import "./command-format-GKSevep4.js";
9
+ import "./model-selection-CsbEfrS0.js";
10
+ import "./agent-scope-CYYpcO9W.js";
11
+ import "./manifest-registry-CPnHl_K3.js";
12
12
  import "./redact-DPnDWsnT.js";
13
13
  import "./errors-Bv8oZiTO.js";
14
- import "./image-ops-Bnp6LXEx.js";
14
+ import "./image-ops-BlQR__MN.js";
15
15
  import "./ssrf-DKZ8eBrk.js";
16
- import "./local-roots-Ckk1QfzI.js";
17
- import "./message-channel-BdI5Ra9S.js";
18
- import "./bindings-BbwoUGPx.js";
19
- import "./tool-images-D7Lno-TE.js";
20
- import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-BVqnEfNe.js";
21
- import "./skills-B1GeRYlu.js";
22
- import "./chrome-C7c_0I5M.js";
23
- import "./thinking-DCNUIAHY.js";
24
- import "./accounts-Dtszw3Zn.js";
25
- import "./accounts-BToL3HlP.js";
26
- import "./pi-embedded-helpers-BveUP4hk.js";
16
+ import "./local-roots-BHLNSI8U.js";
17
+ import "./message-channel-COTAJzHd.js";
18
+ import "./bindings-C7hRtgYW.js";
19
+ import "./tool-images-HJ2sfZDV.js";
20
+ import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-CGBT7tgF.js";
21
+ import "./skills-_yTP47Cd.js";
22
+ import "./chrome-B7RdxmJ0.js";
23
+ import "./thinking-CXqf7WTe.js";
24
+ import "./accounts-s-AdhXVR.js";
25
+ import "./accounts-BtaOa4z_.js";
26
+ import "./pi-embedded-helpers-CW630epe.js";
27
27
  import "./paths-A0xdf3yk.js";
28
- import "./store-Do3t33-c.js";
29
- import "./image-BOYy0Ump.js";
28
+ import "./store-BdrNabcU.js";
29
+ import "./image-CLOPx7yW.js";
30
30
  import "./pi-model-discovery-LbcEa65a.js";
31
- import "./api-key-rotation-CVBMpnPc.js";
31
+ import "./api-key-rotation-D_sMvI5W.js";
32
32
 
33
33
  //#region src/media-understanding/audio-preflight.ts
34
34
  /**
@@ -1,4 +1,4 @@
1
- import { runEmbeddedPiAgent } from "../../agents/pi-embedded.js";
1
+ import type { EmbeddedPiRunResult } from "../../agents/pi-embedded-runner/types.js";
2
2
  import { type SessionEntry } from "../../config/sessions.js";
3
3
  import type { TemplateContext } from "../templating.js";
4
4
  import type { VerboseLevel } from "../thinking.js";
@@ -17,7 +17,7 @@ export type RuntimeFallbackAttempt = {
17
17
  export type AgentRunLoopResult = {
18
18
  kind: "success";
19
19
  runId: string;
20
- runResult: Awaited<ReturnType<typeof runEmbeddedPiAgent>>;
20
+ runResult: EmbeddedPiRunResult;
21
21
  fallbackProvider?: string;
22
22
  fallbackModel?: string;
23
23
  fallbackAttempts: RuntimeFallbackAttempt[];
@@ -1,6 +1,6 @@
1
1
  import { p as normalizeAccountId, s as normalizeAgentId } from "./session-key-C_0eELjb.js";
2
- import { s as normalizeChatChannelId } from "./registry--_pGht6S.js";
3
- import { c as resolveDefaultAgentId } from "./agent-scope-C3gMMKCU.js";
2
+ import { s as normalizeChatChannelId } from "./registry-D0xTnUWt.js";
3
+ import { c as resolveDefaultAgentId } from "./agent-scope-CYYpcO9W.js";
4
4
 
5
5
  //#region src/routing/bindings.ts
6
6
  function normalizeBindingChannelId(raw) {
@@ -1,4 +1,4 @@
1
- import { n as retryAsync, t as resolveRetryConfig } from "./retry-ilSJqnz9.js";
1
+ import { n as retryAsync, t as resolveRetryConfig } from "./retry-CwQ_iIj8.js";
2
2
  import { n as formatErrorMessage } from "./errors-Bv8oZiTO.js";
3
3
  import { RateLimitError } from "@buape/carbon";
4
4
 
@@ -1,28 +1,28 @@
1
1
  import { a as buildGroupHistoryKey, n as DEFAULT_MAIN_KEY, r as buildAgentMainSessionKey, s as normalizeAgentId } from "./session-key-C_0eELjb.js";
2
- import { f as readWebSelfId, o as getWebAuthAgeMs, r as resolveWhatsAppAccount } from "./accounts-D9zGZU5t.js";
3
- import { E as enqueueSystemEvent, G as resolveMentionGating, W as shouldAckReactionForWhatsApp, X as buildHistoryContextFromEntries, Y as DEFAULT_GROUP_HISTORY_LIMIT, _ as resolveEnvelopeFormatOptions, c as computeBackoff, d as formatDurationPrecise, f as dispatchReplyWithBufferedBlockDispatcher, g as formatInboundEnvelope, h as resolveInboundDebounceMs, ht as createDedupeCache, l as sleepWithAbort, m as createInboundDebouncer, n as normalizeGroupActivation, nt as buildMentionRegexes, r as parseActivationCommand, rt as normalizeMentionText, t as getReplyFromConfig, tt as recordPendingHistoryEntryIfEnabled, u as buildPairingReply, v as hasControlCommand, y as shouldComputeCommandAuthorized } from "./reply-Ch4_18FZ.js";
4
- import { A as normalizeE164, B as toWhatsappJid, K as logVerbose, N as resolveJidToE164, O as isSelfChatMode, R as sleep, Y as shouldLogVerbose, k as jidToE164, s as normalizeChatChannelId, tt as getChildLogger, x as clamp } from "./registry--_pGht6S.js";
5
- import { n as loadConfig } from "./config-DDkdiUOR.js";
6
- import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
7
- import { t as formatCliCommand } from "./command-format-DSdvQ_M5.js";
8
- import { n as recordChannelActivity } from "./channel-activity-Ji7f0gqq.js";
9
- import { t as getAgentScopedMediaLocalRoots } from "./local-roots-Ckk1QfzI.js";
10
- import { a as loadWebMedia } from "./ir-Fb3qpcis.js";
11
- import { c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit } from "./chunk-jvk9axTQ.js";
12
- import { n as resolveMarkdownTableMode } from "./markdown-tables-Dfaqilz6.js";
13
- import { t as convertMarkdownTables } from "./tables-DR0NmBeH.js";
14
- import { G as readChannelAllowFromStore, J as upsertChannelPairingRequest, K as readChannelAllowFromStoreSync, nt as toLocationContext, tt as formatLocationText } from "./send-D6LMZJ_h.js";
15
- import { f as registerUnhandledRejectionHandler } from "./runner-BVqnEfNe.js";
16
- import { l as resolveIdentityNamePrefix, n as createReplyPrefixOptions, u as resolveMessagePrefix } from "./reply-prefix-BHuV5t70.js";
17
- import { F as resolveChannelGroupRequireMention, P as resolveChannelGroupPolicy } from "./thinking-DCNUIAHY.js";
18
- import { Xt as resolveGroupSessionKey, _t as updateLastRoute, gt as recordSessionMetaFromInbound, ht as readSessionUpdatedAt, mt as loadSessionStore } from "./pi-embedded-helpers-BveUP4hk.js";
2
+ import { f as readWebSelfId, o as getWebAuthAgeMs, r as resolveWhatsAppAccount } from "./accounts-Ddm33hQm.js";
3
+ import { E as enqueueSystemEvent, G as resolveMentionGating, W as shouldAckReactionForWhatsApp, X as buildHistoryContextFromEntries, Y as DEFAULT_GROUP_HISTORY_LIMIT, _ as resolveEnvelopeFormatOptions, c as computeBackoff, d as formatDurationPrecise, f as dispatchReplyWithBufferedBlockDispatcher, g as formatInboundEnvelope, h as resolveInboundDebounceMs, ht as createDedupeCache, l as sleepWithAbort, m as createInboundDebouncer, n as normalizeGroupActivation, nt as buildMentionRegexes, r as parseActivationCommand, rt as normalizeMentionText, t as getReplyFromConfig, tt as recordPendingHistoryEntryIfEnabled, u as buildPairingReply, v as hasControlCommand, y as shouldComputeCommandAuthorized } from "./reply-CkqSfQZN.js";
4
+ import { A as normalizeE164, B as toWhatsappJid, K as logVerbose, N as resolveJidToE164, O as isSelfChatMode, R as sleep, Y as shouldLogVerbose, k as jidToE164, s as normalizeChatChannelId, tt as getChildLogger, x as clamp } from "./registry-D0xTnUWt.js";
5
+ import { n as loadConfig } from "./config-KlTNfkFF.js";
6
+ import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-B2uDN3TV.js";
7
+ import { t as formatCliCommand } from "./command-format-GKSevep4.js";
8
+ import { n as recordChannelActivity } from "./channel-activity-DoC1xtDu.js";
9
+ import { t as getAgentScopedMediaLocalRoots } from "./local-roots-BHLNSI8U.js";
10
+ import { a as loadWebMedia } from "./ir-BJ6BHE5b.js";
11
+ import { c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit } from "./chunk-Dw2XBYXv.js";
12
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-BoYFajMu.js";
13
+ import { t as convertMarkdownTables } from "./tables-DNwXwNFa.js";
14
+ import { G as readChannelAllowFromStore, J as upsertChannelPairingRequest, K as readChannelAllowFromStoreSync, nt as toLocationContext, tt as formatLocationText } from "./send-CRsR8-vO.js";
15
+ import { f as registerUnhandledRejectionHandler } from "./runner-CGBT7tgF.js";
16
+ import { l as resolveIdentityNamePrefix, n as createReplyPrefixOptions, u as resolveMessagePrefix } from "./reply-prefix-uxfMZW4p.js";
17
+ import { F as resolveChannelGroupRequireMention, P as resolveChannelGroupPolicy } from "./thinking-CXqf7WTe.js";
18
+ import { Xt as resolveGroupSessionKey, _t as updateLastRoute, gt as recordSessionMetaFromInbound, ht as readSessionUpdatedAt, mt as loadSessionStore } from "./pi-embedded-helpers-CW630epe.js";
19
19
  import { s as resolveStorePath } from "./paths-A0xdf3yk.js";
20
- import { i as saveMediaBuffer } from "./store-Do3t33-c.js";
20
+ import { i as saveMediaBuffer } from "./store-BdrNabcU.js";
21
21
  import { t as finalizeInboundContext } from "./inbound-context-D5EzMeL_.js";
22
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-D3JH_D2N.js";
23
- import { r as setActiveWebListener } from "./active-listener-bEk__wbB.js";
24
- import { i as markdownToWhatsApp, r as sendReactionWhatsApp } from "./outbound-rF6G8Xpr.js";
25
- import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-kI0tzViQ.js";
22
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-B3CCBumQ.js";
23
+ import { r as setActiveWebListener } from "./active-listener-BXYeALs0.js";
24
+ import { i as markdownToWhatsApp, r as sendReactionWhatsApp } from "./outbound-B0e8KdaR.js";
25
+ import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-BsOrxiMj.js";
26
26
  import { randomUUID } from "node:crypto";
27
27
  import { DisconnectReason, downloadMediaMessage, extractMessageContent, getContentType, isJidGroup, normalizeMessageContent } from "@whiskeysockets/baileys";
28
28
 
@@ -1,6 +1,6 @@
1
- import { b as CONFIG_DIR } from "./registry--_pGht6S.js";
2
- import { n as loadConfig } from "./config-DDkdiUOR.js";
3
- import { t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
1
+ import { b as CONFIG_DIR } from "./registry-D0xTnUWt.js";
2
+ import { n as loadConfig } from "./config-KlTNfkFF.js";
3
+ import { t as createSubsystemLogger } from "./subsystem-B2uDN3TV.js";
4
4
  import { i as isErrno } from "./errors-Bv8oZiTO.js";
5
5
  import { s as resolvePinnedHostnameWithPolicy } from "./ssrf-DKZ8eBrk.js";
6
6
  import fs from "node:fs";
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { p as normalizeAccountId } from "./session-key-C_0eELjb.js";
3
- import { t as INTERNAL_MESSAGE_CHANNEL } from "./message-channel-BdI5Ra9S.js";
3
+ import { t as INTERNAL_MESSAGE_CHANNEL } from "./message-channel-COTAJzHd.js";
4
4
 
5
5
  //#region src/markdown/fences.ts
6
6
  function parseFenceSpans(buffer) {
@@ -1,4 +1,4 @@
1
- import { t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
1
+ import { t as createSubsystemLogger } from "./subsystem-B2uDN3TV.js";
2
2
  import path from "node:path";
3
3
 
4
4
  //#region src/utils/boolean.ts
@@ -1,8 +1,8 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { r as normalizeChannelId } from "./plugins-BbAvhC25.js";
3
- import { H as isPlainObject, T as escapeRegExp, c as getActivePluginRegistry } from "./registry--_pGht6S.js";
4
- import { J as DEFAULT_MODEL, Y as DEFAULT_PROVIDER, u as resolveConfiguredModelRef } from "./model-selection-OpU8HN50.js";
5
- import { f as listChannelDocks, r as listThinkingLevels } from "./thinking-DCNUIAHY.js";
2
+ import { r as normalizeChannelId } from "./plugins-BNByVCIH.js";
3
+ import { H as isPlainObject, T as escapeRegExp, c as getActivePluginRegistry } from "./registry-D0xTnUWt.js";
4
+ import { J as DEFAULT_MODEL, Y as DEFAULT_PROVIDER, u as resolveConfiguredModelRef } from "./model-selection-CsbEfrS0.js";
5
+ import { f as listChannelDocks, r as listThinkingLevels } from "./thinking-CXqf7WTe.js";
6
6
 
7
7
  //#region src/config/commands.ts
8
8
  function resolveAutoDefault(providerId) {
@@ -1,14 +1,14 @@
1
1
  import { s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-C_0eELjb.js";
2
2
  import { n as resolveConfigPath, r as resolveDefaultConfigCandidates, s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-DR2yt_mP.js";
3
- import { D as isRecord, H as isPlainObject$1, M as resolveConfigDir, P as resolveUserPath, s as normalizeChatChannelId, t as CHANNEL_IDS } from "./registry--_pGht6S.js";
4
- import { $ as shouldDeferShellEnvFallback, Q as resolveShellEnvFallbackTimeoutMs, Z as loadShellEnvFallback, et as shouldEnableShellEnvFallback, l as parseModelRef, q as DEFAULT_CONTEXT_TOKENS } from "./model-selection-OpU8HN50.js";
5
- import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-C3gMMKCU.js";
6
- import { c as normalizePluginsConfig, d as isPathInside, l as resolveEnableState, m as normalizeEnvVarKey, p as isDangerousHostEnvVarName, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-B3ugY9-f.js";
3
+ import { D as isRecord, H as isPlainObject$1, M as resolveConfigDir, P as resolveUserPath, s as normalizeChatChannelId, t as CHANNEL_IDS } from "./registry-D0xTnUWt.js";
4
+ import { $ as shouldDeferShellEnvFallback, Q as resolveShellEnvFallbackTimeoutMs, Z as loadShellEnvFallback, et as shouldEnableShellEnvFallback, l as parseModelRef, q as DEFAULT_CONTEXT_TOKENS } from "./model-selection-CsbEfrS0.js";
5
+ import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-CYYpcO9W.js";
6
+ import { c as normalizePluginsConfig, d as isPathInside, l as resolveEnableState, m as normalizeEnvVarKey, p as isDangerousHostEnvVarName, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-CPnHl_K3.js";
7
7
  import { createRequire } from "node:module";
8
8
  import fs from "node:fs";
9
9
  import path from "node:path";
10
10
  import os from "node:os";
11
- import json5 from "json5";
11
+ import JSON5 from "json5";
12
12
  import crypto from "node:crypto";
13
13
  import { isDeepStrictEqual } from "node:util";
14
14
  import dotenv from "dotenv";
@@ -892,7 +892,7 @@ function safeRealpath(target) {
892
892
  }
893
893
  const defaultResolver = {
894
894
  readFile: (p) => fs.readFileSync(p, "utf-8"),
895
- parseJson: (raw) => json5.parse(raw)
895
+ parseJson: (raw) => JSON5.parse(raw)
896
896
  };
897
897
  /**
898
898
  * Resolves all $include directives in a parsed config object.
@@ -5584,7 +5584,7 @@ function resolveConfigPathForDeps(deps) {
5584
5584
  function normalizeDeps(overrides = {}) {
5585
5585
  return {
5586
5586
  fs: overrides.fs ?? fs,
5587
- json5: overrides.json5 ?? json5,
5587
+ json5: overrides.json5 ?? JSON5,
5588
5588
  env: overrides.env ?? process.env,
5589
5589
  homedir: overrides.homedir ?? (() => resolveRequiredHomeDir(overrides.env ?? process.env, os.homedir)),
5590
5590
  configPath: overrides.configPath ?? "",
@@ -5595,11 +5595,11 @@ function maybeLoadDotEnvForConfig(env) {
5595
5595
  if (env !== process.env) return;
5596
5596
  loadDotEnv({ quiet: true });
5597
5597
  }
5598
- function parseConfigJson5(raw, json5$1 = json5) {
5598
+ function parseConfigJson5(raw, json5 = JSON5) {
5599
5599
  try {
5600
5600
  return {
5601
5601
  ok: true,
5602
- parsed: json5$1.parse(raw)
5602
+ parsed: json5.parse(raw)
5603
5603
  };
5604
5604
  } catch (err) {
5605
5605
  return {
@@ -1,16 +1,16 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { m as normalizeOptionalAccountId, p as normalizeAccountId } from "./session-key-C_0eELjb.js";
3
3
  import { s as resolveStateDir } from "./paths-DR2yt_mP.js";
4
- import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-BbAvhC25.js";
5
- import { c as getActivePluginRegistry, v as createInternalHookEvent, y as triggerInternalHook } from "./registry--_pGht6S.js";
6
- import { t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
7
- import { t as getAgentScopedMediaLocalRoots } from "./local-roots-Ckk1QfzI.js";
8
- import { c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph, p as parseFenceSpans } from "./chunk-jvk9axTQ.js";
9
- import { n as resolveMarkdownTableMode } from "./markdown-tables-Dfaqilz6.js";
10
- import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-CWMflosr.js";
11
- import { d as getChannelDock } from "./thinking-DCNUIAHY.js";
12
- import { dt as appendAssistantMessageToSessionTranscript, ft as resolveMirroredTranscriptText, i as isMessagingToolDuplicate } from "./pi-embedded-helpers-BveUP4hk.js";
13
- import { a as markdownToSignalTextChunks, t as sendMessageSignal } from "./send-BMfJIhCk.js";
4
+ import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-BNByVCIH.js";
5
+ import { c as getActivePluginRegistry, v as createInternalHookEvent, y as triggerInternalHook } from "./registry-D0xTnUWt.js";
6
+ import { t as createSubsystemLogger } from "./subsystem-B2uDN3TV.js";
7
+ import { t as getAgentScopedMediaLocalRoots } from "./local-roots-BHLNSI8U.js";
8
+ import { c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph, p as parseFenceSpans } from "./chunk-Dw2XBYXv.js";
9
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-BoYFajMu.js";
10
+ import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-bC3UVmVH.js";
11
+ import { d as getChannelDock } from "./thinking-CXqf7WTe.js";
12
+ import { dt as appendAssistantMessageToSessionTranscript, ft as resolveMirroredTranscriptText, i as isMessagingToolDuplicate } from "./pi-embedded-helpers-CW630epe.js";
13
+ import { a as markdownToSignalTextChunks, t as sendMessageSignal } from "./send-pYqe432l.js";
14
14
  import fs from "node:fs";
15
15
  import path from "node:path";
16
16
  import crypto from "node:crypto";
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
2
+ import { t as createSubsystemLogger } from "./subsystem-B2uDN3TV.js";
3
3
  import { i as pruneDiagnosticSessionStates, r as getDiagnosticSessionState, t as diagnosticSessionStates } from "./diagnostic-session-state-Wd5tNeQG.js";
4
4
 
5
5
  //#region src/infra/diagnostic-events.ts
@@ -1,9 +1,9 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { D as isRecord, I as shortenHomeInString } from "./registry--_pGht6S.js";
3
- import { n as loadConfig } from "./config-DDkdiUOR.js";
4
- import { B as resolveSymiAgentDir, G as normalizeSecretInput, S as getApiKeyForModel, _ as resolveImplicitBedrockProvider, g as normalizeProviders, v as resolveImplicitCopilotProvider, w as requireApiKey, y as resolveImplicitProviders } from "./model-selection-OpU8HN50.js";
2
+ import { D as isRecord, I as shortenHomeInString } from "./registry-D0xTnUWt.js";
3
+ import { n as loadConfig } from "./config-KlTNfkFF.js";
4
+ import { B as resolveSymiAgentDir, G as normalizeSecretInput, S as getApiKeyForModel, _ as resolveImplicitBedrockProvider, g as normalizeProviders, v as resolveImplicitCopilotProvider, w as requireApiKey, y as resolveImplicitProviders } from "./model-selection-CsbEfrS0.js";
5
5
  import { n as redactToolDetail } from "./redact-DPnDWsnT.js";
6
- import { N as sanitizeUserFacingText } from "./pi-embedded-helpers-BveUP4hk.js";
6
+ import { N as sanitizeUserFacingText } from "./pi-embedded-helpers-CW630epe.js";
7
7
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-LbcEa65a.js";
8
8
  import path from "node:path";
9
9
  import fs from "node:fs/promises";
@@ -1,10 +1,96 @@
1
- import { _ as runExec } from "./workspace-wAaHI8-5.js";
2
- import fs from "node:fs/promises";
3
- import os from "node:os";
4
- import path from "node:path";
1
+ import { E as runExec } from "./agent-scope-CYYpcO9W.js";
5
2
  import { constants } from "node:fs";
3
+ import path from "node:path";
4
+ import os from "node:os";
5
+ import fs$1 from "node:fs/promises";
6
6
  import { fileTypeFromBuffer } from "file-type";
7
7
 
8
+ //#region src/infra/fs-safe.ts
9
+ var SafeOpenError = class extends Error {
10
+ constructor(code, message, options) {
11
+ super(message, options);
12
+ this.code = code;
13
+ this.name = "SafeOpenError";
14
+ }
15
+ };
16
+ const NOT_FOUND_CODES = new Set(["ENOENT", "ENOTDIR"]);
17
+ const SUPPORTS_NOFOLLOW = process.platform !== "win32" && "O_NOFOLLOW" in constants;
18
+ const OPEN_READ_FLAGS = constants.O_RDONLY | (SUPPORTS_NOFOLLOW ? constants.O_NOFOLLOW : 0);
19
+ const ensureTrailingSep = (value) => value.endsWith(path.sep) ? value : value + path.sep;
20
+ const isNodeError = (err) => Boolean(err && typeof err === "object" && "code" in err);
21
+ const isNotFoundError = (err) => isNodeError(err) && typeof err.code === "string" && NOT_FOUND_CODES.has(err.code);
22
+ const isSymlinkOpenError = (err) => isNodeError(err) && (err.code === "ELOOP" || err.code === "EINVAL" || err.code === "ENOTSUP");
23
+ async function openVerifiedLocalFile(filePath) {
24
+ let handle;
25
+ try {
26
+ handle = await fs$1.open(filePath, OPEN_READ_FLAGS);
27
+ } catch (err) {
28
+ if (isNotFoundError(err)) throw new SafeOpenError("not-found", "file not found");
29
+ if (isSymlinkOpenError(err)) throw new SafeOpenError("symlink", "symlink open blocked", { cause: err });
30
+ throw err;
31
+ }
32
+ try {
33
+ const [stat, lstat] = await Promise.all([handle.stat(), fs$1.lstat(filePath)]);
34
+ if (lstat.isSymbolicLink()) throw new SafeOpenError("symlink", "symlink not allowed");
35
+ if (!stat.isFile()) throw new SafeOpenError("not-file", "not a file");
36
+ if (stat.ino !== lstat.ino || stat.dev !== lstat.dev) throw new SafeOpenError("path-mismatch", "path changed during read");
37
+ const realPath = await fs$1.realpath(filePath);
38
+ const realStat = await fs$1.stat(realPath);
39
+ if (stat.ino !== realStat.ino || stat.dev !== realStat.dev) throw new SafeOpenError("path-mismatch", "path mismatch");
40
+ return {
41
+ handle,
42
+ realPath,
43
+ stat
44
+ };
45
+ } catch (err) {
46
+ await handle.close().catch(() => {});
47
+ if (err instanceof SafeOpenError) throw err;
48
+ if (isNotFoundError(err)) throw new SafeOpenError("not-found", "file not found");
49
+ throw err;
50
+ }
51
+ }
52
+ async function openFileWithinRoot(params) {
53
+ let rootReal;
54
+ try {
55
+ rootReal = await fs$1.realpath(params.rootDir);
56
+ } catch (err) {
57
+ if (isNotFoundError(err)) throw new SafeOpenError("not-found", "root dir not found");
58
+ throw err;
59
+ }
60
+ const rootWithSep = ensureTrailingSep(rootReal);
61
+ const resolved = path.resolve(rootWithSep, params.relativePath);
62
+ if (!resolved.startsWith(rootWithSep)) throw new SafeOpenError("invalid-path", "path escapes root");
63
+ let opened;
64
+ try {
65
+ opened = await openVerifiedLocalFile(resolved);
66
+ } catch (err) {
67
+ if (err instanceof SafeOpenError) {
68
+ if (err.code === "not-found") throw err;
69
+ throw new SafeOpenError("invalid-path", "path is not a regular file under root", { cause: err });
70
+ }
71
+ throw err;
72
+ }
73
+ if (!opened.realPath.startsWith(rootWithSep)) {
74
+ await opened.handle.close().catch(() => {});
75
+ throw new SafeOpenError("invalid-path", "path escapes root");
76
+ }
77
+ return opened;
78
+ }
79
+ async function readLocalFileSafely(params) {
80
+ const opened = await openVerifiedLocalFile(params.filePath);
81
+ try {
82
+ if (params.maxBytes !== void 0 && opened.stat.size > params.maxBytes) throw new SafeOpenError("too-large", `file exceeds limit of ${params.maxBytes} bytes (got ${opened.stat.size})`);
83
+ return {
84
+ buffer: await opened.handle.readFile(),
85
+ realPath: opened.realPath,
86
+ stat: opened.stat
87
+ };
88
+ } finally {
89
+ await opened.handle.close().catch(() => {});
90
+ }
91
+ }
92
+
93
+ //#endregion
8
94
  //#region src/media/constants.ts
9
95
  const MAX_IMAGE_BYTES = 6 * 1024 * 1024;
10
96
  const MAX_AUDIO_BYTES = 16 * 1024 * 1024;
@@ -149,92 +235,6 @@ function kindFromMime(mime) {
149
235
  return mediaKindFromMime(mime);
150
236
  }
151
237
 
152
- //#endregion
153
- //#region src/infra/fs-safe.ts
154
- var SafeOpenError = class extends Error {
155
- constructor(code, message, options) {
156
- super(message, options);
157
- this.code = code;
158
- this.name = "SafeOpenError";
159
- }
160
- };
161
- const NOT_FOUND_CODES = new Set(["ENOENT", "ENOTDIR"]);
162
- const SUPPORTS_NOFOLLOW = process.platform !== "win32" && "O_NOFOLLOW" in constants;
163
- const OPEN_READ_FLAGS = constants.O_RDONLY | (SUPPORTS_NOFOLLOW ? constants.O_NOFOLLOW : 0);
164
- const ensureTrailingSep = (value) => value.endsWith(path.sep) ? value : value + path.sep;
165
- const isNodeError = (err) => Boolean(err && typeof err === "object" && "code" in err);
166
- const isNotFoundError = (err) => isNodeError(err) && typeof err.code === "string" && NOT_FOUND_CODES.has(err.code);
167
- const isSymlinkOpenError = (err) => isNodeError(err) && (err.code === "ELOOP" || err.code === "EINVAL" || err.code === "ENOTSUP");
168
- async function openVerifiedLocalFile(filePath) {
169
- let handle;
170
- try {
171
- handle = await fs.open(filePath, OPEN_READ_FLAGS);
172
- } catch (err) {
173
- if (isNotFoundError(err)) throw new SafeOpenError("not-found", "file not found");
174
- if (isSymlinkOpenError(err)) throw new SafeOpenError("symlink", "symlink open blocked", { cause: err });
175
- throw err;
176
- }
177
- try {
178
- const [stat, lstat] = await Promise.all([handle.stat(), fs.lstat(filePath)]);
179
- if (lstat.isSymbolicLink()) throw new SafeOpenError("symlink", "symlink not allowed");
180
- if (!stat.isFile()) throw new SafeOpenError("not-file", "not a file");
181
- if (stat.ino !== lstat.ino || stat.dev !== lstat.dev) throw new SafeOpenError("path-mismatch", "path changed during read");
182
- const realPath = await fs.realpath(filePath);
183
- const realStat = await fs.stat(realPath);
184
- if (stat.ino !== realStat.ino || stat.dev !== realStat.dev) throw new SafeOpenError("path-mismatch", "path mismatch");
185
- return {
186
- handle,
187
- realPath,
188
- stat
189
- };
190
- } catch (err) {
191
- await handle.close().catch(() => {});
192
- if (err instanceof SafeOpenError) throw err;
193
- if (isNotFoundError(err)) throw new SafeOpenError("not-found", "file not found");
194
- throw err;
195
- }
196
- }
197
- async function openFileWithinRoot(params) {
198
- let rootReal;
199
- try {
200
- rootReal = await fs.realpath(params.rootDir);
201
- } catch (err) {
202
- if (isNotFoundError(err)) throw new SafeOpenError("not-found", "root dir not found");
203
- throw err;
204
- }
205
- const rootWithSep = ensureTrailingSep(rootReal);
206
- const resolved = path.resolve(rootWithSep, params.relativePath);
207
- if (!resolved.startsWith(rootWithSep)) throw new SafeOpenError("invalid-path", "path escapes root");
208
- let opened;
209
- try {
210
- opened = await openVerifiedLocalFile(resolved);
211
- } catch (err) {
212
- if (err instanceof SafeOpenError) {
213
- if (err.code === "not-found") throw err;
214
- throw new SafeOpenError("invalid-path", "path is not a regular file under root", { cause: err });
215
- }
216
- throw err;
217
- }
218
- if (!opened.realPath.startsWith(rootWithSep)) {
219
- await opened.handle.close().catch(() => {});
220
- throw new SafeOpenError("invalid-path", "path escapes root");
221
- }
222
- return opened;
223
- }
224
- async function readLocalFileSafely(params) {
225
- const opened = await openVerifiedLocalFile(params.filePath);
226
- try {
227
- if (params.maxBytes !== void 0 && opened.stat.size > params.maxBytes) throw new SafeOpenError("too-large", `file exceeds limit of ${params.maxBytes} bytes (got ${opened.stat.size})`);
228
- return {
229
- buffer: await opened.handle.readFile(),
230
- realPath: opened.realPath,
231
- stat: opened.stat
232
- };
233
- } finally {
234
- await opened.handle.close().catch(() => {});
235
- }
236
- }
237
-
238
238
  //#endregion
239
239
  //#region src/media/image-ops.ts
240
240
  const IMAGE_REDUCE_QUALITY_STEPS = [
@@ -321,11 +321,11 @@ function readJpegExifOrientation(buffer) {
321
321
  return null;
322
322
  }
323
323
  async function withTempDir(fn) {
324
- const dir = await fs.mkdtemp(path.join(os.tmpdir(), "symi-img-"));
324
+ const dir = await fs$1.mkdtemp(path.join(os.tmpdir(), "symi-img-"));
325
325
  try {
326
326
  return await fn(dir);
327
327
  } finally {
328
- await fs.rm(dir, {
328
+ await fs$1.rm(dir, {
329
329
  recursive: true,
330
330
  force: true
331
331
  }).catch(() => {});
@@ -334,7 +334,7 @@ async function withTempDir(fn) {
334
334
  async function sipsMetadataFromBuffer(buffer) {
335
335
  return await withTempDir(async (dir) => {
336
336
  const input = path.join(dir, "in.img");
337
- await fs.writeFile(input, buffer);
337
+ await fs$1.writeFile(input, buffer);
338
338
  const { stdout } = await runExec("/usr/bin/sips", [
339
339
  "-g",
340
340
  "pixelWidth",
@@ -362,7 +362,7 @@ async function sipsResizeToJpeg(params) {
362
362
  return await withTempDir(async (dir) => {
363
363
  const input = path.join(dir, "in.img");
364
364
  const output = path.join(dir, "out.jpg");
365
- await fs.writeFile(input, params.buffer);
365
+ await fs$1.writeFile(input, params.buffer);
366
366
  await runExec("/usr/bin/sips", [
367
367
  "-Z",
368
368
  String(Math.max(1, Math.round(params.maxSide))),
@@ -379,14 +379,14 @@ async function sipsResizeToJpeg(params) {
379
379
  timeoutMs: 2e4,
380
380
  maxBuffer: 1024 * 1024
381
381
  });
382
- return await fs.readFile(output);
382
+ return await fs$1.readFile(output);
383
383
  });
384
384
  }
385
385
  async function sipsConvertToJpeg(buffer) {
386
386
  return await withTempDir(async (dir) => {
387
387
  const input = path.join(dir, "in.heic");
388
388
  const output = path.join(dir, "out.jpg");
389
- await fs.writeFile(input, buffer);
389
+ await fs$1.writeFile(input, buffer);
390
390
  await runExec("/usr/bin/sips", [
391
391
  "-s",
392
392
  "format",
@@ -398,7 +398,7 @@ async function sipsConvertToJpeg(buffer) {
398
398
  timeoutMs: 2e4,
399
399
  maxBuffer: 1024 * 1024
400
400
  });
401
- return await fs.readFile(output);
401
+ return await fs$1.readFile(output);
402
402
  });
403
403
  }
404
404
  async function getImageMetadata(buffer) {
@@ -449,7 +449,7 @@ async function sipsApplyOrientation(buffer, orientation) {
449
449
  return await withTempDir(async (dir) => {
450
450
  const input = path.join(dir, "in.jpg");
451
451
  const output = path.join(dir, "out.jpg");
452
- await fs.writeFile(input, buffer);
452
+ await fs$1.writeFile(input, buffer);
453
453
  await runExec("/usr/bin/sips", [
454
454
  ...ops,
455
455
  input,
@@ -459,7 +459,7 @@ async function sipsApplyOrientation(buffer, orientation) {
459
459
  timeoutMs: 2e4,
460
460
  maxBuffer: 1024 * 1024
461
461
  });
462
- return await fs.readFile(output);
462
+ return await fs$1.readFile(output);
463
463
  });
464
464
  }
465
465
  async function resizeToJpeg(params) {
@@ -584,4 +584,4 @@ async function normalizeExifOrientationSips(buffer) {
584
584
  }
585
585
 
586
586
  //#endregion
587
- export { kindFromMime as _, hasAlphaChannel as a, maxBytesForKind as b, SafeOpenError as c, detectMime as d, extensionForMime as f, isGifMedia as g, isAudioFileName as h, getImageMetadata as i, openFileWithinRoot as l, imageMimeFromFormat as m, buildImageResizeSideGrid as n, optimizeImageToPng as o, getFileExtension as p, convertHeicToJpeg as r, resizeToJpeg as s, IMAGE_REDUCE_QUALITY_STEPS as t, readLocalFileSafely as u, normalizeMimeType as v, mediaKindFromMime as x, MAX_IMAGE_BYTES as y };
587
+ export { maxBytesForKind as _, hasAlphaChannel as a, openFileWithinRoot as b, detectMime as c, imageMimeFromFormat as d, isAudioFileName as f, MAX_IMAGE_BYTES as g, normalizeMimeType as h, getImageMetadata as i, extensionForMime as l, kindFromMime as m, buildImageResizeSideGrid as n, optimizeImageToPng as o, isGifMedia as p, convertHeicToJpeg as r, resizeToJpeg as s, IMAGE_REDUCE_QUALITY_STEPS as t, getFileExtension as u, mediaKindFromMime as v, readLocalFileSafely as x, SafeOpenError as y };