@noxsoft/anima 7.0.1 → 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 +11 -0
- 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-PoYM2xa7.js → agent-viQL5eva.js} +18 -18
- package/dist/{agent-BjD_hkGZ.js → agent-xPFmA8jO.js} +14 -14
- package/dist/{agents-y3HCk1ks.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-Bu8w-wlJ.js → anthropic-direct-runner-BNiXWmel.js} +11 -11
- package/dist/{anthropic-direct-runner-C5pnwYzT.js → anthropic-direct-runner-BgFOZS8B.js} +11 -11
- 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-BYOaX-W4.js → auth-choice-D3Gi-WXq.js} +7 -7
- package/dist/{auth-choice-CRP6z43z.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-XT5N0ZF4.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-yWytZHhN.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-C7mOU26p.js → cli-BzTZ8Gnp.js} +46 -46
- package/dist/{cli-DfcdnRcl.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-DUTqrmna.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-BBm9JIHZ.js → completion-cli-BP8IIlzX.js} +4 -4
- package/dist/{completion-cli-Cpj91U30.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-BE8TA8Yt.js → configure-CHPG13jf.js} +24 -24
- package/dist/{configure-CU3kulTq.js → configure-Dd6zJb-q.js} +72 -72
- package/dist/{configure-BfWsTKMF.js → configure-DeLC66Op.js} +25 -25
- package/dist/{configure-4jIAlOdj.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-DKPoFoa8.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-CFpVHDFT.js → doctor-BNJ_edyo.js} +36 -36
- package/dist/{doctor-DOudOs1k.js → doctor-DY5SmosG.js} +38 -38
- package/dist/{doctor-completion-DfNyJGIj.js → doctor-completion-B6lgyLsC.js} +2 -2
- package/dist/{doctor-completion-R0UlpjIj.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-BDDM-iAi.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-DtIum1te.js → gateway-cli-C4FwPHzu.js} +95 -95
- package/dist/{gateway-cli-CFlPUx9N.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-ngQNjXh4.js → health-C6rAUaME.js} +13 -13
- package/dist/{health-yw_uaucz.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-BaL8JzkS.js → heartbeat-visibility-DZOi_4uV.js} +1 -1
- package/dist/{heartbeat-visibility-mAzdNSiS.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-D6YfDiUI.js → hooks-cli-CBDm7Rjw.js} +50 -50
- package/dist/{hooks-cli-CPgLAn7a.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-BXdBXPMB.js → models-DxRmPLiS.js} +97 -50
- package/dist/{models-cli-1Kj8gkGy.js → models-cli-B9KClY_f.js} +137 -82
- package/dist/{models-cli-DdJcmOGI.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-CHX1Jdt_.js → onboard-BZORsTGE.js} +18 -18
- package/dist/{onboard-BzScK9k6.js → onboard-Doq7UgRV.js} +19 -19
- package/dist/{onboard-channels-DfXxMbYu.js → onboard-channels-BREQ8Tyw.js} +9 -9
- package/dist/{onboard-channels-wUF4oRB-.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-fnZOw6Wv.js → onboarding-BGXbXgds.js} +21 -21
- package/dist/{onboarding-6jxAKxhe.js → onboarding-DQplq13s.js} +22 -22
- package/dist/{orchestrator-CrFD887e.js → orchestrator-CERtu86A.js} +1 -1
- 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-DMsqr5fd.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-B1eVXOsQ.js → pi-embedded-CrzqUkHv.js} +304 -59
- package/dist/{pi-embedded-DbvG9mmD.js → pi-embedded-Dn3Ip_VN.js} +308 -63
- 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-DKexyPAq.js → plugin-registry-BOuDey4w.js} +4 -4
- package/dist/{plugin-registry-CtkU96jV.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 +25 -7
- package/dist/{plugins-DYcg0qBW.js → plugins-BqPGs8w-.js} +1 -1
- package/dist/{plugins-BOMS6J5A.js → plugins-C8FLxXbd.js} +1 -1
- package/dist/{plugins-cli-BQmysVFP.js → plugins-cli-CbOP5ml6.js} +51 -51
- package/dist/{plugins-cli-B3l7kalt.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-C4x0zjOR.js → program-context-7yQclqBT.js} +35 -35
- package/dist/{program-mSyCYzsQ.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-DBxUWr1K.js → register.agent-BMxuTqFN.js} +68 -68
- package/dist/{register.agent-CzEM3bkp.js → register.agent-BO6_QTx6.js} +65 -65
- package/dist/{register.anima-RI6gewtj.js → register.anima-5SAY6OxG.js} +4 -4
- package/dist/{register.anima--gufBuS-.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-BhGJ_1Iy.js → register.message-Cqlz-6uM.js} +52 -52
- package/dist/{register.message-ACbKb7JS.js → register.message-Cz34rs9W.js} +50 -50
- package/dist/{register.onboard-DR_YYtbi.js → register.onboard-Cmh46n62.js} +70 -70
- package/dist/{register.onboard-CwkY7CRm.js → register.onboard-_4FOFCA2.js} +67 -67
- package/dist/{register.setup-Cn3e7Std.js → register.setup-CHgH1mdn.js} +70 -70
- package/dist/{register.setup-BSm6O1ml.js → register.setup-CKY65php.js} +67 -67
- package/dist/{register.status-health-sessions-DAl9OeGB.js → register.status-health-sessions-CNX6wp0V.js} +60 -60
- package/dist/{register.status-health-sessions-CpxsZeet.js → register.status-health-sessions-DNvtWNtb.js} +63 -63
- package/dist/{register.subclis-DEFeoyPP.js → register.subclis-Br8nY-dd.js} +23 -23
- package/dist/{reply-ylwOKuOF.js → reply-DqXPXQ20.js} +322 -77
- package/dist/{reply-prefix-CEnF6TUe.js → reply-prefix-CZy4g8SY.js} +1 -1
- package/dist/{reply-prefix-Og65nAYv.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-D6Ete2Z-.js → run-0F-ZU2kW.js} +2038 -172
- package/dist/{run-B6eBjo22.js → run-Bu-fwhic.js} +2043 -177
- package/dist/{run-main-CQHE4XaN.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-DIuVwITd.js → server-node-events-BGWQiInn.js} +52 -52
- package/dist/{server-node-events-CV5m_fuq.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-Jlf3l006.js → session-BnOV0y0e.js} +6 -6
- package/dist/{session-BqHD-8a_.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-T66kDBNA.js → settings-cli-CHwTEE6P.js} +72 -72
- package/dist/{settings-cli-LWW2xQBQ.js → settings-cli-DsUKlq8R.js} +74 -74
- package/dist/{setup-token-6DSKE0Tn.js → setup-token-BX6QI7ce.js} +26 -26
- package/dist/{setup-token-0zfSBnMQ.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-CDcFjNtS.js → status-BN6HYR8t.js} +4 -4
- package/dist/{status-CobgQziJ.js → status-BimVB8cj.js} +4 -4
- package/dist/{status-D37aRiV3.js → status-CSkpd-tb.js} +27 -27
- package/dist/{status-BhRELdY_.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-CDEUbtey.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-CqKpX3cX.js → update-Cpvsdq3a.js} +3 -3
- package/dist/{update-DA91za97.js → update-DrQkwR-M.js} +3 -3
- package/dist/{update-cli-QtM0G6CE.js → update-cli-DpKplMO0.js} +79 -79
- package/dist/{update-cli-BjHgpnxD.js → update-cli-DueHX0OM.js} +83 -83
- package/dist/{update-runner-C8SRcVm3.js → update-runner-C7CjKcMp.js} +5 -5
- package/dist/{update-runner-Fb3Un6UZ.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-BDig9tCy.js → web-Br9HCEvC.js} +54 -54
- package/dist/{web-CPPJ5y4c.js → web-BxkEMATs.js} +25 -25
- package/dist/{web-C4lrKULd.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 +3 -1
- package/scripts/install-local-qwen3-coder.sh +7 -0
- package/dist/config-cli-CF2ERR8G.js +0 -11
- package/dist/config-cli-Dmd4Oyjp.js +0 -15
- 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-Cs3uLUBo.js +0 -107
- package/dist/register.configure-Dpe8Qel3.js +0 -106
- package/dist/register.maintenance-BEYN8SJL.js +0 -103
- package/dist/register.maintenance-DqAdzWBM.js +0 -102
- package/dist/start-BdcAszpl.js +0 -157
- package/dist/start-gVOPVCgi.js +0 -158
- package/dist/web-Vx_ENtYI.js +0 -65
|
@@ -1,58 +1,58 @@
|
|
|
1
1
|
import { n as __exportAll } from "./chunk-BXK9XSlF.js";
|
|
2
|
-
import {
|
|
3
|
-
import { S as saveJsonFile, T as resolveAuthProfileDisplayLabel, 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 normalizeSecretInput, x as loadJsonFile } from "./auth-profiles-
|
|
4
|
-
import { r as resolveCliName, t as formatCliCommand } from "./command-format-
|
|
2
|
+
import { B as normalizeLogLevel, E as logVerbose, F as getChildLogger, Ot as resolveRequiredHomeDir, P as theme, X as resolveGatewayPort, _ as defaultRuntime, dt as normalizeChatChannelId, et as resolveStateDir, g as createNonExitingRuntime, k as shouldLogVerbose, lt as normalizeAnyChannelId, mt as setActivePluginRegistry, n as isTruthyEnvValue, o as createSubsystemLogger, rt as CHAT_CHANNEL_ORDER, ut as normalizeChannelId } from "./entry.js";
|
|
3
|
+
import { S as saveJsonFile, T as resolveAuthProfileDisplayLabel, 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 normalizeSecretInput, x as loadJsonFile } from "./auth-profiles-fjGcjhZ4.js";
|
|
4
|
+
import { r as resolveCliName, t as formatCliCommand } from "./command-format-JgYolX96.js";
|
|
5
5
|
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-DP2WHl90.js";
|
|
6
|
-
import { C as sleep, E as truncateUtf16Safe, S as shortenHomePath, c as escapeRegExp, d as isRecord, r as clampInt, t as CONFIG_DIR, u as isPlainObject, w as sliceUtf16Safe, y as resolveUserPath } from "./utils-
|
|
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 { t as resolveAnimaAgentDir } from "./agent-paths-
|
|
6
|
+
import { C as sleep, E as truncateUtf16Safe, S as shortenHomePath, c as escapeRegExp, d as isRecord, r as clampInt, t as CONFIG_DIR, u as isPlainObject, w as sliceUtf16Safe, y as resolveUserPath } from "./utils-BNuEYQIN.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-CigQCGkt.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-B1FoYHfj.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-f7lJs3PI.js";
|
|
10
|
+
import { t as resolveAnimaAgentDir } from "./agent-paths-DRAU6-8h.js";
|
|
11
11
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-BZryRo8-.js";
|
|
12
|
-
import { c as assertMediaNotDataUrl, i as loadWorkspaceSkillEntries, l as assertSandboxPath, n as buildWorkspaceSkillCommandSpecs, o as resolvePluginSkillDirs, r as buildWorkspaceSkillSnapshot, u as resolveSandboxedMediaSource } from "./skills-
|
|
13
|
-
import { a as applyTestPluginDefaults, c as resolveEnableState, l as resolveMemorySlotDecision, n as discoverAnimaPlugins, s as normalizePluginsConfig, t as loadPluginManifestRegistry } from "./manifest-registry-
|
|
14
|
-
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-
|
|
12
|
+
import { c as assertMediaNotDataUrl, i as loadWorkspaceSkillEntries, l as assertSandboxPath, n as buildWorkspaceSkillCommandSpecs, o as resolvePluginSkillDirs, r as buildWorkspaceSkillSnapshot, u as resolveSandboxedMediaSource } from "./skills-BT0Lx09M.js";
|
|
13
|
+
import { a as applyTestPluginDefaults, c as resolveEnableState, l as resolveMemorySlotDecision, n as discoverAnimaPlugins, s as normalizePluginsConfig, t as loadPluginManifestRegistry } from "./manifest-registry-BAebAG4I.js";
|
|
14
|
+
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-DmsfUvB0.js";
|
|
15
15
|
import { i as resolveShellEnvFallbackTimeoutMs, n as getShellPathFromLoginShell } from "./shell-env-2QqHvBMl.js";
|
|
16
|
-
import { At as SESSION_LABEL_MAX_LENGTH, Mt as hasInterSessionUserProvenance } from "./client-
|
|
17
|
-
import { a as randomIdempotencyKey, n as callGateway } from "./call-
|
|
18
|
-
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-
|
|
19
|
-
import { A as buildGroupDisplayName, D as listChannelDocks, E as getChannelDock, F as normalizeDeliveryContext, I as normalizeSessionDeliveryFields, M as deliveryContextFromSession, N as deliveryContextKey, O as resolveConversationLabel, P as mergeDeliveryContext, S as resolveMainSessionKey, _ as DEFAULT_RESET_TRIGGERS, a as readSessionUpdatedAt, b as resolveAgentMainSessionKey, c as updateLastRoute, d as resolveSessionKey$1, f as evaluateSessionFreshness, g as resolveThreadFlag, h as resolveSessionResetType, i as loadSessionStore, j as resolveGroupSessionKey, k as normalizeChatType, l as updateSessionStore, m as resolveSessionResetPolicy, n as appendAssistantMessageToSessionTranscript, o as recordSessionMetaFromInbound, p as resolveChannelResetConfig, t as extractDeliveryInfo, u as updateSessionStoreEntry, v as resolveFreshSessionTotalTokens, w as deriveSessionMetaPatch, y as canonicalizeMainSessionAlias } from "./sessions-
|
|
20
|
-
import { n as SILENT_REPLY_TOKEN, r as isSilentReplyText, t as HEARTBEAT_TOKEN } from "./tokens-
|
|
21
|
-
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-
|
|
22
|
-
import { S as resolveBootstrapMaxChars, _ as isFailoverErrorMessage, a as normalizeElevatedLevel, b as sanitizeUserFacingText, c as normalizeUsageDisplay, d as supportsXHighThinking, g as isContextOverflowError, h as isCompactionFailureError, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, p as classifyFailoverReason, s as normalizeThinkLevel, t as formatThinkingLevels, u as resolveResponseUsageMode, v as isLikelyContextOverflowError, y as isTransientHttpError } from "./pi-embedded-helpers-
|
|
23
|
-
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-
|
|
24
|
-
import { x as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-
|
|
25
|
-
import { c as safeEqualSecret } from "./auth-
|
|
26
|
-
import { a as resolveBrowserConfig, h as resolveBrowserControlAuth } from "./server-context-
|
|
27
|
-
import { a as resolvePathsWithinRoot, i as DEFAULT_UPLOAD_DIR, n as getMediaDir, r as saveMediaBuffer } from "./routes-
|
|
16
|
+
import { At as SESSION_LABEL_MAX_LENGTH, Mt as hasInterSessionUserProvenance } from "./client-DNDzi0CF.js";
|
|
17
|
+
import { a as randomIdempotencyKey, n as callGateway } from "./call-CPfxv8yg.js";
|
|
18
|
+
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-qmDI9YoO.js";
|
|
19
|
+
import { A as buildGroupDisplayName, D as listChannelDocks, E as getChannelDock, F as normalizeDeliveryContext, I as normalizeSessionDeliveryFields, M as deliveryContextFromSession, N as deliveryContextKey, O as resolveConversationLabel, P as mergeDeliveryContext, S as resolveMainSessionKey, _ as DEFAULT_RESET_TRIGGERS, a as readSessionUpdatedAt, b as resolveAgentMainSessionKey, c as updateLastRoute, d as resolveSessionKey$1, f as evaluateSessionFreshness, g as resolveThreadFlag, h as resolveSessionResetType, i as loadSessionStore, j as resolveGroupSessionKey, k as normalizeChatType, l as updateSessionStore, m as resolveSessionResetPolicy, n as appendAssistantMessageToSessionTranscript, o as recordSessionMetaFromInbound, p as resolveChannelResetConfig, t as extractDeliveryInfo, u as updateSessionStoreEntry, v as resolveFreshSessionTotalTokens, w as deriveSessionMetaPatch, y as canonicalizeMainSessionAlias } from "./sessions-B2NwIaNC.js";
|
|
20
|
+
import { n as SILENT_REPLY_TOKEN, r as isSilentReplyText, t as HEARTBEAT_TOKEN } from "./tokens-nliOJNMv.js";
|
|
21
|
+
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-BNiXWmel.js";
|
|
22
|
+
import { S as resolveBootstrapMaxChars, _ as isFailoverErrorMessage, a as normalizeElevatedLevel, b as sanitizeUserFacingText, c as normalizeUsageDisplay, d as supportsXHighThinking, g as isContextOverflowError, h as isCompactionFailureError, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, p as classifyFailoverReason, s as normalizeThinkLevel, t as formatThinkingLevels, u as resolveResponseUsageMode, v as isLikelyContextOverflowError, y as isTransientHttpError } from "./pi-embedded-helpers-BSFtS9Fl.js";
|
|
23
|
+
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-DSHSoUHO.js";
|
|
24
|
+
import { x as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-CN17GbZN.js";
|
|
25
|
+
import { c as safeEqualSecret } from "./auth-Bw3NUKcg.js";
|
|
26
|
+
import { a as resolveBrowserConfig, h as resolveBrowserControlAuth } from "./server-context-EPPcxp2p.js";
|
|
27
|
+
import { a as resolvePathsWithinRoot, i as DEFAULT_UPLOAD_DIR, n as getMediaDir, r as saveMediaBuffer } from "./routes-CAjh83-X.js";
|
|
28
28
|
import { n as formatErrorMessage, r as formatUncaughtError, t as extractErrorCode } from "./errors-COFgygw8.js";
|
|
29
|
-
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-
|
|
30
|
-
import { n as listChannelPlugins, r as normalizeChannelId$1, t as getChannelPlugin } from "./plugins-
|
|
31
|
-
import { a as resolveSessionTranscriptPathInDir, c as resolveStorePath$1, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions } from "./paths-
|
|
32
|
-
import { t as sanitizeToolResultImages } from "./tool-images-
|
|
33
|
-
import { i as resolveApiKeyForProvider, n as getCustomProviderApiKey, o as resolveEnvApiKey, r as requireApiKey, s as resolveModelAuthMode, t as getApiKeyForModel } from "./model-auth-
|
|
34
|
-
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-
|
|
35
|
-
import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-
|
|
36
|
-
import { n as resolveMemorySearchConfig } from "./manager-
|
|
37
|
-
import { c as pruneExpiredPending, d as writeJsonAtomic, l as readJsonFile, s as createAsyncLock, u as resolvePairingPaths } from "./loader-
|
|
38
|
-
import { a as jsonResult, c as readStringArrayParam, i as imageResultFromFile, l as readStringParam, o as readNumberParam, r as imageResult } from "./common-
|
|
39
|
-
import { a as chunkText, c as resolveTextChunkLimit, i as chunkMarkdownTextWithMode, o as chunkTextWithMode, r as chunkMarkdownText, s as resolveChunkMode, t as chunkByNewline } from "./chunk-
|
|
40
|
-
import { a as shouldHandleTextCommands, i as normalizeCommandBody, n as listChatCommands, r as listChatCommandsForConfig, t as parseTimeoutMs } from "./parse-timeout-
|
|
29
|
+
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-flDr58qn.js";
|
|
30
|
+
import { n as listChannelPlugins, r as normalizeChannelId$1, t as getChannelPlugin } from "./plugins-C8FLxXbd.js";
|
|
31
|
+
import { a as resolveSessionTranscriptPathInDir, c as resolveStorePath$1, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions } from "./paths-BM1wivAU.js";
|
|
32
|
+
import { t as sanitizeToolResultImages } from "./tool-images-DJrhuxOM.js";
|
|
33
|
+
import { i as resolveApiKeyForProvider, n as getCustomProviderApiKey, o as resolveEnvApiKey, r as requireApiKey, s as resolveModelAuthMode, t as getApiKeyForModel } from "./model-auth-BCdRf282.js";
|
|
34
|
+
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-D86kSZGn.js";
|
|
35
|
+
import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-BJmQIQSw.js";
|
|
36
|
+
import { n as resolveMemorySearchConfig } from "./manager-CE4cPrH2.js";
|
|
37
|
+
import { c as pruneExpiredPending, d as writeJsonAtomic, l as readJsonFile, s as createAsyncLock, u as resolvePairingPaths } from "./loader-5Xm3Jxa-.js";
|
|
38
|
+
import { a as jsonResult, c as readStringArrayParam, i as imageResultFromFile, l as readStringParam, o as readNumberParam, r as imageResult } from "./common-c4ZysSLq.js";
|
|
39
|
+
import { a as chunkText, c as resolveTextChunkLimit, i as chunkMarkdownTextWithMode, o as chunkTextWithMode, r as chunkMarkdownText, s as resolveChunkMode, t as chunkByNewline } from "./chunk-isZGJq82.js";
|
|
40
|
+
import { a as shouldHandleTextCommands, i as normalizeCommandBody, n as listChatCommands, r as listChatCommandsForConfig, t as parseTimeoutMs } from "./parse-timeout-Bp5yQ1yW.js";
|
|
41
41
|
import { n as formatTimeAgo } from "./format-relative-CBDSicUs.js";
|
|
42
|
-
import { a as resolveMarkdownTableMode, c as loadWebMedia, d as readResponseWithLimit, f as fetchWithSsrFGuard, i as convertMarkdownTables, l as MediaFetchError, m as fetchWithTimeout, o as normalizePollInput, p as bindAbortRelay, s as getDefaultLocalRoots, t as getActiveWebListener, u as fetchRemoteMedia } from "./active-listener-
|
|
43
|
-
import { n as ensureAnimaModelsJson, t as lookupContextTokens } from "./context-
|
|
44
|
-
import { a as resolveSubagentToolPolicy, c as addChannelAllowFromStoreEntry, d as upsertChannelPairingRequest, f as listPairingChannels, i as resolveGroupToolPolicy, l as readChannelAllowFromStore, n as isToolAllowedByPolicies, o as resolveChannelGroupPolicy, r as resolveEffectiveToolPolicy, s as resolveChannelGroupRequireMention, t as filterToolsByPolicy, u as removeChannelAllowFromStoreEntry } from "./pi-tools.policy-
|
|
42
|
+
import { a as resolveMarkdownTableMode, c as loadWebMedia, d as readResponseWithLimit, f as fetchWithSsrFGuard, i as convertMarkdownTables, l as MediaFetchError, m as fetchWithTimeout, o as normalizePollInput, p as bindAbortRelay, s as getDefaultLocalRoots, t as getActiveWebListener, u as fetchRemoteMedia } from "./active-listener-D78ohfOc.js";
|
|
43
|
+
import { n as ensureAnimaModelsJson, t as lookupContextTokens } from "./context-C22AMgsc.js";
|
|
44
|
+
import { a as resolveSubagentToolPolicy, c as addChannelAllowFromStoreEntry, d as upsertChannelPairingRequest, f as listPairingChannels, i as resolveGroupToolPolicy, l as readChannelAllowFromStore, n as isToolAllowedByPolicies, o as resolveChannelGroupPolicy, r as resolveEffectiveToolPolicy, s as resolveChannelGroupRequireMention, t as filterToolsByPolicy, u as removeChannelAllowFromStoreEntry } from "./pi-tools.policy-DyckzpRL.js";
|
|
45
45
|
import { a as minSecurity, c as recordAllowlistUse, d as resolveExecApprovalsFromFile, g as resolveSafeBins, h as evaluateShellAllowlist, i as maxAsk, l as requiresExecApproval, n as addAllowlistEntry, u as resolveExecApprovals, v as buildSafeBinsShellCommand, y as buildSafeShellCommand } from "./exec-approvals-CpOeHRBL.js";
|
|
46
46
|
import { t as resolveNodeIdFromCandidates } from "./node-match-Cbt-ZqUE.js";
|
|
47
47
|
import { t as formatDurationCompact$1 } from "./format-duration-BoQ6ac8g.js";
|
|
48
|
-
import { c as derivePromptTokens, d as normalizeUsage, l as deriveSessionTotalTokens, n as loadCostUsageSummary, o as extractToolCallNames, r as loadSessionCostSummary, s as hasToolCall, u as hasNonzeroUsage } from "./session-cost-usage-
|
|
48
|
+
import { c as derivePromptTokens, d as normalizeUsage, l as deriveSessionTotalTokens, n as loadCostUsageSummary, o as extractToolCallNames, r as loadSessionCostSummary, s as hasToolCall, u as hasNonzeroUsage } from "./session-cost-usage-BNvno_kS.js";
|
|
49
49
|
import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-BGCAJt5K.js";
|
|
50
50
|
import { d as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel } from "./constants-Dt8s_a7s.js";
|
|
51
|
-
import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-
|
|
52
|
-
import { t as createBrowserRouteDispatcher } from "./dispatcher-
|
|
51
|
+
import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-DxuB_IUw.js";
|
|
52
|
+
import { t as createBrowserRouteDispatcher } from "./dispatcher-DwlzWX2u.js";
|
|
53
53
|
import { t as parseAbsoluteTimeMs } from "./parse-DLMgOMDI.js";
|
|
54
54
|
import { t as TOKEN_PATH } from "./noxsoft-auth-CgCk5707.js";
|
|
55
|
-
import { a as logoutWeb, c as readWebSelfId, f as webAuthExists, i as logWebSelfId, n as getWebAuthAgeMs } from "./auth-store-
|
|
55
|
+
import { a as logoutWeb, c as readWebSelfId, f as webAuthExists, i as logWebSelfId, n as getWebAuthAgeMs } from "./auth-store-ChpmVcla.js";
|
|
56
56
|
import { createRequire } from "node:module";
|
|
57
57
|
import { spawn, spawnSync } from "node:child_process";
|
|
58
58
|
import process$1 from "node:process";
|
|
@@ -4594,7 +4594,7 @@ async function loadModelCatalog(params) {
|
|
|
4594
4594
|
});
|
|
4595
4595
|
try {
|
|
4596
4596
|
await ensureAnimaModelsJson(params?.config ?? loadConfig());
|
|
4597
|
-
await (await import("./pi-auth-json-
|
|
4597
|
+
await (await import("./pi-auth-json-qHO_AF3h.js")).ensurePiAuthJsonFromAuthProfiles(resolveAnimaAgentDir());
|
|
4598
4598
|
const piSdk = await importPiSdk();
|
|
4599
4599
|
const agentDir = resolveAnimaAgentDir();
|
|
4600
4600
|
const { join } = await import("node:path");
|
|
@@ -6706,7 +6706,7 @@ async function createModelSelectionState(params) {
|
|
|
6706
6706
|
}
|
|
6707
6707
|
}
|
|
6708
6708
|
if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
|
|
6709
|
-
const { ensureAuthProfileStore } = await import("./auth-profiles-
|
|
6709
|
+
const { ensureAuthProfileStore } = await import("./auth-profiles-fjGcjhZ4.js").then((n) => n.t);
|
|
6710
6710
|
const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
|
|
6711
6711
|
const providerKey = normalizeProviderId(provider);
|
|
6712
6712
|
if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
|
|
@@ -16028,7 +16028,7 @@ async function routeReply(params) {
|
|
|
16028
16028
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
16029
16029
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
16030
16030
|
try {
|
|
16031
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
16031
|
+
const { deliverOutboundPayloads } = await import("./deliver-D86kSZGn.js").then((n) => n.n);
|
|
16032
16032
|
return {
|
|
16033
16033
|
ok: true,
|
|
16034
16034
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -19714,6 +19714,63 @@ function orderCandidatesByPreference(params) {
|
|
|
19714
19714
|
|
|
19715
19715
|
//#endregion
|
|
19716
19716
|
//#region src/agents/model-fallback.ts
|
|
19717
|
+
const IMPLICIT_CODE_MODEL_FALLBACKS = [{
|
|
19718
|
+
whenProvider: "anthropic",
|
|
19719
|
+
provider: "openai-codex",
|
|
19720
|
+
model: "gpt-5.2-codex"
|
|
19721
|
+
}, {
|
|
19722
|
+
whenProvider: "anthropic",
|
|
19723
|
+
provider: "ollama",
|
|
19724
|
+
model: "qwen3-coder:latest"
|
|
19725
|
+
}];
|
|
19726
|
+
function isLocalBaseUrl(baseUrl) {
|
|
19727
|
+
const raw = baseUrl?.trim();
|
|
19728
|
+
if (!raw) return false;
|
|
19729
|
+
try {
|
|
19730
|
+
const host = new URL(raw).hostname.toLowerCase();
|
|
19731
|
+
return host === "localhost" || host === "127.0.0.1" || host === "0.0.0.0" || host === "::1" || host.endsWith(".local");
|
|
19732
|
+
} catch {
|
|
19733
|
+
return false;
|
|
19734
|
+
}
|
|
19735
|
+
}
|
|
19736
|
+
function isOpenAICompatibleApi(api) {
|
|
19737
|
+
const normalized = api?.trim();
|
|
19738
|
+
return normalized === "openai-completions" || normalized === "openai-responses";
|
|
19739
|
+
}
|
|
19740
|
+
function scoreLocalFallback(params) {
|
|
19741
|
+
const haystack = `${params.provider} ${params.model} ${params.name ?? ""}`.toLowerCase();
|
|
19742
|
+
if (haystack.includes("qwen3") && haystack.includes("coder")) return 100;
|
|
19743
|
+
if (haystack.includes("qwen") && haystack.includes("coder")) return 90;
|
|
19744
|
+
if (haystack.includes("noxsoft-tool-coder")) return 80;
|
|
19745
|
+
if (haystack.includes("tool-coder")) return 70;
|
|
19746
|
+
if (haystack.includes("coder")) return 60;
|
|
19747
|
+
if (haystack.includes("gpt-oss")) return 50;
|
|
19748
|
+
return 10;
|
|
19749
|
+
}
|
|
19750
|
+
function resolveImplicitLocalOpenAIFallbacks(cfg) {
|
|
19751
|
+
const providers = cfg?.models?.providers ?? {};
|
|
19752
|
+
const candidates = [];
|
|
19753
|
+
for (const [provider, entry] of Object.entries(providers)) {
|
|
19754
|
+
if (!isLocalBaseUrl(entry?.baseUrl) || !isOpenAICompatibleApi(entry?.api)) continue;
|
|
19755
|
+
for (const model of entry?.models ?? []) {
|
|
19756
|
+
const id = model?.id?.trim();
|
|
19757
|
+
if (!id) continue;
|
|
19758
|
+
candidates.push({
|
|
19759
|
+
provider,
|
|
19760
|
+
model: id,
|
|
19761
|
+
score: scoreLocalFallback({
|
|
19762
|
+
provider,
|
|
19763
|
+
model: id,
|
|
19764
|
+
name: model?.name
|
|
19765
|
+
})
|
|
19766
|
+
});
|
|
19767
|
+
}
|
|
19768
|
+
}
|
|
19769
|
+
return candidates.toSorted((a, b) => b.score - a.score || a.provider.localeCompare(b.provider) || a.model.localeCompare(b.model)).map(({ provider, model }) => ({
|
|
19770
|
+
provider,
|
|
19771
|
+
model
|
|
19772
|
+
}));
|
|
19773
|
+
}
|
|
19717
19774
|
/**
|
|
19718
19775
|
* Fallback abort check. Only treats explicit AbortError names as user aborts.
|
|
19719
19776
|
* Message-based checks (e.g., "aborted") can mask timeouts and skip fallback.
|
|
@@ -19807,6 +19864,14 @@ function resolveFallbackCandidates(params) {
|
|
|
19807
19864
|
if (!resolved) continue;
|
|
19808
19865
|
addCandidate(resolved.ref, true);
|
|
19809
19866
|
}
|
|
19867
|
+
if (params.fallbacksOverride === void 0) for (const implicit of IMPLICIT_CODE_MODEL_FALLBACKS) {
|
|
19868
|
+
if (normalizedPrimary.provider !== implicit.whenProvider) continue;
|
|
19869
|
+
addCandidate({
|
|
19870
|
+
provider: implicit.provider,
|
|
19871
|
+
model: implicit.model
|
|
19872
|
+
}, false);
|
|
19873
|
+
if (implicit.provider === "openai-codex") for (const localFallback of resolveImplicitLocalOpenAIFallbacks(params.cfg)) addCandidate(localFallback, false);
|
|
19874
|
+
}
|
|
19810
19875
|
if (params.fallbacksOverride === void 0 && primary?.provider && primary.model) addCandidate({
|
|
19811
19876
|
provider: primary.provider,
|
|
19812
19877
|
model: primary.model
|
|
@@ -31042,7 +31107,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
31042
31107
|
return;
|
|
31043
31108
|
}
|
|
31044
31109
|
try {
|
|
31045
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
31110
|
+
const { deliverOutboundPayloads } = await import("./deliver-D86kSZGn.js").then((n) => n.n);
|
|
31046
31111
|
await deliverOutboundPayloads({
|
|
31047
31112
|
cfg: params.cfg,
|
|
31048
31113
|
channel,
|
|
@@ -31603,6 +31668,30 @@ function createTypingController(params) {
|
|
|
31603
31668
|
|
|
31604
31669
|
//#endregion
|
|
31605
31670
|
//#region src/auto-reply/reply/get-reply.ts
|
|
31671
|
+
/** Surfaces that represent real-time conversation (chat, DMs, voice). */
|
|
31672
|
+
const CONVERSATIONAL_CHAT_TYPES = new Set([
|
|
31673
|
+
"private",
|
|
31674
|
+
"group",
|
|
31675
|
+
"supergroup",
|
|
31676
|
+
"channel",
|
|
31677
|
+
"dm",
|
|
31678
|
+
"chat"
|
|
31679
|
+
]);
|
|
31680
|
+
/**
|
|
31681
|
+
* Returns true when the inbound message originates from a real-time
|
|
31682
|
+
* conversational surface (NoxSoft chat, Telegram, WhatsApp, etc.)
|
|
31683
|
+
* rather than a programmatic/execution context (gateway API, heartbeat, CLI).
|
|
31684
|
+
*/
|
|
31685
|
+
function isConversationalChannel(ctx) {
|
|
31686
|
+
if (ctx.CommandSource === "native") return false;
|
|
31687
|
+
const provider = ctx.Provider?.toLowerCase() ?? "";
|
|
31688
|
+
if (provider === "telegram" || provider === "whatsapp" || provider === "noxsoft") return true;
|
|
31689
|
+
const chatType = ctx.ChatType?.toLowerCase() ?? "";
|
|
31690
|
+
if (CONVERSATIONAL_CHAT_TYPES.has(chatType)) return true;
|
|
31691
|
+
const channel = typeof ctx.OriginatingChannel === "string" ? ctx.OriginatingChannel : "";
|
|
31692
|
+
if (channel && channel !== "gateway" && channel !== "cli") return true;
|
|
31693
|
+
return false;
|
|
31694
|
+
}
|
|
31606
31695
|
function mergeSkillFilters(channelFilter, agentFilter) {
|
|
31607
31696
|
const normalize = (list) => {
|
|
31608
31697
|
if (!Array.isArray(list)) return;
|
|
@@ -31651,6 +31740,18 @@ async function getReplyFromConfig(ctx, opts, configOverride) {
|
|
|
31651
31740
|
hasResolvedHeartbeatModelOverride = true;
|
|
31652
31741
|
}
|
|
31653
31742
|
}
|
|
31743
|
+
if (!opts?.isHeartbeat && !hasResolvedHeartbeatModelOverride && isConversationalChannel(ctx)) {
|
|
31744
|
+
const convRaw = agentCfg?.conversationalModel?.trim() ?? "";
|
|
31745
|
+
const convRef = convRaw ? resolveModelRefFromString({
|
|
31746
|
+
raw: convRaw,
|
|
31747
|
+
defaultProvider,
|
|
31748
|
+
aliasIndex
|
|
31749
|
+
}) : null;
|
|
31750
|
+
if (convRef) {
|
|
31751
|
+
provider = convRef.ref.provider;
|
|
31752
|
+
model = convRef.ref.model;
|
|
31753
|
+
}
|
|
31754
|
+
}
|
|
31654
31755
|
const workspaceDir = (await ensureAgentWorkspace({
|
|
31655
31756
|
dir: resolveAgentWorkspaceDir(cfg, agentId) ?? DEFAULT_AGENT_WORKSPACE_DIR,
|
|
31656
31757
|
ensureBootstrapFiles: !agentCfg?.skipBootstrap && !isFastTestEnv
|
|
@@ -32479,7 +32580,7 @@ function createWhatsAppLoginTool() {
|
|
|
32479
32580
|
force: Type.Optional(Type.Boolean())
|
|
32480
32581
|
}),
|
|
32481
32582
|
execute: async (_toolCallId, args) => {
|
|
32482
|
-
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-
|
|
32583
|
+
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-updBsqHf.js");
|
|
32483
32584
|
if ((args?.action ?? "start") === "wait") {
|
|
32484
32585
|
const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
|
|
32485
32586
|
return {
|
|
@@ -32654,23 +32755,23 @@ let webLoginQrPromise = null;
|
|
|
32654
32755
|
let webChannelPromise = null;
|
|
32655
32756
|
let whatsappActionsPromise = null;
|
|
32656
32757
|
function loadWebOutbound() {
|
|
32657
|
-
webOutboundPromise ??= import("./outbound-
|
|
32758
|
+
webOutboundPromise ??= import("./outbound-BpcyR1eA.js").then((n) => n.t);
|
|
32658
32759
|
return webOutboundPromise;
|
|
32659
32760
|
}
|
|
32660
32761
|
function loadWebLogin() {
|
|
32661
|
-
webLoginPromise ??= import("./login-
|
|
32762
|
+
webLoginPromise ??= import("./login-CSaeXIuW.js").then((n) => n.n);
|
|
32662
32763
|
return webLoginPromise;
|
|
32663
32764
|
}
|
|
32664
32765
|
function loadWebLoginQr() {
|
|
32665
|
-
webLoginQrPromise ??= import("./login-qr-
|
|
32766
|
+
webLoginQrPromise ??= import("./login-qr-updBsqHf.js");
|
|
32666
32767
|
return webLoginQrPromise;
|
|
32667
32768
|
}
|
|
32668
32769
|
function loadWebChannel() {
|
|
32669
|
-
webChannelPromise ??= import("./web-
|
|
32770
|
+
webChannelPromise ??= import("./web-Br9HCEvC.js");
|
|
32670
32771
|
return webChannelPromise;
|
|
32671
32772
|
}
|
|
32672
32773
|
function loadWhatsAppActions() {
|
|
32673
|
-
whatsappActionsPromise ??= import("./whatsapp-actions
|
|
32774
|
+
whatsappActionsPromise ??= import("./whatsapp-actions--eONuB4M.js");
|
|
32674
32775
|
return whatsappActionsPromise;
|
|
32675
32776
|
}
|
|
32676
32777
|
function createPluginRuntime() {
|
|
@@ -35039,10 +35140,80 @@ async function runGeminiDirectAgent(params) {
|
|
|
35039
35140
|
};
|
|
35040
35141
|
}
|
|
35041
35142
|
|
|
35143
|
+
//#endregion
|
|
35144
|
+
//#region src/agents/local-model-installer.ts
|
|
35145
|
+
const DEFAULT_LOCAL_OLLAMA_MODEL = "qwen3-coder:latest";
|
|
35146
|
+
const installPromises = /* @__PURE__ */ new Map();
|
|
35147
|
+
function createInstallerError(message, cause) {
|
|
35148
|
+
const err = new Error(message);
|
|
35149
|
+
if (cause !== void 0) err.cause = cause;
|
|
35150
|
+
return err;
|
|
35151
|
+
}
|
|
35152
|
+
async function isOllamaModelInstalled(model = DEFAULT_LOCAL_OLLAMA_MODEL) {
|
|
35153
|
+
try {
|
|
35154
|
+
await runExec("ollama", ["show", model], 1e4);
|
|
35155
|
+
return true;
|
|
35156
|
+
} catch {
|
|
35157
|
+
return false;
|
|
35158
|
+
}
|
|
35159
|
+
}
|
|
35160
|
+
async function ensureLocalOllamaModelInstalled(params) {
|
|
35161
|
+
const model = params?.model?.trim() || DEFAULT_LOCAL_OLLAMA_MODEL;
|
|
35162
|
+
const timeoutMs = params?.timeoutMs ?? 72e5;
|
|
35163
|
+
const runtime = params?.runtime ?? createNonExitingRuntime();
|
|
35164
|
+
const existing = installPromises.get(model);
|
|
35165
|
+
if (existing) return await existing;
|
|
35166
|
+
const promise = (async () => {
|
|
35167
|
+
try {
|
|
35168
|
+
await runExec("ollama", ["list"], 1e4);
|
|
35169
|
+
} catch (error) {
|
|
35170
|
+
throw createInstallerError("Ollama is required but no local Ollama server is reachable. Start Ollama and retry.", error);
|
|
35171
|
+
}
|
|
35172
|
+
if (await isOllamaModelInstalled(model)) return {
|
|
35173
|
+
installed: true,
|
|
35174
|
+
pulled: false
|
|
35175
|
+
};
|
|
35176
|
+
runtime.log(`Installing local model via Ollama: ${model}`);
|
|
35177
|
+
const result = await runCommandWithTimeout([
|
|
35178
|
+
"ollama",
|
|
35179
|
+
"pull",
|
|
35180
|
+
model
|
|
35181
|
+
], { timeoutMs });
|
|
35182
|
+
if (result.code !== 0) {
|
|
35183
|
+
const detail = (result.stderr || result.stdout).trim();
|
|
35184
|
+
throw createInstallerError(`Failed to install local Ollama model "${model}".${detail ? ` ${detail}` : ""}`);
|
|
35185
|
+
}
|
|
35186
|
+
if (!await isOllamaModelInstalled(model)) throw createInstallerError(`Ollama reported success, but model "${model}" is still missing.`);
|
|
35187
|
+
runtime.log(`Local model ready: ${model}`);
|
|
35188
|
+
return {
|
|
35189
|
+
installed: true,
|
|
35190
|
+
pulled: true
|
|
35191
|
+
};
|
|
35192
|
+
})();
|
|
35193
|
+
installPromises.set(model, promise);
|
|
35194
|
+
try {
|
|
35195
|
+
return await promise;
|
|
35196
|
+
} finally {
|
|
35197
|
+
installPromises.delete(model);
|
|
35198
|
+
}
|
|
35199
|
+
}
|
|
35200
|
+
|
|
35042
35201
|
//#endregion
|
|
35043
35202
|
//#region src/agents/openai-direct-runner.ts
|
|
35044
35203
|
const log = createSubsystemLogger("agent/openai-direct");
|
|
35045
35204
|
const DEFAULT_OPENAI_BASE_URL = "https://api.openai.com/v1";
|
|
35205
|
+
const DEFAULT_PROVIDER_BASE_URLS = {
|
|
35206
|
+
openai: DEFAULT_OPENAI_BASE_URL,
|
|
35207
|
+
minimax: "https://api.minimax.io/v1",
|
|
35208
|
+
ollama: "http://127.0.0.1:11434/v1",
|
|
35209
|
+
lmstudio: "http://127.0.0.1:1234/v1"
|
|
35210
|
+
};
|
|
35211
|
+
const PROVIDER_API_KEY_HINTS = {
|
|
35212
|
+
openai: "OPENAI_API_KEY",
|
|
35213
|
+
minimax: "MINIMAX_API_KEY",
|
|
35214
|
+
ollama: "OLLAMA_API_KEY",
|
|
35215
|
+
lmstudio: "LMSTUDIO_API_KEY"
|
|
35216
|
+
};
|
|
35046
35217
|
const MODEL_MAP = {
|
|
35047
35218
|
"gpt-5.4": "gpt-5.4",
|
|
35048
35219
|
"gpt-5.2": "gpt-5.2",
|
|
@@ -35080,6 +35251,10 @@ function resolveModel(model) {
|
|
|
35080
35251
|
const key = (model ?? "default").trim().toLowerCase() || "default";
|
|
35081
35252
|
return MODEL_MAP[key] ?? key;
|
|
35082
35253
|
}
|
|
35254
|
+
function isToolUnsupportedError(body) {
|
|
35255
|
+
const normalized = body.toLowerCase();
|
|
35256
|
+
return normalized.includes("does not support tools") || normalized.includes("tool is not supported");
|
|
35257
|
+
}
|
|
35083
35258
|
/**
|
|
35084
35259
|
* Clean a JSON Schema for OpenAI's function calling.
|
|
35085
35260
|
* OpenAI is stricter than most — no unsupported keywords.
|
|
@@ -35106,8 +35281,10 @@ function cleanSchemaForOpenAI(schema) {
|
|
|
35106
35281
|
*/
|
|
35107
35282
|
async function runOpenAIDirectAgent(params) {
|
|
35108
35283
|
const started = Date.now();
|
|
35284
|
+
const provider = (params.provider ?? "openai").trim() || "openai";
|
|
35109
35285
|
const resolvedModel = resolveModel(params.model);
|
|
35110
|
-
|
|
35286
|
+
if (provider === "ollama" && resolvedModel === DEFAULT_LOCAL_OLLAMA_MODEL) await ensureLocalOllamaModelInstalled({ model: resolvedModel });
|
|
35287
|
+
log.info(`direct api exec: provider=${provider} model=${resolvedModel} promptChars=${params.prompt.length}`);
|
|
35111
35288
|
const workspaceDir = resolveRunWorkspaceDir({
|
|
35112
35289
|
workspaceDir: params.workspaceDir,
|
|
35113
35290
|
sessionKey: params.sessionKey,
|
|
@@ -35118,7 +35295,7 @@ async function runOpenAIDirectAgent(params) {
|
|
|
35118
35295
|
config: params.config,
|
|
35119
35296
|
workspaceDir,
|
|
35120
35297
|
sessionKey: params.sessionKey,
|
|
35121
|
-
modelProvider:
|
|
35298
|
+
modelProvider: provider,
|
|
35122
35299
|
modelId: resolvedModel
|
|
35123
35300
|
});
|
|
35124
35301
|
const openaiTools = executableTools.map((t) => ({
|
|
@@ -35164,7 +35341,7 @@ async function runOpenAIDirectAgent(params) {
|
|
|
35164
35341
|
docsPath: docsPath ?? void 0,
|
|
35165
35342
|
tools: executableTools,
|
|
35166
35343
|
contextFiles,
|
|
35167
|
-
modelDisplay:
|
|
35344
|
+
modelDisplay: `${provider}/${resolvedModel}`,
|
|
35168
35345
|
agentId: sessionAgentId
|
|
35169
35346
|
});
|
|
35170
35347
|
let history = await loadSessionHistory(params.sessionFile);
|
|
@@ -35188,7 +35365,8 @@ async function runOpenAIDirectAgent(params) {
|
|
|
35188
35365
|
let isDone = false;
|
|
35189
35366
|
let loopCount = 0;
|
|
35190
35367
|
const maxLoops = 20;
|
|
35191
|
-
|
|
35368
|
+
let toolUseEnabled = openaiTools.length > 0;
|
|
35369
|
+
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;
|
|
35192
35370
|
while (!isDone && loopCount < maxLoops) {
|
|
35193
35371
|
loopCount++;
|
|
35194
35372
|
const requestBody = {
|
|
@@ -35198,7 +35376,7 @@ async function runOpenAIDirectAgent(params) {
|
|
|
35198
35376
|
temperature: 1,
|
|
35199
35377
|
stream: true
|
|
35200
35378
|
};
|
|
35201
|
-
if (openaiTools.length > 0) {
|
|
35379
|
+
if (toolUseEnabled && openaiTools.length > 0) {
|
|
35202
35380
|
requestBody.tools = openaiTools;
|
|
35203
35381
|
requestBody.tool_choice = "auto";
|
|
35204
35382
|
}
|
|
@@ -35210,8 +35388,8 @@ async function runOpenAIDirectAgent(params) {
|
|
|
35210
35388
|
method: "POST",
|
|
35211
35389
|
headers: {
|
|
35212
35390
|
"Content-Type": "application/json",
|
|
35213
|
-
|
|
35214
|
-
|
|
35391
|
+
"User-Agent": `anima/7.0.0 (openai-direct-runner; ${os.platform()})`,
|
|
35392
|
+
...params.apiKey?.trim() ? { Authorization: `Bearer ${params.apiKey}` } : {}
|
|
35215
35393
|
},
|
|
35216
35394
|
body: JSON.stringify(requestBody),
|
|
35217
35395
|
signal: controller.signal
|
|
@@ -35219,11 +35397,20 @@ async function runOpenAIDirectAgent(params) {
|
|
|
35219
35397
|
clearTimeout(timeoutHandle);
|
|
35220
35398
|
if (!response.ok) {
|
|
35221
35399
|
const body = await response.text().catch(() => "");
|
|
35400
|
+
if (response.status === 400 && toolUseEnabled && isToolUnsupportedError(body)) {
|
|
35401
|
+
log.warn("openai-compatible provider rejected tools; retrying without tools", {
|
|
35402
|
+
provider,
|
|
35403
|
+
model: resolvedModel
|
|
35404
|
+
});
|
|
35405
|
+
toolUseEnabled = false;
|
|
35406
|
+
continue;
|
|
35407
|
+
}
|
|
35222
35408
|
const isAuth = response.status === 401 || response.status === 403;
|
|
35223
35409
|
const isRateLimit = response.status === 429;
|
|
35224
35410
|
const rateHint = isRateLimit ? " — rate limit hit, will retry next heartbeat." : "";
|
|
35225
|
-
const
|
|
35226
|
-
|
|
35411
|
+
const apiKeyHint = PROVIDER_API_KEY_HINTS[provider] ?? "API key";
|
|
35412
|
+
const authHint = isAuth ? ` — API key may be invalid. Check ${apiKeyHint}.` : "";
|
|
35413
|
+
log.error(`${provider} api error: HTTP ${response.status}${authHint}${rateHint}`, {
|
|
35227
35414
|
status: response.status,
|
|
35228
35415
|
body: body.slice(0, 500)
|
|
35229
35416
|
});
|
|
@@ -35351,7 +35538,8 @@ async function runOpenAIDirectAgent(params) {
|
|
|
35351
35538
|
log.info(`openai api complete: ${durationMs}ms`, {
|
|
35352
35539
|
inputTokens: totalInputTokens,
|
|
35353
35540
|
outputTokens: totalOutputTokens,
|
|
35354
|
-
model: resolvedModel
|
|
35541
|
+
model: resolvedModel,
|
|
35542
|
+
provider
|
|
35355
35543
|
});
|
|
35356
35544
|
return {
|
|
35357
35545
|
status: "completed",
|
|
@@ -35361,7 +35549,7 @@ async function runOpenAIDirectAgent(params) {
|
|
|
35361
35549
|
durationMs,
|
|
35362
35550
|
agentMeta: {
|
|
35363
35551
|
model: resolvedModel,
|
|
35364
|
-
provider
|
|
35552
|
+
provider,
|
|
35365
35553
|
usage: {
|
|
35366
35554
|
input: totalInputTokens,
|
|
35367
35555
|
output: totalOutputTokens
|
|
@@ -35393,10 +35581,22 @@ async function emitAgentEvent(params, stream, data) {
|
|
|
35393
35581
|
data
|
|
35394
35582
|
});
|
|
35395
35583
|
}
|
|
35584
|
+
function resolveProviderConfig(provider, config) {
|
|
35585
|
+
const providers = config?.models?.providers ?? {};
|
|
35586
|
+
const direct = providers[provider];
|
|
35587
|
+
if (direct) return direct;
|
|
35588
|
+
const normalized = normalizeProviderId(provider);
|
|
35589
|
+
return Object.entries(providers).find(([key]) => normalizeProviderId(key) === normalized)?.[1];
|
|
35590
|
+
}
|
|
35591
|
+
function isOpenAICompatibleProviderConfig(entry) {
|
|
35592
|
+
const api = entry?.api?.trim();
|
|
35593
|
+
return api === "openai-completions" || api === "openai-responses";
|
|
35594
|
+
}
|
|
35396
35595
|
function resolveDirectAuthProvider(provider) {
|
|
35397
35596
|
if (provider === "anthropic" || provider === "claude") return "anthropic";
|
|
35398
35597
|
if (provider === "google" || provider === "gemini") return "google";
|
|
35399
35598
|
if (provider === "openai") return "openai";
|
|
35599
|
+
if (provider === "minimax") return "minimax";
|
|
35400
35600
|
return null;
|
|
35401
35601
|
}
|
|
35402
35602
|
function resolveProfileFailureReason(result) {
|
|
@@ -35488,7 +35688,7 @@ async function runDirectWithProfileFallback(params) {
|
|
|
35488
35688
|
let lastResult = null;
|
|
35489
35689
|
for (;;) {
|
|
35490
35690
|
const auth = await resolveDirectProviderAuth({
|
|
35491
|
-
provider: params.
|
|
35691
|
+
provider: params.authProvider,
|
|
35492
35692
|
config: params.config,
|
|
35493
35693
|
agentDir: params.agentDir,
|
|
35494
35694
|
preferredProfile,
|
|
@@ -35500,7 +35700,7 @@ async function runDirectWithProfileFallback(params) {
|
|
|
35500
35700
|
meta: {
|
|
35501
35701
|
durationMs: 0,
|
|
35502
35702
|
error: {
|
|
35503
|
-
message: `Auth fallback loop detected for ${params.
|
|
35703
|
+
message: `Auth fallback loop detected for ${params.authProvider}.`,
|
|
35504
35704
|
kind: "unknown"
|
|
35505
35705
|
}
|
|
35506
35706
|
}
|
|
@@ -35523,11 +35723,12 @@ async function runDirectWithProfileFallback(params) {
|
|
|
35523
35723
|
onPartialReply: params.emitPartial,
|
|
35524
35724
|
onAssistantMessageStart: params.onAssistantMessageStart
|
|
35525
35725
|
};
|
|
35526
|
-
const result = params.
|
|
35726
|
+
const result = params.runnerKind === "anthropic" ? await runAnthropicDirectAgent({
|
|
35527
35727
|
...directRunParams,
|
|
35528
35728
|
token: auth.apiKey ?? ""
|
|
35529
|
-
}) : params.
|
|
35729
|
+
}) : params.runnerKind === "openai-compatible" ? await runOpenAIDirectAgent({
|
|
35530
35730
|
...directRunParams,
|
|
35731
|
+
provider: params.openAIProvider ?? params.authProvider,
|
|
35531
35732
|
apiKey: auth.apiKey ?? ""
|
|
35532
35733
|
}) : await runGeminiDirectAgent({
|
|
35533
35734
|
...directRunParams,
|
|
@@ -35542,7 +35743,7 @@ async function runDirectWithProfileFallback(params) {
|
|
|
35542
35743
|
});
|
|
35543
35744
|
await markAuthProfileGood({
|
|
35544
35745
|
store,
|
|
35545
|
-
provider: params.
|
|
35746
|
+
provider: params.authProvider,
|
|
35546
35747
|
profileId: auth.profileId,
|
|
35547
35748
|
agentDir: params.agentDir
|
|
35548
35749
|
});
|
|
@@ -35564,22 +35765,32 @@ async function runDirectWithProfileFallback(params) {
|
|
|
35564
35765
|
}
|
|
35565
35766
|
async function resolveDirectStrategy(provider, config, agentDir) {
|
|
35566
35767
|
const directProvider = resolveDirectAuthProvider(provider);
|
|
35567
|
-
if (
|
|
35568
|
-
try {
|
|
35768
|
+
if (directProvider) try {
|
|
35569
35769
|
const auth = await resolveDirectProviderAuth({
|
|
35570
35770
|
provider: directProvider,
|
|
35571
35771
|
config,
|
|
35572
35772
|
agentDir,
|
|
35573
35773
|
store: ensureAuthProfileStore(agentDir, { allowKeychainPrompt: false })
|
|
35574
35774
|
});
|
|
35575
|
-
if (auth.apiKey) {
|
|
35775
|
+
if (auth.apiKey !== void 0) {
|
|
35576
35776
|
if (directProvider === "anthropic" && auth.apiKey.startsWith("sk-ant-oat01-")) return null;
|
|
35577
35777
|
return {
|
|
35578
|
-
kind: directProvider === "google" ? "gemini-direct" : directProvider === "openai" ? "openai-direct" : "anthropic-direct",
|
|
35778
|
+
kind: directProvider === "google" ? "gemini-direct" : directProvider === "openai" || directProvider === "minimax" ? "openai-direct" : "anthropic-direct",
|
|
35579
35779
|
provider
|
|
35580
35780
|
};
|
|
35581
35781
|
}
|
|
35582
35782
|
} catch {}
|
|
35783
|
+
if (isOpenAICompatibleProviderConfig(resolveProviderConfig(provider, config))) try {
|
|
35784
|
+
if ((await resolveApiKeyForProvider({
|
|
35785
|
+
provider,
|
|
35786
|
+
cfg: config,
|
|
35787
|
+
agentDir,
|
|
35788
|
+
store: ensureAuthProfileStore(agentDir, { allowKeychainPrompt: false })
|
|
35789
|
+
})).apiKey !== void 0) return {
|
|
35790
|
+
kind: "openai-direct",
|
|
35791
|
+
provider
|
|
35792
|
+
};
|
|
35793
|
+
} catch {}
|
|
35583
35794
|
return null;
|
|
35584
35795
|
}
|
|
35585
35796
|
async function resolveNoxSoftRunnerStrategy(params) {
|
|
@@ -35610,11 +35821,33 @@ async function runNoxSoftEmbeddedAgent(params) {
|
|
|
35610
35821
|
await params.onPartialReply?.(payload);
|
|
35611
35822
|
await emitAgentEvent(params, "assistant", { text: payload.text });
|
|
35612
35823
|
};
|
|
35613
|
-
|
|
35614
|
-
|
|
35615
|
-
|
|
35616
|
-
|
|
35617
|
-
|
|
35824
|
+
let strategy;
|
|
35825
|
+
try {
|
|
35826
|
+
strategy = await resolveNoxSoftRunnerStrategy({
|
|
35827
|
+
provider: params.provider,
|
|
35828
|
+
config: params.config,
|
|
35829
|
+
agentDir: params.agentDir
|
|
35830
|
+
});
|
|
35831
|
+
} catch (error) {
|
|
35832
|
+
const requestedProvider = normalizedRequestedRef?.provider ?? provider;
|
|
35833
|
+
const requestedModel = normalizedRequestedRef?.model;
|
|
35834
|
+
const failover = coerceToFailoverError(error, {
|
|
35835
|
+
provider: requestedProvider,
|
|
35836
|
+
model: requestedModel
|
|
35837
|
+
}) ?? new FailoverError(error instanceof Error ? error.message : String(error), {
|
|
35838
|
+
reason: classifyFailoverReason(error instanceof Error ? error.message : String(error)) ?? "unknown",
|
|
35839
|
+
provider: requestedProvider,
|
|
35840
|
+
model: requestedModel,
|
|
35841
|
+
cause: error instanceof Error ? error : void 0
|
|
35842
|
+
});
|
|
35843
|
+
await emitAgentEvent(params, "lifecycle", {
|
|
35844
|
+
phase: "error",
|
|
35845
|
+
startedAt,
|
|
35846
|
+
endedAt: Date.now(),
|
|
35847
|
+
error: failover.message
|
|
35848
|
+
});
|
|
35849
|
+
throw failover;
|
|
35850
|
+
}
|
|
35618
35851
|
if (strategy.kind === "anthropic-direct") {
|
|
35619
35852
|
await emitAgentEvent(params, "lifecycle", {
|
|
35620
35853
|
phase: "start",
|
|
@@ -35624,7 +35857,8 @@ async function runNoxSoftEmbeddedAgent(params) {
|
|
|
35624
35857
|
const result = normalizeRunnerResult({
|
|
35625
35858
|
result: await runDirectWithProfileFallback({
|
|
35626
35859
|
...params,
|
|
35627
|
-
|
|
35860
|
+
authProvider: "anthropic",
|
|
35861
|
+
runnerKind: "anthropic",
|
|
35628
35862
|
timeoutMs,
|
|
35629
35863
|
runId,
|
|
35630
35864
|
emitPartial
|
|
@@ -35671,7 +35905,8 @@ async function runNoxSoftEmbeddedAgent(params) {
|
|
|
35671
35905
|
const result = normalizeRunnerResult({
|
|
35672
35906
|
result: await runDirectWithProfileFallback({
|
|
35673
35907
|
...params,
|
|
35674
|
-
|
|
35908
|
+
authProvider: "google",
|
|
35909
|
+
runnerKind: "google",
|
|
35675
35910
|
timeoutMs,
|
|
35676
35911
|
runId,
|
|
35677
35912
|
emitPartial
|
|
@@ -35718,7 +35953,9 @@ async function runNoxSoftEmbeddedAgent(params) {
|
|
|
35718
35953
|
const result = normalizeRunnerResult({
|
|
35719
35954
|
result: await runDirectWithProfileFallback({
|
|
35720
35955
|
...params,
|
|
35721
|
-
|
|
35956
|
+
authProvider: provider === "minimax" ? "minimax" : provider === "openai" ? "openai" : provider,
|
|
35957
|
+
runnerKind: "openai-compatible",
|
|
35958
|
+
openAIProvider: provider,
|
|
35722
35959
|
timeoutMs,
|
|
35723
35960
|
runId,
|
|
35724
35961
|
emitPartial
|
|
@@ -36963,4 +37200,4 @@ function initSubagentRegistry() {
|
|
|
36963
37200
|
}
|
|
36964
37201
|
|
|
36965
37202
|
//#endregion
|
|
36966
|
-
export {
|
|
37203
|
+
export { stripEnvelopeFromMessages as $, DEFAULT_INPUT_TIMEOUT_MS as $n, parseActivationCommand as $t, getActiveTaskCount as A, verifyPairingToken as An, onAgentEvent as Ar, normalizeRequiredName as At, listAgentsForGateway as B, peekSystemEvents as Bn, extractShortModelName as Bt, createReplyDispatcher as C, listNodePairing as Cn, resolveIdentityName as Cr, writeRestartSentinel as Ct, BARE_SESSION_RESET_PROMPT as D, updatePairedNodeMetadata as Dn, clearAgentRunContext as Dr, normalizeOptionalAgentId as Dt, getReplyFromConfig as E, requestNodePairing as En, describeFailoverError as Er, inferLegacyName as Et, waitForActiveTasks as F, applyVerboseOverride as Fn, detectSuspiciousPatterns as Ft, resolveGatewaySessionStoreTarget as G, DEFAULT_INPUT_FILE_MAX_CHARS as Gn, deferGatewayRestartUntilIdle as Gt, loadCombinedSessionStoreForGateway as H, installUnhandledRejectionHandler as Hn, AGENT_LANE_SUBAGENT as Ht, createAnimaTools as I, parseVerboseOverride as In, getHookType as It, archiveSessionTranscripts as J, DEFAULT_INPUT_IMAGE_MIMES as Jn, markGatewaySigusr1RestartHandled as Jt, resolveSessionModelRef as K, DEFAULT_INPUT_FILE_MIMES as Kn, emitGatewayRestart as Kt, readLatestAssistantReply as L, enqueueSystemEvent as Ln, isExternalHookSession as Lt, getTotalQueueSize as M, registerSkillsChangeListener as Mn, CHANNEL_TARGETS_DESCRIPTION as Mt, resetAllLanes as N, clearSessionAuthProfileOverride as Nn, CHANNEL_TARGET_DESCRIPTION as Nt, getCliSessionId as O, verifyNodeToken as On, emitAgentEvent$1 as Or, normalizeOptionalText as Ot, setCommandLaneConcurrency as P, applyModelOverrideToSessionEntry as Pn, buildSafeExternalPrompt as Pt, resolveSessionTranscriptCandidates as Q, DEFAULT_INPUT_PDF_MIN_TEXT_CHARS as Qn, normalizeGroupActivation as Qt, resolveAnnounceTargetFromKey as R, isSystemEventContextChanged as Rn, applyBrowserProxyPaths as Rt, dispatchInboundMessage as S, approveNodePairing as Sn, resolveEffectiveMessagesConfig as Sr, trimLogTail as St, createDedupeCache as T, renamePairedNode as Tn, resolveMessagePrefix as Tr, normalizeCronJobPatch as Tt, loadSessionEntry as U, registerUnhandledRejectionHandler as Un, CommandLane as Ut, listSessionsFromStore as V, loadModelCatalog as Vn, AGENT_LANE_NESTED as Vt, pruneLegacyStoreKeys as W, DEFAULT_INPUT_FILE_MAX_BYTES as Wn, consumeGatewaySigusr1RestartAuthorization as Wt, readSessionMessages as X, DEFAULT_INPUT_PDF_MAX_PAGES as Xn, setGatewaySigusr1RestartPolicy as Xt, capArrayByJsonBytes as Y, DEFAULT_INPUT_MAX_REDIRECTS as Yn, scheduleGatewaySigusr1Restart as Yt, readSessionPreviewItemsFromTranscript as Z, DEFAULT_INPUT_PDF_MAX_PIXELS as Zn, setPreRestartDeferralCheck as Zt, buildPairingReply as _, recordRemoteNodeInfo as _n, stopSubagentsForRequester as _r, consumeRestartSentinel as _t, runSubagentAnnounceFlow as a, formatUsageWindowSummary as an, resolveAgentTimeoutMs as ar, buildChannelAccountBindings as at, shouldAckReactionForWhatsApp as b, removeRemoteNodeInfo as bn, normalizeMentionText as br, readRestartSentinel as bt, waitForEmbeddedPiRunEnd as c, buildChannelAccountSnapshot as cn, isDiagnosticsEnabled as cr, resolveHeartbeatSenderContext as ct, ensureLocalOllamaModelInstalled as d, requestHeartbeatNow as dn, formatInboundEnvelope as dr, formatTargetDisplay as dt, loadProviderUsageSummary as en, extractFileContentFromSource as er, runMessageAction as et, applyToolPolicyPipeline as f, setHeartbeatWakeHandler as fn, resolveEnvelopeFormatOptions as fr, resetDirectoryCache as ft, loadAnimaPlugins as g, primeRemoteSkillsCache as gn, isAbortTrigger as gr, resolveWorkingModeModelSelection as gt, getPluginToolMeta as h, getRemoteSkillEligibility as hn, shouldComputeCommandAuthorized as hr, runWithModelFallback as ht, subagent_registry_exports as i, formatUsageReportLines as in, finalizeInboundContext as ir, resolveAgentRoute as it, getQueueSize as j, getSkillsSnapshotVersion as jn, registerAgentRunContext as jr, migrateLegacyCronPayload as jt, setCliSessionId as k, generatePairingToken as kn, getAgentRunContext as kr, normalizePayloadToSystemText as kt, runNoxSoftEmbeddedAgent as l, formatChannelAllowFrom as ln, createInboundDebouncer as lr, resolveOutboundTarget as lt, sniffMimeFromBase64 as m, resolveSendPolicy as mn, hasControlCommand as mr, CHANNEL_MESSAGE_ACTION_NAMES as mt, initSubagentRegistry as n, maskApiKey as nn, normalizeMimeList as nr, resolveOutboundSessionRoute as nt, clearSessionQueues as o, resolveUsageProviderId as on, startDiagnosticHeartbeat as or, resolvePreferredAccountId as ot, buildDefaultToolPolicyPipelineSteps as p, normalizeSendPolicy as pn, formatZonedTimestamp as pr, resolveMessageChannelSelection as pt, archiveFileOnDisk as q, DEFAULT_INPUT_IMAGE_MAX_BYTES as qn, isGatewaySigusr1RestartExternallyAllowed as qt, listDescendantRunsForRequester as r, saveProviderStore as rn, estimateBase64DecodedBytes as rr, buildAgentSessionKey as rt, abortEmbeddedPiRun as s, buildChannelSummary as sn, stopDiagnosticHeartbeat as sr, resolveHeartbeatDeliveryTarget as st, countActiveDescendantRuns as t, loadProviderStore as tn, extractImageContentFromSource as tr, ensureOutboundSessionEntry as tt, DEFAULT_LOCAL_OLLAMA_MODEL as u, resolveCommitHash as un, resolveInboundDebounceMs as ur, resolveSessionDeliveryTarget as ut, getChannelActivity as v, refreshRemoteBinsForConnectedNodes as vn, CURRENT_MESSAGE_MARKER as vr, formatDoctorNonInteractiveHint as vt, getTotalPendingReplies as w, rejectNodePairing as wn, resolveIdentityNamePrefix as wr, normalizeCronJobCreate as wt, dispatchReplyWithBufferedBlockDispatcher as x, setSkillsRemoteRegistry as xn, resolveAgentIdentity as xr, summarizeRestartSentinel as xt, recordChannelActivity as y, refreshRemoteNodeBins as yn, buildMentionRegexes as yr, formatRestartSentinelMessage as yt, canonicalizeSpawnedByForAgent as z, peekSystemEventEntries as zn, persistBrowserProxyFiles as zt };
|