@symerian/symi 2.6.39 → 2.6.41

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 (392) hide show
  1. package/dist/{accounts-dRUMQQrB.js → accounts-3dCrO3oZ.js} +1 -1
  2. package/dist/{accounts-D1r2dq1t.js → accounts-BRw8yhIW.js} +21 -21
  3. package/dist/{accounts-wSphH5gv.js → accounts-BuZxOb3B.js} +1 -1
  4. package/dist/{acp-cli-EqE2uipx.js → acp-cli-BLUeUUA5.js} +2 -2
  5. package/dist/{acp-cli-ByYHYK_E.js → acp-cli-CrEIx-c7.js} +2 -2
  6. package/dist/{active-listener-C3pfJhdC.js → active-listener-Br2FcRv7.js} +1 -1
  7. package/dist/{agent-scope-D68_xfTL.js → agent-scope-CpEJ0B88.js} +3 -3
  8. package/dist/{agents-BaNrmXzu.js → agents-B4RNdKQ3.js} +7 -7
  9. package/dist/{agents.config-BOxmN33d.js → agents.config-CA31c0kN.js} +1 -1
  10. package/dist/{agents.config-C78DHdxT.js → agents.config-CG2klYOg.js} +1 -1
  11. package/dist/{audio-preflight-CzQUZSUK.js → audio-preflight-CIiS5cfP.js} +11 -11
  12. package/dist/{audio-preflight-DZ_2w4B5.js → audio-preflight-DD18zIZd.js} +5 -5
  13. package/dist/{audio-preflight-UXg8r6a7.js → audio-preflight-K-s65jbB.js} +29 -29
  14. package/dist/{audio-preflight-BuT_gIRW.js → audio-preflight-XrlQA8IZ.js} +11 -11
  15. package/dist/{audit-Cgd5-Y7W.js → audit-BjI_Yyr5.js} +5 -5
  16. package/dist/{audit-BxqTVyZo.js → audit-DB9YkTVX.js} +5 -5
  17. package/dist/{auth-choice-CnpKK0cS.js → auth-choice-CCGIgXvF.js} +4 -4
  18. package/dist/{auth-choice-BnJzLsv5.js → auth-choice-CiMf3Pjp.js} +4 -4
  19. package/dist/{auth-profiles-CZZjOpX8.js → auth-profiles-q3HjbboY.js} +17 -17
  20. package/dist/{banner-DdpNhjX6.js → banner-BNsB_A87.js} +1 -1
  21. package/dist/{bindings-Bat2RnAR.js → bindings-BsHoBLIE.js} +2 -2
  22. package/dist/{browser-cli-BrzYV9w9.js → browser-cli-Ctn9do4z.js} +3 -3
  23. package/dist/{browser-cli-Dun4KSp2.js → browser-cli-kDUw45Y0.js} +3 -3
  24. package/dist/build-info.json +3 -3
  25. package/dist/bundled/boot-md/handler.js +54 -54
  26. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  27. package/dist/bundled/command-logger/handler.js +1 -1
  28. package/dist/bundled/session-memory/handler.js +54 -54
  29. package/dist/{call-DIDhYlsx.js → call-DKi-hnaF.js} +1 -1
  30. package/dist/{call-CFhGTNtt.js → call-DwpGquzW.js} +1 -1
  31. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  32. package/dist/{channel-activity-Cm1OJRbv.js → channel-activity-D-kw83R0.js} +1 -1
  33. package/dist/{channel-options-CJE7N_QV.js → channel-options-BMQlkUDX.js} +1 -1
  34. package/dist/{channel-options-47wHx-rM.js → channel-options-pAH4A-xX.js} +1 -1
  35. package/dist/{channel-web-CVf8YV4M.js → channel-web-Dwuj48T5.js} +7 -7
  36. package/dist/{channels-cli-CMLy_xVT.js → channels-cli-CuExxB0U.js} +30 -30
  37. package/dist/{channels-cli-Iya7tcnY.js → channels-cli-rmDzxb0W.js} +29 -29
  38. package/dist/{chrome-CXbfCc20.js → chrome-BYOhnxTr.js} +5 -5
  39. package/dist/{chrome-D0sqCqXY.js → chrome-BxwUEWrH.js} +16 -16
  40. package/dist/{chrome-Dq0bSDVx.js → chrome-DAw-AWNi.js} +1 -1
  41. package/dist/{chrome-DtPkPq9T.js → chrome-DU2ZysN3.js} +1 -1
  42. package/dist/{chunk-B9x_1qSr.js → chunk-BHW8Yu5A.js} +1 -1
  43. package/dist/cli/daemon-cli.js +1 -1
  44. package/dist/{cli-dC-CEeDc.js → cli-BPGZalMg.js} +25 -25
  45. package/dist/{cli-DmGUr8aj.js → cli-Mcq2pPI0.js} +26 -26
  46. package/dist/{command-registry-DSV-4T7A.js → command-registry-BoEw2RzH.js} +11 -11
  47. package/dist/{commands-registry-DPf4J7nj.js → commands-registry-BSvi46KZ.js} +4 -4
  48. package/dist/{completion-cli-dlL2VvFw.js → completion-cli-CE9Xqlyx.js} +1 -1
  49. package/dist/{completion-cli-DjQVuJdD.js → completion-cli-CQVZGJPg.js} +2 -2
  50. package/dist/{config-giEDOxub.js → config-B6OxYMgn.js} +21 -13
  51. package/dist/{config-DHBLS1Hl.js → config-BNTB6qj8.js} +9 -1
  52. package/dist/{config-DBqxAhpU.js → config-BUTI-mUZ.js} +9 -1
  53. package/dist/{config-CHwyw6l5.js → config-Dz95lSBW.js} +9 -1
  54. package/dist/{config-cli-Cm4KwczC.js → config-cli-BucNvr-c.js} +2 -2
  55. package/dist/{config-cli-DLFKoU1U.js → config-cli-mU_ckD4l.js} +2 -2
  56. package/dist/{config-guard-CPHvOzsC.js → config-guard-B1skCv1C.js} +2 -2
  57. package/dist/{config-guard--WfHrCVe.js → config-guard-CEkSg4hl.js} +3 -3
  58. package/dist/{config-validation-BITwrsxY.js → config-validation-Cutpn5eO.js} +1 -1
  59. package/dist/{config-validation-BckiR0w9.js → config-validation-HDVDlMSV.js} +1 -1
  60. package/dist/{configure-DNRNOqKI.js → configure-CDOF87Fk.js} +10 -10
  61. package/dist/{configure-BbFd3c68.js → configure-CxnBcN95.js} +10 -10
  62. package/dist/{control-service-Dtn-qw2s.js → control-service-BYKXzY4f.js} +4 -4
  63. package/dist/{control-service-DEVN6FRR.js → control-service-rbSHSlcd.js} +4 -4
  64. package/dist/control-ui/css/style.css +43 -0
  65. package/dist/control-ui/index.html +7 -1
  66. package/dist/control-ui/js/app.js +41 -0
  67. package/dist/control-ui/js/models.js +56 -16
  68. package/dist/{cron-cli-Bml4UNHa.js → cron-cli-DCpsXkrw.js} +3 -3
  69. package/dist/{cron-cli-C-gg6wfO.js → cron-cli-QCTdVZuP.js} +3 -3
  70. package/dist/{daemon-cli-BPHe9wOW.js → daemon-cli-DSDcmWOi.js} +6 -6
  71. package/dist/{daemon-cli-0RLS-CwL.js → daemon-cli-DhJYEAoL.js} +6 -6
  72. package/dist/daemon-cli.js +9 -1
  73. package/dist/{daemon-runtime-CfRwa6qh.js → daemon-runtime-CVFg-ZmT.js} +1 -1
  74. package/dist/{daemon-runtime-COZ4usfy.js → daemon-runtime-mE1b-Q48.js} +1 -1
  75. package/dist/{deliver-DrFtaFZt.js → deliver-B4KZ6-oZ.js} +3 -3
  76. package/dist/{deliver-CXRSdUr1.js → deliver-Bu0iWeja.js} +3 -3
  77. package/dist/{deliver-BY58QnO8.js → deliver-C1HRkzPJ.js} +20 -20
  78. package/dist/{deliver-DepjYu87.js → deliver-DtuY4Wgl.js} +2 -2
  79. package/dist/{devices-cli-CI2TOoP1.js → devices-cli-BNG-fvdl.js} +2 -2
  80. package/dist/{devices-cli-texa_iUV.js → devices-cli-x3jIP4Ih.js} +2 -2
  81. package/dist/{diagnostic-DIKKFHpP.js → diagnostic-CQiU0O8b.js} +1 -1
  82. package/dist/{directory-cli-D6vlxPje.js → directory-cli-BxnSZZsW.js} +1 -1
  83. package/dist/{directory-cli-BRMi7Alb.js → directory-cli-KgsAVTA0.js} +1 -1
  84. package/dist/{dns-cli-BEub5qgQ.js → dns-cli-BuVomfxS.js} +1 -1
  85. package/dist/{dns-cli-BsRMpavf.js → dns-cli-Cwr92Aiq.js} +1 -1
  86. package/dist/{doctor-completion-Z_RXu40-.js → doctor-completion-CHF_TwGQ.js} +1 -1
  87. package/dist/{doctor-completion-Cm7WG43a.js → doctor-completion-CoftKlUX.js} +1 -1
  88. package/dist/{doctor-config-flow-CA3eiKhd.js → doctor-config-flow-DhAYwhNB.js} +2 -2
  89. package/dist/{doctor-config-flow-BTQvpBys.js → doctor-config-flow-iIzSEQxb.js} +2 -2
  90. package/dist/entry.js +1 -1
  91. package/dist/{env-xmBFQPBP.js → env-BDXYbTKj.js} +1 -1
  92. package/dist/{exec-approvals-cli-DxKAWA8Y.js → exec-approvals-cli-BSgxsdMt.js} +4 -4
  93. package/dist/{exec-approvals-cli-wesKZNXl.js → exec-approvals-cli-CmndFjEA.js} +4 -4
  94. package/dist/extensionAPI.js +13 -13
  95. package/dist/{frontmatter-CV0YkjoY.js → frontmatter-CTR5f_Ez.js} +2 -2
  96. package/dist/{gateway-cli-DliBYmLu.js → gateway-cli-G7fiXsQ6.js} +42 -42
  97. package/dist/{gateway-cli-Fnxgv97F.js → gateway-cli-SNaqDM7f.js} +41 -41
  98. package/dist/{gateway-rpc-DiTk_nOl.js → gateway-rpc-5fREQe9Q.js} +1 -1
  99. package/dist/{gateway-rpc-BkB6xEaM.js → gateway-rpc-BMdVa3QV.js} +1 -1
  100. package/dist/{gemini-auth-C39f2zRe.js → gemini-auth-BkLFtndu.js} +1 -1
  101. package/dist/{github-copilot-token-B8B2pmph.js → github-copilot-token-cCYzSU9h.js} +7 -7
  102. package/dist/{glass-ui-ws-CfNTIb_g.js → glass-ui-ws-CF0__vuO.js} +34 -34
  103. package/dist/{glass-ui-ws-B0sH6QQi.js → glass-ui-ws-he25wGFt.js} +33 -33
  104. package/dist/{health-9z0Hpkuc.js → health-en2N_Kqc.js} +5 -5
  105. package/dist/{health-NTpZ8ssG.js → health-q7706M36.js} +5 -5
  106. package/dist/{hooks-cli-C86OGnVu.js → hooks-cli-C4rVaLzZ.js} +26 -26
  107. package/dist/{hooks-cli-wq_uFJly.js → hooks-cli-ChQbBpyb.js} +27 -27
  108. package/dist/{image-BwXkayiM.js → image-BWmcNF8N.js} +2 -2
  109. package/dist/{image-CO4meYzg.js → image-C3wYkWyK.js} +2 -2
  110. package/dist/{image-CKMw_vhe.js → image-CbyTdMd5.js} +4 -4
  111. package/dist/{image-CjuJpc3E.js → image-lp19FlzF.js} +2 -2
  112. package/dist/{image-ops-M5agStZn.js → image-ops-C7CauEK8.js} +16 -16
  113. package/dist/index.js +34 -34
  114. package/dist/{ir-Z9axTYHx.js → ir-JAy_3A3B.js} +4 -4
  115. package/dist/{lifecycle-core-DIBHfMOL.js → lifecycle-core-BZ5sOcHT.js} +2 -2
  116. package/dist/{lifecycle-core-D0n_6gjJ.js → lifecycle-core-C4HzGXA1.js} +2 -2
  117. package/dist/llm-slug-generator.js +54 -54
  118. package/dist/{local-roots-Bh5xx9IO.js → local-roots-Se92wAN5.js} +5 -5
  119. package/dist/{login-CeXFO0OG.js → login-BkbDSDPc.js} +2 -2
  120. package/dist/{login-2w0Q7Btb.js → login-BtBwGFrb.js} +7 -7
  121. package/dist/{login-tFW8qUTU.js → login-CiVdC-o_.js} +2 -2
  122. package/dist/{login-y9uojrfG.js → login-DODfJ3Dn.js} +2 -2
  123. package/dist/{login-qr-CC0TE3ax.js → login-qr-CBRxijIg.js} +2 -2
  124. package/dist/{login-qr-CqPpNO1y.js → login-qr-DPxuLEvD.js} +2 -2
  125. package/dist/{login-qr-BMIn_eOf.js → login-qr-Dbw5m381.js} +2 -2
  126. package/dist/{login-qr-BJMvic1s.js → login-qr-q201Ckfe.js} +12 -12
  127. package/dist/{logs-cli-Dld6m2xN.js → logs-cli-CfGj-dOg.js} +3 -3
  128. package/dist/{logs-cli-Dvs8e7u9.js → logs-cli-DtlrLf7u.js} +3 -3
  129. package/dist/{manager-BoLUtbg2.js → manager-CJ3M1Uxq.js} +22 -22
  130. package/dist/{manifest-registry-0J48biqr.js → manifest-registry-yb7sAlu4.js} +19 -19
  131. package/dist/{markdown-tables-DuRhvVpP.js → markdown-tables-Dnj2LQUc.js} +1 -1
  132. package/dist/{memory-cli-C2SWDd8g.js → memory-cli-Btzr8gfD.js} +1 -1
  133. package/dist/{memory-cli-CPONmMrJ.js → memory-cli-DDumUksr.js} +1 -1
  134. package/dist/{message-channel-DwDSKGn4.js → message-channel-OlFBYAw8.js} +1 -1
  135. package/dist/{model-catalog-r6v4orfa.js → model-catalog-8Son0J4O.js} +2 -2
  136. package/dist/{model-catalog-Bn0ffe1O.js → model-catalog-DNvgFPZn.js} +2 -2
  137. package/dist/{model-picker-TnkH7DsN.js → model-picker-CAm2Bftd.js} +2 -2
  138. package/dist/{model-picker-D1J9kB3d.js → model-picker-Casgrpw3.js} +2 -2
  139. package/dist/{models-DfuMRKvu.js → models-DOTpfa7b.js} +8 -8
  140. package/dist/{models-cli-BJv-aMkH.js → models-cli-CBl45f7R.js} +28 -28
  141. package/dist/{models-cli-FnD3ZD7s.js → models-cli-MJAY_Wg4.js} +29 -29
  142. package/dist/{models-config-CCMpqFyr.js → models-config-Be8DRFkB.js} +1 -1
  143. package/dist/{models-config-qyOXrOli.js → models-config-CFFjJPe7.js} +1 -1
  144. package/dist/{node-cli-C8xs7jkn.js → node-cli-DnfDOh1d.js} +9 -9
  145. package/dist/{node-cli-C4b1vFcY.js → node-cli-eHn9-YfJ.js} +9 -9
  146. package/dist/{nodes-cli-_wKGGKvG.js → nodes-cli-Ci3oxw8k.js} +3 -3
  147. package/dist/{nodes-cli-alQ9Bv_-.js → nodes-cli-Ct4M7JOe.js} +3 -3
  148. package/dist/{onboard-BSlbkbv-.js → onboard-Bx02XPb1.js} +7 -7
  149. package/dist/{onboard-A5dfwOyL.js → onboard-DQdGJ1lE.js} +7 -7
  150. package/dist/{onboard-channels-CEZpwlsw.js → onboard-channels-Bp89ZT6Q.js} +1 -1
  151. package/dist/{onboard-channels-DjqHX51z.js → onboard-channels-Ct2eNYUC.js} +1 -1
  152. package/dist/{onboard-custom-yNOjvlgR.js → onboard-custom-CQOMQkfS.js} +2 -2
  153. package/dist/{onboard-custom-BNyCb71p.js → onboard-custom-XiomtQr7.js} +2 -2
  154. package/dist/{onboard-helpers-DASpwgat.js → onboard-helpers-BBtPmJEe.js} +2 -2
  155. package/dist/{onboard-helpers-CAjcAisT.js → onboard-helpers-DFvWPFhU.js} +2 -2
  156. package/dist/{onboard-remote-D-8pd-tx.js → onboard-remote-BURDxwoE.js} +1 -1
  157. package/dist/{onboard-remote-xXi061GI.js → onboard-remote-D-B4EiOE.js} +1 -1
  158. package/dist/{onboard-skills-Bn2T6lze.js → onboard-skills-BDCzVjxb.js} +1 -1
  159. package/dist/{onboard-skills-c4Rw-CGf.js → onboard-skills-CbzgBT1W.js} +1 -1
  160. package/dist/{onboarding-COqa6a28.js → onboarding-Dnn_0VTy.js} +10 -10
  161. package/dist/{onboarding-BTNiewJj.js → onboarding-DxUcsrKV.js} +10 -10
  162. package/dist/{onboarding.finalize-CAax5IdL.js → onboarding.finalize-1kzzMLFM.js} +33 -33
  163. package/dist/{onboarding.finalize-CDsTN9zD.js → onboarding.finalize-Dwr-jEtL.js} +31 -31
  164. package/dist/{onboarding.gateway-config-D6SN3HBb.js → onboarding.gateway-config-B9zGPfCl.js} +4 -4
  165. package/dist/{onboarding.gateway-config-DOna9Sr4.js → onboarding.gateway-config-DKwJ5bWd.js} +4 -4
  166. package/dist/{outbound-BihTVvMr.js → outbound-BIOChOHt.js} +1 -1
  167. package/dist/{outbound-drXCcH8D.js → outbound-Bt8rj9kO.js} +1 -1
  168. package/dist/{outbound-B_wliV26.js → outbound-DL8bdXlZ.js} +7 -7
  169. package/dist/{outbound-attachment-BOy-OY4-.js → outbound-attachment-BzwVH4Pn.js} +2 -2
  170. package/dist/{outbound-DyBiNY4z.js → outbound-wnv03tb3.js} +1 -1
  171. package/dist/{pairing-cli-CpKm3M-X.js → pairing-cli-DSM82gJG.js} +1 -1
  172. package/dist/{pairing-cli-CQRAnpvm.js → pairing-cli-HDWwcqjZ.js} +1 -1
  173. package/dist/{paths-DEuVuViW.js → paths-CbQV9WEg.js} +1 -1
  174. package/dist/{pi-auth-json-BQcKJvH0.js → pi-auth-json-CCaxCywz.js} +1 -1
  175. package/dist/{pi-embedded-R_JHJFwq.js → pi-embedded-BfEg6Wwb.js} +468 -253
  176. package/dist/{pi-embedded-helpers-BuVSLhG_.js → pi-embedded-helpers-BgdB5kvy.js} +1 -1
  177. package/dist/{pi-embedded-helpers-DE9h5GAu.js → pi-embedded-helpers-DA4liAIZ.js} +1 -1
  178. package/dist/{pi-embedded-helpers-BJrRH97f.js → pi-embedded-helpers-Dij3O6ox.js} +5 -5
  179. package/dist/{pi-embedded-helpers-Cr1X3W9i.js → pi-embedded-helpers-GaCyI2oH.js} +73 -73
  180. package/dist/{pi-tools.policy-C6MWZ59E.js → pi-tools.policy-DRWb_Cax.js} +2 -2
  181. package/dist/{pi-tools.policy-De00gPXt.js → pi-tools.policy-DxNwL7Dl.js} +2 -2
  182. package/dist/{plugin-registry-DeT0nOee.js → plugin-registry-BMFEJ4FA.js} +2 -2
  183. package/dist/{plugin-registry-DMUt9X9t.js → plugin-registry-wAQeBSeD.js} +2 -2
  184. package/dist/plugin-sdk/agents/session-empty-prune.d.ts +37 -0
  185. package/dist/plugin-sdk/agents/session-transcript-repair.d.ts +8 -0
  186. package/dist/plugin-sdk/{audio-preflight-JLsqSVmS.js → audio-preflight-BacDFPyc.js} +5 -5
  187. package/dist/plugin-sdk/{channel-web-BtuQPMkd.js → channel-web-Ba27v-Om.js} +7 -7
  188. package/dist/plugin-sdk/{chrome-cPabhZZ4.js → chrome-BMimuhgP.js} +1 -1
  189. package/dist/plugin-sdk/config/model-profiles.d.ts +10 -0
  190. package/dist/plugin-sdk/config/zod-schema.core.d.ts +8 -0
  191. package/dist/plugin-sdk/config/zod-schema.d.ts +4 -0
  192. package/dist/plugin-sdk/{config-XjK1L039.js → config-DdA6JiyD.js} +9 -1
  193. package/dist/plugin-sdk/{deliver-Clj5uUID.js → deliver-Bxa1-mj5.js} +2 -2
  194. package/dist/plugin-sdk/{image-CAA-0T17.js → image-aq-JAobP.js} +2 -2
  195. package/dist/plugin-sdk/index.js +17 -17
  196. package/dist/plugin-sdk/{login-Btqnuww9.js → login-CHgiUvI_.js} +2 -2
  197. package/dist/plugin-sdk/{login-qr-Bxhch9R1.js → login-qr-D5vJo1fy.js} +2 -2
  198. package/dist/plugin-sdk/{outbound-D_7ktHfW.js → outbound-CD38Hxn9.js} +1 -1
  199. package/dist/plugin-sdk/{pi-embedded-helpers-CDrcAlGW.js → pi-embedded-helpers-BPvzgLtj.js} +5 -5
  200. package/dist/plugin-sdk/{pw-ai-CJjlxWj7.js → pw-ai-fdBOQzz5.js} +2 -2
  201. package/dist/plugin-sdk/{replies-DC9NI2KS.js → replies-CW_-4klO.js} +1 -1
  202. package/dist/plugin-sdk/{reply-CnTdwks6.js → reply-Bok_WQGW.js} +464 -249
  203. package/dist/plugin-sdk/{runner-CBq0_f-j.js → runner-BQJ7x06O.js} +2 -2
  204. package/dist/plugin-sdk/{send-BditKDxK.js → send-C4t6h9-o.js} +1 -1
  205. package/dist/plugin-sdk/{send-u7SJPkmf.js → send-Cz_FQ8Ao.js} +1 -1
  206. package/dist/plugin-sdk/{send-vTA7ntTD.js → send-DG6c7BpZ.js} +1 -1
  207. package/dist/plugin-sdk/{send-CdJoYllr.js → send-HKy51Hz_.js} +1 -1
  208. package/dist/plugin-sdk/{send-BeO7M3pz.js → send-Xy1L54q4.js} +1 -1
  209. package/dist/plugin-sdk/{session-t6hhaLPe.js → session-BUzIlHr9.js} +1 -1
  210. package/dist/plugin-sdk/{web-BkK8fGjJ.js → web-BoOAa0Xn.js} +17 -17
  211. package/dist/plugin-sdk/{whatsapp-actions-DifisvHY.js → whatsapp-actions-CZLagx0h.js} +2 -2
  212. package/dist/{plugins-Bkr5ZdYs.js → plugins-BzmbgY7s.js} +9 -9
  213. package/dist/{plugins-cli-D85G3qZp.js → plugins-cli-B36YKKla.js} +26 -26
  214. package/dist/{plugins-cli-BCYM8B89.js → plugins-cli-DoJbbST7.js} +27 -27
  215. package/dist/{program-C4k7oBuC.js → program-4f7W2RMs.js} +33 -33
  216. package/dist/{program-context-CiGMAzyC.js → program-context-Y4KnAKNT.js} +38 -38
  217. package/dist/{prompt-select-styled-CYiMonwj.js → prompt-select-styled-D0sLJ4TD.js} +14 -14
  218. package/dist/{prompt-select-styled-CoWkFI4l.js → prompt-select-styled-Dql_0SI0.js} +14 -14
  219. package/dist/{provider-auth-helpers-CfkQBpo7.js → provider-auth-helpers-CJbHC_mv.js} +2 -2
  220. package/dist/{provider-auth-helpers-B8RGFZit.js → provider-auth-helpers-GSv3namf.js} +2 -2
  221. package/dist/{push-apns-DmpUv3y4.js → push-apns-giplY7u-.js} +1 -1
  222. package/dist/{push-apns-DM6nj062.js → push-apns-sxB8QxSj.js} +1 -1
  223. package/dist/{pw-ai-CbyO1fbh.js → pw-ai-BCSFVeD5.js} +2 -2
  224. package/dist/{pw-ai-CS2tDZd2.js → pw-ai-BO5cSmwD.js} +2 -2
  225. package/dist/{pw-ai-C_1hRlOM.js → pw-ai-DQohWnzT.js} +2 -2
  226. package/dist/{pw-ai-Ch_WUbQZ.js → pw-ai-pQoxTh-a.js} +11 -11
  227. package/dist/{qmd-manager-8-Z3Cdpt.js → qmd-manager-lBS9mT9w.js} +7 -7
  228. package/dist/{qr-cli-9L-HExyH.js → qr-cli-CejYwqsj.js} +1 -1
  229. package/dist/{qr-cli-mgnfD5ce.js → qr-cli-XttU2KOR.js} +1 -1
  230. package/dist/{register.agent-DX-OyYzL.js → register.agent-_2tVQLMK.js} +34 -34
  231. package/dist/{register.agent-DcvwdQXs.js → register.agent-vd2BSsyE.js} +32 -32
  232. package/dist/{register.configure-DBaELzEM.js → register.configure-BVKwTrz8.js} +37 -37
  233. package/dist/{register.configure-Bldjj3LP.js → register.configure-D-XV6_Nb.js} +36 -36
  234. package/dist/{register.maintenance-DAwf6cHN.js → register.maintenance-BqYR2fop.js} +36 -36
  235. package/dist/{register.maintenance-DVv8ljal.js → register.maintenance-XySU31jf.js} +34 -34
  236. package/dist/{register.message-ClKGIfK4.js → register.message-CCfWNWs3.js} +26 -26
  237. package/dist/{register.message-DUeR-Dz2.js → register.message-DOyREWdG.js} +27 -27
  238. package/dist/{register.onboard-DJEZcUm5.js → register.onboard-Dy_D_uMj.js} +33 -33
  239. package/dist/{register.onboard-DWrxbBr5.js → register.onboard-zmF-euog.js} +32 -32
  240. package/dist/{register.setup-BDqhSgCz.js → register.setup-DiGPa1Fw.js} +32 -32
  241. package/dist/{register.setup-Ah9E7LHA.js → register.setup-cE7gPp2m.js} +33 -33
  242. package/dist/{register.status-health-sessions-CMQS8zwA.js → register.status-health-sessions-DWKL1rkz.js} +29 -29
  243. package/dist/{register.status-health-sessions-BJYemCHi.js → register.status-health-sessions-ksv1WnIs.js} +31 -31
  244. package/dist/{register.subclis-Bb0yWevQ.js → register.subclis-Crt_IYK0.js} +28 -28
  245. package/dist/{registry-UkL38jvt.js → registry-DYq1AYOv.js} +17 -17
  246. package/dist/{replies-vgss3_QA.js → replies-BMqtgBhh.js} +1 -1
  247. package/dist/{replies-DO80zq73.js → replies-Bo49QlAg.js} +1 -1
  248. package/dist/{replies-CbeMv5WZ.js → replies-CBS0567j.js} +3 -3
  249. package/dist/{replies-CM5QgPHM.js → replies-CfyMcfoY.js} +1 -1
  250. package/dist/{reply-YphHjxHp.js → reply-CjYJHt_H.js} +475 -260
  251. package/dist/{reply-prefix-ZnX2V-k9.js → reply-prefix-CvEIl6_d.js} +1 -1
  252. package/dist/{resolve-route-gl0ZOOKR.js → resolve-route-DX7xcMsD.js} +4 -4
  253. package/dist/{retry-D25Z8MVS.js → retry-B-y5suGA.js} +1 -1
  254. package/dist/{routes-B1-BfEDm.js → routes-BAZTZNuQ.js} +3 -3
  255. package/dist/{routes-BFw2-yAN.js → routes-CMvgBDOg.js} +3 -3
  256. package/dist/{rpc-gJOYujMj.js → rpc-Co5PQ3IJ.js} +1 -1
  257. package/dist/{rpc--E7i90bk.js → rpc-D0FiEinj.js} +1 -1
  258. package/dist/{run-main-CZI2Ne08.js → run-main-bOlPbL7t.js} +44 -44
  259. package/dist/{runner-B2Y_5crX.js → runner-B0AbN8wV.js} +22 -22
  260. package/dist/{runner-DKkSu9cc.js → runner-Ct0suQrd.js} +2 -2
  261. package/dist/{runner-DmM2HhB-.js → runner-DRv0uCK_.js} +3 -3
  262. package/dist/{runner-CW9KEL7W.js → runner-Dd2bbNGV.js} +3 -3
  263. package/dist/{sandbox-DAOxwUQm.js → sandbox-B6N8cV4d.js} +5 -5
  264. package/dist/{sandbox-BFzSUT19.js → sandbox-DY75ZyJD.js} +5 -5
  265. package/dist/{sandbox-cli-Cj5__-gh.js → sandbox-cli-BDM_QM_f.js} +6 -6
  266. package/dist/{sandbox-cli-BV6FS0bK.js → sandbox-cli-DwzaNjIJ.js} +6 -6
  267. package/dist/{security-cli-KxA9AZ3q.js → security-cli-CG1uSlRK.js} +9 -9
  268. package/dist/{security-cli-BA4AGkeh.js → security-cli-D5BWzqEJ.js} +9 -9
  269. package/dist/{send-ZI2bG_Jc.js → send-9SapUCg7.js} +1 -1
  270. package/dist/{send-Cutb0ZDY.js → send-B3RdXvjC.js} +1 -1
  271. package/dist/{send-CukP8Vq4.js → send-B7HhiTdx.js} +1 -1
  272. package/dist/{send-DHWMRnPk.js → send-B986asZ7.js} +1 -1
  273. package/dist/{send-iUSZIdml.js → send-B9EinkUl.js} +7 -7
  274. package/dist/{send-CCNIWI2Z.js → send-BNnv8GtF.js} +10 -10
  275. package/dist/{send-CY8oqBFg.js → send-BhJZ16uV.js} +1 -1
  276. package/dist/{send-Cgcbuw8U.js → send-Bm4ULEzh.js} +1 -1
  277. package/dist/{send-CFzf_ab4.js → send-BzKHnf3b.js} +1 -1
  278. package/dist/{send-DTTtmhjA.js → send-CC9V8V81.js} +1 -1
  279. package/dist/{send-CZr1hVHY.js → send-CQVnyJyF.js} +1 -1
  280. package/dist/{send-CPSKimCF.js → send-CZemAajS.js} +6 -6
  281. package/dist/{send-Dy8tsHUE.js → send-DI9Vhnmw.js} +6 -6
  282. package/dist/{send-CB3dCCmE.js → send-DLWaX69q.js} +1 -1
  283. package/dist/{send-DK_pm_7l.js → send-DSnJ503J.js} +1 -1
  284. package/dist/{send-CPF8hSFp.js → send-DVm0du0_.js} +1 -1
  285. package/dist/{send-sgxdFZNy.js → send-DaBsat3L.js} +18 -18
  286. package/dist/{send-iVPD3yf2.js → send-DdLJtOjk.js} +1 -1
  287. package/dist/{send-CR5fRDgW.js → send-DlQtxlG_.js} +1 -1
  288. package/dist/{send-BJTX03Bn.js → send-RfIXG6-I.js} +1 -1
  289. package/dist/{server-context-CHYWo_TC.js → server-context-CCBZN8a0.js} +5 -5
  290. package/dist/{server-context-H24IFajW.js → server-context-DK-T2rBR.js} +5 -5
  291. package/dist/{server-methods-DJ3Bi-Xg.js → server-methods-CiwWwj6K.js} +15 -15
  292. package/dist/{server-methods-C3xXynlm.js → server-methods-VimYvcpY.js} +16 -16
  293. package/dist/{server-node-events-Cgdwex4k.js → server-node-events-CHmLiFNV.js} +27 -27
  294. package/dist/{server-node-events-DS50d7AK.js → server-node-events-DYC45lKC.js} +26 -26
  295. package/dist/{session-Ckw7cXeP.js → session-C1cn-CxQ.js} +1 -1
  296. package/dist/{session-BF9s_N2s.js → session-CUeezgP1.js} +1 -1
  297. package/dist/{session-CINKYYDi.js → session-DsJGtM7g.js} +1 -1
  298. package/dist/{session-utils-Bka9dR4m.js → session-utils-B8Fif925.js} +3 -3
  299. package/dist/{session-BTpKgzso.js → session-v_9AVJhH.js} +8 -8
  300. package/dist/{sessions-CJXnZVjR.js → sessions-Cfa6JEB3.js} +1 -1
  301. package/dist/{sessions-DgYpBvse.js → sessions-Cpgnq0pA.js} +1 -1
  302. package/dist/{sessions-WBoXk-Ag.js → sessions-DfbhRBHR.js} +3 -3
  303. package/dist/{shared-CvNixzwn.js → shared-73T9fyuK.js} +1 -1
  304. package/dist/{shared-D8K9MkWg.js → shared-DdxPzyOH.js} +1 -1
  305. package/dist/{skill-commands-HBkNllDU.js → skill-commands-BiPrghRt.js} +16 -16
  306. package/dist/{skills-CGHRETGF.js → skills-Bs0AW1g3.js} +24 -24
  307. package/dist/{skills-cli-C-URp1av.js → skills-cli-DXkx4vNV.js} +1 -1
  308. package/dist/{skills-cli-CkTGL9dR.js → skills-cli-uEA9KXOO.js} +1 -1
  309. package/dist/{sqlite-JHY-uOmS.js → sqlite-BHWvOATS.js} +16 -16
  310. package/dist/{status-BBnhTX-n.js → status-CA5wJHMj.js} +2 -2
  311. package/dist/{status-0aNBSe72.js → status-DEpM69Pd.js} +9 -9
  312. package/dist/{status-2KD2q2sn.js → status-Dt_MXoNa.js} +2 -2
  313. package/dist/{status-D9uWA9pU.js → status-DxhtJtzE.js} +10 -10
  314. package/dist/{status.update-DbmZz0Aq.js → status.update-C2GN8s9C.js} +1 -1
  315. package/dist/{status.update-DP0OFqyb.js → status.update-CG0ciGaf.js} +1 -1
  316. package/dist/{store-Ea3zM6xK.js → store-01F_JM7O.js} +6 -6
  317. package/dist/{subagent-registry-aZczbtLM.js → subagent-registry-BPwn3Qm7.js} +476 -261
  318. package/dist/{subsystem-DN75fnEF.js → subsystem-BjyjJF-d.js} +1 -1
  319. package/dist/{system-cli-BXewgTZR.js → system-cli-DFZNGx0i.js} +3 -3
  320. package/dist/{system-cli-CECNjZdB.js → system-cli-Z7uzO8qd.js} +3 -3
  321. package/dist/{systemd-hints-sQipWGd1.js → systemd-hints-DT6cDIM2.js} +1 -1
  322. package/dist/{systemd-hints-DZH9qY5W.js → systemd-hints-xYZbFny_.js} +1 -1
  323. package/dist/{tables-Dkg9O8rv.js → tables-BuM4FKR3.js} +1 -1
  324. package/dist/{target-errors-Pr77jao5.js → target-errors-BEugWC4F.js} +2 -2
  325. package/dist/{thinking-C9-JAUzD.js → thinking-BprCy23Z.js} +5 -5
  326. package/dist/{tokens-CCZl4YHT.js → tokens-W0JzCJJM.js} +1 -1
  327. package/dist/{tool-images-B1qVCntj.js → tool-images-SqqWIT22.js} +2 -2
  328. package/dist/{tool-loop-detection-C33wf43N.js → tool-loop-detection-D5mBY7AC.js} +3 -3
  329. package/dist/{tui-DLaU7tTx.js → tui-DjPsMdL6.js} +4 -4
  330. package/dist/{tui-2nWOvxxE.js → tui-DrATGNms.js} +4 -4
  331. package/dist/{tui-cli-B-Nl_8uj.js → tui-cli-D19-MCXt.js} +9 -9
  332. package/dist/{tui-cli-D-PVUsS5.js → tui-cli-pWD_NrUR.js} +9 -9
  333. package/dist/{unified-runner-hulABWDL.js → unified-runner-CVkyzT1I.js} +444 -229
  334. package/dist/{update-cli-DwGmFbPH.js → update-cli-Dh_dfprI.js} +39 -39
  335. package/dist/{update-cli-CnN_k3P1.js → update-cli-Dv4c5Gup.js} +37 -37
  336. package/dist/{update-runner-BkdQhkKR.js → update-runner-CG_kbbGR.js} +1 -1
  337. package/dist/{update-runner-dT5l0kuK.js → update-runner-MMFI1UZ0.js} +1 -1
  338. package/dist/{web-DpQ5RaFz.js → web-BUc-ts5b.js} +58 -58
  339. package/dist/{web-C0ZdaR6w.js → web-CJk-lv93.js} +16 -16
  340. package/dist/{web-CJSRBiDm.js → web-CfVd3Mhp.js} +29 -29
  341. package/dist/{web-DPki9fDa.js → web-DCBOD-Vj.js} +29 -29
  342. package/dist/{webhooks-cli-iOLEyFdx.js → webhooks-cli-BRxe4uCg.js} +1 -1
  343. package/dist/{webhooks-cli-ChiCyIaD.js → webhooks-cli-CsRZl0_H.js} +1 -1
  344. package/dist/{whatsapp-actions-C8nNH4ax.js → whatsapp-actions-7YbV2-Fv.js} +2 -2
  345. package/dist/{whatsapp-actions-BW8P8Izy.js → whatsapp-actions-BylecqEa.js} +2 -2
  346. package/dist/{whatsapp-actions-BmcMtU_J.js → whatsapp-actions-ChO_shrk.js} +2 -2
  347. package/dist/{whatsapp-actions-D_w4AfW9.js → whatsapp-actions-mBarFBeS.js} +23 -23
  348. package/dist/{with-timeout-Di0nddLY.js → with-timeout-Cgi3TwWN.js} +1 -1
  349. package/dist/{with-timeout-D2z7OkiK.js → with-timeout-CtVdu_1U.js} +1 -1
  350. package/dist/{workspace-DqJ5h-ZB.js → workspace-DscDraUb.js} +27 -27
  351. package/extensions/bluebubbles/package.json +1 -1
  352. package/extensions/copilot-proxy/package.json +1 -1
  353. package/extensions/diagnostics-otel/package.json +1 -1
  354. package/extensions/discord/package.json +1 -1
  355. package/extensions/feishu/package.json +1 -1
  356. package/extensions/google-antigravity-auth/package.json +1 -1
  357. package/extensions/google-gemini-cli-auth/package.json +1 -1
  358. package/extensions/googlechat/package.json +1 -1
  359. package/extensions/imessage/package.json +1 -1
  360. package/extensions/irc/package.json +1 -1
  361. package/extensions/learning-loop/package.json +1 -1
  362. package/extensions/line/package.json +1 -1
  363. package/extensions/llm-task/package.json +1 -1
  364. package/extensions/matrix/CHANGELOG.md +12 -0
  365. package/extensions/matrix/package.json +1 -1
  366. package/extensions/mattermost/package.json +1 -1
  367. package/extensions/memory-core/package.json +1 -1
  368. package/extensions/memory-lancedb/package.json +1 -1
  369. package/extensions/minimax-portal-auth/package.json +1 -1
  370. package/extensions/msteams/CHANGELOG.md +12 -0
  371. package/extensions/msteams/package.json +1 -1
  372. package/extensions/nextcloud-talk/package.json +1 -1
  373. package/extensions/nostr/CHANGELOG.md +12 -0
  374. package/extensions/nostr/package.json +1 -1
  375. package/extensions/open-prose/package.json +1 -1
  376. package/extensions/outlook/package.json +1 -1
  377. package/extensions/pipeline/package.json +1 -1
  378. package/extensions/signal/package.json +1 -1
  379. package/extensions/slack/package.json +1 -1
  380. package/extensions/telegram/package.json +1 -1
  381. package/extensions/tlon/package.json +1 -1
  382. package/extensions/twitch/CHANGELOG.md +12 -0
  383. package/extensions/twitch/package.json +1 -1
  384. package/extensions/voice-call/CHANGELOG.md +12 -0
  385. package/extensions/voice-call/package.json +1 -1
  386. package/extensions/whatsapp/package.json +1 -1
  387. package/extensions/zalo/CHANGELOG.md +12 -0
  388. package/extensions/zalo/package.json +1 -1
  389. package/extensions/zalouser/CHANGELOG.md +12 -0
  390. package/extensions/zalouser/package.json +1 -1
  391. package/package.json +1 -1
  392. package/dist/paths-CYmyCDsE.js +0 -212
@@ -1,13 +1,13 @@
1
- import { I as resolveUserPath, S as CONFIG_DIR } from "./registry-UkL38jvt.js";
2
- import { f as normalizeSkillFilter } from "./agent-scope-D68_xfTL.js";
3
- import { t as createSubsystemLogger } from "./subsystem-DN75fnEF.js";
4
- import { h as resolveSymiPackageRootSync } from "./workspace-DqJ5h-ZB.js";
5
- import { c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, o as normalizePluginsConfig, s as resolveEnableState, t as loadPluginManifestRegistry } from "./manifest-registry-0J48biqr.js";
6
- import { a as resolveSymiManifestBlock, c as resolveSymiManifestRequires, d as hasBinary, f as isConfigPathTruthyWithDefaults, i as parseSymiManifestInstallBase, l as parseFrontmatterBlock, n as normalizeStringList, o as resolveSymiManifestInstall, p as resolveRuntimePlatform, r as parseFrontmatterBool, s as resolveSymiManifestOs, t as getFrontmatterString, u as evaluateRuntimeRequires } from "./frontmatter-CV0YkjoY.js";
1
+ import { I as resolveUserPath, S as CONFIG_DIR } from "./registry-DYq1AYOv.js";
2
+ import { f as normalizeSkillFilter } from "./agent-scope-CpEJ0B88.js";
3
+ import { t as createSubsystemLogger } from "./subsystem-BjyjJF-d.js";
4
+ import { h as resolveSymiPackageRootSync } from "./workspace-DscDraUb.js";
5
+ import { c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, o as normalizePluginsConfig, s as resolveEnableState, t as loadPluginManifestRegistry } from "./manifest-registry-yb7sAlu4.js";
6
+ import { a as resolveSymiManifestBlock, c as resolveSymiManifestRequires, d as hasBinary, f as isConfigPathTruthyWithDefaults, i as parseSymiManifestInstallBase, l as parseFrontmatterBlock, n as normalizeStringList, o as resolveSymiManifestInstall, p as resolveRuntimePlatform, r as parseFrontmatterBool, s as resolveSymiManifestOs, t as getFrontmatterString, u as evaluateRuntimeRequires } from "./frontmatter-CTR5f_Ez.js";
7
7
  import path from "node:path";
8
- import fsSync from "node:fs";
8
+ import fs from "node:fs";
9
9
  import os from "node:os";
10
- import fs from "node:fs/promises";
10
+ import fs$1 from "node:fs/promises";
11
11
  import { fileURLToPath } from "node:url";
12
12
  import { formatSkillsForPrompt, loadSkillsFromDir } from "@mariozechner/pi-coding-agent";
13
13
 
@@ -391,7 +391,7 @@ async function assertNoSymlinkEscape(relative, root, options) {
391
391
  const isLast = idx === parts.length - 1;
392
392
  current = path.join(current, part);
393
393
  try {
394
- if ((await fs.lstat(current)).isSymbolicLink()) {
394
+ if ((await fs$1.lstat(current)).isSymbolicLink()) {
395
395
  if (options?.allowFinalSymlink && isLast) return;
396
396
  const target = await tryRealpath(current);
397
397
  if (!isPathInside(rootReal, target)) throw new Error(`Symlink escapes sandbox root (${shortPath(rootReal)}): ${shortPath(current)}`);
@@ -405,7 +405,7 @@ async function assertNoSymlinkEscape(relative, root, options) {
405
405
  }
406
406
  async function tryRealpath(value) {
407
407
  try {
408
- return await fs.realpath(value);
408
+ return await fs$1.realpath(value);
409
409
  } catch {
410
410
  return path.resolve(value);
411
411
  }
@@ -424,13 +424,13 @@ function shortPath(value) {
424
424
  //#region src/agents/skills/bundled-dir.ts
425
425
  function looksLikeSkillsDir(dir) {
426
426
  try {
427
- const entries = fsSync.readdirSync(dir, { withFileTypes: true });
427
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
428
428
  for (const entry of entries) {
429
429
  if (entry.name.startsWith(".")) continue;
430
430
  const fullPath = path.join(dir, entry.name);
431
431
  if (entry.isFile() && entry.name.endsWith(".md")) return true;
432
432
  if (entry.isDirectory()) {
433
- if (fsSync.existsSync(path.join(fullPath, "SKILL.md"))) return true;
433
+ if (fs.existsSync(path.join(fullPath, "SKILL.md"))) return true;
434
434
  }
435
435
  }
436
436
  } catch {
@@ -445,7 +445,7 @@ function resolveBundledSkillsDir(opts = {}) {
445
445
  const execPath = opts.execPath ?? process.execPath;
446
446
  const execDir = path.dirname(execPath);
447
447
  const sibling = path.join(execDir, "skills");
448
- if (fsSync.existsSync(sibling)) return sibling;
448
+ if (fs.existsSync(sibling)) return sibling;
449
449
  } catch {}
450
450
  try {
451
451
  const moduleUrl = opts.moduleUrl ?? import.meta.url;
@@ -501,7 +501,7 @@ function resolvePluginSkillDirs(params) {
501
501
  const trimmed = raw.trim();
502
502
  if (!trimmed) continue;
503
503
  const candidate = path.resolve(record.rootDir, trimmed);
504
- if (!fsSync.existsSync(candidate)) {
504
+ if (!fs.existsSync(candidate)) {
505
505
  log.warn(`plugin skill path not found (${record.id}): ${candidate}`);
506
506
  continue;
507
507
  }
@@ -528,7 +528,7 @@ async function serializeByKey(key, task) {
528
528
 
529
529
  //#endregion
530
530
  //#region src/agents/skills/workspace.ts
531
- const fsp = fsSync.promises;
531
+ const fsp = fs.promises;
532
532
  const skillsLogger = createSubsystemLogger("skills");
533
533
  const skillCommandDebugOnce = /* @__PURE__ */ new Set();
534
534
  /**
@@ -605,7 +605,7 @@ function resolveSkillsLimits(config) {
605
605
  }
606
606
  function listChildDirectories(dir) {
607
607
  try {
608
- const entries = fsSync.readdirSync(dir, { withFileTypes: true });
608
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
609
609
  const dirs = [];
610
610
  for (const entry of entries) {
611
611
  if (entry.name.startsWith(".")) continue;
@@ -616,7 +616,7 @@ function listChildDirectories(dir) {
616
616
  continue;
617
617
  }
618
618
  if (entry.isSymbolicLink()) try {
619
- if (fsSync.statSync(fullPath).isDirectory()) dirs.push(entry.name);
619
+ if (fs.statSync(fullPath).isDirectory()) dirs.push(entry.name);
620
620
  } catch {}
621
621
  }
622
622
  return dirs;
@@ -627,7 +627,7 @@ function listChildDirectories(dir) {
627
627
  function resolveNestedSkillsRoot(dir, opts) {
628
628
  const nested = path.join(dir, "skills");
629
629
  try {
630
- if (!fsSync.existsSync(nested) || !fsSync.statSync(nested).isDirectory()) return { baseDir: dir };
630
+ if (!fs.existsSync(nested) || !fs.statSync(nested).isDirectory()) return { baseDir: dir };
631
631
  } catch {
632
632
  return { baseDir: dir };
633
633
  }
@@ -636,7 +636,7 @@ function resolveNestedSkillsRoot(dir, opts) {
636
636
  const toScan = scanLimit === 0 ? [] : nestedDirs.slice(0, Math.min(nestedDirs.length, scanLimit));
637
637
  for (const name of toScan) {
638
638
  const skillMd = path.join(nested, name, "SKILL.md");
639
- if (fsSync.existsSync(skillMd)) return {
639
+ if (fs.existsSync(skillMd)) return {
640
640
  baseDir: nested,
641
641
  note: `Detected nested skills root at ${nested}`
642
642
  };
@@ -656,9 +656,9 @@ function loadSkillEntries(workspaceDir, opts) {
656
656
  const loadSkills = (params) => {
657
657
  const baseDir = resolveNestedSkillsRoot(params.dir, { maxEntriesToScan: limits.maxCandidatesPerRoot }).baseDir;
658
658
  const rootSkillMd = path.join(baseDir, "SKILL.md");
659
- if (fsSync.existsSync(rootSkillMd)) {
659
+ if (fs.existsSync(rootSkillMd)) {
660
660
  try {
661
- const size = fsSync.statSync(rootSkillMd).size;
661
+ const size = fs.statSync(rootSkillMd).size;
662
662
  if (size > limits.maxSkillFileBytes) {
663
663
  skillsLogger.warn("Skipping skills root due to oversized SKILL.md.", {
664
664
  dir: baseDir,
@@ -697,9 +697,9 @@ function loadSkillEntries(workspaceDir, opts) {
697
697
  for (const name of limitedChildren) {
698
698
  const skillDir = path.join(baseDir, name);
699
699
  const skillMd = path.join(skillDir, "SKILL.md");
700
- if (!fsSync.existsSync(skillMd)) continue;
700
+ if (!fs.existsSync(skillMd)) continue;
701
701
  try {
702
- const size = fsSync.statSync(skillMd).size;
702
+ const size = fs.statSync(skillMd).size;
703
703
  if (size > limits.maxSkillFileBytes) {
704
704
  skillsLogger.warn("Skipping skill due to oversized SKILL.md.", {
705
705
  skill: name,
@@ -767,7 +767,7 @@ function loadSkillEntries(workspaceDir, opts) {
767
767
  return Array.from(merged.values()).map((skill) => {
768
768
  let frontmatter = {};
769
769
  try {
770
- frontmatter = parseFrontmatter(fsSync.readFileSync(skill.filePath, "utf-8"));
770
+ frontmatter = parseFrontmatter(fs.readFileSync(skill.filePath, "utf-8"));
771
771
  } catch {}
772
772
  return {
773
773
  skill,
@@ -9,7 +9,7 @@ import "./github-copilot-token-DAu1a6BX.js";
9
9
  import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
10
10
  import "./boolean-BsqeuxE6.js";
11
11
  import "./env-DPCHYPeH.js";
12
- import { i as loadConfig } from "./config-CHwyw6l5.js";
12
+ import { i as loadConfig } from "./config-Dz95lSBW.js";
13
13
  import "./manifest-registry-C4BxOMWX.js";
14
14
  import { t as formatDocsLink } from "./links-3i1eUga4.js";
15
15
  import { t as renderTable } from "./table-BKlH0YlA.js";
@@ -5,7 +5,7 @@ import "./exec-CBKBIMpA.js";
5
5
  import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-D-jRCY0d.js";
6
6
  import "./github-copilot-token-DuFIqfeC.js";
7
7
  import "./manifest-registry-Czr39pxG.js";
8
- import { i as loadConfig } from "./config-DHBLS1Hl.js";
8
+ import { i as loadConfig } from "./config-BNTB6qj8.js";
9
9
  import { t as formatDocsLink } from "./links-DlWpl9Yv.js";
10
10
  import { t as renderTable } from "./table-D01d2GuY.js";
11
11
 
@@ -1,10 +1,10 @@
1
- import { t as createSubsystemLogger } from "./subsystem-DN75fnEF.js";
2
- import { o as resolveSessionTranscriptsDirForAgent } from "./paths-DEuVuViW.js";
1
+ import { t as createSubsystemLogger } from "./subsystem-BjyjJF-d.js";
2
+ import { o as resolveSessionTranscriptsDirForAgent } from "./paths-CbQV9WEg.js";
3
3
  import { t as redactSensitiveText } from "./redact-BDMXB06K.js";
4
4
  import { createRequire } from "node:module";
5
5
  import path from "node:path";
6
- import fsSync from "node:fs";
7
- import fs from "node:fs/promises";
6
+ import fs from "node:fs";
7
+ import fs$1 from "node:fs/promises";
8
8
  import crypto from "node:crypto";
9
9
 
10
10
  //#region src/memory/fs-utils.ts
@@ -14,7 +14,7 @@ function isFileMissingError(err) {
14
14
  async function statRegularFile(absPath) {
15
15
  let stat;
16
16
  try {
17
- stat = await fs.lstat(absPath);
17
+ stat = await fs$1.lstat(absPath);
18
18
  } catch (err) {
19
19
  if (isFileMissingError(err)) return { missing: true };
20
20
  throw err;
@@ -71,7 +71,7 @@ async function runTasksWithConcurrency(params) {
71
71
  //#region src/memory/internal.ts
72
72
  function ensureDir(dir) {
73
73
  try {
74
- fsSync.mkdirSync(dir, { recursive: true });
74
+ fs.mkdirSync(dir, { recursive: true });
75
75
  } catch {}
76
76
  return dir;
77
77
  }
@@ -90,7 +90,7 @@ function isMemoryPath(relPath) {
90
90
  return normalized.startsWith("memory/");
91
91
  }
92
92
  async function walkDir(dir, files) {
93
- const entries = await fs.readdir(dir, { withFileTypes: true });
93
+ const entries = await fs$1.readdir(dir, { withFileTypes: true });
94
94
  for (const entry of entries) {
95
95
  const full = path.join(dir, entry.name);
96
96
  if (entry.isSymbolicLink()) continue;
@@ -110,7 +110,7 @@ async function listMemoryFiles(workspaceDir, extraPaths) {
110
110
  const memoryDir = path.join(workspaceDir, "memory");
111
111
  const addMarkdownFile = async (absPath) => {
112
112
  try {
113
- const stat = await fs.lstat(absPath);
113
+ const stat = await fs$1.lstat(absPath);
114
114
  if (stat.isSymbolicLink() || !stat.isFile()) return;
115
115
  if (!absPath.endsWith(".md")) return;
116
116
  result.push(absPath);
@@ -119,12 +119,12 @@ async function listMemoryFiles(workspaceDir, extraPaths) {
119
119
  await addMarkdownFile(memoryFile);
120
120
  await addMarkdownFile(altMemoryFile);
121
121
  try {
122
- const dirStat = await fs.lstat(memoryDir);
122
+ const dirStat = await fs$1.lstat(memoryDir);
123
123
  if (!dirStat.isSymbolicLink() && dirStat.isDirectory()) await walkDir(memoryDir, result);
124
124
  } catch {}
125
125
  const normalizedExtraPaths = normalizeExtraMemoryPaths(workspaceDir, extraPaths);
126
126
  if (normalizedExtraPaths.length > 0) for (const inputPath of normalizedExtraPaths) try {
127
- const stat = await fs.lstat(inputPath);
127
+ const stat = await fs$1.lstat(inputPath);
128
128
  if (stat.isSymbolicLink()) continue;
129
129
  if (stat.isDirectory()) {
130
130
  await walkDir(inputPath, result);
@@ -138,7 +138,7 @@ async function listMemoryFiles(workspaceDir, extraPaths) {
138
138
  for (const entry of result) {
139
139
  let key = entry;
140
140
  try {
141
- key = await fs.realpath(entry);
141
+ key = await fs$1.realpath(entry);
142
142
  } catch {}
143
143
  if (seen.has(key)) continue;
144
144
  seen.add(key);
@@ -152,14 +152,14 @@ function hashText(value) {
152
152
  async function buildFileEntry(absPath, workspaceDir) {
153
153
  let stat;
154
154
  try {
155
- stat = await fs.stat(absPath);
155
+ stat = await fs$1.stat(absPath);
156
156
  } catch (err) {
157
157
  if (isFileMissingError(err)) return null;
158
158
  throw err;
159
159
  }
160
160
  let content;
161
161
  try {
162
- content = await fs.readFile(absPath, "utf-8");
162
+ content = await fs$1.readFile(absPath, "utf-8");
163
163
  } catch (err) {
164
164
  if (isFileMissingError(err)) return null;
165
165
  throw err;
@@ -293,7 +293,7 @@ const log = createSubsystemLogger("memory");
293
293
  async function listSessionFilesForAgent(agentId) {
294
294
  const dir = resolveSessionTranscriptsDirForAgent(agentId);
295
295
  try {
296
- return (await fs.readdir(dir, { withFileTypes: true })).filter((entry) => entry.isFile()).map((entry) => entry.name).filter((name) => name.endsWith(".jsonl")).map((name) => path.join(dir, name));
296
+ return (await fs$1.readdir(dir, { withFileTypes: true })).filter((entry) => entry.isFile()).map((entry) => entry.name).filter((name) => name.endsWith(".jsonl")).map((name) => path.join(dir, name));
297
297
  } catch {
298
298
  return [];
299
299
  }
@@ -323,8 +323,8 @@ function extractSessionText(content) {
323
323
  }
324
324
  async function buildSessionEntry(absPath) {
325
325
  try {
326
- const stat = await fs.stat(absPath);
327
- const lines = (await fs.readFile(absPath, "utf-8")).split("\n");
326
+ const stat = await fs$1.stat(absPath);
327
+ const lines = (await fs$1.readFile(absPath, "utf-8")).split("\n");
328
328
  const collected = [];
329
329
  const lineMap = [];
330
330
  for (let jsonlIdx = 0; jsonlIdx < lines.length; jsonlIdx++) {
@@ -1,7 +1,7 @@
1
- import { dt as createPluginLoaderLogger, ft as loadSymiPlugins } from "./reply-YphHjxHp.js";
1
+ import { dt as createPluginLoaderLogger, ft as loadSymiPlugins } from "./reply-CjYJHt_H.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
3
3
  import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-CgUHAtCo.js";
4
- import { i as loadConfig } from "./config-CHwyw6l5.js";
4
+ import { i as loadConfig } from "./config-Dz95lSBW.js";
5
5
 
6
6
  //#region src/plugins/status.ts
7
7
  const log = createSubsystemLogger("plugins");
@@ -1,25 +1,25 @@
1
1
  import { u as resolveGatewayPort } from "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, k as info, z as isRich } from "./utils-B-0b9bGM.js";
3
- import { B as summarizeRestartSentinel, Jt as sha256HexPrefix, _t as formatUsageReportLines, a as buildChannelSummary, gt as loadProviderUsageSummary, h as listAgentsForGateway, m as classifySessionKey, o as buildChannelAccountSnapshot, pr as lookupContextTokens, s as formatChannelAllowFrom, wr as peekSystemEvents, x as resolveSessionModelRef, z as readRestartSentinel } from "./reply-YphHjxHp.js";
3
+ import { B as summarizeRestartSentinel, Jt as sha256HexPrefix, _t as formatUsageReportLines, a as buildChannelSummary, gt as loadProviderUsageSummary, h as listAgentsForGateway, m as classifySessionKey, o as buildChannelAccountSnapshot, pr as lookupContextTokens, s as formatChannelAllowFrom, wr as peekSystemEvents, x as resolveSessionModelRef, z as readRestartSentinel } from "./reply-CjYJHt_H.js";
4
4
  import { S as parseAgentSessionKey } from "./session-key-DCt45XZa.js";
5
5
  import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
6
6
  import { n as runExec } from "./exec-CWkblSrI.js";
7
7
  import { c as resolveAgentWorkspaceDir } from "./agent-scope-CgUHAtCo.js";
8
8
  import { Gt as DEFAULT_MODEL, Kt as DEFAULT_PROVIDER, Wt as DEFAULT_CONTEXT_TOKENS, p as resolveConfiguredModelRef } from "./model-selection-CyFvYcRt.js";
9
9
  import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
10
- import { H as VERSION, i as loadConfig, o as readConfigFileSnapshot } from "./config-CHwyw6l5.js";
10
+ import { H as VERSION, i as loadConfig, o as readConfigFileSnapshot } from "./config-Dz95lSBW.js";
11
11
  import { o as getTailnetHostname, s as readTailscaleStatusJson } from "./tailscale-D5dKabOc.js";
12
12
  import { a as inspectPortUsage, s as formatPortDiagnostics } from "./ports-BOmtxoTv.js";
13
- import { H as resolveMainSessionKey, R as resolveFreshSessionTotalTokens, o as loadSessionStore } from "./sessions-DgYpBvse.js";
13
+ import { H as resolveMainSessionKey, R as resolveFreshSessionTotalTokens, o as loadSessionStore } from "./sessions-Cpgnq0pA.js";
14
14
  import { n as listChannelPlugins } from "./plugins-DKDeQZF0.js";
15
15
  import { c as resolveStorePath } from "./paths-CyhzMxFA.js";
16
- import { r as getMemorySearchManager } from "./memory-cli-CPONmMrJ.js";
17
- import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-CFhGTNtt.js";
16
+ import { r as getMemorySearchManager } from "./memory-cli-DDumUksr.js";
17
+ import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-DwpGquzW.js";
18
18
  import { n as formatTimeAgo } from "./format-relative-BXoxEQVN.js";
19
19
  import { n as withProgress } from "./progress-jIePzvGA.js";
20
20
  import { r as formatDurationPrecise } from "./format-duration-D0B0Uo-I.js";
21
21
  import { o as getRemoteSkillEligibility } from "./skill-commands-Cxw-jNxU.js";
22
- import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-CAjcAisT.js";
22
+ import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-DFvWPFhU.js";
23
23
  import { t as buildWorkspaceSkillStatus } from "./skills-status-C3ptXwnh.js";
24
24
  import { t as resolveChannelDefaultAccountId } from "./helpers-DnjQ73f_.js";
25
25
  import { t as collectChannelStatusIssues } from "./channels-status-issues-CJ0Vb_9z.js";
@@ -27,12 +27,12 @@ import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./servi
27
27
  import { t as formatRuntimeStatusWithDetails } from "./runtime-status-D6c3G7my.js";
28
28
  import { t as readLastGatewayErrorLine } from "./diagnostics-BRwihzJG.js";
29
29
  import { t as renderTable } from "./table-BKlH0YlA.js";
30
- import { a as resolveGatewayProbeAuth$1, c as probeGateway, t as runSecurityAudit } from "./audit-BxqTVyZo.js";
31
- import { a as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-9z0Hpkuc.js";
30
+ import { a as resolveGatewayProbeAuth$1, c as probeGateway, t as runSecurityAudit } from "./audit-DB9YkTVX.js";
31
+ import { a as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-en2N_Kqc.js";
32
32
  import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-7EzEjSzb.js";
33
33
  import { t as resolveNodeService } from "./node-service-CD47Qpf1.js";
34
34
  import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-B0yJsjEo.js";
35
- import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, r as getUpdateCheckResult, t as formatUpdateAvailableHint } from "./status.update-DP0OFqyb.js";
35
+ import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, r as getUpdateCheckResult, t as formatUpdateAvailableHint } from "./status.update-CG0ciGaf.js";
36
36
  import fs from "node:fs";
37
37
  import os from "node:os";
38
38
  import path from "node:path";
@@ -1,7 +1,7 @@
1
1
  import { o as createSubsystemLogger } from "./entry.js";
2
2
  import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-D-jRCY0d.js";
3
- import { i as loadConfig } from "./config-DHBLS1Hl.js";
4
- import { m as loadSymiPlugins, p as createPluginLoaderLogger } from "./subagent-registry-aZczbtLM.js";
3
+ import { i as loadConfig } from "./config-BNTB6qj8.js";
4
+ import { m as loadSymiPlugins, p as createPluginLoaderLogger } from "./subagent-registry-BPwn3Qm7.js";
5
5
 
6
6
  //#region src/plugins/status.ts
7
7
  const log = createSubsystemLogger("plugins");
@@ -7,33 +7,33 @@ import { t as resolveSymiPackageRoot } from "./symi-root-BNuQ4lAT.js";
7
7
  import { n as runExec } from "./exec-CBKBIMpA.js";
8
8
  import { c as resolveAgentWorkspaceDir } from "./agent-scope-D-jRCY0d.js";
9
9
  import { t as buildWorkspaceSkillStatus } from "./skills-status-DKXJ-tbi.js";
10
- import { H as VERSION, i as loadConfig, o as readConfigFileSnapshot } from "./config-DHBLS1Hl.js";
11
- import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-DIDhYlsx.js";
12
- import { En as peekSystemEvents, St as summarizeRestartSentinel, cn as buildChannelAccountSnapshot, in as formatUsageReportLines, ln as formatChannelAllowFrom, nt as sha256HexPrefix, rn as loadProviderUsageSummary, sn as buildChannelSummary, xt as readRestartSentinel } from "./subagent-registry-aZczbtLM.js";
13
- import { F as resolveMainSessionKey, j as resolveFreshSessionTotalTokens, o as loadSessionStore } from "./sessions-CJXnZVjR.js";
10
+ import { H as VERSION, i as loadConfig, o as readConfigFileSnapshot } from "./config-BNTB6qj8.js";
11
+ import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-DKi-hnaF.js";
12
+ import { En as peekSystemEvents, St as summarizeRestartSentinel, cn as buildChannelAccountSnapshot, in as formatUsageReportLines, ln as formatChannelAllowFrom, nt as sha256HexPrefix, rn as loadProviderUsageSummary, sn as buildChannelSummary, xt as readRestartSentinel } from "./subagent-registry-BPwn3Qm7.js";
13
+ import { F as resolveMainSessionKey, j as resolveFreshSessionTotalTokens, o as loadSessionStore } from "./sessions-Cfa6JEB3.js";
14
14
  import { n as listChannelPlugins } from "./plugins-CwSlLxM8.js";
15
15
  import { o as getTailnetHostname, s as readTailscaleStatusJson } from "./tailscale-CbbvYNVw.js";
16
16
  import { i as formatPortDiagnostics, n as inspectPortUsage } from "./ports-2xFXbwLq.js";
17
17
  import { c as resolveStorePath } from "./paths-DNdWAq7b.js";
18
- import { r as getMemorySearchManager } from "./memory-cli-C2SWDd8g.js";
18
+ import { r as getMemorySearchManager } from "./memory-cli-Btzr8gfD.js";
19
19
  import { n as formatTimeAgo } from "./format-relative-DX-rh76l.js";
20
- import { l as resolveSessionModelRef, n as classifySessionKey, r as listAgentsForGateway, u as lookupContextTokens } from "./session-utils-Bka9dR4m.js";
20
+ import { l as resolveSessionModelRef, n as classifySessionKey, r as listAgentsForGateway, u as lookupContextTokens } from "./session-utils-B8Fif925.js";
21
21
  import { o as getRemoteSkillEligibility } from "./skill-commands-C8BcwE33.js";
22
22
  import { r as formatDurationPrecise } from "./format-duration-BOC0O2XQ.js";
23
23
  import { n as withProgress } from "./progress-BAHiAaDW.js";
24
- import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-DASpwgat.js";
24
+ import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-BBtPmJEe.js";
25
25
  import { t as resolveChannelDefaultAccountId } from "./helpers-cLP5YLeQ.js";
26
26
  import { t as collectChannelStatusIssues } from "./channels-status-issues-c7qZbYG5.js";
27
27
  import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-Cm9j9WzQ.js";
28
28
  import { t as formatRuntimeStatusWithDetails } from "./runtime-status-hFVEC3wO.js";
29
29
  import { t as readLastGatewayErrorLine } from "./diagnostics-CS1ov_hH.js";
30
30
  import { t as renderTable } from "./table-D01d2GuY.js";
31
- import { a as resolveGatewayProbeAuth$1, c as probeGateway, t as runSecurityAudit } from "./audit-Cgd5-Y7W.js";
32
- import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-NTpZ8ssG.js";
31
+ import { a as resolveGatewayProbeAuth$1, c as probeGateway, t as runSecurityAudit } from "./audit-BjI_Yyr5.js";
32
+ import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-q7706M36.js";
33
33
  import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-ZdimP1aU.js";
34
34
  import { t as resolveNodeService } from "./node-service-fcZExd22.js";
35
35
  import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-DVLB9DNB.js";
36
- import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, r as getUpdateCheckResult, t as formatUpdateAvailableHint } from "./status.update-DbmZz0Aq.js";
36
+ import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, r as getUpdateCheckResult, t as formatUpdateAvailableHint } from "./status.update-C2GN8s9C.js";
37
37
  import { spawnSync } from "node:child_process";
38
38
  import os from "node:os";
39
39
  import path from "node:path";
@@ -1,6 +1,6 @@
1
1
  import { t as formatCliCommand } from "./command-format-BtYOfWxC.js";
2
2
  import { t as resolveSymiPackageRoot } from "./symi-root-BNuQ4lAT.js";
3
- import { H as VERSION } from "./config-DHBLS1Hl.js";
3
+ import { H as VERSION } from "./config-BNTB6qj8.js";
4
4
  import { n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-ZdimP1aU.js";
5
5
 
6
6
  //#region src/commands/status.update.ts
@@ -1,6 +1,6 @@
1
1
  import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
2
2
  import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
3
- import { H as VERSION } from "./config-CHwyw6l5.js";
3
+ import { H as VERSION } from "./config-Dz95lSBW.js";
4
4
  import { n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-7EzEjSzb.js";
5
5
 
6
6
  //#region src/commands/status.update.ts
@@ -1,7 +1,7 @@
1
- import { P as resolveConfigDir } from "./registry-UkL38jvt.js";
2
- import { c as detectMime, l as extensionForMime } from "./image-ops-M5agStZn.js";
1
+ import { P as resolveConfigDir } from "./registry-DYq1AYOv.js";
2
+ import { c as detectMime, l as extensionForMime } from "./image-ops-C7CauEK8.js";
3
3
  import path from "node:path";
4
- import fs from "node:fs/promises";
4
+ import fs$1 from "node:fs/promises";
5
5
  import crypto from "node:crypto";
6
6
 
7
7
  //#region src/media/store.ts
@@ -24,7 +24,7 @@ function getMediaDir() {
24
24
  }
25
25
  async function ensureMediaDir() {
26
26
  const mediaDir = resolveMediaDir();
27
- await fs.mkdir(mediaDir, {
27
+ await fs$1.mkdir(mediaDir, {
28
28
  recursive: true,
29
29
  mode: 448
30
30
  });
@@ -33,7 +33,7 @@ async function ensureMediaDir() {
33
33
  async function saveMediaBuffer(buffer, contentType, subdir = "inbound", maxBytes = MAX_BYTES, originalFilename) {
34
34
  if (buffer.byteLength > maxBytes) throw new Error(`Media exceeds ${(maxBytes / (1024 * 1024)).toFixed(0)}MB limit`);
35
35
  const dir = path.join(resolveMediaDir(), subdir);
36
- await fs.mkdir(dir, {
36
+ await fs$1.mkdir(dir, {
37
37
  recursive: true,
38
38
  mode: 448
39
39
  });
@@ -51,7 +51,7 @@ async function saveMediaBuffer(buffer, contentType, subdir = "inbound", maxBytes
51
51
  id = sanitized ? `${sanitized}---${uuid}${ext}` : `${uuid}${ext}`;
52
52
  } else id = ext ? `${uuid}${ext}` : uuid;
53
53
  const dest = path.join(dir, id);
54
- await fs.writeFile(dest, buffer, { mode: 384 });
54
+ await fs$1.writeFile(dest, buffer, { mode: 384 });
55
55
  return {
56
56
  id,
57
57
  path: dest,