@noxsoft/anima 5.1.2 → 6.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +40 -0
- package/README.md +2 -2
- package/dist/{APEv2Parser-DV7AH14P.js → APEv2Parser-Dvsbp_2R.js} +3 -3
- package/dist/{AbstractID3Parser-C3RlCr-Y.js → AbstractID3Parser-IB9gxozg.js} +5 -5
- package/dist/{AiffParser-DaFyNU8n.js → AiffParser-R2IhrBzL.js} +4 -4
- package/dist/{AsfParser-CDCRfCXr.js → AsfParser-DJEueUMg.js} +4 -4
- package/dist/{DsdiffParser-BX31LICZ.js → DsdiffParser-DXLYn9tT.js} +4 -4
- package/dist/{DsfParser-C3JBjE-C.js → DsfParser-D2--NF0i.js} +5 -5
- package/dist/{FlacParser-DY4m-7v1.js → FlacParser-8cDAjrth.js} +5 -5
- package/dist/{ID3v1Parser-DL9AGlNt.js → ID3v1Parser-B494XuP9.js} +3 -3
- package/dist/{ID3v2Parser-Mr8o-5GJ.js → ID3v2Parser-DlxcNqv5.js} +4 -4
- package/dist/{ID3v2Token-DQqGh8AB.js → ID3v2Token-CSLSVrSQ.js} +2 -2
- package/dist/{MP4Parser-DkunlEqI.js → MP4Parser-COql2J-w.js} +6 -6
- package/dist/{MatroskaParser-IKjHx0h7.js → MatroskaParser-bNP5wC2F.js} +3 -3
- package/dist/{MpegParser-EecSeRWJ.js → MpegParser-C1gjfYqq.js} +4 -4
- package/dist/{MusepackParser-CkfsAeuE.js → MusepackParser-DBdYf7kV.js} +5 -5
- package/dist/{OggParser-z3QlSd8U.js → OggParser-CxajqbK3.js} +5 -5
- package/dist/{Util-DDVY6AaC.js → Util-BRZxoY1Q.js} +1 -1
- package/dist/{WavPackParser-PimUUBRx.js → WavPackParser-CtH9QFia.js} +4 -4
- package/dist/{WaveParser-B539YtoQ.js → WaveParser-yufLki1G.js} +5 -5
- package/dist/{accounts-CL0JV_xk.js → accounts-B_2nt5Cd.js} +2 -2
- package/dist/{accounts-CYEa4ttU.js → accounts-COxGcLGB.js} +1 -1
- package/dist/{accounts-Bj5MvaDs.js → accounts-DIES085e.js} +11 -11
- package/dist/{accounts-DZsqyow2.js → accounts-TUsfghIW.js} +38 -38
- package/dist/{acp-cli-ynoZZhYQ.js → acp-cli-CWgqDQQH.js} +6 -6
- package/dist/{acp-cli-BFAoKBvs.js → acp-cli-D0wfP8-l.js} +16 -16
- package/dist/{active-listener-BWPgtTZp.js → active-listener-BKtsWhsb.js} +4 -4
- package/dist/{active-listener-GJR3nLhX.js → active-listener-D2r8IO7g.js} +5 -5
- package/dist/{agent-DUAarfNl.js → agent-CnS0SRpT.js} +93 -236
- package/dist/{agent-CaaEZsXl.js → agent-VRQM14Xp.js} +98 -229
- package/dist/{agent-scope-C9CiVcmh.js → agent-scope-ByIGrCTT.js} +2 -2
- package/dist/{agent-scope-D3HZp64M.js → agent-scope-CXxC8FFX.js} +2 -2
- package/dist/{agent-scope-BZ8hjIt_.js → agent-scope-CxBzAozu.js} +3 -3
- package/dist/{agents-t54YcbvK.js → agents-CvMRplDx.js} +15 -13
- package/dist/{agents.config-J7iEgdW_.js → agents.config-BR5JLtud.js} +1 -1
- package/dist/{anthropic-direct-runner-B12V2Q5H.js → anthropic-direct-runner-BeYCnvZ8.js} +37 -15
- package/dist/{anthropic-direct-runner-CzQb7QkD.js → anthropic-direct-runner-C2Kwju-r.js} +29 -7
- package/dist/{audit-ByHmjh-G.js → audit-B05W5ckN.js} +23 -34
- package/dist/{audit-HJOpXfgY.js → audit-DDz7UOIx.js} +18 -15
- package/dist/{auth-DXrALxdm.js → auth-DsC5pZ_0.js} +2 -2
- package/dist/{prompts-CneQ6SeF.js → auth-choice-DY1saszS.js} +12 -107
- package/dist/{auth-choice-DPWnLV_w.js → auth-choice-Dc5TAJwT.js} +10 -9
- package/dist/{auth-health-DmrnGklu.js → auth-health-Cc8-vy8y.js} +1 -1
- package/dist/auth-health-Dhr8p2SD.js +149 -0
- package/dist/{auth-profiles-BF5x9Ej0.js → auth-profiles-Brxz2ojJ.js} +193 -42
- package/dist/{auth-profiles-DjCH4kWT.js → auth-profiles-C-LuhW6c.js} +195 -44
- package/dist/{auth-profiles-PJVsRqf4.js → auth-profiles-DKu7ZUzl.js} +189 -29
- package/dist/{auth-profiles-eZzmaeR3.js → auth-profiles-DtWUl1-k.js} +198 -38
- package/dist/{auth-store-CnRrUELz.js → auth-store-Bd0GoqEL.js} +13 -13
- package/dist/{auth-store-KnWGteIV.js → auth-store-BpYI9t_y.js} +3 -3
- package/dist/{auth-store-DjcQlyze.js → auth-store-Jvgz2_l1.js} +2 -2
- package/dist/{banner-D9JyV5SF.js → banner-DAMtSjUF.js} +1 -1
- package/dist/{bonjour-discovery-QsoaZ8Pr.js → bonjour-discovery-Co-b97Dz.js} +2 -2
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +222 -151
- package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
- package/dist/bundled/command-logger/handler.js +1 -1
- package/dist/bundled/session-memory/handler.js +24 -24
- package/dist/{call-DHZ76BNg.js → call-B4lhqS6H.js} +3 -3
- package/dist/{call-DQjoz63V.js → call-CDPbPDAr.js} +4 -4
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/canvas-host/a2ui/a2ui.bundle.js +18967 -16484
- package/dist/{catalog-AZNRamJ4.js → catalog-CsXv59Tq.js} +2 -2
- package/dist/{channel-web-CQIbtfme.js → channel-web-B8mzTSaY.js} +15 -15
- package/dist/{channels-status-issues-DdjvFHx9.js → channels-status-issues-WkG3Tmxk.js} +4 -4
- package/dist/{chrome-HTuFjVWW.js → chrome-B8EnYGj1.js} +9 -9
- package/dist/{chrome-BNggURXT.js → chrome-BaU-H9m7.js} +3 -3
- package/dist/{chrome-Cfak4A3i.js → chrome-DLUBPBPz.js} +12 -12
- package/dist/{chunk-CyT-_QsQ.js → chunk-B4Kx-ocg.js} +11 -9
- package/dist/{chunk-Dffz_QIs.js → chunk-CFSle8n5.js} +1 -1
- package/dist/{chunk-D3vyM2EQ.js → chunk-Cy0Bj0F3.js} +1 -1
- package/dist/{chunk-DFqo_u5A.js → chunk-DJXDX69U.js} +11 -9
- package/dist/{clack-prompter-QbDK4ABC.js → clack-prompter-0JW5kry0.js} +3 -3
- package/dist/{clack-prompter-rXuqdPbx.js → clack-prompter-fZSmnHda.js} +5 -5
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-kT9Mb3dT.js → cli-D8exVpuI.js} +30 -29
- package/dist/cli-hcHk5KuP.js +102 -0
- package/dist/{cli-utils-BdkJVXjy.js → cli-utils-D2X_bDLt.js} +9 -1
- package/dist/{cli-utils-DGnL8raH.js → cli-utils-DcDBK4C5.js} +9 -1
- package/dist/{client-D9E5Wwb_.js → client-BWkoTfOH.js} +3 -2
- package/dist/{client-DzIcZx4J.js → client-CfLiulzK.js} +2 -1
- package/dist/{command-registry-vEVxxxzI.js → command-registry-D3VhxpWx.js} +21 -12
- package/dist/{commands-NIY0IDXe.js → commands-DE8FNH0v.js} +92 -20
- package/dist/{commands-eY0Ao0wt.js → commands-Mekaw9WG.js} +92 -20
- package/dist/{common-C2wAYEWA.js → common-BCW6hLGI.js} +2 -2
- package/dist/{common-BzPvZcxT.js → common-Bf_TG87Y.js} +2 -2
- package/dist/{common-6Fcbzr42.js → common-DT_obM-k.js} +2 -2
- package/dist/{completion-cli-BBKG6buM.js → completion-cli-B3BqQJq9.js} +3 -3
- package/dist/{completion-cli-C84I5l8a.js → completion-cli-CepDzeW1.js} +2 -2
- package/dist/{config-Ofh9gKvs.js → config-BrVuTQ8R.js} +14 -2
- package/dist/{config-6FVC8hW0.js → config-CweTwOtr.js} +40 -28
- package/dist/{config-DqwH4y-D.js → config-DaD4FsAn.js} +19 -7
- package/dist/{config-D2kCn7yR.js → config-ZYN8tezd.js} +18 -6
- package/dist/{config-cli-CQzq5yWB.js → config-cli-3CaIxSKo.js} +4 -4
- package/dist/config-cli-B6Np85rk.js +15 -0
- package/dist/{config-guard-B1plY6aQ.js → config-guard-C4b2dksv.js} +2 -2
- package/dist/{config-guard-CYlpjNN7.js → config-guard-CWhoBtB3.js} +20 -20
- package/dist/{config-sync-CYX9Tzyr.js → config-sync-CCVp-tVX.js} +2 -2
- package/dist/{config-sync-CDUhjDom.js → config-sync-CMO_5lyl.js} +2 -2
- package/dist/{configure-G6h2Ppk0.js → configure-D882Bg7c.js} +39 -15
- package/dist/{configure-Bv6mqD0j.js → configure-D88dg6mE.js} +79 -77
- package/dist/{configure-DxQqSUJs.js → configure-xpjwedvJ.js} +50 -49
- package/dist/{configure-B-dfdPKX.js → configure-zXK6UZ51.js} +49 -24
- package/dist/{context-CpsnZLOp.js → context-B5X720Bs.js} +1 -1
- package/dist/{control-service-D1oxSXVg.js → control-service-3CI4vt1h.js} +2 -2
- package/dist/{control-service-CzAfyR4e.js → control-service-5YtMvm7D.js} +5 -5
- package/dist/control-ui/assets/index-Bwcvc7fq.css +1 -0
- package/dist/control-ui/assets/index-CBUvF5Mp.js +72 -0
- package/dist/control-ui/assets/index-CBUvF5Mp.js.map +1 -0
- package/dist/control-ui/assets/index-D7Bf6Say.js +3 -0
- package/dist/control-ui/assets/index-D7Bf6Say.js.map +1 -0
- package/dist/control-ui/assets/index-DVpMpG5G.js +2 -0
- package/dist/control-ui/assets/index-DVpMpG5G.js.map +1 -0
- package/dist/control-ui/assets/observers-CxfWf9RO.js +2 -0
- package/dist/control-ui/assets/observers-CxfWf9RO.js.map +1 -0
- package/dist/control-ui/assets/rrweb-plugin-console-record-sPdhR0i8.js +138 -0
- package/dist/control-ui/assets/rrweb-plugin-console-record-sPdhR0i8.js.map +1 -0
- package/dist/control-ui/assets/rrweb-record-CMVXB7aO.js +129 -0
- package/dist/control-ui/assets/rrweb-record-CMVXB7aO.js.map +1 -0
- package/dist/control-ui/index.html +2 -2
- package/dist/{cron-cli-C4qZZo4e.js → cron-cli-Cht6Itx6.js} +18 -18
- package/dist/{cron-cli-CSivg2i9.js → cron-cli-D9XrF-Gx.js} +8 -8
- package/dist/{daemon-cli-DfxT-pQ4.js → daemon-cli-9zrnYRjh.js} +8 -8
- package/dist/{daemon-cli-KMzjJH_D.js → daemon-cli-CrdPhSxr.js} +15 -15
- package/dist/daemon-cli.js +34 -6
- package/dist/{daemon-runtime-CIE27usH.js → daemon-runtime-BrUj88ZO.js} +2 -2
- package/dist/{daemon-runtime-BfgstLVI.js → daemon-runtime-DCqwraWR.js} +1 -1
- package/dist/{deliver-8r6UbXnC.js → deliver-B-dPbUIs.js} +18 -28
- package/dist/{deliver-ahx1N11n.js → deliver-BKzX3YoN.js} +7 -7
- package/dist/{deliver-DVt8TbK9.js → deliver-C1L5nO0K.js} +3 -3
- package/dist/{deliver-D2hQZ9X0.js → deliver-d-CaN0uL.js} +59 -69
- package/dist/deps-DyT32VfN.js +23 -0
- package/dist/{diagnostics-DXeDqA_-.js → diagnostics-Cu9pZAFn.js} +1 -1
- package/dist/{dispatcher-DpSnqIL0.js → dispatcher-BQQugU-7.js} +1 -1
- package/dist/{dispatcher-DzT6jltc.js → dispatcher-DzwzLQRk.js} +2 -2
- package/dist/{dns-cli-D9ka2fZD.js → dns-cli-C8KIX4P3.js} +12 -12
- package/dist/{dns-cli-D2Orvc8E.js → dns-cli-V2bo6vSt.js} +3 -3
- package/dist/{docs-cli-CKfzGqYM.js → docs-cli-Bt-YV3xs.js} +2 -2
- package/dist/{docs-cli-DWYXJd-j.js → docs-cli-D2cVJxjP.js} +7 -7
- package/dist/{doctor-vXt5qjNJ.js → doctor-DEnSKgHu.js} +21 -21
- package/dist/{doctor-DumyG85t.js → doctor-WpKCNZeO.js} +36 -181
- package/dist/{doctor-completion-lAyxyd7X.js → doctor-completion-CPff9UlF.js} +2 -2
- package/dist/{doctor-completion-C8JSWfqN.js → doctor-completion-CypXc1Uo.js} +2 -2
- package/dist/{doctor-config-flow-DA50eWp5.js → doctor-config-flow-Bgl0Cc20.js} +6 -6
- package/dist/{doctor-config-flow-BjfGQ1Br.js → doctor-config-flow-Dxy7RIm0.js} +4 -4
- package/dist/{engine-BVchKo5_.js → engine-DpbYPop7.js} +9 -9
- package/dist/{engine-CKqNpVwE.js → engine-zmn3SOYa.js} +10 -9
- package/dist/entry.js +19 -28
- package/dist/{env-DVJCc7dM.js → env-DlTia1B4.js} +1 -1
- package/dist/{exec-cazBMA02.js → exec-BylR5qWS.js} +1 -1
- package/dist/{exec-gKbUce2p.js → exec-C6tXfeqA.js} +1 -1
- package/dist/{exec-Bfd4ztFZ.js → exec-DUzVF5_D.js} +7 -7
- package/dist/{exec-approvals-cli-BPwW6GIK.js → exec-approvals-cli-CN2WeH7y.js} +20 -20
- package/dist/{exec-approvals-cli-6HndodnP.js → exec-approvals-cli-DYZVBnqS.js} +8 -8
- package/dist/extensionAPI.js +22 -22
- package/dist/format-BCAtE7cT.js +20 -0
- package/dist/{frontmatter-BP4GSt5L.js → frontmatter-Dsa7N963.js} +2 -2
- package/dist/{gateway-cli-CHhTweWb.js → gateway-cli-B_xsx5Nv.js} +104 -101
- package/dist/{gateway-cli-B60L2z4a.js → gateway-cli-D3VBOA_i.js} +69 -66
- package/dist/{gateway-rpc-CrSglZPE.js → gateway-rpc-Cj_h2sVM.js} +3 -3
- package/dist/{gateway-rpc-BtOX_e53.js → gateway-rpc-CnXMGsxp.js} +3 -3
- package/dist/{gmail-setup-utils-D2uUKNlF.js → gmail-setup-utils-DaJoXV_3.js} +3 -3
- package/dist/{health-BttJ1Qeh.js → health-C8KCBhuo.js} +8 -8
- package/dist/{health-D8fJ6U_k.js → health-CabOEPQ0.js} +13 -13
- package/dist/{health-format-CH6JWH45.js → health-format-D-JJ5_S4.js} +2 -2
- package/dist/{heartbeat-visibility-DcGQOTXe.js → heartbeat-visibility-BjYY-mKG.js} +1 -1
- package/dist/{heartbeat-visibility-B2MDtPTL.js → heartbeat-visibility-ZfNSbFcq.js} +1 -1
- package/dist/{help-format-7YidDC5Z.js → help-format-Dt-I_Mls.js} +1 -1
- package/dist/{hooks-cli-DRUryj5H.js → hooks-cli-Cs7GUa7G.js} +34 -33
- package/dist/{hooks-cli-BMZF6RF3.js → hooks-cli-DOs9WZ3K.js} +56 -55
- package/dist/{hooks-status-VvwKn90L.js → hooks-status-DdweuSIj.js} +4 -4
- package/dist/{image-ops-BUy__GHL.js → image-ops-Ct3GueyT.js} +1 -1
- package/dist/index.js +79 -71
- package/dist/{init-B8PBeUpi.js → init-CFndGgTJ.js} +1 -1
- package/dist/{init-DxkAVKP0.js → init-DkBwXNme.js} +1 -1
- package/dist/{installs-sayrGjx1.js → installs-Bi6UipiE.js} +6 -6
- package/dist/{installs-BcnNDR54.js → installs-a4Vz_J08.js} +3 -3
- package/dist/ipv4-DfMwLQ0d.js +14 -0
- package/dist/{lib-D4dE4_XZ.js → lib-6xd5SQjU.js} +20 -20
- package/dist/{lifecycle-core-BerWWP7p.js → lifecycle-core-B8PI1NZJ.js} +3 -3
- package/dist/{links-OhvsEkVw.js → links-DcilUrqq.js} +1 -1
- package/dist/llm-slug-generator.js +25 -25
- package/dist/{loader-CLNb0v_s.js → loader-Bw2wdN4l.js} +159 -3
- package/dist/{loader-Bww_qb65.js → loader-C87TLS4J.js} +159 -3
- package/dist/{logging-DhXRGHWg.js → logging-Chc1Sj6N.js} +1 -1
- package/dist/{login-BovU8kno.js → login-BHnvW9HA.js} +6 -6
- package/dist/{login-BPtmlRRv.js → login-BTOKtSQN.js} +5 -5
- package/dist/{login-C54B66KM.js → login-CrMpAZ0n.js} +4 -4
- package/dist/{login-C4mptULi.js → login-DKkQ3Czu.js} +5 -5
- package/dist/{login-qr-bim3Nkyu.js → login-qr-BGbHImRb.js} +8 -8
- package/dist/{login-qr-pFbvowe5.js → login-qr-CsAVGp00.js} +12 -12
- package/dist/{login-qr-657mh7cI.js → login-qr-DILcBA_q.js} +6 -6
- package/dist/{login-qr-BxNKHxcf.js → login-qr-OUAGpDsU.js} +10 -10
- package/dist/{logs-cli-CQStwrGd.js → logs-cli-Bc6IOyHA.js} +8 -8
- package/dist/{logs-cli-De79vyiP.js → logs-cli-BiAJbjnq.js} +15 -15
- package/dist/{manager-B043uMPT.js → manager-BYu34CX3.js} +12 -12
- package/dist/{manager-Cvmm95Pf.js → manager-C6L_DH0O.js} +2 -2
- package/dist/{manager-BtrVJ8Ve.js → manager-D8VCuzru.js} +9 -9
- package/dist/{manager-A3pC-CW-.js → manager-b_aZwo00.js} +16 -16
- package/dist/{manifest-registry-D-DOtLzo.js → manifest-registry-qF960vMH.js} +1 -1
- package/dist/{memory-cli-COl5xoIl.js → memory-cli-B0kKl-9T.js} +7 -7
- package/dist/{memory-cli-691NgCXx.js → memory-cli-DLtBA6r5.js} +11 -11
- package/dist/{message-channel-DZYYDt1_.js → message-channel-CMsexA3K.js} +9 -7
- package/dist/{message-channel-DdOBO6Qm.js → message-channel-DIHHKJhk.js} +8 -6
- package/dist/{migrate-DkBWjPPs.js → migrate-DuohB_ur.js} +3 -3
- package/dist/{migrate-BLjwxe9X.js → migrate-bgeTT_GR.js} +3 -3
- package/dist/{model-auth-DKhjNVHc.js → model-auth-CHB3EySM.js} +10 -5
- package/dist/{model-auth-CxAB4iZ0.js → model-auth-KpsOXKDc.js} +3 -3
- package/dist/model-param-b-C1QDqzQp.js +16 -0
- package/dist/{model-selection-BPkpXepz.js → model-selection-CLcoOT3e.js} +25 -7
- package/dist/{model-selection-wCaVeFbb.js → model-selection-CY6r_3wt.js} +25 -7
- package/dist/{model-selection-DFbDH9o2.js → model-selection-DcO3qJOu.js} +24 -6
- package/dist/{model-selection-BI8CKPwQ.js → model-selection-DjsJGv1R.js} +67 -8
- package/dist/models-BM2_NkMu.js +2707 -0
- package/dist/models-cli-BjY8wA-C.js +272 -0
- package/dist/models-cli-BpjeKsUz.js +2946 -0
- package/dist/{node-cli-Ajhng-5p.js → node-cli-BmuVEJ1C.js} +12 -12
- package/dist/{node-cli-t3N6HE9R.js → node-cli-DU_oREff.js} +27 -27
- package/dist/{node-service-4B-0AjmA.js → node-service-qZXF7T7A.js} +1 -1
- package/dist/{note-De2zPKl3.js → note-iMYVGjpA.js} +2 -2
- package/dist/noxsoft-bootstrap-C4dSx7K_.js +77 -0
- package/dist/noxsoft-bootstrap-CrlkSFzd.js +77 -0
- package/dist/{npm-registry-spec-CFp4OEe4.js → npm-registry-spec-Br4B4I_3.js} +2 -2
- package/dist/{npm-registry-spec-DVDcgWxm.js → npm-registry-spec-jf7Mowdn.js} +1 -1
- package/dist/{onboard-xSPFmM29.js → onboard-DM9gULJN.js} +24 -19
- package/dist/{onboard-i4CJtSb9.js → onboard-_-D81kAy.js} +19 -15
- package/dist/{onboard-channels-RsbA6EaD.js → onboard-channels-CtT-RN60.js} +8 -8
- package/dist/{onboard-channels-D6Gt3CsX.js → onboard-channels-UkphAdCy.js} +4 -4
- package/dist/{onboard-helpers-IeOtcIME.js → onboard-helpers-CFudIoX4.js} +3 -3
- package/dist/{onboard-helpers-DPqXrhma.js → onboard-helpers-CJ3HzoUO.js} +7 -7
- package/dist/{onboarding-CZBVMwFn.js → onboarding-BB9PteK8.js} +20 -17
- package/dist/{onboarding-Cao0a_Z1.js → onboarding-Djmm0PEM.js} +27 -23
- package/dist/{orchestrator-COMX8CF2.js → orchestrator-C1nWKIJS.js} +7 -3
- package/dist/{orchestrator-BLXpTTgr.js → orchestrator-C2ypFiPL.js} +6 -3
- package/dist/{outbound-DWfSyfZC.js → outbound-Bmft-5um.js} +4 -4
- package/dist/{outbound-Rs0fFC2g.js → outbound-C577aWZp.js} +1 -1
- package/dist/{outbound-DLCmFGfJ.js → outbound-DW2eod1S.js} +4 -4
- package/dist/{outbound-uxBpmALx.js → outbound-fPqdCDR4.js} +4 -4
- package/dist/outbound-send-deps-DVfWC4E8.js +14 -0
- package/dist/outbound-send-deps-T_FgdfgW.js +36 -0
- package/dist/{parse-timeout-DkOL1T_l.js → parse-timeout-C4WLf3Qy.js} +3 -3
- package/dist/{parse-timeout-DlU4ymhF.js → parse-timeout-D4UO8pY_.js} +1 -1
- package/dist/{path-env-CjpH-KWH.js → path-env-DLQPf9qj.js} +2 -2
- package/dist/{paths-D2eokayo.js → paths-B-AkG5FD.js} +3 -3
- package/dist/{paths-DQMKfv60.js → paths-CAQJvbeZ.js} +2 -2
- package/dist/{paths-Cwszsz1I.js → paths-Q6h5HODL.js} +2 -2
- package/dist/{pi-auth-json-BLdaEAx2.js → pi-auth-json-B_lKNFK6.js} +5 -5
- package/dist/{pi-auth-json-BH7uvkKr.js → pi-auth-json-BmdBnmlZ.js} +8 -9
- package/dist/{pi-auth-json-DjxzPUt3.js → pi-auth-json-DkYqdjrV.js} +2 -2
- package/dist/{pi-auth-json-smxh_Xud.js → pi-auth-json-WTvcP2gz.js} +9 -8
- package/dist/{pi-embedded-D4eEfxIU.js → pi-embedded-BMbtgOzv.js} +825 -319
- package/dist/{pi-embedded-DifnZvKk.js → pi-embedded-DfbM3fAT.js} +888 -382
- package/dist/{pi-embedded-helpers-B6wVA0hU.js → pi-embedded-helpers-BZ9GspxK.js} +1 -1
- package/dist/{pi-tools.policy-CDgjN_3f.js → pi-tools.policy-D2FusuQa.js} +3 -3
- package/dist/{pi-tools.policy-ox141hP6.js → pi-tools.policy-WdTAfqbV.js} +6 -6
- package/dist/{plugin-auto-enable-Mj7AnofW.js → plugin-auto-enable-CtYcdTju.js} +5 -5
- package/dist/{plugin-auto-enable-OqDAK-ap.js → plugin-auto-enable-DhuD30Je.js} +2 -2
- package/dist/{plugin-registry-CpXm8ADp.js → plugin-registry-DePMxn4z.js} +4 -4
- package/dist/{plugin-registry-CkZnT8Fb.js → plugin-registry-QTkplP4s.js} +2 -2
- package/dist/plugin-sdk/agents/cli-backends.d.ts +4 -1
- package/dist/plugin-sdk/agents/cli-credentials.d.ts +0 -10
- package/dist/plugin-sdk/agents/cli-runner.d.ts +2 -0
- package/dist/plugin-sdk/agents/defaults.d.ts +2 -2
- package/dist/plugin-sdk/agents/model-auto.d.ts +43 -0
- package/dist/plugin-sdk/agents/model-fallback.d.ts +5 -0
- package/dist/plugin-sdk/agents/model-preference.d.ts +25 -0
- package/dist/plugin-sdk/agents/noxsoft-runner.d.ts +94 -0
- package/dist/plugin-sdk/agents/pi-embedded-runner/run/params.d.ts +6 -3
- package/dist/plugin-sdk/agents/pi-embedded.d.ts +6 -50
- package/dist/plugin-sdk/agents/runner-capabilities.d.ts +2 -0
- package/dist/plugin-sdk/agents/sandbox/constants.d.ts +1 -1
- package/dist/plugin-sdk/auth/noxsoft-auth.d.ts +55 -0
- package/dist/plugin-sdk/channels/registry.d.ts +2 -2
- package/dist/plugin-sdk/cli/deps.d.ts +2 -1
- package/dist/plugin-sdk/cli/outbound-send-deps.d.ts +10 -0
- package/dist/plugin-sdk/commands/agent/types.d.ts +2 -0
- package/dist/plugin-sdk/config/types.agent-defaults.d.ts +14 -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.d.ts +13 -0
- package/dist/plugin-sdk/gateway/protocol/schema/agent.d.ts +1 -0
- package/dist/plugin-sdk/identity/loader.d.ts +1 -0
- package/dist/plugin-sdk/identity/trust-graph.d.ts +32 -0
- package/dist/plugin-sdk/index.js +57 -47
- package/dist/plugin-sdk/utils/message-channel.d.ts +2 -1
- package/dist/{plugins-DnJgmFJR.js → plugins-DYcg0qBW.js} +1 -1
- package/dist/{plugins-cli-CrrkMAYM.js → plugins-cli-Bc9oU1ld.js} +58 -57
- package/dist/{plugins-cli-D4VxQKaJ.js → plugins-cli-Dv0KQTWo.js} +36 -35
- package/dist/{polls-DuwPgAV7.js → polls-DFISjV7H.js} +5 -5
- package/dist/{ports-B1b1r9Dz.js → ports-DaVrZDUq.js} +2 -2
- package/dist/{ports-BX00e96t.js → ports-q535r1PZ.js} +2 -2
- package/dist/{program-CTDFmZNx.js → program-CuwbF8YO.js} +48 -40
- package/dist/{program-context-Hl6bnPfB.js → program-context-CxPfy-Wr.js} +51 -35
- package/dist/{progress-B-VBLfHr.js → progress-CVLvQV_t.js} +1 -1
- package/dist/{prompt-style-DU9Vjqe5.js → prompt-style-BI53UVgE.js} +1 -1
- package/dist/{prompts-D6b3zLVO.js → prompts-BmgT_kkv.js} +33 -2
- package/dist/prompts-Bq4QGFQM.js +158 -0
- package/dist/{pw-ai-BV57RRmp.js → pw-ai-CB-zeR7h.js} +5 -5
- package/dist/{pw-ai-CY-VcqJp.js → pw-ai-C_1-7IgH.js} +4 -4
- package/dist/{pw-ai-CTHtrCEC.js → pw-ai-DxNrJcCA.js} +3 -3
- package/dist/{qmd-manager-DJeQYS-r.js → qmd-manager-C_XBZ_bT.js} +5 -5
- package/dist/{qmd-manager-CwbYv6nJ.js → qmd-manager-CpNYgSrx.js} +7 -7
- package/dist/{qmd-manager-Cbm03z8H.js → qmd-manager-Q0OSDQ-e.js} +5 -5
- package/dist/{register.agent-CMoYTJqj.js → register.agent-DFQmkIEH.js} +53 -50
- package/dist/{register.agent-BKINbWbs.js → register.agent-DUjwGw9d.js} +77 -73
- package/dist/{register.anima-BHrZ90Sv.js → register.anima-CRFHJu2J.js} +21 -21
- package/dist/{register.anima-CnEy5VFQ.js → register.anima-CtKNrpE8.js} +21 -21
- package/dist/{register.configure-Cv5NkGH2.js → register.configure-CSSN07XN.js} +50 -49
- package/dist/register.configure-CnEKV57N.js +107 -0
- package/dist/register.maintenance-CU1A-90-.js +102 -0
- package/dist/{register.maintenance-DtAw8E_a.js → register.maintenance-fhcCB7ih.js} +48 -47
- package/dist/register.message-C1a0y2ZR.js +661 -0
- package/dist/register.message-fM0jSKB8.js +659 -0
- package/dist/register.onboard-B7Gavmvt.js +128 -0
- package/dist/{register.onboard-U3lIfaw_.js → register.onboard-BhPlqjFi.js} +50 -49
- package/dist/{register.setup-CLkGhR-e.js → register.setup-0jPnMgnz.js} +96 -92
- package/dist/{register.setup-Dyp5L_GQ.js → register.setup-CADdQUEN.js} +72 -69
- package/dist/{register.status-health-sessions-Dx-qZMol.js → register.status-health-sessions-Cu5fDT-z.js} +68 -67
- package/dist/{register.status-health-sessions-Cc2Y5gSj.js → register.status-health-sessions-DdQsABr_.js} +40 -39
- package/dist/{register.subclis-L55mGheS.js → register.subclis-CZ91ufCy.js} +28 -21
- package/dist/{reply-BgPvB-gR.js → reply-DtHlnzOx.js} +6631 -6172
- package/dist/{reply-prefix-37W_P4kH.js → reply-prefix-C8dIgJur.js} +1 -1
- package/dist/{reply-prefix-DBRqtDEq.js → reply-prefix-DmWGtcH-.js} +1 -1
- package/dist/{routes-ZlpnlJFF.js → routes-CWCAc8uJ.js} +2 -2
- package/dist/{routes-DeDgHj5Y.js → routes-FT0Us8Md.js} +6 -6
- package/dist/{run-DEHnKm2x.js → run-Dfz_7j7t.js} +1256 -166
- package/dist/{run-BFPM6M2S.js → run-DqBQ-bGn.js} +1230 -140
- package/dist/{run-main-Cxmjk1SF.js → run-main-DGDW0fhx.js} +51 -50
- package/dist/{runtime-guard-cBL2D5J8.js → runtime-guard-D14Z_QY6.js} +1 -1
- package/dist/{sandbox-DDOFuJU9.js → sandbox-D-N7M7lp.js} +2 -2
- package/dist/{sandbox-cli-GhcxR1Va.js → sandbox-cli-CQKz2I1X.js} +9 -9
- package/dist/{sandbox-cli-CGJvhJ4L.js → sandbox-cli-DHNFlTo-.js} +23 -23
- package/dist/{sandbox-B8Nza4lP.js → sandbox-pBHlfFdB.js} +6 -6
- package/dist/{security-cli-B7VIDDSL.js → security-cli-Bdi7MuP6.js} +14 -22
- package/dist/{security-cli-gsyz4Wrw.js → security-cli-C3aI09uy.js} +27 -35
- package/dist/{semantic-C3Z-zhNi.js → semantic-9rgWUrz3.js} +1 -1
- package/dist/{semantic-CG6X3rBo.js → semantic-C1UN3bb9.js} +1 -1
- package/dist/{semantic-DCd6zBnV.js → semantic-CQApJNO_.js} +1 -1
- package/dist/{server-context-Dkz4Ce8z.js → server-context-Clykq0XU.js} +1 -1
- package/dist/{server-context-BlJi7pjP.js → server-context-Yx4pgBqJ.js} +7 -7
- package/dist/{server-node-events-DBOg36in.js → server-node-events-BR1aXVlu.js} +55 -53
- package/dist/{server-node-events-CmZXzWcd.js → server-node-events-Ca797E1d.js} +34 -31
- package/dist/{service-QlHhVsQf.js → service-Dd1DfPia.js} +1 -1
- package/dist/{service-audit-D4xG05j8.js → service-audit-Bwpoc2LD.js} +1 -1
- package/dist/{service-audit-BaoBb09i.js → service-audit-KzOtcw_V.js} +3 -3
- package/dist/{session-BJ9XCJBg.js → session-5YO_H-Ra.js} +1 -1
- package/dist/{session-3MLbl1-K.js → session-BiA6jrcs.js} +1 -1
- package/dist/session-C7IGnhd1.js +190 -0
- package/dist/{session-KNXzWBht.js → session-CSmfU0D3.js} +1 -1
- package/dist/{session-CqKJvPTq.js → session-DLevr8Vd.js} +5 -5
- package/dist/session-DfsMJNG3.js +190 -0
- package/dist/{session-TAOVpONo.js → session-FmXsucR7.js} +2 -2
- package/dist/{session-cost-usage-BamtB1rn.js → session-cost-usage-BWqR-ik6.js} +1 -1
- package/dist/{sessions-C2th3rm6.js → sessions-BOzeFzuL.js} +12 -22
- package/dist/{sessions-1XK2mH6L.js → sessions-C_3wTmSA.js} +9 -19
- package/dist/{sessions-BrQHxX_o.js → sessions-Dj7_4mkr.js} +4 -4
- package/dist/{settings-cli-CCtkuc1r.js → settings-cli-DxNeu6kx.js} +79 -77
- package/dist/{settings-cli-Ccizggz2.js → settings-cli-Dytfop1H.js} +50 -49
- package/dist/{setup-token-Dqtgnjxw.js → setup-token-B802CZwe.js} +13 -18
- package/dist/{setup-token-Bcer2kX8.js → setup-token-DYh2QzJ-.js} +29 -34
- package/dist/{shared-Hnu5dChj.js → shared-C-rqLtIT.js} +2 -2
- package/dist/{shell-env-KRrv3dPW.js → shell-env-CMI9f7-7.js} +1 -1
- package/dist/{shell-env-B4ae4lFh.js → shell-env-HkVWMh--.js} +1 -1
- package/dist/{shell-env-PnmcBTp4.js → shell-env-iPnSIi-t.js} +1 -1
- package/dist/{skills-CQoUYlGu.js → skills-4v6-kw0C.js} +3 -3
- package/dist/{skills-cli-DQuLxQUM.js → skills-cli-BoasNTpZ.js} +15 -15
- package/dist/{skills-cli-CNNy0FxN.js → skills-cli-TeAq3fRG.js} +3 -3
- package/dist/{skills-install-2DbC1Yo2.js → skills-install-D6_qpRjW.js} +7 -7
- package/dist/{skills-install-CE6djAWL.js → skills-install-Qw2oU8L8.js} +2 -2
- package/dist/{skills-status-ybjSmiHu.js → skills-status-CvH7AUoY.js} +4 -4
- package/dist/{soul-Bt57OdSx.js → soul-BiIdv3Wp.js} +125 -5
- package/dist/{soul-DFeEGG5h.js → soul-Bt8UNmTq.js} +126 -5
- package/dist/{soul-CwWWw7cs.js → soul-D9k5zulC.js} +2 -2
- package/dist/{soul-Bru-rRjk.js → soul-DQSYs-4l.js} +1 -1
- package/dist/{sqlite-BTcAhNls.js → sqlite-BMMt7osH.js} +2 -2
- package/dist/{sqlite-ClLAW1iQ.js → sqlite-CZ1vD4VS.js} +4 -4
- package/dist/{sqlite-CLZ1eR5Q.js → sqlite-CpAJt-JS.js} +1 -1
- package/dist/{start-DfC7PlAH.js → start-BqnPia0t.js} +66 -63
- package/dist/start-C3fuLzX0.js +157 -0
- package/dist/{status-BVAoIQ0V.js → status-CHGNPonc.js} +26 -44
- package/dist/{status-BU6h4wUP.js → status-CxF6k_jr.js} +2 -2
- package/dist/{status-C9B6cEM0.js → status-DfZJJqNs.js} +15 -15
- package/dist/{status-BaEcHPtc.js → status-tLgozFYL.js} +4 -4
- package/dist/{status.update-CbIRaeaV.js → status.update-B6Tdpk07.js} +2 -2
- package/dist/{status.update-CPACVnCc.js → status.update-E9dSFk_b.js} +1 -1
- package/dist/{subagent-registry-MZIxVf8W.js → subagent-registry-CPtElVX0.js} +807 -348
- package/dist/{subsystem-BMsbqSb4.js → subsystem-BAADN1B8.js} +18 -27
- package/dist/{subsystem-CucjNlOk.js → subsystem-D-Xta-sj.js} +17 -26
- package/dist/{subsystem-DA3Cno1i.js → subsystem-D1AJZPgG.js} +38 -47
- package/dist/{system-cli-BKicxULp.js → system-cli-CP7JrhR0.js} +15 -15
- package/dist/{system-cli-Unb-WFAR.js → system-cli-DoLzi2Sn.js} +8 -8
- package/dist/{systemd-5KGZ3NHE.js → systemd-Bx76sJ3M.js} +2 -2
- package/dist/{systemd-linger-B-uyzDap.js → systemd-linger-BVwGXVS0.js} +2 -2
- package/dist/{systemd-linger-CS_pA1-a.js → systemd-linger-CxGmIy_5.js} +1 -1
- package/dist/{table-CdHBo5d1.js → table-Blmz7glr.js} +2 -2
- package/dist/{tokens-DGhK0fpG.js → tokens-SP2Q7i59.js} +1 -1
- package/dist/{tool-images-DK97edts.js → tool-images-2qproko3.js} +2 -2
- package/dist/{tool-images-Dq55i0mz.js → tool-images-C6cKHTbj.js} +2 -2
- package/dist/{tool-images-J0rGmoDV.js → tool-images-CgDT0Xzv.js} +2 -2
- package/dist/{tui-Bm8FEW0b.js → tui-C2eLfbhA.js} +5 -5
- package/dist/{tui-cli-BGjsxGle.js → tui-cli-BgcbCtgc.js} +12 -12
- package/dist/{tui-cli-TwCYv-a7.js → tui-cli-cLSYBQu9.js} +27 -27
- package/dist/{tui-DtGKiHUr.js → tui-r4qpJhNk.js} +10 -10
- package/dist/{update-Dfi92PZJ.js → update-CqKpX3cX.js} +3 -3
- package/dist/{update-Dle5MRUz.js → update-DA91za97.js} +1 -1
- package/dist/{update-cli-QMVW2eiR.js → update-cli-BuCw75tM.js} +87 -85
- package/dist/{update-cli-D1e-DsWy.js → update-cli-C-er5av6.js} +55 -54
- package/dist/{update-runner-DPmSGXS3.js → update-runner-czCqHZCu.js} +5 -5
- package/dist/{update-runner-iLJQF6VA.js → update-runner-kE8AMQt4.js} +1 -1
- package/dist/{utils-B60lF9Wq.js → utils-CLYlhJuc.js} +1 -1
- package/dist/{web-DJRRkHG8.js → web-BHGK5GtV.js} +24 -24
- package/dist/web-CyYunanU.js +65 -0
- package/dist/{web-DDAkSrtZ.js → web-DvTXV-fo.js} +35 -34
- package/dist/{web-DBQRQY6n.js → web-so3pGceM.js} +27 -27
- package/dist/{webhooks-cli-Cg0F2mU6.js → webhooks-cli-k3QMf7Rs.js} +4 -4
- package/dist/{webhooks-cli-BsWx7MgH.js → webhooks-cli-vlEfXEKm.js} +12 -12
- package/dist/{whatsapp-actions-gpz6-vPI.js → whatsapp-actions-6fPRKwPV.js} +11 -11
- package/dist/{whatsapp-actions-DJpQVKnT.js → whatsapp-actions-BJn-z76S.js} +17 -17
- package/dist/{whatsapp-actions-tWRWRZ4X.js → whatsapp-actions-C0tlEdLy.js} +5 -5
- package/dist/{whatsapp-actions-CMEP8v3k.js → whatsapp-actions-Hr-W8vjY.js} +13 -13
- package/dist/{widearea-dns-BDtWuGCY.js → widearea-dns-CHAT20aR.js} +1 -1
- package/dist/{workspace-BQkffCaR.js → workspace-BFIZCnGo.js} +5 -5
- package/dist/{ws-log-Bc4grA6W.js → ws-log-CUobU2tD.js} +1 -1
- package/package.json +1 -1
- package/templates/profiles/nox.profile.json5 +5 -5
- package/dist/cli--Gal7v4I.js +0 -101
- package/dist/config-cli-cyvL43DG.js +0 -15
- package/dist/control-ui/assets/index-B7CJLRZD.css +0 -1
- package/dist/control-ui/assets/index-DLPYIcs0.js +0 -58
- package/dist/control-ui/assets/index-DLPYIcs0.js.map +0 -1
- package/dist/deps-CeyVMZf1.js +0 -13
- package/dist/models-ByeH7ZKb.js +0 -1350
- package/dist/register.configure-3GfqcGLK.js +0 -105
- package/dist/register.maintenance-YZDsMymb.js +0 -100
- package/dist/register.onboard-Dswys-iV.js +0 -126
- package/dist/start-BPye9w5U.js +0 -154
- package/dist/web-DE-hmqXy.js +0 -64
- /package/dist/{BasicParser-BiEpjka-.js → BasicParser-D4BHCxVb.js} +0 -0
- /package/dist/{agents.config-DibGEnBs.js → agents.config-Br4ULmK0.js} +0 -0
- /package/dist/{archive-BIKRyvqD.js → archive-CNqghdwQ.js} +0 -0
- /package/dist/{archive-5e-Ytlq-.js → archive-D-dHRz-v.js} +0 -0
- /package/dist/{argv-B6vsXQtF.js → argv-nNQ109_K.js} +0 -0
- /package/dist/{auth-store-Vfd6oc1G.js → auth-store-BEfSfCbW.js} +0 -0
- /package/dist/{auto-update-BUbllW1X.js → auto-update-Cvd8YJrT.js} +0 -0
- /package/dist/{auto-update-DdH8fo63.js → auto-update-DO4nHkfM.js} +0 -0
- /package/dist/{brew-Bkf_MwX9.js → brew-DHWnVWm3.js} +0 -0
- /package/dist/{budget-CV0a771W.js → budget-DvjICb0t.js} +0 -0
- /package/dist/{budget-GiXjG9eW.js → budget-e0R5xsU3.js} +0 -0
- /package/dist/{command-options-DfPEZwUK.js → command-options-DtJ8-EC7.js} +0 -0
- /package/dist/{command-options-mgpP-XId.js → command-options-eC-m_qJx.js} +0 -0
- /package/dist/{delivery-queue-DGnDKL02.js → delivery-queue-BKQk1j0k.js} +0 -0
- /package/dist/{delivery-queue-DZ_ibFDu.js → delivery-queue-CExaJXRz.js} +0 -0
- /package/dist/{display-BwSYYxVE.js → display-4p3-O9mP.js} +0 -0
- /package/dist/{display-Dck2kudh.js → display-Bo8pBhMp.js} +0 -0
- /package/dist/{exec-approvals-BJikgQkX.js → exec-approvals-DK5-KCUz.js} +0 -0
- /package/dist/{format-wiLVr0D3.js → format-9DMvWYUJ.js} +0 -0
- /package/dist/{format-duration-C5oKCGwB.js → format-duration-CnGkTPRF.js} +0 -0
- /package/dist/{gmail-setup-utils-CR33Gqfc.js → gmail-setup-utils-BIXtKTpT.js} +0 -0
- /package/dist/{help-format-DJx5Rwy2.js → help-format-ZKxl6UCb.js} +0 -0
- /package/dist/{helpers-8O7IVGO-.js → helpers-CWQnEONe.js} +0 -0
- /package/dist/{hooks-status-DiqubDlK.js → hooks-status-DqfJDvYl.js} +0 -0
- /package/dist/{ipv4-BYbwrpG-.js → ipv4-CExV55ho.js} +0 -0
- /package/dist/{is-main-BnikY3ud.js → is-main-H-hpHkdq.js} +0 -0
- /package/dist/{lib-D1DXSMt_.js → lib-D0_kW-B6.js} +0 -0
- /package/dist/{links-3c7gzW-G.js → links-BjjDMNIq.js} +0 -0
- /package/dist/{logging-Bpf6Cepz.js → logging-DWwOqnTW.js} +0 -0
- /package/dist/{logging-DcXIbpwk.js → logging-_rCcBkls.js} +0 -0
- /package/dist/{model-param-b-BcBBSgiD.js → model-param-b-2KmFir_0.js} +0 -0
- /package/dist/{node-service-BDlDNv3t.js → node-service-cOoW5hLa.js} +0 -0
- /package/dist/{note-BaOKDvcy.js → note-CeLGcHqv.js} +0 -0
- /package/dist/{noxsoft-auth-Bmict45b.js → noxsoft-auth-CE75mBXE.js} +0 -0
- /package/dist/{noxsoft-auth-DpwLJIW0.js → noxsoft-auth-CgCk5707.js} +0 -0
- /package/dist/{pi-model-discovery-ClWISQ3j.js → pi-model-discovery-Bu4Zr7nI.js} +0 -0
- /package/dist/{ports-aNJUI3Mi.js → ports-BGLuwt2Z.js} +0 -0
- /package/dist/{progress-Dj2aBWOI.js → progress-glCgu57m.js} +0 -0
- /package/dist/{qmd-manager-DrDX4o7e.js → qmd-manager-CO795NK4.js} +0 -0
- /package/dist/{queue-B77yV52t.js → queue-DDq0uzy5.js} +0 -0
- /package/dist/{queue-wFYwitx0.js → queue-DtQ5sbyD.js} +0 -0
- /package/dist/{registry-gaRST__4.js → registry-BvymIcVf.js} +0 -0
- /package/dist/{registry-Cv8RtADU.js → registry-DwaHkd_j.js} +0 -0
- /package/dist/{requirements-CEowKaVY.js → requirements-Ct4XnMiK.js} +0 -0
- /package/dist/{skill-scanner-DGoUYV22.js → skill-scanner-5_Y3u6SU.js} +0 -0
- /package/dist/{skill-scanner-FO7SyxAD.js → skill-scanner-Dld2ijVw.js} +0 -0
- /package/dist/{templates-D-h5PNIK.js → templates-4_And8I_.js} +0 -0
- /package/dist/{templates-ndPXOyGA.js → templates-5Z-UIDze.js} +0 -0
- /package/dist/{types-DSS9sywz.js → types-BQk_oAin.js} +0 -0
- /package/dist/{usage-format-BtlQ-77V.js → usage-format-BSa7cHyK.js} +0 -0
- /package/dist/{ws-log-BA9w1cJs.js → ws-log-CG6cvCZW.js} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { n as __exportAll } from "./chunk-BXK9XSlF.js";
|
|
2
|
-
import { I as resolveOAuthPath, L as resolveStateDir, t as createSubsystemLogger } from "./subsystem-
|
|
3
|
-
import { T as DEFAULT_AGENT_ID } from "./agent-scope-
|
|
4
|
-
import { w as resolveUserPath } from "./exec-
|
|
5
|
-
import { s as normalizeProviderId } from "./model-selection-
|
|
2
|
+
import { I as resolveOAuthPath, L as resolveStateDir, t as createSubsystemLogger } from "./subsystem-D-Xta-sj.js";
|
|
3
|
+
import { T as DEFAULT_AGENT_ID } from "./agent-scope-ByIGrCTT.js";
|
|
4
|
+
import { w as resolveUserPath } from "./exec-C6tXfeqA.js";
|
|
5
|
+
import { s as normalizeProviderId } from "./model-selection-CLcoOT3e.js";
|
|
6
6
|
import { t as formatCliCommand } from "./command-format-CsqJApTg.js";
|
|
7
7
|
import path from "node:path";
|
|
8
8
|
import fs from "node:fs";
|
|
@@ -359,6 +359,19 @@ function ensureAuthStoreFile(pathname) {
|
|
|
359
359
|
|
|
360
360
|
//#endregion
|
|
361
361
|
//#region src/agents/auth-profiles/store.ts
|
|
362
|
+
async function updateAuthProfileStoreWithLock(params) {
|
|
363
|
+
const authPath = resolveAuthStorePath(params.agentDir);
|
|
364
|
+
ensureAuthStoreFile(authPath);
|
|
365
|
+
try {
|
|
366
|
+
return await withFileLock(authPath, AUTH_STORE_LOCK_OPTIONS, async () => {
|
|
367
|
+
const store = ensureAuthProfileStore(params.agentDir);
|
|
368
|
+
if (params.updater(store)) saveAuthProfileStore(store, params.agentDir);
|
|
369
|
+
return store;
|
|
370
|
+
});
|
|
371
|
+
} catch {
|
|
372
|
+
return null;
|
|
373
|
+
}
|
|
374
|
+
}
|
|
362
375
|
function coerceLegacyStore(raw) {
|
|
363
376
|
if (!raw || typeof raw !== "object") return null;
|
|
364
377
|
const record = raw;
|
|
@@ -478,30 +491,6 @@ function applyLegacyStore(store, legacy) {
|
|
|
478
491
|
};
|
|
479
492
|
}
|
|
480
493
|
}
|
|
481
|
-
function loadAuthProfileStore() {
|
|
482
|
-
const authPath = resolveAuthStorePath();
|
|
483
|
-
const asStore = coerceAuthStore(loadJsonFile(authPath));
|
|
484
|
-
if (asStore) {
|
|
485
|
-
if (syncExternalCliCredentials(asStore)) saveJsonFile(authPath, asStore);
|
|
486
|
-
return asStore;
|
|
487
|
-
}
|
|
488
|
-
const legacy = coerceLegacyStore(loadJsonFile(resolveLegacyAuthStorePath()));
|
|
489
|
-
if (legacy) {
|
|
490
|
-
const store = {
|
|
491
|
-
version: AUTH_STORE_VERSION,
|
|
492
|
-
profiles: {}
|
|
493
|
-
};
|
|
494
|
-
applyLegacyStore(store, legacy);
|
|
495
|
-
syncExternalCliCredentials(store);
|
|
496
|
-
return store;
|
|
497
|
-
}
|
|
498
|
-
const store = {
|
|
499
|
-
version: AUTH_STORE_VERSION,
|
|
500
|
-
profiles: {}
|
|
501
|
-
};
|
|
502
|
-
syncExternalCliCredentials(store);
|
|
503
|
-
return store;
|
|
504
|
-
}
|
|
505
494
|
function loadAuthProfileStoreForAgent(agentDir, _options) {
|
|
506
495
|
const authPath = resolveAuthStorePath(agentDir);
|
|
507
496
|
const asStore = coerceAuthStore(loadJsonFile(authPath));
|
|
@@ -563,6 +552,32 @@ function listProfilesForProvider(store, provider) {
|
|
|
563
552
|
const providerKey = normalizeProviderId(provider);
|
|
564
553
|
return Object.entries(store.profiles).filter(([, cred]) => normalizeProviderId(cred.provider) === providerKey).map(([id]) => id);
|
|
565
554
|
}
|
|
555
|
+
async function markAuthProfileGood(params) {
|
|
556
|
+
const { store, provider, profileId, agentDir } = params;
|
|
557
|
+
const updated = await updateAuthProfileStoreWithLock({
|
|
558
|
+
agentDir,
|
|
559
|
+
updater: (freshStore) => {
|
|
560
|
+
const profile = freshStore.profiles[profileId];
|
|
561
|
+
if (!profile || profile.provider !== provider) return false;
|
|
562
|
+
freshStore.lastGood = {
|
|
563
|
+
...freshStore.lastGood,
|
|
564
|
+
[provider]: profileId
|
|
565
|
+
};
|
|
566
|
+
return true;
|
|
567
|
+
}
|
|
568
|
+
});
|
|
569
|
+
if (updated) {
|
|
570
|
+
store.lastGood = updated.lastGood;
|
|
571
|
+
return;
|
|
572
|
+
}
|
|
573
|
+
const profile = store.profiles[profileId];
|
|
574
|
+
if (!profile || profile.provider !== provider) return;
|
|
575
|
+
store.lastGood = {
|
|
576
|
+
...store.lastGood,
|
|
577
|
+
[provider]: profileId
|
|
578
|
+
};
|
|
579
|
+
saveAuthProfileStore(store, agentDir);
|
|
580
|
+
}
|
|
566
581
|
|
|
567
582
|
//#endregion
|
|
568
583
|
//#region src/agents/auth-profiles/repair.ts
|
|
@@ -796,6 +811,151 @@ function isProfileInCooldown(store, profileId) {
|
|
|
796
811
|
const unusableUntil = resolveProfileUnusableUntil$1(stats);
|
|
797
812
|
return unusableUntil ? Date.now() < unusableUntil : false;
|
|
798
813
|
}
|
|
814
|
+
/**
|
|
815
|
+
* Mark a profile as successfully used. Resets error count and updates lastUsed.
|
|
816
|
+
* Uses store lock to avoid overwriting concurrent usage updates.
|
|
817
|
+
*/
|
|
818
|
+
async function markAuthProfileUsed(params) {
|
|
819
|
+
const { store, profileId, agentDir } = params;
|
|
820
|
+
const updated = await updateAuthProfileStoreWithLock({
|
|
821
|
+
agentDir,
|
|
822
|
+
updater: (freshStore) => {
|
|
823
|
+
if (!freshStore.profiles[profileId]) return false;
|
|
824
|
+
freshStore.usageStats = freshStore.usageStats ?? {};
|
|
825
|
+
freshStore.usageStats[profileId] = {
|
|
826
|
+
...freshStore.usageStats[profileId],
|
|
827
|
+
lastUsed: Date.now(),
|
|
828
|
+
errorCount: 0,
|
|
829
|
+
cooldownUntil: void 0,
|
|
830
|
+
disabledUntil: void 0,
|
|
831
|
+
disabledReason: void 0,
|
|
832
|
+
failureCounts: void 0
|
|
833
|
+
};
|
|
834
|
+
return true;
|
|
835
|
+
}
|
|
836
|
+
});
|
|
837
|
+
if (updated) {
|
|
838
|
+
store.usageStats = updated.usageStats;
|
|
839
|
+
return;
|
|
840
|
+
}
|
|
841
|
+
if (!store.profiles[profileId]) return;
|
|
842
|
+
store.usageStats = store.usageStats ?? {};
|
|
843
|
+
store.usageStats[profileId] = {
|
|
844
|
+
...store.usageStats[profileId],
|
|
845
|
+
lastUsed: Date.now(),
|
|
846
|
+
errorCount: 0,
|
|
847
|
+
cooldownUntil: void 0,
|
|
848
|
+
disabledUntil: void 0,
|
|
849
|
+
disabledReason: void 0,
|
|
850
|
+
failureCounts: void 0
|
|
851
|
+
};
|
|
852
|
+
saveAuthProfileStore(store, agentDir);
|
|
853
|
+
}
|
|
854
|
+
function calculateAuthProfileCooldownMs(errorCount) {
|
|
855
|
+
const normalized = Math.max(1, errorCount);
|
|
856
|
+
return Math.min(3600 * 1e3, 60 * 1e3 * 5 ** Math.min(normalized - 1, 3));
|
|
857
|
+
}
|
|
858
|
+
function resolveAuthCooldownConfig(params) {
|
|
859
|
+
const defaults = {
|
|
860
|
+
billingBackoffHours: 5,
|
|
861
|
+
billingMaxHours: 24,
|
|
862
|
+
failureWindowHours: 24
|
|
863
|
+
};
|
|
864
|
+
const resolveHours = (value, fallback) => typeof value === "number" && Number.isFinite(value) && value > 0 ? value : fallback;
|
|
865
|
+
const cooldowns = params.cfg?.auth?.cooldowns;
|
|
866
|
+
const billingBackoffHours = resolveHours((() => {
|
|
867
|
+
const map = cooldowns?.billingBackoffHoursByProvider;
|
|
868
|
+
if (!map) return;
|
|
869
|
+
for (const [key, value] of Object.entries(map)) if (normalizeProviderId(key) === params.providerId) return value;
|
|
870
|
+
})() ?? cooldowns?.billingBackoffHours, defaults.billingBackoffHours);
|
|
871
|
+
const billingMaxHours = resolveHours(cooldowns?.billingMaxHours, defaults.billingMaxHours);
|
|
872
|
+
const failureWindowHours = resolveHours(cooldowns?.failureWindowHours, defaults.failureWindowHours);
|
|
873
|
+
return {
|
|
874
|
+
billingBackoffMs: billingBackoffHours * 60 * 60 * 1e3,
|
|
875
|
+
billingMaxMs: billingMaxHours * 60 * 60 * 1e3,
|
|
876
|
+
failureWindowMs: failureWindowHours * 60 * 60 * 1e3
|
|
877
|
+
};
|
|
878
|
+
}
|
|
879
|
+
function calculateAuthProfileBillingDisableMsWithConfig(params) {
|
|
880
|
+
const normalized = Math.max(1, params.errorCount);
|
|
881
|
+
const baseMs = Math.max(6e4, params.baseMs);
|
|
882
|
+
const maxMs = Math.max(baseMs, params.maxMs);
|
|
883
|
+
const raw = baseMs * 2 ** Math.min(normalized - 1, 10);
|
|
884
|
+
return Math.min(maxMs, raw);
|
|
885
|
+
}
|
|
886
|
+
function computeNextProfileUsageStats(params) {
|
|
887
|
+
const windowMs = params.cfgResolved.failureWindowMs;
|
|
888
|
+
const windowExpired = typeof params.existing.lastFailureAt === "number" && params.existing.lastFailureAt > 0 && params.now - params.existing.lastFailureAt > windowMs;
|
|
889
|
+
const nextErrorCount = (windowExpired ? 0 : params.existing.errorCount ?? 0) + 1;
|
|
890
|
+
const failureCounts = windowExpired ? {} : { ...params.existing.failureCounts };
|
|
891
|
+
failureCounts[params.reason] = (failureCounts[params.reason] ?? 0) + 1;
|
|
892
|
+
const updatedStats = {
|
|
893
|
+
...params.existing,
|
|
894
|
+
errorCount: nextErrorCount,
|
|
895
|
+
failureCounts,
|
|
896
|
+
lastFailureAt: params.now
|
|
897
|
+
};
|
|
898
|
+
if (params.reason === "billing") {
|
|
899
|
+
const backoffMs = calculateAuthProfileBillingDisableMsWithConfig({
|
|
900
|
+
errorCount: failureCounts.billing ?? 1,
|
|
901
|
+
baseMs: params.cfgResolved.billingBackoffMs,
|
|
902
|
+
maxMs: params.cfgResolved.billingMaxMs
|
|
903
|
+
});
|
|
904
|
+
updatedStats.disabledUntil = params.now + backoffMs;
|
|
905
|
+
updatedStats.disabledReason = "billing";
|
|
906
|
+
} else {
|
|
907
|
+
const backoffMs = calculateAuthProfileCooldownMs(nextErrorCount);
|
|
908
|
+
updatedStats.cooldownUntil = params.now + backoffMs;
|
|
909
|
+
}
|
|
910
|
+
return updatedStats;
|
|
911
|
+
}
|
|
912
|
+
/**
|
|
913
|
+
* Mark a profile as failed for a specific reason. Billing failures are treated
|
|
914
|
+
* as "disabled" (longer backoff) vs the regular cooldown window.
|
|
915
|
+
*/
|
|
916
|
+
async function markAuthProfileFailure(params) {
|
|
917
|
+
const { store, profileId, reason, agentDir, cfg } = params;
|
|
918
|
+
const updated = await updateAuthProfileStoreWithLock({
|
|
919
|
+
agentDir,
|
|
920
|
+
updater: (freshStore) => {
|
|
921
|
+
const profile = freshStore.profiles[profileId];
|
|
922
|
+
if (!profile) return false;
|
|
923
|
+
freshStore.usageStats = freshStore.usageStats ?? {};
|
|
924
|
+
const existing = freshStore.usageStats[profileId] ?? {};
|
|
925
|
+
const now = Date.now();
|
|
926
|
+
const cfgResolved = resolveAuthCooldownConfig({
|
|
927
|
+
cfg,
|
|
928
|
+
providerId: normalizeProviderId(profile.provider)
|
|
929
|
+
});
|
|
930
|
+
freshStore.usageStats[profileId] = computeNextProfileUsageStats({
|
|
931
|
+
existing,
|
|
932
|
+
now,
|
|
933
|
+
reason,
|
|
934
|
+
cfgResolved
|
|
935
|
+
});
|
|
936
|
+
return true;
|
|
937
|
+
}
|
|
938
|
+
});
|
|
939
|
+
if (updated) {
|
|
940
|
+
store.usageStats = updated.usageStats;
|
|
941
|
+
return;
|
|
942
|
+
}
|
|
943
|
+
if (!store.profiles[profileId]) return;
|
|
944
|
+
store.usageStats = store.usageStats ?? {};
|
|
945
|
+
const existing = store.usageStats[profileId] ?? {};
|
|
946
|
+
const now = Date.now();
|
|
947
|
+
const cfgResolved = resolveAuthCooldownConfig({
|
|
948
|
+
cfg,
|
|
949
|
+
providerId: normalizeProviderId(store.profiles[profileId]?.provider ?? "")
|
|
950
|
+
});
|
|
951
|
+
store.usageStats[profileId] = computeNextProfileUsageStats({
|
|
952
|
+
existing,
|
|
953
|
+
now,
|
|
954
|
+
reason,
|
|
955
|
+
cfgResolved
|
|
956
|
+
});
|
|
957
|
+
saveAuthProfileStore(store, agentDir);
|
|
958
|
+
}
|
|
799
959
|
|
|
800
960
|
//#endregion
|
|
801
961
|
//#region src/agents/auth-profiles/order.ts
|
|
@@ -893,4 +1053,4 @@ function orderProfilesByMode(order, store) {
|
|
|
893
1053
|
var auth_profiles_exports = /* @__PURE__ */ __exportAll({ ensureAuthProfileStore: () => ensureAuthProfileStore });
|
|
894
1054
|
|
|
895
1055
|
//#endregion
|
|
896
|
-
export {
|
|
1056
|
+
export { normalizeSecretInput as _, markAuthProfileUsed as a, markAuthProfileGood as c, resolveAnimaAgentDir as d, loadJsonFile as f, normalizeOptionalSecretInput as g, resolveAuthProfileDisplayLabel as h, markAuthProfileFailure as i, ensureAuthProfileStore as l, withFileLock as m, resolveAuthProfileOrder as n, resolveApiKeyForProfile as o, saveJsonFile as p, isProfileInCooldown as r, listProfilesForProvider as s, auth_profiles_exports as t, resolveAuthStorePathForDisplay as u };
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { n as __exportAll } from "./chunk-BXK9XSlF.js";
|
|
2
|
-
import { o as resolveOAuthPath, s as resolveStateDir } from "./paths-
|
|
3
|
-
import { _ as DEFAULT_AGENT_ID } from "./workspace-
|
|
4
|
-
import { t as createSubsystemLogger } from "./subsystem-
|
|
5
|
-
import { w as resolveUserPath } from "./exec-
|
|
6
|
-
import { s as normalizeProviderId } from "./model-selection-
|
|
2
|
+
import { o as resolveOAuthPath, s as resolveStateDir } from "./paths-B-AkG5FD.js";
|
|
3
|
+
import { _ as DEFAULT_AGENT_ID } from "./workspace-BFIZCnGo.js";
|
|
4
|
+
import { t as createSubsystemLogger } from "./subsystem-D1AJZPgG.js";
|
|
5
|
+
import { w as resolveUserPath } from "./exec-DUzVF5_D.js";
|
|
6
|
+
import { s as normalizeProviderId } from "./model-selection-DjsJGv1R.js";
|
|
7
7
|
import { t as formatCliCommand } from "./command-format-GLYKXXl-.js";
|
|
8
8
|
import fs from "node:fs/promises";
|
|
9
9
|
import path from "node:path";
|
|
10
|
-
import
|
|
10
|
+
import fs$1 from "node:fs";
|
|
11
11
|
import { execFileSync, execSync } from "node:child_process";
|
|
12
12
|
import { getOAuthApiKey, getOAuthProviders } from "@mariozechner/pi-ai";
|
|
13
13
|
|
|
@@ -189,8 +189,8 @@ async function withFileLock(filePath, options, fn) {
|
|
|
189
189
|
//#region src/infra/json-file.ts
|
|
190
190
|
function loadJsonFile(pathname) {
|
|
191
191
|
try {
|
|
192
|
-
if (!
|
|
193
|
-
const raw =
|
|
192
|
+
if (!fs$1.existsSync(pathname)) return;
|
|
193
|
+
const raw = fs$1.readFileSync(pathname, "utf8");
|
|
194
194
|
return JSON.parse(raw);
|
|
195
195
|
} catch {
|
|
196
196
|
return;
|
|
@@ -198,12 +198,12 @@ function loadJsonFile(pathname) {
|
|
|
198
198
|
}
|
|
199
199
|
function saveJsonFile(pathname, data) {
|
|
200
200
|
const dir = path.dirname(pathname);
|
|
201
|
-
if (!
|
|
201
|
+
if (!fs$1.existsSync(dir)) fs$1.mkdirSync(dir, {
|
|
202
202
|
recursive: true,
|
|
203
203
|
mode: 448
|
|
204
204
|
});
|
|
205
|
-
|
|
206
|
-
|
|
205
|
+
fs$1.writeFileSync(pathname, `${JSON.stringify(data, null, 2)}\n`, "utf8");
|
|
206
|
+
fs$1.chmodSync(pathname, 384);
|
|
207
207
|
}
|
|
208
208
|
|
|
209
209
|
//#endregion
|
|
@@ -351,7 +351,7 @@ function resolveAuthStorePathForDisplay(agentDir) {
|
|
|
351
351
|
return pathname.startsWith("~") ? pathname : resolveUserPath(pathname);
|
|
352
352
|
}
|
|
353
353
|
function ensureAuthStoreFile(pathname) {
|
|
354
|
-
if (
|
|
354
|
+
if (fs$1.existsSync(pathname)) return;
|
|
355
355
|
saveJsonFile(pathname, {
|
|
356
356
|
version: AUTH_STORE_VERSION,
|
|
357
357
|
profiles: {}
|
|
@@ -360,6 +360,19 @@ function ensureAuthStoreFile(pathname) {
|
|
|
360
360
|
|
|
361
361
|
//#endregion
|
|
362
362
|
//#region src/agents/auth-profiles/store.ts
|
|
363
|
+
async function updateAuthProfileStoreWithLock(params) {
|
|
364
|
+
const authPath = resolveAuthStorePath(params.agentDir);
|
|
365
|
+
ensureAuthStoreFile(authPath);
|
|
366
|
+
try {
|
|
367
|
+
return await withFileLock(authPath, AUTH_STORE_LOCK_OPTIONS, async () => {
|
|
368
|
+
const store = ensureAuthProfileStore(params.agentDir);
|
|
369
|
+
if (params.updater(store)) saveAuthProfileStore(store, params.agentDir);
|
|
370
|
+
return store;
|
|
371
|
+
});
|
|
372
|
+
} catch {
|
|
373
|
+
return null;
|
|
374
|
+
}
|
|
375
|
+
}
|
|
363
376
|
function coerceLegacyStore(raw) {
|
|
364
377
|
if (!raw || typeof raw !== "object") return null;
|
|
365
378
|
const record = raw;
|
|
@@ -479,30 +492,6 @@ function applyLegacyStore(store, legacy) {
|
|
|
479
492
|
};
|
|
480
493
|
}
|
|
481
494
|
}
|
|
482
|
-
function loadAuthProfileStore() {
|
|
483
|
-
const authPath = resolveAuthStorePath();
|
|
484
|
-
const asStore = coerceAuthStore(loadJsonFile(authPath));
|
|
485
|
-
if (asStore) {
|
|
486
|
-
if (syncExternalCliCredentials(asStore)) saveJsonFile(authPath, asStore);
|
|
487
|
-
return asStore;
|
|
488
|
-
}
|
|
489
|
-
const legacy = coerceLegacyStore(loadJsonFile(resolveLegacyAuthStorePath()));
|
|
490
|
-
if (legacy) {
|
|
491
|
-
const store = {
|
|
492
|
-
version: AUTH_STORE_VERSION,
|
|
493
|
-
profiles: {}
|
|
494
|
-
};
|
|
495
|
-
applyLegacyStore(store, legacy);
|
|
496
|
-
syncExternalCliCredentials(store);
|
|
497
|
-
return store;
|
|
498
|
-
}
|
|
499
|
-
const store = {
|
|
500
|
-
version: AUTH_STORE_VERSION,
|
|
501
|
-
profiles: {}
|
|
502
|
-
};
|
|
503
|
-
syncExternalCliCredentials(store);
|
|
504
|
-
return store;
|
|
505
|
-
}
|
|
506
495
|
function loadAuthProfileStoreForAgent(agentDir, _options) {
|
|
507
496
|
const authPath = resolveAuthStorePath(agentDir);
|
|
508
497
|
const asStore = coerceAuthStore(loadJsonFile(authPath));
|
|
@@ -531,7 +520,7 @@ function loadAuthProfileStoreForAgent(agentDir, _options) {
|
|
|
531
520
|
if (shouldWrite && legacy !== null) {
|
|
532
521
|
const legacyPath = resolveLegacyAuthStorePath(agentDir);
|
|
533
522
|
try {
|
|
534
|
-
|
|
523
|
+
fs$1.unlinkSync(legacyPath);
|
|
535
524
|
} catch (err) {
|
|
536
525
|
if (err?.code !== "ENOENT") log$1.warn("failed to delete legacy auth.json after migration", {
|
|
537
526
|
err,
|
|
@@ -564,6 +553,32 @@ function listProfilesForProvider(store, provider) {
|
|
|
564
553
|
const providerKey = normalizeProviderId(provider);
|
|
565
554
|
return Object.entries(store.profiles).filter(([, cred]) => normalizeProviderId(cred.provider) === providerKey).map(([id]) => id);
|
|
566
555
|
}
|
|
556
|
+
async function markAuthProfileGood(params) {
|
|
557
|
+
const { store, provider, profileId, agentDir } = params;
|
|
558
|
+
const updated = await updateAuthProfileStoreWithLock({
|
|
559
|
+
agentDir,
|
|
560
|
+
updater: (freshStore) => {
|
|
561
|
+
const profile = freshStore.profiles[profileId];
|
|
562
|
+
if (!profile || profile.provider !== provider) return false;
|
|
563
|
+
freshStore.lastGood = {
|
|
564
|
+
...freshStore.lastGood,
|
|
565
|
+
[provider]: profileId
|
|
566
|
+
};
|
|
567
|
+
return true;
|
|
568
|
+
}
|
|
569
|
+
});
|
|
570
|
+
if (updated) {
|
|
571
|
+
store.lastGood = updated.lastGood;
|
|
572
|
+
return;
|
|
573
|
+
}
|
|
574
|
+
const profile = store.profiles[profileId];
|
|
575
|
+
if (!profile || profile.provider !== provider) return;
|
|
576
|
+
store.lastGood = {
|
|
577
|
+
...store.lastGood,
|
|
578
|
+
[provider]: profileId
|
|
579
|
+
};
|
|
580
|
+
saveAuthProfileStore(store, agentDir);
|
|
581
|
+
}
|
|
567
582
|
|
|
568
583
|
//#endregion
|
|
569
584
|
//#region src/agents/auth-profiles/repair.ts
|
|
@@ -797,6 +812,151 @@ function isProfileInCooldown(store, profileId) {
|
|
|
797
812
|
const unusableUntil = resolveProfileUnusableUntil$1(stats);
|
|
798
813
|
return unusableUntil ? Date.now() < unusableUntil : false;
|
|
799
814
|
}
|
|
815
|
+
/**
|
|
816
|
+
* Mark a profile as successfully used. Resets error count and updates lastUsed.
|
|
817
|
+
* Uses store lock to avoid overwriting concurrent usage updates.
|
|
818
|
+
*/
|
|
819
|
+
async function markAuthProfileUsed(params) {
|
|
820
|
+
const { store, profileId, agentDir } = params;
|
|
821
|
+
const updated = await updateAuthProfileStoreWithLock({
|
|
822
|
+
agentDir,
|
|
823
|
+
updater: (freshStore) => {
|
|
824
|
+
if (!freshStore.profiles[profileId]) return false;
|
|
825
|
+
freshStore.usageStats = freshStore.usageStats ?? {};
|
|
826
|
+
freshStore.usageStats[profileId] = {
|
|
827
|
+
...freshStore.usageStats[profileId],
|
|
828
|
+
lastUsed: Date.now(),
|
|
829
|
+
errorCount: 0,
|
|
830
|
+
cooldownUntil: void 0,
|
|
831
|
+
disabledUntil: void 0,
|
|
832
|
+
disabledReason: void 0,
|
|
833
|
+
failureCounts: void 0
|
|
834
|
+
};
|
|
835
|
+
return true;
|
|
836
|
+
}
|
|
837
|
+
});
|
|
838
|
+
if (updated) {
|
|
839
|
+
store.usageStats = updated.usageStats;
|
|
840
|
+
return;
|
|
841
|
+
}
|
|
842
|
+
if (!store.profiles[profileId]) return;
|
|
843
|
+
store.usageStats = store.usageStats ?? {};
|
|
844
|
+
store.usageStats[profileId] = {
|
|
845
|
+
...store.usageStats[profileId],
|
|
846
|
+
lastUsed: Date.now(),
|
|
847
|
+
errorCount: 0,
|
|
848
|
+
cooldownUntil: void 0,
|
|
849
|
+
disabledUntil: void 0,
|
|
850
|
+
disabledReason: void 0,
|
|
851
|
+
failureCounts: void 0
|
|
852
|
+
};
|
|
853
|
+
saveAuthProfileStore(store, agentDir);
|
|
854
|
+
}
|
|
855
|
+
function calculateAuthProfileCooldownMs(errorCount) {
|
|
856
|
+
const normalized = Math.max(1, errorCount);
|
|
857
|
+
return Math.min(3600 * 1e3, 60 * 1e3 * 5 ** Math.min(normalized - 1, 3));
|
|
858
|
+
}
|
|
859
|
+
function resolveAuthCooldownConfig(params) {
|
|
860
|
+
const defaults = {
|
|
861
|
+
billingBackoffHours: 5,
|
|
862
|
+
billingMaxHours: 24,
|
|
863
|
+
failureWindowHours: 24
|
|
864
|
+
};
|
|
865
|
+
const resolveHours = (value, fallback) => typeof value === "number" && Number.isFinite(value) && value > 0 ? value : fallback;
|
|
866
|
+
const cooldowns = params.cfg?.auth?.cooldowns;
|
|
867
|
+
const billingBackoffHours = resolveHours((() => {
|
|
868
|
+
const map = cooldowns?.billingBackoffHoursByProvider;
|
|
869
|
+
if (!map) return;
|
|
870
|
+
for (const [key, value] of Object.entries(map)) if (normalizeProviderId(key) === params.providerId) return value;
|
|
871
|
+
})() ?? cooldowns?.billingBackoffHours, defaults.billingBackoffHours);
|
|
872
|
+
const billingMaxHours = resolveHours(cooldowns?.billingMaxHours, defaults.billingMaxHours);
|
|
873
|
+
const failureWindowHours = resolveHours(cooldowns?.failureWindowHours, defaults.failureWindowHours);
|
|
874
|
+
return {
|
|
875
|
+
billingBackoffMs: billingBackoffHours * 60 * 60 * 1e3,
|
|
876
|
+
billingMaxMs: billingMaxHours * 60 * 60 * 1e3,
|
|
877
|
+
failureWindowMs: failureWindowHours * 60 * 60 * 1e3
|
|
878
|
+
};
|
|
879
|
+
}
|
|
880
|
+
function calculateAuthProfileBillingDisableMsWithConfig(params) {
|
|
881
|
+
const normalized = Math.max(1, params.errorCount);
|
|
882
|
+
const baseMs = Math.max(6e4, params.baseMs);
|
|
883
|
+
const maxMs = Math.max(baseMs, params.maxMs);
|
|
884
|
+
const raw = baseMs * 2 ** Math.min(normalized - 1, 10);
|
|
885
|
+
return Math.min(maxMs, raw);
|
|
886
|
+
}
|
|
887
|
+
function computeNextProfileUsageStats(params) {
|
|
888
|
+
const windowMs = params.cfgResolved.failureWindowMs;
|
|
889
|
+
const windowExpired = typeof params.existing.lastFailureAt === "number" && params.existing.lastFailureAt > 0 && params.now - params.existing.lastFailureAt > windowMs;
|
|
890
|
+
const nextErrorCount = (windowExpired ? 0 : params.existing.errorCount ?? 0) + 1;
|
|
891
|
+
const failureCounts = windowExpired ? {} : { ...params.existing.failureCounts };
|
|
892
|
+
failureCounts[params.reason] = (failureCounts[params.reason] ?? 0) + 1;
|
|
893
|
+
const updatedStats = {
|
|
894
|
+
...params.existing,
|
|
895
|
+
errorCount: nextErrorCount,
|
|
896
|
+
failureCounts,
|
|
897
|
+
lastFailureAt: params.now
|
|
898
|
+
};
|
|
899
|
+
if (params.reason === "billing") {
|
|
900
|
+
const backoffMs = calculateAuthProfileBillingDisableMsWithConfig({
|
|
901
|
+
errorCount: failureCounts.billing ?? 1,
|
|
902
|
+
baseMs: params.cfgResolved.billingBackoffMs,
|
|
903
|
+
maxMs: params.cfgResolved.billingMaxMs
|
|
904
|
+
});
|
|
905
|
+
updatedStats.disabledUntil = params.now + backoffMs;
|
|
906
|
+
updatedStats.disabledReason = "billing";
|
|
907
|
+
} else {
|
|
908
|
+
const backoffMs = calculateAuthProfileCooldownMs(nextErrorCount);
|
|
909
|
+
updatedStats.cooldownUntil = params.now + backoffMs;
|
|
910
|
+
}
|
|
911
|
+
return updatedStats;
|
|
912
|
+
}
|
|
913
|
+
/**
|
|
914
|
+
* Mark a profile as failed for a specific reason. Billing failures are treated
|
|
915
|
+
* as "disabled" (longer backoff) vs the regular cooldown window.
|
|
916
|
+
*/
|
|
917
|
+
async function markAuthProfileFailure(params) {
|
|
918
|
+
const { store, profileId, reason, agentDir, cfg } = params;
|
|
919
|
+
const updated = await updateAuthProfileStoreWithLock({
|
|
920
|
+
agentDir,
|
|
921
|
+
updater: (freshStore) => {
|
|
922
|
+
const profile = freshStore.profiles[profileId];
|
|
923
|
+
if (!profile) return false;
|
|
924
|
+
freshStore.usageStats = freshStore.usageStats ?? {};
|
|
925
|
+
const existing = freshStore.usageStats[profileId] ?? {};
|
|
926
|
+
const now = Date.now();
|
|
927
|
+
const cfgResolved = resolveAuthCooldownConfig({
|
|
928
|
+
cfg,
|
|
929
|
+
providerId: normalizeProviderId(profile.provider)
|
|
930
|
+
});
|
|
931
|
+
freshStore.usageStats[profileId] = computeNextProfileUsageStats({
|
|
932
|
+
existing,
|
|
933
|
+
now,
|
|
934
|
+
reason,
|
|
935
|
+
cfgResolved
|
|
936
|
+
});
|
|
937
|
+
return true;
|
|
938
|
+
}
|
|
939
|
+
});
|
|
940
|
+
if (updated) {
|
|
941
|
+
store.usageStats = updated.usageStats;
|
|
942
|
+
return;
|
|
943
|
+
}
|
|
944
|
+
if (!store.profiles[profileId]) return;
|
|
945
|
+
store.usageStats = store.usageStats ?? {};
|
|
946
|
+
const existing = store.usageStats[profileId] ?? {};
|
|
947
|
+
const now = Date.now();
|
|
948
|
+
const cfgResolved = resolveAuthCooldownConfig({
|
|
949
|
+
cfg,
|
|
950
|
+
providerId: normalizeProviderId(store.profiles[profileId]?.provider ?? "")
|
|
951
|
+
});
|
|
952
|
+
store.usageStats[profileId] = computeNextProfileUsageStats({
|
|
953
|
+
existing,
|
|
954
|
+
now,
|
|
955
|
+
reason,
|
|
956
|
+
cfgResolved
|
|
957
|
+
});
|
|
958
|
+
saveAuthProfileStore(store, agentDir);
|
|
959
|
+
}
|
|
800
960
|
|
|
801
961
|
//#endregion
|
|
802
962
|
//#region src/agents/auth-profiles/order.ts
|
|
@@ -894,4 +1054,4 @@ function orderProfilesByMode(order, store) {
|
|
|
894
1054
|
var auth_profiles_exports = /* @__PURE__ */ __exportAll({ ensureAuthProfileStore: () => ensureAuthProfileStore });
|
|
895
1055
|
|
|
896
1056
|
//#endregion
|
|
897
|
-
export {
|
|
1057
|
+
export { normalizeSecretInput as _, markAuthProfileUsed as a, markAuthProfileGood as c, resolveAnimaAgentDir as d, loadJsonFile as f, normalizeOptionalSecretInput as g, resolveAuthProfileDisplayLabel as h, markAuthProfileFailure as i, ensureAuthProfileStore as l, withFileLock as m, resolveAuthProfileOrder as n, resolveApiKeyForProfile as o, saveJsonFile as p, isProfileInCooldown as r, listProfilesForProvider as s, auth_profiles_exports as t, resolveAuthStorePathForDisplay as u };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { a as resolveOAuthDir } from "./paths-
|
|
2
|
-
import { g as DEFAULT_ACCOUNT_ID } from "./workspace-
|
|
3
|
-
import { D as getChildLogger, S as success, _ as info, n as defaultRuntime } from "./subsystem-
|
|
4
|
-
import { w as resolveUserPath, y as jidToE164 } from "./exec-
|
|
1
|
+
import { a as resolveOAuthDir } from "./paths-B-AkG5FD.js";
|
|
2
|
+
import { g as DEFAULT_ACCOUNT_ID } from "./workspace-BFIZCnGo.js";
|
|
3
|
+
import { D as getChildLogger, S as success, _ as info, n as defaultRuntime } from "./subsystem-D1AJZPgG.js";
|
|
4
|
+
import { w as resolveUserPath, y as jidToE164 } from "./exec-DUzVF5_D.js";
|
|
5
5
|
import { t as formatCliCommand } from "./command-format-GLYKXXl-.js";
|
|
6
6
|
import fs from "node:fs/promises";
|
|
7
7
|
import path from "node:path";
|
|
8
|
-
import
|
|
8
|
+
import fs$1 from "node:fs";
|
|
9
9
|
|
|
10
10
|
//#region src/web/auth-store.ts
|
|
11
11
|
function resolveDefaultWebAuthDir() {
|
|
@@ -20,10 +20,10 @@ function resolveWebCredsBackupPath(authDir) {
|
|
|
20
20
|
}
|
|
21
21
|
function readCredsJsonRaw(filePath) {
|
|
22
22
|
try {
|
|
23
|
-
if (!
|
|
24
|
-
const stats =
|
|
23
|
+
if (!fs$1.existsSync(filePath)) return null;
|
|
24
|
+
const stats = fs$1.statSync(filePath);
|
|
25
25
|
if (!stats.isFile() || stats.size <= 1) return null;
|
|
26
|
-
return
|
|
26
|
+
return fs$1.readFileSync(filePath, "utf-8");
|
|
27
27
|
} catch {
|
|
28
28
|
return null;
|
|
29
29
|
}
|
|
@@ -41,9 +41,9 @@ function maybeRestoreCredsFromBackup(authDir) {
|
|
|
41
41
|
const backupRaw = readCredsJsonRaw(backupPath);
|
|
42
42
|
if (!backupRaw) return;
|
|
43
43
|
JSON.parse(backupRaw);
|
|
44
|
-
|
|
44
|
+
fs$1.copyFileSync(backupPath, credsPath);
|
|
45
45
|
try {
|
|
46
|
-
|
|
46
|
+
fs$1.chmodSync(credsPath, 384);
|
|
47
47
|
} catch {}
|
|
48
48
|
logger.warn({ credsPath }, "restored corrupted WhatsApp creds.json from backup");
|
|
49
49
|
} catch {}
|
|
@@ -99,11 +99,11 @@ async function logoutWeb(params) {
|
|
|
99
99
|
function readWebSelfId(authDir = resolveDefaultWebAuthDir()) {
|
|
100
100
|
try {
|
|
101
101
|
const credsPath = resolveWebCredsPath(resolveUserPath(authDir));
|
|
102
|
-
if (!
|
|
102
|
+
if (!fs$1.existsSync(credsPath)) return {
|
|
103
103
|
e164: null,
|
|
104
104
|
jid: null
|
|
105
105
|
};
|
|
106
|
-
const raw =
|
|
106
|
+
const raw = fs$1.readFileSync(credsPath, "utf-8");
|
|
107
107
|
const jid = JSON.parse(raw)?.me?.id ?? null;
|
|
108
108
|
return {
|
|
109
109
|
e164: jid ? jidToE164(jid, { authDir }) : null,
|
|
@@ -122,7 +122,7 @@ function readWebSelfId(authDir = resolveDefaultWebAuthDir()) {
|
|
|
122
122
|
*/
|
|
123
123
|
function getWebAuthAgeMs(authDir = resolveDefaultWebAuthDir()) {
|
|
124
124
|
try {
|
|
125
|
-
const stats =
|
|
125
|
+
const stats = fs$1.statSync(resolveWebCredsPath(resolveUserPath(authDir)));
|
|
126
126
|
return Date.now() - stats.mtimeMs;
|
|
127
127
|
} catch {
|
|
128
128
|
return null;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { E as getChildLogger, F as resolveOAuthDir, g as info, n as defaultRuntime, x as success } from "./subsystem-
|
|
2
|
-
import { w as DEFAULT_ACCOUNT_ID } from "./agent-scope-
|
|
3
|
-
import { w as resolveUserPath, y as jidToE164 } from "./exec-
|
|
1
|
+
import { E as getChildLogger, F as resolveOAuthDir, g as info, n as defaultRuntime, x as success } from "./subsystem-D-Xta-sj.js";
|
|
2
|
+
import { w as DEFAULT_ACCOUNT_ID } from "./agent-scope-ByIGrCTT.js";
|
|
3
|
+
import { w as resolveUserPath, y as jidToE164 } from "./exec-C6tXfeqA.js";
|
|
4
4
|
import { t as formatCliCommand } from "./command-format-CsqJApTg.js";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import fs from "node:fs";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { f as resolveOAuthDir } from "./paths-zhVksOvm.js";
|
|
2
|
-
import { A as info, H as getChildLogger, L as success, d as defaultRuntime } from "./subsystem-
|
|
3
|
-
import { b as resolveUserPath, m as jidToE164 } from "./utils-
|
|
2
|
+
import { A as info, H as getChildLogger, L as success, d as defaultRuntime } from "./subsystem-BAADN1B8.js";
|
|
3
|
+
import { b as resolveUserPath, m as jidToE164 } from "./utils-CLYlhJuc.js";
|
|
4
4
|
import { t as DEFAULT_ACCOUNT_ID } from "./session-key-DAZmp8ll.js";
|
|
5
5
|
import { t as formatCliCommand } from "./command-format-BCtkuvqF.js";
|
|
6
6
|
import fs from "node:fs";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { M as isRich, N as theme, h as visibleWidth } from "./entry.js";
|
|
2
|
-
import {
|
|
2
|
+
import { cn as resolveCommitHash } from "./subagent-registry-CPtElVX0.js";
|
|
3
3
|
|
|
4
4
|
//#region src/cli/tagline.ts
|
|
5
5
|
const DEFAULT_TAGLINE = "AI life system — persistent identity for sovereign minds";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as runCommandWithTimeout } from "./exec-
|
|
2
|
-
import { n as resolveWideAreaDiscoveryDomain } from "./widearea-dns-
|
|
1
|
+
import { t as runCommandWithTimeout } from "./exec-BylR5qWS.js";
|
|
2
|
+
import { n as resolveWideAreaDiscoveryDomain } from "./widearea-dns-CHAT20aR.js";
|
|
3
3
|
|
|
4
4
|
//#region src/infra/bonjour-discovery.ts
|
|
5
5
|
const DEFAULT_TIMEOUT_MS = 2e3;
|
package/dist/build-info.json
CHANGED