@noxsoft/anima 5.1.1 → 6.0.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-Dyb3ijJm.js → accounts-TUsfghIW.js} +5 -5
- 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-B7OcwSxK.js → active-listener-D2r8IO7g.js} +4 -4
- package/dist/{agent-DImD77Te.js → agent-CnS0SRpT.js} +93 -236
- package/dist/{agent-B8ciDTm6.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-BHR6uOLT.js → agent-scope-CxBzAozu.js} +2 -2
- package/dist/{agents-DvkZi7oF.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-C9IyM74_.js → auth-choice-DY1saszS.js} +12 -107
- package/dist/{auth-choice-i9Z_cli_.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-Da39zGOD.js → auth-profiles-DtWUl1-k.js} +189 -29
- package/dist/{auth-store-Bl6rpC4E.js → auth-store-Bd0GoqEL.js} +3 -3
- 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-CjrhpA68.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 +220 -149
- package/dist/bundled/bootstrap-extra-files/handler.js +3 -3
- package/dist/bundled/session-memory/handler.js +22 -22
- 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/{catalog-AZNRamJ4.js → catalog-CsXv59Tq.js} +2 -2
- package/dist/{channel-web-9ikdY9RK.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-CkSIMI7j.js → chrome-DLUBPBPz.js} +2 -2
- package/dist/{chunk-5llVa3wc.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-DlmPIB0y.js → clack-prompter-fZSmnHda.js} +5 -5
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-d0H0Bpz9.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-Dv064HDc.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-CKoFTq83.js → common-Bf_TG87Y.js} +2 -2
- package/dist/{common-6Fcbzr42.js → common-DT_obM-k.js} +2 -2
- package/dist/{completion-cli-Blp8bILB.js → completion-cli-B3BqQJq9.js} +3 -3
- package/dist/{completion-cli-C-fu_7Kd.js → completion-cli-CepDzeW1.js} +2 -2
- package/dist/{config-Ofh9gKvs.js → config-BrVuTQ8R.js} +14 -2
- package/dist/{config-BfhpauV9.js → config-CweTwOtr.js} +19 -7
- 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-BFQDt_5i.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-CDUhjDom.js → config-sync-CCVp-tVX.js} +4 -4
- package/dist/{config-sync-CYX9Tzyr.js → config-sync-CMO_5lyl.js} +4 -4
- package/dist/{configure-CJYocuSp.js → configure-D882Bg7c.js} +39 -15
- package/dist/{configure-DLPHJ8nv.js → configure-D88dg6mE.js} +79 -77
- package/dist/{configure-Bbx4y0lr.js → configure-xpjwedvJ.js} +50 -49
- package/dist/{configure-fHta2Meh.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-C4ejMN5U.js +72 -0
- package/dist/control-ui/assets/index-C4ejMN5U.js.map +1 -0
- package/dist/control-ui/assets/index-CcPNqN3R.css +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-yhFuaOnc.js +2 -0
- package/dist/control-ui/assets/index-yhFuaOnc.js.map +1 -0
- package/dist/control-ui/assets/observers-V7q9lNYt.js +2 -0
- package/dist/control-ui/assets/observers-V7q9lNYt.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-CoQP7nSu.js → deliver-d-CaN0uL.js} +18 -28
- 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-qayl5A-F.js → doctor-DEnSKgHu.js} +21 -21
- package/dist/{doctor-2O2knHXJ.js → doctor-WpKCNZeO.js} +36 -181
- package/dist/{doctor-completion-CaC89XwQ.js → doctor-completion-CPff9UlF.js} +2 -2
- package/dist/{doctor-completion-jbYrRr0H.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-CKqNpVwE.js → engine-DpbYPop7.js} +6 -6
- package/dist/{engine-BVchKo5_.js → engine-zmn3SOYa.js} +7 -6
- 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-CEFTijVj.js → exec-DUzVF5_D.js} +1 -1
- 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/{gateway-cli-DAPK-NMP.js → gateway-cli-B_xsx5Nv.js} +104 -101
- package/dist/{gateway-cli-CDg1qmsU.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-BNasz7nv.js → health-C8KCBhuo.js} +8 -8
- package/dist/{health-2sA2ziYt.js → health-CabOEPQ0.js} +13 -13
- package/dist/{health-format-CH6JWH45.js → health-format-D-JJ5_S4.js} +2 -2
- package/dist/{heartbeat-visibility-B2MDtPTL.js → heartbeat-visibility-BjYY-mKG.js} +1 -1
- package/dist/{heartbeat-visibility-DcGQOTXe.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-D8SvsiGN.js → hooks-cli-Cs7GUa7G.js} +34 -33
- package/dist/{hooks-cli-Cwe9oz1p.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 +23 -23
- 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-7Yj2TvMd.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-CuwWMetN.js → login-qr-OUAGpDsU.js} +9 -9
- 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-kdmVqWxk.js → manager-b_aZwo00.js} +12 -12
- 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-BuMFehML.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-BPkpXepz.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-DJ4ON8sf.js → onboard-DM9gULJN.js} +24 -19
- package/dist/{onboard-DbzYS52G.js → onboard-_-D81kAy.js} +19 -15
- package/dist/{onboard-channels-CWMuM-3k.js → onboard-channels-CtT-RN60.js} +8 -8
- package/dist/{onboard-channels-Cqeff8-v.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-SrNptVqc.js → onboarding-BB9PteK8.js} +20 -17
- package/dist/{onboarding-GIx1Wpw0.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-CovlPIFx.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-DQMKfv60.js → paths-CAQJvbeZ.js} +2 -2
- package/dist/{paths-CLxC7m0Z.js → paths-Q6h5HODL.js} +1 -1
- 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-BLCyhR5p.js → pi-auth-json-WTvcP2gz.js} +9 -8
- package/dist/{pi-embedded-BL-Js-lp.js → pi-embedded-BMbtgOzv.js} +852 -338
- package/dist/{pi-embedded-fZ1QlJ9C.js → pi-embedded-DfbM3fAT.js} +850 -336
- 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-DboWDOrG.js → plugin-registry-DePMxn4z.js} +4 -4
- package/dist/{plugin-registry-X7L3BrUu.js → plugin-registry-QTkplP4s.js} +2 -2
- package/dist/plugin-sdk/agents/cli-backends.d.ts +8 -2
- 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-C-PA_T5k.js → plugins-cli-Bc9oU1ld.js} +58 -57
- package/dist/{plugins-cli-BraLLKDO.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-BriwVW7P.js → program-CuwbF8YO.js} +48 -40
- package/dist/{program-context-oXX-h-yI.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-BJfL9dGV.js → pw-ai-C_1-7IgH.js} +3 -3
- 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-DHQgWjsV.js → qmd-manager-CpNYgSrx.js} +6 -6
- package/dist/{qmd-manager-Cbm03z8H.js → qmd-manager-Q0OSDQ-e.js} +5 -5
- package/dist/{register.agent-BO5BCkbO.js → register.agent-DFQmkIEH.js} +53 -50
- package/dist/{register.agent-BMKeVZeq.js → register.agent-DUjwGw9d.js} +77 -73
- package/dist/{register.anima-BS8nsOpD.js → register.anima-CRFHJu2J.js} +21 -21
- package/dist/{register.anima-DPurDgXW.js → register.anima-CtKNrpE8.js} +21 -21
- package/dist/{register.configure-Di8agIXW.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-DjXwK16H.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-BkUxrYi2.js → register.onboard-BhPlqjFi.js} +50 -49
- package/dist/{register.setup-DyqOWQ2D.js → register.setup-0jPnMgnz.js} +96 -92
- package/dist/{register.setup-DEtz71o0.js → register.setup-CADdQUEN.js} +72 -69
- package/dist/{register.status-health-sessions-DjsEuYmp.js → register.status-health-sessions-Cu5fDT-z.js} +68 -67
- package/dist/{register.status-health-sessions-CXMn5NfF.js → register.status-health-sessions-DdQsABr_.js} +40 -39
- package/dist/{register.subclis-CMlPDwE5.js → register.subclis-CZ91ufCy.js} +28 -21
- package/dist/{reply-DWdVFSBB.js → reply-DtHlnzOx.js} +6658 -6191
- package/dist/{reply-prefix-CRGxza-M.js → reply-prefix-C8dIgJur.js} +1 -1
- package/dist/{reply-prefix-_gr2uQ1Z.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-GZnwhuUG.js → run-Dfz_7j7t.js} +1256 -166
- package/dist/{run-CXLRGLdR.js → run-DqBQ-bGn.js} +1230 -140
- package/dist/{run-main-Coy6Vx7R.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-BZw2SVoG.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-yZM_OBSZ.js → server-node-events-BR1aXVlu.js} +55 -53
- package/dist/{server-node-events-BMO931Md.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-CB9OL4Ml.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-_DoMmFH9.js → settings-cli-DxNeu6kx.js} +79 -77
- package/dist/{settings-cli-BVBFgDUd.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-DaSbgZYX.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-DFeEGG5h.js → soul-BiIdv3Wp.js} +124 -4
- package/dist/{soul-B7vtVbSs.js → soul-Bt8UNmTq.js} +125 -4
- 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-D_h-b5t2.js → sqlite-CZ1vD4VS.js} +2 -2
- package/dist/{sqlite-CLZ1eR5Q.js → sqlite-CpAJt-JS.js} +1 -1
- package/dist/{start-C6a18wc7.js → start-BqnPia0t.js} +66 -63
- package/dist/start-C3fuLzX0.js +157 -0
- package/dist/{status-DyD7gtoK.js → status-CHGNPonc.js} +26 -44
- package/dist/{status-CUyIggna.js → status-CxF6k_jr.js} +2 -2
- package/dist/{status-CWgHkLTE.js → status-DfZJJqNs.js} +15 -15
- package/dist/{status-DmsznVj5.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-BVrDlKmm.js → subagent-registry-CPtElVX0.js} +834 -367
- 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-BP2l3SHn.js → subsystem-D1AJZPgG.js} +18 -27
- 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-CUx-9B7B.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-JPLB8AtM.js → update-cli-BuCw75tM.js} +87 -85
- package/dist/{update-cli-4VAEZsrR.js → update-cli-C-er5av6.js} +55 -54
- package/dist/{update-runner-BxdLd4Q8.js → update-runner-czCqHZCu.js} +5 -5
- package/dist/{update-runner-pmlbxeZ-.js → update-runner-kE8AMQt4.js} +1 -1
- package/dist/{utils-B60lF9Wq.js → utils-CLYlhJuc.js} +1 -1
- package/dist/{web-cpPr1Em8.js → web-BHGK5GtV.js} +24 -24
- package/dist/web-CyYunanU.js +65 -0
- package/dist/{web-D8EsFSet.js → web-DvTXV-fo.js} +35 -34
- package/dist/{web-B3O004_b.js → web-so3pGceM.js} +25 -25
- 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-9PCfw-Zh.js → whatsapp-actions-Hr-W8vjY.js} +12 -12
- package/dist/{widearea-dns-BDtWuGCY.js → widearea-dns-CHAT20aR.js} +1 -1
- package/dist/{workspace-Cvio8QlZ.js → workspace-BFIZCnGo.js} +1 -1
- 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-PD3ygS3H.js +0 -101
- package/dist/config-cli-CgG6CaWK.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-CMFpRoYp.js +0 -13
- package/dist/models-2GYW4-6h.js +0 -1350
- package/dist/register.configure-Dvg0Vi23.js +0 -105
- package/dist/register.maintenance-CKE15LXK.js +0 -100
- package/dist/register.onboard-Du-u1lcX.js +0 -126
- package/dist/start-C0Uw_pIA.js +0 -154
- package/dist/web-B9-C6C1i.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
|
@@ -0,0 +1,661 @@
|
|
|
1
|
+
import "./paths-zhVksOvm.js";
|
|
2
|
+
import { B as isRich, F as setVerbose, T as normalizeChatChannelId, V as theme, d as defaultRuntime, k as danger, x as getChatChannelMeta } from "./subsystem-BAADN1B8.js";
|
|
3
|
+
import "./utils-CLYlhJuc.js";
|
|
4
|
+
import "./pi-embedded-helpers-BZ9GspxK.js";
|
|
5
|
+
import { $t as CHANNEL_TARGET_DESCRIPTION, Qt as CHANNEL_TARGETS_DESCRIPTION, gt as formatTargetDisplay, lt as runMessageAction, yt as CHANNEL_MESSAGE_ACTION_NAMES } from "./reply-DtHlnzOx.js";
|
|
6
|
+
import "./exec-BylR5qWS.js";
|
|
7
|
+
import "./agent-scope-CXxC8FFX.js";
|
|
8
|
+
import "./model-selection-CY6r_3wt.js";
|
|
9
|
+
import { i as loadConfig } from "./config-DaD4FsAn.js";
|
|
10
|
+
import "./boolean-B8-BqKGQ.js";
|
|
11
|
+
import "./env-DlTia1B4.js";
|
|
12
|
+
import "./shell-env-iPnSIi-t.js";
|
|
13
|
+
import "./manifest-registry-qF960vMH.js";
|
|
14
|
+
import "./sessions-BOzeFzuL.js";
|
|
15
|
+
import "./image-ops-Ct3GueyT.js";
|
|
16
|
+
import "./polls-DFISjV7H.js";
|
|
17
|
+
import "./sandbox-pBHlfFdB.js";
|
|
18
|
+
import "./chrome-BaU-H9m7.js";
|
|
19
|
+
import "./auth-DsC5pZ_0.js";
|
|
20
|
+
import "./server-context-Yx4pgBqJ.js";
|
|
21
|
+
import "./skills-4v6-kw0C.js";
|
|
22
|
+
import "./routes-FT0Us8Md.js";
|
|
23
|
+
import "./ports-q535r1PZ.js";
|
|
24
|
+
import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-CMsexA3K.js";
|
|
25
|
+
import { t as getChannelPlugin } from "./plugins-DYcg0qBW.js";
|
|
26
|
+
import "./paths-Dazi-gYo.js";
|
|
27
|
+
import "./tool-images-CgDT0Xzv.js";
|
|
28
|
+
import "./auth-profiles-C-LuhW6c.js";
|
|
29
|
+
import "./file-lock-Z53aFHvY.js";
|
|
30
|
+
import "./model-auth-CHB3EySM.js";
|
|
31
|
+
import "./tokens-SP2Q7i59.js";
|
|
32
|
+
import "./anthropic-direct-runner-BeYCnvZ8.js";
|
|
33
|
+
import { x as runGlobalGatewayStopSafely } from "./deliver-BKzX3YoN.js";
|
|
34
|
+
import "./memory-cli-DLtBA6r5.js";
|
|
35
|
+
import "./manager-D8VCuzru.js";
|
|
36
|
+
import "./sqlite-CpAJt-JS.js";
|
|
37
|
+
import "./redact-SnxRsHjf.js";
|
|
38
|
+
import "./session-CSmfU0D3.js";
|
|
39
|
+
import "./semantic-9rgWUrz3.js";
|
|
40
|
+
import "./loader-Bw2wdN4l.js";
|
|
41
|
+
import "./soul-D9k5zulC.js";
|
|
42
|
+
import "./common-BCW6hLGI.js";
|
|
43
|
+
import "./chunk-CFSle8n5.js";
|
|
44
|
+
import "./parse-timeout-C4WLf3Qy.js";
|
|
45
|
+
import "./client-BWkoTfOH.js";
|
|
46
|
+
import "./call-CDPbPDAr.js";
|
|
47
|
+
import { t as formatDocsLink } from "./links-DcilUrqq.js";
|
|
48
|
+
import { n as runCommandWithRuntime } from "./cli-utils-DcDBK4C5.js";
|
|
49
|
+
import { n as withProgress } from "./progress-CVLvQV_t.js";
|
|
50
|
+
import "./pi-tools.policy-WdTAfqbV.js";
|
|
51
|
+
import "./logging-BstmzK9-.js";
|
|
52
|
+
import "./auth-store-Jvgz2_l1.js";
|
|
53
|
+
import "./control-service-5YtMvm7D.js";
|
|
54
|
+
import "./dispatcher-DzwzLQRk.js";
|
|
55
|
+
import "./pi-model-discovery-Bu4Zr7nI.js";
|
|
56
|
+
import "./noxsoft-auth-CE75mBXE.js";
|
|
57
|
+
import "./delivery-queue-CExaJXRz.js";
|
|
58
|
+
import "./session-cost-usage-BWqR-ik6.js";
|
|
59
|
+
import { t as createDefaultDeps } from "./deps-DyT32VfN.js";
|
|
60
|
+
import { t as collectOption } from "./helpers-CWQnEONe.js";
|
|
61
|
+
import { t as ensurePluginRegistryLoaded } from "./plugin-registry-DePMxn4z.js";
|
|
62
|
+
import { t as renderTable } from "./table-Blmz7glr.js";
|
|
63
|
+
import { t as createOutboundSendDeps } from "./outbound-send-deps-DVfWC4E8.js";
|
|
64
|
+
import { t as formatHelpExamples } from "./help-format-Dt-I_Mls.js";
|
|
65
|
+
|
|
66
|
+
//#region src/infra/outbound/format.ts
|
|
67
|
+
const resolveChannelLabel$1 = (channel) => {
|
|
68
|
+
const pluginLabel = getChannelPlugin(channel)?.meta.label;
|
|
69
|
+
if (pluginLabel) return pluginLabel;
|
|
70
|
+
const normalized = normalizeChatChannelId(channel);
|
|
71
|
+
if (normalized) return getChatChannelMeta(normalized).label;
|
|
72
|
+
return channel;
|
|
73
|
+
};
|
|
74
|
+
function formatOutboundDeliverySummary(channel, result) {
|
|
75
|
+
if (!result) return `✅ Sent via ${resolveChannelLabel$1(channel)}. Message ID: unknown`;
|
|
76
|
+
const base = `✅ Sent via ${resolveChannelLabel$1(result.channel)}. Message ID: ${result.messageId}`;
|
|
77
|
+
if ("chatId" in result) return `${base} (chat ${result.chatId})`;
|
|
78
|
+
if ("channelId" in result) return `${base} (channel ${result.channelId})`;
|
|
79
|
+
if ("roomId" in result) return `${base} (room ${result.roomId})`;
|
|
80
|
+
if ("conversationId" in result) return `${base} (conversation ${result.conversationId})`;
|
|
81
|
+
return base;
|
|
82
|
+
}
|
|
83
|
+
function formatGatewaySummary(params) {
|
|
84
|
+
return `✅ ${params.action ?? "Sent"} via gateway${params.channel ? ` (${params.channel})` : ""}. Message ID: ${params.messageId ?? "unknown"}`;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
//#endregion
|
|
88
|
+
//#region src/commands/message-format.ts
|
|
89
|
+
const shortenText = (value, maxLen) => {
|
|
90
|
+
const chars = Array.from(value);
|
|
91
|
+
if (chars.length <= maxLen) return value;
|
|
92
|
+
return `${chars.slice(0, Math.max(0, maxLen - 1)).join("")}…`;
|
|
93
|
+
};
|
|
94
|
+
const resolveChannelLabel = (channel) => getChannelPlugin(channel)?.meta.label ?? channel;
|
|
95
|
+
function extractMessageId(payload) {
|
|
96
|
+
if (!payload || typeof payload !== "object") return null;
|
|
97
|
+
const direct = payload.messageId;
|
|
98
|
+
if (typeof direct === "string" && direct.trim()) return direct.trim();
|
|
99
|
+
const result = payload.result;
|
|
100
|
+
if (result && typeof result === "object") {
|
|
101
|
+
const nested = result.messageId;
|
|
102
|
+
if (typeof nested === "string" && nested.trim()) return nested.trim();
|
|
103
|
+
}
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
function buildMessageCliJson(result) {
|
|
107
|
+
return {
|
|
108
|
+
action: result.action,
|
|
109
|
+
channel: result.channel,
|
|
110
|
+
dryRun: result.dryRun,
|
|
111
|
+
handledBy: result.handledBy,
|
|
112
|
+
payload: result.payload
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
function renderObjectSummary(payload, opts) {
|
|
116
|
+
if (!payload || typeof payload !== "object") return [String(payload)];
|
|
117
|
+
const obj = payload;
|
|
118
|
+
const keys = Object.keys(obj);
|
|
119
|
+
if (keys.length === 0) return [theme.muted("(empty)")];
|
|
120
|
+
const rows = keys.slice(0, 20).map((k) => {
|
|
121
|
+
const v = obj[k];
|
|
122
|
+
return {
|
|
123
|
+
Key: k,
|
|
124
|
+
Value: shortenText(v == null ? "null" : Array.isArray(v) ? `${v.length} items` : typeof v === "object" ? "object" : typeof v === "string" ? v : typeof v === "number" ? String(v) : typeof v === "boolean" ? v ? "true" : "false" : typeof v === "bigint" ? v.toString() : typeof v === "symbol" ? v.toString() : typeof v === "function" ? "function" : "unknown", 96)
|
|
125
|
+
};
|
|
126
|
+
});
|
|
127
|
+
return [renderTable({
|
|
128
|
+
width: opts.width,
|
|
129
|
+
columns: [{
|
|
130
|
+
key: "Key",
|
|
131
|
+
header: "Key",
|
|
132
|
+
minWidth: 16
|
|
133
|
+
}, {
|
|
134
|
+
key: "Value",
|
|
135
|
+
header: "Value",
|
|
136
|
+
flex: true,
|
|
137
|
+
minWidth: 24
|
|
138
|
+
}],
|
|
139
|
+
rows
|
|
140
|
+
}).trimEnd()];
|
|
141
|
+
}
|
|
142
|
+
function renderMessageList(messages, opts, emptyLabel) {
|
|
143
|
+
const rows = messages.slice(0, 25).map((m) => {
|
|
144
|
+
const msg = m;
|
|
145
|
+
const id = typeof msg.id === "string" && msg.id || typeof msg.ts === "string" && msg.ts || typeof msg.messageId === "string" && msg.messageId || "";
|
|
146
|
+
const authorObj = msg.author;
|
|
147
|
+
const author = typeof msg.authorTag === "string" && msg.authorTag || typeof authorObj?.username === "string" && authorObj.username || typeof msg.user === "string" && msg.user || "";
|
|
148
|
+
const time = typeof msg.timestamp === "string" && msg.timestamp || typeof msg.ts === "string" && msg.ts || "";
|
|
149
|
+
const text = typeof msg.content === "string" && msg.content || typeof msg.text === "string" && msg.text || "";
|
|
150
|
+
return {
|
|
151
|
+
Time: shortenText(time, 28),
|
|
152
|
+
Author: shortenText(author, 22),
|
|
153
|
+
Text: shortenText(text.replace(/\s+/g, " ").trim(), 90),
|
|
154
|
+
Id: shortenText(id, 22)
|
|
155
|
+
};
|
|
156
|
+
});
|
|
157
|
+
if (rows.length === 0) return [theme.muted(emptyLabel)];
|
|
158
|
+
return [renderTable({
|
|
159
|
+
width: opts.width,
|
|
160
|
+
columns: [
|
|
161
|
+
{
|
|
162
|
+
key: "Time",
|
|
163
|
+
header: "Time",
|
|
164
|
+
minWidth: 14
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
key: "Author",
|
|
168
|
+
header: "Author",
|
|
169
|
+
minWidth: 10
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
key: "Text",
|
|
173
|
+
header: "Text",
|
|
174
|
+
flex: true,
|
|
175
|
+
minWidth: 24
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
key: "Id",
|
|
179
|
+
header: "Id",
|
|
180
|
+
minWidth: 10
|
|
181
|
+
}
|
|
182
|
+
],
|
|
183
|
+
rows
|
|
184
|
+
}).trimEnd()];
|
|
185
|
+
}
|
|
186
|
+
function renderMessagesFromPayload(payload, opts) {
|
|
187
|
+
if (!payload || typeof payload !== "object") return null;
|
|
188
|
+
const messages = payload.messages;
|
|
189
|
+
if (!Array.isArray(messages)) return null;
|
|
190
|
+
return renderMessageList(messages, opts, "No messages.");
|
|
191
|
+
}
|
|
192
|
+
function renderPinsFromPayload(payload, opts) {
|
|
193
|
+
if (!payload || typeof payload !== "object") return null;
|
|
194
|
+
const pins = payload.pins;
|
|
195
|
+
if (!Array.isArray(pins)) return null;
|
|
196
|
+
return renderMessageList(pins, opts, "No pins.");
|
|
197
|
+
}
|
|
198
|
+
function extractDiscordSearchResultsMessages(results) {
|
|
199
|
+
if (!results || typeof results !== "object") return null;
|
|
200
|
+
const raw = results.messages;
|
|
201
|
+
if (!Array.isArray(raw)) return null;
|
|
202
|
+
const flattened = [];
|
|
203
|
+
for (const entry of raw) if (Array.isArray(entry) && entry.length > 0) flattened.push(entry[0]);
|
|
204
|
+
else if (entry && typeof entry === "object") flattened.push(entry);
|
|
205
|
+
return flattened.length ? flattened : null;
|
|
206
|
+
}
|
|
207
|
+
function renderReactions(payload, opts) {
|
|
208
|
+
if (!payload || typeof payload !== "object") return null;
|
|
209
|
+
const reactions = payload.reactions;
|
|
210
|
+
if (!Array.isArray(reactions)) return null;
|
|
211
|
+
const rows = reactions.slice(0, 50).map((r) => {
|
|
212
|
+
const entry = r;
|
|
213
|
+
const emojiObj = entry.emoji;
|
|
214
|
+
return {
|
|
215
|
+
Emoji: typeof emojiObj?.raw === "string" && emojiObj.raw || typeof entry.name === "string" && entry.name || typeof entry.emoji === "string" && entry.emoji || "",
|
|
216
|
+
Count: typeof entry.count === "number" ? String(entry.count) : "",
|
|
217
|
+
Users: shortenText((Array.isArray(entry.users) ? entry.users.slice(0, 8).map((u) => {
|
|
218
|
+
if (typeof u === "string") return u;
|
|
219
|
+
if (!u || typeof u !== "object") return "";
|
|
220
|
+
const user = u;
|
|
221
|
+
return typeof user.tag === "string" && user.tag || typeof user.username === "string" && user.username || typeof user.id === "string" && user.id || "";
|
|
222
|
+
}).filter(Boolean) : []).join(", "), 72)
|
|
223
|
+
};
|
|
224
|
+
});
|
|
225
|
+
if (rows.length === 0) return [theme.muted("No reactions.")];
|
|
226
|
+
return [renderTable({
|
|
227
|
+
width: opts.width,
|
|
228
|
+
columns: [
|
|
229
|
+
{
|
|
230
|
+
key: "Emoji",
|
|
231
|
+
header: "Emoji",
|
|
232
|
+
minWidth: 8
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
key: "Count",
|
|
236
|
+
header: "Count",
|
|
237
|
+
align: "right",
|
|
238
|
+
minWidth: 6
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
key: "Users",
|
|
242
|
+
header: "Users",
|
|
243
|
+
flex: true,
|
|
244
|
+
minWidth: 20
|
|
245
|
+
}
|
|
246
|
+
],
|
|
247
|
+
rows
|
|
248
|
+
}).trimEnd()];
|
|
249
|
+
}
|
|
250
|
+
function formatMessageCliText(result) {
|
|
251
|
+
const rich = isRich();
|
|
252
|
+
const ok = (text) => rich ? theme.success(text) : text;
|
|
253
|
+
const muted = (text) => rich ? theme.muted(text) : text;
|
|
254
|
+
const heading = (text) => rich ? theme.heading(text) : text;
|
|
255
|
+
const opts = { width: Math.max(60, (process.stdout.columns ?? 120) - 1) };
|
|
256
|
+
if (result.handledBy === "dry-run") return [muted(`[dry-run] would run ${result.action} via ${result.channel}`)];
|
|
257
|
+
if (result.kind === "broadcast") {
|
|
258
|
+
const results = result.payload.results ?? [];
|
|
259
|
+
const rows = results.map((entry) => ({
|
|
260
|
+
Channel: resolveChannelLabel(entry.channel),
|
|
261
|
+
Target: shortenText(formatTargetDisplay({
|
|
262
|
+
channel: entry.channel,
|
|
263
|
+
target: entry.to
|
|
264
|
+
}), 36),
|
|
265
|
+
Status: entry.ok ? "ok" : "error",
|
|
266
|
+
Error: entry.ok ? "" : shortenText(entry.error ?? "unknown error", 48)
|
|
267
|
+
}));
|
|
268
|
+
const okCount = results.filter((entry) => entry.ok).length;
|
|
269
|
+
const total = results.length;
|
|
270
|
+
return [ok(`✅ Broadcast complete (${okCount}/${total} succeeded, ${total - okCount} failed)`), renderTable({
|
|
271
|
+
width: opts.width,
|
|
272
|
+
columns: [
|
|
273
|
+
{
|
|
274
|
+
key: "Channel",
|
|
275
|
+
header: "Channel",
|
|
276
|
+
minWidth: 10
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
key: "Target",
|
|
280
|
+
header: "Target",
|
|
281
|
+
minWidth: 12,
|
|
282
|
+
flex: true
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
key: "Status",
|
|
286
|
+
header: "Status",
|
|
287
|
+
minWidth: 6
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
key: "Error",
|
|
291
|
+
header: "Error",
|
|
292
|
+
minWidth: 20,
|
|
293
|
+
flex: true
|
|
294
|
+
}
|
|
295
|
+
],
|
|
296
|
+
rows: rows.slice(0, 50)
|
|
297
|
+
}).trimEnd()];
|
|
298
|
+
}
|
|
299
|
+
if (result.kind === "send") {
|
|
300
|
+
if (result.handledBy === "core" && result.sendResult) {
|
|
301
|
+
const send = result.sendResult;
|
|
302
|
+
if (send.via === "direct") {
|
|
303
|
+
const directResult = send.result;
|
|
304
|
+
return [ok(formatOutboundDeliverySummary(send.channel, directResult))];
|
|
305
|
+
}
|
|
306
|
+
const gatewayResult = send.result;
|
|
307
|
+
return [ok(formatGatewaySummary({
|
|
308
|
+
channel: send.channel,
|
|
309
|
+
messageId: gatewayResult?.messageId ?? null
|
|
310
|
+
}))];
|
|
311
|
+
}
|
|
312
|
+
const label = resolveChannelLabel(result.channel);
|
|
313
|
+
const msgId = extractMessageId(result.payload);
|
|
314
|
+
return [ok(`✅ Sent via ${label}.${msgId ? ` Message ID: ${msgId}` : ""}`)];
|
|
315
|
+
}
|
|
316
|
+
if (result.kind === "poll") {
|
|
317
|
+
if (result.handledBy === "core" && result.pollResult) {
|
|
318
|
+
const poll = result.pollResult;
|
|
319
|
+
const pollId = poll.result?.pollId;
|
|
320
|
+
const msgId = poll.result?.messageId ?? null;
|
|
321
|
+
const lines = [ok(formatGatewaySummary({
|
|
322
|
+
action: "Poll sent",
|
|
323
|
+
channel: poll.channel,
|
|
324
|
+
messageId: msgId
|
|
325
|
+
}))];
|
|
326
|
+
if (pollId) lines.push(ok(`Poll id: ${pollId}`));
|
|
327
|
+
return lines;
|
|
328
|
+
}
|
|
329
|
+
const label = resolveChannelLabel(result.channel);
|
|
330
|
+
const msgId = extractMessageId(result.payload);
|
|
331
|
+
return [ok(`✅ Poll sent via ${label}.${msgId ? ` Message ID: ${msgId}` : ""}`)];
|
|
332
|
+
}
|
|
333
|
+
const payload = result.payload;
|
|
334
|
+
const lines = [];
|
|
335
|
+
if (result.action === "react") {
|
|
336
|
+
const added = payload.added;
|
|
337
|
+
const removed = payload.removed;
|
|
338
|
+
if (typeof added === "string" && added.trim()) {
|
|
339
|
+
lines.push(ok(`✅ Reaction added: ${added.trim()}`));
|
|
340
|
+
return lines;
|
|
341
|
+
}
|
|
342
|
+
if (typeof removed === "string" && removed.trim()) {
|
|
343
|
+
lines.push(ok(`✅ Reaction removed: ${removed.trim()}`));
|
|
344
|
+
return lines;
|
|
345
|
+
}
|
|
346
|
+
if (Array.isArray(removed)) {
|
|
347
|
+
const list = removed.map((x) => String(x).trim()).filter(Boolean).join(", ");
|
|
348
|
+
lines.push(ok(`✅ Reactions removed${list ? `: ${list}` : ""}`));
|
|
349
|
+
return lines;
|
|
350
|
+
}
|
|
351
|
+
lines.push(ok("✅ Reaction updated."));
|
|
352
|
+
return lines;
|
|
353
|
+
}
|
|
354
|
+
const reactionsTable = renderReactions(payload, opts);
|
|
355
|
+
if (reactionsTable && result.action === "reactions") {
|
|
356
|
+
lines.push(heading("Reactions"));
|
|
357
|
+
lines.push(reactionsTable[0] ?? "");
|
|
358
|
+
return lines;
|
|
359
|
+
}
|
|
360
|
+
if (result.action === "read") {
|
|
361
|
+
const messagesTable = renderMessagesFromPayload(payload, opts);
|
|
362
|
+
if (messagesTable) {
|
|
363
|
+
lines.push(heading("Messages"));
|
|
364
|
+
lines.push(messagesTable[0] ?? "");
|
|
365
|
+
return lines;
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
if (result.action === "list-pins") {
|
|
369
|
+
const pinsTable = renderPinsFromPayload(payload, opts);
|
|
370
|
+
if (pinsTable) {
|
|
371
|
+
lines.push(heading("Pinned messages"));
|
|
372
|
+
lines.push(pinsTable[0] ?? "");
|
|
373
|
+
return lines;
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
if (result.action === "search") {
|
|
377
|
+
const results = payload.results;
|
|
378
|
+
const list = extractDiscordSearchResultsMessages(results);
|
|
379
|
+
if (list) {
|
|
380
|
+
lines.push(heading("Search results"));
|
|
381
|
+
lines.push(renderMessageList(list, opts, "No results.")[0] ?? "");
|
|
382
|
+
return lines;
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
lines.push(ok(`✅ ${result.action} via ${resolveChannelLabel(result.channel)}.`));
|
|
386
|
+
const summary = renderObjectSummary(payload, opts);
|
|
387
|
+
if (summary.length) {
|
|
388
|
+
lines.push("");
|
|
389
|
+
lines.push(...summary);
|
|
390
|
+
lines.push("");
|
|
391
|
+
lines.push(muted("Tip: use --json for full output."));
|
|
392
|
+
}
|
|
393
|
+
return lines;
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
//#endregion
|
|
397
|
+
//#region src/commands/message.ts
|
|
398
|
+
async function messageCommand(opts, deps, runtime) {
|
|
399
|
+
const cfg = loadConfig();
|
|
400
|
+
const actionInput = (typeof opts.action === "string" ? opts.action.trim() : "") || "send";
|
|
401
|
+
const actionMatch = CHANNEL_MESSAGE_ACTION_NAMES.find((name) => name.toLowerCase() === actionInput.toLowerCase());
|
|
402
|
+
if (!actionMatch) throw new Error(`Unknown message action: ${actionInput}`);
|
|
403
|
+
const action = actionMatch;
|
|
404
|
+
const outboundDeps = createOutboundSendDeps(deps);
|
|
405
|
+
const run = async () => await runMessageAction({
|
|
406
|
+
cfg,
|
|
407
|
+
action,
|
|
408
|
+
params: opts,
|
|
409
|
+
deps: outboundDeps,
|
|
410
|
+
gateway: {
|
|
411
|
+
clientName: GATEWAY_CLIENT_NAMES.CLI,
|
|
412
|
+
mode: GATEWAY_CLIENT_MODES.CLI
|
|
413
|
+
}
|
|
414
|
+
});
|
|
415
|
+
const json = opts.json === true;
|
|
416
|
+
const dryRun = opts.dryRun === true;
|
|
417
|
+
const result = !json && !dryRun && (action === "send" || action === "poll") ? await withProgress({
|
|
418
|
+
label: action === "poll" ? "Sending poll..." : "Sending...",
|
|
419
|
+
indeterminate: true,
|
|
420
|
+
enabled: true
|
|
421
|
+
}, run) : await run();
|
|
422
|
+
if (json) {
|
|
423
|
+
runtime.log(JSON.stringify(buildMessageCliJson(result), null, 2));
|
|
424
|
+
return;
|
|
425
|
+
}
|
|
426
|
+
for (const line of formatMessageCliText(result)) runtime.log(line);
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
//#endregion
|
|
430
|
+
//#region src/cli/program/message/helpers.ts
|
|
431
|
+
function normalizeMessageOptions(opts) {
|
|
432
|
+
const { account, ...rest } = opts;
|
|
433
|
+
return {
|
|
434
|
+
...rest,
|
|
435
|
+
accountId: typeof account === "string" ? account : void 0
|
|
436
|
+
};
|
|
437
|
+
}
|
|
438
|
+
async function runPluginStopHooks() {
|
|
439
|
+
await runGlobalGatewayStopSafely({
|
|
440
|
+
event: { reason: "cli message action complete" },
|
|
441
|
+
ctx: {},
|
|
442
|
+
onError: (err) => defaultRuntime.error(danger(`gateway_stop hook failed: ${String(err)}`))
|
|
443
|
+
});
|
|
444
|
+
}
|
|
445
|
+
function createMessageCliHelpers(message, messageChannelOptions) {
|
|
446
|
+
const withMessageBase = (command) => command.option("--channel <channel>", `Channel: ${messageChannelOptions}`).option("--account <id>", "Channel account id (accountId)").option("--json", "Output result as JSON", false).option("--dry-run", "Print payload and skip sending", false).option("--verbose", "Verbose logging", false);
|
|
447
|
+
const withMessageTarget = (command) => command.option("-t, --target <dest>", CHANNEL_TARGET_DESCRIPTION);
|
|
448
|
+
const withRequiredMessageTarget = (command) => command.requiredOption("-t, --target <dest>", CHANNEL_TARGET_DESCRIPTION);
|
|
449
|
+
const runMessageAction = async (action, opts) => {
|
|
450
|
+
setVerbose(Boolean(opts.verbose));
|
|
451
|
+
ensurePluginRegistryLoaded();
|
|
452
|
+
const deps = createDefaultDeps();
|
|
453
|
+
let failed = false;
|
|
454
|
+
await runCommandWithRuntime(defaultRuntime, async () => {
|
|
455
|
+
await messageCommand({
|
|
456
|
+
...normalizeMessageOptions(opts),
|
|
457
|
+
action
|
|
458
|
+
}, deps, defaultRuntime);
|
|
459
|
+
}, (err) => {
|
|
460
|
+
failed = true;
|
|
461
|
+
defaultRuntime.error(danger(String(err)));
|
|
462
|
+
});
|
|
463
|
+
await runPluginStopHooks();
|
|
464
|
+
defaultRuntime.exit(failed ? 1 : 0);
|
|
465
|
+
};
|
|
466
|
+
return {
|
|
467
|
+
withMessageBase,
|
|
468
|
+
withMessageTarget,
|
|
469
|
+
withRequiredMessageTarget,
|
|
470
|
+
runMessageAction
|
|
471
|
+
};
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
//#endregion
|
|
475
|
+
//#region src/cli/program/message/register.broadcast.ts
|
|
476
|
+
function registerMessageBroadcastCommand(message, helpers) {
|
|
477
|
+
helpers.withMessageBase(message.command("broadcast").description("Broadcast a message to multiple targets")).requiredOption("--targets <target...>", CHANNEL_TARGETS_DESCRIPTION).option("--message <text>", "Message to send").option("--media <url>", "Media URL").action(async (options) => {
|
|
478
|
+
await helpers.runMessageAction("broadcast", options);
|
|
479
|
+
});
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
//#endregion
|
|
483
|
+
//#region src/cli/program/message/register.discord-admin.ts
|
|
484
|
+
function registerMessageDiscordAdminCommands(message, helpers) {
|
|
485
|
+
const role = message.command("role").description("Role actions");
|
|
486
|
+
helpers.withMessageBase(role.command("info").description("List roles").requiredOption("--guild-id <id>", "Guild id")).action(async (opts) => {
|
|
487
|
+
await helpers.runMessageAction("role-info", opts);
|
|
488
|
+
});
|
|
489
|
+
helpers.withMessageBase(role.command("add").description("Add role to a member").requiredOption("--guild-id <id>", "Guild id").requiredOption("--user-id <id>", "User id").requiredOption("--role-id <id>", "Role id")).action(async (opts) => {
|
|
490
|
+
await helpers.runMessageAction("role-add", opts);
|
|
491
|
+
});
|
|
492
|
+
helpers.withMessageBase(role.command("remove").description("Remove role from a member").requiredOption("--guild-id <id>", "Guild id").requiredOption("--user-id <id>", "User id").requiredOption("--role-id <id>", "Role id")).action(async (opts) => {
|
|
493
|
+
await helpers.runMessageAction("role-remove", opts);
|
|
494
|
+
});
|
|
495
|
+
const channel = message.command("channel").description("Channel actions");
|
|
496
|
+
helpers.withMessageBase(helpers.withRequiredMessageTarget(channel.command("info").description("Fetch channel info"))).action(async (opts) => {
|
|
497
|
+
await helpers.runMessageAction("channel-info", opts);
|
|
498
|
+
});
|
|
499
|
+
helpers.withMessageBase(channel.command("list").description("List channels").requiredOption("--guild-id <id>", "Guild id")).action(async (opts) => {
|
|
500
|
+
await helpers.runMessageAction("channel-list", opts);
|
|
501
|
+
});
|
|
502
|
+
const member = message.command("member").description("Member actions");
|
|
503
|
+
helpers.withMessageBase(member.command("info").description("Fetch member info").requiredOption("--user-id <id>", "User id")).option("--guild-id <id>", "Guild id (Discord)").action(async (opts) => {
|
|
504
|
+
await helpers.runMessageAction("member-info", opts);
|
|
505
|
+
});
|
|
506
|
+
const voice = message.command("voice").description("Voice actions");
|
|
507
|
+
helpers.withMessageBase(voice.command("status").description("Fetch voice status").requiredOption("--guild-id <id>", "Guild id").requiredOption("--user-id <id>", "User id")).action(async (opts) => {
|
|
508
|
+
await helpers.runMessageAction("voice-status", opts);
|
|
509
|
+
});
|
|
510
|
+
const event = message.command("event").description("Event actions");
|
|
511
|
+
helpers.withMessageBase(event.command("list").description("List scheduled events").requiredOption("--guild-id <id>", "Guild id")).action(async (opts) => {
|
|
512
|
+
await helpers.runMessageAction("event-list", opts);
|
|
513
|
+
});
|
|
514
|
+
helpers.withMessageBase(event.command("create").description("Create a scheduled event").requiredOption("--guild-id <id>", "Guild id").requiredOption("--event-name <name>", "Event name").requiredOption("--start-time <iso>", "Event start time")).option("--end-time <iso>", "Event end time").option("--desc <text>", "Event description").option("--channel-id <id>", "Channel id").option("--location <text>", "Event location").option("--event-type <stage|external|voice>", "Event type").action(async (opts) => {
|
|
515
|
+
await helpers.runMessageAction("event-create", opts);
|
|
516
|
+
});
|
|
517
|
+
helpers.withMessageBase(message.command("timeout").description("Timeout a member").requiredOption("--guild-id <id>", "Guild id").requiredOption("--user-id <id>", "User id")).option("--duration-min <n>", "Timeout duration minutes").option("--until <iso>", "Timeout until").option("--reason <text>", "Moderation reason").action(async (opts) => {
|
|
518
|
+
await helpers.runMessageAction("timeout", opts);
|
|
519
|
+
});
|
|
520
|
+
helpers.withMessageBase(message.command("kick").description("Kick a member").requiredOption("--guild-id <id>", "Guild id").requiredOption("--user-id <id>", "User id")).option("--reason <text>", "Moderation reason").action(async (opts) => {
|
|
521
|
+
await helpers.runMessageAction("kick", opts);
|
|
522
|
+
});
|
|
523
|
+
helpers.withMessageBase(message.command("ban").description("Ban a member").requiredOption("--guild-id <id>", "Guild id").requiredOption("--user-id <id>", "User id")).option("--reason <text>", "Moderation reason").option("--delete-days <n>", "Ban delete message days").action(async (opts) => {
|
|
524
|
+
await helpers.runMessageAction("ban", opts);
|
|
525
|
+
});
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
//#endregion
|
|
529
|
+
//#region src/cli/program/message/register.emoji-sticker.ts
|
|
530
|
+
function registerMessageEmojiCommands(message, helpers) {
|
|
531
|
+
const emoji = message.command("emoji").description("Emoji actions");
|
|
532
|
+
helpers.withMessageBase(emoji.command("list").description("List emojis")).option("--guild-id <id>", "Guild id (Discord)").action(async (opts) => {
|
|
533
|
+
await helpers.runMessageAction("emoji-list", opts);
|
|
534
|
+
});
|
|
535
|
+
helpers.withMessageBase(emoji.command("upload").description("Upload an emoji").requiredOption("--guild-id <id>", "Guild id")).requiredOption("--emoji-name <name>", "Emoji name").requiredOption("--media <path-or-url>", "Emoji media (path or URL)").option("--role-ids <id>", "Role id (repeat)", collectOption, []).action(async (opts) => {
|
|
536
|
+
await helpers.runMessageAction("emoji-upload", opts);
|
|
537
|
+
});
|
|
538
|
+
}
|
|
539
|
+
function registerMessageStickerCommands(message, helpers) {
|
|
540
|
+
const sticker = message.command("sticker").description("Sticker actions");
|
|
541
|
+
helpers.withMessageBase(helpers.withRequiredMessageTarget(sticker.command("send").description("Send stickers"))).requiredOption("--sticker-id <id>", "Sticker id (repeat)", collectOption).option("-m, --message <text>", "Optional message body").action(async (opts) => {
|
|
542
|
+
await helpers.runMessageAction("sticker", opts);
|
|
543
|
+
});
|
|
544
|
+
helpers.withMessageBase(sticker.command("upload").description("Upload a sticker").requiredOption("--guild-id <id>", "Guild id")).requiredOption("--sticker-name <name>", "Sticker name").requiredOption("--sticker-desc <text>", "Sticker description").requiredOption("--sticker-tags <tags>", "Sticker tags").requiredOption("--media <path-or-url>", "Sticker media (path or URL)").action(async (opts) => {
|
|
545
|
+
await helpers.runMessageAction("sticker-upload", opts);
|
|
546
|
+
});
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
//#endregion
|
|
550
|
+
//#region src/cli/program/message/register.permissions-search.ts
|
|
551
|
+
function registerMessagePermissionsCommand(message, helpers) {
|
|
552
|
+
helpers.withMessageBase(helpers.withRequiredMessageTarget(message.command("permissions").description("Fetch channel permissions"))).action(async (opts) => {
|
|
553
|
+
await helpers.runMessageAction("permissions", opts);
|
|
554
|
+
});
|
|
555
|
+
}
|
|
556
|
+
function registerMessageSearchCommand(message, helpers) {
|
|
557
|
+
helpers.withMessageBase(message.command("search").description("Search Discord messages")).requiredOption("--guild-id <id>", "Guild id").requiredOption("--query <text>", "Search query").option("--channel-id <id>", "Channel id").option("--channel-ids <id>", "Channel id (repeat)", collectOption, []).option("--author-id <id>", "Author id").option("--author-ids <id>", "Author id (repeat)", collectOption, []).option("--limit <n>", "Result limit").action(async (opts) => {
|
|
558
|
+
await helpers.runMessageAction("search", opts);
|
|
559
|
+
});
|
|
560
|
+
}
|
|
561
|
+
|
|
562
|
+
//#endregion
|
|
563
|
+
//#region src/cli/program/message/register.pins.ts
|
|
564
|
+
function registerMessagePinCommands(message, helpers) {
|
|
565
|
+
helpers.withMessageBase(helpers.withRequiredMessageTarget(message.command("pin").description("Pin a message"))).requiredOption("--message-id <id>", "Message id").action(async (opts) => {
|
|
566
|
+
await helpers.runMessageAction("pin", opts);
|
|
567
|
+
}), helpers.withMessageBase(helpers.withRequiredMessageTarget(message.command("unpin").description("Unpin a message"))).requiredOption("--message-id <id>", "Message id").action(async (opts) => {
|
|
568
|
+
await helpers.runMessageAction("unpin", opts);
|
|
569
|
+
}), helpers.withMessageBase(helpers.withRequiredMessageTarget(message.command("pins").description("List pinned messages"))).option("--limit <n>", "Result limit").action(async (opts) => {
|
|
570
|
+
await helpers.runMessageAction("list-pins", opts);
|
|
571
|
+
});
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
//#endregion
|
|
575
|
+
//#region src/cli/program/message/register.poll.ts
|
|
576
|
+
function registerMessagePollCommand(message, helpers) {
|
|
577
|
+
helpers.withMessageBase(helpers.withRequiredMessageTarget(message.command("poll").description("Send a poll"))).requiredOption("--poll-question <text>", "Poll question").option("--poll-option <choice>", "Poll option (repeat 2-12 times)", collectOption, []).option("--poll-multi", "Allow multiple selections", false).option("--poll-duration-hours <n>", "Poll duration in hours (Discord)").option("--poll-duration-seconds <n>", "Poll duration in seconds (Telegram; 5-600)").option("--poll-anonymous", "Send an anonymous poll (Telegram)", false).option("--poll-public", "Send a non-anonymous poll (Telegram)", false).option("-m, --message <text>", "Optional message body").option("--silent", "Send poll silently without notification (Telegram + Discord where supported)", false).option("--thread-id <id>", "Thread id (Telegram forum topic / Slack thread ts)").action(async (opts) => {
|
|
578
|
+
await helpers.runMessageAction("poll", opts);
|
|
579
|
+
});
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
//#endregion
|
|
583
|
+
//#region src/cli/program/message/register.reactions.ts
|
|
584
|
+
function registerMessageReactionsCommands(message, helpers) {
|
|
585
|
+
helpers.withMessageBase(helpers.withRequiredMessageTarget(message.command("react").description("Add or remove a reaction"))).requiredOption("--message-id <id>", "Message id").option("--emoji <emoji>", "Emoji for reactions").option("--remove", "Remove reaction", false).option("--participant <id>", "WhatsApp reaction participant").option("--from-me", "WhatsApp reaction fromMe", false).option("--target-author <id>", "Signal reaction target author (uuid or phone)").option("--target-author-uuid <uuid>", "Signal reaction target author uuid").action(async (opts) => {
|
|
586
|
+
await helpers.runMessageAction("react", opts);
|
|
587
|
+
});
|
|
588
|
+
helpers.withMessageBase(helpers.withRequiredMessageTarget(message.command("reactions").description("List reactions on a message"))).requiredOption("--message-id <id>", "Message id").option("--limit <n>", "Result limit").action(async (opts) => {
|
|
589
|
+
await helpers.runMessageAction("reactions", opts);
|
|
590
|
+
});
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
//#endregion
|
|
594
|
+
//#region src/cli/program/message/register.read-edit-delete.ts
|
|
595
|
+
function registerMessageReadEditDeleteCommands(message, helpers) {
|
|
596
|
+
helpers.withMessageBase(helpers.withRequiredMessageTarget(message.command("read").description("Read recent messages"))).option("--limit <n>", "Result limit").option("--before <id>", "Read/search before id").option("--after <id>", "Read/search after id").option("--around <id>", "Read around id").option("--include-thread", "Include thread replies (Discord)", false).action(async (opts) => {
|
|
597
|
+
await helpers.runMessageAction("read", opts);
|
|
598
|
+
});
|
|
599
|
+
helpers.withMessageBase(helpers.withRequiredMessageTarget(message.command("edit").description("Edit a message").requiredOption("--message-id <id>", "Message id").requiredOption("-m, --message <text>", "Message body"))).option("--thread-id <id>", "Thread id (Telegram forum thread)").action(async (opts) => {
|
|
600
|
+
await helpers.runMessageAction("edit", opts);
|
|
601
|
+
});
|
|
602
|
+
helpers.withMessageBase(helpers.withRequiredMessageTarget(message.command("delete").description("Delete a message").requiredOption("--message-id <id>", "Message id"))).action(async (opts) => {
|
|
603
|
+
await helpers.runMessageAction("delete", opts);
|
|
604
|
+
});
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
//#endregion
|
|
608
|
+
//#region src/cli/program/message/register.send.ts
|
|
609
|
+
function registerMessageSendCommand(message, helpers) {
|
|
610
|
+
helpers.withMessageBase(helpers.withRequiredMessageTarget(message.command("send").description("Send a message").option("-m, --message <text>", "Message body (required unless --media is set)")).option("--media <path-or-url>", "Attach media (image/audio/video/document). Accepts local paths or URLs.").option("--buttons <json>", "Telegram inline keyboard buttons as JSON (array of button rows)").option("--card <json>", "Adaptive Card JSON object (when supported by the channel)").option("--reply-to <id>", "Reply-to message id").option("--thread-id <id>", "Thread id (Telegram forum thread)").option("--gif-playback", "Treat video media as GIF playback (WhatsApp only).", false).option("--silent", "Send message silently without notification (Telegram + Discord)", false)).action(async (opts) => {
|
|
611
|
+
await helpers.runMessageAction("send", opts);
|
|
612
|
+
});
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
//#endregion
|
|
616
|
+
//#region src/cli/program/message/register.thread.ts
|
|
617
|
+
function registerMessageThreadCommands(message, helpers) {
|
|
618
|
+
const thread = message.command("thread").description("Thread actions");
|
|
619
|
+
helpers.withMessageBase(helpers.withRequiredMessageTarget(thread.command("create").description("Create a thread").requiredOption("--thread-name <name>", "Thread name"))).option("--message-id <id>", "Message id (optional)").option("-m, --message <text>", "Initial thread message text").option("--auto-archive-min <n>", "Thread auto-archive minutes").action(async (opts) => {
|
|
620
|
+
await helpers.runMessageAction("thread-create", opts);
|
|
621
|
+
});
|
|
622
|
+
helpers.withMessageBase(thread.command("list").description("List threads").requiredOption("--guild-id <id>", "Guild id")).option("--channel-id <id>", "Channel id").option("--include-archived", "Include archived threads", false).option("--before <id>", "Read/search before id").option("--limit <n>", "Result limit").action(async (opts) => {
|
|
623
|
+
await helpers.runMessageAction("thread-list", opts);
|
|
624
|
+
});
|
|
625
|
+
helpers.withMessageBase(helpers.withRequiredMessageTarget(thread.command("reply").description("Reply in a thread").requiredOption("-m, --message <text>", "Message body"))).option("--media <path-or-url>", "Attach media (image/audio/video/document). Accepts local paths or URLs.").option("--reply-to <id>", "Reply-to message id").action(async (opts) => {
|
|
626
|
+
await helpers.runMessageAction("thread-reply", opts);
|
|
627
|
+
});
|
|
628
|
+
}
|
|
629
|
+
|
|
630
|
+
//#endregion
|
|
631
|
+
//#region src/cli/program/register.message.ts
|
|
632
|
+
function registerMessageCommands(program, ctx) {
|
|
633
|
+
const message = program.command("message").description("Send messages and perform channel actions").addHelpText("after", () => `
|
|
634
|
+
${theme.heading("Examples:")}
|
|
635
|
+
${formatHelpExamples([
|
|
636
|
+
["anima message send --target +15555550123 --message \"Hi\"", "Send a text message."],
|
|
637
|
+
["anima message send --target +15555550123 --message \"Hi\" --media photo.jpg", "Send a message with media."],
|
|
638
|
+
["anima message poll --channel discord --target channel:123 --poll-question \"Snack?\" --poll-option Pizza --poll-option Sushi", "Create a Discord poll."],
|
|
639
|
+
["anima message react --channel discord --target 123 --message-id 456 --emoji \"✅\"", "React to a message."]
|
|
640
|
+
])}
|
|
641
|
+
|
|
642
|
+
${theme.muted("Docs:")} ${formatDocsLink("/cli/message", "docs.noxsoft.net/anima/cli/message")}`).action(() => {
|
|
643
|
+
message.help({ error: true });
|
|
644
|
+
});
|
|
645
|
+
const helpers = createMessageCliHelpers(message, ctx.messageChannelOptions);
|
|
646
|
+
registerMessageSendCommand(message, helpers);
|
|
647
|
+
registerMessageBroadcastCommand(message, helpers);
|
|
648
|
+
registerMessagePollCommand(message, helpers);
|
|
649
|
+
registerMessageReactionsCommands(message, helpers);
|
|
650
|
+
registerMessageReadEditDeleteCommands(message, helpers);
|
|
651
|
+
registerMessagePinCommands(message, helpers);
|
|
652
|
+
registerMessagePermissionsCommand(message, helpers);
|
|
653
|
+
registerMessageSearchCommand(message, helpers);
|
|
654
|
+
registerMessageThreadCommands(message, helpers);
|
|
655
|
+
registerMessageEmojiCommands(message, helpers);
|
|
656
|
+
registerMessageStickerCommands(message, helpers);
|
|
657
|
+
registerMessageDiscordAdminCommands(message, helpers);
|
|
658
|
+
}
|
|
659
|
+
|
|
660
|
+
//#endregion
|
|
661
|
+
export { registerMessageCommands };
|