@visorcraft/idlehands 4.0.7 → 4.0.8
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-DsVN0UNw.js → accounts-3HS_UAhJ.js} +1 -1
- package/dist/{accounts-D-hQsUw-.js → accounts-DLTODa_Z.js} +1 -1
- package/dist/{accounts-D87a1Y_K.js → accounts-DgbTKQoW.js} +1 -1
- package/dist/{acp-cli-D52jj29o.js → acp-cli-B-7CXaeS.js} +7 -7
- package/dist/{agent-scope-Bn39ugK4.js → agent-scope-RA0zXRpu.js} +18 -18
- package/dist/{agent-via-gateway-DHSAoHG7.js → agent-via-gateway-BNqWa2KY.js} +1 -1
- package/dist/{agent-via-gateway-DKv0lYbJ.js → agent-via-gateway-DAWRXgBZ.js} +7 -7
- package/dist/{agent-via-gateway-DpOnWB8B.js → agent-via-gateway-DnukWgYg.js} +4 -4
- package/dist/{agent-via-gateway-iOxURXfD.js → agent-via-gateway-ot70omgC.js} +2 -2
- package/dist/{agents-lCACO44K.js → agents-etUqQ3vM.js} +4 -4
- package/dist/{agents.config-CCY6Cz20.js → agents.config-DGaSmPdW.js} +2 -2
- package/dist/{agents.config-B9LFlgTL.js → agents.config-FFOmEBpp.js} +1 -1
- package/dist/anton-B7cGl-93.js +579 -0
- package/dist/{anton-eVW4p18G.js → anton-BV_xSUQi.js} +1 -1
- package/dist/{anton-BBGfJxOA.js → anton-CZliSAOv.js} +1 -1
- package/dist/{anton-BAc6lLhA.js → anton-CdYcHDXy.js} +1 -1
- package/dist/{api-key-rotation-nXQVJErE.js → api-key-rotation-B-FTJm5p.js} +1 -1
- package/dist/{audio-preflight-vD3mDc6w.js → audio-preflight-CSSlgO89.js} +4 -4
- package/dist/{audio-preflight-DzjXupNO.js → audio-preflight-Dl1TO10w.js} +31 -31
- package/dist/{audit-D12wg2tV.js → audit-BmaVRZSd.js} +22 -22
- package/dist/{auth-choice-FtlZRCkf.js → auth-choice-CdEVNS6t.js} +1 -1
- package/dist/{auth-choice-BDndThZZ.js → auth-choice-D12Wsf7w.js} +12 -12
- package/dist/{auth-choice-CB74F1Wg.js → auth-choice-qQO5MWz8.js} +10 -10
- package/dist/{auth-choice.apply-helpers-pTqMTYmi.js → auth-choice.apply-helpers-CGcniL1T.js} +1 -1
- package/dist/{auth-store-CMyrmmSF.js → auth-store-DDzIMy8_.js} +7 -7
- package/dist/{auth-token-fKt_cHOj.js → auth-token-BJq87X3o.js} +1 -1
- package/dist/{banner-B_5dznlS.js → banner-DKPFtm9j.js} +1 -1
- package/dist/{bindings-DZjkLUU_.js → bindings-B59Q7nsk.js} +1 -1
- package/dist/{browser-cli-Da-0lyq2.js → browser-cli-Ny1nHwqv.js} +11 -11
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +2 -2
- package/dist/bundled/session-memory/handler.js +2 -2
- package/dist/{call-DnTBT02D.js → call-BRL23UCk.js} +9 -9
- package/dist/{channel-account-context-B4nJPU2N.js → channel-account-context-CDbY5AIr.js} +5 -5
- package/dist/{channel-options-h5L1S2Jw.js → channel-options-BNcsrd0d.js} +3 -3
- package/dist/{channel-options-DXRwdUX9.js → channel-options-CSurZCfX.js} +1 -1
- package/dist/{channel-selection-3jUl-PyW.js → channel-selection-ZxRkxpuF.js} +1 -1
- package/dist/{channel-web-DERdVSsP.js → channel-web-COYnY8sZ.js} +2 -2
- package/dist/{channel-web-BRQth7bT.js → channel-web-DfBOK5if.js} +22 -22
- package/dist/{channels-cli-DhVgXBQN.js → channels-cli-BTIg3DJP.js} +7 -7
- package/dist/{channels-cli-tiO1k2nS.js → channels-cli-GZ16c99F.js} +88 -88
- package/dist/{channels-status-issues-hgASw9UA.js → channels-status-issues-CDpWjdI3.js} +1 -1
- package/dist/{chrome-DEnkfZ9p.js → chrome-Do5potHV.js} +9 -9
- package/dist/{chrome-YguTEaLx.js → chrome-VBsQfIrt.js} +2 -2
- package/dist/{clawbot-cli-C5cDal-5.js → clawbot-cli-uFgYrysW.js} +5 -5
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-LY72rmrU.js → cli-CBXoKbJn.js} +2 -2
- package/dist/{cli-5gUCiFfL.js → cli-CnjJnIx0.js} +70 -70
- package/dist/{client-DIckPnsi.js → client-DxH9hwLn.js} +1 -1
- package/dist/{command-registry-DiTM7FaG.js → command-registry-D3iSv7Of.js} +10 -10
- package/dist/{commands-D3BU_t7G.js → commands-Dj5LalLo.js} +1 -1
- package/dist/{commands-registry-Cj4D_1tw.js → commands-registry-CURlRZQJ.js} +3 -3
- package/dist/{completion-cli-nnpHTGC-.js → completion-cli-Dkh-Zrqo.js} +2 -2
- package/dist/{completion-cli-ComrmOxR.js → completion-cli-Zaylny55.js} +12 -12
- package/dist/{config-cli-eBJoaO3_.js → config-cli-B8R8eDUm.js} +1 -1
- package/dist/{config-cli-CyFGv1-x.js → config-cli-DOf-CodQ.js} +6 -6
- package/dist/{config-guard-DnAyuF6T.js → config-guard-BdsOumqh.js} +17 -17
- package/dist/{config-validation-DIomLMwH.js → config-validation-BvKX6fPw.js} +2 -2
- package/dist/{configure-CxKJRv-R.js → configure-3o91R4Qd.js} +3 -3
- package/dist/{configure-BDbf-55B.js → configure-Wh7ZMjiP.js} +16 -16
- package/dist/{control-ui-assets-CiaCDBvZ.js → control-ui-assets-C7ZpN9hN.js} +1 -1
- package/dist/{cron-cli-B8uqoogS.js → cron-cli-Xml0Uww8.js} +12 -12
- package/dist/{daemon-cli-CMBNTpSS.js → daemon-cli-B1Ti51bt.js} +11 -11
- package/dist/{daemon-install-DeqQiAad.js → daemon-install-CYPo4M1M.js} +4 -4
- package/dist/{daemon-install-helpers-Bug_GYuy.js → daemon-install-helpers-BZY9-jNW.js} +9 -9
- package/dist/{deliver-yTpXc5sv.js → deliver--kttnrER.js} +7 -7
- package/dist/{deliver-5FLCa6tB.js → deliver-whAbSPLk.js} +1 -1
- package/dist/{deps-CNuk_Lqe.js → deps-0GRTVtgy.js} +1 -1
- package/dist/{deps-DGHlGKcG.js → deps-Bdrf7UsT.js} +1 -1
- package/dist/{deps-j4ERP1vX.js → deps-Ci76e_07.js} +1 -1
- package/dist/{deps-r93HSLuk.js → deps-DB6dI42Y.js} +6 -6
- package/dist/{devices-cli-DVLF8Yvw.js → devices-cli-BNkO0Fey.js} +7 -7
- package/dist/{diagnostics-CdUgLS0N.js → diagnostics-DmZbQ8Nc.js} +5 -5
- package/dist/{directory-cli-BAMS8f9U.js → directory-cli-Dz9iXeut.js} +9 -9
- package/dist/{dns-cli-BdxBk-k_.js → dns-cli-DD6hWsdc.js} +4 -4
- package/dist/{dock-CzF5XYGd.js → dock-Y96MzKuM.js} +4 -4
- package/dist/{docs-cli-SF7es4Zs.js → docs-cli-cHkrTB2e.js} +4 -4
- package/dist/{doctor-completion-B1zfgEgx.js → doctor-completion-BeqR17ft.js} +1 -1
- package/dist/{doctor-completion-k4Y6iVow.js → doctor-completion-CeD_GwXj.js} +2 -2
- package/dist/{doctor-config-flow-8qXzBx09.js → doctor-config-flow-Ck4oCjfl.js} +14 -14
- package/dist/{emergency-stop-CZrc3yGJ.js → emergency-stop-B1ycCthl.js} +7 -7
- package/dist/{emergency-stop-EXYMl2Ho.js → emergency-stop-BpudAT0i.js} +2 -2
- package/dist/{emergency-stop-rAr2AFYc.js → emergency-stop-D8XCYE8L.js} +2 -2
- package/dist/{emergency-stop-ChZeaOFx.js → emergency-stop-fApFDnLR.js} +70 -70
- package/dist/{enable-DaA_orGN.js → enable-o_s6PBsC.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-allowlist-8AkOwwIr.js → exec-approvals-allowlist-Co2tJSEo.js} +1 -1
- package/dist/{exec-approvals-cli-CtoJW2K-.js → exec-approvals-cli-CyjTnYfk.js} +15 -15
- package/dist/{exec-safe-bin-runtime-policy-DYXuBKqH.js → exec-safe-bin-runtime-policy-DaoU9-ni.js} +2 -2
- package/dist/extensionAPI.js +7 -7
- package/dist/{fs-safe-DNFrxDS-.js → fs-safe-_JQUGpZf.js} +15 -15
- package/dist/{gateway-cli-DUEnEMPj.js → gateway-cli-D3b05F0y.js} +9 -9
- package/dist/{gateway-cli-BzhusJ6G.js → gateway-cli-D9wmLKfn.js} +148 -148
- package/dist/{gateway-rpc-6vnhO4v8.js → gateway-rpc-Du-ZpDjh.js} +1 -1
- package/dist/{health-H258IqdH.js → health-D6PJPflH.js} +1 -1
- package/dist/{health-DUdnHqnW.js → health-cUQV1hzf.js} +13 -13
- package/dist/{hooks-cli-BQhTkmIs.js → hooks-cli-Cg5joAHH.js} +3 -3
- package/dist/{hooks-cli-h8tcMsfo.js → hooks-cli-Cs51IGnr.js} +84 -84
- package/dist/{hooks-status-CPIWc_bx.js → hooks-status-DNGo2G8Q.js} +1 -1
- package/dist/{idlehands-root-DFL2GrNW.js → idlehands-root-B8cUs-5M.js} +8 -8
- package/dist/{image-C_aN5P6-.js → image-BAsQlUqT.js} +1 -1
- package/dist/{image-C2JZiK-6.js → image-DSDEbSiO.js} +5 -5
- package/dist/{plugin-sdk/image-ops-BRYGGDwL.js → image-ops-BU-VdLZu.js} +2 -2
- package/dist/index.js +80 -80
- package/dist/{inspect-Dg16DMLn.js → inspect-ISQZuNM5.js} +4 -4
- package/dist/{install-safe-path-CNNMzJl9.js → install-safe-path-ChNR9pl6.js} +19 -19
- package/dist/{installs-ST3UaUVJ.js → installs-CNubze2L.js} +9 -9
- package/dist/{ir-DV0Hszc8.js → ir-VncGpwA1.js} +6 -6
- package/dist/{lifecycle-core-DOScNyOv.js → lifecycle-core-B6UoqYTJ.js} +5 -5
- package/dist/llm-slug-generator.js +2 -2
- package/dist/{local-roots-Cco87A2_.js → local-roots-q0xbefkf.js} +2 -2
- package/dist/{login-Dl_lsEHS.js → login-CfUhrgWT.js} +4 -4
- package/dist/{login-qr-B68cBRH0.js → login-qr-DBMsUxgL.js} +7 -7
- package/dist/{logs-cli-BluGGq03.js → logs-cli-CH4mFhUt.js} +8 -8
- package/dist/{manager-BBeTPO2h.js → manager-BMAFgXyU.js} +13 -13
- package/dist/{manifest-registry-RfRn8HJx.js → manifest-registry-Bak1x76G.js} +1 -1
- package/dist/{markdown-tables-C5hTDqNm.js → markdown-tables-DZClqsNo.js} +1 -1
- package/dist/{memory-cli-4wfelGdK.js → memory-cli-CUGwnVIY.js} +12 -12
- package/dist/{model-Bd-05WpB.js → model-C-icShH2.js} +2 -2
- package/dist/{model-catalog-BCsDrrvq.js → model-catalog-D9no0CH2.js} +3 -3
- package/dist/{model-picker-D3U0wJCO.js → model-picker-BkXoTOiA.js} +4 -4
- package/dist/{model-selection-CSn9tUuH.js → model-selection-0dGxYGp8.js} +16 -16
- package/dist/{models-cli-C2VBtXFK.js → models-cli-D6CVD4Jl.js} +79 -79
- package/dist/{models-cli-DBi6iuAc.js → models-cli-Va0ILYmK.js} +4 -4
- package/dist/{models-config-lQpqp472.js → models-config-C5A1wDWh.js} +6 -6
- package/dist/{models-Coc4CuFb.js → models-tqBGSD-X.js} +2 -2
- package/dist/{node-cli-DhD8-NHR.js → node-cli-Ch7K7WtL.js} +32 -32
- package/dist/{node-service-GpI0jzKr.js → node-service-C3vyxHLA.js} +1 -1
- package/dist/{nodes-cli-DPzxQ0mY.js → nodes-cli-D_hUCPNt.js} +14 -14
- package/dist/{nodes-screen-CIAn0wXq.js → nodes-screen-CcpPaFxa.js} +4 -4
- package/dist/{npm-registry-spec-BfeHLbIQ.js → npm-registry-spec-BCbbfIhX.js} +16 -16
- package/dist/{npm-resolution-DaNJYnTG.js → npm-resolution-CCdELgCy.js} +1 -1
- package/dist/{npm-resolution-B6vPFolU.js → npm-resolution-DgW-oSJa.js} +3 -3
- package/dist/{onboard-bK4jkGRa.js → onboard-Bfd4q7HR.js} +6 -6
- package/dist/{onboard-CM-Fu2Ee.js → onboard-Br7oW1Sf.js} +2 -2
- package/dist/{onboard-channels-CWZXe89N.js → onboard-channels-BpCQ5nQX.js} +1 -1
- package/dist/{onboard-channels-BYRL9eyC.js → onboard-channels-wDbxIOXH.js} +20 -20
- package/dist/{onboard-custom-D2sCP3_S.js → onboard-custom-DUbzMMu7.js} +4 -4
- package/dist/{onboard-helpers-ByhJg2ST.js → onboard-helpers-BQmbMJxJ.js} +8 -8
- package/dist/{onboard-hooks-_1Jgimeu.js → onboard-hooks-D9teGxfH.js} +4 -4
- package/dist/{onboard-remote-DuhWSiAO.js → onboard-remote-CIjhaP2W.js} +1 -1
- package/dist/{onboard-skills-vFwEasAg.js → onboard-skills-BsaUIuq6.js} +4 -4
- package/dist/{onboarding-CNGvwRqq.js → onboarding-CegT14jj.js} +13 -13
- package/dist/{onboarding-Ds1add5x.js → onboarding-rD-jdAK3.js} +3 -3
- package/dist/{onboarding.finalize-B4o0pRn2.js → onboarding.finalize-C50Cd_QG.js} +82 -82
- package/dist/{onboarding.finalize-CBIKuTsi.js → onboarding.finalize-CHq5hQxh.js} +7 -7
- package/dist/{onboarding.gateway-config-qVAY6x7I.js → onboarding.gateway-config-CEQMyj8l.js} +16 -16
- package/dist/{openai-model-default-OPCCNNS0.js → openai-model-default-7J6cw1rA.js} +2 -2
- package/dist/{outbound-CG19kl0w.js → outbound-DPTxwchq.js} +4 -4
- package/dist/{plugin-sdk/outbound-attachment-Bs7fNaqv.js → outbound-attachment-Bot3bRnK.js} +2 -2
- package/dist/{pairing-cli-QJYYDcIK.js → pairing-cli-jwx6hMsM.js} +10 -10
- package/dist/{pairing-labels-DuZ7ih-T.js → pairing-labels-ChQJzbS9.js} +1 -1
- package/dist/{pairing-store-qvpPoWL_.js → pairing-store-CPpEEQJO.js} +2 -2
- package/dist/{pairing-token-3hoCgQqp.js → pairing-token-lKXTMQ_M.js} +7 -7
- package/dist/{path-alias-guards-BCskHdfJ.js → path-alias-guards-FXBVVTLw.js} +3 -3
- package/dist/{path-safety-C1Y004P_.js → path-safety-DwibX65n.js} +1 -1
- package/dist/{paths-Bt0fZexW.js → paths-B-CLQ5RT.js} +9 -9
- package/dist/{pi-embedded-BnjDF31C.js → pi-embedded-2EqYdroP.js} +96 -42
- package/dist/{pi-embedded-helpers-BkzrQ5bZ.js → pi-embedded-helpers-BCsfqpDt.js} +6 -6
- package/dist/{pi-embedded-helpers-C2j0LfJC.js → pi-embedded-helpers-Ct2rwp-P.js} +4 -4
- package/dist/{pi-embedded-CxYEstRZ.js → pi-embedded-znVFwmix.js} +81 -27
- package/dist/{pi-model-discovery-Bt79ifyi.js → pi-model-discovery-BIP3RjXl.js} +1 -1
- package/dist/{pi-tools.policy-B_ME3yF6.js → pi-tools.policy-DfITIKZj.js} +5 -5
- package/dist/{plugin-auto-enable-BMuSi4aV.js → plugin-auto-enable-7DUxMy6A.js} +3 -3
- package/dist/{plugin-registry-avBJMf8D.js → plugin-registry-CYXCwXDq.js} +3 -3
- package/dist/{plugin-registry-COLTpSWs.js → plugin-registry-DAtKgBy3.js} +1 -1
- package/dist/plugin-sdk/{accounts-Kt6ygPsC.js → accounts-BLYMokxV.js} +2 -2
- package/dist/plugin-sdk/{accounts-mjFAny5F.js → accounts-C5tHm1UI.js} +1 -1
- package/dist/plugin-sdk/{accounts-B9nfRzyn.js → accounts-CBVAw5_G.js} +1 -1
- package/dist/plugin-sdk/{agent-scope-CU41EMlR.js → agent-scope-jl80I5G9.js} +2 -2
- package/dist/plugin-sdk/{agent-via-gateway-DruTfj9D.js → agent-via-gateway-BeEBACUq.js} +55 -55
- package/dist/plugin-sdk/{anton-lKxGN-F2.js → anton-DXocufH_.js} +4 -4
- package/dist/plugin-sdk/{api-key-rotation-CZhCWd61.js → api-key-rotation-D6nK54XH.js} +2 -2
- package/dist/plugin-sdk/{audio-preflight-CRgDehfO.js → audio-preflight-CKqqN8ty.js} +30 -30
- package/dist/plugin-sdk/{auth-store-DycBvVqL.js → auth-store-DaPWgQTx.js} +1 -1
- package/dist/plugin-sdk/{bindings-BDKKHGv-.js → bindings-xXgmJGxj.js} +2 -2
- package/dist/plugin-sdk/{channel-activity-TcS_VfJk.js → channel-activity-loOg1DRw.js} +3 -3
- package/dist/plugin-sdk/{channel-web-DFBbK8o7.js → channel-web-DOG4rb7e.js} +24 -24
- package/dist/plugin-sdk/{chrome-BCTizrZD.js → chrome-Cb9FgiCI.js} +6 -6
- package/dist/plugin-sdk/{chunk-DZr5xuqv.js → chunk-PW4MBmaN.js} +1 -1
- package/dist/plugin-sdk/{commands-registry-BqJLwZYh.js → commands-registry-B5m2EsHz.js} +5 -5
- package/dist/plugin-sdk/{config-BzPMtEKA.js → config-CEgzwk0J.js} +10 -10
- package/dist/plugin-sdk/{deliver-Cfc1UCre.js → deliver-BNfMF0Nb.js} +10 -10
- package/dist/plugin-sdk/{deps-C2JklbCf.js → deps--J_OAyWa.js} +6 -6
- package/dist/plugin-sdk/{diagnostic-B8VzcqLf.js → diagnostic-ByA6zvzu.js} +1 -1
- package/dist/plugin-sdk/{dock-CMURqoee.js → dock-DKQYtT6-.js} +6 -6
- package/dist/plugin-sdk/{emergency-stop-DaCLgoNM.js → emergency-stop-CAC-_dk-.js} +55 -55
- package/dist/plugin-sdk/{env-qurSiOO2.js → env-5XecRTLs.js} +1 -1
- package/dist/plugin-sdk/{errors-UqLewZJL.js → errors-CMcD8Lhh.js} +1 -1
- package/dist/plugin-sdk/{fetch-guard-C174s8ZV.js → fetch-guard-DwdUEdmT.js} +1 -1
- package/dist/plugin-sdk/{fs-safe-CCXTOK7j.js → fs-safe-qsx2_8-o.js} +2 -2
- package/dist/plugin-sdk/{image-DDuK8tyO.js → image-C_1tftC8.js} +6 -6
- package/dist/{image-ops-BkoEFRYH.js → plugin-sdk/image-ops-CXSUo-AM.js} +12 -12
- package/dist/plugin-sdk/index.js +60 -60
- package/dist/plugin-sdk/{ir-Bv0Zbp2E.js → ir-kdDGpPMq.js} +5 -5
- package/dist/plugin-sdk/{local-roots-bHCsSVt_.js → local-roots-DjB6DYeI.js} +4 -4
- package/dist/plugin-sdk/{login-CkQrnY2G.js → login-DIwO5D5Y.js} +6 -6
- package/dist/plugin-sdk/{login-qr-DAeHibH_.js → login-qr-CpCAJuvT.js} +8 -8
- package/dist/plugin-sdk/{manager-CTC1S_c9.js → manager-Dox9r7og.js} +10 -10
- package/dist/plugin-sdk/{markdown-tables-DfUQHRZY.js → markdown-tables-Drtwd4J5.js} +1 -1
- package/dist/plugin-sdk/{message-channel-DiMXmQeQ.js → message-channel-CQ0qkGHj.js} +1 -1
- package/dist/plugin-sdk/{outbound-B1twcfz5.js → outbound-Dx_q6JAI.js} +6 -6
- package/dist/{outbound-attachment-jYdMgCml.js → plugin-sdk/outbound-attachment-BisU5Vji.js} +2 -2
- package/dist/plugin-sdk/{path-alias-guards-yyy61qHh.js → path-alias-guards-C_uBEYb4.js} +1 -1
- package/dist/plugin-sdk/{pi-embedded-helpers-BAm9cWol.js → pi-embedded-helpers-B68z4sHq.js} +16 -16
- package/dist/plugin-sdk/{pi-model-discovery-Bt6JtUFr.js → pi-model-discovery-Dt6899be.js} +1 -1
- package/dist/plugin-sdk/{plugins-DRPlVBr_.js → plugins-NTjIvHYk.js} +5 -5
- package/dist/plugin-sdk/{pw-ai-CY0evCZ2.js → pw-ai-Dk2PTZzq.js} +10 -10
- package/dist/plugin-sdk/{qmd-manager-BckPBwZX.js → qmd-manager-juzrnopq.js} +5 -5
- package/dist/plugin-sdk/{query-expansion-CPqK-tTR.js → query-expansion-xBXvzdkL.js} +2 -2
- package/dist/plugin-sdk/{redact-Ub8sMBBC.js → redact-B6VQH3UQ.js} +1 -1
- package/dist/plugin-sdk/{replies-DwTNZJgi.js → replies-ZovJp-3F.js} +3 -3
- package/dist/plugin-sdk/{reply-BKLT5LXW.js → reply-5pZsGmq0.js} +165 -111
- package/dist/plugin-sdk/{reply-prefix-BqV0o7_7.js → reply-prefix--mxmTL7A.js} +1 -1
- package/dist/plugin-sdk/{resolve-outbound-target-DAdNGEqG.js → resolve-outbound-target-CnUtsDch.js} +2 -2
- package/dist/plugin-sdk/{resolve-route-C5mAwY-o.js → resolve-route-BZABUE4J.js} +3 -3
- package/dist/plugin-sdk/{retry-2OVzZJMZ.js → retry-Bh7jveNm.js} +1 -1
- package/dist/plugin-sdk/{runner-Ck0w3rcz.js → runner-CZz1tOIR.js} +10 -10
- package/dist/plugin-sdk/{send-BBD-m-nM.js → send-0EVlThEG.js} +10 -10
- package/dist/plugin-sdk/{send-CaPoBwby.js → send-B26cNPqY.js} +6 -6
- package/dist/plugin-sdk/{send-CPeuqOlq.js → send-BCjVQhp3.js} +13 -13
- package/dist/plugin-sdk/{send-SsqudCMv.js → send-CHUGIZs9.js} +7 -7
- package/dist/plugin-sdk/{send-A4Lv5nrg.js → send-Cb5NIN8s.js} +7 -7
- package/dist/plugin-sdk/{session-DpL4uk1J.js → session-DdJj6_DW.js} +3 -3
- package/dist/plugin-sdk/{sessions-CQ5iD4Uq.js → sessions-DNx9c2O2.js} +6 -6
- package/dist/plugin-sdk/{skill-commands-C_O9I71g.js → skill-commands-DorIK8kn.js} +5 -5
- package/dist/plugin-sdk/{skills-DmiIiX4l.js → skills-Dh_Cf2PA.js} +8 -8
- package/dist/plugin-sdk/{store-BI3rLJdW.js → store-CCCXwngh.js} +2 -2
- package/dist/plugin-sdk/{subsystem-lJo9gqAK.js → subsystem-DWPzKeZ0.js} +1 -1
- package/dist/plugin-sdk/{tables-C4X_nAUQ.js → tables-CF9W23Rd.js} +1 -1
- package/dist/plugin-sdk/{target-errors-CXh6e9ZE.js → target-errors-DaH0qYtL.js} +2 -2
- package/dist/plugin-sdk/{tokens-CU9S3S7t.js → tokens-Y97UKh4C.js} +1 -1
- package/dist/plugin-sdk/{tool-images-Cf9aWlVu.js → tool-images-BMRkn_yk.js} +2 -2
- package/dist/plugin-sdk/{tool-loop-detection-DuwkSqZL.js → tool-loop-detection-Cv8wyfAi.js} +2 -2
- package/dist/plugin-sdk/{utils-dP-FpIgu.js → utils-Dyj2wV4e.js} +2 -2
- package/dist/plugin-sdk/web-B-T8tUvc.js +71 -0
- package/dist/plugin-sdk/{whatsapp-actions-Bcknq6EZ.js → whatsapp-actions-B5g-Rywy.js} +23 -23
- package/dist/{plugins-B4hASNc2.js → plugins-D46VZh7u.js} +2 -2
- package/dist/{plugins-cli-C-uo9LAy.js → plugins-cli-CAbzpQdE.js} +3 -3
- package/dist/{plugins-cli-B6_9syjW.js → plugins-cli-Di1X-utw.js} +80 -80
- package/dist/{ports-B07M55Gr.js → ports-B2o0FSFD.js} +1 -1
- package/dist/{ports-DWJO5S52.js → ports-SQy1d-RL.js} +2 -2
- package/dist/{program-CRsDka5E.js → program-DCfsqP_8.js} +8 -8
- package/dist/{program-context-BTsKVJG-.js → program-context-Dhec-fGX.js} +43 -43
- package/dist/{prompt-select-styled-DzubrMFT.js → prompt-select-styled-C1aw6YAJ.js} +37 -37
- package/dist/{prompt-select-styled-7hzJWrd9.js → prompt-select-styled-CJ2ux4O0.js} +4 -4
- package/dist/{provider-auth-helpers-YtnVtfHM.js → provider-auth-helpers-BPsTPi3e.js} +1 -1
- package/dist/{provider-auth-helpers-dm-wozHr.js → provider-auth-helpers-aWibl0HT.js} +5 -5
- package/dist/{push-apns-BV7zUKu7.js → push-apns-BracxehR.js} +1 -1
- package/dist/{push-apns-A-7U4OK4.js → push-apns-By39WpiH.js} +5 -5
- package/dist/{pw-ai-BGALvhDi.js → pw-ai-7i9eGnLh.js} +11 -11
- package/dist/{pw-ai-DjmrIQle.js → pw-ai-yrIWfcWX.js} +1 -1
- package/dist/{qmd-manager-CVcPfkhL.js → qmd-manager-B-qeywfQ.js} +19 -19
- package/dist/{qr-cli-D2Oh8f0U.js → qr-cli-CSt5ihwG.js} +1 -1
- package/dist/{query-expansion-i5I3yavb.js → query-expansion-Clts_AGz.js} +12 -12
- package/dist/{redact-snapshot-CtIVs92s.js → redact-snapshot-BBNDQZIe.js} +1 -1
- package/dist/{register.agent-rHf18cUW.js → register.agent-BaVrC6Ay.js} +9 -9
- package/dist/{register.agent-D5bvlE12.js → register.agent-CyZyt49k.js} +95 -95
- package/dist/{register.configure-9NQauTQK.js → register.configure-CqmHvWcB.js} +8 -8
- package/dist/register.configure-DmjP2LTb.js +168 -0
- package/dist/{register.maintenance-BIVd22Yn.js → register.maintenance-DYYx-jCe.js} +9 -9
- package/dist/{register.maintenance-QBWMAGg5.js → register.maintenance-DfWWglhS.js} +90 -90
- package/dist/{register.message-C4xi8EEY.js → register.message-C3tFRLbl.js} +3 -3
- package/dist/{register.message-SchCSbTL.js → register.message-Cke7XTrc.js} +71 -71
- package/dist/{register.onboard-DV8DYRTN.js → register.onboard-BXK-V33E.js} +18 -18
- package/dist/{register.onboard-PcPjyLxN.js → register.onboard-DLZNgT0T.js} +2 -2
- package/dist/{register.orchestrator-anton-BcfMp8Cz.js → register.orchestrator-anton-D2g_KbgY.js} +14 -14
- package/dist/{register.orchestrator-anton-D8yY6nax.js → register.orchestrator-anton-rvqNZKP1.js} +2 -2
- package/dist/{register.setup-CrajCApG.js → register.setup-DBL7rrRW.js} +2 -2
- package/dist/{register.setup-B0CVTHFW.js → register.setup-Dr-v5BSC.js} +21 -21
- package/dist/{register.status-health-sessions-CsrQlTwE.js → register.status-health-sessions-BDG_QnIw.js} +4 -4
- package/dist/{register.status-health-sessions-MOhlrdZM.js → register.status-health-sessions-BrnK4KEW.js} +82 -82
- package/dist/{register.subclis-Bsrxn7je.js → register.subclis-SGnxsMrq.js} +9 -9
- package/dist/{replies-Czp4hvpS.js → replies-hSFVxL4h.js} +1 -1
- package/dist/{reply-prefix-BMEdvSpA.js → reply-prefix-C3y4zpTl.js} +1 -1
- package/dist/{reply-DlbLp0Yj.js → reply-tuqCy_5s.js} +223 -169
- package/dist/{resolve-route-Ef_Yt2Dw.js → resolve-route-D_AbcmD6.js} +2 -2
- package/dist/{rpc-DDTp_J6f.js → rpc-CCimHATv.js} +1 -1
- package/dist/{run-main-BIzE50C9.js → run-main-KfdXYi7n.js} +15 -15
- package/dist/{runner-CZW_eyf2.js → runner-Bv_BA3vd.js} +1 -1
- package/dist/{runner-BFG54hnb.js → runner-DzszLzI4.js} +20 -20
- package/dist/{runtime-DEmy759r.js → runtime-XmXLaHNk.js} +2 -2
- package/dist/{sandbox-CfPbhDY_.js → sandbox-DcUw5h3p.js} +20 -20
- package/dist/{sandbox-cli-B4wLJr21.js → sandbox-cli-DGvJ7Eeq.js} +22 -22
- package/dist/{secrets-cli-CidAOBfl.js → secrets-cli-Bgp_H_bH.js} +9 -9
- package/dist/{security-cli-Ch7AhbhS.js → security-cli-MQ__Ca6v.js} +39 -39
- package/dist/{send-DDMaLJAQ.js → send--lzpNy4f.js} +7 -7
- package/dist/{send-BCPkAE2k.js → send-C4v0Leny.js} +6 -6
- package/dist/{send-CEavqqEz.js → send-DQiw_nGD.js} +6 -6
- package/dist/{send-BPwTl4-K.js → send-DuwdEkLw.js} +4 -4
- package/dist/{send-CVIXqubC.js → send-DwdHiC7_.js} +13 -13
- package/dist/{server-BpSbZAwg.js → server-D6MltJIF.js} +14 -14
- package/dist/{server-context-BxNSTpH6.js → server-context-DI0W_H7R.js} +10 -10
- package/dist/{server-lifecycle-CGKrGrhM.js → server-lifecycle-B5PlrlbG.js} +2 -2
- package/dist/{server-node-events-CJo-LhWK.js → server-node-events-BLSMmXyp.js} +71 -71
- package/dist/{server-node-events-Ca-vBB7y.js → server-node-events-Brm38g1H.js} +3 -3
- package/dist/{service-Bj2oSfpw.js → service-C8NMS3m_.js} +15 -15
- package/dist/{session-BKVySI8q.js → session-CdnrRhb4.js} +1 -1
- package/dist/{sessions-BqWocozB.js → sessions-BtPXimXQ.js} +14 -14
- package/dist/{shared-DnQ4iyXk.js → shared-CpDPo3hJ.js} +2 -2
- package/dist/{shared-Jzrx8DfN.js → shared-DpLSpJIl.js} +1 -1
- package/dist/{skill-commands-BwIRWSCI.js → skill-commands-BFzmZAfo.js} +5 -5
- package/dist/{skill-scanner-B4Ftsbd2.js → skill-scanner-D7mzXRXd.js} +5 -5
- package/dist/{skills-TIyQDZx7.js → skills-DlvDyK8L.js} +3 -3
- package/dist/{skills-cli-5lbXi4Lh.js → skills-cli-BhKGhjbO.js} +5 -5
- package/dist/{skills-install-D0JHP5uM.js → skills-install-tr6wRWZj.js} +4 -4
- package/dist/{skills-status-Q9skQExW.js → skills-status-qjQ8XP0h.js} +1 -1
- package/dist/{status-Bq62ab72.js → status-CLNSJORR.js} +2 -2
- package/dist/{status-Dkbgc9sr.js → status-CmG_xHAm.js} +24 -24
- package/dist/{status.update-C3uRz7W6.js → status.update-CTi6vuWj.js} +2 -2
- package/dist/{store-CLNuI8-G.js → store-kH9wHHbO.js} +5 -5
- package/dist/{subagent-registry-DdXcwxHN.js → subagent-registry-B-ciR-Ya.js} +81 -27
- package/dist/{system-cli-DBp9Zmvt.js → system-cli-3T-OTIKv.js} +8 -8
- package/dist/{system-run-approval-context-xZVoE4nS.js → system-run-approval-context-CISBXlNw.js} +1 -1
- package/dist/{system-run-command-BIhrK3OI.js → system-run-command-qJdgzxLp.js} +1 -1
- package/dist/{systemd-DyrVLTI0.js → systemd-CaCR5CyM.js} +9 -9
- package/dist/{systemd-hints-BoKKzRI_.js → systemd-hints-DHu-HVFx.js} +6 -6
- package/dist/{systemd-linger-DrhGd61G.js → systemd-linger-B7XlUHk_.js} +1 -1
- package/dist/{tables-CZSD889r.js → tables-g9xkflht.js} +1 -1
- package/dist/{target-errors-BYuWhuLU.js → target-errors-bLIVFsbF.js} +4 -4
- package/dist/{tool-images-DZHrc4pq.js → tool-images-CHqepyF_.js} +1 -1
- package/dist/{tui-cli-DKyA5pZ2.js → tui-cli-BVKWJ9X7.js} +30 -30
- package/dist/{tui-DWGHGeZ3.js → tui-lalhRHve.js} +6 -6
- package/dist/{update-la2AdLf3.js → update-D79ppbMQ.js} +3 -3
- package/dist/{update-cli-DazNo7rK.js → update-cli-B-RzWiVk.js} +99 -99
- package/dist/{update-cli-DaMRO-aG.js → update-cli-ButEdTeQ.js} +9 -9
- package/dist/{update-runner-y0ygXgsr.js → update-runner-Cxg4n1sn.js} +15 -15
- package/dist/{update-runner-BVkF5g4U.js → update-runner-DizoiA2w.js} +1 -1
- package/dist/{upgrade-command-CRivS_8q.js → upgrade-command-DP6F1cjV.js} +3 -3
- package/dist/web-C4Q6twkC.js +123 -0
- package/dist/{web-CZCgCfEk.js → web-D5dDa5kC.js} +3 -3
- package/dist/{web-DeCBCsXv.js → web-DWhjgVIf.js} +8 -8
- package/dist/{web-DBWzdQPi.js → web-DtCFqhdb.js} +3 -3
- package/dist/{webhooks-cli-BnmVPYkU.js → webhooks-cli-2N03q0iY.js} +6 -6
- package/dist/{whatsapp-actions-D2mBFzmK.js → whatsapp-actions-Cms8wQM1.js} +18 -18
- package/dist/{with-timeout-BodPmGCY.js → with-timeout-DEdycYxq.js} +3 -3
- package/dist/{workspace-CDw87aZG.js → workspace-D3pARwoB.js} +1 -1
- package/dist/{workspace-dirs-D3bousoX.js → workspace-dirs-SsExQ3Bz.js} +1 -1
- package/dist/{wsl-CgXDjE09.js → wsl-BJW8nTyL.js} +2 -2
- package/package.json +1 -1
- package/dist/anton-RLNAl1Wi.js +0 -579
- package/dist/plugin-sdk/web-CWWIv9mK.js +0 -71
- package/dist/register.configure-Cz-AvXU5.js +0 -168
- package/dist/web-k_Gtl1KZ.js +0 -123
|
@@ -2,119 +2,119 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
|
2
2
|
import { g as resolveStateDir, r as STATE_DIR, u as resolveGatewayPort, y as resolveRequiredHomeDir } from "./paths-Cn44w-EB.js";
|
|
3
3
|
import { B as theme, C as sleep$1, D as isPlainObject, E as truncateUtf16Safe, F as shouldLogVerbose, L as warn, M as logVerbose, O as danger, S as shortenHomePath, V as getChildLogger, Z as normalizeLogLevel, d as isRecord$1, et as resolvePreferredIdleHandsTmpDir, i as clampInt, l as escapeRegExp, m as normalizeE164, t as CONFIG_DIR, w as sliceUtf16Safe, x as shortenHomeInString, y as resolveUserPath } from "./utils-CXzXXV2o.js";
|
|
4
4
|
import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels, u as resolveResponseUsageMode } from "./thinking-EAliFiVK.js";
|
|
5
|
-
import { D as filterBootstrapFilesForSession, E as ensureAgentWorkspace, M as resolveAgentModelFallbackValues, N as resolveAgentModelPrimaryValue, P as toAgentModelListLike, _ as DEFAULT_AGENT_WORKSPACE_DIR, a as resolveAgentDir, b as DEFAULT_IDENTITY_FILENAME, d as resolveDefaultAgentId, f as resolveEffectiveModelFallbacks, h as resolveSessionAgentIds, i as resolveAgentConfig, k as loadWorkspaceBootstrapFiles, l as resolveAgentSkillsFilter, m as resolveSessionAgentId, p as resolveRunModelFallbacksOverride, r as listAgentIds, t as hasConfiguredModelFallbacks, u as resolveAgentWorkspaceDir, v as DEFAULT_BOOTSTRAP_FILENAME } from "./agent-scope-
|
|
5
|
+
import { D as filterBootstrapFilesForSession, E as ensureAgentWorkspace, M as resolveAgentModelFallbackValues, N as resolveAgentModelPrimaryValue, P as toAgentModelListLike, _ as DEFAULT_AGENT_WORKSPACE_DIR, a as resolveAgentDir, b as DEFAULT_IDENTITY_FILENAME, d as resolveDefaultAgentId, f as resolveEffectiveModelFallbacks, h as resolveSessionAgentIds, i as resolveAgentConfig, k as loadWorkspaceBootstrapFiles, l as resolveAgentSkillsFilter, m as resolveSessionAgentId, p as resolveRunModelFallbacksOverride, r as listAgentIds, t as hasConfiguredModelFallbacks, u as resolveAgentWorkspaceDir, v as DEFAULT_BOOTSTRAP_FILENAME } from "./agent-scope-RA0zXRpu.js";
|
|
6
6
|
import { A as listPluginCommands, C as setActivePluginRegistry, D as clearPluginCommands, E as normalizePluginHttpPath, F as triggerInternalHook, N as createInternalHookEvent, O as executePluginCommand, S as requireActivePluginRegistry, T as createPluginRegistry, _ as normalizeAnyChannelId, b as getActivePluginRegistry, f as CHAT_CHANNEL_ORDER, j as matchPluginCommand, k as getPluginCommandSpecs, t as createSubsystemLogger, v as normalizeChannelId$1, x as getActivePluginRegistryKey } from "./subsystem-CGZX2PBV.js";
|
|
7
7
|
import { n as defaultRuntime, t as createNonExitingRuntime } from "./runtime-44j_X4Y6.js";
|
|
8
8
|
import { C as isSubagentSessionKey, S as isCronSessionKey, T as resolveThreadParentSessionKey, _ as isBlockedObjectKey, b as isAcpSessionKey, c as normalizeMainKey, d as sanitizeAgentId, g as normalizeOptionalAccountId, h as normalizeAccountId$2, l as resolveAgentIdFromSessionKey, m as DEFAULT_ACCOUNT_ID, o as classifySessionKeyShape, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, u as resolveThreadSessionKeys, v as deriveSessionChatType, w as parseAgentSessionKey, x as isCronRunSessionKey, y as getSubagentDepth } from "./session-key-Cuihcz_O.js";
|
|
9
|
-
import { a as openBoundaryFileSync, i as openBoundaryFile, t as resolveIdleHandsPackageRoot } from "./idlehands-root-
|
|
9
|
+
import { a as openBoundaryFileSync, i as openBoundaryFile, t as resolveIdleHandsPackageRoot } from "./idlehands-root-B8cUs-5M.js";
|
|
10
10
|
import { a as logError, i as logDebug, n as runExec, o as logInfo, r as spawnWithFallback, s as logWarn, t as runCommandWithTimeout } from "./exec-CKHMT0tZ.js";
|
|
11
|
-
import { $r as DEFAULT_PROVIDER, $t as normalizeScpRemoteHost, Br as resolveAuthProfileDisplayLabel, Bt as resolveConfigSnapshotHash, Cn as unsetConfigOverride, Cr as listProfilesForProvider, Dn as unsetConfigValueAtPath, En as setConfigValueAtPath, Fn as buildEnforcedShellCommand, Fr as resolveAuthStorePathForDisplay, G as createOllamaStreamFn, Gt as TELEGRAM_COMMAND_NAME_PATTERN, Ht as writeConfigFile, Ir as resolveIdleHandsAgentDir, It as loadConfig, J as requireApiKey, K as getApiKeyForModel, Kt as normalizeTelegramCommandName, Lr as withFileLock, Qr as DEFAULT_MODEL, Qt as resolveIMessageRemoteAttachmentRoots, Rt as readConfigFileSnapshot, Sn as setConfigOverride, Sr as dedupeProfileIds, Tn as parseConfigPath, Ut as validateConfigObjectWithPlugins, W as OLLAMA_NATIVE_BASE_URL, Wr as normalizeSecretInput, X as resolveEnvApiKey, Xr as splitTrailingAuthProfile, Y as resolveApiKeyForProvider, Yt as isInboundPathAllowed, Z as resolveModelAuthMode, Zr as DEFAULT_CONTEXT_TOKENS, Zt as resolveIMessageAttachmentRoots, _ as resolveModelRefFromString, _r as resolveShellEnvFallbackTimeoutMs, ar as resolveDiscordPreviewStreamMode, b as resolveSubagentSpawnModelSelection, bn as getConfigOverrides, br as resolveOwnerDisplaySetting, c as modelKey, cn as parseDurationMs, ct as getSoonestCooldownExpiry, d as parseModelRef, dn as isAvatarDataUrl, dt as markAuthProfileUsed, fn as isAvatarHttpUrl, fr as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, gn as isWorkspaceRelativeAvatarPath, gr as getShellPathFromLoginShell, h as resolveDefaultModelForAgent, hn as isSupportedLocalAvatarExtension, i as findNormalizedProviderValue, ir as mapStreamingModeToSlackLegacyDraftStreamMode, kr as ensureAuthProfileStore, l as normalizeModelRef$2, lt as isProfileInCooldown, m as resolveConfiguredModelRef, mn as isPathWithinRoot, mt as resolveApiKeyForProfile, n as buildConfiguredAllowlistKeys, o as inferUniqueProviderFromConfiguredModels, or as resolveSlackNativeStreaming, pr as resolveAgentMaxConcurrent, pt as resolveProfilesUnavailableReason, q as getCustomProviderApiKey, qt as resolveTelegramCustomCommands, r as buildModelAliasIndex, s as isCliProvider, sr as resolveSlackStreamingMode, st as resolveAuthProfileOrder, t as buildAllowedModelSet, tr as applyMergePatch, u as normalizeProviderId, un as AVATAR_MAX_BYTES, ut as markAuthProfileFailure, v as resolveReasoningDefault, vn as resolveAvatarMime, wn as getConfigValueAtPath, wr as markAuthProfileGood, x as resolveThinkingDefault, xn as resetConfigOverrides, yn as validateJsonSchemaValue } from "./model-selection-
|
|
11
|
+
import { $r as DEFAULT_PROVIDER, $t as normalizeScpRemoteHost, Br as resolveAuthProfileDisplayLabel, Bt as resolveConfigSnapshotHash, Cn as unsetConfigOverride, Cr as listProfilesForProvider, Dn as unsetConfigValueAtPath, En as setConfigValueAtPath, Fn as buildEnforcedShellCommand, Fr as resolveAuthStorePathForDisplay, G as createOllamaStreamFn, Gt as TELEGRAM_COMMAND_NAME_PATTERN, Ht as writeConfigFile, Ir as resolveIdleHandsAgentDir, It as loadConfig, J as requireApiKey, K as getApiKeyForModel, Kt as normalizeTelegramCommandName, Lr as withFileLock, Qr as DEFAULT_MODEL, Qt as resolveIMessageRemoteAttachmentRoots, Rt as readConfigFileSnapshot, Sn as setConfigOverride, Sr as dedupeProfileIds, Tn as parseConfigPath, Ut as validateConfigObjectWithPlugins, W as OLLAMA_NATIVE_BASE_URL, Wr as normalizeSecretInput, X as resolveEnvApiKey, Xr as splitTrailingAuthProfile, Y as resolveApiKeyForProvider, Yt as isInboundPathAllowed, Z as resolveModelAuthMode, Zr as DEFAULT_CONTEXT_TOKENS, Zt as resolveIMessageAttachmentRoots, _ as resolveModelRefFromString, _r as resolveShellEnvFallbackTimeoutMs, ar as resolveDiscordPreviewStreamMode, b as resolveSubagentSpawnModelSelection, bn as getConfigOverrides, br as resolveOwnerDisplaySetting, c as modelKey, cn as parseDurationMs, ct as getSoonestCooldownExpiry, d as parseModelRef, dn as isAvatarDataUrl, dt as markAuthProfileUsed, fn as isAvatarHttpUrl, fr as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, gn as isWorkspaceRelativeAvatarPath, gr as getShellPathFromLoginShell, h as resolveDefaultModelForAgent, hn as isSupportedLocalAvatarExtension, i as findNormalizedProviderValue, ir as mapStreamingModeToSlackLegacyDraftStreamMode, kr as ensureAuthProfileStore, l as normalizeModelRef$2, lt as isProfileInCooldown, m as resolveConfiguredModelRef, mn as isPathWithinRoot, mt as resolveApiKeyForProfile, n as buildConfiguredAllowlistKeys, o as inferUniqueProviderFromConfiguredModels, or as resolveSlackNativeStreaming, pr as resolveAgentMaxConcurrent, pt as resolveProfilesUnavailableReason, q as getCustomProviderApiKey, qt as resolveTelegramCustomCommands, r as buildModelAliasIndex, s as isCliProvider, sr as resolveSlackStreamingMode, st as resolveAuthProfileOrder, t as buildAllowedModelSet, tr as applyMergePatch, u as normalizeProviderId, un as AVATAR_MAX_BYTES, ut as markAuthProfileFailure, v as resolveReasoningDefault, vn as resolveAvatarMime, wn as getConfigValueAtPath, wr as markAuthProfileGood, x as resolveThinkingDefault, xn as resetConfigOverrides, yn as validateJsonSchemaValue } from "./model-selection-0dGxYGp8.js";
|
|
12
12
|
import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-D7lpquOO.js";
|
|
13
13
|
import { t as formatCliCommand } from "./command-format-DInZLuZ8.js";
|
|
14
14
|
import { t as parseBooleanValue$1 } from "./boolean-BsqeuxE6.js";
|
|
15
15
|
import { t as isTruthyEnvValue } from "./env-Bx-F45X5.js";
|
|
16
16
|
import { n as isDangerousHostEnvVarName } from "./host-env-security-DkAVVuaw.js";
|
|
17
17
|
import { r as VERSION } from "./env-vars-sTMVGyld.js";
|
|
18
|
-
import { a as safeStatSync, c as applyTestPluginDefaults, d as resolveEffectiveEnableState, f as resolveMemorySlotDecision, i as isPathInside, n as loadPluginManifestRegistry, r as discoverIdleHandsPlugins, u as normalizePluginsConfig } from "./manifest-registry-
|
|
19
|
-
import { a as resolveChannelGroupRequireMention, c as normalizeHyphenSlug, i as resolveChannelGroupPolicy, l as normalizeStringEntries, n as listChannelDocks, r as normalizeSignalMessagingTarget, s as normalizeAtHashSlug, t as getChannelDock, u as normalizeStringEntriesLower } from "./dock-
|
|
18
|
+
import { a as safeStatSync, c as applyTestPluginDefaults, d as resolveEffectiveEnableState, f as resolveMemorySlotDecision, i as isPathInside, n as loadPluginManifestRegistry, r as discoverIdleHandsPlugins, u as normalizePluginsConfig } from "./manifest-registry-Bak1x76G.js";
|
|
19
|
+
import { a as resolveChannelGroupRequireMention, c as normalizeHyphenSlug, i as resolveChannelGroupPolicy, l as normalizeStringEntries, n as listChannelDocks, r as normalizeSignalMessagingTarget, s as normalizeAtHashSlug, t as getChannelDock, u as normalizeStringEntriesLower } from "./dock-Y96MzKuM.js";
|
|
20
20
|
import { t as runTasksWithConcurrency } from "./run-with-concurrency-CLARJMM7.js";
|
|
21
21
|
import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, d as resolveMessageChannel, h as GATEWAY_CLIENT_NAMES, i as isGatewayMessageChannel, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, o as isMarkdownCapableMessageChannel, p as GATEWAY_CLIENT_IDS, t as INTERNAL_MESSAGE_CHANNEL, u as resolveGatewayMessageChannel } from "./message-channel-DVauVtrg.js";
|
|
22
|
-
import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordRestClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as chunkDiscordTextWithMode, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as createDiscordClient, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-
|
|
22
|
+
import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordRestClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as chunkDiscordTextWithMode, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as createDiscordClient, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-DwdHiC7_.js";
|
|
23
23
|
import { t as normalizeChatType } from "./chat-type-3FRbbjbq.js";
|
|
24
24
|
import { n as resolveConversationLabel } from "./conversation-label-Onz2hiJh.js";
|
|
25
25
|
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-C8P8Rlqd.js";
|
|
26
|
-
import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as resolveAttachmentKind, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as buildRandomTempFilePath, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs$1, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-
|
|
27
|
-
import { S as minimaxUnderstandImage, _ as stripThinkingTagsFromText, a as decodeDataUrl, b as isInsideCode, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as stripReasoningTagsFromText, x as extractTextFromChatContent, y as findCodeRegions } from "./image-
|
|
28
|
-
import { t as ensureIdleHandsModelsJson } from "./models-config-
|
|
29
|
-
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-
|
|
30
|
-
import { A as isTimeoutErrorMessage, C as isCompactionFailureError, D as isLikelyContextOverflowError, E as isFailoverErrorMessage, F as buildBootstrapContextFiles, I as ensureSessionHeader, L as resolveBootstrapMaxChars, M as parseImageDimensionError, N as parseImageSizeError, O as isRateLimitAssistantError, P as sanitizeUserFacingText, R as resolveBootstrapTotalMaxChars, S as isCloudCodeAssistFormatError, T as isFailoverAssistantError, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, b as isAuthPermanentErrorMessage, c as extractToolCallsFromAssistant, d as downgradeOpenAIReasoningBlocks, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, j as isTransientHttpError, k as isRawApiErrorPayload, l as extractToolResultId, m as classifyFailoverReason, n as validateGeminiTurns, o as normalizeTextForComparison, p as BILLING_ERROR_USER_MESSAGE, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as sanitizeToolCallIdsForCloudCodeAssist, v as getApiErrorPayloadFingerprint, w as isContextOverflowError, x as isBillingAssistantError, y as isAuthAssistantError, z as sanitizeGoogleTurnOrdering } from "./pi-embedded-helpers-
|
|
31
|
-
import { C as resolveToolProfilePolicy, S as normalizeToolName, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as stripPluginOnlyAllowlist, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, y as mergeAlsoAllowPolicy } from "./sandbox-
|
|
32
|
-
import { E as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-
|
|
26
|
+
import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as resolveAttachmentKind, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as buildRandomTempFilePath, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs$1, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-DzszLzI4.js";
|
|
27
|
+
import { S as minimaxUnderstandImage, _ as stripThinkingTagsFromText, a as decodeDataUrl, b as isInsideCode, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as stripReasoningTagsFromText, x as extractTextFromChatContent, y as findCodeRegions } from "./image-DSDEbSiO.js";
|
|
28
|
+
import { t as ensureIdleHandsModelsJson } from "./models-config-C5A1wDWh.js";
|
|
29
|
+
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-BIP3RjXl.js";
|
|
30
|
+
import { A as isTimeoutErrorMessage, C as isCompactionFailureError, D as isLikelyContextOverflowError, E as isFailoverErrorMessage, F as buildBootstrapContextFiles, I as ensureSessionHeader, L as resolveBootstrapMaxChars, M as parseImageDimensionError, N as parseImageSizeError, O as isRateLimitAssistantError, P as sanitizeUserFacingText, R as resolveBootstrapTotalMaxChars, S as isCloudCodeAssistFormatError, T as isFailoverAssistantError, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, b as isAuthPermanentErrorMessage, c as extractToolCallsFromAssistant, d as downgradeOpenAIReasoningBlocks, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, j as isTransientHttpError, k as isRawApiErrorPayload, l as extractToolResultId, m as classifyFailoverReason, n as validateGeminiTurns, o as normalizeTextForComparison, p as BILLING_ERROR_USER_MESSAGE, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as sanitizeToolCallIdsForCloudCodeAssist, v as getApiErrorPayloadFingerprint, w as isContextOverflowError, x as isBillingAssistantError, y as isAuthAssistantError, z as sanitizeGoogleTurnOrdering } from "./pi-embedded-helpers-BCsfqpDt.js";
|
|
31
|
+
import { C as resolveToolProfilePolicy, S as normalizeToolName, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as stripPluginOnlyAllowlist, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, y as mergeAlsoAllowPolicy } from "./sandbox-DcUw5h3p.js";
|
|
32
|
+
import { E as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-VBsQfIrt.js";
|
|
33
33
|
import { i as isLoopbackHost } from "./ws-XBTtYpJc.js";
|
|
34
34
|
import { r as trimToUndefined, t as resolveGatewayCredentialsFromConfig } from "./credentials-DcJ9zJDt.js";
|
|
35
|
-
import { i as resolveBrowserConfig, s as resolveBrowserControlAuth } from "./server-context-
|
|
36
|
-
import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-
|
|
37
|
-
import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-
|
|
38
|
-
import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-
|
|
35
|
+
import { i as resolveBrowserConfig, s as resolveBrowserControlAuth } from "./server-context-DI0W_H7R.js";
|
|
36
|
+
import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-DlvDyK8L.js";
|
|
37
|
+
import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-FXBVVTLw.js";
|
|
38
|
+
import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-B-CLQ5RT.js";
|
|
39
39
|
import { i as compileSafeRegex, n as redactSensitiveText } from "./redact-B_4KNlXs.js";
|
|
40
40
|
import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-DZDuPc3M.js";
|
|
41
|
-
import { i as writeFileWithinRoot, n as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-
|
|
41
|
+
import { i as writeFileWithinRoot, n as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-_JQUGpZf.js";
|
|
42
42
|
import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-Dw9zzKSM.js";
|
|
43
|
-
import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-
|
|
44
|
-
import { n as getMediaDir, r as saveMediaBuffer } from "./store-
|
|
45
|
-
import { s as resolveLsofCommandSync } from "./ports-
|
|
43
|
+
import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-BU-VdLZu.js";
|
|
44
|
+
import { n as getMediaDir, r as saveMediaBuffer } from "./store-kH9wHHbO.js";
|
|
45
|
+
import { s as resolveLsofCommandSync } from "./ports-SQy1d-RL.js";
|
|
46
46
|
import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-B3f7Ri2X.js";
|
|
47
|
-
import { $ as resolveExplicitAgentSessionKey, C as mergeDeliveryContext, E as normalizeAccountId$3, G as resolveSessionResetType, H as evaluateSessionFreshness, J as mergeSessionEntry, K as resolveThreadFlag, L as parseInlineDirectives$1, N as readSessionTitleFieldsFromTranscript, O as archiveSessionTranscripts, Q as resolveAgentMainSessionKey, S as deliveryContextKey, T as normalizeSessionDeliveryFields, U as resolveChannelResetConfig, V as resolveSessionKey, W as resolveSessionResetPolicy, X as setSessionRuntimeModel, Y as resolveFreshSessionTotalTokens, Z as canonicalizeMainSessionAlias, _ as updateSessionStoreEntry, b as resolveCacheTtlMs$1, c as loadSessionStore, ct as acquireSessionWriteLock, d as recordSessionMetaFromInbound, et as resolveMainSessionKey, g as updateSessionStore, h as updateLastRoute, i as appendAssistantMessageToSessionTranscript, k as capArrayByJsonBytes, n as extractDeliveryInfo, nt as deriveSessionMetaPatch, o as resolveAndPersistSessionFile, ot as buildGroupDisplayName, q as DEFAULT_RESET_TRIGGERS, r as parseSessionThreadInfo, st as resolveGroupSessionKey, u as readSessionUpdatedAt, ut as resolveSessionLockMaxHoldFromTimeout, w as normalizeDeliveryContext, x as deliveryContextFromSession, y as isCacheEnabled } from "./sessions-
|
|
47
|
+
import { $ as resolveExplicitAgentSessionKey, C as mergeDeliveryContext, E as normalizeAccountId$3, G as resolveSessionResetType, H as evaluateSessionFreshness, J as mergeSessionEntry, K as resolveThreadFlag, L as parseInlineDirectives$1, N as readSessionTitleFieldsFromTranscript, O as archiveSessionTranscripts, Q as resolveAgentMainSessionKey, S as deliveryContextKey, T as normalizeSessionDeliveryFields, U as resolveChannelResetConfig, V as resolveSessionKey, W as resolveSessionResetPolicy, X as setSessionRuntimeModel, Y as resolveFreshSessionTotalTokens, Z as canonicalizeMainSessionAlias, _ as updateSessionStoreEntry, b as resolveCacheTtlMs$1, c as loadSessionStore, ct as acquireSessionWriteLock, d as recordSessionMetaFromInbound, et as resolveMainSessionKey, g as updateSessionStore, h as updateLastRoute, i as appendAssistantMessageToSessionTranscript, k as capArrayByJsonBytes, n as extractDeliveryInfo, nt as deriveSessionMetaPatch, o as resolveAndPersistSessionFile, ot as buildGroupDisplayName, q as DEFAULT_RESET_TRIGGERS, r as parseSessionThreadInfo, st as resolveGroupSessionKey, u as readSessionUpdatedAt, ut as resolveSessionLockMaxHoldFromTimeout, w as normalizeDeliveryContext, x as deliveryContextFromSession, y as isCacheEnabled } from "./sessions-BtPXimXQ.js";
|
|
48
48
|
import { t as resolveAccountEntry } from "./account-lookup-BtMY6XyP.js";
|
|
49
|
-
import { C as resolveDiscordAccount, _ as resolveSlackAppToken, a as isWhatsAppGroupJid, c as listEnabledTelegramAccounts, d as resolveTelegramAccount, f as resolveTelegramToken, h as resolveSlackAccount, l as listTelegramAccountIds, n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId$2, s as createTelegramActionGate, t as getChannelPlugin, v as resolveSlackBotToken, w as normalizeDiscordToken, x as listEnabledDiscordAccounts, y as createDiscordActionGate } from "./plugins-
|
|
50
|
-
import { i as resolveWhatsAppAccount } from "./accounts-
|
|
51
|
-
import { r as resolveIMessageAccount } from "./accounts-
|
|
52
|
-
import { i as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-
|
|
53
|
-
import { t as buildChannelAccountBindings } from "./bindings-
|
|
54
|
-
import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, n as getWebAuthAgeMs, p as webAuthExists } from "./auth-store-
|
|
55
|
-
import { a as validateSlackBlocksArray, c as resolveSlackWebClientOptions, i as parseSlackBlocksInput, l as parseSlackTarget, o as buildSlackBlocksFallbackText, s as createSlackWebClient, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-
|
|
49
|
+
import { C as resolveDiscordAccount, _ as resolveSlackAppToken, a as isWhatsAppGroupJid, c as listEnabledTelegramAccounts, d as resolveTelegramAccount, f as resolveTelegramToken, h as resolveSlackAccount, l as listTelegramAccountIds, n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId$2, s as createTelegramActionGate, t as getChannelPlugin, v as resolveSlackBotToken, w as normalizeDiscordToken, x as listEnabledDiscordAccounts, y as createDiscordActionGate } from "./plugins-D46VZh7u.js";
|
|
50
|
+
import { i as resolveWhatsAppAccount } from "./accounts-DLTODa_Z.js";
|
|
51
|
+
import { r as resolveIMessageAccount } from "./accounts-3HS_UAhJ.js";
|
|
52
|
+
import { i as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-DgbTKQoW.js";
|
|
53
|
+
import { t as buildChannelAccountBindings } from "./bindings-B59Q7nsk.js";
|
|
54
|
+
import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, n as getWebAuthAgeMs, p as webAuthExists } from "./auth-store-DDzIMy8_.js";
|
|
55
|
+
import { a as validateSlackBlocksArray, c as resolveSlackWebClientOptions, i as parseSlackBlocksInput, l as parseSlackTarget, o as buildSlackBlocksFallbackText, s as createSlackWebClient, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-DuwdEkLw.js";
|
|
56
56
|
import { a as resolveSessionFilePathOptions, i as resolveSessionFilePath, o as resolveSessionTranscriptPath, r as resolveDefaultSessionStorePath, u as resolveStorePath } from "./paths-DRz46q00.js";
|
|
57
57
|
import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-CTnwu8Ge.js";
|
|
58
58
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-DvLx8VNH.js";
|
|
59
|
-
import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-
|
|
59
|
+
import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-CHqepyF_.js";
|
|
60
60
|
import { n as resolveToolDisplay } from "./tool-display-Dac7lHGW.js";
|
|
61
61
|
import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-Tud5uP5n.js";
|
|
62
62
|
import { t as fetchWithSsrFGuard } from "./fetch-guard-yUZu1Vzc.js";
|
|
63
|
-
import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError, t as getAgentScopedMediaLocalRoots } from "./local-roots-
|
|
64
|
-
import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-
|
|
63
|
+
import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError, t as getAgentScopedMediaLocalRoots } from "./local-roots-q0xbefkf.js";
|
|
64
|
+
import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-D9no0CH2.js";
|
|
65
65
|
import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-Dg-QZ_pN.js";
|
|
66
|
-
import { C as initializeGlobalHookRunner, S as getGlobalHookRunner, _ as createReplyToModeFilterForChannel, a as normalizeOutboundPayloadsForJson, b as normalizeChannelTargetInput, c as splitMediaFromOutput, d as applyReplyThreading, f as filterMessagingToolDuplicates, g as shouldSuppressReasoningPayload, h as shouldSuppressMessagingToolReplies, i as normalizeOutboundPayloads, l as throwIfAborted, m as isRenderablePayload, o as normalizeReplyPayloadsForDelivery, p as filterMessagingToolMediaDuplicates, r as formatOutboundPayloadLog, s as parseReplyDirectives, t as deliverOutboundPayloads, u as applyReplyTagsToPayload, v as resolveReplyToMode, x as normalizeTargetForProvider, y as buildTargetResolverSignature } from "./deliver
|
|
67
|
-
import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-
|
|
68
|
-
import { a as listChatCommands, c as listNativeCommandSpecsForConfig, d as parseCommandArgs, f as resolveCommandArgChoices, h as shouldHandleTextCommands, i as isCommandEnabled, l as maybeResolveTextAlias, m as serializeCommandArgs, o as listChatCommandsForConfig, p as resolveCommandArgMenu, r as findCommandByNativeName, s as listNativeCommandSpecs, t as buildCommandTextFromArgs, u as normalizeCommandBody } from "./commands-registry-
|
|
69
|
-
import { Nt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-
|
|
70
|
-
import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-
|
|
66
|
+
import { C as initializeGlobalHookRunner, S as getGlobalHookRunner, _ as createReplyToModeFilterForChannel, a as normalizeOutboundPayloadsForJson, b as normalizeChannelTargetInput, c as splitMediaFromOutput, d as applyReplyThreading, f as filterMessagingToolDuplicates, g as shouldSuppressReasoningPayload, h as shouldSuppressMessagingToolReplies, i as normalizeOutboundPayloads, l as throwIfAborted, m as isRenderablePayload, o as normalizeReplyPayloadsForDelivery, p as filterMessagingToolMediaDuplicates, r as formatOutboundPayloadLog, s as parseReplyDirectives, t as deliverOutboundPayloads, u as applyReplyTagsToPayload, v as resolveReplyToMode, x as normalizeTargetForProvider, y as buildTargetResolverSignature } from "./deliver--kttnrER.js";
|
|
67
|
+
import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-Dj5LalLo.js";
|
|
68
|
+
import { a as listChatCommands, c as listNativeCommandSpecsForConfig, d as parseCommandArgs, f as resolveCommandArgChoices, h as shouldHandleTextCommands, i as isCommandEnabled, l as maybeResolveTextAlias, m as serializeCommandArgs, o as listChatCommandsForConfig, p as resolveCommandArgMenu, r as findCommandByNativeName, s as listNativeCommandSpecs, t as buildCommandTextFromArgs, u as normalizeCommandBody } from "./commands-registry-CURlRZQJ.js";
|
|
69
|
+
import { Nt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-DxH9hwLn.js";
|
|
70
|
+
import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-BRL23UCk.js";
|
|
71
71
|
import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-CYe1ekSh.js";
|
|
72
72
|
import { n as retryAsync } from "./retry-Db05aSB8.js";
|
|
73
73
|
import { n as formatTimeAgo } from "./format-relative-DcQZUAYl.js";
|
|
74
|
-
import { c as readJsonFileWithFallback, d as listPairingChannels, i as readChannelAllowFromStore, l as writeJsonFileAtomically, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-
|
|
74
|
+
import { c as readJsonFileWithFallback, d as listPairingChannels, i as readChannelAllowFromStore, l as writeJsonFileAtomically, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-CPpEEQJO.js";
|
|
75
75
|
import { d as resolveExecApprovals, f as resolveExecApprovalsFromFile, i as maxAsk, l as recordAllowlistUse, n as addAllowlistEntry, o as minSecurity, u as requiresExecApproval } from "./exec-approvals-C2s2dPha.js";
|
|
76
|
-
import { n as evaluateShellAllowlist, r as resolveAllowAlwaysPatterns } from "./exec-approvals-allowlist-
|
|
77
|
-
import { n as resolveExecSafeBinRuntimePolicy, r as resolveMergedSafeBinProfileFixtures } from "./exec-safe-bin-runtime-policy-
|
|
78
|
-
import { a as canvasSnapshotTempPath, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, g as normalizePathPrepend, h as mergePathPrepend, i as parseEnvPairs, l as parseCameraSnapPayload, m as applyPathPrepend, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as buildNodeShellCommand, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile } from "./nodes-screen-
|
|
79
|
-
import { c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-
|
|
76
|
+
import { n as evaluateShellAllowlist, r as resolveAllowAlwaysPatterns } from "./exec-approvals-allowlist-Co2tJSEo.js";
|
|
77
|
+
import { n as resolveExecSafeBinRuntimePolicy, r as resolveMergedSafeBinProfileFixtures } from "./exec-safe-bin-runtime-policy-DaoU9-ni.js";
|
|
78
|
+
import { a as canvasSnapshotTempPath, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, g as normalizePathPrepend, h as mergePathPrepend, i as parseEnvPairs, l as parseCameraSnapPayload, m as applyPathPrepend, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as buildNodeShellCommand, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile } from "./nodes-screen-CcpPaFxa.js";
|
|
79
|
+
import { c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-bLIVFsbF.js";
|
|
80
80
|
import { n as parseNodeList, r as parsePairingList, t as resolveNodeIdFromCandidates } from "./node-match-CZ8lT9jK.js";
|
|
81
81
|
import { i as formatDurationSeconds, r as formatDurationPrecise, t as formatDurationCompact$1 } from "./format-duration-C9ZBnsdW.js";
|
|
82
82
|
import { r as getDiagnosticSessionState } from "./diagnostic-session-state-CJHdRyOy.js";
|
|
83
83
|
import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-9ygk6nTV.js";
|
|
84
|
-
import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext, t as withTimeout$4 } from "./with-timeout-
|
|
84
|
+
import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext, t as withTimeout$4 } from "./with-timeout-DEdycYxq.js";
|
|
85
85
|
import { a as logMessageQueued, d as logWebhookReceived, f as startDiagnosticHeartbeat, h as isDiagnosticsEnabled, i as logMessageProcessed, l as logWebhookError, m as emitDiagnosticEvent, n as logLaneDequeue, o as logSessionStateChange, p as stopDiagnosticHeartbeat, r as logLaneEnqueue, t as diag, u as logWebhookProcessed } from "./diagnostic-ByHpt6q8.js";
|
|
86
|
-
import { A as describeReplyTarget, B as resolveTelegramThreadSpec, C as buildSenderLabel, D as buildTelegramParentPeer, E as buildTelegramGroupPeerId, F as resolveTelegramForumThreadId, G as formatLocationText, H as normalizeAllowFrom$2, I as resolveTelegramGroupAllowFromContext, J as isVoiceCompatibleAudio, K as toLocationContext, L as resolveTelegramMediaPlaceholder, M as extractTelegramLocation, N as hasBotMention, O as buildTelegramThreadParams, P as normalizeForwardedContext, R as resolveTelegramReplyId, S as buildGroupLabel, T as buildTelegramGroupFrom, U as normalizeDmAllowFromWithStore$1, V as isSenderAllowed$1, W as resolveSenderAllowMatch, X as resolveTelegramTargetChatType, Y as parseTelegramTarget, _ as markdownToTelegramHtml, a as reactMessageTelegram, b as resolveTelegramFetch, c as sendStickerTelegram, g as markdownToTelegramChunks, h as isRecoverableTelegramNetworkError, i as editMessageTelegram, j as expandTextLinks, k as buildTypingThreadParams, m as wasSentByBot, n as createForumTopicTelegram, o as sendMessageTelegram, q as withTelegramApiErrorLogging, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as renderTelegramHtmlText, w as buildSenderName, x as splitTelegramCaption, y as wrapFileReferencesInHtml, z as resolveTelegramStreamMode } from "./send
|
|
87
|
-
import { i as buildModelAliasLines, n as resolveModel } from "./model-
|
|
88
|
-
import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-
|
|
89
|
-
import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-
|
|
90
|
-
import { n as resolveMemorySearchConfig } from "./manager-
|
|
86
|
+
import { A as describeReplyTarget, B as resolveTelegramThreadSpec, C as buildSenderLabel, D as buildTelegramParentPeer, E as buildTelegramGroupPeerId, F as resolveTelegramForumThreadId, G as formatLocationText, H as normalizeAllowFrom$2, I as resolveTelegramGroupAllowFromContext, J as isVoiceCompatibleAudio, K as toLocationContext, L as resolveTelegramMediaPlaceholder, M as extractTelegramLocation, N as hasBotMention, O as buildTelegramThreadParams, P as normalizeForwardedContext, R as resolveTelegramReplyId, S as buildGroupLabel, T as buildTelegramGroupFrom, U as normalizeDmAllowFromWithStore$1, V as isSenderAllowed$1, W as resolveSenderAllowMatch, X as resolveTelegramTargetChatType, Y as parseTelegramTarget, _ as markdownToTelegramHtml, a as reactMessageTelegram, b as resolveTelegramFetch, c as sendStickerTelegram, g as markdownToTelegramChunks, h as isRecoverableTelegramNetworkError, i as editMessageTelegram, j as expandTextLinks, k as buildTypingThreadParams, m as wasSentByBot, n as createForumTopicTelegram, o as sendMessageTelegram, q as withTelegramApiErrorLogging, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as renderTelegramHtmlText, w as buildSenderName, x as splitTelegramCaption, y as wrapFileReferencesInHtml, z as resolveTelegramStreamMode } from "./send--lzpNy4f.js";
|
|
87
|
+
import { i as buildModelAliasLines, n as resolveModel } from "./model-C-icShH2.js";
|
|
88
|
+
import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-C3y4zpTl.js";
|
|
89
|
+
import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-CUGwnVIY.js";
|
|
90
|
+
import { n as resolveMemorySearchConfig } from "./manager-BMAFgXyU.js";
|
|
91
91
|
import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-ClMFHJu-.js";
|
|
92
|
-
import { n as resolveMarkdownTableMode } from "./markdown-tables-
|
|
93
|
-
import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-
|
|
94
|
-
import { a as resolveSubagentToolPolicy, c as readStoreAllowFromForDmPolicy, d as resolveDmGroupAccessWithLists, f as resolveCommandAuthorizedFromAuthorizers, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, p as resolveControlCommandGate, r as resolveEffectiveToolPolicy, s as DM_GROUP_ACCESS_REASON, t as filterToolsByPolicy } from "./pi-tools.policy-
|
|
92
|
+
import { n as resolveMarkdownTableMode } from "./markdown-tables-DZClqsNo.js";
|
|
93
|
+
import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-VncGpwA1.js";
|
|
94
|
+
import { a as resolveSubagentToolPolicy, c as readStoreAllowFromForDmPolicy, d as resolveDmGroupAccessWithLists, f as resolveCommandAuthorizedFromAuthorizers, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, p as resolveControlCommandGate, r as resolveEffectiveToolPolicy, s as DM_GROUP_ACCESS_REASON, t as filterToolsByPolicy } from "./pi-tools.policy-DfITIKZj.js";
|
|
95
95
|
import { n as normalizePollInput } from "./polls-CGpoOVqd.js";
|
|
96
96
|
import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-DaCsrdWK.js";
|
|
97
|
-
import { t as convertMarkdownTables } from "./tables-
|
|
98
|
-
import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-
|
|
97
|
+
import { t as convertMarkdownTables } from "./tables-g9xkflht.js";
|
|
98
|
+
import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-C4v0Leny.js";
|
|
99
99
|
import { n as isSenderIdAllowed, r as mergeDmAllowFromSources, t as firstDefined$1 } from "./allow-from-DKKtZjsx.js";
|
|
100
100
|
import { t as makeProxyFetch } from "./proxy-yk1Oqe9p.js";
|
|
101
|
-
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-
|
|
101
|
+
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-D_AbcmD6.js";
|
|
102
102
|
import { n as isDangerousNameMatchingEnabled } from "./dangerous-name-matching-c9SZFcEG.js";
|
|
103
|
-
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-
|
|
104
|
-
import { b as ensureSkillsWatcher, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, x as getSkillsSnapshotVersion } from "./skill-commands-
|
|
103
|
+
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-hSFVxL4h.js";
|
|
104
|
+
import { b as ensureSkillsWatcher, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, x as getSkillsSnapshotVersion } from "./skill-commands-BFzmZAfo.js";
|
|
105
105
|
import { i as redactIdentifier, t as getActiveWebListener } from "./active-listener-30JxwI-t.js";
|
|
106
|
-
import { i as createOutboundSendDepsFromCliSource, t as createDefaultDeps } from "./deps-
|
|
107
|
-
import { t as applyPluginAutoEnable } from "./plugin-auto-enable-
|
|
108
|
-
import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-
|
|
106
|
+
import { i as createOutboundSendDepsFromCliSource, t as createDefaultDeps } from "./deps-DB6dI42Y.js";
|
|
107
|
+
import { t as applyPluginAutoEnable } from "./plugin-auto-enable-7DUxMy6A.js";
|
|
108
|
+
import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-ZxRkxpuF.js";
|
|
109
109
|
import { c as hasNonzeroUsage, l as makeZeroUsageSnapshot, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary, s as deriveSessionTotalTokens, u as normalizeUsage } from "./session-cost-usage-DS1rjzML.js";
|
|
110
|
-
import { a as normalizeIMessageHandle, c as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, i as isAllowedIMessageSender, o as parseIMessageTarget, r as formatIMessageChatTarget, s as createIMessageRpcClient, t as sendMessageIMessage } from "./send-
|
|
111
|
-
import { r as detectBinary } from "./onboard-helpers-
|
|
112
|
-
import { t as resolvePairingIdLabel } from "./pairing-labels-
|
|
110
|
+
import { a as normalizeIMessageHandle, c as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, i as isAllowedIMessageSender, o as parseIMessageTarget, r as formatIMessageChatTarget, s as createIMessageRpcClient, t as sendMessageIMessage } from "./send-DQiw_nGD.js";
|
|
111
|
+
import { r as detectBinary } from "./onboard-helpers-BQmbMJxJ.js";
|
|
112
|
+
import { t as resolvePairingIdLabel } from "./pairing-labels-ChQJzbS9.js";
|
|
113
113
|
import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-D1JXJKiz.js";
|
|
114
114
|
import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-rQoQSWkz.js";
|
|
115
115
|
import { f as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel } from "./constants-Z_TnY4pX.js";
|
|
116
116
|
import { t as parseTimeoutMs } from "./parse-timeout-iAZMQ2yo.js";
|
|
117
|
-
import { t as formatExecCommand } from "./system-run-command-
|
|
117
|
+
import { t as formatExecCommand } from "./system-run-command-qJdgzxLp.js";
|
|
118
118
|
import { createRequire } from "node:module";
|
|
119
119
|
import { fileURLToPath } from "node:url";
|
|
120
120
|
import fs, { existsSync, mkdirSync, mkdtempSync, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
|
|
@@ -122,7 +122,7 @@ import os, { homedir } from "node:os";
|
|
|
122
122
|
import path, { isAbsolute } from "node:path";
|
|
123
123
|
import JSON5 from "json5";
|
|
124
124
|
import { inspect } from "node:util";
|
|
125
|
-
import
|
|
125
|
+
import fs$1 from "node:fs/promises";
|
|
126
126
|
import { execFileSync, spawn, spawnSync } from "node:child_process";
|
|
127
127
|
import crypto, { createHash, createHmac, randomBytes, randomUUID } from "node:crypto";
|
|
128
128
|
import { complete, completeSimple, streamSimple } from "@mariozechner/pi-ai";
|
|
@@ -2281,7 +2281,7 @@ async function resolveAgentSessionDirs(stateDir) {
|
|
|
2281
2281
|
const agentsDir = path.join(stateDir, "agents");
|
|
2282
2282
|
let entries = [];
|
|
2283
2283
|
try {
|
|
2284
|
-
entries = await
|
|
2284
|
+
entries = await fs$1.readdir(agentsDir, { withFileTypes: true });
|
|
2285
2285
|
} catch (err) {
|
|
2286
2286
|
if (err.code === "ENOENT") return [];
|
|
2287
2287
|
throw err;
|
|
@@ -8132,7 +8132,7 @@ async function resolveSandboxWorkdir(params) {
|
|
|
8132
8132
|
cwd: process.cwd(),
|
|
8133
8133
|
root: params.sandbox.workspaceDir
|
|
8134
8134
|
});
|
|
8135
|
-
if (!(await
|
|
8135
|
+
if (!(await fs$1.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
|
|
8136
8136
|
const relative = resolved.relative ? resolved.relative.split(path.sep).join(path.posix.sep) : "";
|
|
8137
8137
|
const containerWorkdir = relative ? path.posix.join(params.sandbox.containerWorkdir, relative) : params.sandbox.containerWorkdir;
|
|
8138
8138
|
return {
|
|
@@ -9294,13 +9294,13 @@ async function validateScriptFileForShellBleed(params) {
|
|
|
9294
9294
|
cwd: params.workdir,
|
|
9295
9295
|
root: params.workdir
|
|
9296
9296
|
});
|
|
9297
|
-
stat = await
|
|
9297
|
+
stat = await fs$1.stat(absPath);
|
|
9298
9298
|
} catch {
|
|
9299
9299
|
return;
|
|
9300
9300
|
}
|
|
9301
9301
|
if (!stat.isFile()) return;
|
|
9302
9302
|
if (stat.size > 512 * 1024) return;
|
|
9303
|
-
const content = await
|
|
9303
|
+
const content = await fs$1.readFile(absPath, "utf-8");
|
|
9304
9304
|
const first = /\$[A-Z_][A-Z0-9_]{1,}/g.exec(content);
|
|
9305
9305
|
if (first) {
|
|
9306
9306
|
const idx = first.index;
|
|
@@ -14997,7 +14997,7 @@ async function routeReply(params) {
|
|
|
14997
14997
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
14998
14998
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
14999
14999
|
try {
|
|
15000
|
-
const { deliverOutboundPayloads } = await import("./deliver
|
|
15000
|
+
const { deliverOutboundPayloads } = await import("./deliver--kttnrER.js").then((n) => n.n);
|
|
15001
15001
|
const outboundSession = buildOutboundSessionContext({
|
|
15002
15002
|
cfg,
|
|
15003
15003
|
agentId: resolvedAgentId,
|
|
@@ -21560,8 +21560,8 @@ async function describeStickerImage(params) {
|
|
|
21560
21560
|
const { provider, model } = resolved;
|
|
21561
21561
|
logVerbose(`telegram: describing sticker with ${provider}/${model}`);
|
|
21562
21562
|
try {
|
|
21563
|
-
const buffer = await
|
|
21564
|
-
const { describeImageWithModel } = await import("./image-
|
|
21563
|
+
const buffer = await fs$1.readFile(imagePath);
|
|
21564
|
+
const { describeImageWithModel } = await import("./image-DSDEbSiO.js").then((n) => n.n);
|
|
21565
21565
|
return (await describeImageWithModel({
|
|
21566
21566
|
buffer,
|
|
21567
21567
|
fileName: "sticker.webp",
|
|
@@ -22015,7 +22015,7 @@ function createWhatsAppLoginTool() {
|
|
|
22015
22015
|
force: Type.Optional(Type.Boolean())
|
|
22016
22016
|
}),
|
|
22017
22017
|
execute: async (_toolCallId, args) => {
|
|
22018
|
-
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-
|
|
22018
|
+
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-DBMsUxgL.js");
|
|
22019
22019
|
if ((args?.action ?? "start") === "wait") {
|
|
22020
22020
|
const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
|
|
22021
22021
|
return {
|
|
@@ -24735,7 +24735,7 @@ async function preflightDiscordMessage(params) {
|
|
|
24735
24735
|
let preflightTranscript;
|
|
24736
24736
|
const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
|
|
24737
24737
|
if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
|
|
24738
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
24738
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-Dl1TO10w.js");
|
|
24739
24739
|
const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
|
|
24740
24740
|
if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
|
|
24741
24741
|
ctx: {
|
|
@@ -27503,9 +27503,9 @@ function createDiscordMessageHandler(params) {
|
|
|
27503
27503
|
try {
|
|
27504
27504
|
const messageText = resolveDiscordMessageText(data.message)?.trim();
|
|
27505
27505
|
if (messageText) {
|
|
27506
|
-
const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-
|
|
27506
|
+
const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-fApFDnLR.js");
|
|
27507
27507
|
if (isAbortRequestText(messageText)) {
|
|
27508
|
-
const { resolveAgentRoute } = await import("./resolve-route-
|
|
27508
|
+
const { resolveAgentRoute } = await import("./resolve-route-D_AbcmD6.js").then((n) => n.r);
|
|
27509
27509
|
const channelId = resolveDiscordMessageChannelId({
|
|
27510
27510
|
message: data.message,
|
|
27511
27511
|
eventChannelId: data.channel_id
|
|
@@ -27668,7 +27668,7 @@ const MODEL_CACHE = /* @__PURE__ */ new Map();
|
|
|
27668
27668
|
await ensureIdleHandsModelsJson(cfg);
|
|
27669
27669
|
} catch {}
|
|
27670
27670
|
try {
|
|
27671
|
-
const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-
|
|
27671
|
+
const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-BIP3RjXl.js").then((n) => n.r);
|
|
27672
27672
|
const agentDir = resolveIdleHandsAgentDir();
|
|
27673
27673
|
const modelRegistry = discoverModels(discoverAuthStorage(agentDir), agentDir);
|
|
27674
27674
|
applyDiscoveredContextWindows({
|
|
@@ -27991,7 +27991,7 @@ async function createModelSelectionState(params) {
|
|
|
27991
27991
|
}
|
|
27992
27992
|
}
|
|
27993
27993
|
if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
|
|
27994
|
-
const { ensureAuthProfileStore } = await import("./model-selection-
|
|
27994
|
+
const { ensureAuthProfileStore } = await import("./model-selection-0dGxYGp8.js").then((n) => n.ot);
|
|
27995
27995
|
const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
|
|
27996
27996
|
const providerKey = normalizeProviderId(provider);
|
|
27997
27997
|
if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
|
|
@@ -31714,18 +31714,18 @@ function appendImagePathsToPrompt(prompt, paths) {
|
|
|
31714
31714
|
return `${trimmed}${trimmed ? "\n\n" : ""}${paths.join("\n")}`;
|
|
31715
31715
|
}
|
|
31716
31716
|
async function writeCliImages(images) {
|
|
31717
|
-
const tempDir = await
|
|
31717
|
+
const tempDir = await fs$1.mkdtemp(path.join(os.tmpdir(), "idlehands-cli-images-"));
|
|
31718
31718
|
const paths = [];
|
|
31719
31719
|
for (let i = 0; i < images.length; i += 1) {
|
|
31720
31720
|
const image = images[i];
|
|
31721
31721
|
const ext = resolveImageExtension(image.mimeType);
|
|
31722
31722
|
const filePath = path.join(tempDir, `image-${i + 1}.${ext}`);
|
|
31723
31723
|
const buffer = Buffer.from(image.data, "base64");
|
|
31724
|
-
await
|
|
31724
|
+
await fs$1.writeFile(filePath, buffer, { mode: 384 });
|
|
31725
31725
|
paths.push(filePath);
|
|
31726
31726
|
}
|
|
31727
31727
|
const cleanup = async () => {
|
|
31728
|
-
await
|
|
31728
|
+
await fs$1.rm(tempDir, {
|
|
31729
31729
|
recursive: true,
|
|
31730
31730
|
force: true
|
|
31731
31731
|
});
|
|
@@ -33925,10 +33925,10 @@ function estimateDurationSeconds(pcm) {
|
|
|
33925
33925
|
return pcm.length / (bytesPerSample * SAMPLE_RATE);
|
|
33926
33926
|
}
|
|
33927
33927
|
async function writeWavFile(pcm) {
|
|
33928
|
-
const tempDir = await
|
|
33928
|
+
const tempDir = await fs$1.mkdtemp(path.join(resolvePreferredIdleHandsTmpDir(), "discord-voice-"));
|
|
33929
33929
|
const filePath = path.join(tempDir, `segment-${randomUUID()}.wav`);
|
|
33930
33930
|
const wav = buildWavBuffer(pcm);
|
|
33931
|
-
await
|
|
33931
|
+
await fs$1.writeFile(filePath, wav);
|
|
33932
33932
|
scheduleTempCleanup(tempDir);
|
|
33933
33933
|
return {
|
|
33934
33934
|
path: filePath,
|
|
@@ -33937,7 +33937,7 @@ async function writeWavFile(pcm) {
|
|
|
33937
33937
|
}
|
|
33938
33938
|
function scheduleTempCleanup(tempDir, delayMs = 1800 * 1e3) {
|
|
33939
33939
|
setTimeout(() => {
|
|
33940
|
-
|
|
33940
|
+
fs$1.rm(tempDir, {
|
|
33941
33941
|
recursive: true,
|
|
33942
33942
|
force: true
|
|
33943
33943
|
}).catch((err) => {
|
|
@@ -37907,7 +37907,7 @@ function normalizeAllowList$2(list) {
|
|
|
37907
37907
|
async function detectRemoteHostFromCliPath(cliPath) {
|
|
37908
37908
|
try {
|
|
37909
37909
|
const expanded = cliPath.startsWith("~") ? cliPath.replace(/^~/, process.env.HOME ?? "") : cliPath;
|
|
37910
|
-
const content = await
|
|
37910
|
+
const content = await fs$1.readFile(expanded, "utf8");
|
|
37911
37911
|
const userHostMatch = content.match(/\bssh\b[^\n]*?\s+([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+)/);
|
|
37912
37912
|
if (userHostMatch) return userHostMatch[1];
|
|
37913
37913
|
return content.match(/\bssh\b[^\n]*?\s+([a-zA-Z][a-zA-Z0-9._-]*)\s+\S*\bimsg\b/)?.[1];
|
|
@@ -38171,9 +38171,9 @@ async function monitorIMessageProvider(opts = {}) {
|
|
|
38171
38171
|
}
|
|
38172
38172
|
const msgText = (message.text ?? "").trim();
|
|
38173
38173
|
if (msgText) {
|
|
38174
|
-
const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-
|
|
38174
|
+
const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-fApFDnLR.js");
|
|
38175
38175
|
if (isAbortRequestText(msgText)) {
|
|
38176
|
-
const { resolveAgentRoute } = await import("./resolve-route-
|
|
38176
|
+
const { resolveAgentRoute } = await import("./resolve-route-D_AbcmD6.js").then((n) => n.r);
|
|
38177
38177
|
const route = resolveAgentRoute({
|
|
38178
38178
|
cfg,
|
|
38179
38179
|
channel: "imessage",
|
|
@@ -40852,9 +40852,9 @@ function createSignalEventHandler(deps) {
|
|
|
40852
40852
|
const senderName = envelope.sourceName ?? senderDisplay;
|
|
40853
40853
|
const messageId = typeof envelope.timestamp === "number" ? String(envelope.timestamp) : void 0;
|
|
40854
40854
|
if (bodyText) {
|
|
40855
|
-
const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-
|
|
40855
|
+
const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-fApFDnLR.js");
|
|
40856
40856
|
if (isAbortRequestText(bodyText)) {
|
|
40857
|
-
const { resolveAgentRoute } = await import("./resolve-route-
|
|
40857
|
+
const { resolveAgentRoute } = await import("./resolve-route-D_AbcmD6.js").then((n) => n.r);
|
|
40858
40858
|
const route = resolveAgentRoute({
|
|
40859
40859
|
cfg: deps.cfg,
|
|
40860
40860
|
channel: "signal",
|
|
@@ -44315,9 +44315,9 @@ function createSlackMessageHandler(params) {
|
|
|
44315
44315
|
if (ctx.markMessageSeen(message.channel, message.ts)) return;
|
|
44316
44316
|
const rawText = (message.text ?? "").trim();
|
|
44317
44317
|
if (rawText) {
|
|
44318
|
-
const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-
|
|
44318
|
+
const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-fApFDnLR.js");
|
|
44319
44319
|
if (isAbortRequestText(rawText)) {
|
|
44320
|
-
const { resolveAgentRoute } = await import("./resolve-route-
|
|
44320
|
+
const { resolveAgentRoute } = await import("./resolve-route-D_AbcmD6.js").then((n) => n.r);
|
|
44321
44321
|
const route = resolveAgentRoute({
|
|
44322
44322
|
cfg: ctx.cfg,
|
|
44323
44323
|
channel: "slack",
|
|
@@ -44437,7 +44437,7 @@ function readSlackExternalArgMenuToken(raw) {
|
|
|
44437
44437
|
}
|
|
44438
44438
|
let commandsRegistry;
|
|
44439
44439
|
async function getCommandsRegistry() {
|
|
44440
|
-
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-
|
|
44440
|
+
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-CURlRZQJ.js").then((n) => n.n);
|
|
44441
44441
|
return commandsRegistry;
|
|
44442
44442
|
}
|
|
44443
44443
|
function encodeSlackCommandArgValue(parts) {
|
|
@@ -44761,14 +44761,14 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
44761
44761
|
const channelName = channelInfo?.name;
|
|
44762
44762
|
const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
|
|
44763
44763
|
const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
|
|
44764
|
-
import("./resolve-route-
|
|
44764
|
+
import("./resolve-route-D_AbcmD6.js").then((n) => n.r),
|
|
44765
44765
|
import("./inbound-context-C8P8Rlqd.js").then((n) => n.n),
|
|
44766
44766
|
Promise.resolve().then(() => provider_dispatcher_exports)
|
|
44767
44767
|
]);
|
|
44768
44768
|
const [{ resolveConversationLabel }, { createReplyPrefixOptions }, { recordSessionMetaFromInbound, resolveStorePath }] = await Promise.all([
|
|
44769
44769
|
import("./conversation-label-Onz2hiJh.js").then((n) => n.t),
|
|
44770
|
-
import("./reply-prefix-
|
|
44771
|
-
import("./sessions-
|
|
44770
|
+
import("./reply-prefix-C3y4zpTl.js").then((n) => n.n),
|
|
44771
|
+
import("./sessions-BtPXimXQ.js").then((n) => n.t)
|
|
44772
44772
|
]);
|
|
44773
44773
|
const route = resolveAgentRoute({
|
|
44774
44774
|
cfg,
|
|
@@ -44836,9 +44836,9 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
44836
44836
|
});
|
|
44837
44837
|
const deliverSlashPayloads = async (replies) => {
|
|
44838
44838
|
const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
|
|
44839
|
-
import("./replies-
|
|
44839
|
+
import("./replies-hSFVxL4h.js").then((n) => n.r),
|
|
44840
44840
|
import("./chunk-ClMFHJu-.js").then((n) => n.s),
|
|
44841
|
-
import("./markdown-tables-
|
|
44841
|
+
import("./markdown-tables-DZClqsNo.js").then((n) => n.t)
|
|
44842
44842
|
]);
|
|
44843
44843
|
await deliverSlackSlashReplies({
|
|
44844
44844
|
replies,
|
|
@@ -44891,7 +44891,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
44891
44891
|
let nativeCommands = [];
|
|
44892
44892
|
if (nativeEnabled) {
|
|
44893
44893
|
reg = await getCommandsRegistry();
|
|
44894
|
-
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-
|
|
44894
|
+
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-BFzmZAfo.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
|
|
44895
44895
|
nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
|
|
44896
44896
|
skillCommands,
|
|
44897
44897
|
provider: "slack"
|
|
@@ -48926,7 +48926,7 @@ const registerTelegramHandlers = ({ cfg, accountId, bot, opts, runtime, mediaMax
|
|
|
48926
48926
|
const { ctx, msg, chatId, resolvedThreadId, storeAllowFrom, sendOversizeWarning, oversizeLogMessage } = params;
|
|
48927
48927
|
const text = typeof msg.text === "string" ? msg.text : void 0;
|
|
48928
48928
|
if (text) {
|
|
48929
|
-
const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-
|
|
48929
|
+
const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-fApFDnLR.js");
|
|
48930
48930
|
if (isAbortRequestText(text)) {
|
|
48931
48931
|
const senderId = msg.from?.id ? String(msg.from.id) : "";
|
|
48932
48932
|
if (!senderId || !allowFrom?.length || allowFrom.includes(senderId)) {
|
|
@@ -49813,7 +49813,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
|
|
|
49813
49813
|
const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
|
|
49814
49814
|
let preflightTranscript;
|
|
49815
49815
|
if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
|
|
49816
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
49816
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-Dl1TO10w.js");
|
|
49817
49817
|
preflightTranscript = await transcribeFirstAudio({
|
|
49818
49818
|
ctx: {
|
|
49819
49819
|
MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
|
|
@@ -51864,7 +51864,7 @@ function safeParseState(raw) {
|
|
|
51864
51864
|
async function readTelegramUpdateOffset(params) {
|
|
51865
51865
|
const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
|
|
51866
51866
|
try {
|
|
51867
|
-
const parsed = safeParseState(await
|
|
51867
|
+
const parsed = safeParseState(await fs$1.readFile(filePath, "utf-8"));
|
|
51868
51868
|
const expectedBotId = extractBotIdFromToken(params.botToken);
|
|
51869
51869
|
if (expectedBotId && parsed?.botId && parsed.botId !== expectedBotId) return null;
|
|
51870
51870
|
if (expectedBotId && parsed?.botId === null) return null;
|
|
@@ -51877,7 +51877,7 @@ async function readTelegramUpdateOffset(params) {
|
|
|
51877
51877
|
async function writeTelegramUpdateOffset(params) {
|
|
51878
51878
|
const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
|
|
51879
51879
|
const dir = path.dirname(filePath);
|
|
51880
|
-
await
|
|
51880
|
+
await fs$1.mkdir(dir, {
|
|
51881
51881
|
recursive: true,
|
|
51882
51882
|
mode: 448
|
|
51883
51883
|
});
|
|
@@ -51887,14 +51887,14 @@ async function writeTelegramUpdateOffset(params) {
|
|
|
51887
51887
|
lastUpdateId: params.updateId,
|
|
51888
51888
|
botId: extractBotIdFromToken(params.botToken)
|
|
51889
51889
|
};
|
|
51890
|
-
await
|
|
51891
|
-
await
|
|
51892
|
-
await
|
|
51890
|
+
await fs$1.writeFile(tmp, `${JSON.stringify(payload, null, 2)}\n`, { encoding: "utf-8" });
|
|
51891
|
+
await fs$1.chmod(tmp, 384);
|
|
51892
|
+
await fs$1.rename(tmp, filePath);
|
|
51893
51893
|
}
|
|
51894
51894
|
async function deleteTelegramUpdateOffset(params) {
|
|
51895
51895
|
const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
|
|
51896
51896
|
try {
|
|
51897
|
-
await
|
|
51897
|
+
await fs$1.unlink(filePath);
|
|
51898
51898
|
} catch (err) {
|
|
51899
51899
|
if (err.code === "ENOENT") return;
|
|
51900
51900
|
throw err;
|
|
@@ -52408,23 +52408,23 @@ let webLoginQrPromise = null;
|
|
|
52408
52408
|
let webChannelPromise = null;
|
|
52409
52409
|
let whatsappActionsPromise = null;
|
|
52410
52410
|
function loadWebOutbound() {
|
|
52411
|
-
webOutboundPromise ??= import("./outbound-
|
|
52411
|
+
webOutboundPromise ??= import("./outbound-DPTxwchq.js").then((n) => n.t);
|
|
52412
52412
|
return webOutboundPromise;
|
|
52413
52413
|
}
|
|
52414
52414
|
function loadWebLogin() {
|
|
52415
|
-
webLoginPromise ??= import("./login-
|
|
52415
|
+
webLoginPromise ??= import("./login-CfUhrgWT.js").then((n) => n.n);
|
|
52416
52416
|
return webLoginPromise;
|
|
52417
52417
|
}
|
|
52418
52418
|
function loadWebLoginQr() {
|
|
52419
|
-
webLoginQrPromise ??= import("./login-qr-
|
|
52419
|
+
webLoginQrPromise ??= import("./login-qr-DBMsUxgL.js");
|
|
52420
52420
|
return webLoginQrPromise;
|
|
52421
52421
|
}
|
|
52422
52422
|
function loadWebChannel() {
|
|
52423
|
-
webChannelPromise ??= import("./web-
|
|
52423
|
+
webChannelPromise ??= import("./web-C4Q6twkC.js");
|
|
52424
52424
|
return webChannelPromise;
|
|
52425
52425
|
}
|
|
52426
52426
|
function loadWhatsAppActions() {
|
|
52427
|
-
whatsappActionsPromise ??= import("./whatsapp-actions-
|
|
52427
|
+
whatsappActionsPromise ??= import("./whatsapp-actions-Cms8wQM1.js");
|
|
52428
52428
|
return whatsappActionsPromise;
|
|
52429
52429
|
}
|
|
52430
52430
|
function createPluginRuntime() {
|
|
@@ -53239,7 +53239,7 @@ function resolvePluginTools(params) {
|
|
|
53239
53239
|
//#endregion
|
|
53240
53240
|
//#region src/agents/apply-patch-update.ts
|
|
53241
53241
|
async function defaultReadFile(filePath) {
|
|
53242
|
-
return
|
|
53242
|
+
return fs$1.readFile(filePath, "utf8");
|
|
53243
53243
|
}
|
|
53244
53244
|
async function applyUpdateHunk(filePath, chunks, options) {
|
|
53245
53245
|
const originalLines = (await (options?.readFile ?? defaultReadFile)(filePath).catch((err) => {
|
|
@@ -53485,7 +53485,7 @@ function resolvePatchFileOps(options) {
|
|
|
53485
53485
|
const workspaceOnly = options.workspaceOnly !== false;
|
|
53486
53486
|
return {
|
|
53487
53487
|
readFile: async (filePath) => {
|
|
53488
|
-
if (!workspaceOnly) return await
|
|
53488
|
+
if (!workspaceOnly) return await fs$1.readFile(filePath, "utf8");
|
|
53489
53489
|
const opened = await openBoundaryFile({
|
|
53490
53490
|
absolutePath: filePath,
|
|
53491
53491
|
rootPath: options.cwd,
|
|
@@ -53500,7 +53500,7 @@ function resolvePatchFileOps(options) {
|
|
|
53500
53500
|
},
|
|
53501
53501
|
writeFile: async (filePath, content) => {
|
|
53502
53502
|
if (!workspaceOnly) {
|
|
53503
|
-
await
|
|
53503
|
+
await fs$1.writeFile(filePath, content, "utf8");
|
|
53504
53504
|
return;
|
|
53505
53505
|
}
|
|
53506
53506
|
const relative = toRelativeWorkspacePath(options.cwd, filePath);
|
|
@@ -53511,8 +53511,8 @@ function resolvePatchFileOps(options) {
|
|
|
53511
53511
|
encoding: "utf8"
|
|
53512
53512
|
});
|
|
53513
53513
|
},
|
|
53514
|
-
remove: (filePath) =>
|
|
53515
|
-
mkdirp: (dir) =>
|
|
53514
|
+
remove: (filePath) => fs$1.rm(filePath),
|
|
53515
|
+
mkdirp: (dir) => fs$1.mkdir(dir, { recursive: true }).then(() => {})
|
|
53516
53516
|
};
|
|
53517
53517
|
}
|
|
53518
53518
|
async function ensureDir(filePath, ops) {
|
|
@@ -54987,7 +54987,7 @@ async function readJsonlFromPath(jsonlPath) {
|
|
|
54987
54987
|
if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${resolved}`);
|
|
54988
54988
|
throw new Error("jsonlPath outside allowed roots");
|
|
54989
54989
|
}
|
|
54990
|
-
const canonical = await
|
|
54990
|
+
const canonical = await fs$1.realpath(resolved).catch(() => resolved);
|
|
54991
54991
|
if (!isInboundPathAllowed({
|
|
54992
54992
|
filePath: canonical,
|
|
54993
54993
|
roots
|
|
@@ -54995,7 +54995,7 @@ async function readJsonlFromPath(jsonlPath) {
|
|
|
54995
54995
|
if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${canonical}`);
|
|
54996
54996
|
throw new Error("jsonlPath outside allowed roots");
|
|
54997
54997
|
}
|
|
54998
|
-
return await
|
|
54998
|
+
return await fs$1.readFile(canonical, "utf8");
|
|
54999
54999
|
}
|
|
55000
55000
|
const CanvasToolSchema = Type.Object({
|
|
55001
55001
|
action: stringEnum(CANVAS_ACTIONS),
|
|
@@ -55775,27 +55775,27 @@ function resolveRestartSentinelPath(env = process.env) {
|
|
|
55775
55775
|
}
|
|
55776
55776
|
async function writeRestartSentinel(payload, env = process.env) {
|
|
55777
55777
|
const filePath = resolveRestartSentinelPath(env);
|
|
55778
|
-
await
|
|
55778
|
+
await fs$1.mkdir(path.dirname(filePath), { recursive: true });
|
|
55779
55779
|
const data = {
|
|
55780
55780
|
version: 1,
|
|
55781
55781
|
payload
|
|
55782
55782
|
};
|
|
55783
|
-
await
|
|
55783
|
+
await fs$1.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
|
|
55784
55784
|
return filePath;
|
|
55785
55785
|
}
|
|
55786
55786
|
async function readRestartSentinel(env = process.env) {
|
|
55787
55787
|
const filePath = resolveRestartSentinelPath(env);
|
|
55788
55788
|
try {
|
|
55789
|
-
const raw = await
|
|
55789
|
+
const raw = await fs$1.readFile(filePath, "utf-8");
|
|
55790
55790
|
let parsed;
|
|
55791
55791
|
try {
|
|
55792
55792
|
parsed = JSON.parse(raw);
|
|
55793
55793
|
} catch {
|
|
55794
|
-
await
|
|
55794
|
+
await fs$1.unlink(filePath).catch(() => {});
|
|
55795
55795
|
return null;
|
|
55796
55796
|
}
|
|
55797
55797
|
if (!parsed || parsed.version !== 1 || !parsed.payload) {
|
|
55798
|
-
await
|
|
55798
|
+
await fs$1.unlink(filePath).catch(() => {});
|
|
55799
55799
|
return null;
|
|
55800
55800
|
}
|
|
55801
55801
|
return parsed;
|
|
@@ -55807,7 +55807,7 @@ async function consumeRestartSentinel(env = process.env) {
|
|
|
55807
55807
|
const filePath = resolveRestartSentinelPath(env);
|
|
55808
55808
|
const parsed = await readRestartSentinel(env);
|
|
55809
55809
|
if (!parsed) return null;
|
|
55810
|
-
await
|
|
55810
|
+
await fs$1.unlink(filePath).catch(() => {});
|
|
55811
55811
|
return parsed;
|
|
55812
55812
|
}
|
|
55813
55813
|
function formatRestartSentinelMessage(payload) {
|
|
@@ -57019,7 +57019,7 @@ function buildAttachmentMediaLoadOptions(params) {
|
|
|
57019
57019
|
if (params.policy.mode === "sandbox") return {
|
|
57020
57020
|
maxBytes: params.maxBytes,
|
|
57021
57021
|
sandboxValidated: true,
|
|
57022
|
-
readFile: (filePath) =>
|
|
57022
|
+
readFile: (filePath) => fs$1.readFile(filePath)
|
|
57023
57023
|
};
|
|
57024
57024
|
return {
|
|
57025
57025
|
maxBytes: params.maxBytes,
|
|
@@ -65501,7 +65501,7 @@ function createHostWriteOperations(root) {
|
|
|
65501
65501
|
cwd: root,
|
|
65502
65502
|
root
|
|
65503
65503
|
});
|
|
65504
|
-
await
|
|
65504
|
+
await fs$1.mkdir(resolved, { recursive: true });
|
|
65505
65505
|
},
|
|
65506
65506
|
writeFile: async (absolutePath, content) => {
|
|
65507
65507
|
await writeFileWithinRoot({
|
|
@@ -66315,7 +66315,7 @@ async function repairSessionFileIfNeeded(params) {
|
|
|
66315
66315
|
};
|
|
66316
66316
|
let content;
|
|
66317
66317
|
try {
|
|
66318
|
-
content = await
|
|
66318
|
+
content = await fs$1.readFile(sessionFile, "utf-8");
|
|
66319
66319
|
} catch (err) {
|
|
66320
66320
|
if (err?.code === "ENOENT") return {
|
|
66321
66321
|
repaired: false,
|
|
@@ -66363,15 +66363,15 @@ async function repairSessionFileIfNeeded(params) {
|
|
|
66363
66363
|
const backupPath = `${sessionFile}.bak-${process.pid}-${Date.now()}`;
|
|
66364
66364
|
const tmpPath = `${sessionFile}.repair-${process.pid}-${Date.now()}.tmp`;
|
|
66365
66365
|
try {
|
|
66366
|
-
const stat = await
|
|
66367
|
-
await
|
|
66368
|
-
if (stat) await
|
|
66369
|
-
await
|
|
66370
|
-
if (stat) await
|
|
66371
|
-
await
|
|
66366
|
+
const stat = await fs$1.stat(sessionFile).catch(() => null);
|
|
66367
|
+
await fs$1.writeFile(backupPath, content, "utf-8");
|
|
66368
|
+
if (stat) await fs$1.chmod(backupPath, stat.mode);
|
|
66369
|
+
await fs$1.writeFile(tmpPath, cleaned, "utf-8");
|
|
66370
|
+
if (stat) await fs$1.chmod(tmpPath, stat.mode);
|
|
66371
|
+
await fs$1.rename(tmpPath, sessionFile);
|
|
66372
66372
|
} catch (err) {
|
|
66373
66373
|
try {
|
|
66374
|
-
await
|
|
66374
|
+
await fs$1.unlink(tmpPath);
|
|
66375
66375
|
} catch (cleanupErr) {
|
|
66376
66376
|
params.warn?.(`session file repair cleanup failed: ${cleanupErr instanceof Error ? cleanupErr.message : "unknown error"} (${path.basename(tmpPath)})`);
|
|
66377
66377
|
}
|
|
@@ -68498,7 +68498,7 @@ async function prewarmSessionFile(sessionFile) {
|
|
|
68498
68498
|
if (!isSessionManagerCacheEnabled()) return;
|
|
68499
68499
|
if (isSessionManagerCached(sessionFile)) return;
|
|
68500
68500
|
try {
|
|
68501
|
-
const handle = await
|
|
68501
|
+
const handle = await fs$1.open(sessionFile, "r");
|
|
68502
68502
|
try {
|
|
68503
68503
|
const buffer = Buffer$1.alloc(4096);
|
|
68504
68504
|
await handle.read(buffer, 0, buffer.length, 0);
|
|
@@ -68878,7 +68878,7 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
68878
68878
|
} catch (err) {
|
|
68879
68879
|
return fail(describeUnknownError(err));
|
|
68880
68880
|
}
|
|
68881
|
-
await
|
|
68881
|
+
await fs$1.mkdir(resolvedWorkspace, { recursive: true });
|
|
68882
68882
|
const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
|
|
68883
68883
|
const sandbox = await resolveSandboxContext({
|
|
68884
68884
|
config: params.config,
|
|
@@ -68886,7 +68886,7 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
68886
68886
|
workspaceDir: resolvedWorkspace
|
|
68887
68887
|
});
|
|
68888
68888
|
const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
|
|
68889
|
-
await
|
|
68889
|
+
await fs$1.mkdir(effectiveWorkspace, { recursive: true });
|
|
68890
68890
|
await ensureSessionHeader({
|
|
68891
68891
|
sessionFile: params.sessionFile,
|
|
68892
68892
|
sessionId: params.sessionId,
|
|
@@ -69632,12 +69632,12 @@ function getQueuedFileWriter(writers, filePath) {
|
|
|
69632
69632
|
const existing = writers.get(filePath);
|
|
69633
69633
|
if (existing) return existing;
|
|
69634
69634
|
const dir = path.dirname(filePath);
|
|
69635
|
-
const ready =
|
|
69635
|
+
const ready = fs$1.mkdir(dir, { recursive: true }).catch(() => void 0);
|
|
69636
69636
|
let queue = Promise.resolve();
|
|
69637
69637
|
const writer = {
|
|
69638
69638
|
filePath,
|
|
69639
69639
|
write: (line) => {
|
|
69640
|
-
queue = queue.then(() => ready).then(() =>
|
|
69640
|
+
queue = queue.then(() => ready).then(() => fs$1.appendFile(filePath, line, "utf8")).catch(() => void 0);
|
|
69641
69641
|
}
|
|
69642
69642
|
};
|
|
69643
69643
|
writers.set(filePath, writer);
|
|
@@ -72139,7 +72139,7 @@ async function prepareSessionManagerForRun(params) {
|
|
|
72139
72139
|
return;
|
|
72140
72140
|
}
|
|
72141
72141
|
if (params.hadSessionFile && header && !hasAssistant) {
|
|
72142
|
-
await
|
|
72142
|
+
await fs$1.writeFile(params.sessionFile, "", "utf-8");
|
|
72143
72143
|
sm.fileEntries = [header];
|
|
72144
72144
|
sm.byId?.clear?.();
|
|
72145
72145
|
sm.labelsById?.clear?.();
|
|
@@ -72742,7 +72742,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
72742
72742
|
const prevCwd = process.cwd();
|
|
72743
72743
|
const runAbortController = new AbortController();
|
|
72744
72744
|
log$6.debug(`embedded run start: runId=${params.runId} sessionId=${params.sessionId} provider=${params.provider} model=${params.modelId} thinking=${params.thinkLevel} messageChannel=${params.messageChannel ?? params.messageProvider ?? "unknown"}`);
|
|
72745
|
-
await
|
|
72745
|
+
await fs$1.mkdir(resolvedWorkspace, { recursive: true });
|
|
72746
72746
|
const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
|
|
72747
72747
|
const sandbox = await resolveSandboxContext({
|
|
72748
72748
|
config: params.config,
|
|
@@ -72750,7 +72750,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
72750
72750
|
workspaceDir: resolvedWorkspace
|
|
72751
72751
|
});
|
|
72752
72752
|
const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
|
|
72753
|
-
await
|
|
72753
|
+
await fs$1.mkdir(effectiveWorkspace, { recursive: true });
|
|
72754
72754
|
let restoreSkillEnv;
|
|
72755
72755
|
process.chdir(effectiveWorkspace);
|
|
72756
72756
|
try {
|
|
@@ -72994,7 +72994,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
72994
72994
|
sessionFile: params.sessionFile,
|
|
72995
72995
|
warn: (message) => log$6.warn(message)
|
|
72996
72996
|
});
|
|
72997
|
-
const hadSessionFile = await
|
|
72997
|
+
const hadSessionFile = await fs$1.stat(params.sessionFile).then(() => true).catch(() => false);
|
|
72998
72998
|
const transcriptPolicy = resolveTranscriptPolicy({
|
|
72999
72999
|
modelApi: params.model?.api,
|
|
73000
73000
|
provider: params.provider,
|
|
@@ -73996,7 +73996,7 @@ async function runEmbeddedPiAgent(params) {
|
|
|
73996
73996
|
}
|
|
73997
73997
|
runLoopIterations += 1;
|
|
73998
73998
|
attemptedThinking.add(thinkLevel);
|
|
73999
|
-
await
|
|
73999
|
+
await fs$1.mkdir(resolvedWorkspace, { recursive: true });
|
|
74000
74000
|
const prompt = provider === "anthropic" ? scrubAnthropicRefusalMagic(params.prompt) : params.prompt;
|
|
74001
74001
|
const attempt = await runEmbeddedAttempt({
|
|
74002
74002
|
sessionId: params.sessionId,
|
|
@@ -75146,9 +75146,12 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
|
|
|
75146
75146
|
const body = params.command.commandBodyNormalized;
|
|
75147
75147
|
if (!body.startsWith("/anton")) return null;
|
|
75148
75148
|
if (!params.command.isAuthorizedSender) return { shouldContinue: false };
|
|
75149
|
+
const channel = params.ctx.OriginatingChannel ?? params.command.channel;
|
|
75150
|
+
const to = params.ctx.OriginatingTo ?? params.command.from ?? params.command.to ?? "";
|
|
75151
|
+
const canRoute = isRoutableChannel(channel);
|
|
75149
75152
|
const replyCtx = {
|
|
75150
|
-
channel
|
|
75151
|
-
to
|
|
75153
|
+
channel,
|
|
75154
|
+
to,
|
|
75152
75155
|
sessionKey: params.sessionKey,
|
|
75153
75156
|
accountId: params.ctx.AccountId,
|
|
75154
75157
|
threadId: params.ctx.MessageThreadId,
|
|
@@ -75156,25 +75159,35 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
|
|
|
75156
75159
|
};
|
|
75157
75160
|
const arg = body.slice(6).trim();
|
|
75158
75161
|
if (arg === "status" || arg === "") {
|
|
75159
|
-
const { antonStatus } = await import("./anton-
|
|
75162
|
+
const { antonStatus } = await import("./anton-B7cGl-93.js").then((n) => n.r);
|
|
75160
75163
|
const lines = [];
|
|
75161
75164
|
await antonStatus({
|
|
75162
75165
|
log: (msg) => lines.push(msg),
|
|
75163
75166
|
error: (msg) => lines.push(msg),
|
|
75164
75167
|
exit: () => {}
|
|
75165
75168
|
});
|
|
75166
|
-
|
|
75169
|
+
const text = lines.join("\n") || "Anton is idle.";
|
|
75170
|
+
if (!canRoute) return {
|
|
75171
|
+
shouldContinue: false,
|
|
75172
|
+
reply: { text }
|
|
75173
|
+
};
|
|
75174
|
+
await sendProgress(replyCtx, text);
|
|
75167
75175
|
return { shouldContinue: false };
|
|
75168
75176
|
}
|
|
75169
75177
|
if (arg === "stop") {
|
|
75170
|
-
const { antonStop } = await import("./anton-
|
|
75178
|
+
const { antonStop } = await import("./anton-B7cGl-93.js").then((n) => n.r);
|
|
75171
75179
|
const lines = [];
|
|
75172
75180
|
await antonStop({
|
|
75173
75181
|
log: (msg) => lines.push(msg),
|
|
75174
75182
|
error: (msg) => lines.push(msg),
|
|
75175
75183
|
exit: () => {}
|
|
75176
75184
|
});
|
|
75177
|
-
|
|
75185
|
+
const text = lines.join("\n") || "Stop requested.";
|
|
75186
|
+
if (!canRoute) return {
|
|
75187
|
+
shouldContinue: false,
|
|
75188
|
+
reply: { text }
|
|
75189
|
+
};
|
|
75190
|
+
await sendProgress(replyCtx, text);
|
|
75178
75191
|
return { shouldContinue: false };
|
|
75179
75192
|
}
|
|
75180
75193
|
const taskFile = arg;
|
|
@@ -75183,19 +75196,30 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
|
|
|
75183
75196
|
const resolvedPath = pathMod.resolve(params.workspaceDir || process.cwd(), taskFile);
|
|
75184
75197
|
try {
|
|
75185
75198
|
if (!(await fs.stat(resolvedPath)).isFile()) {
|
|
75186
|
-
|
|
75199
|
+
const text = `❌ Not a file: \`${resolvedPath}\``;
|
|
75200
|
+
if (!canRoute) return {
|
|
75201
|
+
shouldContinue: false,
|
|
75202
|
+
reply: { text }
|
|
75203
|
+
};
|
|
75204
|
+
await sendProgress(replyCtx, text);
|
|
75187
75205
|
return { shouldContinue: false };
|
|
75188
75206
|
}
|
|
75189
75207
|
} catch {
|
|
75190
|
-
|
|
75208
|
+
const text = `❌ File not found: \`${resolvedPath}\``;
|
|
75209
|
+
if (!canRoute) return {
|
|
75210
|
+
shouldContinue: false,
|
|
75211
|
+
reply: { text }
|
|
75212
|
+
};
|
|
75213
|
+
await sendProgress(replyCtx, text);
|
|
75191
75214
|
return { shouldContinue: false };
|
|
75192
75215
|
}
|
|
75193
|
-
const { runAnton, formatProgressMessage } = await import("./anton-
|
|
75194
|
-
const { createDefaultDeps } = await import("./deps-
|
|
75216
|
+
const { runAnton, formatProgressMessage } = await import("./anton-B7cGl-93.js").then((n) => n.r);
|
|
75217
|
+
const { createDefaultDeps } = await import("./deps-DB6dI42Y.js").then((n) => n.r);
|
|
75195
75218
|
const { createNonExitingRuntime } = await import("./runtime-44j_X4Y6.js").then((n) => n.r);
|
|
75196
75219
|
const runtime = createNonExitingRuntime();
|
|
75197
75220
|
const deps = createDefaultDeps();
|
|
75198
|
-
|
|
75221
|
+
const startText = `🤚 **/anton** invoked on \`${pathMod.basename(resolvedPath)}\`\nStarting orchestrator...`;
|
|
75222
|
+
if (canRoute) await sendProgress(replyCtx, startText);
|
|
75199
75223
|
(async () => {
|
|
75200
75224
|
try {
|
|
75201
75225
|
await runAnton({
|
|
@@ -75205,15 +75229,19 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
|
|
|
75205
75229
|
force: false,
|
|
75206
75230
|
dryRun: false,
|
|
75207
75231
|
workspaceDir: params.workspaceDir || void 0,
|
|
75208
|
-
onProgress: async (event) => {
|
|
75232
|
+
...canRoute ? { onProgress: async (event) => {
|
|
75209
75233
|
await sendProgress(replyCtx, formatProgressMessage(event));
|
|
75210
|
-
}
|
|
75234
|
+
} } : {}
|
|
75211
75235
|
});
|
|
75212
75236
|
} catch (err) {
|
|
75213
|
-
|
|
75237
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
75238
|
+
if (canRoute) await sendProgress(replyCtx, `❌ **Anton crashed**: ${msg}`);
|
|
75214
75239
|
}
|
|
75215
75240
|
})();
|
|
75216
|
-
return { shouldContinue: false }
|
|
75241
|
+
return canRoute ? { shouldContinue: false } : {
|
|
75242
|
+
shouldContinue: false,
|
|
75243
|
+
reply: { text: startText }
|
|
75244
|
+
};
|
|
75217
75245
|
};
|
|
75218
75246
|
|
|
75219
75247
|
//#endregion
|
|
@@ -75225,9 +75253,15 @@ const handleDirCommand = async (params, _allowTextCommands) => {
|
|
|
75225
75253
|
const channel = params.ctx.OriginatingChannel ?? params.command.channel;
|
|
75226
75254
|
const to = params.ctx.OriginatingTo ?? params.command.from ?? params.command.to ?? "";
|
|
75227
75255
|
const arg = body.slice(4).trim();
|
|
75256
|
+
const canRoute = isRoutableChannel(channel);
|
|
75228
75257
|
if (!arg) {
|
|
75258
|
+
const text = `📂 Current workspace: \`${params.workspaceDir || "(not set)"}\``;
|
|
75259
|
+
if (!canRoute) return {
|
|
75260
|
+
shouldContinue: false,
|
|
75261
|
+
reply: { text }
|
|
75262
|
+
};
|
|
75229
75263
|
await routeReply({
|
|
75230
|
-
payload: { text
|
|
75264
|
+
payload: { text },
|
|
75231
75265
|
channel,
|
|
75232
75266
|
to,
|
|
75233
75267
|
sessionKey: params.sessionKey,
|
|
@@ -75242,8 +75276,13 @@ const handleDirCommand = async (params, _allowTextCommands) => {
|
|
|
75242
75276
|
const resolved = (await import("node:path")).resolve(newPath);
|
|
75243
75277
|
try {
|
|
75244
75278
|
if (!(await fs.stat(resolved)).isDirectory()) {
|
|
75279
|
+
const text = `❌ Path exists but is not a directory: \`${resolved}\``;
|
|
75280
|
+
if (!canRoute) return {
|
|
75281
|
+
shouldContinue: false,
|
|
75282
|
+
reply: { text }
|
|
75283
|
+
};
|
|
75245
75284
|
await routeReply({
|
|
75246
|
-
payload: { text
|
|
75285
|
+
payload: { text },
|
|
75247
75286
|
channel,
|
|
75248
75287
|
to,
|
|
75249
75288
|
sessionKey: params.sessionKey,
|
|
@@ -75254,8 +75293,13 @@ const handleDirCommand = async (params, _allowTextCommands) => {
|
|
|
75254
75293
|
return { shouldContinue: false };
|
|
75255
75294
|
}
|
|
75256
75295
|
} catch {
|
|
75296
|
+
const text = `❌ Directory not found: \`${resolved}\``;
|
|
75297
|
+
if (!canRoute) return {
|
|
75298
|
+
shouldContinue: false,
|
|
75299
|
+
reply: { text }
|
|
75300
|
+
};
|
|
75257
75301
|
await routeReply({
|
|
75258
|
-
payload: { text
|
|
75302
|
+
payload: { text },
|
|
75259
75303
|
channel,
|
|
75260
75304
|
to,
|
|
75261
75305
|
sessionKey: params.sessionKey,
|
|
@@ -75267,7 +75311,7 @@ const handleDirCommand = async (params, _allowTextCommands) => {
|
|
|
75267
75311
|
}
|
|
75268
75312
|
try {
|
|
75269
75313
|
if (params.sessionKey) {
|
|
75270
|
-
const { updateSessionStoreEntry } = await import("./sessions-
|
|
75314
|
+
const { updateSessionStoreEntry } = await import("./sessions-BtPXimXQ.js").then((n) => n.m);
|
|
75271
75315
|
const { resolveDefaultSessionStorePath } = await import("./paths-DRz46q00.js").then((n) => n.n);
|
|
75272
75316
|
await updateSessionStoreEntry({
|
|
75273
75317
|
storePath: params.storePath ?? resolveDefaultSessionStorePath(),
|
|
@@ -75276,8 +75320,13 @@ const handleDirCommand = async (params, _allowTextCommands) => {
|
|
|
75276
75320
|
});
|
|
75277
75321
|
}
|
|
75278
75322
|
params.workspaceDir = resolved;
|
|
75323
|
+
const text = `✅ Workspace set to: \`${resolved}\`\nActive for this session only.`;
|
|
75324
|
+
if (!canRoute) return {
|
|
75325
|
+
shouldContinue: false,
|
|
75326
|
+
reply: { text }
|
|
75327
|
+
};
|
|
75279
75328
|
await routeReply({
|
|
75280
|
-
payload: { text
|
|
75329
|
+
payload: { text },
|
|
75281
75330
|
channel,
|
|
75282
75331
|
to,
|
|
75283
75332
|
sessionKey: params.sessionKey,
|
|
@@ -75286,8 +75335,13 @@ const handleDirCommand = async (params, _allowTextCommands) => {
|
|
|
75286
75335
|
cfg: params.cfg
|
|
75287
75336
|
});
|
|
75288
75337
|
} catch (err) {
|
|
75338
|
+
const text = `❌ Failed to update workspace: ${err instanceof Error ? err.message : String(err)}`;
|
|
75339
|
+
if (!canRoute) return {
|
|
75340
|
+
shouldContinue: false,
|
|
75341
|
+
reply: { text }
|
|
75342
|
+
};
|
|
75289
75343
|
await routeReply({
|
|
75290
|
-
payload: { text
|
|
75344
|
+
payload: { text },
|
|
75291
75345
|
channel,
|
|
75292
75346
|
to,
|
|
75293
75347
|
sessionKey: params.sessionKey,
|
|
@@ -76428,7 +76482,7 @@ const handleTtsCommands = async (params, allowTextCommands) => {
|
|
|
76428
76482
|
const handleUpgradeCommand = async (params, _allowTextCommands) => {
|
|
76429
76483
|
if (!params.command.commandBodyNormalized.startsWith("/upgrade")) return null;
|
|
76430
76484
|
if (!params.command.isAuthorizedSender) return { shouldContinue: false };
|
|
76431
|
-
const { performBotUpgrade } = await import("./upgrade-command-
|
|
76485
|
+
const { performBotUpgrade } = await import("./upgrade-command-DP6F1cjV.js");
|
|
76432
76486
|
const channel = params.ctx.OriginatingChannel ?? params.command.channel;
|
|
76433
76487
|
const to = params.ctx.OriginatingTo ?? params.command.from ?? params.command.to ?? "";
|
|
76434
76488
|
await routeReply({
|
|
@@ -76490,7 +76544,7 @@ async function emitResetCommandHooks(params) {
|
|
|
76490
76544
|
try {
|
|
76491
76545
|
const messages = [];
|
|
76492
76546
|
if (sessionFile) {
|
|
76493
|
-
const content = await
|
|
76547
|
+
const content = await fs$1.readFile(sessionFile, "utf-8");
|
|
76494
76548
|
for (const line of content.split("\n")) {
|
|
76495
76549
|
if (!line.trim()) continue;
|
|
76496
76550
|
try {
|
|
@@ -81395,7 +81449,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
81395
81449
|
return;
|
|
81396
81450
|
}
|
|
81397
81451
|
try {
|
|
81398
|
-
const { deliverOutboundPayloads } = await import("./deliver
|
|
81452
|
+
const { deliverOutboundPayloads } = await import("./deliver--kttnrER.js").then((n) => n.n);
|
|
81399
81453
|
const outboundSession = buildOutboundSessionContext({
|
|
81400
81454
|
cfg: params.cfg,
|
|
81401
81455
|
sessionKey: params.sessionKey
|
|
@@ -81819,7 +81873,7 @@ async function stageSandboxMedia(params) {
|
|
|
81819
81873
|
};
|
|
81820
81874
|
try {
|
|
81821
81875
|
const destDir = sandbox ? path.join(effectiveWorkspaceDir, "media", "inbound") : effectiveWorkspaceDir;
|
|
81822
|
-
await
|
|
81876
|
+
await fs$1.mkdir(destDir, { recursive: true });
|
|
81823
81877
|
const remoteAttachmentRoots = resolveIMessageRemoteAttachmentRoots({
|
|
81824
81878
|
cfg,
|
|
81825
81879
|
accountId: ctx.AccountId
|
|
@@ -81869,7 +81923,7 @@ async function stageSandboxMedia(params) {
|
|
|
81869
81923
|
usedNames.add(fileName);
|
|
81870
81924
|
const dest = path.join(destDir, fileName);
|
|
81871
81925
|
if (ctx.MediaRemoteHost) await scpFile(ctx.MediaRemoteHost, source, dest);
|
|
81872
|
-
else await
|
|
81926
|
+
else await fs$1.copyFile(source, dest);
|
|
81873
81927
|
const stagedPath = sandbox ? path.posix.join("media", "inbound", fileName) : dest;
|
|
81874
81928
|
staged.set(source, stagedPath);
|
|
81875
81929
|
}
|