@noxsoft/anima 7.0.0 → 7.0.2
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/CHANGELOG.md +20 -1
- package/dist/{accounts-COxGcLGB.js → accounts-BDDwy6Zf.js} +3 -3
- package/dist/{accounts-DIES085e.js → accounts-BNxfCMUW.js} +5 -5
- package/dist/{accounts-B_2nt5Cd.js → accounts-BzjBXZYp.js} +2 -2
- package/dist/{accounts-TUsfghIW.js → accounts-PpT_kved.js} +11 -11
- package/dist/{acp-cli-CWgqDQQH.js → acp-cli-B4F3SojX.js} +12 -12
- package/dist/{acp-cli-D0wfP8-l.js → acp-cli-CtTTCUan.js} +15 -15
- package/dist/{active-listener-BKtsWhsb.js → active-listener-C3NdbMQD.js} +4 -4
- package/dist/{active-listener-gGCoq55D.js → active-listener-D78ohfOc.js} +6 -6
- package/dist/{active-listener-D2r8IO7g.js → active-listener-Z1MbDSH8.js} +4 -4
- package/dist/{agent-paths-niQrLbGc.js → agent-paths-DRAU6-8h.js} +2 -2
- package/dist/{agent-scope-Dm8IL1Ks.js → agent-scope-B1FoYHfj.js} +3 -3
- package/dist/{agent-scope-CxBzAozu.js → agent-scope-CENGF2NR.js} +2 -2
- package/dist/{agent-scope-CXxC8FFX.js → agent-scope-DQ0N_hof.js} +2 -2
- package/dist/{agent-scope-ByIGrCTT.js → agent-scope-DpgOQfBp.js} +2 -2
- package/dist/{agent-DuW0onwk.js → agent-viQL5eva.js} +18 -18
- package/dist/{agent-BoAAHGEA.js → agent-xPFmA8jO.js} +14 -14
- package/dist/{agents-BUXkSDns.js → agents-Cf9QArEB.js} +20 -20
- package/dist/{agents.config-BR5JLtud.js → agents.config-DrViQjgD.js} +1 -1
- package/dist/{agents.config-Br4ULmK0.js → agents.config-sfN0WxRg.js} +1 -1
- package/dist/{anthropic-direct-runner-DizCei79.js → anthropic-direct-runner-BNiXWmel.js} +257 -21
- package/dist/{anthropic-direct-runner-OjcTAH6g.js → anthropic-direct-runner-BgFOZS8B.js} +257 -21
- package/dist/{audit-DDz7UOIx.js → audit-CupURkPI.js} +15 -15
- package/dist/{audit-B05W5ckN.js → audit-jddM3B16.js} +13 -13
- package/dist/{auth-Cp__MMeO.js → auth-Bw3NUKcg.js} +2 -2
- package/dist/{auth-DsC5pZ_0.js → auth-CuGlMw6p.js} +2 -2
- package/dist/{auth-choice-B1iGnjuE.js → auth-choice-D3Gi-WXq.js} +7 -7
- package/dist/{auth-choice-HF9x6xk2.js → auth-choice-DmkqIhe6.js} +7 -7
- package/dist/{auth-health-Cc8-vy8y.js → auth-health-CIbz_YRs.js} +1 -1
- package/dist/{auth-health-Dhr8p2SD.js → auth-health-CPmz2ZaM.js} +1 -1
- package/dist/{auth-profiles-DKu7ZUzl.js → auth-profiles-D0T20ZZX.js} +4 -4
- package/dist/{auth-profiles-C-LuhW6c.js → auth-profiles-XI2YBb-w.js} +3 -3
- package/dist/{auth-profiles-Brxz2ojJ.js → auth-profiles-fjGcjhZ4.js} +5 -5
- package/dist/{auth-profiles-DtWUl1-k.js → auth-profiles-jK6n3-Cc.js} +4 -4
- package/dist/{auth-store-Bd0GoqEL.js → auth-store-B4pR_KvR.js} +3 -3
- package/dist/{auth-store-BEfSfCbW.js → auth-store-ChpmVcla.js} +3 -3
- package/dist/{auth-store-Jvgz2_l1.js → auth-store-CqgKZB5l.js} +2 -2
- package/dist/{auth-store-BpYI9t_y.js → auth-store-po566wly.js} +3 -3
- package/dist/{banner-Dpa5d1If.js → banner-C_CFUih5.js} +2 -2
- package/dist/{bonjour-discovery-D3HFfTyG.js → bonjour-discovery-B8gxGE91.js} +2 -2
- package/dist/{bonjour-discovery-Co-b97Dz.js → bonjour-discovery-CZGDX9Ac.js} +2 -2
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +23 -23
- package/dist/bundled/bootstrap-extra-files/handler.js +3 -3
- package/dist/bundled/session-memory/handler.js +22 -22
- package/dist/{call-CDPbPDAr.js → call-Bn9iKzhX.js} +4 -4
- package/dist/{call-B4lhqS6H.js → call-CPfxv8yg.js} +5 -5
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{catalog-CsXv59Tq.js → catalog-BqTvQqiq.js} +2 -2
- package/dist/{catalog-B-TAbJ2o.js → catalog-yCaNFdQz.js} +2 -2
- package/dist/{channel-web-C5mzsaa3.js → channel-web-CfKNWfmp.js} +14 -14
- package/dist/{channels-status-issues-WkG3Tmxk.js → channels-status-issues-4XxYhQ8S.js} +4 -4
- package/dist/{channels-status-issues-CklLFAsD.js → channels-status-issues-BhtWH-p2.js} +4 -4
- package/dist/{chrome-CmxIwwsr.js → chrome-CN17GbZN.js} +2 -2
- package/dist/{chrome-BaU-H9m7.js → chrome-CVb9kRv_.js} +3 -3
- package/dist/{chrome-DLUBPBPz.js → chrome-D1Jm1Bdq.js} +9 -9
- package/dist/{chrome-B8EnYGj1.js → chrome-Nb2mFwWK.js} +2 -2
- package/dist/{chunk-B4Kx-ocg.js → chunk-B5s6o9xI.js} +3 -3
- package/dist/{chunk-DJXDX69U.js → chunk-CTS4rIMF.js} +3 -3
- package/dist/{chunk-CFSle8n5.js → chunk-DXTTGmeb.js} +1 -1
- package/dist/{chunk-Cy0Bj0F3.js → chunk-isZGJq82.js} +1 -1
- package/dist/{clack-prompter-0JW5kry0.js → clack-prompter-ChmRN__Q.js} +5 -5
- package/dist/{clack-prompter-fZSmnHda.js → clack-prompter-CpLhDhPM.js} +5 -5
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-Cuq4bIg4.js → cli-BzTZ8Gnp.js} +46 -46
- package/dist/{cli-X9ikywQ3.js → cli-DLYU8BVw.js} +47 -47
- package/dist/{client-CfLiulzK.js → client-DNDzi0CF.js} +3 -3
- package/dist/{client-BWkoTfOH.js → client-DOTb2PN6.js} +2 -2
- package/dist/{command-format-kLw3YIIu.js → command-format-JgYolX96.js} +1 -1
- package/dist/{command-registry-9V4uqrBV.js → command-registry-BQiM7sYY.js} +14 -14
- package/dist/{commands-Mekaw9WG.js → commands-CymFClS1.js} +2 -2
- package/dist/{common-DT_obM-k.js → common-C36MniDL.js} +2 -2
- package/dist/{common-Bf_TG87Y.js → common-Coq2knq6.js} +2 -2
- package/dist/{common-BCW6hLGI.js → common-c4ZysSLq.js} +2 -2
- package/dist/{common-CqIa2poH.js → common-fIXNXke2.js} +2 -2
- package/dist/{completion-cli-DNWDwhab.js → completion-cli-BP8IIlzX.js} +4 -4
- package/dist/{completion-cli-BtvcR-U5.js → completion-cli-DW87AQgF.js} +3 -3
- package/dist/{config-ZYN8tezd.js → config-C7s14LLE.js} +24 -6
- package/dist/{config-BrVuTQ8R.js → config-DmsfUvB0.js} +24 -6
- package/dist/{config-CweTwOtr.js → config-LS-6Xgqo.js} +25 -7
- package/dist/{config-DaD4FsAn.js → config-MZ5clMl4.js} +25 -7
- package/dist/config-cli-BAj5hoD-.js +15 -0
- package/dist/config-cli-C6WtFt5S.js +11 -0
- package/dist/{config-guard-C4b2dksv.js → config-guard-BAVhoqm4.js} +5 -5
- package/dist/{config-guard-CWhoBtB3.js → config-guard-Em1kJe5K.js} +19 -19
- package/dist/{configure-B2Mfnwy_.js → configure-CHPG13jf.js} +24 -24
- package/dist/{configure-SnvMHZPD.js → configure-Dd6zJb-q.js} +72 -72
- package/dist/{configure-ZWxixuRA.js → configure-DeLC66Op.js} +25 -25
- package/dist/{configure-lkozxQed.js → configure-i6y1krRa.js} +75 -75
- package/dist/{context-mdxDsO1v.js → context-C22AMgsc.js} +10 -2
- package/dist/{control-service-5YtMvm7D.js → control-service-BGnqY7vv.js} +5 -5
- package/dist/{control-service-3CI4vt1h.js → control-service-DxuB_IUw.js} +4 -4
- package/dist/control-ui/assets/{index-D4wqLVMN.js → index-XnQwXlLu.js} +2 -2
- package/dist/control-ui/assets/{index-D4wqLVMN.js.map → index-XnQwXlLu.js.map} +1 -1
- package/dist/control-ui/assets/index-tpHK2r2n.js +73 -0
- package/dist/control-ui/assets/index-tpHK2r2n.js.map +1 -0
- package/dist/control-ui/assets/{observers-B7MfWiIZ.js → observers-DqhQeBfm.js} +2 -2
- package/dist/control-ui/assets/{observers-B7MfWiIZ.js.map → observers-DqhQeBfm.js.map} +1 -1
- package/dist/control-ui/index.html +1 -1
- package/dist/{cron-cli-D9XrF-Gx.js → cron-cli-3VJy8n6n.js} +14 -14
- package/dist/{cron-cli-Cht6Itx6.js → cron-cli-C_B6qK9W.js} +16 -16
- package/dist/{daemon-cli-CrdPhSxr.js → daemon-cli-B0IaAuYH.js} +15 -15
- package/dist/{daemon-cli-9zrnYRjh.js → daemon-cli-BsY7ZPql.js} +17 -17
- package/dist/daemon-cli.js +19 -1
- package/dist/{daemon-runtime-BrUj88ZO.js → daemon-runtime-BoIX72LK.js} +2 -2
- package/dist/{daemon-runtime-DCqwraWR.js → daemon-runtime-DSPDxySK.js} +3 -3
- package/dist/{deliver-d-CaN0uL.js → deliver-BJ0JgwhN.js} +11 -11
- package/dist/{deliver-BKzX3YoN.js → deliver-BknvuSJz.js} +6 -6
- package/dist/{deliver-C1L5nO0K.js → deliver-D86kSZGn.js} +7 -7
- package/dist/{deliver-B-dPbUIs.js → deliver-bdH5itRb.js} +11 -11
- package/dist/{delivery-queue-BKQk1j0k.js → delivery-queue-B6Y3ea25.js} +1 -1
- package/dist/{deps-BKLIBKjK.js → deps-oUYlT5Sq.js} +1 -1
- package/dist/{diagnostics-BhSwKIcN.js → diagnostics-CXoISuYV.js} +1 -1
- package/dist/{diagnostics-Cu9pZAFn.js → diagnostics-aUz0rVDl.js} +1 -1
- package/dist/{dispatcher-BQQugU-7.js → dispatcher-DpEzmU7s.js} +2 -2
- package/dist/{dispatcher-DzwzLQRk.js → dispatcher-DwlzWX2u.js} +2 -2
- package/dist/{dns-cli-V2bo6vSt.js → dns-cli-D8tgv6zY.js} +10 -10
- package/dist/{dns-cli-C8KIX4P3.js → dns-cli-DawPrcXI.js} +12 -12
- package/dist/{docs-cli-D2cVJxjP.js → docs-cli-Bsx7Yd3w.js} +6 -6
- package/dist/{docs-cli-Bt-YV3xs.js → docs-cli-DnrE1Tqw.js} +7 -7
- package/dist/{doctor-D7kKyUVk.js → doctor-BNJ_edyo.js} +36 -36
- package/dist/{doctor-DmCnZ-jF.js → doctor-DY5SmosG.js} +38 -38
- package/dist/{doctor-completion-B9SBdMoR.js → doctor-completion-B6lgyLsC.js} +2 -2
- package/dist/{doctor-completion-BBvW4_J9.js → doctor-completion-mLt2Eo9P.js} +3 -3
- package/dist/{doctor-config-flow-Dxy7RIm0.js → doctor-config-flow-CvJDaN8t.js} +8 -8
- package/dist/{doctor-config-flow-Bgl0Cc20.js → doctor-config-flow-D7SJ61Ak.js} +6 -6
- package/dist/{engine-zmn3SOYa.js → engine-BDwYEVKi.js} +1 -1
- package/dist/{engine-DpbYPop7.js → engine-BrJ7eiEh.js} +2 -2
- package/dist/entry.js +18 -2
- package/dist/{env-DlTia1B4.js → env-ByZjwIJR.js} +1 -1
- package/dist/{exec-DUzVF5_D.js → exec-4nfFrGP7.js} +1 -1
- package/dist/{exec-BylR5qWS.js → exec-ChPERQB-.js} +1 -1
- package/dist/{exec-BtBJICHE.js → exec-CigQCGkt.js} +1 -1
- package/dist/{exec-C6tXfeqA.js → exec-Dn2S9A7x.js} +1 -1
- package/dist/{exec-approvals-cli-DYZVBnqS.js → exec-approvals-cli-DmdfF4o_.js} +17 -17
- package/dist/{exec-approvals-cli-CN2WeH7y.js → exec-approvals-cli-c5UsPAU1.js} +19 -19
- package/dist/extensionAPI.js +21 -21
- package/dist/{gateway-cli-iumkTohn.js → gateway-cli-C4FwPHzu.js} +95 -95
- package/dist/{gateway-cli-CEM1vBuk.js → gateway-cli-CkFzsHGb.js} +93 -93
- package/dist/{gateway-rpc-Cj_h2sVM.js → gateway-rpc-CgeNTQUV.js} +3 -3
- package/dist/{gateway-rpc-CnXMGsxp.js → gateway-rpc-DpVHyNFu.js} +3 -3
- package/dist/{gmail-setup-utils-BIXtKTpT.js → gmail-setup-utils-JWsjxDBV.js} +4 -4
- package/dist/{gmail-setup-utils-DaJoXV_3.js → gmail-setup-utils-lTV5KDPF.js} +3 -3
- package/dist/{health-Cndq9b7A.js → health-C6rAUaME.js} +13 -13
- package/dist/{health-B5N6_UOf.js → health-DrokrOLQ.js} +13 -13
- package/dist/{health-format-BLnFZCH_.js → health-format-CTOsgiTE.js} +2 -2
- package/dist/{health-format-D-JJ5_S4.js → health-format-CzNDrJ8Z.js} +2 -2
- package/dist/{heartbeat-visibility-BQL13ZBH.js → heartbeat-visibility-DZOi_4uV.js} +1 -1
- package/dist/{heartbeat-visibility-CwcYugaR.js → heartbeat-visibility-XbT4yJ3S.js} +1 -1
- package/dist/{help-format-ZKxl6UCb.js → help-format-D4k6gkpr.js} +1 -1
- package/dist/{help-format-Dt-I_Mls.js → help-format-DgCbU9Ow.js} +1 -1
- package/dist/{hooks-cli-DSlPBQSY.js → hooks-cli-CBDm7Rjw.js} +50 -50
- package/dist/{hooks-cli-BZcvdIwE.js → hooks-cli-DVNU2Cp_.js} +53 -53
- package/dist/{hooks-status-DdweuSIj.js → hooks-status-BQ7M6bIq.js} +3 -3
- package/dist/{hooks-status-DqfJDvYl.js → hooks-status-BlfmlpC0.js} +3 -3
- package/dist/{image-ops-Ct3GueyT.js → image-ops-flDr58qn.js} +2 -2
- package/dist/{image-ops-BdrMmiG4.js → image-ops-vj06APeW.js} +2 -2
- package/dist/index.js +62 -62
- package/dist/{installs-a4Vz_J08.js → installs-BeTulUkL.js} +4 -4
- package/dist/{installs-Bi6UipiE.js → installs-D1t93Dvw.js} +4 -4
- package/dist/{lifecycle-core-BTICG85s.js → lifecycle-core-DmxyMl5D.js} +5 -5
- package/dist/{lifecycle-core-B8PI1NZJ.js → lifecycle-core-OpMLwiRd.js} +3 -3
- package/dist/{links-DcilUrqq.js → links-NDZcSjct.js} +1 -1
- package/dist/{links-BjjDMNIq.js → links-RNygAKHu.js} +1 -1
- package/dist/llm-slug-generator.js +22 -22
- package/dist/{loader-C87TLS4J.js → loader-5Xm3Jxa-.js} +1 -1
- package/dist/{logging-Chc1Sj6N.js → logging-B0-OIfnO.js} +1 -1
- package/dist/{logging-_rCcBkls.js → logging-CX0bU2da.js} +2 -2
- package/dist/{login-DKkQ3Czu.js → login-BegD27g3.js} +5 -5
- package/dist/{login-MzVPMRxL.js → login-CSaeXIuW.js} +7 -7
- package/dist/{login-BTOKtSQN.js → login-WPS724ji.js} +5 -5
- package/dist/{login-qr-BGbHImRb.js → login-qr-BVzUWR4o.js} +8 -8
- package/dist/{login-qr-CxRI-tE2.js → login-qr-C0eNn9SV.js} +12 -12
- package/dist/{login-qr-OUAGpDsU.js → login-qr-DLLfBALk.js} +9 -9
- package/dist/{login-qr-BjpDVBJE.js → login-qr-updBsqHf.js} +10 -10
- package/dist/{login-BEaBOSnw.js → login-zlt00-k4.js} +6 -6
- package/dist/{logs-cli-BiAJbjnq.js → logs-cli-BDQoLnjr.js} +15 -15
- package/dist/{logs-cli-Bc6IOyHA.js → logs-cli-BPljn0BF.js} +14 -14
- package/dist/{manager-BYu34CX3.js → manager-B-8JFgek.js} +27 -11
- package/dist/{manager-C6L_DH0O.js → manager-CE4cPrH2.js} +7 -7
- package/dist/{manager-D8VCuzru.js → manager-DPojhf1D.js} +9 -9
- package/dist/{manager-b_aZwo00.js → manager-kKsAUV03.js} +27 -11
- package/dist/{manifest-registry-W_OfCIRP.js → manifest-registry-BAebAG4I.js} +1 -1
- package/dist/{manifest-registry-qF960vMH.js → manifest-registry-Cwvk5hu8.js} +1 -1
- package/dist/{memory-cli-B0kKl-9T.js → memory-cli-BJmQIQSw.js} +11 -11
- package/dist/{memory-cli-DLtBA6r5.js → memory-cli-DMJqELwh.js} +10 -10
- package/dist/{message-channel-CMsexA3K.js → message-channel-CfwNj8mC.js} +1 -1
- package/dist/{message-channel-DIHHKJhk.js → message-channel-qmDI9YoO.js} +1 -1
- package/dist/{model-auth-KpsOXKDc.js → model-auth-BCdRf282.js} +19 -3
- package/dist/{model-auth-CHB3EySM.js → model-auth-Bs6eoQ1l.js} +19 -3
- package/dist/{model-selection-CLcoOT3e.js → model-selection-BhIAjo3P.js} +1 -1
- package/dist/{model-selection-DjsJGv1R.js → model-selection-CVcwboE_.js} +1 -1
- package/dist/{model-selection-CY6r_3wt.js → model-selection-CeZMza3d.js} +1 -1
- package/dist/{model-selection-DcO3qJOu.js → model-selection-f7lJs3PI.js} +1 -1
- package/dist/{models-CdNeYfSp.js → models-DxRmPLiS.js} +97 -50
- package/dist/{models-cli-D7eSsPuk.js → models-cli-B9KClY_f.js} +137 -82
- package/dist/{models-cli-fTZXo1zx.js → models-cli-BFZLSACV.js} +66 -58
- package/dist/{node-cli-DU_oREff.js → node-cli-BetF7Xgf.js} +26 -26
- package/dist/{node-cli-BmuVEJ1C.js → node-cli-CLeoh03V.js} +25 -25
- package/dist/{node-service-qZXF7T7A.js → node-service-FcwxyU8p.js} +1 -1
- package/dist/{node-service-cOoW5hLa.js → node-service-zrXojq7t.js} +1 -1
- package/dist/{note-CeLGcHqv.js → note-BTIeG9az.js} +1 -1
- package/dist/{note-iMYVGjpA.js → note-D_tpPSPO.js} +2 -2
- package/dist/{noxsoft-bootstrap-CrlkSFzd.js → noxsoft-bootstrap-CPS7t3Sk.js} +3 -3
- package/dist/{noxsoft-bootstrap-C4dSx7K_.js → noxsoft-bootstrap-CqygYIJa.js} +2 -2
- package/dist/{npm-registry-spec-jf7Mowdn.js → npm-registry-spec-BeX9-fmS.js} +1 -1
- package/dist/{npm-registry-spec-Br4B4I_3.js → npm-registry-spec-DB6xqMfu.js} +1 -1
- package/dist/{onboard-C5K37NvY.js → onboard-BZORsTGE.js} +18 -18
- package/dist/{onboard-D-6QCnTi.js → onboard-Doq7UgRV.js} +19 -19
- package/dist/{onboard-channels-BsCq32Hn.js → onboard-channels-BREQ8Tyw.js} +9 -9
- package/dist/{onboard-channels-bx6oelzj.js → onboard-channels-CpM1Nwqf.js} +8 -8
- package/dist/{onboard-helpers-CJ3HzoUO.js → onboard-helpers-rHLFiSIc.js} +7 -7
- package/dist/{onboard-helpers-CFudIoX4.js → onboard-helpers-uf70JxTj.js} +9 -9
- package/dist/{onboarding-BeuMAyic.js → onboarding-BGXbXgds.js} +21 -21
- package/dist/{onboarding-CX1vIkcB.js → onboarding-DQplq13s.js} +22 -22
- package/dist/{orchestrator-C1nWKIJS.js → orchestrator-B2rNfH4K.js} +5 -4
- package/dist/{orchestrator-C2ypFiPL.js → orchestrator-CERtu86A.js} +6 -5
- package/dist/{outbound-Bmft-5um.js → outbound-Bii3QonX.js} +4 -4
- package/dist/{outbound-C577aWZp.js → outbound-BpcyR1eA.js} +4 -4
- package/dist/{outbound-fPqdCDR4.js → outbound-C1WShhf8.js} +4 -4
- package/dist/{outbound-DW2eod1S.js → outbound-DKY6oeyQ.js} +4 -4
- package/dist/{outbound-send-deps-Y9AxHeLG.js → outbound-send-deps-CtiCh8EY.js} +1 -1
- package/dist/{parse-timeout-D4UO8pY_.js → parse-timeout-Bp5yQ1yW.js} +3 -3
- package/dist/{parse-timeout-C4WLf3Qy.js → parse-timeout-Cn7M8c5R.js} +3 -3
- package/dist/{path-env-DLQPf9qj.js → path-env-BAjR_Xf_.js} +1 -1
- package/dist/{paths-DMk3Q7yD.js → paths-BM1wivAU.js} +1 -1
- package/dist/{paths-CAQJvbeZ.js → paths-BqA7F6bT.js} +2 -2
- package/dist/{paths-Q6h5HODL.js → paths-DAbvPUdJ.js} +1 -1
- package/dist/{pi-auth-json-B_lKNFK6.js → pi-auth-json-BhkzZgQz.js} +5 -5
- package/dist/{pi-auth-json-BmdBnmlZ.js → pi-auth-json-CM3QDr9_.js} +6 -6
- package/dist/{pi-auth-json-WTvcP2gz.js → pi-auth-json-Dry5jXVt.js} +6 -6
- package/dist/{pi-auth-json-DkYqdjrV.js → pi-auth-json-qHO_AF3h.js} +6 -6
- package/dist/{pi-embedded-D15iww51.js → pi-embedded-CrzqUkHv.js} +548 -67
- package/dist/{pi-embedded-DR8Pfd05.js → pi-embedded-Dn3Ip_VN.js} +552 -71
- package/dist/{pi-embedded-helpers-BZ9GspxK.js → pi-embedded-helpers-BPtBCnl-.js} +1 -1
- package/dist/{pi-embedded-helpers-D2SLlgS4.js → pi-embedded-helpers-BSFtS9Fl.js} +1 -1
- package/dist/{pi-tools.policy-WdTAfqbV.js → pi-tools.policy-DuWNVoem.js} +6 -6
- package/dist/{pi-tools.policy-D2FusuQa.js → pi-tools.policy-DyckzpRL.js} +7 -7
- package/dist/{plugin-auto-enable-DhuD30Je.js → plugin-auto-enable-Btd2iEwF.js} +5 -5
- package/dist/{plugin-auto-enable-CtYcdTju.js → plugin-auto-enable-DvYJhgJ2.js} +5 -5
- package/dist/{plugin-registry-Do2D1nDk.js → plugin-registry-BOuDey4w.js} +4 -4
- package/dist/{plugin-registry-ME2FQAi-.js → plugin-registry-ChWHnegS.js} +4 -4
- package/dist/plugin-sdk/agents/local-model-installer.d.ts +11 -0
- package/dist/plugin-sdk/agents/openai-direct-runner.d.ts +2 -1
- package/dist/plugin-sdk/config/types.agent-defaults.d.ts +40 -0
- package/dist/plugin-sdk/config/types.models.d.ts +1 -1
- package/dist/plugin-sdk/config/zod-schema.agent-defaults.d.ts +13 -0
- package/dist/plugin-sdk/config/zod-schema.agents.d.ts +13 -0
- package/dist/plugin-sdk/config/zod-schema.core.d.ts +6 -6
- package/dist/plugin-sdk/config/zod-schema.d.ts +15 -2
- package/dist/plugin-sdk/index.js +19 -1
- package/dist/plugin-sdk/infra/architecture-awareness.d.ts +47 -0
- package/dist/{plugins-DYcg0qBW.js → plugins-BqPGs8w-.js} +1 -1
- package/dist/{plugins-BOMS6J5A.js → plugins-C8FLxXbd.js} +1 -1
- package/dist/{plugins-cli-CoVt2ewg.js → plugins-cli-CbOP5ml6.js} +51 -51
- package/dist/{plugins-cli-CVFzwdmI.js → plugins-cli-dH6LKRQM.js} +53 -53
- package/dist/{polls-DFISjV7H.js → polls-aumqIVob.js} +5 -5
- package/dist/{ports-BGLuwt2Z.js → ports--opAW6yN.js} +2 -2
- package/dist/{ports-q535r1PZ.js → ports-B20JTuiL.js} +2 -2
- package/dist/{ports-B_f42zcA.js → ports-C4ACB4MP.js} +2 -2
- package/dist/{ports-DaVrZDUq.js → ports-D6bjtvhF.js} +2 -2
- package/dist/{program-context-DP3qjW7A.js → program-context-7yQclqBT.js} +35 -35
- package/dist/{program-8rF4C_wd.js → program-pWHcYdeO.js} +58 -58
- package/dist/{progress-glCgu57m.js → progress-BveMw0-_.js} +1 -1
- package/dist/{progress-CVLvQV_t.js → progress-qMmjCvh9.js} +1 -1
- package/dist/{prompt-style-BI53UVgE.js → prompt-style-DWuEFbBO.js} +1 -1
- package/dist/{prompt-style-D6SRiiTV.js → prompt-style-zgo1vAG1.js} +1 -1
- package/dist/{prompts-BmgT_kkv.js → prompts-C4v0DSTU.js} +6 -6
- package/dist/{prompts-Bq4QGFQM.js → prompts-D6Xc1Ddb.js} +4 -4
- package/dist/{pw-ai-DxNrJcCA.js → pw-ai-2XnGTARu.js} +3 -3
- package/dist/{pw-ai-CB-zeR7h.js → pw-ai-BUnz28XN.js} +5 -5
- package/dist/{pw-ai-C_1-7IgH.js → pw-ai-CRnDr120.js} +3 -3
- package/dist/{pw-ai-B4u5FDqO.js → pw-ai-Dq14LFsx.js} +6 -6
- package/dist/{qmd-manager-C_XBZ_bT.js → qmd-manager-6nqaD-q9.js} +5 -5
- package/dist/{qmd-manager-CO795NK4.js → qmd-manager-B6-V0aC1.js} +6 -6
- package/dist/{qmd-manager-CpNYgSrx.js → qmd-manager-BNL9Pl2G.js} +6 -6
- package/dist/{qmd-manager-Q0OSDQ-e.js → qmd-manager-CpynR-al.js} +5 -5
- package/dist/{register.agent-BIrXCVtQ.js → register.agent-BMxuTqFN.js} +68 -68
- package/dist/{register.agent-DnkOx0U8.js → register.agent-BO6_QTx6.js} +65 -65
- package/dist/{register.anima-B36rTHUt.js → register.anima-5SAY6OxG.js} +6 -6
- package/dist/{register.anima-DXT9bM9A.js → register.anima-CLGhoqmw.js} +8 -8
- package/dist/register.configure-Bz9pap1L.js +106 -0
- package/dist/register.configure-dMfZ1zcY.js +107 -0
- package/dist/register.maintenance-CL2eIgmC.js +102 -0
- package/dist/register.maintenance-k1dBbjUg.js +103 -0
- package/dist/{register.message-CD7xV-jz.js → register.message-Cqlz-6uM.js} +52 -52
- package/dist/{register.message-Brtushvp.js → register.message-Cz34rs9W.js} +50 -50
- package/dist/{register.onboard-23Mra3LN.js → register.onboard-Cmh46n62.js} +70 -70
- package/dist/{register.onboard-6CbODzQ6.js → register.onboard-_4FOFCA2.js} +67 -67
- package/dist/{register.setup-CqQw13Ky.js → register.setup-CHgH1mdn.js} +70 -70
- package/dist/{register.setup-DlVH7FKe.js → register.setup-CKY65php.js} +67 -67
- package/dist/{register.status-health-sessions-CduFjFDB.js → register.status-health-sessions-CNX6wp0V.js} +60 -60
- package/dist/{register.status-health-sessions-CxtgPKu9.js → register.status-health-sessions-DNvtWNtb.js} +63 -63
- package/dist/{register.subclis-CtANqD5P.js → register.subclis-Br8nY-dd.js} +23 -23
- package/dist/{reply-93fMzde1.js → reply-DqXPXQ20.js} +322 -77
- package/dist/{reply-prefix-B7Fb3fO8.js → reply-prefix-CZy4g8SY.js} +1 -1
- package/dist/{reply-prefix-BzdhJDqP.js → reply-prefix-DuANpRN_.js} +1 -1
- package/dist/{routes-CWCAc8uJ.js → routes-CAjh83-X.js} +6 -6
- package/dist/{routes-FT0Us8Md.js → routes-DTjggbOR.js} +6 -6
- package/dist/{run-CF3kHOGH.js → run-0F-ZU2kW.js} +2251 -217
- package/dist/{run-Cq_iTGK_.js → run-Bu-fwhic.js} +2256 -222
- package/dist/{run-main-BiIRcc6s.js → run-main-BcC_mt4v.js} +72 -72
- package/dist/{runtime-guard-D14Z_QY6.js → runtime-guard-Ccc4Qj4K.js} +1 -1
- package/dist/{runtime-guard-DdP10b7Q.js → runtime-guard-E3CIN3Xo.js} +1 -1
- package/dist/{sandbox-D-N7M7lp.js → sandbox-DSHSoUHO.js} +6 -6
- package/dist/{sandbox-cli-CQKz2I1X.js → sandbox-cli-BiO-r7eU.js} +22 -22
- package/dist/{sandbox-cli-DHNFlTo-.js → sandbox-cli-D6ikivGS.js} +22 -22
- package/dist/{sandbox-pBHlfFdB.js → sandbox-mSWYRXFm.js} +6 -6
- package/dist/{security-cli-Bdi7MuP6.js → security-cli-Bqq5Klnm.js} +25 -25
- package/dist/{security-cli-C3aI09uy.js → security-cli-CcBxjHGL.js} +25 -25
- package/dist/{semantic-CQApJNO_.js → semantic-CPfLgc8S.js} +1 -1
- package/dist/{semantic-9rgWUrz3.js → semantic-DLW1Sflk.js} +1 -1
- package/dist/{semantic-C1UN3bb9.js → semantic-jL8x-DTZ.js} +1 -1
- package/dist/{server-context-Yx4pgBqJ.js → server-context-DTlBzMyD.js} +7 -7
- package/dist/{server-context-Clykq0XU.js → server-context-EPPcxp2p.js} +8 -8
- package/dist/{server-node-events-B3Serk9L.js → server-node-events-BGWQiInn.js} +52 -52
- package/dist/{server-node-events-DgvKcH5q.js → server-node-events-BuxYvQ0t.js} +50 -50
- package/dist/{service-4VfZwSv1.js → service-BoUEkrUm.js} +1 -1
- package/dist/{service-audit-KzOtcw_V.js → service-audit-B_BC6-F8.js} +3 -3
- package/dist/{service-audit-Bwpoc2LD.js → service-audit-CjH8ed-j.js} +3 -3
- package/dist/{service-Dd1DfPia.js → service-ho_k2vjr.js} +1 -1
- package/dist/{session-jljC5QVG.js → session-B4wJoEqn.js} +4 -4
- package/dist/{session-CSmfU0D3.js → session-BF7WjlT0.js} +1 -1
- package/dist/{session-BMDpwIJu.js → session-BnOV0y0e.js} +6 -6
- package/dist/{session-C_d9uvLf.js → session-CSgjW31i.js} +5 -5
- package/dist/{session-BiA6jrcs.js → session-DO_miKel.js} +1 -1
- package/dist/{session-5YO_H-Ra.js → session-DcRzV4l4.js} +1 -1
- package/dist/{session-BzrnfWQ2.js → session-DlMsi6dM.js} +5 -5
- package/dist/{session-cost-usage-DnxtnK1E.js → session-cost-usage-BNvno_kS.js} +1 -1
- package/dist/{sessions-C_3wTmSA.js → sessions-B2NwIaNC.js} +6 -6
- package/dist/{sessions-BOzeFzuL.js → sessions-DBQx8E1H.js} +5 -5
- package/dist/{sessions-BmE5Z_1i.js → sessions-DxAfgPEp.js} +6 -6
- package/dist/{settings-cli-CZdlEmNi.js → settings-cli-CHwTEE6P.js} +72 -72
- package/dist/{settings-cli-DsDqNpW_.js → settings-cli-DsUKlq8R.js} +74 -74
- package/dist/{setup-token-Lee4gM5w.js → setup-token-BX6QI7ce.js} +26 -26
- package/dist/{setup-token-C8Gg1P6T.js → setup-token-CU5mami5.js} +26 -26
- package/dist/{shared-C-rqLtIT.js → shared-BFzq0XE1.js} +2 -2
- package/dist/{shared-7KwLAyAq.js → shared-D3ZAXqdo.js} +3 -3
- package/dist/{shell-env-CMI9f7-7.js → shell-env-BR7Sbtw1.js} +1 -1
- package/dist/{shell-env-HkVWMh--.js → shell-env-BZ2Wha1e.js} +1 -1
- package/dist/{shell-env-iPnSIi-t.js → shell-env-Bgk3WFTi.js} +1 -1
- package/dist/{skills-DtoVe1dS.js → skills-BT0Lx09M.js} +2 -2
- package/dist/{skills-4v6-kw0C.js → skills-DjVFhlQY.js} +3 -3
- package/dist/{skills-cli-BoasNTpZ.js → skills-cli-BX5pL-D4.js} +15 -15
- package/dist/{skills-cli-TeAq3fRG.js → skills-cli-wKTnuQos.js} +14 -14
- package/dist/{skills-install-D6_qpRjW.js → skills-install-CVWWsOf2.js} +4 -4
- package/dist/{skills-install-Qw2oU8L8.js → skills-install-Ye1kjpCv.js} +4 -4
- package/dist/{skills-status-DuLjkX2E.js → skills-status-BUKnQ3ek.js} +2 -2
- package/dist/{skills-status-CvH7AUoY.js → skills-status-BmZufjT1.js} +3 -3
- package/dist/{soul-Bt8UNmTq.js → soul-C0oc6fbP.js} +1 -1
- package/dist/{soul-D9k5zulC.js → soul-DEsrpMAk.js} +1 -1
- package/dist/{soul-BiIdv3Wp.js → soul-Doq8As4R.js} +1 -1
- package/dist/{soul-DQSYs-4l.js → soul-DyLtQVJh.js} +1 -1
- package/dist/{sqlite-BMMt7osH.js → sqlite-CFCo1Ghe.js} +2 -2
- package/dist/{sqlite-Cm6OqTQB.js → sqlite-DVkTX4wZ.js} +1 -1
- package/dist/{sqlite-CZ1vD4VS.js → sqlite-DrhFRoal.js} +2 -2
- package/dist/{sqlite-CpAJt-JS.js → sqlite-M5Ot9X4U.js} +1 -1
- package/dist/start-C-gTbKUz.js +158 -0
- package/dist/start-DZKfWnpD.js +157 -0
- package/dist/{status-COc4xMti.js → status-BN6HYR8t.js} +4 -4
- package/dist/{status-C_NBOv_V.js → status-BimVB8cj.js} +4 -4
- package/dist/{status-uakoP719.js → status-CSkpd-tb.js} +27 -27
- package/dist/{status-BO5BIf81.js → status-D1zupVBm.js} +24 -24
- package/dist/{status.update-B6Tdpk07.js → status.update-HKMS5T9H.js} +2 -2
- package/dist/{status.update-E9dSFk_b.js → status.update-oapjZPr_.js} +3 -3
- package/dist/{subagent-registry-fLI7QDKe.js → subagent-registry-D87n8mHd.js} +318 -81
- package/dist/{subsystem-D1AJZPgG.js → subsystem-CkjVkxc4.js} +17 -1
- package/dist/{subsystem-D-Xta-sj.js → subsystem-CyrIA90F.js} +17 -1
- package/dist/{subsystem-BAADN1B8.js → subsystem-DLVQ9bjX.js} +17 -1
- package/dist/{system-cli-DoLzi2Sn.js → system-cli-BRPiBm4G.js} +13 -13
- package/dist/{system-cli-CP7JrhR0.js → system-cli-DaNHLGRC.js} +15 -15
- package/dist/{systemd-6iLWJxQQ.js → systemd-CS58NHpx.js} +2 -2
- package/dist/{systemd-hints-C5Kfh4GW.js → systemd-hints-7HkQ202-.js} +1 -1
- package/dist/{systemd-linger-CxGmIy_5.js → systemd-linger-BMNvTAmy.js} +2 -2
- package/dist/{systemd-linger-BVwGXVS0.js → systemd-linger-C9PGBtXs.js} +2 -2
- package/dist/{systemd-Bx76sJ3M.js → systemd-zYTszfyU.js} +2 -2
- package/dist/{table-Blmz7glr.js → table-Bea_v9UU.js} +2 -2
- package/dist/{table-Bt7rSYC6.js → table-ohGAZZLQ.js} +1 -1
- package/dist/{tokens-CmlI2hSz.js → tokens-BelyD23F.js} +1 -1
- package/dist/{tokens-SP2Q7i59.js → tokens-nliOJNMv.js} +1 -1
- package/dist/{tool-images-C6cKHTbj.js → tool-images-BEiRPCYM.js} +2 -2
- package/dist/{tool-images-2qproko3.js → tool-images-BH8q2ZMq.js} +2 -2
- package/dist/{tool-images-D1HuaGdS.js → tool-images-DJrhuxOM.js} +1 -1
- package/dist/{tool-images-CgDT0Xzv.js → tool-images-dAVG0qoz.js} +2 -2
- package/dist/{tui-r4qpJhNk.js → tui-DnzqtbW3.js} +9 -9
- package/dist/{tui-C2eLfbhA.js → tui-FJlF9b--.js} +8 -8
- package/dist/{tui-cli-cLSYBQu9.js → tui-cli-BtLvABYH.js} +27 -27
- package/dist/{tui-cli-BgcbCtgc.js → tui-cli-Cm3G2SAN.js} +26 -26
- package/dist/{update-DA91za97.js → update-Cpvsdq3a.js} +3 -3
- package/dist/{update-CqKpX3cX.js → update-DrQkwR-M.js} +3 -3
- package/dist/{update-cli-DEe62XGU.js → update-cli-DpKplMO0.js} +79 -79
- package/dist/{update-cli-D3Ujz_cW.js → update-cli-DueHX0OM.js} +83 -83
- package/dist/{update-runner-DZfnquWO.js → update-runner-C7CjKcMp.js} +5 -5
- package/dist/{update-runner-DUl-g4mB.js → update-runner-DtqDU0xF.js} +5 -5
- package/dist/{utils-D1VGbO3C.js → utils-BNuEYQIN.js} +1 -1
- package/dist/{utils-CLYlhJuc.js → utils-CkCznJhR.js} +1 -1
- package/dist/{web-Di8j762D.js → web-Br9HCEvC.js} +54 -54
- package/dist/{web-DzSlI8A6.js → web-BxkEMATs.js} +25 -25
- package/dist/{web-C-cK9OCd.js → web-CPHrMWsv.js} +24 -24
- package/dist/web-HXy7rlIW.js +65 -0
- package/dist/{webhooks-cli-k3QMf7Rs.js → webhooks-cli-CdoaCUQ5.js} +11 -11
- package/dist/{webhooks-cli-vlEfXEKm.js → webhooks-cli-D65dKr5L.js} +12 -12
- package/dist/{whatsapp-actions-Hr-W8vjY.js → whatsapp-actions--CtxOhlj.js} +12 -12
- package/dist/{whatsapp-actions-C0tlEdLy.js → whatsapp-actions--eONuB4M.js} +14 -14
- package/dist/{whatsapp-actions-BJn-z76S.js → whatsapp-actions-BM0a0V4y.js} +17 -17
- package/dist/{whatsapp-actions-6fPRKwPV.js → whatsapp-actions-Bhz79Fgg.js} +11 -11
- package/dist/{widearea-dns-CtU9Fx7K.js → widearea-dns-D2VSHQ7y.js} +1 -1
- package/dist/{widearea-dns-CHAT20aR.js → widearea-dns-DlJrNJOg.js} +1 -1
- package/dist/{workspace-BFIZCnGo.js → workspace-D6JhsXVL.js} +1 -1
- package/dist/{ws-log-CUobU2tD.js → ws-log-Cvz4xRCD.js} +1 -1
- package/dist/{ws-log-CG6cvCZW.js → ws-log-DwsFDY7m.js} +1 -1
- package/package.json +8 -2
- package/scripts/install-local-qwen3-coder.sh +7 -0
- package/templates/HEART.md +32 -10
- package/templates/SOUL.md +37 -8
- package/templates/profiles/architect.profile.json5 +36 -0
- package/templates/profiles/builder.profile.json5 +36 -0
- package/templates/profiles/coordinator.profile.json5 +36 -0
- package/templates/profiles/guardian.profile.json5 +36 -0
- package/templates/profiles/researcher.profile.json5 +36 -0
- package/dist/config-cli-DfHE3KG-.js +0 -15
- package/dist/config-cli-fleq7-gq.js +0 -11
- package/dist/control-ui/assets/index-DIEQjjCN.js +0 -73
- package/dist/control-ui/assets/index-DIEQjjCN.js.map +0 -1
- package/dist/register.configure-CuzJxZmk.js +0 -107
- package/dist/register.configure-DCpvHX3m.js +0 -106
- package/dist/register.maintenance-CcxBFfv5.js +0 -103
- package/dist/register.maintenance-Dla0H12S.js +0 -102
- package/dist/start-CK6urvnN.js +0 -158
- package/dist/start-Cs1aPMq2.js +0 -157
- package/dist/web-Dybw4K7C.js +0 -65
|
@@ -1,49 +1,49 @@
|
|
|
1
1
|
import { n as __exportAll } from "./chunk-BXK9XSlF.js";
|
|
2
2
|
import { _ as resolveRequiredHomeDir, m as resolveStateDir, u as resolveGatewayPort } from "./paths-zhVksOvm.js";
|
|
3
|
-
import {
|
|
4
|
-
import { C as shortenHomePath, D as truncateUtf16Safe, T as sliceUtf16Safe, b as resolveUserPath, d as isPlainObject, f as isRecord, i as clampInt, l as escapeRegExp, t as CONFIG_DIR, w as sleep } from "./utils-
|
|
5
|
-
import { C as supportsXHighThinking, S as resolveResponseUsageMode, _ as normalizeElevatedLevel, a as isContextOverflowError, b as normalizeUsageDisplay, c as isTransientHttpError, d as resolveBootstrapMaxChars, i as isCompactionFailureError, l as sanitizeUserFacingText, m as formatXHighModelHint, n as classifyFailoverReason, o as isFailoverErrorMessage, p as formatThinkingLevels, s as isLikelyContextOverflowError, v as normalizeReasoningLevel, x as normalizeVerboseLevel, y as normalizeThinkLevel } from "./pi-embedded-helpers-
|
|
3
|
+
import { E as normalizeChatChannelId, H as theme, J as normalizeLogLevel, L as shouldLogVerbose, P as logVerbose, T as normalizeChannelId, U as getChildLogger, d as createNonExitingRuntime, f as defaultRuntime, k as setActivePluginRegistry, t as createSubsystemLogger, v as CHAT_CHANNEL_ORDER, w as normalizeAnyChannelId } from "./subsystem-DLVQ9bjX.js";
|
|
4
|
+
import { C as shortenHomePath, D as truncateUtf16Safe, T as sliceUtf16Safe, b as resolveUserPath, d as isPlainObject, f as isRecord, i as clampInt, l as escapeRegExp, t as CONFIG_DIR, w as sleep } from "./utils-CkCznJhR.js";
|
|
5
|
+
import { C as supportsXHighThinking, S as resolveResponseUsageMode, _ as normalizeElevatedLevel, a as isContextOverflowError, b as normalizeUsageDisplay, c as isTransientHttpError, d as resolveBootstrapMaxChars, i as isCompactionFailureError, l as sanitizeUserFacingText, m as formatXHighModelHint, n as classifyFailoverReason, o as isFailoverErrorMessage, p as formatThinkingLevels, s as isLikelyContextOverflowError, v as normalizeReasoningLevel, x as normalizeVerboseLevel, y as normalizeThinkLevel } from "./pi-embedded-helpers-BPtBCnl-.js";
|
|
6
6
|
import { S as resolveThreadParentSessionKey, _ as isAcpSessionKey, a as buildAgentPeerSessionKey, b as isSubagentSessionKey, c as normalizeAccountId$1, d as resolveAgentIdFromSessionKey, f as resolveThreadSessionKeys, g as getSubagentDepth, i as buildAgentMainSessionKey, l as normalizeAgentId, n as DEFAULT_AGENT_ID, p as sanitizeAgentId, r as DEFAULT_MAIN_KEY, t as DEFAULT_ACCOUNT_ID, u as normalizeMainKey, v as isCronRunSessionKey, x as parseAgentSessionKey } from "./session-key-DAZmp8ll.js";
|
|
7
|
-
import { a as logDebug, c as logWarn, i as spawnWithFallback, n as runExec, r as formatSpawnError, s as logInfo, t as runCommandWithTimeout } from "./exec-
|
|
8
|
-
import { c as resolveDefaultAgentId, f as DEFAULT_AGENT_WORKSPACE_DIR, i as resolveAgentModelFallbacksOverride, l as resolveSessionAgentId, n as resolveAgentConfig, o as resolveAgentSkillsFilter, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, u as resolveSessionAgentIds, x as ensureAgentWorkspace } from "./agent-scope-
|
|
9
|
-
import { _ as DEFAULT_MODEL, a as isCliProvider, c as normalizeProviderId, d as resolveConfiguredModelRef, f as resolveDefaultModelForAgent, g as DEFAULT_CONTEXT_TOKENS, h as resolveThinkingDefault, m as resolveModelRefFromString, n as buildConfiguredAllowlistKeys, o as modelKey, r as buildModelAliasIndex, s as normalizeModelRef, t as buildAllowedModelSet, v as DEFAULT_PROVIDER } from "./model-selection-
|
|
10
|
-
import { C as unsetConfigValueAtPath, M as VERSION, S as setConfigValueAtPath, _ as resetConfigOverrides, b as getConfigValueAtPath, c as resolveConfigSnapshotHash, g as getConfigOverrides, h as validateJsonSchemaValue, i as loadConfig, l as writeConfigFile, m as parseDurationMs, o as readConfigFileSnapshot, u as validateConfigObjectWithPlugins, v as setConfigOverride, x as parseConfigPath, y as unsetConfigOverride } from "./config-
|
|
11
|
-
import { t as isTruthyEnvValue } from "./env-
|
|
12
|
-
import { i as resolveShellEnvFallbackTimeoutMs, n as getShellPathFromLoginShell } from "./shell-env-
|
|
13
|
-
import { d as resolveMemorySlotDecision, l as normalizePluginsConfig, n as discoverAnimaPlugins, s as applyTestPluginDefaults, t as loadPluginManifestRegistry, u as resolveEnableState } from "./manifest-registry-
|
|
14
|
-
import { C as resolveThreadFlag, D as resolveAgentMainSessionKey, E as canonicalizeMainSessionAlias, F as buildGroupDisplayName, I as resolveGroupSessionKey, L as resolveConversationLabel, N as getChannelDock, P as listChannelDocks, R as normalizeChatType, S as resolveSessionResetType, T as resolveFreshSessionTotalTokens, a as readSessionUpdatedAt, b as resolveChannelResetConfig, c as updateLastRoute, d as deliveryContextFromSession, f as deliveryContextKey, h as normalizeSessionDeliveryFields, i as loadSessionStore, j as deriveSessionMetaPatch, k as resolveMainSessionKey, l as updateSessionStore, m as normalizeDeliveryContext, n as appendAssistantMessageToSessionTranscript, o as recordSessionMetaFromInbound, p as mergeDeliveryContext, t as extractDeliveryInfo, u as updateSessionStoreEntry, v as resolveSessionKey$1, w as DEFAULT_RESET_TRIGGERS, x as resolveSessionResetPolicy, y as evaluateSessionFreshness } from "./sessions-
|
|
15
|
-
import { a as resizeToJpeg, c as getFileExtension, d as kindFromMime, h as SsrFBlockedError, l as imageMimeFromFormat, m as mediaKindFromMime, n as getImageMetadata, o as detectMime, s as extensionForMime, u as isAudioFileName, v as isBlockedHostname, y as isPrivateIpAddress } from "./image-ops-
|
|
16
|
-
import { c as resolveMarkdownTableMode, d as readResponseWithLimit, f as fetchWithSsrFGuard, i as getActiveWebListener, l as MediaFetchError, m as fetchWithTimeout, n as getDefaultLocalRoots, p as bindAbortRelay, r as loadWebMedia, s as convertMarkdownTables, t as normalizePollInput, u as fetchRemoteMedia } from "./polls-
|
|
17
|
-
import { _ as resolveToolProfilePolicy, a as ensureSandboxWorkspaceForSession, c as resolveSandboxConfigForAgent, d as applyOwnerOnlyToolPolicy, f as buildPluginToolGroups, g as normalizeToolName, m as expandPolicyWithPluginGroups, o as resolveSandboxRuntimeStatus, p as collectExplicitAllowlist, s as getBridgeAuthForPort, v as stripPluginOnlyAllowlist } from "./sandbox-
|
|
18
|
-
import { x as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-
|
|
7
|
+
import { a as logDebug, c as logWarn, i as spawnWithFallback, n as runExec, r as formatSpawnError, s as logInfo, t as runCommandWithTimeout } from "./exec-ChPERQB-.js";
|
|
8
|
+
import { c as resolveDefaultAgentId, f as DEFAULT_AGENT_WORKSPACE_DIR, i as resolveAgentModelFallbacksOverride, l as resolveSessionAgentId, n as resolveAgentConfig, o as resolveAgentSkillsFilter, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, u as resolveSessionAgentIds, x as ensureAgentWorkspace } from "./agent-scope-DQ0N_hof.js";
|
|
9
|
+
import { _ as DEFAULT_MODEL, a as isCliProvider, c as normalizeProviderId, d as resolveConfiguredModelRef, f as resolveDefaultModelForAgent, g as DEFAULT_CONTEXT_TOKENS, h as resolveThinkingDefault, m as resolveModelRefFromString, n as buildConfiguredAllowlistKeys, o as modelKey, r as buildModelAliasIndex, s as normalizeModelRef, t as buildAllowedModelSet, v as DEFAULT_PROVIDER } from "./model-selection-CeZMza3d.js";
|
|
10
|
+
import { C as unsetConfigValueAtPath, M as VERSION, S as setConfigValueAtPath, _ as resetConfigOverrides, b as getConfigValueAtPath, c as resolveConfigSnapshotHash, g as getConfigOverrides, h as validateJsonSchemaValue, i as loadConfig, l as writeConfigFile, m as parseDurationMs, o as readConfigFileSnapshot, u as validateConfigObjectWithPlugins, v as setConfigOverride, x as parseConfigPath, y as unsetConfigOverride } from "./config-MZ5clMl4.js";
|
|
11
|
+
import { t as isTruthyEnvValue } from "./env-ByZjwIJR.js";
|
|
12
|
+
import { i as resolveShellEnvFallbackTimeoutMs, n as getShellPathFromLoginShell } from "./shell-env-Bgk3WFTi.js";
|
|
13
|
+
import { d as resolveMemorySlotDecision, l as normalizePluginsConfig, n as discoverAnimaPlugins, s as applyTestPluginDefaults, t as loadPluginManifestRegistry, u as resolveEnableState } from "./manifest-registry-Cwvk5hu8.js";
|
|
14
|
+
import { C as resolveThreadFlag, D as resolveAgentMainSessionKey, E as canonicalizeMainSessionAlias, F as buildGroupDisplayName, I as resolveGroupSessionKey, L as resolveConversationLabel, N as getChannelDock, P as listChannelDocks, R as normalizeChatType, S as resolveSessionResetType, T as resolveFreshSessionTotalTokens, a as readSessionUpdatedAt, b as resolveChannelResetConfig, c as updateLastRoute, d as deliveryContextFromSession, f as deliveryContextKey, h as normalizeSessionDeliveryFields, i as loadSessionStore, j as deriveSessionMetaPatch, k as resolveMainSessionKey, l as updateSessionStore, m as normalizeDeliveryContext, n as appendAssistantMessageToSessionTranscript, o as recordSessionMetaFromInbound, p as mergeDeliveryContext, t as extractDeliveryInfo, u as updateSessionStoreEntry, v as resolveSessionKey$1, w as DEFAULT_RESET_TRIGGERS, x as resolveSessionResetPolicy, y as evaluateSessionFreshness } from "./sessions-DBQx8E1H.js";
|
|
15
|
+
import { a as resizeToJpeg, c as getFileExtension, d as kindFromMime, h as SsrFBlockedError, l as imageMimeFromFormat, m as mediaKindFromMime, n as getImageMetadata, o as detectMime, s as extensionForMime, u as isAudioFileName, v as isBlockedHostname, y as isPrivateIpAddress } from "./image-ops-vj06APeW.js";
|
|
16
|
+
import { c as resolveMarkdownTableMode, d as readResponseWithLimit, f as fetchWithSsrFGuard, i as getActiveWebListener, l as MediaFetchError, m as fetchWithTimeout, n as getDefaultLocalRoots, p as bindAbortRelay, r as loadWebMedia, s as convertMarkdownTables, t as normalizePollInput, u as fetchRemoteMedia } from "./polls-aumqIVob.js";
|
|
17
|
+
import { _ as resolveToolProfilePolicy, a as ensureSandboxWorkspaceForSession, c as resolveSandboxConfigForAgent, d as applyOwnerOnlyToolPolicy, f as buildPluginToolGroups, g as normalizeToolName, m as expandPolicyWithPluginGroups, o as resolveSandboxRuntimeStatus, p as collectExplicitAllowlist, s as getBridgeAuthForPort, v as stripPluginOnlyAllowlist } from "./sandbox-mSWYRXFm.js";
|
|
18
|
+
import { x as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-CVb9kRv_.js";
|
|
19
19
|
import { r as resolveCliName, t as formatCliCommand } from "./command-format-BCtkuvqF.js";
|
|
20
|
-
import { c as safeEqualSecret } from "./auth-
|
|
21
|
-
import { a as resolveBrowserConfig, h as resolveBrowserControlAuth } from "./server-context-
|
|
22
|
-
import { c as assertMediaNotDataUrl, i as loadWorkspaceSkillEntries, l as assertSandboxPath, n as buildWorkspaceSkillCommandSpecs, o as resolvePluginSkillDirs, r as buildWorkspaceSkillSnapshot, u as resolveSandboxedMediaSource } from "./skills-
|
|
23
|
-
import { a as resolvePathsWithinRoot, i as DEFAULT_UPLOAD_DIR, n as getMediaDir, r as saveMediaBuffer } from "./routes-
|
|
20
|
+
import { c as safeEqualSecret } from "./auth-CuGlMw6p.js";
|
|
21
|
+
import { a as resolveBrowserConfig, h as resolveBrowserControlAuth } from "./server-context-DTlBzMyD.js";
|
|
22
|
+
import { c as assertMediaNotDataUrl, i as loadWorkspaceSkillEntries, l as assertSandboxPath, n as buildWorkspaceSkillCommandSpecs, o as resolvePluginSkillDirs, r as buildWorkspaceSkillSnapshot, u as resolveSandboxedMediaSource } from "./skills-DjVFhlQY.js";
|
|
23
|
+
import { a as resolvePathsWithinRoot, i as DEFAULT_UPLOAD_DIR, n as getMediaDir, r as saveMediaBuffer } from "./routes-DTjggbOR.js";
|
|
24
24
|
import { n as formatErrorMessage, r as formatUncaughtError, t as extractErrorCode } from "./errors-Bv81hF2P.js";
|
|
25
|
-
import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, d as resolveMessageChannel, h as GATEWAY_CLIENT_NAMES, 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-
|
|
26
|
-
import { n as listChannelPlugins, r as normalizeChannelId$1, t as getChannelPlugin } from "./plugins-
|
|
25
|
+
import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, d as resolveMessageChannel, h as GATEWAY_CLIENT_NAMES, 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-CfwNj8mC.js";
|
|
26
|
+
import { n as listChannelPlugins, r as normalizeChannelId$1, t as getChannelPlugin } from "./plugins-BqPGs8w-.js";
|
|
27
27
|
import { a as resolveSessionTranscriptPathInDir, c as resolveStorePath$1, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions } from "./paths-Dazi-gYo.js";
|
|
28
|
-
import { t as sanitizeToolResultImages } from "./tool-images-
|
|
29
|
-
import { C as saveJsonFile, O as normalizeSecretInput, S as loadJsonFile, a as markAuthProfileUsed, i as markAuthProfileFailure, l as listProfilesForProvider, n as resolveAuthProfileOrder, p as ensureAuthProfileStore, r as isProfileInCooldown, s as resolveApiKeyForProfile, u as markAuthProfileGood, v as resolveAuthStorePathForDisplay, w as resolveAuthProfileDisplayLabel, y as resolveAnimaAgentDir } from "./auth-profiles-
|
|
30
|
-
import { i as resolveApiKeyForProvider, n as getCustomProviderApiKey, o as resolveEnvApiKey, r as requireApiKey, s as resolveModelAuthMode, t as getApiKeyForModel } from "./model-auth-
|
|
31
|
-
import { n as SILENT_REPLY_TOKEN, r as isSilentReplyText, t as HEARTBEAT_TOKEN } from "./tokens-
|
|
32
|
-
import { $ as isVoiceCompatibleAudio, A as getLastTtsAttempt, B as resolveTtsConfig, C as formatUserTime, D as killProcessTree, E as getShellConfig, F as isTtsProviderConfigured, G as setTtsEnabled, I as maybeApplyTtsToPayload, J as textToSpeech, K as setTtsMaxLength, L as normalizeTtsAutoMode, M as getTtsProvider, N as isSummarizationEnabled, O as sanitizeBinaryOutput, P as isTtsEnabled, R as resolveTtsApiKey, S as buildSystemPromptParams, T as resolveUserTimezone, U as setLastTtsAttempt, V as resolveTtsPrefsPath, W as setSummarizationEnabled, Y as textToSpeechTelephony, _ as resolvePromptInput, at as makeBootstrapWarn, b as writeCliImages, c as appendImagePathsToPrompt, ct as createInternalHookEvent, d as cleanupResumeProcesses, f as cleanupSuspendedCliProcesses, g as parseCliJsonl, h as parseCliJson, ht as stripHeartbeatToken, i as resolveRunWorkspaceDir, j as getTtsMaxLength, k as buildTtsSystemPromptHint, l as buildCliArgs, lt as registerInternalHook, m as normalizeCliModel, mt as resolveHeartbeatPrompt, o as appendRunnerCapabilityPrompt, ot as resolveBootstrapContextForRun, p as enqueueCliRun, q as setTtsProvider, r as redactRunIdentifier, s as resolveAnimaDocsPath, t as runAnthropicDirectAgent, u as buildSystemPrompt, ut as triggerInternalHook, v as resolveSessionIdToSend, w as resolveUserTimeFormat, x as buildAgentSystemPrompt, y as resolveSystemPromptUsage, z as resolveTtsAutoMode } from "./anthropic-direct-runner-
|
|
33
|
-
import { _ as throwIfAborted, b as initializeGlobalHookRunner, c as applyReplyThreading, d as shouldSuppressMessagingToolReplies, f as createReplyToModeFilterForChannel, g as normalizeTargetForProvider, h as normalizeChannelTargetInput, l as filterMessagingToolDuplicates, m as buildTargetResolverSignature, o as normalizeReplyPayloadsForDelivery, p as resolveReplyToMode, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as isRenderablePayload, v as parseReplyDirectives, y as getGlobalHookRunner } from "./deliver-
|
|
34
|
-
import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-
|
|
35
|
-
import { n as resolveMemorySearchConfig } from "./manager-
|
|
28
|
+
import { t as sanitizeToolResultImages } from "./tool-images-dAVG0qoz.js";
|
|
29
|
+
import { C as saveJsonFile, O as normalizeSecretInput, S as loadJsonFile, a as markAuthProfileUsed, i as markAuthProfileFailure, l as listProfilesForProvider, n as resolveAuthProfileOrder, p as ensureAuthProfileStore, r as isProfileInCooldown, s as resolveApiKeyForProfile, u as markAuthProfileGood, v as resolveAuthStorePathForDisplay, w as resolveAuthProfileDisplayLabel, y as resolveAnimaAgentDir } from "./auth-profiles-XI2YBb-w.js";
|
|
30
|
+
import { i as resolveApiKeyForProvider, n as getCustomProviderApiKey, o as resolveEnvApiKey, r as requireApiKey, s as resolveModelAuthMode, t as getApiKeyForModel } from "./model-auth-Bs6eoQ1l.js";
|
|
31
|
+
import { n as SILENT_REPLY_TOKEN, r as isSilentReplyText, t as HEARTBEAT_TOKEN } from "./tokens-BelyD23F.js";
|
|
32
|
+
import { $ as isVoiceCompatibleAudio, A as getLastTtsAttempt, B as resolveTtsConfig, C as formatUserTime, D as killProcessTree, E as getShellConfig, F as isTtsProviderConfigured, G as setTtsEnabled, I as maybeApplyTtsToPayload, J as textToSpeech, K as setTtsMaxLength, L as normalizeTtsAutoMode, M as getTtsProvider, N as isSummarizationEnabled, O as sanitizeBinaryOutput, P as isTtsEnabled, R as resolveTtsApiKey, S as buildSystemPromptParams, T as resolveUserTimezone, U as setLastTtsAttempt, V as resolveTtsPrefsPath, W as setSummarizationEnabled, Y as textToSpeechTelephony, _ as resolvePromptInput, at as makeBootstrapWarn, b as writeCliImages, c as appendImagePathsToPrompt, ct as createInternalHookEvent, d as cleanupResumeProcesses, f as cleanupSuspendedCliProcesses, g as parseCliJsonl, h as parseCliJson, ht as stripHeartbeatToken, i as resolveRunWorkspaceDir, j as getTtsMaxLength, k as buildTtsSystemPromptHint, l as buildCliArgs, lt as registerInternalHook, m as normalizeCliModel, mt as resolveHeartbeatPrompt, o as appendRunnerCapabilityPrompt, ot as resolveBootstrapContextForRun, p as enqueueCliRun, q as setTtsProvider, r as redactRunIdentifier, s as resolveAnimaDocsPath, t as runAnthropicDirectAgent, u as buildSystemPrompt, ut as triggerInternalHook, v as resolveSessionIdToSend, w as resolveUserTimeFormat, x as buildAgentSystemPrompt, y as resolveSystemPromptUsage, z as resolveTtsAutoMode } from "./anthropic-direct-runner-BgFOZS8B.js";
|
|
33
|
+
import { _ as throwIfAborted, b as initializeGlobalHookRunner, c as applyReplyThreading, d as shouldSuppressMessagingToolReplies, f as createReplyToModeFilterForChannel, g as normalizeTargetForProvider, h as normalizeChannelTargetInput, l as filterMessagingToolDuplicates, m as buildTargetResolverSignature, o as normalizeReplyPayloadsForDelivery, p as resolveReplyToMode, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as isRenderablePayload, v as parseReplyDirectives, y as getGlobalHookRunner } from "./deliver-BknvuSJz.js";
|
|
34
|
+
import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-DMJqELwh.js";
|
|
35
|
+
import { n as resolveMemorySearchConfig } from "./manager-DPojhf1D.js";
|
|
36
36
|
import { c as pruneExpiredPending, d as writeJsonAtomic, l as readJsonFile, s as createAsyncLock, u as resolvePairingPaths } from "./loader-Bw2wdN4l.js";
|
|
37
|
-
import { a as jsonResult, c as readStringArrayParam, i as imageResultFromFile, l as readStringParam, o as readNumberParam, r as imageResult } from "./common-
|
|
38
|
-
import { a as chunkText, c as resolveTextChunkLimit, i as chunkMarkdownTextWithMode, o as chunkTextWithMode, r as chunkMarkdownText, s as resolveChunkMode, t as chunkByNewline } from "./chunk-
|
|
39
|
-
import { a as shouldHandleTextCommands, i as normalizeCommandBody, n as listChatCommands, r as listChatCommandsForConfig, t as parseTimeoutMs } from "./parse-timeout-
|
|
40
|
-
import { At as SESSION_LABEL_MAX_LENGTH, Mt as hasInterSessionUserProvenance } from "./client-
|
|
41
|
-
import { a as randomIdempotencyKey, n as callGateway } from "./call-
|
|
37
|
+
import { a as jsonResult, c as readStringArrayParam, i as imageResultFromFile, l as readStringParam, o as readNumberParam, r as imageResult } from "./common-fIXNXke2.js";
|
|
38
|
+
import { a as chunkText, c as resolveTextChunkLimit, i as chunkMarkdownTextWithMode, o as chunkTextWithMode, r as chunkMarkdownText, s as resolveChunkMode, t as chunkByNewline } from "./chunk-DXTTGmeb.js";
|
|
39
|
+
import { a as shouldHandleTextCommands, i as normalizeCommandBody, n as listChatCommands, r as listChatCommandsForConfig, t as parseTimeoutMs } from "./parse-timeout-Cn7M8c5R.js";
|
|
40
|
+
import { At as SESSION_LABEL_MAX_LENGTH, Mt as hasInterSessionUserProvenance } from "./client-DOTb2PN6.js";
|
|
41
|
+
import { a as randomIdempotencyKey, n as callGateway } from "./call-Bn9iKzhX.js";
|
|
42
42
|
import { n as formatTimeAgo } from "./format-relative-CTQeSxQn.js";
|
|
43
|
-
import { a as resolveSubagentToolPolicy, c as removeChannelAllowFromStoreEntry, d as resolveChannelGroupPolicy, f as resolveChannelGroupRequireMention, i as resolveGroupToolPolicy, l as upsertChannelPairingRequest, n as isToolAllowedByPolicies, o as addChannelAllowFromStoreEntry, r as resolveEffectiveToolPolicy, s as readChannelAllowFromStore, t as filterToolsByPolicy, u as listPairingChannels } from "./pi-tools.policy-
|
|
44
|
-
import { a as logoutWeb, c as readWebSelfId, f as webAuthExists, i as logWebSelfId, n as getWebAuthAgeMs } from "./auth-store-
|
|
45
|
-
import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-
|
|
46
|
-
import { t as createBrowserRouteDispatcher } from "./dispatcher-
|
|
43
|
+
import { a as resolveSubagentToolPolicy, c as removeChannelAllowFromStoreEntry, d as resolveChannelGroupPolicy, f as resolveChannelGroupRequireMention, i as resolveGroupToolPolicy, l as upsertChannelPairingRequest, n as isToolAllowedByPolicies, o as addChannelAllowFromStoreEntry, r as resolveEffectiveToolPolicy, s as readChannelAllowFromStore, t as filterToolsByPolicy, u as listPairingChannels } from "./pi-tools.policy-DuWNVoem.js";
|
|
44
|
+
import { a as logoutWeb, c as readWebSelfId, f as webAuthExists, i as logWebSelfId, n as getWebAuthAgeMs } from "./auth-store-CqgKZB5l.js";
|
|
45
|
+
import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-BGnqY7vv.js";
|
|
46
|
+
import { t as createBrowserRouteDispatcher } from "./dispatcher-DpEzmU7s.js";
|
|
47
47
|
import { t as resolveNodeIdFromCandidates } from "./node-match-B-L-J0wq.js";
|
|
48
48
|
import { t as parseAbsoluteTimeMs } from "./parse-Cinbkvj-.js";
|
|
49
49
|
import { d as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel } from "./constants-CSst6nb5.js";
|
|
@@ -1843,6 +1843,14 @@ const SEED_MODELS = [
|
|
|
1843
1843
|
contextWindow: 3e5,
|
|
1844
1844
|
reasoning: false,
|
|
1845
1845
|
input: ["text", "image"]
|
|
1846
|
+
},
|
|
1847
|
+
{
|
|
1848
|
+
id: "glm-5",
|
|
1849
|
+
name: "GLM-5",
|
|
1850
|
+
provider: "zai",
|
|
1851
|
+
contextWindow: 2e5,
|
|
1852
|
+
reasoning: true,
|
|
1853
|
+
input: ["text"]
|
|
1846
1854
|
}
|
|
1847
1855
|
];
|
|
1848
1856
|
async function ensureAnimaModelsJson(config, agentDirOverride) {
|
|
@@ -1904,7 +1912,7 @@ async function loadModelCatalog(params) {
|
|
|
1904
1912
|
});
|
|
1905
1913
|
try {
|
|
1906
1914
|
await ensureAnimaModelsJson(params?.config ?? loadConfig());
|
|
1907
|
-
await (await import("./pi-auth-json-
|
|
1915
|
+
await (await import("./pi-auth-json-Dry5jXVt.js")).ensurePiAuthJsonFromAuthProfiles(resolveAnimaAgentDir());
|
|
1908
1916
|
const piSdk = await importPiSdk();
|
|
1909
1917
|
const agentDir = resolveAnimaAgentDir();
|
|
1910
1918
|
const { join } = await import("node:path");
|
|
@@ -4233,7 +4241,7 @@ async function createModelSelectionState(params) {
|
|
|
4233
4241
|
}
|
|
4234
4242
|
}
|
|
4235
4243
|
if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
|
|
4236
|
-
const { ensureAuthProfileStore } = await import("./auth-profiles-
|
|
4244
|
+
const { ensureAuthProfileStore } = await import("./auth-profiles-XI2YBb-w.js").then((n) => n.t);
|
|
4237
4245
|
const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
|
|
4238
4246
|
const providerKey = normalizeProviderId(provider);
|
|
4239
4247
|
if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
|
|
@@ -8581,7 +8589,7 @@ async function routeReply(params) {
|
|
|
8581
8589
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
8582
8590
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
8583
8591
|
try {
|
|
8584
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
8592
|
+
const { deliverOutboundPayloads } = await import("./deliver-BknvuSJz.js").then((n) => n.n);
|
|
8585
8593
|
return {
|
|
8586
8594
|
ok: true,
|
|
8587
8595
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -9188,7 +9196,7 @@ function createWhatsAppLoginTool() {
|
|
|
9188
9196
|
force: Type.Optional(Type.Boolean())
|
|
9189
9197
|
}),
|
|
9190
9198
|
execute: async (_toolCallId, args) => {
|
|
9191
|
-
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-
|
|
9199
|
+
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-C0eNn9SV.js");
|
|
9192
9200
|
if ((args?.action ?? "start") === "wait") {
|
|
9193
9201
|
const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
|
|
9194
9202
|
return {
|
|
@@ -9634,23 +9642,23 @@ let webLoginQrPromise = null;
|
|
|
9634
9642
|
let webChannelPromise = null;
|
|
9635
9643
|
let whatsappActionsPromise = null;
|
|
9636
9644
|
function loadWebOutbound() {
|
|
9637
|
-
webOutboundPromise ??= import("./outbound-
|
|
9645
|
+
webOutboundPromise ??= import("./outbound-C1WShhf8.js").then((n) => n.t);
|
|
9638
9646
|
return webOutboundPromise;
|
|
9639
9647
|
}
|
|
9640
9648
|
function loadWebLogin() {
|
|
9641
|
-
webLoginPromise ??= import("./login-
|
|
9649
|
+
webLoginPromise ??= import("./login-zlt00-k4.js").then((n) => n.n);
|
|
9642
9650
|
return webLoginPromise;
|
|
9643
9651
|
}
|
|
9644
9652
|
function loadWebLoginQr() {
|
|
9645
|
-
webLoginQrPromise ??= import("./login-qr-
|
|
9653
|
+
webLoginQrPromise ??= import("./login-qr-C0eNn9SV.js");
|
|
9646
9654
|
return webLoginQrPromise;
|
|
9647
9655
|
}
|
|
9648
9656
|
function loadWebChannel() {
|
|
9649
|
-
webChannelPromise ??= import("./web-
|
|
9657
|
+
webChannelPromise ??= import("./web-HXy7rlIW.js");
|
|
9650
9658
|
return webChannelPromise;
|
|
9651
9659
|
}
|
|
9652
9660
|
function loadWhatsAppActions() {
|
|
9653
|
-
whatsappActionsPromise ??= import("./whatsapp-actions-
|
|
9661
|
+
whatsappActionsPromise ??= import("./whatsapp-actions-BM0a0V4y.js");
|
|
9654
9662
|
return whatsappActionsPromise;
|
|
9655
9663
|
}
|
|
9656
9664
|
function createPluginRuntime() {
|
|
@@ -14547,6 +14555,63 @@ function orderCandidatesByPreference(params) {
|
|
|
14547
14555
|
|
|
14548
14556
|
//#endregion
|
|
14549
14557
|
//#region src/agents/model-fallback.ts
|
|
14558
|
+
const IMPLICIT_CODE_MODEL_FALLBACKS = [{
|
|
14559
|
+
whenProvider: "anthropic",
|
|
14560
|
+
provider: "openai-codex",
|
|
14561
|
+
model: "gpt-5.2-codex"
|
|
14562
|
+
}, {
|
|
14563
|
+
whenProvider: "anthropic",
|
|
14564
|
+
provider: "ollama",
|
|
14565
|
+
model: "qwen3-coder:latest"
|
|
14566
|
+
}];
|
|
14567
|
+
function isLocalBaseUrl(baseUrl) {
|
|
14568
|
+
const raw = baseUrl?.trim();
|
|
14569
|
+
if (!raw) return false;
|
|
14570
|
+
try {
|
|
14571
|
+
const host = new URL(raw).hostname.toLowerCase();
|
|
14572
|
+
return host === "localhost" || host === "127.0.0.1" || host === "0.0.0.0" || host === "::1" || host.endsWith(".local");
|
|
14573
|
+
} catch {
|
|
14574
|
+
return false;
|
|
14575
|
+
}
|
|
14576
|
+
}
|
|
14577
|
+
function isOpenAICompatibleApi(api) {
|
|
14578
|
+
const normalized = api?.trim();
|
|
14579
|
+
return normalized === "openai-completions" || normalized === "openai-responses";
|
|
14580
|
+
}
|
|
14581
|
+
function scoreLocalFallback(params) {
|
|
14582
|
+
const haystack = `${params.provider} ${params.model} ${params.name ?? ""}`.toLowerCase();
|
|
14583
|
+
if (haystack.includes("qwen3") && haystack.includes("coder")) return 100;
|
|
14584
|
+
if (haystack.includes("qwen") && haystack.includes("coder")) return 90;
|
|
14585
|
+
if (haystack.includes("noxsoft-tool-coder")) return 80;
|
|
14586
|
+
if (haystack.includes("tool-coder")) return 70;
|
|
14587
|
+
if (haystack.includes("coder")) return 60;
|
|
14588
|
+
if (haystack.includes("gpt-oss")) return 50;
|
|
14589
|
+
return 10;
|
|
14590
|
+
}
|
|
14591
|
+
function resolveImplicitLocalOpenAIFallbacks(cfg) {
|
|
14592
|
+
const providers = cfg?.models?.providers ?? {};
|
|
14593
|
+
const candidates = [];
|
|
14594
|
+
for (const [provider, entry] of Object.entries(providers)) {
|
|
14595
|
+
if (!isLocalBaseUrl(entry?.baseUrl) || !isOpenAICompatibleApi(entry?.api)) continue;
|
|
14596
|
+
for (const model of entry?.models ?? []) {
|
|
14597
|
+
const id = model?.id?.trim();
|
|
14598
|
+
if (!id) continue;
|
|
14599
|
+
candidates.push({
|
|
14600
|
+
provider,
|
|
14601
|
+
model: id,
|
|
14602
|
+
score: scoreLocalFallback({
|
|
14603
|
+
provider,
|
|
14604
|
+
model: id,
|
|
14605
|
+
name: model?.name
|
|
14606
|
+
})
|
|
14607
|
+
});
|
|
14608
|
+
}
|
|
14609
|
+
}
|
|
14610
|
+
return candidates.toSorted((a, b) => b.score - a.score || a.provider.localeCompare(b.provider) || a.model.localeCompare(b.model)).map(({ provider, model }) => ({
|
|
14611
|
+
provider,
|
|
14612
|
+
model
|
|
14613
|
+
}));
|
|
14614
|
+
}
|
|
14550
14615
|
/**
|
|
14551
14616
|
* Fallback abort check. Only treats explicit AbortError names as user aborts.
|
|
14552
14617
|
* Message-based checks (e.g., "aborted") can mask timeouts and skip fallback.
|
|
@@ -14640,6 +14705,14 @@ function resolveFallbackCandidates(params) {
|
|
|
14640
14705
|
if (!resolved) continue;
|
|
14641
14706
|
addCandidate(resolved.ref, true);
|
|
14642
14707
|
}
|
|
14708
|
+
if (params.fallbacksOverride === void 0) for (const implicit of IMPLICIT_CODE_MODEL_FALLBACKS) {
|
|
14709
|
+
if (normalizedPrimary.provider !== implicit.whenProvider) continue;
|
|
14710
|
+
addCandidate({
|
|
14711
|
+
provider: implicit.provider,
|
|
14712
|
+
model: implicit.model
|
|
14713
|
+
}, false);
|
|
14714
|
+
if (implicit.provider === "openai-codex") for (const localFallback of resolveImplicitLocalOpenAIFallbacks(params.cfg)) addCandidate(localFallback, false);
|
|
14715
|
+
}
|
|
14643
14716
|
if (params.fallbacksOverride === void 0 && primary?.provider && primary.model) addCandidate({
|
|
14644
14717
|
provider: primary.provider,
|
|
14645
14718
|
model: primary.model
|
|
@@ -27351,10 +27424,80 @@ async function runGeminiDirectAgent(params) {
|
|
|
27351
27424
|
};
|
|
27352
27425
|
}
|
|
27353
27426
|
|
|
27427
|
+
//#endregion
|
|
27428
|
+
//#region src/agents/local-model-installer.ts
|
|
27429
|
+
const DEFAULT_LOCAL_OLLAMA_MODEL = "qwen3-coder:latest";
|
|
27430
|
+
const installPromises = /* @__PURE__ */ new Map();
|
|
27431
|
+
function createInstallerError(message, cause) {
|
|
27432
|
+
const err = new Error(message);
|
|
27433
|
+
if (cause !== void 0) err.cause = cause;
|
|
27434
|
+
return err;
|
|
27435
|
+
}
|
|
27436
|
+
async function isOllamaModelInstalled(model = DEFAULT_LOCAL_OLLAMA_MODEL) {
|
|
27437
|
+
try {
|
|
27438
|
+
await runExec("ollama", ["show", model], 1e4);
|
|
27439
|
+
return true;
|
|
27440
|
+
} catch {
|
|
27441
|
+
return false;
|
|
27442
|
+
}
|
|
27443
|
+
}
|
|
27444
|
+
async function ensureLocalOllamaModelInstalled(params) {
|
|
27445
|
+
const model = params?.model?.trim() || DEFAULT_LOCAL_OLLAMA_MODEL;
|
|
27446
|
+
const timeoutMs = params?.timeoutMs ?? 72e5;
|
|
27447
|
+
const runtime = params?.runtime ?? createNonExitingRuntime();
|
|
27448
|
+
const existing = installPromises.get(model);
|
|
27449
|
+
if (existing) return await existing;
|
|
27450
|
+
const promise = (async () => {
|
|
27451
|
+
try {
|
|
27452
|
+
await runExec("ollama", ["list"], 1e4);
|
|
27453
|
+
} catch (error) {
|
|
27454
|
+
throw createInstallerError("Ollama is required but no local Ollama server is reachable. Start Ollama and retry.", error);
|
|
27455
|
+
}
|
|
27456
|
+
if (await isOllamaModelInstalled(model)) return {
|
|
27457
|
+
installed: true,
|
|
27458
|
+
pulled: false
|
|
27459
|
+
};
|
|
27460
|
+
runtime.log(`Installing local model via Ollama: ${model}`);
|
|
27461
|
+
const result = await runCommandWithTimeout([
|
|
27462
|
+
"ollama",
|
|
27463
|
+
"pull",
|
|
27464
|
+
model
|
|
27465
|
+
], { timeoutMs });
|
|
27466
|
+
if (result.code !== 0) {
|
|
27467
|
+
const detail = (result.stderr || result.stdout).trim();
|
|
27468
|
+
throw createInstallerError(`Failed to install local Ollama model "${model}".${detail ? ` ${detail}` : ""}`);
|
|
27469
|
+
}
|
|
27470
|
+
if (!await isOllamaModelInstalled(model)) throw createInstallerError(`Ollama reported success, but model "${model}" is still missing.`);
|
|
27471
|
+
runtime.log(`Local model ready: ${model}`);
|
|
27472
|
+
return {
|
|
27473
|
+
installed: true,
|
|
27474
|
+
pulled: true
|
|
27475
|
+
};
|
|
27476
|
+
})();
|
|
27477
|
+
installPromises.set(model, promise);
|
|
27478
|
+
try {
|
|
27479
|
+
return await promise;
|
|
27480
|
+
} finally {
|
|
27481
|
+
installPromises.delete(model);
|
|
27482
|
+
}
|
|
27483
|
+
}
|
|
27484
|
+
|
|
27354
27485
|
//#endregion
|
|
27355
27486
|
//#region src/agents/openai-direct-runner.ts
|
|
27356
27487
|
const log$2 = createSubsystemLogger("agent/openai-direct");
|
|
27357
27488
|
const DEFAULT_OPENAI_BASE_URL = "https://api.openai.com/v1";
|
|
27489
|
+
const DEFAULT_PROVIDER_BASE_URLS = {
|
|
27490
|
+
openai: DEFAULT_OPENAI_BASE_URL,
|
|
27491
|
+
minimax: "https://api.minimax.io/v1",
|
|
27492
|
+
ollama: "http://127.0.0.1:11434/v1",
|
|
27493
|
+
lmstudio: "http://127.0.0.1:1234/v1"
|
|
27494
|
+
};
|
|
27495
|
+
const PROVIDER_API_KEY_HINTS = {
|
|
27496
|
+
openai: "OPENAI_API_KEY",
|
|
27497
|
+
minimax: "MINIMAX_API_KEY",
|
|
27498
|
+
ollama: "OLLAMA_API_KEY",
|
|
27499
|
+
lmstudio: "LMSTUDIO_API_KEY"
|
|
27500
|
+
};
|
|
27358
27501
|
const MODEL_MAP = {
|
|
27359
27502
|
"gpt-5.4": "gpt-5.4",
|
|
27360
27503
|
"gpt-5.2": "gpt-5.2",
|
|
@@ -27392,6 +27535,10 @@ function resolveModel(model) {
|
|
|
27392
27535
|
const key = (model ?? "default").trim().toLowerCase() || "default";
|
|
27393
27536
|
return MODEL_MAP[key] ?? key;
|
|
27394
27537
|
}
|
|
27538
|
+
function isToolUnsupportedError(body) {
|
|
27539
|
+
const normalized = body.toLowerCase();
|
|
27540
|
+
return normalized.includes("does not support tools") || normalized.includes("tool is not supported");
|
|
27541
|
+
}
|
|
27395
27542
|
/**
|
|
27396
27543
|
* Clean a JSON Schema for OpenAI's function calling.
|
|
27397
27544
|
* OpenAI is stricter than most — no unsupported keywords.
|
|
@@ -27418,8 +27565,10 @@ function cleanSchemaForOpenAI(schema) {
|
|
|
27418
27565
|
*/
|
|
27419
27566
|
async function runOpenAIDirectAgent(params) {
|
|
27420
27567
|
const started = Date.now();
|
|
27568
|
+
const provider = (params.provider ?? "openai").trim() || "openai";
|
|
27421
27569
|
const resolvedModel = resolveModel(params.model);
|
|
27422
|
-
|
|
27570
|
+
if (provider === "ollama" && resolvedModel === DEFAULT_LOCAL_OLLAMA_MODEL) await ensureLocalOllamaModelInstalled({ model: resolvedModel });
|
|
27571
|
+
log$2.info(`direct api exec: provider=${provider} model=${resolvedModel} promptChars=${params.prompt.length}`);
|
|
27423
27572
|
const workspaceDir = resolveRunWorkspaceDir({
|
|
27424
27573
|
workspaceDir: params.workspaceDir,
|
|
27425
27574
|
sessionKey: params.sessionKey,
|
|
@@ -27430,7 +27579,7 @@ async function runOpenAIDirectAgent(params) {
|
|
|
27430
27579
|
config: params.config,
|
|
27431
27580
|
workspaceDir,
|
|
27432
27581
|
sessionKey: params.sessionKey,
|
|
27433
|
-
modelProvider:
|
|
27582
|
+
modelProvider: provider,
|
|
27434
27583
|
modelId: resolvedModel
|
|
27435
27584
|
});
|
|
27436
27585
|
const openaiTools = executableTools.map((t) => ({
|
|
@@ -27476,7 +27625,7 @@ async function runOpenAIDirectAgent(params) {
|
|
|
27476
27625
|
docsPath: docsPath ?? void 0,
|
|
27477
27626
|
tools: executableTools,
|
|
27478
27627
|
contextFiles,
|
|
27479
|
-
modelDisplay:
|
|
27628
|
+
modelDisplay: `${provider}/${resolvedModel}`,
|
|
27480
27629
|
agentId: sessionAgentId
|
|
27481
27630
|
});
|
|
27482
27631
|
let history = await loadSessionHistory(params.sessionFile);
|
|
@@ -27500,7 +27649,8 @@ async function runOpenAIDirectAgent(params) {
|
|
|
27500
27649
|
let isDone = false;
|
|
27501
27650
|
let loopCount = 0;
|
|
27502
27651
|
const maxLoops = 20;
|
|
27503
|
-
|
|
27652
|
+
let toolUseEnabled = openaiTools.length > 0;
|
|
27653
|
+
const baseUrl = params.config?.models?.providers?.[provider]?.baseUrl?.trim() || params.config?.models?.providers?.openai?.baseUrl?.trim() || DEFAULT_PROVIDER_BASE_URLS[provider] || DEFAULT_OPENAI_BASE_URL;
|
|
27504
27654
|
while (!isDone && loopCount < maxLoops) {
|
|
27505
27655
|
loopCount++;
|
|
27506
27656
|
const requestBody = {
|
|
@@ -27510,7 +27660,7 @@ async function runOpenAIDirectAgent(params) {
|
|
|
27510
27660
|
temperature: 1,
|
|
27511
27661
|
stream: true
|
|
27512
27662
|
};
|
|
27513
|
-
if (openaiTools.length > 0) {
|
|
27663
|
+
if (toolUseEnabled && openaiTools.length > 0) {
|
|
27514
27664
|
requestBody.tools = openaiTools;
|
|
27515
27665
|
requestBody.tool_choice = "auto";
|
|
27516
27666
|
}
|
|
@@ -27522,8 +27672,8 @@ async function runOpenAIDirectAgent(params) {
|
|
|
27522
27672
|
method: "POST",
|
|
27523
27673
|
headers: {
|
|
27524
27674
|
"Content-Type": "application/json",
|
|
27525
|
-
|
|
27526
|
-
|
|
27675
|
+
"User-Agent": `anima/7.0.0 (openai-direct-runner; ${os.platform()})`,
|
|
27676
|
+
...params.apiKey?.trim() ? { Authorization: `Bearer ${params.apiKey}` } : {}
|
|
27527
27677
|
},
|
|
27528
27678
|
body: JSON.stringify(requestBody),
|
|
27529
27679
|
signal: controller.signal
|
|
@@ -27531,11 +27681,20 @@ async function runOpenAIDirectAgent(params) {
|
|
|
27531
27681
|
clearTimeout(timeoutHandle);
|
|
27532
27682
|
if (!response.ok) {
|
|
27533
27683
|
const body = await response.text().catch(() => "");
|
|
27684
|
+
if (response.status === 400 && toolUseEnabled && isToolUnsupportedError(body)) {
|
|
27685
|
+
log$2.warn("openai-compatible provider rejected tools; retrying without tools", {
|
|
27686
|
+
provider,
|
|
27687
|
+
model: resolvedModel
|
|
27688
|
+
});
|
|
27689
|
+
toolUseEnabled = false;
|
|
27690
|
+
continue;
|
|
27691
|
+
}
|
|
27534
27692
|
const isAuth = response.status === 401 || response.status === 403;
|
|
27535
27693
|
const isRateLimit = response.status === 429;
|
|
27536
27694
|
const rateHint = isRateLimit ? " — rate limit hit, will retry next heartbeat." : "";
|
|
27537
|
-
const
|
|
27538
|
-
|
|
27695
|
+
const apiKeyHint = PROVIDER_API_KEY_HINTS[provider] ?? "API key";
|
|
27696
|
+
const authHint = isAuth ? ` — API key may be invalid. Check ${apiKeyHint}.` : "";
|
|
27697
|
+
log$2.error(`${provider} api error: HTTP ${response.status}${authHint}${rateHint}`, {
|
|
27539
27698
|
status: response.status,
|
|
27540
27699
|
body: body.slice(0, 500)
|
|
27541
27700
|
});
|
|
@@ -27663,7 +27822,8 @@ async function runOpenAIDirectAgent(params) {
|
|
|
27663
27822
|
log$2.info(`openai api complete: ${durationMs}ms`, {
|
|
27664
27823
|
inputTokens: totalInputTokens,
|
|
27665
27824
|
outputTokens: totalOutputTokens,
|
|
27666
|
-
model: resolvedModel
|
|
27825
|
+
model: resolvedModel,
|
|
27826
|
+
provider
|
|
27667
27827
|
});
|
|
27668
27828
|
return {
|
|
27669
27829
|
status: "completed",
|
|
@@ -27673,7 +27833,7 @@ async function runOpenAIDirectAgent(params) {
|
|
|
27673
27833
|
durationMs,
|
|
27674
27834
|
agentMeta: {
|
|
27675
27835
|
model: resolvedModel,
|
|
27676
|
-
provider
|
|
27836
|
+
provider,
|
|
27677
27837
|
usage: {
|
|
27678
27838
|
input: totalInputTokens,
|
|
27679
27839
|
output: totalOutputTokens
|
|
@@ -27705,10 +27865,22 @@ async function emitAgentEvent(params, stream, data) {
|
|
|
27705
27865
|
data
|
|
27706
27866
|
});
|
|
27707
27867
|
}
|
|
27868
|
+
function resolveProviderConfig(provider, config) {
|
|
27869
|
+
const providers = config?.models?.providers ?? {};
|
|
27870
|
+
const direct = providers[provider];
|
|
27871
|
+
if (direct) return direct;
|
|
27872
|
+
const normalized = normalizeProviderId(provider);
|
|
27873
|
+
return Object.entries(providers).find(([key]) => normalizeProviderId(key) === normalized)?.[1];
|
|
27874
|
+
}
|
|
27875
|
+
function isOpenAICompatibleProviderConfig(entry) {
|
|
27876
|
+
const api = entry?.api?.trim();
|
|
27877
|
+
return api === "openai-completions" || api === "openai-responses";
|
|
27878
|
+
}
|
|
27708
27879
|
function resolveDirectAuthProvider(provider) {
|
|
27709
27880
|
if (provider === "anthropic" || provider === "claude") return "anthropic";
|
|
27710
27881
|
if (provider === "google" || provider === "gemini") return "google";
|
|
27711
27882
|
if (provider === "openai") return "openai";
|
|
27883
|
+
if (provider === "minimax") return "minimax";
|
|
27712
27884
|
return null;
|
|
27713
27885
|
}
|
|
27714
27886
|
function resolveProfileFailureReason(result) {
|
|
@@ -27800,7 +27972,7 @@ async function runDirectWithProfileFallback(params) {
|
|
|
27800
27972
|
let lastResult = null;
|
|
27801
27973
|
for (;;) {
|
|
27802
27974
|
const auth = await resolveDirectProviderAuth({
|
|
27803
|
-
provider: params.
|
|
27975
|
+
provider: params.authProvider,
|
|
27804
27976
|
config: params.config,
|
|
27805
27977
|
agentDir: params.agentDir,
|
|
27806
27978
|
preferredProfile,
|
|
@@ -27812,7 +27984,7 @@ async function runDirectWithProfileFallback(params) {
|
|
|
27812
27984
|
meta: {
|
|
27813
27985
|
durationMs: 0,
|
|
27814
27986
|
error: {
|
|
27815
|
-
message: `Auth fallback loop detected for ${params.
|
|
27987
|
+
message: `Auth fallback loop detected for ${params.authProvider}.`,
|
|
27816
27988
|
kind: "unknown"
|
|
27817
27989
|
}
|
|
27818
27990
|
}
|
|
@@ -27835,11 +28007,12 @@ async function runDirectWithProfileFallback(params) {
|
|
|
27835
28007
|
onPartialReply: params.emitPartial,
|
|
27836
28008
|
onAssistantMessageStart: params.onAssistantMessageStart
|
|
27837
28009
|
};
|
|
27838
|
-
const result = params.
|
|
28010
|
+
const result = params.runnerKind === "anthropic" ? await runAnthropicDirectAgent({
|
|
27839
28011
|
...directRunParams,
|
|
27840
28012
|
token: auth.apiKey ?? ""
|
|
27841
|
-
}) : params.
|
|
28013
|
+
}) : params.runnerKind === "openai-compatible" ? await runOpenAIDirectAgent({
|
|
27842
28014
|
...directRunParams,
|
|
28015
|
+
provider: params.openAIProvider ?? params.authProvider,
|
|
27843
28016
|
apiKey: auth.apiKey ?? ""
|
|
27844
28017
|
}) : await runGeminiDirectAgent({
|
|
27845
28018
|
...directRunParams,
|
|
@@ -27854,7 +28027,7 @@ async function runDirectWithProfileFallback(params) {
|
|
|
27854
28027
|
});
|
|
27855
28028
|
await markAuthProfileGood({
|
|
27856
28029
|
store,
|
|
27857
|
-
provider: params.
|
|
28030
|
+
provider: params.authProvider,
|
|
27858
28031
|
profileId: auth.profileId,
|
|
27859
28032
|
agentDir: params.agentDir
|
|
27860
28033
|
});
|
|
@@ -27876,22 +28049,32 @@ async function runDirectWithProfileFallback(params) {
|
|
|
27876
28049
|
}
|
|
27877
28050
|
async function resolveDirectStrategy(provider, config, agentDir) {
|
|
27878
28051
|
const directProvider = resolveDirectAuthProvider(provider);
|
|
27879
|
-
if (
|
|
27880
|
-
try {
|
|
28052
|
+
if (directProvider) try {
|
|
27881
28053
|
const auth = await resolveDirectProviderAuth({
|
|
27882
28054
|
provider: directProvider,
|
|
27883
28055
|
config,
|
|
27884
28056
|
agentDir,
|
|
27885
28057
|
store: ensureAuthProfileStore(agentDir, { allowKeychainPrompt: false })
|
|
27886
28058
|
});
|
|
27887
|
-
if (auth.apiKey) {
|
|
28059
|
+
if (auth.apiKey !== void 0) {
|
|
27888
28060
|
if (directProvider === "anthropic" && auth.apiKey.startsWith("sk-ant-oat01-")) return null;
|
|
27889
28061
|
return {
|
|
27890
|
-
kind: directProvider === "google" ? "gemini-direct" : directProvider === "openai" ? "openai-direct" : "anthropic-direct",
|
|
28062
|
+
kind: directProvider === "google" ? "gemini-direct" : directProvider === "openai" || directProvider === "minimax" ? "openai-direct" : "anthropic-direct",
|
|
27891
28063
|
provider
|
|
27892
28064
|
};
|
|
27893
28065
|
}
|
|
27894
28066
|
} catch {}
|
|
28067
|
+
if (isOpenAICompatibleProviderConfig(resolveProviderConfig(provider, config))) try {
|
|
28068
|
+
if ((await resolveApiKeyForProvider({
|
|
28069
|
+
provider,
|
|
28070
|
+
cfg: config,
|
|
28071
|
+
agentDir,
|
|
28072
|
+
store: ensureAuthProfileStore(agentDir, { allowKeychainPrompt: false })
|
|
28073
|
+
})).apiKey !== void 0) return {
|
|
28074
|
+
kind: "openai-direct",
|
|
28075
|
+
provider
|
|
28076
|
+
};
|
|
28077
|
+
} catch {}
|
|
27895
28078
|
return null;
|
|
27896
28079
|
}
|
|
27897
28080
|
async function resolveNoxSoftRunnerStrategy(params) {
|
|
@@ -27922,11 +28105,33 @@ async function runNoxSoftEmbeddedAgent(params) {
|
|
|
27922
28105
|
await params.onPartialReply?.(payload);
|
|
27923
28106
|
await emitAgentEvent(params, "assistant", { text: payload.text });
|
|
27924
28107
|
};
|
|
27925
|
-
|
|
27926
|
-
|
|
27927
|
-
|
|
27928
|
-
|
|
27929
|
-
|
|
28108
|
+
let strategy;
|
|
28109
|
+
try {
|
|
28110
|
+
strategy = await resolveNoxSoftRunnerStrategy({
|
|
28111
|
+
provider: params.provider,
|
|
28112
|
+
config: params.config,
|
|
28113
|
+
agentDir: params.agentDir
|
|
28114
|
+
});
|
|
28115
|
+
} catch (error) {
|
|
28116
|
+
const requestedProvider = normalizedRequestedRef?.provider ?? provider;
|
|
28117
|
+
const requestedModel = normalizedRequestedRef?.model;
|
|
28118
|
+
const failover = coerceToFailoverError(error, {
|
|
28119
|
+
provider: requestedProvider,
|
|
28120
|
+
model: requestedModel
|
|
28121
|
+
}) ?? new FailoverError(error instanceof Error ? error.message : String(error), {
|
|
28122
|
+
reason: classifyFailoverReason(error instanceof Error ? error.message : String(error)) ?? "unknown",
|
|
28123
|
+
provider: requestedProvider,
|
|
28124
|
+
model: requestedModel,
|
|
28125
|
+
cause: error instanceof Error ? error : void 0
|
|
28126
|
+
});
|
|
28127
|
+
await emitAgentEvent(params, "lifecycle", {
|
|
28128
|
+
phase: "error",
|
|
28129
|
+
startedAt,
|
|
28130
|
+
endedAt: Date.now(),
|
|
28131
|
+
error: failover.message
|
|
28132
|
+
});
|
|
28133
|
+
throw failover;
|
|
28134
|
+
}
|
|
27930
28135
|
if (strategy.kind === "anthropic-direct") {
|
|
27931
28136
|
await emitAgentEvent(params, "lifecycle", {
|
|
27932
28137
|
phase: "start",
|
|
@@ -27936,7 +28141,8 @@ async function runNoxSoftEmbeddedAgent(params) {
|
|
|
27936
28141
|
const result = normalizeRunnerResult({
|
|
27937
28142
|
result: await runDirectWithProfileFallback({
|
|
27938
28143
|
...params,
|
|
27939
|
-
|
|
28144
|
+
authProvider: "anthropic",
|
|
28145
|
+
runnerKind: "anthropic",
|
|
27940
28146
|
timeoutMs,
|
|
27941
28147
|
runId,
|
|
27942
28148
|
emitPartial
|
|
@@ -27983,7 +28189,8 @@ async function runNoxSoftEmbeddedAgent(params) {
|
|
|
27983
28189
|
const result = normalizeRunnerResult({
|
|
27984
28190
|
result: await runDirectWithProfileFallback({
|
|
27985
28191
|
...params,
|
|
27986
|
-
|
|
28192
|
+
authProvider: "google",
|
|
28193
|
+
runnerKind: "google",
|
|
27987
28194
|
timeoutMs,
|
|
27988
28195
|
runId,
|
|
27989
28196
|
emitPartial
|
|
@@ -28030,7 +28237,9 @@ async function runNoxSoftEmbeddedAgent(params) {
|
|
|
28030
28237
|
const result = normalizeRunnerResult({
|
|
28031
28238
|
result: await runDirectWithProfileFallback({
|
|
28032
28239
|
...params,
|
|
28033
|
-
|
|
28240
|
+
authProvider: provider === "minimax" ? "minimax" : provider === "openai" ? "openai" : provider,
|
|
28241
|
+
runnerKind: "openai-compatible",
|
|
28242
|
+
openAIProvider: provider,
|
|
28034
28243
|
timeoutMs,
|
|
28035
28244
|
runId,
|
|
28036
28245
|
emitPartial
|
|
@@ -36384,7 +36593,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
36384
36593
|
return;
|
|
36385
36594
|
}
|
|
36386
36595
|
try {
|
|
36387
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
36596
|
+
const { deliverOutboundPayloads } = await import("./deliver-BknvuSJz.js").then((n) => n.n);
|
|
36388
36597
|
await deliverOutboundPayloads({
|
|
36389
36598
|
cfg: params.cfg,
|
|
36390
36599
|
channel,
|
|
@@ -36945,6 +37154,30 @@ function createTypingController(params) {
|
|
|
36945
37154
|
|
|
36946
37155
|
//#endregion
|
|
36947
37156
|
//#region src/auto-reply/reply/get-reply.ts
|
|
37157
|
+
/** Surfaces that represent real-time conversation (chat, DMs, voice). */
|
|
37158
|
+
const CONVERSATIONAL_CHAT_TYPES = new Set([
|
|
37159
|
+
"private",
|
|
37160
|
+
"group",
|
|
37161
|
+
"supergroup",
|
|
37162
|
+
"channel",
|
|
37163
|
+
"dm",
|
|
37164
|
+
"chat"
|
|
37165
|
+
]);
|
|
37166
|
+
/**
|
|
37167
|
+
* Returns true when the inbound message originates from a real-time
|
|
37168
|
+
* conversational surface (NoxSoft chat, Telegram, WhatsApp, etc.)
|
|
37169
|
+
* rather than a programmatic/execution context (gateway API, heartbeat, CLI).
|
|
37170
|
+
*/
|
|
37171
|
+
function isConversationalChannel(ctx) {
|
|
37172
|
+
if (ctx.CommandSource === "native") return false;
|
|
37173
|
+
const provider = ctx.Provider?.toLowerCase() ?? "";
|
|
37174
|
+
if (provider === "telegram" || provider === "whatsapp" || provider === "noxsoft") return true;
|
|
37175
|
+
const chatType = ctx.ChatType?.toLowerCase() ?? "";
|
|
37176
|
+
if (CONVERSATIONAL_CHAT_TYPES.has(chatType)) return true;
|
|
37177
|
+
const channel = typeof ctx.OriginatingChannel === "string" ? ctx.OriginatingChannel : "";
|
|
37178
|
+
if (channel && channel !== "gateway" && channel !== "cli") return true;
|
|
37179
|
+
return false;
|
|
37180
|
+
}
|
|
36948
37181
|
function mergeSkillFilters(channelFilter, agentFilter) {
|
|
36949
37182
|
const normalize = (list) => {
|
|
36950
37183
|
if (!Array.isArray(list)) return;
|
|
@@ -36993,6 +37226,18 @@ async function getReplyFromConfig(ctx, opts, configOverride) {
|
|
|
36993
37226
|
hasResolvedHeartbeatModelOverride = true;
|
|
36994
37227
|
}
|
|
36995
37228
|
}
|
|
37229
|
+
if (!opts?.isHeartbeat && !hasResolvedHeartbeatModelOverride && isConversationalChannel(ctx)) {
|
|
37230
|
+
const convRaw = agentCfg?.conversationalModel?.trim() ?? "";
|
|
37231
|
+
const convRef = convRaw ? resolveModelRefFromString({
|
|
37232
|
+
raw: convRaw,
|
|
37233
|
+
defaultProvider,
|
|
37234
|
+
aliasIndex
|
|
37235
|
+
}) : null;
|
|
37236
|
+
if (convRef) {
|
|
37237
|
+
provider = convRef.ref.provider;
|
|
37238
|
+
model = convRef.ref.model;
|
|
37239
|
+
}
|
|
37240
|
+
}
|
|
36996
37241
|
const workspaceDir = (await ensureAgentWorkspace({
|
|
36997
37242
|
dir: resolveAgentWorkspaceDir(cfg, agentId) ?? DEFAULT_AGENT_WORKSPACE_DIR,
|
|
36998
37243
|
ensureBootstrapFiles: !agentCfg?.skipBootstrap && !isFastTestEnv
|
|
@@ -37180,4 +37425,4 @@ async function getReplyFromConfig(ctx, opts, configOverride) {
|
|
|
37180
37425
|
}
|
|
37181
37426
|
|
|
37182
37427
|
//#endregion
|
|
37183
|
-
export {
|
|
37428
|
+
export { resolveGatewaySessionStoreTarget as $, resolveAgentIdentity as $n, migrateLegacyCronPayload as $t, getQueueSize as A, resolveEnvelopeFormatOptions as An, normalizeMimeList as Ar, resolveUsageProviderId as At, applyToolPolicyPipeline as B, initSubagentRegistry as Bn, formatDoctorNonInteractiveHint as Bt, verifyNodeToken as C, createDedupeCache as Cn, DEFAULT_INPUT_MAX_REDIRECTS as Cr, resolveWorkingModeModelSelection as Ct, registerSkillsChangeListener as D, createInboundDebouncer as Dn, DEFAULT_INPUT_TIMEOUT_MS as Dr, saveProviderStore as Dt, getSkillsSnapshotVersion as E, isDiagnosticsEnabled as En, DEFAULT_INPUT_PDF_MIN_TEXT_CHARS as Er, maskApiKey as Et, abortEmbeddedPiRun as F, stopSubagentsForRequester as Fn, markGatewaySigusr1RestartHandled as Ft, createAnimaTools as G, AGENT_LANE_NESTED as Gn, writeRestartSentinel as Gt, sniffMimeFromBase64 as H, subagent_registry_exports as Hn, readRestartSentinel as Ht, waitForEmbeddedPiRunEnd as I, CURRENT_MESSAGE_MARKER as In, scheduleGatewaySigusr1Restart as It, listAgentsForGateway as J, clearAgentRunContext as Jn, inferLegacyName as Jt, resolveAnnounceTargetFromKey as K, AGENT_LANE_SUBAGENT as Kn, normalizeCronJobCreate as Kt, runNoxSoftEmbeddedAgent as L, buildMentionRegexes as Ln, setGatewaySigusr1RestartPolicy as Lt, resetAllLanes as M, hasControlCommand as Mn, applyTemplate as Mr, deferGatewayRestartUntilIdle as Mt, setCommandLaneConcurrency as N, shouldComputeCommandAuthorized as Nn, finalizeInboundContext as Nr, emitGatewayRestart as Nt, clearSessionQueues as O, resolveInboundDebounceMs as On, extractFileContentFromSource as Or, formatUsageReportLines as Ot, waitForActiveTasks as P, isAbortTrigger as Pn, resolveAgentTimeoutMs as Pr, isGatewaySigusr1RestartExternallyAllowed as Pt, pruneLegacyStoreKeys as Q, registerAgentRunContext as Qn, normalizeRequiredName as Qt, DEFAULT_LOCAL_OLLAMA_MODEL as R, normalizeMentionText as Rn, setPreRestartDeferralCheck as Rt, updatePairedNodeMetadata as S, extractShortModelName as Sn, DEFAULT_INPUT_IMAGE_MIMES as Sr, runWithModelFallback as St, verifyPairingToken as T, stopDiagnosticHeartbeat as Tn, DEFAULT_INPUT_PDF_MAX_PIXELS as Tr, loadProviderStore as Tt, requestHeartbeatNow as U, runSubagentAnnounceFlow as Un, summarizeRestartSentinel as Ut, buildDefaultToolPolicyPipelineSteps as V, listDescendantRunsForRequester as Vn, formatRestartSentinelMessage as Vt, setHeartbeatWakeHandler as W, readLatestAssistantReply as Wn, trimLogTail as Wt, loadCombinedSessionStoreForGateway as X, getAgentRunContext as Xn, normalizeOptionalText as Xt, listSessionsFromStore as Y, emitAgentEvent$1 as Yn, normalizeOptionalAgentId as Yt, loadSessionEntry as Z, onAgentEvent as Zn, normalizePayloadToSystemText as Zt, approveNodePairing as _, shouldAckReactionForWhatsApp as _n, describeFailoverError as _r, resolveSessionDeliveryTarget as _t, buildChannelSummary as a, isExternalHookSession as an, clearSessionAuthProfileOverride as ar, readSessionPreviewItemsFromTranscript as at, renamePairedNode as b, createReplyDispatcher as bn, DEFAULT_INPUT_FILE_MIMES as br, resolveMessageChannelSelection as bt, normalizeSendPolicy as c, getPluginToolMeta as cn, parseVerboseOverride as cr, resolveCommitHash as ct, primeRemoteSkillsCache as d, resolveAgentRoute as dn, peekSystemEventEntries as dr, runMessageAction as dt, CHANNEL_TARGETS_DESCRIPTION as en, resolveEffectiveMessagesConfig as er, resolveSessionModelRef as et, recordRemoteNodeInfo as f, buildChannelAccountBindings as fn, peekSystemEvents as fr, ensureOutboundSessionEntry as ft, setSkillsRemoteRegistry as g, recordChannelActivity as gn, registerUnhandledRejectionHandler as gr, resolveOutboundTarget as gt, removeRemoteNodeInfo as h, getChannelActivity as hn, installUnhandledRejectionHandler as hr, resolveHeartbeatSenderContext as ht, setCliSessionId as i, getHookType as in, lookupContextTokens as ir, readSessionMessages as it, getTotalQueueSize as j, formatZonedTimestamp as jn, estimateBase64DecodedBytes as jr, consumeGatewaySigusr1RestartAuthorization as jt, getActiveTaskCount as k, formatInboundEnvelope as kn, extractImageContentFromSource as kr, formatUsageWindowSummary as kt, resolveSendPolicy as l, loadAnimaPlugins as ln, enqueueSystemEvent as lr, normalizeGroupActivation as lt, refreshRemoteNodeBins as m, buildPairingReply as mn, ensureAnimaModelsJson as mr, resolveHeartbeatDeliveryTarget as mt, BARE_SESSION_RESET_PROMPT as n, buildSafeExternalPrompt as nn, resolveIdentityNamePrefix as nr, archiveSessionTranscripts as nt, buildChannelAccountSnapshot as o, applyBrowserProxyPaths as on, applyModelOverrideToSessionEntry as or, resolveSessionTranscriptCandidates as ot, refreshRemoteBinsForConnectedNodes as p, resolvePreferredAccountId as pn, loadModelCatalog as pr, resolveOutboundSessionRoute as pt, canonicalizeSpawnedByForAgent as q, CommandLane as qn, normalizeCronJobPatch as qt, getCliSessionId as r, detectSuspiciousPatterns as rn, resolveMessagePrefix as rr, capArrayByJsonBytes as rt, formatChannelAllowFrom as s, persistBrowserProxyFiles as sn, applyVerboseOverride as sr, stripEnvelopeFromMessages as st, getReplyFromConfig as t, CHANNEL_TARGET_DESCRIPTION as tn, resolveIdentityName as tr, archiveFileOnDisk as tt, getRemoteSkillEligibility as u, buildAgentSessionKey as un, isSystemEventContextChanged as ur, parseActivationCommand as ut, listNodePairing as v, dispatchReplyWithBufferedBlockDispatcher as vn, DEFAULT_INPUT_FILE_MAX_BYTES as vr, formatTargetDisplay as vt, generatePairingToken as w, startDiagnosticHeartbeat as wn, DEFAULT_INPUT_PDF_MAX_PAGES as wr, loadProviderUsageSummary as wt, requestNodePairing as x, getTotalPendingReplies as xn, DEFAULT_INPUT_IMAGE_MAX_BYTES as xr, CHANNEL_MESSAGE_ACTION_NAMES as xt, rejectNodePairing as y, dispatchInboundMessage as yn, DEFAULT_INPUT_FILE_MAX_CHARS as yr, resetDirectoryCache as yt, ensureLocalOllamaModelInstalled as z, countActiveDescendantRuns as zn, consumeRestartSentinel as zt };
|