@symerian/symi 2.5.8 → 2.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/dist/{accounts-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-DQIz-_on.js} +4 -4
  7. package/dist/{agents.config-BuTzBaXf.js → agents.config-CIJRaVWl.js} +1 -1
  8. package/dist/{agents.config-BhAJXAtA.js → agents.config-D8WPDf-m.js} +1 -1
  9. package/dist/{audio-preflight-O3ASWbaG.js → audio-preflight-BVaaZWkg.js} +34 -34
  10. package/dist/{audio-preflight-C40mKAp7.js → audio-preflight-CPBOQV4I.js} +4 -4
  11. package/dist/{auth-choice-DvaVrSwn.js → auth-choice-BqFbNDuP.js} +1 -1
  12. package/dist/{auth-choice-Br6zT8iS.js → auth-choice-DTDyJL1r.js} +1 -1
  13. package/dist/{model-auth-DK43VicI.js → auth-profiles-DdK1Hxaa.js} +412 -412
  14. package/dist/{banner-BtqKaQZr.js → banner-DYDCxnDL.js} +1 -1
  15. package/dist/{bindings-B7Ke6LJi.js → bindings-BsHoBLIE.js} +2 -2
  16. package/dist/build-info.json +3 -3
  17. package/dist/bundled/boot-md/handler.js +60 -60
  18. package/dist/bundled/bootstrap-extra-files/handler.js +6 -6
  19. package/dist/bundled/command-logger/handler.js +3 -3
  20. package/dist/bundled/session-memory/handler.js +61 -61
  21. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  22. package/dist/{channel-activity-CsM_hJ_s.js → channel-activity-B6G1jnQT.js} +2 -2
  23. package/dist/{channel-options-CfLxsV76.js → channel-options-CvHSm_Kx.js} +1 -1
  24. package/dist/{channel-options-DFHEgad5.js → channel-options-vBCJhJB7.js} +1 -1
  25. package/dist/{channel-web-D-jDDmWN.js → channel-web-CM2LyWZW.js} +1 -1
  26. package/dist/{channels-cli-BEZORT4N.js → channels-cli-D5H3Wcho.js} +4 -4
  27. package/dist/{channels-cli-CT6wdGT8.js → channels-cli-DzOjNNFn.js} +4 -4
  28. package/dist/{chrome-BFekevcE.js → chrome-D2SKJnR7.js} +24 -24
  29. package/dist/{chrome-CDJYxX5a.js → chrome-DkaXoP36.js} +5 -5
  30. package/dist/{chunk-BW5f05BR.js → chunk-09egQapi.js} +1 -1
  31. package/dist/{cli-kxxM9xT0.js → cli-8hqssnRJ.js} +1 -1
  32. package/dist/{cli-CkxvN9Cb.js → cli-DNZwCDRe.js} +1 -1
  33. package/dist/{command-registry-DsqA8NDd.js → command-registry-CHtN2HeK.js} +9 -9
  34. package/dist/{commands-registry-D7CTCQPm.js → commands-registry-Bfc7Uz0o.js} +4 -4
  35. package/dist/{completion-cli-mZMiIG7C.js → completion-cli-C8y_J5KC.js} +1 -1
  36. package/dist/{completion-cli-QCrjurdu.js → completion-cli-Cov6N3BO.js} +2 -2
  37. package/dist/{config-DRbjHIwD.js → config-5SdHIcHU.js} +6 -6
  38. package/dist/{config-cli-CS_0o9LY.js → config-cli-B2REEd2l.js} +1 -1
  39. package/dist/{config-cli-DLsLPE4o.js → config-cli-BwO0xAbV.js} +1 -1
  40. package/dist/{configure-T9J4bw0H.js → configure-BWSYSi2-.js} +3 -3
  41. package/dist/{configure-BX4aNf3w.js → configure-C6yNe33U.js} +3 -3
  42. package/dist/{conversation-label-DXUkoKcB.js → conversation-label-Onz2hiJh.js} +1 -1
  43. package/dist/{deliver-BH0l3UKW.js → deliver-C-37cZUe.js} +1 -1
  44. package/dist/{deliver-CvCK5Mm9.js → deliver-C46-vyqg.js} +11 -11
  45. package/dist/{diagnostic-CI0kRQkt.js → diagnostic-rPhsBoZz.js} +2 -2
  46. package/dist/{doctor-completion-BKydQfCM.js → doctor-completion-BKKzstt6.js} +1 -1
  47. package/dist/{doctor-completion-CTodkFg2.js → doctor-completion-D7CDLFLg.js} +1 -1
  48. package/dist/entry.js +1 -1
  49. package/dist/{command-format-BaxDnULz.js → env-BDXYbTKj.js} +10 -10
  50. package/dist/{errors-BoQgnc8X.js → errors-XIsvXeC-.js} +1 -1
  51. package/dist/extensionAPI.js +6 -6
  52. package/dist/{frontmatter-C_bv_0P8.js → frontmatter-CTR5f_Ez.js} +2 -2
  53. package/dist/{gateway-cli-CZnyhTAu.js → gateway-cli-BhFM4Bkm.js} +20 -18
  54. package/dist/{gateway-cli-DEpU3Bg3.js → gateway-cli-Datohp3m.js} +20 -18
  55. package/dist/{gemini-auth-CdSPHuLl.js → gemini-auth-Dy12ZAH3.js} +2 -2
  56. package/dist/{github-copilot-token-C_qUP7p5.js → github-copilot-token-cCYzSU9h.js} +1 -1
  57. package/dist/{glass-ui-ws-KbKXJGb5.js → glass-ui-ws-BzqfD_wX.js} +7 -7
  58. package/dist/{glass-ui-ws-BdBSYcsf.js → glass-ui-ws-D9yvYULL.js} +7 -7
  59. package/dist/{health-DQmyj-7z.js → health-BjwDRAdd.js} +1 -1
  60. package/dist/{health-z-YCZRhf.js → health-C5XJPwpt.js} +1 -1
  61. package/dist/{hooks-cli-4d-QhgRs.js → hooks-cli-CafMq9Vr.js} +2 -2
  62. package/dist/{hooks-cli-BRehYEXJ.js → hooks-cli-U12oVyLH.js} +2 -2
  63. package/dist/{image-B0wGflxA.js → image-CuzFLQWC.js} +7 -7
  64. package/dist/{image-CHzdaNJ4.js → image-DcpMiprB.js} +1 -1
  65. package/dist/{image-ops-CvJzsyvE.js → image-ops-C7CauEK8.js} +99 -99
  66. package/dist/{inbound-context-BlHX0H3E.js → inbound-context-DSDTl6Kj.js} +2 -2
  67. package/dist/index.js +6 -6
  68. package/dist/{ir-DccrnjsE.js → ir-CTiz95Vb.js} +5 -5
  69. package/dist/llm-slug-generator.js +64 -84
  70. package/dist/{local-roots-DMwIh5cS.js → local-roots-DhZz0Ybs.js} +6 -6
  71. package/dist/{login-qr-Batf3PT5.js → login-qr-AP9agO-i.js} +13 -13
  72. package/dist/{login-CwCoxapk.js → login-ul8zaw_S.js} +7 -7
  73. package/dist/{manager-D_LwXbc6.js → manager-PprhCvO_.js} +25 -25
  74. package/dist/{manifest-registry-D0IQ3WuX.js → manifest-registry-yb7sAlu4.js} +2 -2
  75. package/dist/{markdown-tables-iMQQZu4Q.js → markdown-tables-C-BmIap8.js} +1 -1
  76. package/dist/{message-channel-Dz5lr5b0.js → message-channel-OlFBYAw8.js} +1 -1
  77. package/dist/{models-CPlSSoV0.js → models-Bo4iHJy-.js} +7 -8
  78. package/dist/{models-cli-BM2RWTmM.js → models-cli-6aNi3eN9.js} +7 -8
  79. package/dist/{models-cli-DDhpJuX3.js → models-cli-B5vh-XK8.js} +3 -3
  80. package/dist/{onboard-DpB21qno.js → onboard-Bm-pmstf.js} +2 -2
  81. package/dist/{onboard-channels-DjfS9mS6.js → onboard-channels-BRd1cXye.js} +1 -1
  82. package/dist/{onboard-channels-S0FbC25u.js → onboard-channels-CUl5U8kV.js} +1 -1
  83. package/dist/{onboard-BczLOUCW.js → onboard-f-GJ26Ix.js} +2 -2
  84. package/dist/{onboarding-CyPkawbg.js → onboarding-CvBDWlBJ.js} +3 -3
  85. package/dist/{onboarding--mrKZtpR.js → onboarding-DIVKvosg.js} +3 -3
  86. package/dist/{onboarding.finalize-0XoI3wLH.js → onboarding.finalize-DJX6mSLa.js} +6 -6
  87. package/dist/{onboarding.finalize-C0ijhYbg.js → onboarding.finalize-WSac-JKd.js} +5 -5
  88. package/dist/{outbound-D4fN_ZlE.js → outbound-CtMCmwxR.js} +7 -7
  89. package/dist/{outbound-attachment-DjNDa3zn.js → outbound-attachment-DJldbweZ.js} +2 -2
  90. package/dist/{paths-DLyHUt31.js → paths-CbQV9WEg.js} +2 -2
  91. package/dist/{pi-auth-json-0SYBFZTt.js → pi-auth-json-Bk8ERadJ.js} +10 -10
  92. package/dist/{pi-embedded-Cg70pjmm.js → pi-embedded-BmbbC1Sb.js} +20275 -20070
  93. package/dist/{pi-embedded-helpers-lgx_U5KS.js → pi-embedded-helpers-B8kqLWns.js} +4 -4
  94. package/dist/{pi-embedded-helpers-DLFjnVBb.js → pi-embedded-helpers-CfqDGQ9J.js} +81 -81
  95. package/dist/{plugin-registry-VhRGXCLQ.js → plugin-registry-2zUJMasm.js} +1 -1
  96. package/dist/{plugin-registry-Dxo1iUfJ.js → plugin-registry-5yf-hu_W.js} +1 -1
  97. package/dist/plugin-sdk/agents/model-token-filter.d.ts +10 -0
  98. package/dist/plugin-sdk/agents/pi-embedded-runner.d.ts +1 -1
  99. package/dist/plugin-sdk/agents/pi-tools.validate-wrapper.d.ts +23 -0
  100. package/dist/plugin-sdk/agents/pi-tools.validate.d.ts +26 -0
  101. package/dist/plugin-sdk/agents/tool-loop-detection.d.ts +3 -1
  102. package/dist/plugin-sdk/agents/unified-runner.d.ts +69 -1
  103. package/dist/plugin-sdk/auto-reply/reply/agent-runner-execution.d.ts +2 -2
  104. package/dist/plugin-sdk/{channel-web-DKo2tOO-.js → channel-web-DPyyTvFo.js} +1 -1
  105. package/dist/plugin-sdk/config/model-profiles.d.ts +2 -0
  106. package/dist/plugin-sdk/index.js +2 -2
  107. package/dist/plugin-sdk/infra/diagnostic-events.d.ts +1 -1
  108. package/dist/plugin-sdk/logging/diagnostic-session-state.d.ts +2 -0
  109. package/dist/plugin-sdk/logging/diagnostic.d.ts +1 -1
  110. package/dist/plugin-sdk/{reply-Ch4_18FZ.js → reply-QAcAd9ev.js} +536 -331
  111. package/dist/plugin-sdk/{tool-loop-detection-edmW8ZiF.js → tool-loop-detection-DU5sTIKg.js} +53 -3
  112. package/dist/plugin-sdk/{web-Dz2oyzw_.js → web-DaTTL9M0.js} +2 -2
  113. package/dist/{plugins-DQYI3Fr-.js → plugins-BzmbgY7s.js} +5 -5
  114. package/dist/{plugins-cli-zNr1ThAO.js → plugins-cli-D4eRESV2.js} +2 -2
  115. package/dist/{plugins-cli-DeDSnKlr.js → plugins-cli-DksVl33N.js} +2 -2
  116. package/dist/{program-COEKTv5u.js → program-BjORH7Cc.js} +7 -7
  117. package/dist/{program-context-CbM3x8lT.js → program-context-DaNGrTOm.js} +17 -17
  118. package/dist/{prompt-select-styled-d18_XWTb.js → prompt-select-styled-QaS2zul_.js} +4 -4
  119. package/dist/{prompt-select-styled-C6JLWNMU.js → prompt-select-styled-YOj4xigd.js} +4 -4
  120. package/dist/{provider-auth-helpers-BmH4oHwJ.js → provider-auth-helpers-BAGT_RXV.js} +1 -1
  121. package/dist/{provider-auth-helpers-C8cO9DLi.js → provider-auth-helpers-DCEbm2hz.js} +1 -1
  122. package/dist/{push-apns-CoqskfCc.js → push-apns-BECodU1i.js} +1 -1
  123. package/dist/{push-apns-CJtWrkQV.js → push-apns-Bek3ANJa.js} +1 -1
  124. package/dist/{pw-ai-De-KR9_s.js → pw-ai-1htA-NnS.js} +1 -1
  125. package/dist/{pw-ai-BnAKvSuw.js → pw-ai-m0mj2KWK.js} +16 -16
  126. package/dist/{qmd-manager-QHUP-_em.js → qmd-manager-iDLSiI4Z.js} +10 -10
  127. package/dist/{register.agent-C1Is84Q1.js → register.agent-B34lxx7F.js} +5 -5
  128. package/dist/{register.agent-fK3vOCU5.js → register.agent-DJHQo-Iq.js} +6 -6
  129. package/dist/{register.configure-CIwwqqt9.js → register.configure-BdhhIzb0.js} +6 -6
  130. package/dist/{register.configure-DFJeKFFK.js → register.configure-DC_-t5kj.js} +6 -6
  131. package/dist/{register.maintenance-BwTFd3Ax.js → register.maintenance-CITur3O_.js} +8 -8
  132. package/dist/{register.maintenance-DKDqruW6.js → register.maintenance-cs-A4kHF.js} +7 -7
  133. package/dist/{register.message-DYnXMP4c.js → register.message--RhtnEYn.js} +2 -2
  134. package/dist/{register.message-Ce57RPK8.js → register.message-PIaHm2pZ.js} +2 -2
  135. package/dist/{register.onboard-9glf-j43.js → register.onboard-CTJQoDcK.js} +4 -4
  136. package/dist/{register.onboard-Dj-_AJQr.js → register.onboard-DucZgrF7.js} +4 -4
  137. package/dist/{register.setup-C0CXUMFE.js → register.setup-2ZiUN7ui.js} +4 -4
  138. package/dist/{register.setup-Cp3DBI6D.js → register.setup-DD4Rgkt9.js} +4 -4
  139. package/dist/{register.status-health-sessions-DBXMyrNP.js → register.status-health-sessions-BqD7L8XL.js} +3 -3
  140. package/dist/{register.status-health-sessions-BncpB9Vw.js → register.status-health-sessions-sLgA92t7.js} +3 -3
  141. package/dist/{register.subclis-D6PmKJll.js → register.subclis-B2dGWFur.js} +9 -9
  142. package/dist/{registry-CK4e9hn8.js → registry-DYq1AYOv.js} +2 -2
  143. package/dist/{replies-BIX_isV7.js → replies-LSmuwOhA.js} +3 -3
  144. package/dist/{reply-BfZzgC9H.js → reply-DYnTEYoa.js} +537 -332
  145. package/dist/{reply-prefix-XlyuyChD.js → reply-prefix-DpqZu44Z.js} +1 -1
  146. package/dist/{resolve-route-CZ-1eqw0.js → resolve-route-C4_I4GFI.js} +5 -5
  147. package/dist/{retry-Cly39XZB.js → retry-BBVXkKBV.js} +1 -1
  148. package/dist/{run-main-wm3s04Xh.js → run-main-DWmu2b6D.js} +14 -14
  149. package/dist/{runner-DUBExAb5.js → runner-BcQ0sF9T.js} +1 -1
  150. package/dist/{runner-odEv83vv.js → runner-CU9l0uJh.js} +46 -46
  151. package/dist/{send-WyRqb4WD.js → send-CQAKg_12.js} +7 -7
  152. package/dist/{send-DeFniOjh.js → send-CVMyYPQw.js} +7 -7
  153. package/dist/{send-CiTGOvEc.js → send-CvhXrdgS.js} +12 -12
  154. package/dist/{send-DW96zgDL.js → send-DAN9hA5h.js} +6 -6
  155. package/dist/{send-B1u-LrcS.js → send-DYj_o4_F.js} +14 -14
  156. package/dist/{server-methods-D5zcFhng.js → server-methods-C8EWZt2g.js} +7 -7
  157. package/dist/{server-methods-xXv4ObXK.js → server-methods-vDGoM3xL.js} +7 -7
  158. package/dist/{server-node-events-BN7H6wBM.js → server-node-events-CKi12bol.js} +2 -2
  159. package/dist/{server-node-events-D4At7-pe.js → server-node-events-DFwGbkcO.js} +2 -2
  160. package/dist/{session-SM36BTsl.js → session-DSU1vxxi.js} +4 -4
  161. package/dist/{skill-commands-BJMb_psG.js → skill-commands-DcVwOafC.js} +17 -17
  162. package/dist/{skills-BFekKL7i.js → skills-Bs0AW1g3.js} +25 -25
  163. package/dist/{sqlite-DRbx2dhW.js → sqlite-D_mz1_-y.js} +17 -17
  164. package/dist/{status-XJTqV-CC.js → status--iNVOTMO.js} +2 -2
  165. package/dist/{status-PbQwO8SV.js → status-B1_iHrOg.js} +2 -2
  166. package/dist/{status-Nhvf_TEN.js → status-BQcdARV4.js} +1 -1
  167. package/dist/{status-C5rGEkur.js → status-DiX0DAtH.js} +1 -1
  168. package/dist/{store-C0wvOkae.js → store-01F_JM7O.js} +6 -6
  169. package/dist/{subagent-registry-DvCrN2PQ.js → subagent-registry-CXrOOgPW.js} +19438 -19233
  170. package/dist/{subsystem-Bs9YvKLa.js → subsystem-BjyjJF-d.js} +1 -1
  171. package/dist/{tables-DuZspiBu.js → tables-qMwbq29u.js} +1 -1
  172. package/dist/{target-errors-Be1SwYlW.js → target-errors-Bbr9rlzN.js} +2 -2
  173. package/dist/{thinking-CdlENGRW.js → thinking-BprCy23Z.js} +5 -5
  174. package/dist/{tokens-H1H1LiSQ.js → tokens-Bux9Y_xD.js} +1 -1
  175. package/dist/{tool-images-DXB7tqWi.js → tool-images-SqqWIT22.js} +2 -2
  176. package/dist/{tool-loop-detection-BgbtzUGc.js → tool-loop-detection-C7TCF2V2.js} +53 -3
  177. package/dist/{tool-loop-detection-BU3fbtCd.js → tool-loop-detection-D7qjFnRh.js} +53 -3
  178. package/dist/{tool-loop-detection-B6j1r-Wk.js → tool-loop-detection-DPVtQOfM.js} +53 -3
  179. package/dist/{tool-loop-detection-Cs8_HCsx.js → tool-loop-detection-DR_rrIA1.js} +56 -6
  180. package/dist/{pi-embedded-CTBkDXkV.js → unified-runner-CulJZMxc.js} +69924 -69719
  181. package/dist/{update-cli-BHxqriaA.js → update-cli-560gprSp.js} +7 -7
  182. package/dist/{update-cli-IqwjBYS0.js → update-cli-D1pLX3eo.js} +8 -8
  183. package/dist/{update-runner-BuoOzUcX.js → update-runner-BQxFFCGc.js} +1 -1
  184. package/dist/{update-runner-BFwirE1P.js → update-runner-CLKHrONW.js} +1 -1
  185. package/dist/{web-C4CDNJmR.js → web-Bqrgp43v.js} +1 -1
  186. package/dist/{web-OSVyyJa9.js → web-D4qJ9XKP.js} +6 -6
  187. package/dist/{web-Cr6E8Ych.js → web-Dr5cOn-1.js} +2 -2
  188. package/dist/{web-Dti17mxB.js → web-hHX9a9YO.js} +64 -64
  189. package/dist/{whatsapp-actions-D1RsnX7P.js → whatsapp-actions-BIeSWsCF.js} +25 -25
  190. package/dist/{workspace-wAaHI8-5.js → workspace-DscDraUb.js} +28 -28
  191. package/extensions/bluebubbles/node_modules/.bin/symi +0 -0
  192. package/extensions/copilot-proxy/node_modules/.bin/symi +0 -0
  193. package/extensions/diagnostics-otel/node_modules/.bin/acorn +0 -0
  194. package/extensions/diagnostics-otel/node_modules/.bin/symi +0 -0
  195. package/extensions/discord/node_modules/.bin/symi +0 -0
  196. package/extensions/feishu/node_modules/.bin/symi +0 -0
  197. package/extensions/google-antigravity-auth/node_modules/.bin/symi +0 -0
  198. package/extensions/google-gemini-cli-auth/node_modules/.bin/symi +0 -0
  199. package/extensions/googlechat/node_modules/.bin/symi +0 -0
  200. package/extensions/imessage/node_modules/.bin/symi +0 -0
  201. package/extensions/irc/node_modules/.bin/symi +0 -0
  202. package/extensions/learning-loop/node_modules/.bin/symi +0 -0
  203. package/extensions/line/node_modules/.bin/symi +0 -0
  204. package/extensions/matrix/node_modules/.bin/markdown-it +0 -0
  205. package/extensions/matrix/node_modules/.bin/symi +0 -0
  206. package/extensions/mattermost/node_modules/.bin/symi +0 -0
  207. package/extensions/memory-core/node_modules/.bin/symi +0 -0
  208. package/extensions/memory-lancedb/node_modules/.bin/arrow2csv +0 -0
  209. package/extensions/memory-lancedb/node_modules/.bin/openai +0 -0
  210. package/extensions/memory-lancedb/node_modules/.bin/symi +0 -0
  211. package/extensions/minimax-portal-auth/node_modules/.bin/symi +0 -0
  212. package/extensions/msteams/node_modules/.bin/symi +0 -0
  213. package/extensions/nextcloud-talk/node_modules/.bin/symi +0 -0
  214. package/extensions/nostr/node_modules/.bin/symi +0 -0
  215. package/extensions/nostr/node_modules/.bin/tsc +0 -0
  216. package/extensions/nostr/node_modules/.bin/tsserver +0 -0
  217. package/extensions/signal/node_modules/.bin/symi +0 -0
  218. package/extensions/slack/node_modules/.bin/symi +0 -0
  219. package/extensions/telegram/node_modules/.bin/symi +0 -0
  220. package/extensions/tlon/node_modules/.bin/symi +0 -0
  221. package/extensions/twitch/node_modules/.bin/symi +0 -0
  222. package/extensions/voice-call/node_modules/.bin/symi +0 -0
  223. package/extensions/whatsapp/node_modules/.bin/symi +0 -0
  224. package/extensions/zalo/node_modules/.bin/symi +0 -0
  225. package/extensions/zalouser/node_modules/.bin/symi +0 -0
  226. package/package.json +83 -113
  227. package/skills/nano-banana-pro/scripts/generate_image.py +0 -0
  228. package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +0 -0
  229. package/skills/tmux/scripts/find-sessions.sh +0 -0
  230. package/skills/tmux/scripts/wait-for-text.sh +0 -0
  231. package/dist/paths-Cce4PUkG.js +0 -212
  232. /package/dist/{boolean-B8-BqKGQ.js → boolean-CE7i9tBR.js} +0 -0
  233. /package/dist/{chat-type-C_KiWNAH.js → chat-type-3FRbbjbq.js} +0 -0
  234. /package/dist/{diagnostic-session-state-Bxo4UHOL.js → diagnostic-session-state-Zw87xFym.js} +0 -0
  235. /package/dist/{legacy-names-BHV4AoFT.js → legacy-names-CePMUvus.js} +0 -0
  236. /package/dist/{pi-model-discovery-DaNAekda.js → pi-model-discovery-Bv5YDJc8.js} +0 -0
  237. /package/dist/{redact-jSxx6Ep2.js → redact-BDMXB06K.js} +0 -0
  238. /package/dist/{ssrf-BTMDZjHT.js → ssrf-DpUUUgkK.js} +0 -0
  239. /package/dist/{targets-CFovdgJI.js → targets-DGkXkFPj.js} +0 -0
  240. /package/dist/{transcript-events-DDYvbmRV.js → transcript-events-BBh3Gsrx.js} +0 -0
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import "./reply-BfZzgC9H.js";
4
+ import "./reply-DYnTEYoa.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -113,18 +113,18 @@ import "./service-Cl74hx8J.js";
113
113
  import "./diagnostics-BAMlsVVX.js";
114
114
  import "./table-BTgkRafz.js";
115
115
  import "./audit-CrITRV6w.js";
116
- import "./status-XJTqV-CC.js";
117
- import "./health-DQmyj-7z.js";
116
+ import "./status--iNVOTMO.js";
117
+ import "./health-BjwDRAdd.js";
118
118
  import "./control-ui-assets-Z947tKLt.js";
119
119
  import "./update-check-CtckACbb.js";
120
- import { n as handleGatewayRequest } from "./server-methods-xXv4ObXK.js";
121
- import "./push-apns-CoqskfCc.js";
122
- import "./agents.config-BuTzBaXf.js";
120
+ import { n as handleGatewayRequest } from "./server-methods-vDGoM3xL.js";
121
+ import "./push-apns-BECodU1i.js";
122
+ import "./agents.config-CIJRaVWl.js";
123
123
  import "./dm-policy-shared-Bh3TbexU.js";
124
124
  import "./node-service-Cxz4e-Qd.js";
125
125
  import "./status.update-DtwCUTf-.js";
126
126
  import "./skills-install-D67isO1L.js";
127
- import "./update-runner-BFwirE1P.js";
127
+ import "./update-runner-CLKHrONW.js";
128
128
 
129
129
  //#region src/gateway/glass-ui-ws.ts
130
130
  const SESSION_KEY = "agent:main:main";
@@ -13,7 +13,7 @@ import "./client-DMBZpU6X.js";
13
13
  import "./call-BcE47FtD.js";
14
14
  import "./message-channel-C9dERklz.js";
15
15
  import "./pairing-token-Byh6drgn.js";
16
- import "./subagent-registry-DvCrN2PQ.js";
16
+ import "./subagent-registry-CXrOOgPW.js";
17
17
  import "./sessions-CJXnZVjR.js";
18
18
  import "./tokens-Csntmwwn.js";
19
19
  import "./plugins-CwSlLxM8.js";
@@ -108,18 +108,18 @@ import "./service-Cm9j9WzQ.js";
108
108
  import "./diagnostics-CS1ov_hH.js";
109
109
  import "./table-D01d2GuY.js";
110
110
  import "./audit-Byo5jCLN.js";
111
- import "./status-PbQwO8SV.js";
112
- import "./health-z-YCZRhf.js";
111
+ import "./status-B1_iHrOg.js";
112
+ import "./health-C5XJPwpt.js";
113
113
  import "./control-ui-assets-BseSWee1.js";
114
114
  import "./update-check-ZdimP1aU.js";
115
- import { n as handleGatewayRequest } from "./server-methods-D5zcFhng.js";
116
- import "./push-apns-CJtWrkQV.js";
117
- import "./agents.config-BhAJXAtA.js";
115
+ import { n as handleGatewayRequest } from "./server-methods-C8EWZt2g.js";
116
+ import "./push-apns-Bek3ANJa.js";
117
+ import "./agents.config-D8WPDf-m.js";
118
118
  import "./dm-policy-shared-DJ-61hCT.js";
119
119
  import "./node-service-fcZExd22.js";
120
120
  import "./status.update-DbmZz0Aq.js";
121
121
  import "./skills-install-1ZdwGTnh.js";
122
- import "./update-runner-BuoOzUcX.js";
122
+ import "./update-runner-BQxFFCGc.js";
123
123
 
124
124
  //#region src/gateway/glass-ui-ws.ts
125
125
  const SESSION_KEY = "agent:main:main";
@@ -1,5 +1,5 @@
1
1
  import { B as theme, k as info, l as escapeRegExp, z as isRich } from "./utils-B-0b9bGM.js";
2
- import { At as resolveHeartbeatDeliveryTarget, Cr as peekSystemEventEntries, Vn as resolveUserTimezone, cr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, ct as setHeartbeatWakeHandler, dr as resolveHeartbeatPrompt$1, fr as stripHeartbeatToken, jt as resolveHeartbeatSenderContext, lr as DEFAULT_HEARTBEAT_EVERY, lt as resolveHeartbeatReasonKind, nr as getQueueSize, r as appendCronStyleCurrentTimeLine, sr as CommandLane, st as requestHeartbeatNow, t as getReplyFromConfig, ur as isHeartbeatContentEffectivelyEmpty } from "./reply-BfZzgC9H.js";
2
+ import { At as resolveHeartbeatDeliveryTarget, Cr as peekSystemEventEntries, Vn as resolveUserTimezone, cr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, ct as setHeartbeatWakeHandler, dr as resolveHeartbeatPrompt$1, fr as stripHeartbeatToken, jt as resolveHeartbeatSenderContext, lr as DEFAULT_HEARTBEAT_EVERY, lt as resolveHeartbeatReasonKind, nr as getQueueSize, r as appendCronStyleCurrentTimeLine, sr as CommandLane, st as requestHeartbeatNow, t as getReplyFromConfig, ur as isHeartbeatContentEffectivelyEmpty } from "./reply-DYnTEYoa.js";
3
3
  import { l as resolveAgentIdFromSessionKey, p as toAgentStoreSessionKey, s as normalizeAgentId } from "./session-key-DCt45XZa.js";
4
4
  import { f as defaultRuntime, t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
5
5
  import { b as DEFAULT_SYMIPULSE_FILENAME, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId, r as resolveAgentConfig } from "./agent-scope-CgUHAtCo.js";
@@ -4,7 +4,7 @@ import { l as resolveAgentIdFromSessionKey, p as toAgentStoreSessionKey, s as no
4
4
  import { b as DEFAULT_SYMIPULSE_FILENAME, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId, r as resolveAgentConfig } from "./agent-scope-D-jRCY0d.js";
5
5
  import { C as parseDurationMs, i as loadConfig } from "./config-DHBLS1Hl.js";
6
6
  import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-BcE47FtD.js";
7
- import { Jn as resolveUserTimezone, Tn as peekSystemEventEntries, Y as getReplyFromConfig, Z as appendCronStyleCurrentTimeLine, _r as isHeartbeatContentEffectivelyEmpty, dn as requestHeartbeatNow, fn as setHeartbeatWakeHandler, gr as DEFAULT_HEARTBEAT_EVERY, hr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, lr as getQueueSize, lt as resolveHeartbeatDeliveryTarget, mr as CommandLane, pn as resolveHeartbeatReasonKind, ut as resolveHeartbeatSenderContext, vr as resolveHeartbeatPrompt$1, yr as stripHeartbeatToken } from "./subagent-registry-DvCrN2PQ.js";
7
+ import { Jn as resolveUserTimezone, K as appendCronStyleCurrentTimeLine, Tn as peekSystemEventEntries, W as getReplyFromConfig, _r as isHeartbeatContentEffectivelyEmpty, dn as requestHeartbeatNow, fn as setHeartbeatWakeHandler, gr as DEFAULT_HEARTBEAT_EVERY, hr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, lr as getQueueSize, lt as resolveHeartbeatDeliveryTarget, mr as CommandLane, pn as resolveHeartbeatReasonKind, ut as resolveHeartbeatSenderContext, vr as resolveHeartbeatPrompt$1, yr as stripHeartbeatToken } from "./subagent-registry-CXrOOgPW.js";
8
8
  import { M as canonicalizeMainSessionAlias, N as resolveAgentMainSessionKey, d as updateSessionStore, l as saveSessionStore, o as loadSessionStore } from "./sessions-CJXnZVjR.js";
9
9
  import { r as SYMIPULSE_TOKEN } from "./tokens-Csntmwwn.js";
10
10
  import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-CwSlLxM8.js";
@@ -15,7 +15,7 @@ import "./client-DMBZpU6X.js";
15
15
  import "./call-BcE47FtD.js";
16
16
  import "./message-channel-C9dERklz.js";
17
17
  import "./pairing-token-Byh6drgn.js";
18
- import "./subagent-registry-DvCrN2PQ.js";
18
+ import "./subagent-registry-CXrOOgPW.js";
19
19
  import "./sessions-CJXnZVjR.js";
20
20
  import "./tokens-Csntmwwn.js";
21
21
  import "./plugins-CwSlLxM8.js";
@@ -104,7 +104,7 @@ import { a as installPackageDir, i as withTempDir, n as installFromNpmSpecArchiv
104
104
  import { t as renderTable } from "./table-D01d2GuY.js";
105
105
  import { a as parseFrontmatter, t as loadWorkspaceHookEntries } from "./workspace-B51TF6q3.js";
106
106
  import { t as buildWorkspaceHookStatus } from "./hooks-status-CEoLdlyb.js";
107
- import { t as buildPluginStatusReport } from "./status-Nhvf_TEN.js";
107
+ import { t as buildPluginStatusReport } from "./status-BQcdARV4.js";
108
108
  import path from "node:path";
109
109
  import fs from "node:fs";
110
110
  import fs$1 from "node:fs/promises";
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, S as shortenHomePath, t as CONFIG_DIR, y as resolveUserPath } from "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import "./reply-BfZzgC9H.js";
4
+ import "./reply-DYnTEYoa.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -108,7 +108,7 @@ import { a as installPackageDir, i as withTempDir, n as installFromNpmSpecArchiv
108
108
  import { t as renderTable } from "./table-BTgkRafz.js";
109
109
  import { a as parseFrontmatter, t as loadWorkspaceHookEntries } from "./workspace-CYxdoAlY.js";
110
110
  import { t as buildWorkspaceHookStatus } from "./hooks-status-BqLZtMLa.js";
111
- import { t as buildPluginStatusReport } from "./status-C5rGEkur.js";
111
+ import { t as buildPluginStatusReport } from "./status-DiX0DAtH.js";
112
112
  import fs from "node:fs";
113
113
  import path from "node:path";
114
114
  import fs$1 from "node:fs/promises";
@@ -1,12 +1,12 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { R as shortenHomeInString, k as isRecord } from "./registry-CK4e9hn8.js";
3
- import { B as resolveImplicitCopilotProvider, J as normalizeSecretInput, R as normalizeProviders, V as resolveImplicitProviders, r as requireApiKey, t as getApiKeyForModel, y as resolveSymiAgentDir, z as resolveImplicitBedrockProvider } from "./model-auth-DK43VicI.js";
4
- import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DaNAekda.js";
5
- import { N as sanitizeUserFacingText } from "./pi-embedded-helpers-DLFjnVBb.js";
6
- import { n as loadConfig } from "./config-DRbjHIwD.js";
7
- import { n as redactToolDetail } from "./redact-jSxx6Ep2.js";
8
- import fs from "node:fs/promises";
2
+ import { R as shortenHomeInString, k as isRecord } from "./registry-DYq1AYOv.js";
3
+ import { $ as resolveSymiAgentDir, L as getApiKeyForModel, M as resolveImplicitBedrockProvider, N as resolveImplicitCopilotProvider, P as resolveImplicitProviders, U as normalizeSecretInput, j as normalizeProviders, z as requireApiKey } from "./auth-profiles-DdK1Hxaa.js";
4
+ import { N as sanitizeUserFacingText } from "./pi-embedded-helpers-CfqDGQ9J.js";
5
+ import { n as loadConfig } from "./config-5SdHIcHU.js";
6
+ import { n as redactToolDetail } from "./redact-BDMXB06K.js";
7
+ import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-Bv5YDJc8.js";
9
8
  import path from "node:path";
9
+ import fs from "node:fs/promises";
10
10
  import { complete } from "@mariozechner/pi-ai";
11
11
 
12
12
  //#region src/agents/models-config.ts
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { D as isRecord, I as shortenHomeInString } from "./registry-BhoUuugi.js";
3
3
  import { G as resolveSymiAgentDir, S as getApiKeyForModel, Y as normalizeSecretInput, _ as resolveImplicitBedrockProvider, g as normalizeProviders, v as resolveImplicitCopilotProvider, w as requireApiKey, y as resolveImplicitProviders } from "./model-selection-BQCG9ah0.js";
4
4
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-j5tVLINv.js";
5
- import { N as sanitizeUserFacingText } from "./pi-embedded-helpers-lgx_U5KS.js";
5
+ import { N as sanitizeUserFacingText } from "./pi-embedded-helpers-B8kqLWns.js";
6
6
  import { n as loadConfig } from "./config-BmV60pPT.js";
7
7
  import { n as redactToolDetail } from "./redact-1NGYV_8p.js";
8
8
  import path from "node:path";
@@ -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";
1
+ import { _ as runExec } from "./workspace-DscDraUb.js";
4
2
  import path from "node:path";
5
3
  import { constants } from "node:fs";
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 };
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { t as normalizeChatType } from "./chat-type-C_KiWNAH.js";
3
- import { n as resolveConversationLabel } from "./conversation-label-DXUkoKcB.js";
2
+ import { t as normalizeChatType } from "./chat-type-3FRbbjbq.js";
3
+ import { n as resolveConversationLabel } from "./conversation-label-Onz2hiJh.js";
4
4
 
5
5
  //#region src/auto-reply/reply/inbound-text.ts
6
6
  function normalizeInboundTextNewlines(input) {
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import "./paths-Cqn-zk3M.js";
3
3
  import { B as theme, P as setVerbose, T as toWhatsappJid, l as escapeRegExp, m as normalizeE164, n as assertWebChannel, z as isRich } from "./utils-B-0b9bGM.js";
4
4
  import "./thinking-EAliFiVK.js";
5
- import { Lt as createDefaultDeps, bt as resolveCommitHash, t as getReplyFromConfig } from "./reply-BfZzgC9H.js";
5
+ import { Lt as createDefaultDeps, bt as resolveCommitHash, t as getReplyFromConfig } from "./reply-DYnTEYoa.js";
6
6
  import "./registry-Cja8eT7G.js";
7
7
  import { f as defaultRuntime, r as enableConsoleCapture, u as visibleWidth } from "./subsystem-D9vIQve0.js";
8
8
  import { n as runExec, t as runCommandWithTimeout } from "./exec-CWkblSrI.js";
@@ -103,7 +103,7 @@ import "./pi-tools.policy-CIDBbw6x.js";
103
103
  import "./control-service-Bz7rxLWq.js";
104
104
  import "./stagger-BUClb97_.js";
105
105
  import "./channel-selection-DuWs0Aak.js";
106
- import { r as waitForever, t as monitorWebChannel } from "./channel-web-D-jDDmWN.js";
106
+ import { r as waitForever, t as monitorWebChannel } from "./channel-web-CM2LyWZW.js";
107
107
  import "./outbound-DB5Zus0-.js";
108
108
  import "./session-DIBTkyvE.js";
109
109
  import "./login-dIlDkG4X.js";
@@ -112,10 +112,10 @@ import { t as ensureSymiCliOnPath } from "./path-env-MnzRq6nD.js";
112
112
  import { t as assertSupportedRuntime } from "./runtime-guard-B37eizu-.js";
113
113
  import "./ports-BX0kKI0g.js";
114
114
  import { a as hasFlag, i as getVerboseFlag, n as getCommandPath, o as hasHelpOrVersion, s as hasRootVersionAlias } from "./argv-C6ovOie2.js";
115
- import { i as getCoreCliCommandsWithSubcommands, n as setProgramContext, o as registerProgramCommands, s as getSubCliCommandsWithSubcommands } from "./program-context-CbM3x8lT.js";
115
+ import { i as getCoreCliCommandsWithSubcommands, n as setProgramContext, o as registerProgramCommands, s as getSubCliCommandsWithSubcommands } from "./program-context-DaNGrTOm.js";
116
116
  import "./catalog-RiADx7MA.js";
117
- import "./plugin-registry-VhRGXCLQ.js";
118
- import { n as resolveCliChannelOptions } from "./channel-options-DFHEgad5.js";
117
+ import "./plugin-registry-2zUJMasm.js";
118
+ import { n as resolveCliChannelOptions } from "./channel-options-vBCJhJB7.js";
119
119
  import process$1 from "node:process";
120
120
  import { fileURLToPath } from "node:url";
121
121
  import { Command } from "commander";
@@ -515,7 +515,7 @@ function registerPreActionHooks(program, programVersion) {
515
515
  commandPath
516
516
  });
517
517
  if (PLUGIN_REQUIRED_COMMANDS.has(commandPath[0])) {
518
- const { ensurePluginRegistryLoaded } = await import("./plugin-registry-VhRGXCLQ.js").then((n) => n.n);
518
+ const { ensurePluginRegistryLoaded } = await import("./plugin-registry-2zUJMasm.js").then((n) => n.n);
519
519
  ensurePluginRegistryLoaded();
520
520
  }
521
521
  });
@@ -1,9 +1,9 @@
1
- import { I as resolveUserPath, J as logVerbose, Z as shouldLogVerbose } from "./registry-CK4e9hn8.js";
2
- import { a as hasAlphaChannel, b as maxBytesForKind, c as SafeOpenError, d as detectMime, f as extensionForMime, o as optimizeImageToPng, r as convertHeicToJpeg, s as resizeToJpeg, u as readLocalFileSafely, x as mediaKindFromMime } from "./image-ops-CvJzsyvE.js";
3
- import { a as chunkText } from "./chunk-BW5f05BR.js";
4
- import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots } from "./local-roots-DMwIh5cS.js";
5
- import fs from "node:fs/promises";
1
+ import { I as resolveUserPath, J as logVerbose, Z as shouldLogVerbose } from "./registry-DYq1AYOv.js";
2
+ import { _ as maxBytesForKind, a as hasAlphaChannel, c as detectMime, l as extensionForMime, o as optimizeImageToPng, r as convertHeicToJpeg, s as resizeToJpeg, v as mediaKindFromMime, x as readLocalFileSafely, y as SafeOpenError } from "./image-ops-C7CauEK8.js";
3
+ import { a as chunkText } from "./chunk-09egQapi.js";
4
+ import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots } from "./local-roots-DhZz0Ybs.js";
6
5
  import path from "node:path";
6
+ import fs from "node:fs/promises";
7
7
  import { fileURLToPath } from "node:url";
8
8
  import MarkdownIt from "markdown-it";
9
9