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