abtars 0.3.3 → 0.3.4-alpha.1
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/bundle/{_registry.generated-7DRCE4V6.js → _registry.generated-ZJBAZMXN.js} +16 -15
- package/bundle/{_registry.generated-7DRCE4V6.js.map → _registry.generated-ZJBAZMXN.js.map} +1 -1
- package/bundle/abtars-browser.js +6 -5
- package/bundle/abtars-browser.js.map +1 -1
- package/bundle/abtars-cli.js +47 -39
- package/bundle/abtars-cli.js.map +2 -2
- package/bundle/abtars-restart.js +7 -7
- package/bundle/abtars-rss.js +2 -1
- package/bundle/abtars-rss.js.map +2 -2
- package/bundle/abtars-task.js +6 -5
- package/bundle/abtars-task.js.map +1 -1
- package/bundle/abtars-todo.js +2 -1
- package/bundle/abtars-todo.js.map +1 -1
- package/bundle/abtars.js +299 -209
- package/bundle/abtars.js.map +4 -4
- package/bundle/{acp-raw-client-AZJCEB6S.js → acp-raw-client-YTBGFN4S.js} +4 -3
- package/bundle/{acp-raw-client-AZJCEB6S.js.map → acp-raw-client-YTBGFN4S.js.map} +1 -1
- package/bundle/{action-gate-QYJL57IX.js → action-gate-YISTP773.js} +4 -3
- package/bundle/{action-gate-QYJL57IX.js.map → action-gate-YISTP773.js.map} +1 -1
- package/bundle/{agent-api-adapter-PYMNQXHE.js → agent-api-adapter-E4HWVJ32.js} +5 -4
- package/bundle/{agent-api-adapter-PYMNQXHE.js.map → agent-api-adapter-E4HWVJ32.js.map} +1 -1
- package/bundle/{agent-api-rate-limit-4GEZ4YN5.js → agent-api-rate-limit-VENFGOAD.js} +6 -5
- package/bundle/{agent-registry-563P4EUJ.js → agent-registry-DL7UT272.js} +9 -8
- package/bundle/bootstrap-V5MROD3X.js +62 -0
- package/bundle/bootstrap-V5MROD3X.js.map +7 -0
- package/bundle/{bridge-lock-transport-LXCF2IVN.js → bridge-lock-transport-BJAMHMXW.js} +6 -5
- package/bundle/{browser-2VZOGOGX.js → browser-PT54UWSW.js} +8 -7
- package/bundle/{budget-PPA7WY3D.js → budget-QNK6IIT6.js} +5 -4
- package/bundle/{budget-PPA7WY3D.js.map → budget-QNK6IIT6.js.map} +1 -1
- package/bundle/{capability-WXEA2WFK.js → capability-EKPGHQIO.js} +7 -6
- package/bundle/{chunk-C3EYYJN3.js → chunk-2BXXQG7P.js} +16 -4
- package/bundle/chunk-2BXXQG7P.js.map +7 -0
- package/bundle/{chunk-4PIVWXUJ.js → chunk-2ZD7VQRW.js} +2 -2
- package/bundle/{chunk-OY2HAK33.js → chunk-36ZEYDKZ.js} +1 -1
- package/bundle/chunk-36ZEYDKZ.js.map +7 -0
- package/bundle/{chunk-3QW2K53E.js → chunk-4IGLXZCC.js} +11 -19
- package/bundle/chunk-4IGLXZCC.js.map +7 -0
- package/bundle/{chunk-T7TAWGBX.js → chunk-52PQM4EZ.js} +2 -2
- package/bundle/{chunk-2RGR3LSV.js → chunk-5P5HF7IJ.js} +2 -2
- package/bundle/{chunk-LE23VPN3.js → chunk-63A7ZRIH.js} +4 -4
- package/bundle/{chunk-LE23VPN3.js.map → chunk-63A7ZRIH.js.map} +1 -1
- package/bundle/chunk-6IB3GVXK.js +77 -0
- package/bundle/chunk-6IB3GVXK.js.map +7 -0
- package/bundle/{chunk-OOKNHOCB.js → chunk-6S3G6GPO.js} +2 -2
- package/bundle/{chunk-E7MV7WFT.js → chunk-6VTHSN4V.js} +6 -6
- package/bundle/{chunk-NGZVJ52F.js → chunk-76YN7O3U.js} +7 -7
- package/bundle/{chunk-43DKPXTP.js → chunk-7LORCJCQ.js} +4 -4
- package/bundle/{chunk-HDOFJVFS.js → chunk-7OI46MH7.js} +3 -3
- package/bundle/{chunk-H2K23MOF.js → chunk-7XXISOHU.js} +21 -5
- package/bundle/chunk-7XXISOHU.js.map +7 -0
- package/bundle/{chunk-CB6S3ZRF.js → chunk-AFFW2LRY.js} +3 -3
- package/bundle/{chunk-TCI6FZTP.js → chunk-AHJDG6OM.js} +9 -9
- package/bundle/{chunk-NP72ZB7P.js → chunk-AMUJEP6L.js} +45 -45
- package/bundle/{chunk-NP72ZB7P.js.map → chunk-AMUJEP6L.js.map} +2 -2
- package/bundle/{chunk-BU7LTI2W.js → chunk-AWCO3DQ3.js} +6 -7
- package/bundle/chunk-AWCO3DQ3.js.map +7 -0
- package/bundle/{chunk-YME7NRGP.js → chunk-B2TIRDZC.js} +2 -2
- package/bundle/{chunk-SSCGWDIC.js → chunk-BWJ37KMW.js} +2 -2
- package/bundle/{chunk-ULO2PX3T.js → chunk-CCZ43JB7.js} +3 -3
- package/bundle/{chunk-FVUL44T4.js → chunk-CNENVY37.js} +2 -2
- package/bundle/{chunk-J5NOL4DB.js → chunk-DJOSXXM2.js} +2 -2
- package/bundle/{chunk-7RAGSHSH.js → chunk-DMDX35YT.js} +12 -10
- package/bundle/chunk-DMDX35YT.js.map +7 -0
- package/bundle/{chunk-DNDYD5SL.js → chunk-E7DZYCSF.js} +3 -3
- package/bundle/{chunk-M6Q3IQ4H.js → chunk-FF2F7ENH.js} +250 -118
- package/bundle/chunk-FF2F7ENH.js.map +7 -0
- package/bundle/{chunk-GCFIK6OB.js → chunk-FSGICOCX.js} +21 -21
- package/bundle/{chunk-IXKQ4JMX.js → chunk-GFAJSPMD.js} +33 -17
- package/bundle/chunk-GFAJSPMD.js.map +7 -0
- package/bundle/{chunk-FJF42RZY.js → chunk-GHRLO2UL.js} +3 -3
- package/bundle/{chunk-3LQOJVTB.js → chunk-HFOCNYEO.js} +1842 -1220
- package/bundle/{chunk-3LQOJVTB.js.map → chunk-HFOCNYEO.js.map} +4 -4
- package/bundle/{chunk-7WHXTCVD.js → chunk-HWFN7JGU.js} +2 -2
- package/bundle/{chunk-KBPVJGD7.js → chunk-IXGDDDAB.js} +3 -3
- package/bundle/chunk-JHLKEUHE.js +37 -0
- package/bundle/chunk-JHLKEUHE.js.map +7 -0
- package/bundle/{chunk-YEOZN5IE.js → chunk-JRGEEGZF.js} +2 -2
- package/bundle/{chunk-56D3Y44D.js → chunk-KLG4SCF7.js} +10 -10
- package/bundle/{chunk-ASYX43OU.js → chunk-LB43Q7G6.js} +26 -26
- package/bundle/{chunk-TVSPVZTX.js → chunk-LN5MNDSA.js} +3 -3
- package/bundle/{chunk-RJX45XIC.js → chunk-LPF2HELD.js} +9 -4
- package/bundle/chunk-LPF2HELD.js.map +7 -0
- package/bundle/{chunk-72T2Q7IG.js → chunk-MJACYH7A.js} +270 -282
- package/bundle/chunk-MJACYH7A.js.map +7 -0
- package/bundle/{chunk-SESM4GBM.js → chunk-MPQ2PJQX.js} +52 -25
- package/bundle/chunk-MPQ2PJQX.js.map +7 -0
- package/bundle/{chunk-FIAVVKGN.js → chunk-MTE32OQH.js} +3 -3
- package/bundle/{chunk-MV5KOWOR.js → chunk-N3Q3TASM.js} +7 -7
- package/bundle/{chunk-IQKADER4.js → chunk-O4YBJS2K.js} +2 -2
- package/bundle/{chunk-VJATH7AN.js → chunk-OOUCUCUW.js} +9 -8
- package/bundle/chunk-OOUCUCUW.js.map +7 -0
- package/bundle/{chunk-5V4VHKEA.js → chunk-OT6HLPEA.js} +3 -3
- package/bundle/{chunk-V6CV3QPH.js → chunk-OWPQIBAO.js} +2 -2
- package/bundle/{chunk-EDZGF6BC.js → chunk-QJPDBJDP.js} +11 -4
- package/bundle/chunk-QJPDBJDP.js.map +7 -0
- package/bundle/{chunk-N5VROZ7A.js → chunk-QMP2KC4W.js} +5 -5
- package/bundle/{chunk-4HNCOQSK.js → chunk-QOGZ7BFL.js} +7 -7
- package/bundle/{chunk-2LKQV2ND.js → chunk-R23FHZRY.js} +3 -3
- package/bundle/{chunk-SXNY6HC4.js → chunk-R4GYWVCR.js} +6 -6
- package/bundle/chunk-R4GYWVCR.js.map +7 -0
- package/bundle/{chunk-S7ZIGIR5.js → chunk-R76K6L6H.js} +27 -27
- package/bundle/{chunk-S7ZIGIR5.js.map → chunk-R76K6L6H.js.map} +1 -1
- package/bundle/{chunk-TY26WMQY.js → chunk-RCWQ34QR.js} +2 -2
- package/bundle/{chunk-MQJG7OJX.js → chunk-RJ2OUNFU.js} +38 -36
- package/bundle/chunk-RJ2OUNFU.js.map +7 -0
- package/bundle/{chunk-S6HEHCCG.js → chunk-RO3TAYBR.js} +83 -46
- package/bundle/chunk-RO3TAYBR.js.map +7 -0
- package/bundle/{chunk-ZOCEBV62.js → chunk-UU3RLJSD.js} +3 -3
- package/bundle/{chunk-P5O6QZDC.js → chunk-V7Y2LFO4.js} +10 -6
- package/bundle/chunk-V7Y2LFO4.js.map +7 -0
- package/bundle/{chunk-WP7FZHMI.js → chunk-W2PSVV2T.js} +2 -2
- package/bundle/{chunk-V2QIAXWZ.js → chunk-WEGFRA6G.js} +3 -3
- package/bundle/{chunk-ZY6DH2S4.js → chunk-WTIGZO3N.js} +80 -70
- package/bundle/chunk-WTIGZO3N.js.map +7 -0
- package/bundle/{chunk-O4GKI3Q3.js → chunk-X7DLKIQM.js} +4 -4
- package/bundle/{chunk-BNBC4T45.js → chunk-XZ4ZBDM5.js} +3 -3
- package/bundle/{chunk-24V4A6RP.js → chunk-YI2KSYB4.js} +4 -4
- package/bundle/{chunk-37EX63K4.js → chunk-YWHJJHJ2.js} +6998 -3621
- package/bundle/chunk-YWHJJHJ2.js.map +7 -0
- package/bundle/{chunk-IK4R3RBZ.js → chunk-YZCOA4DC.js} +3 -3
- package/bundle/{chunk-2FZJDMAF.js → chunk-ZGNSCJWH.js} +10 -10
- package/bundle/{chunk-W726UGI6.js → chunk-ZKMKAO75.js} +3 -3
- package/bundle/{chunk-WGWM4IZM.js → chunk-ZT5ZBGWS.js} +4 -4
- package/bundle/{chunk-WGWM4IZM.js.map → chunk-ZT5ZBGWS.js.map} +1 -1
- package/bundle/{commands-XXFU2ZF7.js → commands-2JQ5YTJX.js} +20 -20
- package/bundle/{config-EWDZ234X.js → config-ZEWIM5Z2.js} +8 -7
- package/bundle/{config-show-6J33O4TE.js → config-show-WBJPQPRD.js} +5 -5
- package/bundle/{context-OCS7HLJP.js → context-V75QNXB5.js} +5 -2
- package/bundle/{context-OCS7HLJP.js.map → context-V75QNXB5.js.map} +1 -1
- package/bundle/{daemon-LTDAXNA2.js → daemon-W7VQOSZC.js} +7 -7
- package/bundle/{delegation-tools-YDTWQMZD.js → delegation-tools-VGTRFQBF.js} +13 -11
- package/bundle/{registry-client-VN2MM2HI.js → deploy-5AGIULM2.js} +10 -6
- package/bundle/{deploy-lib-import-RGZJ3CGC.js → deploy-lib-import-ZBDYORN4.js} +5 -3
- package/bundle/{deps-PHSLIA77.js → deps-VB3S3RLF.js} +21 -19
- package/bundle/deps-VB3S3RLF.js.map +7 -0
- package/bundle/{direct-api-transport-OAKYQBJR.js → direct-api-transport-YSROTC35.js} +30 -28
- package/bundle/direct-api-transport-YSROTC35.js.map +7 -0
- package/bundle/{discord-adapter-WUNYPTDE.js → discord-adapter-LKBSIFLV.js} +26 -26
- package/bundle/{dist-7HEHHQI2.js → dist-KMK7TZGN.js} +376 -348
- package/bundle/dist-KMK7TZGN.js.map +7 -0
- package/bundle/{dns-wakeup-F55ALHXJ.js → dns-wakeup-KIURCCFJ.js} +4 -3
- package/bundle/{dns-wakeup-F55ALHXJ.js.map → dns-wakeup-KIURCCFJ.js.map} +1 -1
- package/bundle/{doctor-probes-3SLIUGKS.js → doctor-probes-46UKIROK.js} +4 -3
- package/bundle/{env-schema-MSDP2YBO.js → env-schema-YGHCKX5B.js} +5 -4
- package/bundle/{gossip-CS3G3447.js → gossip-VSEY2HSE.js} +7 -6
- package/bundle/{guardrails-24XK2COI.js → guardrails-U7M6H2GE.js} +6 -5
- package/bundle/{health-check-FRUNRVNQ.js → health-check-ASRLUJE5.js} +6 -2
- package/bundle/health-check-ASRLUJE5.js.map +7 -0
- package/bundle/{heartbeat-system-G4IFQXT6.js → heartbeat-system-MUXLT4E6.js} +7 -6
- package/bundle/{heartbeat-tier3-3ZO3EVXP.js → heartbeat-tier3-636ZMM4E.js} +45 -44
- package/bundle/heartbeat-tier3-636ZMM4E.js.map +7 -0
- package/bundle/{hook-system-X6INNJGV.js → hook-system-Z4XD6IM5.js} +5 -4
- package/bundle/{hotskills-6FQYTJIO.js → hotskills-AOUWVTQB.js} +7 -6
- package/bundle/{install-ZAHTZ5M5.js → install-3GGZUN22.js} +23 -20
- package/bundle/install-3GGZUN22.js.map +7 -0
- package/bundle/{install-manifest-QX7KVDCA.js → install-manifest-624KOB4S.js} +4 -3
- package/bundle/{install-manifest-QX7KVDCA.js.map → install-manifest-624KOB4S.js.map} +1 -1
- package/bundle/{irc-adapter-IEJQKKJF.js → irc-adapter-SA7GLJGR.js} +5 -4
- package/bundle/{irc-adapter-IEJQKKJF.js.map → irc-adapter-SA7GLJGR.js.map} +1 -1
- package/bundle/{irc-config-TTWNYFLH.js → irc-config-PG4X2I4M.js} +6 -5
- package/bundle/{irc-config-TTWNYFLH.js.map → irc-config-PG4X2I4M.js.map} +1 -1
- package/bundle/{kanban-board-J6RO3ZU7.js → kanban-board-4AI5Z6B5.js} +7 -5
- package/bundle/{kanban-channel-5EIXBFSA.js → kanban-channel-JMBYWGWD.js} +8 -6
- package/bundle/{lazy-require-V6EFUATC.js → lazy-require-GURNBC3C.js} +11 -6
- package/bundle/{logger-Y3VILPRH.js → logger-UQJPZMYV.js} +4 -3
- package/bundle/{logs-YS3GDURO.js → logs-2WTDLMB5.js} +5 -5
- package/bundle/{main-chat-YLZDNQPO.js → main-chat-EID5Y6H2.js} +6 -5
- package/bundle/{master-user-Z4M7KCJE.js → master-user-TKA7M2GL.js} +7 -6
- package/bundle/{media-utils-P6RZ2K3U.js → media-utils-X3UN342B.js} +44 -43
- package/bundle/{media-utils-P6RZ2K3U.js.map → media-utils-X3UN342B.js.map} +2 -2
- package/bundle/{message-pipeline-MHEBDJLH.js → message-pipeline-TAWXNEVS.js} +20 -20
- package/bundle/meta.json +9264 -8575
- package/bundle/{migrate-layout-RJJQLVGR.js → migrate-layout-KEAIIN26.js} +8 -4
- package/bundle/migrate-layout-KEAIIN26.js.map +7 -0
- package/bundle/{nerve-VZNMFDGY.js → nerve-TC34H4EL.js} +5 -4
- package/bundle/{notification-VV2OR6NW.js → notification-JQNVGICN.js} +8 -7
- package/bundle/{openrouter-credits-LXC7P4G6.js → openrouter-credits-5Q3EYWE5.js} +5 -4
- package/bundle/{openrouter-credits-LXC7P4G6.js.map → openrouter-credits-5Q3EYWE5.js.map} +1 -1
- package/bundle/{orc-KC4USP55.js → orc-74Z62W7B.js} +4 -4
- package/bundle/{orc-tools-CHRSXSAS.js → orc-tools-GME3DKIN.js} +5 -4
- package/bundle/{paths-EDK6KWHG.js → paths-BAUNPLNJ.js} +6 -2
- package/bundle/{paths-RZF6WDMG.js → paths-MZC2KU2C.js} +3 -2
- package/bundle/{peer-auth-SRONOLNG.js → peer-auth-VRO3JYL5.js} +9 -8
- package/bundle/{peer-client-VOF77T6C.js → peer-client-WLK5GZQS.js} +9 -8
- package/bundle/{peer-client-VOF77T6C.js.map → peer-client-WLK5GZQS.js.map} +1 -1
- package/bundle/{peer-config-FRWLEYQ5.js → peer-config-24WILLCJ.js} +6 -5
- package/bundle/{peer-jwt-XY3XRIA2.js → peer-jwt-ZR6RF3XM.js} +6 -5
- package/bundle/{peer-transport-UBBXTDRP.js → peer-transport-BK5VHI2M.js} +8 -7
- package/bundle/{phase-transport-4NQHZX75.js → phase-transport-7QJM7J6V.js} +18 -16
- package/bundle/{reconcile-2EUXJ6W5.js → reconcile-7N7OE2GU.js} +5 -4
- package/bundle/{reconciler-FFQGV4DO.js → reconciler-7LOOUK43.js} +13 -11
- package/bundle/{reconciler-FFQGV4DO.js.map → reconciler-7LOOUK43.js.map} +1 -1
- package/bundle/{restore-NFDE2RG6.js → restore-MENZ3I3K.js} +13 -9
- package/bundle/{restore-NFDE2RG6.js.map → restore-MENZ3I3K.js.map} +3 -3
- package/bundle/{rollback-MVZ53XS4.js → rollback-JOHY6KWW.js} +5 -5
- package/bundle/{chunk-SKY6656M.js → sandbox-runtime-T7RF4WJD.js} +11 -28
- package/bundle/{chunk-SKY6656M.js.map → sandbox-runtime-T7RF4WJD.js.map} +1 -1
- package/bundle/{self-healer-utils-KD6LV63S.js → self-healer-utils-OR2N6RLD.js} +5 -4
- package/bundle/{self-healer-utils-KD6LV63S.js.map → self-healer-utils-OR2N6RLD.js.map} +1 -1
- package/bundle/{sha-tracker-2DB4R2TW.js → sha-tracker-BXOLWZJL.js} +5 -4
- package/bundle/{skill-session-BPDVA6ZG.js → skill-session-H6EQ4NGN.js} +5 -4
- package/bundle/{skill-session-BPDVA6ZG.js.map → skill-session-H6EQ4NGN.js.map} +1 -1
- package/bundle/{skill-stats-TPD2NROA.js → skill-stats-7O777ZSZ.js} +6 -5
- package/bundle/{skill-watcher-D7QYYYON.js → skill-watcher-ZGLTDPG5.js} +6 -5
- package/bundle/{sleep-GH6DLBJJ.js → sleep-3LFZH727.js} +10 -9
- package/bundle/{soul-bundle-GXLMDBCC.js → soul-bundle-RQ2YQMJW.js} +10 -9
- package/bundle/{spin-4DBYHS3E.js → spin-76K4R6FK.js} +12 -10
- package/bundle/{spin-notifications-IKYJPER5.js → spin-notifications-LD46B4K5.js} +7 -5
- package/bundle/{spin-notifications-IKYJPER5.js.map → spin-notifications-LD46B4K5.js.map} +1 -1
- package/bundle/{spin-types-PLJH3SIK.js → spin-types-MOKTZXGB.js} +5 -4
- package/bundle/{src-SUFZ27S5.js → src-6BTCMOD3.js} +4 -4
- package/bundle/{sse-parser-anthropic-U7ILHOY5.js → sse-parser-anthropic-NV2CGBIT.js} +5 -4
- package/bundle/{sse-parser-anthropic-U7ILHOY5.js.map → sse-parser-anthropic-NV2CGBIT.js.map} +1 -1
- package/bundle/{sse-parser-responses-OI73R3AH.js → sse-parser-responses-FC3PFHQ5.js} +5 -4
- package/bundle/{sse-parser-responses-OI73R3AH.js.map → sse-parser-responses-FC3PFHQ5.js.map} +1 -1
- package/bundle/{ssrf-guard-6GP4QYVA.js → ssrf-guard-E2YPLW6G.js} +5 -4
- package/bundle/{ssrf-guard-6GP4QYVA.js.map → ssrf-guard-E2YPLW6G.js.map} +1 -1
- package/bundle/{start-JT2BPMSW.js → start-HPO5LYJP.js} +5 -5
- package/bundle/start-HPO5LYJP.js.map +7 -0
- package/bundle/{stt-KD3AABKG.js → stt-UE7EOYD7.js} +6 -5
- package/bundle/{subagent-runtime-LVECAUPV.js → subagent-runtime-4X3UHF4H.js} +6 -5
- package/bundle/system-status-PLPWV4RF.js +346 -0
- package/bundle/system-status-PLPWV4RF.js.map +7 -0
- package/bundle/{task-store-2XRDM3AW.js → task-store-RAFMDQ7N.js} +6 -5
- package/bundle/{telegram-adapter-UJ3RYYV6.js → telegram-adapter-PPXKTGOP.js} +35 -35
- package/bundle/{tool-registry-YU6WBXPA.js → tool-registry-NKIPNJZ5.js} +25 -23
- package/bundle/{tool-sandbox-RNNPDR5M.js → tool-sandbox-DQCP3UTU.js} +6 -5
- package/bundle/{transport-config-OK3MZPJK.js → transport-config-SF6GBV47.js} +9 -8
- package/bundle/{update-ENNPRW7Y.js → update-QOOGMFSJ.js} +6 -6
- package/bundle/{update-check-SJB6GV3A.js → update-check-LPZG3K5P.js} +3 -2
- package/bundle/{update-check-SJB6GV3A.js.map → update-check-LPZG3K5P.js.map} +1 -1
- package/bundle/{usage-tracker-HRSGC7QC.js → usage-tracker-TBDM4KE6.js} +2 -2
- package/bundle/{user-registry-6PUJJ5J2.js → user-registry-OYJVAHDD.js} +6 -5
- package/bundle/{wrapper-WLHLG4MI.js → wrapper-W66YICNZ.js} +3 -3
- package/bundle/{ws-peer-client-WHW3RJTD.js → ws-peer-client-G5QHOF6K.js} +15 -14
- package/bundle/{ws-peer-client-WHW3RJTD.js.map → ws-peer-client-G5QHOF6K.js.map} +2 -2
- package/package.json +3 -7
- package/scripts/emergency-deploy.sh +11 -8
- package/scripts/emergency-update.sh +156 -23
- package/templates/config/.env +1 -1
- package/templates/config/models.json +13 -0
- package/bundle/chunk-37EX63K4.js.map +0 -7
- package/bundle/chunk-3QW2K53E.js.map +0 -7
- package/bundle/chunk-72T2Q7IG.js.map +0 -7
- package/bundle/chunk-7RAGSHSH.js.map +0 -7
- package/bundle/chunk-BU7LTI2W.js.map +0 -7
- package/bundle/chunk-C3EYYJN3.js.map +0 -7
- package/bundle/chunk-CAOIIVFP.js +0 -110
- package/bundle/chunk-CAOIIVFP.js.map +0 -7
- package/bundle/chunk-EDZGF6BC.js.map +0 -7
- package/bundle/chunk-H2K23MOF.js.map +0 -7
- package/bundle/chunk-HAZHNBBY.js +0 -156
- package/bundle/chunk-HAZHNBBY.js.map +0 -7
- package/bundle/chunk-IXKQ4JMX.js.map +0 -7
- package/bundle/chunk-JAJ3DUQ2.js +0 -30
- package/bundle/chunk-JAJ3DUQ2.js.map +0 -7
- package/bundle/chunk-KMFR5AVY.js +0 -45
- package/bundle/chunk-KMFR5AVY.js.map +0 -7
- package/bundle/chunk-M6Q3IQ4H.js.map +0 -7
- package/bundle/chunk-MQJG7OJX.js.map +0 -7
- package/bundle/chunk-OY2HAK33.js.map +0 -7
- package/bundle/chunk-P5O6QZDC.js.map +0 -7
- package/bundle/chunk-RJX45XIC.js.map +0 -7
- package/bundle/chunk-S6HEHCCG.js.map +0 -7
- package/bundle/chunk-SESM4GBM.js.map +0 -7
- package/bundle/chunk-SXNY6HC4.js.map +0 -7
- package/bundle/chunk-VJATH7AN.js.map +0 -7
- package/bundle/chunk-ZY6DH2S4.js.map +0 -7
- package/bundle/deps-PHSLIA77.js.map +0 -7
- package/bundle/direct-api-transport-OAKYQBJR.js.map +0 -7
- package/bundle/dist-7HEHHQI2.js.map +0 -7
- package/bundle/health-check-FRUNRVNQ.js.map +0 -7
- package/bundle/heartbeat-tier3-3ZO3EVXP.js.map +0 -7
- package/bundle/install-ZAHTZ5M5.js.map +0 -7
- package/bundle/migrate-layout-RJJQLVGR.js.map +0 -7
- package/bundle/phase-config-V4XETN5F.js +0 -18
- package/bundle/sandbox-runtime-WHACQLLN.js +0 -22
- package/bundle/start-JT2BPMSW.js.map +0 -7
- package/bundle/system-status-XXJWTVJN.js +0 -243
- package/bundle/system-status-XXJWTVJN.js.map +0 -7
- package/bundle/user-registry-6PUJJ5J2.js.map +0 -7
- package/bundle/wrapper-WLHLG4MI.js.map +0 -7
- /package/bundle/{agent-api-rate-limit-4GEZ4YN5.js.map → agent-api-rate-limit-VENFGOAD.js.map} +0 -0
- /package/bundle/{agent-registry-563P4EUJ.js.map → agent-registry-DL7UT272.js.map} +0 -0
- /package/bundle/{bridge-lock-transport-LXCF2IVN.js.map → bridge-lock-transport-BJAMHMXW.js.map} +0 -0
- /package/bundle/{browser-2VZOGOGX.js.map → browser-PT54UWSW.js.map} +0 -0
- /package/bundle/{capability-WXEA2WFK.js.map → capability-EKPGHQIO.js.map} +0 -0
- /package/bundle/{chunk-4PIVWXUJ.js.map → chunk-2ZD7VQRW.js.map} +0 -0
- /package/bundle/{chunk-T7TAWGBX.js.map → chunk-52PQM4EZ.js.map} +0 -0
- /package/bundle/{chunk-2RGR3LSV.js.map → chunk-5P5HF7IJ.js.map} +0 -0
- /package/bundle/{chunk-OOKNHOCB.js.map → chunk-6S3G6GPO.js.map} +0 -0
- /package/bundle/{chunk-E7MV7WFT.js.map → chunk-6VTHSN4V.js.map} +0 -0
- /package/bundle/{chunk-NGZVJ52F.js.map → chunk-76YN7O3U.js.map} +0 -0
- /package/bundle/{chunk-43DKPXTP.js.map → chunk-7LORCJCQ.js.map} +0 -0
- /package/bundle/{chunk-HDOFJVFS.js.map → chunk-7OI46MH7.js.map} +0 -0
- /package/bundle/{chunk-CB6S3ZRF.js.map → chunk-AFFW2LRY.js.map} +0 -0
- /package/bundle/{chunk-TCI6FZTP.js.map → chunk-AHJDG6OM.js.map} +0 -0
- /package/bundle/{chunk-YME7NRGP.js.map → chunk-B2TIRDZC.js.map} +0 -0
- /package/bundle/{chunk-SSCGWDIC.js.map → chunk-BWJ37KMW.js.map} +0 -0
- /package/bundle/{chunk-ULO2PX3T.js.map → chunk-CCZ43JB7.js.map} +0 -0
- /package/bundle/{chunk-FVUL44T4.js.map → chunk-CNENVY37.js.map} +0 -0
- /package/bundle/{chunk-J5NOL4DB.js.map → chunk-DJOSXXM2.js.map} +0 -0
- /package/bundle/{chunk-DNDYD5SL.js.map → chunk-E7DZYCSF.js.map} +0 -0
- /package/bundle/{chunk-GCFIK6OB.js.map → chunk-FSGICOCX.js.map} +0 -0
- /package/bundle/{chunk-FJF42RZY.js.map → chunk-GHRLO2UL.js.map} +0 -0
- /package/bundle/{chunk-7WHXTCVD.js.map → chunk-HWFN7JGU.js.map} +0 -0
- /package/bundle/{chunk-KBPVJGD7.js.map → chunk-IXGDDDAB.js.map} +0 -0
- /package/bundle/{chunk-YEOZN5IE.js.map → chunk-JRGEEGZF.js.map} +0 -0
- /package/bundle/{chunk-56D3Y44D.js.map → chunk-KLG4SCF7.js.map} +0 -0
- /package/bundle/{chunk-ASYX43OU.js.map → chunk-LB43Q7G6.js.map} +0 -0
- /package/bundle/{chunk-TVSPVZTX.js.map → chunk-LN5MNDSA.js.map} +0 -0
- /package/bundle/{chunk-FIAVVKGN.js.map → chunk-MTE32OQH.js.map} +0 -0
- /package/bundle/{chunk-MV5KOWOR.js.map → chunk-N3Q3TASM.js.map} +0 -0
- /package/bundle/{chunk-IQKADER4.js.map → chunk-O4YBJS2K.js.map} +0 -0
- /package/bundle/{chunk-5V4VHKEA.js.map → chunk-OT6HLPEA.js.map} +0 -0
- /package/bundle/{chunk-V6CV3QPH.js.map → chunk-OWPQIBAO.js.map} +0 -0
- /package/bundle/{chunk-N5VROZ7A.js.map → chunk-QMP2KC4W.js.map} +0 -0
- /package/bundle/{chunk-4HNCOQSK.js.map → chunk-QOGZ7BFL.js.map} +0 -0
- /package/bundle/{chunk-2LKQV2ND.js.map → chunk-R23FHZRY.js.map} +0 -0
- /package/bundle/{chunk-TY26WMQY.js.map → chunk-RCWQ34QR.js.map} +0 -0
- /package/bundle/{chunk-ZOCEBV62.js.map → chunk-UU3RLJSD.js.map} +0 -0
- /package/bundle/{chunk-WP7FZHMI.js.map → chunk-W2PSVV2T.js.map} +0 -0
- /package/bundle/{chunk-V2QIAXWZ.js.map → chunk-WEGFRA6G.js.map} +0 -0
- /package/bundle/{chunk-O4GKI3Q3.js.map → chunk-X7DLKIQM.js.map} +0 -0
- /package/bundle/{chunk-BNBC4T45.js.map → chunk-XZ4ZBDM5.js.map} +0 -0
- /package/bundle/{chunk-24V4A6RP.js.map → chunk-YI2KSYB4.js.map} +0 -0
- /package/bundle/{chunk-IK4R3RBZ.js.map → chunk-YZCOA4DC.js.map} +0 -0
- /package/bundle/{chunk-2FZJDMAF.js.map → chunk-ZGNSCJWH.js.map} +0 -0
- /package/bundle/{chunk-W726UGI6.js.map → chunk-ZKMKAO75.js.map} +0 -0
- /package/bundle/{commands-XXFU2ZF7.js.map → commands-2JQ5YTJX.js.map} +0 -0
- /package/bundle/{config-EWDZ234X.js.map → config-ZEWIM5Z2.js.map} +0 -0
- /package/bundle/{config-show-6J33O4TE.js.map → config-show-WBJPQPRD.js.map} +0 -0
- /package/bundle/{daemon-LTDAXNA2.js.map → daemon-W7VQOSZC.js.map} +0 -0
- /package/bundle/{delegation-tools-YDTWQMZD.js.map → delegation-tools-VGTRFQBF.js.map} +0 -0
- /package/bundle/{deploy-lib-import-RGZJ3CGC.js.map → deploy-5AGIULM2.js.map} +0 -0
- /package/bundle/{doctor-probes-3SLIUGKS.js.map → deploy-lib-import-ZBDYORN4.js.map} +0 -0
- /package/bundle/{discord-adapter-WUNYPTDE.js.map → discord-adapter-LKBSIFLV.js.map} +0 -0
- /package/bundle/{env-schema-MSDP2YBO.js.map → doctor-probes-46UKIROK.js.map} +0 -0
- /package/bundle/{gossip-CS3G3447.js.map → env-schema-YGHCKX5B.js.map} +0 -0
- /package/bundle/{guardrails-24XK2COI.js.map → gossip-VSEY2HSE.js.map} +0 -0
- /package/bundle/{heartbeat-system-G4IFQXT6.js.map → guardrails-U7M6H2GE.js.map} +0 -0
- /package/bundle/{hook-system-X6INNJGV.js.map → heartbeat-system-MUXLT4E6.js.map} +0 -0
- /package/bundle/{hotskills-6FQYTJIO.js.map → hook-system-Z4XD6IM5.js.map} +0 -0
- /package/bundle/{kanban-board-J6RO3ZU7.js.map → hotskills-AOUWVTQB.js.map} +0 -0
- /package/bundle/{kanban-channel-5EIXBFSA.js.map → kanban-board-4AI5Z6B5.js.map} +0 -0
- /package/bundle/{lazy-require-V6EFUATC.js.map → kanban-channel-JMBYWGWD.js.map} +0 -0
- /package/bundle/{logger-Y3VILPRH.js.map → lazy-require-GURNBC3C.js.map} +0 -0
- /package/bundle/{main-chat-YLZDNQPO.js.map → logger-UQJPZMYV.js.map} +0 -0
- /package/bundle/{logs-YS3GDURO.js.map → logs-2WTDLMB5.js.map} +0 -0
- /package/bundle/{master-user-Z4M7KCJE.js.map → main-chat-EID5Y6H2.js.map} +0 -0
- /package/bundle/{message-pipeline-MHEBDJLH.js.map → master-user-TKA7M2GL.js.map} +0 -0
- /package/bundle/{nerve-VZNMFDGY.js.map → message-pipeline-TAWXNEVS.js.map} +0 -0
- /package/bundle/{notification-VV2OR6NW.js.map → nerve-TC34H4EL.js.map} +0 -0
- /package/bundle/{orc-tools-CHRSXSAS.js.map → notification-JQNVGICN.js.map} +0 -0
- /package/bundle/{orc-KC4USP55.js.map → orc-74Z62W7B.js.map} +0 -0
- /package/bundle/{paths-EDK6KWHG.js.map → orc-tools-GME3DKIN.js.map} +0 -0
- /package/bundle/{paths-RZF6WDMG.js.map → paths-BAUNPLNJ.js.map} +0 -0
- /package/bundle/{peer-auth-SRONOLNG.js.map → paths-MZC2KU2C.js.map} +0 -0
- /package/bundle/{peer-config-FRWLEYQ5.js.map → peer-auth-VRO3JYL5.js.map} +0 -0
- /package/bundle/{peer-jwt-XY3XRIA2.js.map → peer-config-24WILLCJ.js.map} +0 -0
- /package/bundle/{peer-transport-UBBXTDRP.js.map → peer-jwt-ZR6RF3XM.js.map} +0 -0
- /package/bundle/{phase-config-V4XETN5F.js.map → peer-transport-BK5VHI2M.js.map} +0 -0
- /package/bundle/{phase-transport-4NQHZX75.js.map → phase-transport-7QJM7J6V.js.map} +0 -0
- /package/bundle/{reconcile-2EUXJ6W5.js.map → reconcile-7N7OE2GU.js.map} +0 -0
- /package/bundle/{registry-client-VN2MM2HI.js.map → rollback-JOHY6KWW.js.map} +0 -0
- /package/bundle/{rollback-MVZ53XS4.js.map → sha-tracker-BXOLWZJL.js.map} +0 -0
- /package/bundle/{sandbox-runtime-WHACQLLN.js.map → skill-stats-7O777ZSZ.js.map} +0 -0
- /package/bundle/{sha-tracker-2DB4R2TW.js.map → skill-watcher-ZGLTDPG5.js.map} +0 -0
- /package/bundle/{skill-stats-TPD2NROA.js.map → sleep-3LFZH727.js.map} +0 -0
- /package/bundle/{skill-watcher-D7QYYYON.js.map → soul-bundle-RQ2YQMJW.js.map} +0 -0
- /package/bundle/{sleep-GH6DLBJJ.js.map → spin-76K4R6FK.js.map} +0 -0
- /package/bundle/{soul-bundle-GXLMDBCC.js.map → spin-types-MOKTZXGB.js.map} +0 -0
- /package/bundle/{spin-4DBYHS3E.js.map → src-6BTCMOD3.js.map} +0 -0
- /package/bundle/{spin-types-PLJH3SIK.js.map → stt-UE7EOYD7.js.map} +0 -0
- /package/bundle/{src-SUFZ27S5.js.map → subagent-runtime-4X3UHF4H.js.map} +0 -0
- /package/bundle/{stt-KD3AABKG.js.map → task-store-RAFMDQ7N.js.map} +0 -0
- /package/bundle/{telegram-adapter-UJ3RYYV6.js.map → telegram-adapter-PPXKTGOP.js.map} +0 -0
- /package/bundle/{subagent-runtime-LVECAUPV.js.map → tool-registry-NKIPNJZ5.js.map} +0 -0
- /package/bundle/{task-store-2XRDM3AW.js.map → tool-sandbox-DQCP3UTU.js.map} +0 -0
- /package/bundle/{tool-registry-YU6WBXPA.js.map → transport-config-SF6GBV47.js.map} +0 -0
- /package/bundle/{tool-sandbox-RNNPDR5M.js.map → update-QOOGMFSJ.js.map} +0 -0
- /package/bundle/{transport-config-OK3MZPJK.js.map → usage-tracker-TBDM4KE6.js.map} +0 -0
- /package/bundle/{update-ENNPRW7Y.js.map → user-registry-OYJVAHDD.js.map} +0 -0
- /package/bundle/{usage-tracker-HRSGC7QC.js.map → wrapper-W66YICNZ.js.map} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../node_modules/sisteransi/src/index.js", "../node_modules/@clack/core/dist/index.mjs", "../node_modules/fast-string-truncated-width/dist/utils.js", "../node_modules/fast-string-truncated-width/dist/index.js", "../node_modules/fast-string-width/dist/index.js", "../node_modules/fast-wrap-ansi/lib/main.js", "../node_modules/@clack/prompts/dist/index.mjs"],
|
|
4
|
+
"sourcesContent": ["'use strict';\n\nconst ESC = '\\x1B';\nconst CSI = `${ESC}[`;\nconst beep = '\\u0007';\n\nconst cursor = {\n to(x, y) {\n if (!y) return `${CSI}${x + 1}G`;\n return `${CSI}${y + 1};${x + 1}H`;\n },\n move(x, y) {\n let ret = '';\n\n if (x < 0) ret += `${CSI}${-x}D`;\n else if (x > 0) ret += `${CSI}${x}C`;\n\n if (y < 0) ret += `${CSI}${-y}A`;\n else if (y > 0) ret += `${CSI}${y}B`;\n\n return ret;\n },\n up: (count = 1) => `${CSI}${count}A`,\n down: (count = 1) => `${CSI}${count}B`,\n forward: (count = 1) => `${CSI}${count}C`,\n backward: (count = 1) => `${CSI}${count}D`,\n nextLine: (count = 1) => `${CSI}E`.repeat(count),\n prevLine: (count = 1) => `${CSI}F`.repeat(count),\n left: `${CSI}G`,\n hide: `${CSI}?25l`,\n show: `${CSI}?25h`,\n save: `${ESC}7`,\n restore: `${ESC}8`\n}\n\nconst scroll = {\n up: (count = 1) => `${CSI}S`.repeat(count),\n down: (count = 1) => `${CSI}T`.repeat(count)\n}\n\nconst erase = {\n screen: `${CSI}2J`,\n up: (count = 1) => `${CSI}1J`.repeat(count),\n down: (count = 1) => `${CSI}J`.repeat(count),\n line: `${CSI}2K`,\n lineEnd: `${CSI}K`,\n lineStart: `${CSI}1K`,\n lines(count) {\n let clear = '';\n for (let i = 0; i < count; i++)\n clear += this.line + (i < count - 1 ? cursor.up() : '');\n if (count)\n clear += cursor.left;\n return clear;\n }\n}\n\nmodule.exports = { cursor, scroll, erase, beep };\n", "import { styleText } from 'node:util';\nimport { stdout, stdin } from 'node:process';\nimport * as l from 'node:readline';\nimport l__default from 'node:readline';\nimport { wrapAnsi } from 'fast-wrap-ansi';\nimport { cursor, erase } from 'sisteransi';\nimport { ReadStream } from 'node:tty';\n\nfunction findCursor(s, o, l) {\n if (!l.some((r) => !r.disabled))\n return s;\n const t = s + o, n = Math.max(l.length - 1, 0), e = t < 0 ? n : t > n ? 0 : t;\n return l[e].disabled ? findCursor(e, o < 0 ? -1 : 1, l) : e;\n}\nfunction findTextCursor(s, o, l, i) {\n const t = i.split(`\n`);\n let n = 0, e = s;\n for (const r of t) {\n if (e <= r.length)\n break;\n e -= r.length + 1, n++;\n }\n for (n = Math.max(0, Math.min(t.length - 1, n + l)), e = Math.min(e, t[n].length) + o; e < 0 && n > 0; )\n n--, e += t[n].length + 1;\n for (; e > t[n].length && n < t.length - 1; )\n e -= t[n].length + 1, n++;\n e = Math.max(0, Math.min(t[n].length, e));\n let h = 0;\n for (let r = 0; r < n; r++)\n h += t[r].length + 1;\n return h + e;\n}\n\nconst a$2 = [\"up\", \"down\", \"left\", \"right\", \"space\", \"enter\", \"cancel\"], t = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n];\nconst settings = {\n actions: new Set(a$2),\n aliases: /* @__PURE__ */ new Map([\n // vim support\n [\"k\", \"up\"],\n [\"j\", \"down\"],\n [\"h\", \"left\"],\n [\"l\", \"right\"],\n [\"\u0003\", \"cancel\"],\n // opinionated defaults!\n [\"escape\", \"cancel\"]\n ]),\n messages: {\n cancel: \"Canceled\",\n error: \"Something went wrong\"\n },\n withGuide: true,\n date: {\n monthNames: [...t],\n messages: {\n required: \"Please enter a valid date\",\n invalidMonth: \"There are only 12 months in a year\",\n invalidDay: (n, e) => `There are only ${n} days in ${e}`,\n afterMin: (n) => `Date must be on or after ${n.toISOString().slice(0, 10)}`,\n beforeMax: (n) => `Date must be on or before ${n.toISOString().slice(0, 10)}`\n }\n }\n};\nfunction updateSettings(n) {\n if (n.aliases !== void 0) {\n const e = n.aliases;\n for (const s in e) {\n if (!Object.hasOwn(e, s)) continue;\n const i = e[s];\n settings.actions.has(i) && (settings.aliases.has(s) || settings.aliases.set(s, i));\n }\n }\n if (n.messages !== void 0) {\n const e = n.messages;\n e.cancel !== void 0 && (settings.messages.cancel = e.cancel), e.error !== void 0 && (settings.messages.error = e.error);\n }\n if (n.withGuide !== void 0 && (settings.withGuide = n.withGuide !== false), n.date !== void 0) {\n const e = n.date;\n e.monthNames !== void 0 && (settings.date.monthNames = [...e.monthNames]), e.messages !== void 0 && (e.messages.required !== void 0 && (settings.date.messages.required = e.messages.required), e.messages.invalidMonth !== void 0 && (settings.date.messages.invalidMonth = e.messages.invalidMonth), e.messages.invalidDay !== void 0 && (settings.date.messages.invalidDay = e.messages.invalidDay), e.messages.afterMin !== void 0 && (settings.date.messages.afterMin = e.messages.afterMin), e.messages.beforeMax !== void 0 && (settings.date.messages.beforeMax = e.messages.beforeMax));\n }\n}\nfunction isActionKey(n, e) {\n if (typeof n == \"string\")\n return settings.aliases.get(n) === e;\n for (const s of n)\n if (s !== void 0 && isActionKey(s, e))\n return true;\n return false;\n}\n\nfunction diffLines(i, s) {\n if (i === s) return;\n const e = i.split(`\n`), t = s.split(`\n`), r = Math.max(e.length, t.length), f = [];\n for (let n = 0; n < r; n++)\n e[n] !== t[n] && f.push(n);\n return {\n lines: f,\n numLinesBefore: e.length,\n numLinesAfter: t.length,\n numLines: r\n };\n}\n\nconst R = globalThis.process.platform.startsWith(\"win\");\nconst CANCEL_SYMBOL = Symbol(\"clack:cancel\");\nfunction isCancel(e) {\n return e === CANCEL_SYMBOL;\n}\nfunction setRawMode(e, r) {\n const o = e;\n o.isTTY && o.setRawMode(r);\n}\nfunction block({\n input: e = stdin,\n output: r = stdout,\n overwrite: o = true,\n hideCursor: t = true\n} = {}) {\n const s = l.createInterface({\n input: e,\n output: r,\n prompt: \"\",\n tabSize: 1\n });\n l.emitKeypressEvents(e, s), e instanceof ReadStream && e.isTTY && e.setRawMode(true);\n const n = (f, { name: a, sequence: p }) => {\n const c = String(f);\n if (isActionKey([c, a, p], \"cancel\")) {\n t && r.write(cursor.show), process.exit(0);\n return;\n }\n if (!o) return;\n const i = a === \"return\" ? 0 : -1, m = a === \"return\" ? -1 : 0;\n l.moveCursor(r, i, m, () => {\n l.clearLine(r, 1, () => {\n e.once(\"keypress\", n);\n });\n });\n };\n return t && r.write(cursor.hide), e.once(\"keypress\", n), () => {\n e.off(\"keypress\", n), t && r.write(cursor.show), e instanceof ReadStream && e.isTTY && !R && e.setRawMode(false), s.terminal = false, s.close();\n };\n}\nconst getColumns = (e) => \"columns\" in e && typeof e.columns == \"number\" ? e.columns : 80, getRows = (e) => \"rows\" in e && typeof e.rows == \"number\" ? e.rows : 20;\nfunction wrapTextWithPrefix(e, r, o, t = o, s = o, n) {\n const f = getColumns(e ?? stdout);\n return wrapAnsi(r, f - o.length, {\n hard: true,\n trim: false\n }).split(`\n`).map((c, i, m) => {\n const d = n ? n(c, i) : c;\n return i === 0 ? `${t}${d}` : i === m.length - 1 ? `${s}${d}` : `${o}${d}`;\n }).join(`\n`);\n}\n\nfunction runValidation(e, n) {\n if (\"~standard\" in e) {\n const a = e[\"~standard\"].validate(n);\n if (a instanceof Promise)\n throw new TypeError(\n \"Schema validation must be synchronous. Update `validate()` and remove any asynchronous logic.\"\n );\n return a.issues?.at(0)?.message;\n }\n return e(n);\n}\n\nclass V {\n input;\n output;\n _abortSignal;\n rl;\n opts;\n _render;\n _track = false;\n _prevFrame = \"\";\n _subscribers = /* @__PURE__ */ new Map();\n _cursor = 0;\n state = \"initial\";\n error = \"\";\n value;\n userInput = \"\";\n constructor(t, e = true) {\n const { input: i = stdin, output: n = stdout, render: s, signal: r, ...o } = t;\n this.opts = o, this.onKeypress = this.onKeypress.bind(this), this.close = this.close.bind(this), this.render = this.render.bind(this), this._render = s.bind(this), this._track = e, this._abortSignal = r, this.input = i, this.output = n;\n }\n /**\n * Unsubscribe all listeners\n */\n unsubscribe() {\n this._subscribers.clear();\n }\n /**\n * Set a subscriber with opts\n * @param event - The event name\n */\n setSubscriber(t, e) {\n const i = this._subscribers.get(t) ?? [];\n i.push(e), this._subscribers.set(t, i);\n }\n /**\n * Subscribe to an event\n * @param event - The event name\n * @param cb - The callback\n */\n on(t, e) {\n this.setSubscriber(t, { cb: e });\n }\n /**\n * Subscribe to an event once\n * @param event - The event name\n * @param cb - The callback\n */\n once(t, e) {\n this.setSubscriber(t, { cb: e, once: true });\n }\n /**\n * Emit an event with data\n * @param event - The event name\n * @param data - The data to pass to the callback\n */\n emit(t, ...e) {\n const i = this._subscribers.get(t) ?? [], n = [];\n for (const s of i)\n s.cb(...e), s.once && n.push(() => i.splice(i.indexOf(s), 1));\n for (const s of n)\n s();\n }\n prompt() {\n return new Promise((t) => {\n if (this._abortSignal) {\n if (this._abortSignal.aborted)\n return this.state = \"cancel\", this.close(), t(CANCEL_SYMBOL);\n this._abortSignal.addEventListener(\n \"abort\",\n () => {\n this.state = \"cancel\", this.close();\n },\n { once: true }\n );\n }\n this.rl = l__default.createInterface({\n input: this.input,\n tabSize: 2,\n prompt: \"\",\n escapeCodeTimeout: 50,\n terminal: true\n }), this.rl.prompt(), this.opts.initialUserInput !== void 0 && this._setUserInput(this.opts.initialUserInput, true), this.input.on(\"keypress\", this.onKeypress), setRawMode(this.input, true), this.output.on(\"resize\", this.render), this.render(), this.once(\"submit\", () => {\n this.output.write(cursor.show), this.output.off(\"resize\", this.render), setRawMode(this.input, false), t(this.value);\n }), this.once(\"cancel\", () => {\n this.output.write(cursor.show), this.output.off(\"resize\", this.render), setRawMode(this.input, false), t(CANCEL_SYMBOL);\n });\n });\n }\n _isActionKey(t, e) {\n return t === \"\t\";\n }\n _shouldSubmit(t, e) {\n return true;\n }\n _setValue(t) {\n this.value = t, this.emit(\"value\", this.value);\n }\n _setUserInput(t, e) {\n this.userInput = t ?? \"\", this.emit(\"userInput\", this.userInput), e && this._track && this.rl && (this.rl.write(this.userInput), this._cursor = this.rl.cursor);\n }\n _clearUserInput() {\n this.rl?.write(null, { ctrl: true, name: \"u\" }), this._setUserInput(\"\");\n }\n onKeypress(t, e) {\n if (this._track && e.name !== \"return\" && (e.name && this._isActionKey(t, e) && this.rl?.write(null, { ctrl: true, name: \"h\" }), this._cursor = this.rl?.cursor ?? 0, this._setUserInput(this.rl?.line)), this.state === \"error\" && (this.state = \"active\"), e?.name && (!this._track && settings.aliases.has(e.name) && this.emit(\"cursor\", settings.aliases.get(e.name)), settings.actions.has(e.name) && this.emit(\"cursor\", e.name)), t && (t.toLowerCase() === \"y\" || t.toLowerCase() === \"n\") && this.emit(\"confirm\", t.toLowerCase() === \"y\"), this.emit(\"key\", t, e), e?.name === \"return\" && this._shouldSubmit(t, e)) {\n if (this.opts.validate) {\n const i = runValidation(this.opts.validate, this.value);\n i && (this.error = i instanceof Error ? i.message : i, this.state = \"error\", this.rl?.write(this.userInput));\n }\n this.state !== \"error\" && (this.state = \"submit\");\n }\n isActionKey([t, e?.name, e?.sequence], \"cancel\") && (this.state = \"cancel\"), (this.state === \"submit\" || this.state === \"cancel\") && this.emit(\"finalize\"), this.render(), (this.state === \"submit\" || this.state === \"cancel\") && this.close();\n }\n close() {\n this.input.unpipe(), this.input.removeListener(\"keypress\", this.onKeypress), this.output.write(`\n`), setRawMode(this.input, false), this.rl?.close(), this.rl = void 0, this.emit(`${this.state}`, this.value), this.unsubscribe();\n }\n restoreCursor() {\n const t = wrapAnsi(this._prevFrame, process.stdout.columns, { hard: true, trim: false }).split(`\n`).length - 1;\n this.output.write(cursor.move(-999, t * -1));\n }\n render() {\n const t = wrapAnsi(this._render(this) ?? \"\", process.stdout.columns, {\n hard: true,\n trim: false\n });\n if (t !== this._prevFrame) {\n if (this.state === \"initial\")\n this.output.write(cursor.hide);\n else {\n const e = diffLines(this._prevFrame, t), i = getRows(this.output);\n if (this.restoreCursor(), e) {\n const n = Math.max(0, e.numLinesAfter - i), s = Math.max(0, e.numLinesBefore - i);\n let r = e.lines.find((o) => o >= n);\n if (r === void 0) {\n this._prevFrame = t;\n return;\n }\n if (e.lines.length === 1) {\n this.output.write(cursor.move(0, r - s)), this.output.write(erase.lines(1));\n const o = t.split(`\n`);\n this.output.write(o[r]), this._prevFrame = t, this.output.write(cursor.move(0, o.length - r - 1));\n return;\n } else if (e.lines.length > 1) {\n if (n < s)\n r = n;\n else {\n const h = r - s;\n h > 0 && this.output.write(cursor.move(0, h));\n }\n this.output.write(erase.down());\n const f = t.split(`\n`).slice(r);\n this.output.write(f.join(`\n`)), this._prevFrame = t;\n return;\n }\n }\n this.output.write(erase.down());\n }\n this.output.write(t), this.state === \"initial\" && (this.state = \"active\"), this._prevFrame = t;\n }\n }\n}\n\nfunction p$1(l, e) {\n if (l === void 0 || e.length === 0)\n return 0;\n const i = e.findIndex((s) => s.value === l);\n return i !== -1 ? i : 0;\n}\nfunction g(l, e) {\n return (e.label ?? String(e.value)).toLowerCase().includes(l.toLowerCase());\n}\nfunction m(l, e) {\n if (e)\n return l ? e : e[0];\n}\nlet T$1 = class T extends V {\n filteredOptions;\n multiple;\n isNavigating = false;\n selectedValues = [];\n focusedValue;\n #e = 0;\n #s = \"\";\n #t;\n #i;\n #n;\n get cursor() {\n return this.#e;\n }\n get userInputWithCursor() {\n if (!this.userInput)\n return styleText([\"inverse\", \"hidden\"], \"_\");\n if (this._cursor >= this.userInput.length)\n return `${this.userInput}\\u2588`;\n const e = this.userInput.slice(0, this._cursor), [t, ...i] = this.userInput.slice(this._cursor);\n return `${e}${styleText(\"inverse\", t)}${i.join(\"\")}`;\n }\n get options() {\n return typeof this.#i == \"function\" ? this.#i() : this.#i;\n }\n constructor(e) {\n super(e), this.#i = e.options, this.#n = e.placeholder;\n const t = this.options;\n this.filteredOptions = [...t], this.multiple = e.multiple === true, this.#t = typeof e.options == \"function\" ? e.filter : e.filter ?? g;\n let i;\n if (e.initialValue && Array.isArray(e.initialValue) ? this.multiple ? i = e.initialValue : i = e.initialValue.slice(0, 1) : !this.multiple && this.options.length > 0 && (i = [this.options[0].value]), i)\n for (const s of i) {\n const n = t.findIndex((o) => o.value === s);\n n !== -1 && (this.toggleSelected(s), this.#e = n);\n }\n this.focusedValue = this.options[this.#e]?.value, this.on(\"key\", (s, n) => this.#l(s, n)), this.on(\"userInput\", (s) => this.#u(s));\n }\n _isActionKey(e, t) {\n return e === \"\t\" || this.multiple && this.isNavigating && t.name === \"space\" && e !== void 0 && e !== \"\";\n }\n #l(e, t) {\n const i = t.name === \"up\", s = t.name === \"down\", n = t.name === \"return\", o = this.userInput === \"\" || this.userInput === \"\t\", u = this.#n, h = this.options, f = u !== void 0 && u !== \"\" && h.some(\n (r) => !r.disabled && (this.#t ? this.#t(u, r) : true)\n );\n if (t.name === \"tab\" && o && f) {\n this.userInput === \"\t\" && this._clearUserInput(), this._setUserInput(u, true), this.isNavigating = false;\n return;\n }\n i || s ? (this.#e = findCursor(this.#e, i ? -1 : 1, this.filteredOptions), this.focusedValue = this.filteredOptions[this.#e]?.value, this.multiple || (this.selectedValues = [this.focusedValue]), this.isNavigating = true) : n ? this.value = m(this.multiple, this.selectedValues) : this.multiple ? this.focusedValue !== void 0 && (t.name === \"tab\" || this.isNavigating && t.name === \"space\") ? this.toggleSelected(this.focusedValue) : this.isNavigating = false : (this.focusedValue && (this.selectedValues = [this.focusedValue]), this.isNavigating = false);\n }\n deselectAll() {\n this.selectedValues = [];\n }\n toggleSelected(e) {\n this.filteredOptions.length !== 0 && (this.multiple ? this.selectedValues.includes(e) ? this.selectedValues = this.selectedValues.filter((t) => t !== e) : this.selectedValues = [...this.selectedValues, e] : this.selectedValues = [e]);\n }\n #u(e) {\n if (e !== this.#s) {\n this.#s = e;\n const t = this.options;\n e && this.#t ? this.filteredOptions = t.filter((n) => this.#t?.(e, n)) : this.filteredOptions = [...t];\n const i = p$1(this.focusedValue, this.filteredOptions);\n this.#e = findCursor(i, 0, this.filteredOptions);\n const s = this.filteredOptions[this.#e];\n s && !s.disabled ? this.focusedValue = s.value : this.focusedValue = void 0, this.multiple || (this.focusedValue !== void 0 ? this.toggleSelected(this.focusedValue) : this.deselectAll());\n }\n }\n};\n\nclass r extends V {\n get cursor() {\n return this.value ? 0 : 1;\n }\n get _value() {\n return this.cursor === 0;\n }\n constructor(t) {\n super(t, false), this.value = !!t.initialValue, this.on(\"userInput\", () => {\n this.value = this._value;\n }), this.on(\"confirm\", (i) => {\n this.output.write(cursor.move(0, -1)), this.value = i, this.state = \"submit\", this.close();\n }), this.on(\"cursor\", () => {\n this.value = !this.value;\n });\n }\n}\n\nconst _ = {\n Y: { type: \"year\", len: 4 },\n M: { type: \"month\", len: 2 },\n D: { type: \"day\", len: 2 }\n};\nfunction M(r) {\n return [...r].map((t) => _[t]);\n}\nfunction P(r) {\n const i = new Intl.DateTimeFormat(r, {\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\"\n }).formatToParts(new Date(2e3, 0, 15)), s = [];\n let n = \"/\";\n for (const e of i)\n e.type === \"literal\" ? n = e.value.trim() || e.value : (e.type === \"year\" || e.type === \"month\" || e.type === \"day\") && s.push({ type: e.type, len: e.type === \"year\" ? 4 : 2 });\n return { segments: s, separator: n };\n}\nfunction p(r) {\n return Number.parseInt((r || \"0\").replace(/_/g, \"0\"), 10) || 0;\n}\nfunction f(r) {\n return {\n year: p(r.year),\n month: p(r.month),\n day: p(r.day)\n };\n}\nfunction c(r, t) {\n return new Date(r || 2001, t || 1, 0).getDate();\n}\nfunction b(r) {\n const { year: t, month: i, day: s } = f(r);\n if (!t || t < 0 || t > 9999 || !i || i < 1 || i > 12 || !s || s < 1) return;\n const n = new Date(Date.UTC(t, i - 1, s));\n if (!(n.getUTCFullYear() !== t || n.getUTCMonth() !== i - 1 || n.getUTCDate() !== s))\n return { year: t, month: i, day: s };\n}\nfunction C(r) {\n const t = b(r);\n return t ? new Date(Date.UTC(t.year, t.month - 1, t.day)) : void 0;\n}\nfunction T(r, t, i, s) {\n const n = i ? {\n year: i.getUTCFullYear(),\n month: i.getUTCMonth() + 1,\n day: i.getUTCDate()\n } : null, e = s ? {\n year: s.getUTCFullYear(),\n month: s.getUTCMonth() + 1,\n day: s.getUTCDate()\n } : null;\n return r === \"year\" ? { min: n?.year ?? 1, max: e?.year ?? 9999 } : r === \"month\" ? {\n min: n && t.year === n.year ? n.month : 1,\n max: e && t.year === e.year ? e.month : 12\n } : {\n min: n && t.year === n.year && t.month === n.month ? n.day : 1,\n max: e && t.year === e.year && t.month === e.month ? e.day : c(t.year, t.month)\n };\n}\nclass U extends V {\n #i;\n #o;\n #t;\n #h;\n #u;\n #e = { segmentIndex: 0, positionInSegment: 0 };\n #n = true;\n #s = null;\n inlineError = \"\";\n get segmentCursor() {\n return { ...this.#e };\n }\n get segmentValues() {\n return { ...this.#t };\n }\n get segments() {\n return this.#i;\n }\n get separator() {\n return this.#o;\n }\n get formattedValue() {\n return this.#l(this.#t);\n }\n #l(t) {\n return this.#i.map((i) => t[i.type]).join(this.#o);\n }\n #r() {\n this._setUserInput(this.#l(this.#t)), this._setValue(C(this.#t) ?? void 0);\n }\n constructor(t) {\n const i = t.format ? { segments: M(t.format), separator: t.separator ?? \"/\" } : P(t.locale), s = t.separator ?? i.separator, n = t.format ? M(t.format) : i.segments, e = t.initialValue ?? t.defaultValue, m = e ? {\n year: String(e.getUTCFullYear()).padStart(4, \"0\"),\n month: String(e.getUTCMonth() + 1).padStart(2, \"0\"),\n day: String(e.getUTCDate()).padStart(2, \"0\")\n } : { year: \"____\", month: \"__\", day: \"__\" }, o = n.map((a) => m[a.type]).join(s);\n super({ ...t, initialUserInput: o }, false), this.#i = n, this.#o = s, this.#t = m, this.#h = t.minDate, this.#u = t.maxDate, this.#r(), this.on(\"cursor\", (a) => this.#f(a)), this.on(\"key\", (a, u) => this.#y(a, u)), this.on(\"finalize\", () => this.#p(t));\n }\n #a() {\n const t = Math.max(0, Math.min(this.#e.segmentIndex, this.#i.length - 1)), i = this.#i[t];\n if (i)\n return this.#e.positionInSegment = Math.max(\n 0,\n Math.min(this.#e.positionInSegment, i.len - 1)\n ), { segment: i, index: t };\n }\n #m(t) {\n this.inlineError = \"\", this.#s = null;\n const i = this.#a();\n i && (this.#e.segmentIndex = Math.max(\n 0,\n Math.min(this.#i.length - 1, i.index + t)\n ), this.#e.positionInSegment = 0, this.#n = true);\n }\n #d(t) {\n const i = this.#a();\n if (!i) return;\n const { segment: s } = i, n = this.#t[s.type], e = !n || n.replace(/_/g, \"\") === \"\", m = Number.parseInt((n || \"0\").replace(/_/g, \"0\"), 10) || 0, o = T(\n s.type,\n f(this.#t),\n this.#h,\n this.#u\n );\n let a;\n e ? a = t === 1 ? o.min : o.max : a = Math.max(Math.min(o.max, m + t), o.min), this.#t = {\n ...this.#t,\n [s.type]: a.toString().padStart(s.len, \"0\")\n }, this.#n = true, this.#s = null, this.#r();\n }\n #f(t) {\n if (t)\n switch (t) {\n case \"right\":\n return this.#m(1);\n case \"left\":\n return this.#m(-1);\n case \"up\":\n return this.#d(1);\n case \"down\":\n return this.#d(-1);\n }\n }\n #y(t, i) {\n if (i?.name === \"backspace\" || i?.sequence === \"\\x7F\" || i?.sequence === \"\\b\" || t === \"\\x7F\" || t === \"\\b\") {\n this.inlineError = \"\";\n const n = this.#a();\n if (!n) return;\n if (!this.#t[n.segment.type].replace(/_/g, \"\")) {\n this.#m(-1);\n return;\n }\n this.#t[n.segment.type] = \"_\".repeat(n.segment.len), this.#n = true, this.#e.positionInSegment = 0, this.#r();\n return;\n }\n if (i?.name === \"tab\") {\n this.inlineError = \"\";\n const n = this.#a();\n if (!n) return;\n const e = i.shift ? -1 : 1, m = n.index + e;\n m >= 0 && m < this.#i.length && (this.#e.segmentIndex = m, this.#e.positionInSegment = 0, this.#n = true);\n return;\n }\n if (t && /^[0-9]$/.test(t)) {\n const n = this.#a();\n if (!n) return;\n const { segment: e } = n, m = !this.#t[e.type].replace(/_/g, \"\");\n if (this.#n && this.#s !== null && !m) {\n const h = this.#s + t, d = { ...this.#t, [e.type]: h }, g = this.#g(d, e);\n if (g) {\n this.inlineError = g, this.#s = null, this.#n = false;\n return;\n }\n this.inlineError = \"\", this.#t[e.type] = h, this.#s = null, this.#n = false, this.#r(), n.index < this.#i.length - 1 && (this.#e.segmentIndex = n.index + 1, this.#e.positionInSegment = 0, this.#n = true);\n return;\n }\n this.#n && !m && (this.#t[e.type] = \"_\".repeat(e.len), this.#e.positionInSegment = 0), this.#n = false, this.#s = null;\n const o = this.#t[e.type], a = o.indexOf(\"_\"), u = a >= 0 ? a : Math.min(this.#e.positionInSegment, e.len - 1);\n if (u < 0 || u >= e.len) return;\n let l = o.slice(0, u) + t + o.slice(u + 1), D = false;\n if (u === 0 && o === \"__\" && (e.type === \"month\" || e.type === \"day\")) {\n const h = Number.parseInt(t, 10);\n l = `0${t}`, D = h <= (e.type === \"month\" ? 1 : 2);\n }\n if (e.type === \"year\" && (l = (o.replace(/_/g, \"\") + t).padStart(e.len, \"_\")), !l.includes(\"_\")) {\n const h = { ...this.#t, [e.type]: l }, d = this.#g(h, e);\n if (d) {\n this.inlineError = d;\n return;\n }\n }\n this.inlineError = \"\", this.#t[e.type] = l;\n const y = l.includes(\"_\") ? void 0 : b(this.#t);\n if (y) {\n const { year: h, month: d } = y, g = c(h, d);\n this.#t = {\n year: String(Math.max(0, Math.min(9999, h))).padStart(4, \"0\"),\n month: String(Math.max(1, Math.min(12, d))).padStart(2, \"0\"),\n day: String(Math.max(1, Math.min(g, y.day))).padStart(2, \"0\")\n };\n }\n this.#r();\n const S = l.indexOf(\"_\");\n D ? (this.#n = true, this.#s = t) : S >= 0 ? this.#e.positionInSegment = S : a >= 0 && n.index < this.#i.length - 1 ? (this.#e.segmentIndex = n.index + 1, this.#e.positionInSegment = 0, this.#n = true) : this.#e.positionInSegment = Math.min(u + 1, e.len - 1);\n }\n }\n #g(t, i) {\n const { month: s, day: n } = f(t);\n if (i.type === \"month\" && (s < 0 || s > 12))\n return settings.date.messages.invalidMonth;\n if (i.type === \"day\" && (n < 0 || n > 31))\n return settings.date.messages.invalidDay(31, \"any month\");\n }\n #p(t) {\n const { year: i, month: s, day: n } = f(this.#t);\n if (i && s && n) {\n const e = c(i, s);\n this.#t = {\n ...this.#t,\n day: String(Math.min(n, e)).padStart(2, \"0\")\n };\n }\n this.value = C(this.#t) ?? t.defaultValue ?? void 0;\n }\n}\n\nlet u$1 = class u extends V {\n options;\n cursor = 0;\n #t;\n getGroupItems(t) {\n return this.options.filter((r) => r.group === t);\n }\n isGroupSelected(t) {\n const r = this.getGroupItems(t), e = this.value;\n return e === void 0 ? false : r.every((s) => e.includes(s.value));\n }\n toggleValue() {\n const t = this.options[this.cursor];\n if (this.value === void 0 && (this.value = []), t.group === true) {\n const r = t.value, e = this.getGroupItems(r);\n this.isGroupSelected(r) ? this.value = this.value.filter(\n (s) => e.findIndex((i) => i.value === s) === -1\n ) : this.value = [...this.value, ...e.map((s) => s.value)], this.value = Array.from(new Set(this.value));\n } else {\n const r = this.value.includes(t.value);\n this.value = r ? this.value.filter((e) => e !== t.value) : [...this.value, t.value];\n }\n }\n constructor(t) {\n super(t, false);\n const { options: r } = t;\n this.#t = t.selectableGroups !== false, this.options = Object.entries(r).flatMap(([e, s]) => [\n { value: e, group: true, label: e },\n ...s.map((i) => ({ ...i, group: e }))\n ]), this.value = [...t.initialValues ?? []], this.cursor = Math.max(\n this.options.findIndex(({ value: e }) => e === t.cursorAt),\n this.#t ? 0 : 1\n ), this.on(\"cursor\", (e) => {\n switch (e) {\n case \"left\":\n case \"up\": {\n this.cursor = this.cursor === 0 ? this.options.length - 1 : this.cursor - 1;\n const s = this.options[this.cursor]?.group === true;\n !this.#t && s && (this.cursor = this.cursor === 0 ? this.options.length - 1 : this.cursor - 1);\n break;\n }\n case \"down\":\n case \"right\": {\n this.cursor = this.cursor === this.options.length - 1 ? 0 : this.cursor + 1;\n const s = this.options[this.cursor]?.group === true;\n !this.#t && s && (this.cursor = this.cursor === this.options.length - 1 ? 0 : this.cursor + 1);\n break;\n }\n case \"space\":\n this.toggleValue();\n break;\n }\n });\n }\n};\n\nconst o$1 = /* @__PURE__ */ new Set([\"up\", \"down\", \"left\", \"right\"]);\nclass h extends V {\n #t = false;\n #s;\n focused = \"editor\";\n get userInputWithCursor() {\n if (this.state === \"submit\")\n return this.userInput;\n const t = this.userInput;\n if (this.cursor >= t.length)\n return `${t}\\u2588`;\n const s = t.slice(0, this.cursor), r = t[this.cursor], i = t.slice(this.cursor + 1);\n return r === `\n` ? `${s}\\u2588\n${i}` : `${s}${styleText(\"inverse\", r)}${i}`;\n }\n get cursor() {\n return this._cursor;\n }\n #r(t) {\n if (this.userInput.length === 0) {\n this._setUserInput(t);\n return;\n }\n this._setUserInput(\n this.userInput.slice(0, this.cursor) + t + this.userInput.slice(this.cursor)\n );\n }\n #i(t) {\n const s = this.value ?? \"\";\n switch (t) {\n case \"up\":\n this._cursor = findTextCursor(this._cursor, 0, -1, s);\n return;\n case \"down\":\n this._cursor = findTextCursor(this._cursor, 0, 1, s);\n return;\n case \"left\":\n this._cursor = findTextCursor(this._cursor, -1, 0, s);\n return;\n case \"right\":\n this._cursor = findTextCursor(this._cursor, 1, 0, s);\n return;\n }\n }\n _shouldSubmit(t, s) {\n if (this.#s)\n return this.focused === \"submit\" ? true : (this.#r(`\n`), this._cursor++, false);\n const r = this.#t;\n return this.#t = true, r && this.cursor === this.userInput.length ? (this.userInput[this.cursor - 1] === `\n` && (this._setUserInput(\n this.userInput.slice(0, this.cursor - 1) + this.userInput.slice(this.cursor)\n ), this._cursor--), true) : (this.#r(`\n`), this._cursor++, false);\n }\n constructor(t) {\n const s = t.initialUserInput ?? t.initialValue;\n super(\n {\n ...t,\n initialUserInput: s\n },\n false\n ), s !== void 0 && (this._cursor = s.length), this.#s = t.showSubmit ?? false, this.on(\"key\", (r, i) => {\n if (i?.name && o$1.has(i.name)) {\n this.#t = false, this.#i(i.name);\n return;\n }\n if (r === \"\t\" && this.#s) {\n this.focused = this.focused === \"editor\" ? \"submit\" : \"editor\";\n return;\n }\n if (i?.name !== \"return\") {\n if (this.#t = false, i?.name === \"backspace\" && this.cursor > 0) {\n this._setUserInput(\n this.userInput.slice(0, this.cursor - 1) + this.userInput.slice(this.cursor)\n ), this._cursor--;\n return;\n }\n if (i?.name === \"delete\" && this.cursor < this.userInput.length) {\n this._setUserInput(\n this.userInput.slice(0, this.cursor) + this.userInput.slice(this.cursor + 1)\n );\n return;\n }\n r && (this.#s && this.focused === \"submit\" && (this.focused = \"editor\"), this.#r(r ?? \"\"), this._cursor++);\n }\n }), this.on(\"userInput\", (r) => {\n this._setValue(r);\n }), this.on(\"finalize\", () => {\n this.value || (this.value = t.defaultValue), this.value === void 0 && (this.value = \"\");\n });\n }\n}\n\nlet a$1 = class a extends V {\n options;\n cursor = 0;\n get _value() {\n return this.options[this.cursor].value;\n }\n get _enabledOptions() {\n return this.options.filter((e) => e.disabled !== true);\n }\n toggleAll() {\n const e = this._enabledOptions, i = this.value !== void 0 && this.value.length === e.length;\n this.value = i ? [] : e.map((t) => t.value);\n }\n toggleInvert() {\n const e = this.value;\n if (!e)\n return;\n const i = this._enabledOptions.filter((t) => !e.includes(t.value));\n this.value = i.map((t) => t.value);\n }\n toggleValue() {\n this.value === void 0 && (this.value = []);\n const e = this.value.includes(this._value);\n this.value = e ? this.value.filter((i) => i !== this._value) : [...this.value, this._value];\n }\n constructor(e) {\n super(e, false), this.options = e.options, this.value = [...e.initialValues ?? []];\n const i = Math.max(\n this.options.findIndex(({ value: t }) => t === e.cursorAt),\n 0\n );\n this.cursor = this.options[i].disabled ? findCursor(i, 1, this.options) : i, this.on(\"key\", (t, l) => {\n l.name === \"a\" && this.toggleAll(), l.name === \"i\" && this.toggleInvert();\n }), this.on(\"cursor\", (t) => {\n switch (t) {\n case \"left\":\n case \"up\":\n this.cursor = findCursor(this.cursor, -1, this.options);\n break;\n case \"down\":\n case \"right\":\n this.cursor = findCursor(this.cursor, 1, this.options);\n break;\n case \"space\":\n this.toggleValue();\n break;\n }\n });\n }\n};\n\nclass o extends V {\n _mask = \"\\u2022\";\n get cursor() {\n return this._cursor;\n }\n get masked() {\n return this.userInput.replaceAll(/./g, this._mask);\n }\n get userInputWithCursor() {\n if (this.state === \"submit\" || this.state === \"cancel\")\n return this.masked;\n const t = this.userInput;\n if (this.cursor >= t.length)\n return `${this.masked}${styleText([\"inverse\", \"hidden\"], \"_\")}`;\n const s = this.masked, e = s.slice(0, this.cursor), r = s.slice(this.cursor);\n return `${e}${styleText(\"inverse\", r[0])}${r.slice(1)}`;\n }\n clear() {\n this._clearUserInput();\n }\n constructor({ mask: t, ...s }) {\n super(s), this._mask = t ?? \"\\u2022\", this.on(\"userInput\", (e) => {\n this._setValue(e);\n }), this.on(\"finalize\", () => {\n this.value === void 0 && (this.value = \"\");\n });\n }\n}\n\nclass a extends V {\n options;\n cursor = 0;\n get _selectedValue() {\n return this.options[this.cursor];\n }\n changeValue() {\n this.value = this._selectedValue.value;\n }\n constructor(t) {\n super(t, false), this.options = t.options;\n const i = this.options.findIndex(({ value: s }) => s === t.initialValue), e = i === -1 ? 0 : i;\n this.cursor = this.options[e].disabled ? findCursor(e, 1, this.options) : e, this.changeValue(), this.on(\"cursor\", (s) => {\n switch (s) {\n case \"left\":\n case \"up\":\n this.cursor = findCursor(this.cursor, -1, this.options);\n break;\n case \"down\":\n case \"right\":\n this.cursor = findCursor(this.cursor, 1, this.options);\n break;\n }\n this.changeValue();\n });\n }\n}\n\nclass u extends V {\n options;\n cursor = 0;\n constructor(t) {\n super(t, false), this.options = t.options;\n const s = t.caseSensitive === true, i = this.options.map(({ value: [e] }) => s ? e : e?.toLowerCase());\n this.cursor = Math.max(i.indexOf(t.initialValue), 0), this.on(\"key\", (e) => {\n if (!e)\n return;\n const o = s ? e : e.toLowerCase();\n if (!i.includes(o))\n return;\n const n = this.options.find(({ value: [r] }) => s ? r === o : r?.toLowerCase() === o);\n n && (this.value = n.value, this.state = \"submit\", this.emit(\"submit\"));\n });\n }\n}\n\nclass n extends V {\n get userInputWithCursor() {\n if (this.state === \"submit\")\n return this.userInput;\n const t = this.userInput;\n if (this.cursor >= t.length)\n return `${this.userInput}\\u2588`;\n const e = t.slice(0, this.cursor), [s, ...r] = t.slice(this.cursor);\n return `${e}${styleText(\"inverse\", s)}${r.join(\"\")}`;\n }\n get cursor() {\n return this._cursor;\n }\n constructor(t) {\n super({\n ...t,\n initialUserInput: t.initialUserInput ?? t.initialValue\n }), this.on(\"userInput\", (e) => {\n this._setValue(e);\n }), this.on(\"finalize\", () => {\n this.value || (this.value = t.defaultValue), this.value === void 0 && (this.value = \"\");\n });\n }\n}\n\nexport { T$1 as AutocompletePrompt, r as ConfirmPrompt, U as DatePrompt, u$1 as GroupMultiSelectPrompt, h as MultiLinePrompt, a$1 as MultiSelectPrompt, o as PasswordPrompt, V as Prompt, u as SelectKeyPrompt, a as SelectPrompt, n as TextPrompt, block, getColumns, getRows, isCancel, runValidation, settings, updateSettings, wrapTextWithPrefix };\n", "/* MAIN */\nconst getCodePointsLength = (() => {\n const SURROGATE_PAIR_RE = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n return (input) => {\n let surrogatePairsNr = 0;\n SURROGATE_PAIR_RE.lastIndex = 0;\n while (SURROGATE_PAIR_RE.test(input)) {\n surrogatePairsNr += 1;\n }\n return input.length - surrogatePairsNr;\n };\n})();\nconst isFullWidth = (x) => {\n return x === 0x3000 || x >= 0xFF01 && x <= 0xFF60 || x >= 0xFFE0 && x <= 0xFFE6;\n};\nconst isWideNotCJKTNotEmoji = (x) => {\n return x === 0x231B || x === 0x2329 || x >= 0x2FF0 && x <= 0x2FFF || x >= 0x3001 && x <= 0x303E || x >= 0x3099 && x <= 0x30FF || x >= 0x3105 && x <= 0x312F || x >= 0x3131 && x <= 0x318E || x >= 0x3190 && x <= 0x31E3 || x >= 0x31EF && x <= 0x321E || x >= 0x3220 && x <= 0x3247 || x >= 0x3250 && x <= 0x4DBF || x >= 0xFE10 && x <= 0xFE19 || x >= 0xFE30 && x <= 0xFE52 || x >= 0xFE54 && x <= 0xFE66 || x >= 0xFE68 && x <= 0xFE6B || x >= 0x1F200 && x <= 0x1F202 || x >= 0x1F210 && x <= 0x1F23B || x >= 0x1F240 && x <= 0x1F248 || x >= 0x20000 && x <= 0x2FFFD || x >= 0x30000 && x <= 0x3FFFD;\n};\n/* EXPORT */\nexport { getCodePointsLength, isFullWidth, isWideNotCJKTNotEmoji };\n", "/* IMPORT */\nimport { getCodePointsLength, isFullWidth, isWideNotCJKTNotEmoji } from './utils.js';\n/* HELPERS */\nconst ANSI_RE = /[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\\u001b\\]8;[^;]*;.*?(?:\\u0007|\\u001b\\u005c)/y;\nconst CONTROL_RE = /[\\x00-\\x08\\x0A-\\x1F\\x7F-\\x9F]{1,1000}/y;\nconst CJKT_WIDE_RE = /(?:(?![\\uFF61-\\uFF9F\\uFF00-\\uFFEF])[\\p{Script=Han}\\p{Script=Hiragana}\\p{Script=Katakana}\\p{Script=Hangul}\\p{Script=Tangut}]){1,1000}/yu;\nconst TAB_RE = /\\t{1,1000}/y;\nconst EMOJI_RE = /[\\u{1F1E6}-\\u{1F1FF}]{2}|\\u{1F3F4}[\\u{E0061}-\\u{E007A}]{2}[\\u{E0030}-\\u{E0039}\\u{E0061}-\\u{E007A}]{1,3}\\u{E007F}|(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation})(?:\\u200D(?:\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation}|\\p{Emoji}\\uFE0F\\u20E3?))*/yu;\nconst LATIN_RE = /(?:[\\x20-\\x7E\\xA0-\\xFF](?!\\uFE0F)){1,1000}/y;\nconst MODIFIER_RE = /\\p{M}+/gu;\nconst NO_TRUNCATION = { limit: Infinity, ellipsis: '' };\n/* MAIN */\nconst getStringTruncatedWidth = (input, truncationOptions = {}, widthOptions = {}) => {\n /* CONSTANTS */\n const LIMIT = truncationOptions.limit ?? Infinity;\n const ELLIPSIS = truncationOptions.ellipsis ?? '';\n const ELLIPSIS_WIDTH = truncationOptions?.ellipsisWidth ?? (ELLIPSIS ? getStringTruncatedWidth(ELLIPSIS, NO_TRUNCATION, widthOptions).width : 0);\n const ANSI_WIDTH = 0;\n const CONTROL_WIDTH = widthOptions.controlWidth ?? 0;\n const TAB_WIDTH = widthOptions.tabWidth ?? 8;\n const EMOJI_WIDTH = widthOptions.emojiWidth ?? 2;\n const FULL_WIDTH_WIDTH = 2;\n const REGULAR_WIDTH = widthOptions.regularWidth ?? 1;\n const WIDE_WIDTH = widthOptions.wideWidth ?? FULL_WIDTH_WIDTH;\n const PARSE_BLOCKS = [\n [LATIN_RE, REGULAR_WIDTH],\n [ANSI_RE, ANSI_WIDTH],\n [CONTROL_RE, CONTROL_WIDTH],\n [TAB_RE, TAB_WIDTH],\n [EMOJI_RE, EMOJI_WIDTH],\n [CJKT_WIDE_RE, WIDE_WIDTH],\n ];\n /* STATE */\n let indexPrev = 0;\n let index = 0;\n let length = input.length;\n let lengthExtra = 0;\n let truncationEnabled = false;\n let truncationIndex = length;\n let truncationLimit = Math.max(0, LIMIT - ELLIPSIS_WIDTH);\n let unmatchedStart = 0;\n let unmatchedEnd = 0;\n let width = 0;\n let widthExtra = 0;\n /* PARSE LOOP */\n outer: while (true) {\n /* UNMATCHED */\n if ((unmatchedEnd > unmatchedStart) || (index >= length && index > indexPrev)) {\n const unmatched = input.slice(unmatchedStart, unmatchedEnd) || input.slice(indexPrev, index);\n lengthExtra = 0;\n for (const char of unmatched.replaceAll(MODIFIER_RE, '')) {\n const codePoint = char.codePointAt(0) || 0;\n if (isFullWidth(codePoint)) {\n widthExtra = FULL_WIDTH_WIDTH;\n }\n else if (isWideNotCJKTNotEmoji(codePoint)) {\n widthExtra = WIDE_WIDTH;\n }\n else {\n widthExtra = REGULAR_WIDTH;\n }\n if ((width + widthExtra) > truncationLimit) {\n truncationIndex = Math.min(truncationIndex, Math.max(unmatchedStart, indexPrev) + lengthExtra);\n }\n if ((width + widthExtra) > LIMIT) {\n truncationEnabled = true;\n break outer;\n }\n lengthExtra += char.length;\n width += widthExtra;\n }\n unmatchedStart = unmatchedEnd = 0;\n }\n /* EXITING */\n if (index >= length) {\n break outer;\n }\n /* PARSE BLOCKS */\n for (let i = 0, l = PARSE_BLOCKS.length; i < l; i++) {\n const [BLOCK_RE, BLOCK_WIDTH] = PARSE_BLOCKS[i];\n BLOCK_RE.lastIndex = index;\n if (BLOCK_RE.test(input)) {\n lengthExtra = BLOCK_RE === CJKT_WIDE_RE ? getCodePointsLength(input.slice(index, BLOCK_RE.lastIndex)) : BLOCK_RE === EMOJI_RE ? 1 : BLOCK_RE.lastIndex - index;\n widthExtra = lengthExtra * BLOCK_WIDTH;\n if ((width + widthExtra) > truncationLimit) {\n truncationIndex = Math.min(truncationIndex, index + Math.floor((truncationLimit - width) / BLOCK_WIDTH));\n }\n if ((width + widthExtra) > LIMIT) {\n truncationEnabled = true;\n break outer;\n }\n width += widthExtra;\n unmatchedStart = indexPrev;\n unmatchedEnd = index;\n index = indexPrev = BLOCK_RE.lastIndex;\n continue outer;\n }\n }\n /* UNMATCHED INDEX */\n index += 1;\n }\n /* RETURN */\n return {\n width: truncationEnabled ? truncationLimit : width,\n index: truncationEnabled ? truncationIndex : length,\n truncated: truncationEnabled,\n ellipsed: truncationEnabled && LIMIT >= ELLIPSIS_WIDTH\n };\n};\n/* EXPORT */\nexport default getStringTruncatedWidth;\n", "/* IMPORT */\nimport fastStringTruncatedWidth from 'fast-string-truncated-width';\n/* HELPERS */\nconst NO_TRUNCATION = {\n limit: Infinity,\n ellipsis: '',\n ellipsisWidth: 0,\n};\n/* MAIN */\nconst fastStringWidth = (input, options = {}) => {\n return fastStringTruncatedWidth(input, NO_TRUNCATION, options).width;\n};\n/* EXPORT */\nexport default fastStringWidth;\n", "import stringWidth from 'fast-string-width';\nconst ESC = '\\x1B';\nconst CSI = '\\x9B';\nconst END_CODE = 39;\nconst ANSI_ESCAPE_BELL = '\\u0007';\nconst ANSI_CSI = '[';\nconst ANSI_OSC = ']';\nconst ANSI_SGR_TERMINATOR = 'm';\nconst ANSI_ESCAPE_LINK = `${ANSI_OSC}8;;`;\nconst GROUP_REGEX = new RegExp(`(?:\\\\${ANSI_CSI}(?<code>\\\\d+)m|\\\\${ANSI_ESCAPE_LINK}(?<uri>.*)${ANSI_ESCAPE_BELL})`, 'y');\nconst getClosingCode = (openingCode) => {\n if (openingCode >= 30 && openingCode <= 37)\n return 39;\n if (openingCode >= 90 && openingCode <= 97)\n return 39;\n if (openingCode >= 40 && openingCode <= 47)\n return 49;\n if (openingCode >= 100 && openingCode <= 107)\n return 49;\n if (openingCode === 1 || openingCode === 2)\n return 22;\n if (openingCode === 3)\n return 23;\n if (openingCode === 4)\n return 24;\n if (openingCode === 7)\n return 27;\n if (openingCode === 8)\n return 28;\n if (openingCode === 9)\n return 29;\n if (openingCode === 0)\n return 0;\n return undefined;\n};\nconst wrapAnsiCode = (code) => `${ESC}${ANSI_CSI}${code}${ANSI_SGR_TERMINATOR}`;\nconst wrapAnsiHyperlink = (url) => `${ESC}${ANSI_ESCAPE_LINK}${url}${ANSI_ESCAPE_BELL}`;\nconst wrapWord = (rows, word, columns) => {\n const characters = word[Symbol.iterator]();\n let isInsideEscape = false;\n let isInsideLinkEscape = false;\n let lastRow = rows.at(-1);\n let visible = lastRow === undefined ? 0 : stringWidth(lastRow);\n let currentCharacter = characters.next();\n let nextCharacter = characters.next();\n let rawCharacterIndex = 0;\n while (!currentCharacter.done) {\n const character = currentCharacter.value;\n const characterLength = stringWidth(character);\n if (visible + characterLength <= columns) {\n rows[rows.length - 1] += character;\n }\n else {\n rows.push(character);\n visible = 0;\n }\n if (character === ESC || character === CSI) {\n isInsideEscape = true;\n isInsideLinkEscape = word.startsWith(ANSI_ESCAPE_LINK, rawCharacterIndex + 1);\n }\n if (isInsideEscape) {\n if (isInsideLinkEscape) {\n if (character === ANSI_ESCAPE_BELL) {\n isInsideEscape = false;\n isInsideLinkEscape = false;\n }\n }\n else if (character === ANSI_SGR_TERMINATOR) {\n isInsideEscape = false;\n }\n }\n else {\n visible += characterLength;\n if (visible === columns && !nextCharacter.done) {\n rows.push('');\n visible = 0;\n }\n }\n currentCharacter = nextCharacter;\n nextCharacter = characters.next();\n rawCharacterIndex += character.length;\n }\n lastRow = rows.at(-1);\n if (!visible && lastRow !== undefined && lastRow.length && rows.length > 1) {\n rows[rows.length - 2] += rows.pop();\n }\n};\nconst stringVisibleTrimSpacesRight = (string) => {\n const words = string.split(' ');\n let last = words.length;\n while (last) {\n if (stringWidth(words[last - 1])) {\n break;\n }\n last--;\n }\n if (last === words.length) {\n return string;\n }\n return words.slice(0, last).join(' ') + words.slice(last).join('');\n};\nconst exec = (string, columns, options = {}) => {\n if (options.trim !== false && string.trim() === '') {\n return '';\n }\n let returnValue = '';\n let escapeCode;\n let escapeUrl;\n const words = string.split(' ');\n let rows = [''];\n let rowLength = 0;\n for (let index = 0; index < words.length; index++) {\n const word = words[index];\n if (options.trim !== false) {\n const row = rows.at(-1) ?? '';\n const trimmed = row.trimStart();\n if (row.length !== trimmed.length) {\n rows[rows.length - 1] = trimmed;\n rowLength = stringWidth(trimmed);\n }\n }\n if (index !== 0) {\n if (rowLength >= columns &&\n (options.wordWrap === false || options.trim === false)) {\n rows.push('');\n rowLength = 0;\n }\n if (rowLength || options.trim === false) {\n rows[rows.length - 1] += ' ';\n rowLength++;\n }\n }\n const wordLength = stringWidth(word);\n if (options.hard && wordLength > columns) {\n const remainingColumns = columns - rowLength;\n const breaksStartingThisLine = 1 + Math.floor((wordLength - remainingColumns - 1) / columns);\n const breaksStartingNextLine = Math.floor((wordLength - 1) / columns);\n if (breaksStartingNextLine < breaksStartingThisLine) {\n rows.push('');\n }\n wrapWord(rows, word, columns);\n rowLength = stringWidth(rows.at(-1) ?? '');\n continue;\n }\n if (rowLength + wordLength > columns && rowLength && wordLength) {\n if (options.wordWrap === false && rowLength < columns) {\n wrapWord(rows, word, columns);\n rowLength = stringWidth(rows.at(-1) ?? '');\n continue;\n }\n rows.push('');\n rowLength = 0;\n }\n if (rowLength + wordLength > columns && options.wordWrap === false) {\n wrapWord(rows, word, columns);\n rowLength = stringWidth(rows.at(-1) ?? '');\n continue;\n }\n rows[rows.length - 1] += word;\n rowLength += wordLength;\n }\n if (options.trim !== false) {\n rows = rows.map((row) => stringVisibleTrimSpacesRight(row));\n }\n const preString = rows.join('\\n');\n let inSurrogate = false;\n for (let i = 0; i < preString.length; i++) {\n const character = preString[i];\n returnValue += character;\n if (!inSurrogate) {\n inSurrogate = character >= '\\ud800' && character <= '\\udbff';\n if (inSurrogate) {\n continue;\n }\n }\n else {\n inSurrogate = false;\n }\n if (character === ESC || character === CSI) {\n GROUP_REGEX.lastIndex = i + 1;\n const groupsResult = GROUP_REGEX.exec(preString);\n const groups = groupsResult?.groups;\n if (groups?.code !== undefined) {\n const code = Number.parseFloat(groups.code);\n escapeCode = code === END_CODE ? undefined : code;\n }\n else if (groups?.uri !== undefined) {\n escapeUrl = groups.uri.length === 0 ? undefined : groups.uri;\n }\n }\n if (preString[i + 1] === '\\n') {\n if (escapeUrl) {\n returnValue += wrapAnsiHyperlink('');\n }\n const closingCode = escapeCode ? getClosingCode(escapeCode) : undefined;\n if (escapeCode && closingCode) {\n returnValue += wrapAnsiCode(closingCode);\n }\n }\n else if (character === '\\n') {\n if (escapeCode && getClosingCode(escapeCode)) {\n returnValue += wrapAnsiCode(escapeCode);\n }\n if (escapeUrl) {\n returnValue += wrapAnsiHyperlink(escapeUrl);\n }\n }\n }\n return returnValue;\n};\nconst CRLF_OR_LF = /\\r?\\n/;\nexport function wrapAnsi(string, columns, options) {\n return String(string)\n .normalize()\n .split(CRLF_OR_LF)\n .map((line) => exec(line, columns, options))\n .join('\\n');\n}\n", "import { getColumns, getRows, AutocompletePrompt, settings, ConfirmPrompt, wrapTextWithPrefix, DatePrompt, runValidation, isCancel, MultiSelectPrompt, GroupMultiSelectPrompt, MultiLinePrompt, PasswordPrompt, block, SelectPrompt, SelectKeyPrompt, TextPrompt } from '@clack/core';\nexport { isCancel, settings, updateSettings } from '@clack/core';\nimport { styleText, stripVTControlCharacters } from 'node:util';\nimport process$1 from 'node:process';\nimport { wrapAnsi } from 'fast-wrap-ansi';\nimport l from 'fast-string-width';\nimport { existsSync, lstatSync, readdirSync } from 'node:fs';\nimport { dirname, join } from 'node:path';\nimport { cursor, erase } from 'sisteransi';\n\nfunction isUnicodeSupported() {\n\tif (process$1.platform !== 'win32') {\n\t\treturn process$1.env.TERM !== 'linux'; // Linux console (kernel)\n\t}\n\n\treturn Boolean(process$1.env.CI)\n\t\t|| Boolean(process$1.env.WT_SESSION) // Windows Terminal\n\t\t|| Boolean(process$1.env.TERMINUS_SUBLIME) // Terminus (<0.2.27)\n\t\t|| process$1.env.ConEmuTask === '{cmd::Cmder}' // ConEmu and cmder\n\t\t|| process$1.env.TERM_PROGRAM === 'Terminus-Sublime'\n\t\t|| process$1.env.TERM_PROGRAM === 'vscode'\n\t\t|| process$1.env.TERM === 'xterm-256color'\n\t\t|| process$1.env.TERM === 'alacritty'\n\t\t|| process$1.env.TERMINAL_EMULATOR === 'JetBrains-JediTerm';\n}\n\nconst unicode = isUnicodeSupported(), isCI = () => process.env.CI === \"true\", isTTY = (o) => o.isTTY === true, unicodeOr = (o, e) => unicode ? o : e, S_STEP_ACTIVE = unicodeOr(\"\\u25C6\", \"*\"), S_STEP_CANCEL = unicodeOr(\"\\u25A0\", \"x\"), S_STEP_ERROR = unicodeOr(\"\\u25B2\", \"x\"), S_STEP_SUBMIT = unicodeOr(\"\\u25C7\", \"o\"), S_BAR_START = unicodeOr(\"\\u250C\", \"T\"), S_BAR = unicodeOr(\"\\u2502\", \"|\"), S_BAR_END = unicodeOr(\"\\u2514\", \"\\u2014\"), S_BAR_START_RIGHT = unicodeOr(\"\\u2510\", \"T\"), S_BAR_END_RIGHT = unicodeOr(\"\\u2518\", \"\\u2014\"), S_RADIO_ACTIVE = unicodeOr(\"\\u25CF\", \">\"), S_RADIO_INACTIVE = unicodeOr(\"\\u25CB\", \" \"), S_CHECKBOX_ACTIVE = unicodeOr(\"\\u25FB\", \"[\\u2022]\"), S_CHECKBOX_SELECTED = unicodeOr(\"\\u25FC\", \"[+]\"), S_CHECKBOX_INACTIVE = unicodeOr(\"\\u25FB\", \"[ ]\"), S_PASSWORD_MASK = unicodeOr(\"\\u25AA\", \"\\u2022\"), S_BAR_H = unicodeOr(\"\\u2500\", \"-\"), S_CORNER_TOP_RIGHT = unicodeOr(\"\\u256E\", \"+\"), S_CONNECT_LEFT = unicodeOr(\"\\u251C\", \"+\"), S_CORNER_BOTTOM_RIGHT = unicodeOr(\"\\u256F\", \"+\"), S_CORNER_BOTTOM_LEFT = unicodeOr(\"\\u2570\", \"+\"), S_CORNER_TOP_LEFT = unicodeOr(\"\\u256D\", \"+\"), S_INFO = unicodeOr(\"\\u25CF\", \"\\u2022\"), S_SUCCESS = unicodeOr(\"\\u25C6\", \"*\"), S_WARN = unicodeOr(\"\\u25B2\", \"!\"), S_ERROR = unicodeOr(\"\\u25A0\", \"x\"), symbol = (o) => {\n switch (o) {\n case \"initial\":\n case \"active\":\n return styleText(\"cyan\", S_STEP_ACTIVE);\n case \"cancel\":\n return styleText(\"red\", S_STEP_CANCEL);\n case \"error\":\n return styleText(\"yellow\", S_STEP_ERROR);\n case \"submit\":\n return styleText(\"green\", S_STEP_SUBMIT);\n }\n}, symbolBar = (o) => {\n switch (o) {\n case \"initial\":\n case \"active\":\n return styleText(\"cyan\", S_BAR);\n case \"cancel\":\n return styleText(\"red\", S_BAR);\n case \"error\":\n return styleText(\"yellow\", S_BAR);\n case \"submit\":\n return styleText(\"green\", S_BAR);\n }\n};\nfunction formatInstructionFooter(o, e) {\n const r = [`${e ? `${styleText(\"cyan\", S_BAR)} ` : \"\"}${o.join(\" \\u2022 \")}`];\n return e && r.push(styleText(\"cyan\", S_BAR_END)), r;\n}\n\nconst E$1 = (l, o, g, c, h, O = false) => {\n let r = o, w = 0;\n if (O)\n for (let i = c - 1; i >= g && (r -= l[i].length, w++, !(r <= h)); i--)\n ;\n else\n for (let i = g; i < c && (r -= l[i].length, w++, !(r <= h)); i++)\n ;\n return { lineCount: r, removals: w };\n};\nconst limitOptions = ({\n cursor: l,\n options: o,\n style: g,\n output: c = process.stdout,\n maxItems: h = Number.POSITIVE_INFINITY,\n columnPadding: O = 0,\n rowPadding: r = 4\n}) => {\n const i = getColumns(c) - O, I = getRows(c), C = styleText(\"dim\", \"...\"), x = Math.max(I - r, 0), m = Math.max(Math.min(h, x), 5);\n let p = 0;\n l >= m - 3 && (p = Math.max(\n Math.min(l - m + 3, o.length - m),\n 0\n ));\n let f = m < o.length && p > 0, u = m < o.length && p + m < o.length;\n const W = Math.min(\n p + m,\n o.length\n ), e = [];\n let d = 0;\n f && d++, u && d++;\n const v = p + (f ? 1 : 0), P = W - (u ? 1 : 0);\n for (let t = v; t < P; t++) {\n const n = wrapAnsi(g(o[t], t === l), i, {\n hard: true,\n trim: false\n }).split(`\n`);\n e.push(n), d += n.length;\n }\n if (d > x) {\n let t = 0, n = 0, s = d;\n const M = l - v;\n let a = x;\n const T = () => E$1(e, s, 0, M, a), L = () => E$1(\n e,\n s,\n M + 1,\n e.length,\n a,\n true\n );\n f ? ({ lineCount: s, removals: t } = T(), s > a && (u || (a -= 1), { lineCount: s, removals: n } = L())) : (u || (a -= 1), { lineCount: s, removals: n } = L(), s > a && (a -= 1, { lineCount: s, removals: t } = T())), t > 0 && (f = true, e.splice(0, t)), n > 0 && (u = true, e.splice(e.length - n, n));\n }\n const b = [];\n f && b.push(C);\n for (const t of e)\n for (const n of t)\n b.push(n);\n return u && b.push(C), b;\n};\n\nfunction P(t) {\n return t.label ?? String(t.value ?? \"\");\n}\nfunction E(t, c) {\n if (!t)\n return true;\n const n = (c.label ?? String(c.value ?? \"\")).toLowerCase(), i = (c.hint ?? \"\").toLowerCase(), l = String(c.value).toLowerCase(), o = t.toLowerCase();\n return n.includes(o) || i.includes(o) || l.includes(o);\n}\nfunction N(t, c) {\n const n = [];\n for (const i of c)\n t.includes(i.value) && n.push(i);\n return n;\n}\nconst autocomplete = (t) => new AutocompletePrompt({\n options: t.options,\n initialValue: t.initialValue ? [t.initialValue] : void 0,\n initialUserInput: t.initialUserInput,\n placeholder: t.placeholder,\n filter: t.filter ?? ((n, i) => E(n, i)),\n signal: t.signal,\n input: t.input,\n output: t.output,\n validate: t.validate,\n render() {\n const n = t.withGuide ?? settings.withGuide, i = n ? [`${styleText(\"gray\", S_BAR)}`, `${symbol(this.state)} ${t.message}`] : [`${symbol(this.state)} ${t.message}`], l = this.userInput, o = this.options, m = t.placeholder, p = l === \"\" && m !== void 0, $ = (r, s) => {\n const a = P(r), u = r.hint && r.value === this.focusedValue ? styleText(\"dim\", ` (${r.hint})`) : \"\";\n switch (s) {\n case \"active\":\n return `${styleText(\"green\", S_RADIO_ACTIVE)} ${a}${u}`;\n case \"inactive\":\n return `${styleText(\"dim\", S_RADIO_INACTIVE)} ${styleText(\"dim\", a)}`;\n case \"disabled\":\n return `${styleText(\"gray\", S_RADIO_INACTIVE)} ${styleText([\"strikethrough\", \"gray\"], a)}`;\n }\n };\n switch (this.state) {\n case \"submit\": {\n const r = N(this.selectedValues, o), s = r.length > 0 ? ` ${styleText(\"dim\", r.map(P).join(\", \"))}` : \"\", a = n ? styleText(\"gray\", S_BAR) : \"\";\n return `${i.join(`\n`)}\n${a}${s}`;\n }\n case \"cancel\": {\n const r = l ? ` ${styleText([\"strikethrough\", \"dim\"], l)}` : \"\", s = n ? styleText(\"gray\", S_BAR) : \"\";\n return `${i.join(`\n`)}\n${s}${r}`;\n }\n default: {\n const r = this.state === \"error\" ? \"yellow\" : \"cyan\", s = n ? `${styleText(r, S_BAR)} ` : \"\", a = n ? styleText(r, S_BAR_END) : \"\";\n let u = \"\";\n if (this.isNavigating || p) {\n const d = p ? m : l;\n u = d !== \"\" ? ` ${styleText(\"dim\", d)}` : \"\";\n } else\n u = ` ${this.userInputWithCursor}`;\n const V = this.filteredOptions.length !== o.length ? styleText(\n \"dim\",\n ` (${this.filteredOptions.length} match${this.filteredOptions.length === 1 ? \"\" : \"es\"})`\n ) : \"\", y = this.filteredOptions.length === 0 && l ? [`${s}${styleText(\"yellow\", \"No matches found\")}`] : [], b = this.state === \"error\" ? [`${s}${styleText(\"yellow\", this.error)}`] : [];\n n && i.push(`${s.trimEnd()}`), i.push(\n `${s}${styleText(\"dim\", \"Search:\")}${u}${V}`,\n ...y,\n ...b\n );\n const v = [\n `${styleText(\"dim\", \"\\u2191/\\u2193\")} to select`,\n `${styleText(\"dim\", \"Enter:\")} confirm`,\n `${styleText(\"dim\", \"Type:\")} to search`\n ], g = [`${s}${v.join(\" \\u2022 \")}`, a], O = this.filteredOptions.length === 0 ? [] : limitOptions({\n cursor: this.cursor,\n options: this.filteredOptions,\n columnPadding: n ? 3 : 0,\n // for `| ` when guide is shown\n rowPadding: i.length + g.length,\n style: (d, f) => $(\n d,\n d.disabled ? \"disabled\" : f ? \"active\" : \"inactive\"\n ),\n maxItems: t.maxItems,\n output: t.output\n });\n return [\n ...i,\n ...O.map((d) => `${s}${d}`),\n ...g\n ].join(`\n`);\n }\n }\n }\n}).prompt(), autocompleteMultiselect = (t) => {\n const c = (i, l, o, m) => {\n const p = o.includes(i.value), $ = i.label ?? String(i.value ?? \"\"), r = i.hint && m !== void 0 && i.value === m ? styleText(\"dim\", ` (${i.hint})`) : \"\", s = p ? styleText(\"green\", S_CHECKBOX_SELECTED) : styleText(\"dim\", S_CHECKBOX_INACTIVE);\n return i.disabled ? `${styleText(\"gray\", S_CHECKBOX_INACTIVE)} ${styleText([\"strikethrough\", \"gray\"], $)}` : l ? `${s} ${$}${r}` : `${s} ${styleText(\"dim\", $)}`;\n }, n = new AutocompletePrompt({\n options: t.options,\n multiple: true,\n placeholder: t.placeholder,\n filter: t.filter ?? ((i, l) => E(i, l)),\n validate: () => {\n if (t.required && n.selectedValues.length === 0)\n return \"Please select at least one item\";\n },\n initialValue: t.initialValues,\n signal: t.signal,\n input: t.input,\n output: t.output,\n render() {\n const i = t.withGuide ?? settings.withGuide, l = `${i ? `${styleText(\"gray\", S_BAR)}\n` : \"\"}${symbol(this.state)} ${t.message}\n`, o = this.userInput, m = t.placeholder, p = o === \"\" && m !== void 0, $ = this.isNavigating || p ? styleText(\"dim\", p ? m : o) : this.userInputWithCursor, r = this.options, s = this.filteredOptions.length !== r.length ? styleText(\n \"dim\",\n ` (${this.filteredOptions.length} match${this.filteredOptions.length === 1 ? \"\" : \"es\"})`\n ) : \"\";\n switch (this.state) {\n case \"submit\":\n return `${l}${i ? `${styleText(\"gray\", S_BAR)} ` : \"\"}${styleText(\n \"dim\",\n `${this.selectedValues.length} items selected`\n )}`;\n case \"cancel\":\n return `${l}${i ? `${styleText(\"gray\", S_BAR)} ` : \"\"}${styleText(\n [\"strikethrough\", \"dim\"],\n o\n )}`;\n default: {\n const a = this.state === \"error\" ? \"yellow\" : \"cyan\", u = i ? `${styleText(a, S_BAR)} ` : \"\", V = i ? styleText(a, S_BAR_END) : \"\", y = [\n `${styleText(\"dim\", \"\\u2191/\\u2193\")} to navigate`,\n `${styleText(\"dim\", this.isNavigating ? \"Space/Tab:\" : \"Tab:\")} select`,\n `${styleText(\"dim\", \"Enter:\")} confirm`,\n `${styleText(\"dim\", \"Type:\")} to search`\n ], b = this.filteredOptions.length === 0 && o ? [`${u}${styleText(\"yellow\", \"No matches found\")}`] : [], v = this.state === \"error\" ? [`${u}${styleText(\"yellow\", this.error)}`] : [], g = [\n ...`${l}${i ? styleText(a, S_BAR) : \"\"}`.split(`\n`),\n `${u}${styleText(\"dim\", \"Search:\")} ${$}${s}`,\n ...b,\n ...v\n ], O = [`${u}${y.join(\" \\u2022 \")}`, V], d = limitOptions({\n cursor: this.cursor,\n options: this.filteredOptions,\n style: (f, _) => c(f, _, this.selectedValues, this.focusedValue),\n maxItems: t.maxItems,\n output: t.output,\n rowPadding: g.length + O.length\n });\n return [\n ...g,\n ...d.map((f) => `${u}${f}`),\n ...O\n ].join(`\n`);\n }\n }\n }\n });\n return n.prompt();\n};\n\nconst J = [\n S_CORNER_TOP_LEFT,\n S_CORNER_TOP_RIGHT,\n S_CORNER_BOTTOM_LEFT,\n S_CORNER_BOTTOM_RIGHT\n], K = [S_BAR_START, S_BAR_START_RIGHT, S_BAR_END, S_BAR_END_RIGHT];\nfunction A$1(n, e, t, o) {\n let i = t, f = t;\n return o === \"center\" ? i = Math.floor((e - n) / 2) : o === \"right\" && (i = e - n - t), f = e - i - n, [i, f];\n}\nconst Q = (n) => n;\nconst box = (n = \"\", e = \"\", t) => {\n const o = t?.output ?? process.stdout, i = getColumns(o), R = 1 * 2, u = t?.titlePadding ?? 1, h = t?.contentPadding ?? 2, w = t?.width === void 0 || t.width === \"auto\" ? 1 : Math.min(1, t.width), m = t?.withGuide ?? settings.withGuide ? `${S_BAR} ` : \"\", b = t?.formatBorder ?? Q, a = (t?.rounded ? J : K).map(b), _ = b(S_BAR_H), B = b(S_BAR), p = l(m), x = l(e), O = i - p;\n let r = Math.floor(i * w) - p;\n if (t?.width === \"auto\") {\n const c = n.split(`\n`);\n let s = x + u * 2;\n for (const G of c) {\n const P = l(G) + h * 2;\n P > s && (s = P);\n }\n const g = s + R;\n g < r && (r = g);\n }\n r % 2 !== 0 && (r < O ? r++ : r--);\n const d = r - R, S = d - u * 2, T = x > S ? `${e.slice(0, S - 3)}...` : e, [y, W] = A$1(\n l(T),\n d,\n u,\n t?.titleAlign\n ), L = wrapAnsi(n, d - h * 2, {\n hard: true,\n trim: false\n });\n o.write(\n `${m}${a[0]}${_.repeat(y)}${T}${_.repeat(W)}${a[1]}\n`\n );\n const E = L.split(`\n`);\n for (const c of E) {\n const [s, g] = A$1(\n l(c),\n d,\n h,\n t?.contentAlign\n );\n o.write(\n `${m}${B}${\" \".repeat(s)}${c}${\" \".repeat(g)}${B}\n`\n );\n }\n o.write(`${m}${a[2]}${_.repeat(d)}${a[3]}\n`);\n};\n\nconst confirm = (i) => {\n const a = i.active ?? \"Yes\", s = i.inactive ?? \"No\";\n return new ConfirmPrompt({\n active: a,\n inactive: s,\n signal: i.signal,\n input: i.input,\n output: i.output,\n initialValue: i.initialValue ?? true,\n render() {\n const e = i.withGuide ?? settings.withGuide, u = `${symbol(this.state)} `, l = e ? `${styleText(\"gray\", S_BAR)} ` : \"\", f = wrapTextWithPrefix(\n i.output,\n i.message,\n l,\n u\n ), o = `${e ? `${styleText(\"gray\", S_BAR)}\n` : \"\"}${f}\n`, c = this.value ? a : s;\n switch (this.state) {\n case \"submit\": {\n const r = e ? `${styleText(\"gray\", S_BAR)} ` : \"\";\n return `${o}${r}${styleText(\"dim\", c)}`;\n }\n case \"cancel\": {\n const r = e ? `${styleText(\"gray\", S_BAR)} ` : \"\";\n return `${o}${r}${styleText([\"strikethrough\", \"dim\"], c)}${e ? `\n${styleText(\"gray\", S_BAR)}` : \"\"}`;\n }\n default: {\n const r = e ? `${styleText(\"cyan\", S_BAR)} ` : \"\", g = e ? styleText(\"cyan\", S_BAR_END) : \"\";\n return `${o}${r}${this.value ? `${styleText(\"green\", S_RADIO_ACTIVE)} ${a}` : `${styleText(\"dim\", S_RADIO_INACTIVE)} ${styleText(\"dim\", a)}`}${i.vertical ? e ? `\n${styleText(\"cyan\", S_BAR)} ` : `\n` : ` ${styleText(\"dim\", \"/\")} `}${this.value ? `${styleText(\"dim\", S_RADIO_INACTIVE)} ${styleText(\"dim\", s)}` : `${styleText(\"green\", S_RADIO_ACTIVE)} ${s}`}\n${g}\n`;\n }\n }\n }\n }).prompt();\n};\n\nconst date = (e) => {\n const r = e.validate;\n return new DatePrompt({\n ...e,\n validate(t) {\n if (t === void 0)\n return e.defaultValue !== void 0 ? void 0 : r ? runValidation(r, t) : settings.date.messages.required;\n const o = (i) => i.toISOString().slice(0, 10);\n if (e.minDate && o(t) < o(e.minDate))\n return settings.date.messages.afterMin(e.minDate);\n if (e.maxDate && o(t) > o(e.maxDate))\n return settings.date.messages.beforeMax(e.maxDate);\n if (r) return runValidation(r, t);\n },\n render() {\n const t = (e?.withGuide ?? settings.withGuide) !== false, i = `${`${t ? `${styleText(\"gray\", S_BAR)}\n` : \"\"}${symbol(this.state)} `}${e.message}\n`, l = this.state !== \"initial\" ? this.state : \"active\", d = b(this, l), c = this.value instanceof Date ? this.formattedValue : \"\";\n switch (this.state) {\n case \"error\": {\n const a = this.error ? ` ${styleText(\"yellow\", this.error)}` : \"\", s = t ? `${styleText(\"yellow\", S_BAR)} ` : \"\", f = t ? styleText(\"yellow\", S_BAR_END) : \"\";\n return `${i.trim()}\n${s}${d}\n${f}${a}\n`;\n }\n case \"submit\": {\n const a = c ? ` ${styleText(\"dim\", c)}` : \"\", s = t ? styleText(\"gray\", S_BAR) : \"\";\n return `${i}${s}${a}`;\n }\n case \"cancel\": {\n const a = c ? ` ${styleText([\"strikethrough\", \"dim\"], c)}` : \"\", s = t ? styleText(\"gray\", S_BAR) : \"\";\n return `${i}${s}${a}${c.trim() ? `\n${s}` : \"\"}`;\n }\n default: {\n const a = t ? `${styleText(\"cyan\", S_BAR)} ` : \"\", s = t ? styleText(\"cyan\", S_BAR_END) : \"\", f = t ? `${styleText(\"cyan\", S_BAR)} ` : \"\", g = this.inlineError ? `\n${f}${styleText(\"yellow\", this.inlineError)}` : \"\";\n return `${i}${a}${d}${g}\n${s}\n`;\n }\n }\n }\n }).prompt();\n};\nfunction b(e, r) {\n const t = e.segmentValues, o = e.segmentCursor;\n if (r === \"submit\" || r === \"cancel\")\n return e.formattedValue;\n const i = styleText(\"gray\", e.separator);\n return e.segments.map((l, d) => {\n const c = d === o.segmentIndex && ![\"submit\", \"cancel\"].includes(r), a = p[l.type];\n return x(t[l.type], { isActive: c, label: a });\n }).join(i);\n}\nfunction x(e, r) {\n const t = !e || e.replace(/_/g, \"\") === \"\";\n return r.isActive ? styleText(\"inverse\", t ? r.label : e.replace(/_/g, \" \")) : t ? styleText(\"dim\", r.label) : e.replace(/_/g, styleText(\"dim\", \" \"));\n}\nconst p = {\n year: \"yyyy\",\n month: \"mm\",\n day: \"dd\"\n};\n\nconst group = async (o, r) => {\n const t = {}, p = Object.keys(o);\n for (const e of p) {\n const i = o[e], n = await i({ results: t })?.catch((a) => {\n throw a;\n });\n if (typeof r?.onCancel == \"function\" && isCancel(n)) {\n t[e] = \"canceled\", r.onCancel({ results: t });\n continue;\n }\n t[e] = n;\n }\n return t;\n};\n\nconst MULTISELECT_INSTRUCTIONS = [\n `${styleText(\"dim\", \"\\u2191/\\u2193\")} to navigate`,\n `${styleText(\"dim\", \"Space:\")} select`,\n `${styleText(\"dim\", \"Enter:\")} confirm`\n];\nconst m = (n, o) => n.split(`\n`).map((d) => o(d)).join(`\n`);\nconst multiselect = (n) => {\n const o = (t, a) => {\n const r = t.label ?? String(t.value);\n return a === \"disabled\" ? `${styleText(\"gray\", S_CHECKBOX_INACTIVE)} ${m(r, (l) => styleText([\"strikethrough\", \"gray\"], l))}${t.hint ? ` ${styleText(\"dim\", `(${t.hint ?? \"disabled\"})`)}` : \"\"}` : a === \"active\" ? `${styleText(\"cyan\", S_CHECKBOX_ACTIVE)} ${r}${t.hint ? ` ${styleText(\"dim\", `(${t.hint})`)}` : \"\"}` : a === \"selected\" ? `${styleText(\"green\", S_CHECKBOX_SELECTED)} ${m(r, (l) => styleText(\"dim\", l))}${t.hint ? ` ${styleText(\"dim\", `(${t.hint})`)}` : \"\"}` : a === \"cancelled\" ? `${m(r, (l) => styleText([\"strikethrough\", \"dim\"], l))}` : a === \"active-selected\" ? `${styleText(\"green\", S_CHECKBOX_SELECTED)} ${r}${t.hint ? ` ${styleText(\"dim\", `(${t.hint})`)}` : \"\"}` : a === \"submitted\" ? `${m(r, (l) => styleText(\"dim\", l))}` : `${styleText(\"dim\", S_CHECKBOX_INACTIVE)} ${m(r, (l) => styleText(\"dim\", l))}`;\n }, d = n.required ?? true;\n return new MultiSelectPrompt({\n options: n.options,\n signal: n.signal,\n input: n.input,\n output: n.output,\n initialValues: n.initialValues,\n required: d,\n cursorAt: n.cursorAt,\n validate(t) {\n if (d && (t === void 0 || t.length === 0))\n return `Please select at least one option.\n${styleText(\n \"reset\",\n styleText(\n \"dim\",\n `Press ${styleText([\"gray\", \"bgWhite\", \"inverse\"], \" space \")} to select, ${styleText(\n \"gray\",\n styleText(\"bgWhite\", styleText(\"inverse\", \" enter \"))\n )} to submit`\n )\n )}`;\n },\n render() {\n const t = n.withGuide ?? settings.withGuide, a = wrapTextWithPrefix(\n n.output,\n n.message,\n t ? `${symbolBar(this.state)} ` : \"\",\n `${symbol(this.state)} `\n ), r = `${t ? `${styleText(\"gray\", S_BAR)}\n` : \"\"}${a}\n`, l = this.value ?? [], p = (i, u) => {\n if (i.disabled)\n return o(i, \"disabled\");\n const s = l.includes(i.value);\n return u && s ? o(i, \"active-selected\") : s ? o(i, \"selected\") : o(i, u ? \"active\" : \"inactive\");\n };\n switch (this.state) {\n case \"submit\": {\n const i = this.options.filter(({ value: s }) => l.includes(s)).map((s) => o(s, \"submitted\")).join(styleText(\"dim\", \", \")) || styleText(\"dim\", \"none\"), u = wrapTextWithPrefix(\n n.output,\n i,\n t ? `${styleText(\"gray\", S_BAR)} ` : \"\"\n );\n return `${r}${u}`;\n }\n case \"cancel\": {\n const i = this.options.filter(({ value: s }) => l.includes(s)).map((s) => o(s, \"cancelled\")).join(styleText(\"dim\", \", \"));\n if (i.trim() === \"\")\n return `${r}${styleText(\"gray\", S_BAR)}`;\n const u = wrapTextWithPrefix(\n n.output,\n i,\n t ? `${styleText(\"gray\", S_BAR)} ` : \"\"\n );\n return `${r}${u}${t ? `\n${styleText(\"gray\", S_BAR)}` : \"\"}`;\n }\n case \"error\": {\n const i = t ? `${styleText(\"yellow\", S_BAR)} ` : \"\", u = this.error.split(`\n`).map(\n ($, x) => x === 0 ? `${t ? `${styleText(\"yellow\", S_BAR_END)} ` : \"\"}${styleText(\"yellow\", $)}` : ` ${$}`\n ).join(`\n`), s = r.split(`\n`).length, g = u.split(`\n`).length + 1;\n return `${r}${i}${limitOptions({\n output: n.output,\n options: this.options,\n cursor: this.cursor,\n maxItems: n.maxItems,\n columnPadding: i.length,\n rowPadding: s + g,\n style: p\n }).join(`\n${i}`)}\n${u}\n`;\n }\n default: {\n const i = t ? `${styleText(\"cyan\", S_BAR)} ` : \"\", u = r.split(`\n`).length, s = formatInstructionFooter(MULTISELECT_INSTRUCTIONS, t), g = s.join(`\n`), $ = s.length + 1;\n return `${r}${i}${limitOptions({\n output: n.output,\n options: this.options,\n cursor: this.cursor,\n maxItems: n.maxItems,\n columnPadding: i.length,\n rowPadding: u + $,\n style: p\n }).join(`\n${i}`)}\n${g}\n`;\n }\n }\n }\n }).prompt();\n};\n\nconst groupMultiselect = (o) => {\n const { selectableGroups: f = true, groupSpacing: b = 0 } = o, m = (n, l, g = []) => {\n const a = n.label ?? String(n.value), t = typeof n.group == \"string\", u = t && (g[g.indexOf(n) + 1] ?? { group: true }), s = t && u && u.group === true;\n let r = \"\", c = \"\";\n t && (f ? (r = s ? `${S_BAR_END} ` : `${S_BAR} `, c = s ? \" \" : `${S_BAR} `) : r = \" \");\n let i = \"\";\n if (b > 0 && !t && (i = `\n`.repeat(b)), l === \"active\")\n return wrapTextWithPrefix(\n o.output,\n `${a}${n.hint ? ` ${styleText(\"dim\", `(${n.hint})`)}` : \"\"}`,\n `${i}${styleText(\"dim\", r)} `,\n `${i}${styleText(\"dim\", r)}${styleText(\"cyan\", S_CHECKBOX_ACTIVE)} `,\n `${i}${styleText(\"dim\", c)} `\n );\n if (l === \"group-active\")\n return wrapTextWithPrefix(\n o.output,\n a,\n `${i}${r} `,\n `${i}${r}${styleText(\"cyan\", S_CHECKBOX_ACTIVE)} `,\n `${i}${c} `,\n (d) => styleText(\"dim\", d)\n );\n if (l === \"group-active-selected\")\n return wrapTextWithPrefix(\n o.output,\n a,\n `${i}${r} `,\n `${i}${r}${styleText(\"green\", S_CHECKBOX_SELECTED)} `,\n `${i}${c} `,\n (d) => styleText(\"dim\", d)\n );\n if (l === \"selected\") {\n const d = t || f ? styleText(\"green\", S_CHECKBOX_SELECTED) : \"\";\n return wrapTextWithPrefix(\n o.output,\n `${a}${n.hint ? ` (${n.hint})` : \"\"}`,\n `${i}${styleText(\"dim\", r)} `,\n `${i}${styleText(\"dim\", r)}${d} `,\n `${i}${styleText(\"dim\", c)} `,\n (S) => styleText(\"dim\", S)\n );\n }\n if (l === \"cancelled\")\n return `${styleText([\"strikethrough\", \"dim\"], a)}`;\n if (l === \"active-selected\")\n return wrapTextWithPrefix(\n o.output,\n `${a}${n.hint ? ` ${styleText(\"dim\", `(${n.hint})`)}` : \"\"}`,\n `${i}${styleText(\"dim\", r)} `,\n `${i}${styleText(\"dim\", r)}${styleText(\"green\", S_CHECKBOX_SELECTED)} `,\n `${i}${styleText(\"dim\", c)} `\n );\n if (l === \"submitted\")\n return `${styleText(\"dim\", a)}`;\n const h = t || f ? styleText(\"dim\", S_CHECKBOX_INACTIVE) : \"\";\n return wrapTextWithPrefix(\n o.output,\n a,\n `${i}${styleText(\"dim\", r)} `,\n `${i}${styleText(\"dim\", r)}${h} `,\n `${i}${styleText(\"dim\", c)} `,\n (d) => styleText(\"dim\", d)\n );\n }, x = o.required ?? true;\n return new GroupMultiSelectPrompt({\n options: o.options,\n signal: o.signal,\n input: o.input,\n output: o.output,\n initialValues: o.initialValues,\n required: x,\n cursorAt: o.cursorAt,\n selectableGroups: f,\n validate(n) {\n if (x && (n === void 0 || n.length === 0))\n return `Please select at least one option.\n${styleText(\n \"reset\",\n styleText(\n \"dim\",\n `Press ${styleText([\"gray\", \"bgWhite\", \"inverse\"], \" space \")} to select, ${styleText(\n \"gray\",\n styleText([\"bgWhite\", \"inverse\"], \" enter \")\n )} to submit`\n )\n )}`;\n },\n render() {\n const n = o.withGuide ?? settings.withGuide, l = `${n ? `${styleText(\"gray\", S_BAR)}\n` : \"\"}${symbol(this.state)} ${o.message}\n`, g = this.value ?? [], a = (t, u) => {\n const s = this.options, r = g.includes(t.value) || t.group === true && this.isGroupSelected(`${t.value}`);\n return !u && typeof t.group == \"string\" && this.options[this.cursor].value === t.group ? m(t, r ? \"group-active-selected\" : \"group-active\", s) : u && r ? m(t, \"active-selected\", s) : r ? m(t, \"selected\", s) : m(t, u ? \"active\" : \"inactive\", s);\n };\n switch (this.state) {\n case \"submit\": {\n const t = this.options.filter(({ value: s }) => g.includes(s)).map((s) => m(s, \"submitted\")), u = t.length === 0 ? \"\" : ` ${t.join(styleText(\"dim\", \", \"))}`;\n return `${l}${n ? styleText(\"gray\", S_BAR) : \"\"}${u}`;\n }\n case \"cancel\": {\n const t = this.options.filter(({ value: u }) => g.includes(u)).map((u) => m(u, \"cancelled\")).join(styleText(\"dim\", \", \"));\n return `${l}${n ? `${styleText(\"gray\", S_BAR)} ` : \"\"}${t.trim() ? `${t}${n ? `\n${styleText(\"gray\", S_BAR)}` : \"\"}` : \"\"}`;\n }\n case \"error\": {\n const t = n ? `${styleText(\"yellow\", S_BAR)} ` : \"\", u = this.error.split(`\n`).map(\n (i, h) => h === 0 ? `${n ? `${styleText(\"yellow\", S_BAR_END)} ` : \"\"}${styleText(\"yellow\", i)}` : ` ${i}`\n ).join(`\n`), s = l.split(`\n`).length, r = u.split(`\n`).length + 1, c = limitOptions({\n output: o.output,\n options: this.options,\n cursor: this.cursor,\n maxItems: o.maxItems,\n columnPadding: t.length,\n rowPadding: s + r,\n style: a\n }).join(`\n${t}`);\n return `${l}${t}${c}\n${u}\n`;\n }\n default: {\n const t = n ? `${styleText(\"cyan\", S_BAR)} ` : \"\", u = l.split(`\n`).length, s = formatInstructionFooter(MULTISELECT_INSTRUCTIONS, n), r = s.join(`\n`), c = s.length + 1, i = limitOptions({\n output: o.output,\n options: this.options,\n cursor: this.cursor,\n maxItems: o.maxItems,\n columnPadding: t.length,\n rowPadding: u + c,\n style: a\n }).join(`\n${t}`);\n return `${l}${t}${i}\n${r}\n`;\n }\n }\n }\n }).prompt();\n};\n\nconst log = {\n message: (s = [], {\n symbol: e = styleText(\"gray\", S_BAR),\n secondarySymbol: r = styleText(\"gray\", S_BAR),\n output: m = process.stdout,\n spacing: l = 1,\n withGuide: c\n } = {}) => {\n const t = [], o = c ?? settings.withGuide, f = o ? r : \"\", O = o ? `${e} ` : \"\", u = o ? `${r} ` : \"\";\n for (let i = 0; i < l; i++)\n t.push(f);\n const g = Array.isArray(s) ? s : s.split(`\n`);\n if (g.length > 0) {\n const [i, ...y] = g;\n i.length > 0 ? t.push(`${O}${i}`) : t.push(o ? e : \"\");\n for (const p of y)\n p.length > 0 ? t.push(`${u}${p}`) : t.push(o ? r : \"\");\n }\n m.write(`${t.join(`\n`)}\n`);\n },\n info: (s, e) => {\n log.message(s, { ...e, symbol: styleText(\"blue\", S_INFO) });\n },\n success: (s, e) => {\n log.message(s, { ...e, symbol: styleText(\"green\", S_SUCCESS) });\n },\n step: (s, e) => {\n log.message(s, { ...e, symbol: styleText(\"green\", S_STEP_SUBMIT) });\n },\n warn: (s, e) => {\n log.message(s, { ...e, symbol: styleText(\"yellow\", S_WARN) });\n },\n /** alias for `log.warn()`. */\n warning: (s, e) => {\n log.warn(s, e);\n },\n error: (s, e) => {\n log.message(s, { ...e, symbol: styleText(\"red\", S_ERROR) });\n }\n};\n\nconst cancel = (o = \"\", t) => {\n const i = t?.output ?? process.stdout, e = t?.withGuide ?? settings.withGuide ? `${styleText(\"gray\", S_BAR_END)} ` : \"\";\n i.write(`${e}${styleText(\"red\", o)}\n\n`);\n}, intro = (o = \"\", t) => {\n const i = t?.output ?? process.stdout, e = t?.withGuide ?? settings.withGuide ? `${styleText(\"gray\", S_BAR_START)} ` : \"\";\n i.write(`${e}${o}\n`);\n}, outro = (o = \"\", t) => {\n const i = t?.output ?? process.stdout, e = t?.withGuide ?? settings.withGuide ? `${styleText(\"gray\", S_BAR)}\n${styleText(\"gray\", S_BAR_END)} ` : \"\";\n i.write(`${e}${o}\n\n`);\n};\n\nconst multiline = (e) => new MultiLinePrompt({\n validate: e.validate,\n placeholder: e.placeholder,\n defaultValue: e.defaultValue,\n initialValue: e.initialValue,\n showSubmit: e.showSubmit,\n output: e.output,\n signal: e.signal,\n input: e.input,\n render() {\n const i = e?.withGuide ?? settings.withGuide, o = `${`${i ? `${styleText(\"gray\", S_BAR)}\n` : \"\"}${symbol(this.state)} `}${e.message}\n`, h = e.placeholder ? styleText(\"inverse\", e.placeholder[0]) + styleText(\"dim\", e.placeholder.slice(1)) : styleText([\"inverse\", \"hidden\"], \"_\"), a = this.userInput ? this.userInputWithCursor : h, s = this.value ?? \"\", c = e.showSubmit ? `\n ${styleText(this.focused === \"submit\" ? \"cyan\" : \"dim\", \"[ submit ]\")}` : \"\";\n switch (this.state) {\n case \"error\": {\n const n = `${styleText(\"yellow\", S_BAR)} `, r = i ? wrapTextWithPrefix(e.output, a, n, void 0) : a, u = styleText(\"yellow\", S_BAR_END);\n return `${o}${r}\n${u} ${styleText(\"yellow\", this.error)}${c}\n`;\n }\n case \"submit\": {\n const n = `${styleText(\"gray\", S_BAR)} `, r = i ? wrapTextWithPrefix(\n e.output,\n s,\n n,\n void 0,\n void 0,\n (u) => styleText(\"dim\", u)\n ) : s ? styleText(\"dim\", s) : \"\";\n return `${o}${r}`;\n }\n case \"cancel\": {\n const n = `${styleText(\"gray\", S_BAR)} `, r = i ? wrapTextWithPrefix(\n e.output,\n s,\n n,\n void 0,\n void 0,\n (u) => styleText([\"strikethrough\", \"dim\"], u)\n ) : s ? styleText([\"strikethrough\", \"dim\"], s) : \"\";\n return `${o}${r}`;\n }\n default: {\n const n = i ? `${styleText(\"cyan\", S_BAR)} ` : \"\", r = i ? styleText(\"cyan\", S_BAR_END) : \"\", u = i ? wrapTextWithPrefix(e.output, a, n) : a;\n return `${o}${u}\n${r}${c}\n`;\n }\n }\n }\n}).prompt();\n\nconst W$1 = (o) => o, C = (o, e, s) => {\n const a = {\n hard: true,\n trim: false\n }, i = wrapAnsi(o, e, a).split(`\n`), c = i.reduce((n, t) => Math.max(l(t), n), 0), u = i.map(s).reduce((n, t) => Math.max(l(t), n), 0), g = e - (u - c);\n return wrapAnsi(o, g, a);\n};\nconst note = (o = \"\", e = \"\", s) => {\n const a = s?.output ?? process$1.stdout, i = s?.withGuide ?? settings.withGuide, c = s?.format ?? W$1, g = [\"\", ...C(o, getColumns(a) - 6, c).split(`\n`).map(c), \"\"], n = l(e), t = Math.max(\n g.reduce((m, F) => {\n const O = l(F);\n return O > m ? O : m;\n }, 0),\n n\n ) + 2, h = g.map(\n (m) => `${styleText(\"gray\", S_BAR)} ${m}${\" \".repeat(t - l(m))}${styleText(\"gray\", S_BAR)}`\n ).join(`\n`), T = i ? `${styleText(\"gray\", S_BAR)}\n` : \"\", l$1 = i ? S_CONNECT_LEFT : S_CORNER_BOTTOM_LEFT;\n a.write(\n `${T}${styleText(\"green\", S_STEP_SUBMIT)} ${styleText(\"reset\", e)} ${styleText(\n \"gray\",\n S_BAR_H.repeat(Math.max(t - n - 1, 1)) + S_CORNER_TOP_RIGHT\n )}\n${h}\n${styleText(\"gray\", l$1 + S_BAR_H.repeat(t + 2) + S_CORNER_BOTTOM_RIGHT)}\n`\n );\n};\n\nconst password = (r) => new PasswordPrompt({\n validate: r.validate,\n mask: r.mask ?? S_PASSWORD_MASK,\n signal: r.signal,\n input: r.input,\n output: r.output,\n render() {\n const e = r.withGuide ?? settings.withGuide, o = `${e ? `${styleText(\"gray\", S_BAR)}\n` : \"\"}${symbol(this.state)} ${r.message}\n`, c = this.userInputWithCursor, i = this.masked;\n switch (this.state) {\n case \"error\": {\n const s = e ? `${styleText(\"yellow\", S_BAR)} ` : \"\", n = e ? `${styleText(\"yellow\", S_BAR_END)} ` : \"\", l = i ?? \"\";\n return r.clearOnError && this.clear(), `${o.trim()}\n${s}${l}\n${n}${styleText(\"yellow\", this.error)}\n`;\n }\n case \"submit\": {\n const s = e ? `${styleText(\"gray\", S_BAR)} ` : \"\", n = i ? styleText(\"dim\", i) : \"\";\n return `${o}${s}${n}`;\n }\n case \"cancel\": {\n const s = e ? `${styleText(\"gray\", S_BAR)} ` : \"\", n = i ? styleText([\"strikethrough\", \"dim\"], i) : \"\";\n return `${o}${s}${n}${i && e ? `\n${styleText(\"gray\", S_BAR)}` : \"\"}`;\n }\n default: {\n const s = e ? `${styleText(\"cyan\", S_BAR)} ` : \"\", n = e ? styleText(\"cyan\", S_BAR_END) : \"\";\n return `${o}${s}${c}\n${n}\n`;\n }\n }\n }\n}).prompt();\n\nconst path = (e) => {\n const a = e.validate;\n return autocomplete({\n ...e,\n initialUserInput: e.initialValue ?? e.root ?? process.cwd(),\n maxItems: 5,\n validate(t) {\n if (!Array.isArray(t)) {\n if (!t)\n return \"Please select a path\";\n if (a)\n return runValidation(a, t);\n }\n },\n options() {\n const t = this.userInput;\n if (t === \"\")\n return [];\n try {\n let i;\n existsSync(t) ? lstatSync(t).isDirectory() && (!e.directory || t.endsWith(\"/\")) ? i = t : i = dirname(t) : i = dirname(t);\n const c = t.length > 1 && t.endsWith(\"/\") ? t.slice(0, -1) : t;\n return readdirSync(i).map((r) => {\n const n = join(i, r), m = lstatSync(n);\n return {\n name: r,\n path: n,\n isDirectory: m.isDirectory()\n };\n }).filter(\n ({ path: r, isDirectory: n }) => r.startsWith(c) && (n || !e.directory)\n ).map((r) => ({\n value: r.path\n }));\n } catch {\n return [];\n }\n }\n });\n};\n\nconst W = (l) => styleText(\"magenta\", l);\nconst spinner = ({\n indicator: l = \"dots\",\n onCancel: h,\n output: n = process.stdout,\n cancelMessage: G,\n errorMessage: O,\n frames: E = unicode ? [\"\\u25D2\", \"\\u25D0\", \"\\u25D3\", \"\\u25D1\"] : [\"\\u2022\", \"o\", \"O\", \"0\"],\n delay: F = unicode ? 80 : 120,\n signal: m,\n ...I\n} = {}) => {\n const u = isCI();\n let M, T, d = false, S = false, s = \"\", p, w = performance.now();\n const x = getColumns(n), k = I?.styleFrame ?? W, g = (e) => {\n const r = e > 1 ? O ?? settings.messages.error : G ?? settings.messages.cancel;\n S = e === 1, d && (a(r, e), S && typeof h == \"function\" && h());\n }, f = () => g(2), i = () => g(1), A = () => {\n process.on(\"uncaughtExceptionMonitor\", f), process.on(\"unhandledRejection\", f), process.on(\"SIGINT\", i), process.on(\"SIGTERM\", i), process.on(\"exit\", g), m && m.addEventListener(\"abort\", i);\n }, H = () => {\n process.removeListener(\"uncaughtExceptionMonitor\", f), process.removeListener(\"unhandledRejection\", f), process.removeListener(\"SIGINT\", i), process.removeListener(\"SIGTERM\", i), process.removeListener(\"exit\", g), m && m.removeEventListener(\"abort\", i);\n }, y = () => {\n if (p === void 0) return;\n u && n.write(`\n`);\n const r = wrapAnsi(p, x, {\n hard: true,\n trim: false\n }).split(`\n`);\n r.length > 1 && n.write(cursor.up(r.length - 1)), n.write(cursor.to(0)), n.write(erase.down());\n }, C = (e) => e.replace(/\\.+$/, \"\"), _ = (e) => {\n const r = (performance.now() - e) / 1e3, t = Math.floor(r / 60), o = Math.floor(r % 60);\n return t > 0 ? `[${t}m ${o}s]` : `[${o}s]`;\n }, N = I.withGuide ?? settings.withGuide, P = (e = \"\") => {\n d = true, M = block({ output: n }), s = C(e), w = performance.now(), N && n.write(`${styleText(\"gray\", S_BAR)}\n`);\n let r = 0, t = 0;\n A(), T = setInterval(() => {\n if (u && s === p)\n return;\n y(), p = s;\n const o = k(E[r]);\n let v;\n if (u)\n v = `${o} ${s}...`;\n else if (l === \"timer\")\n v = `${o} ${s} ${_(w)}`;\n else {\n const B = \".\".repeat(Math.floor(t)).slice(0, 3);\n v = `${o} ${s}${B}`;\n }\n const j = wrapAnsi(v, x, {\n hard: true,\n trim: false\n });\n n.write(j), r = r + 1 < E.length ? r + 1 : 0, t = t < 4 ? t + 0.125 : 0;\n }, F);\n }, a = (e = \"\", r = 0, t = false) => {\n if (!d) return;\n d = false, clearInterval(T), y();\n const o = r === 0 ? styleText(\"green\", S_STEP_SUBMIT) : r === 1 ? styleText(\"red\", S_STEP_CANCEL) : styleText(\"red\", S_STEP_ERROR);\n s = e ?? s, t || (l === \"timer\" ? n.write(`${o} ${s} ${_(w)}\n`) : n.write(`${o} ${s}\n`)), H(), M();\n };\n return {\n start: P,\n stop: (e = \"\") => a(e, 0),\n message: (e = \"\") => {\n s = C(e ?? s);\n },\n cancel: (e = \"\") => a(e, 1),\n error: (e = \"\") => a(e, 2),\n clear: () => a(\"\", 0, true),\n get isCancelled() {\n return S;\n }\n };\n};\n\nconst u = {\n light: unicodeOr(\"\\u2500\", \"-\"),\n heavy: unicodeOr(\"\\u2501\", \"=\"),\n block: unicodeOr(\"\\u2588\", \"#\")\n};\nfunction progress({\n style: o = \"heavy\",\n max: d = 100,\n size: v = 40,\n ...x\n} = {}) {\n const r = spinner(x);\n let a = 0, n = \"\";\n const c = Math.max(1, d), l = Math.max(1, v), S = (t) => {\n switch (t) {\n case \"initial\":\n case \"active\":\n return (e) => styleText(\"magenta\", e);\n case \"error\":\n case \"cancel\":\n return (e) => styleText(\"red\", e);\n case \"submit\":\n return (e) => styleText(\"green\", e);\n default:\n return (e) => styleText(\"magenta\", e);\n }\n }, p = (t, e) => {\n const m = Math.floor(a / c * l);\n return `${S(t)(u[o].repeat(m))}${styleText(\"dim\", u[o].repeat(l - m))} ${e}`;\n }, h = (t = \"\") => {\n n = t, r.start(p(\"initial\", t));\n }, g = (t = 1, e) => {\n a = Math.min(c, t + a), r.message(p(\"active\", e ?? n)), n = e ?? n;\n };\n return {\n start: h,\n stop: r.stop,\n cancel: r.cancel,\n error: r.error,\n clear: r.clear,\n advance: g,\n isCancelled: r.isCancelled,\n message: (t) => g(0, t)\n };\n}\n\nconst SELECT_INSTRUCTIONS = [\n `${styleText(\"dim\", \"\\u2191/\\u2193\")} to navigate`,\n `${styleText(\"dim\", \"Enter:\")} confirm`\n];\nconst c = (t, a) => t.includes(`\n`) ? t.split(`\n`).map((i) => a(i)).join(`\n`) : a(t);\nconst select = (t) => {\n const a = (i, m) => {\n const s = i.label ?? String(i.value);\n switch (m) {\n case \"disabled\":\n return `${styleText(\"gray\", S_RADIO_INACTIVE)} ${c(s, (n) => styleText(\"gray\", n))}${i.hint ? ` ${styleText(\"dim\", `(${i.hint ?? \"disabled\"})`)}` : \"\"}`;\n case \"selected\":\n return `${c(s, (n) => styleText(\"dim\", n))}`;\n case \"active\":\n return `${styleText(\"green\", S_RADIO_ACTIVE)} ${s}${i.hint ? ` ${styleText(\"dim\", `(${i.hint})`)}` : \"\"}`;\n case \"cancelled\":\n return `${c(s, (n) => styleText([\"strikethrough\", \"dim\"], n))}`;\n default:\n return `${styleText(\"dim\", S_RADIO_INACTIVE)} ${c(s, (n) => styleText(\"dim\", n))}`;\n }\n };\n return new SelectPrompt({\n options: t.options,\n signal: t.signal,\n input: t.input,\n output: t.output,\n initialValue: t.initialValue,\n render() {\n const i = t.withGuide ?? settings.withGuide, m = `${symbol(this.state)} `, s = `${symbolBar(this.state)} `, n = wrapTextWithPrefix(\n t.output,\n t.message,\n s,\n m\n ), u = `${i ? `${styleText(\"gray\", S_BAR)}\n` : \"\"}${n}\n`;\n switch (this.state) {\n case \"submit\": {\n const r = i ? `${styleText(\"gray\", S_BAR)} ` : \"\", o = wrapTextWithPrefix(\n t.output,\n a(this.options[this.cursor], \"selected\"),\n r\n );\n return `${u}${o}`;\n }\n case \"cancel\": {\n const r = i ? `${styleText(\"gray\", S_BAR)} ` : \"\", o = wrapTextWithPrefix(\n t.output,\n a(this.options[this.cursor], \"cancelled\"),\n r\n );\n return `${u}${o}${i ? `\n${styleText(\"gray\", S_BAR)}` : \"\"}`;\n }\n default: {\n const r = i ? `${styleText(\"cyan\", S_BAR)} ` : \"\", o = u.split(`\n`).length, $ = formatInstructionFooter(SELECT_INSTRUCTIONS, i), h = $.join(`\n`), b = $.length + 1;\n return `${u}${r}${limitOptions({\n output: t.output,\n cursor: this.cursor,\n options: this.options,\n maxItems: t.maxItems,\n columnPadding: r.length,\n rowPadding: o + b,\n style: (p, x) => a(p, p.disabled ? \"disabled\" : x ? \"active\" : \"inactive\")\n }).join(`\n${r}`)}\n${h}\n`;\n }\n }\n }\n }).prompt();\n};\n\nconst selectKey = (t) => {\n const l = (e, a = \"inactive\") => {\n const n = e.label ?? String(e.value);\n return a === \"selected\" ? `${styleText(\"dim\", n)}` : a === \"cancelled\" ? `${styleText([\"strikethrough\", \"dim\"], n)}` : a === \"active\" ? `${styleText([\"bgCyan\", \"gray\"], ` ${e.value} `)} ${n}${e.hint ? ` ${styleText(\"dim\", `(${e.hint})`)}` : \"\"}` : `${styleText([\"gray\", \"bgWhite\", \"inverse\"], ` ${e.value} `)} ${n}${e.hint ? ` ${styleText(\"dim\", `(${e.hint})`)}` : \"\"}`;\n };\n return new SelectKeyPrompt({\n options: t.options,\n signal: t.signal,\n input: t.input,\n output: t.output,\n initialValue: t.initialValue,\n caseSensitive: t.caseSensitive,\n render() {\n const e = t.withGuide ?? settings.withGuide, a = `${e ? `${styleText(\"gray\", S_BAR)}\n` : \"\"}${symbol(this.state)} ${t.message}\n`;\n switch (this.state) {\n case \"submit\": {\n const n = e ? `${styleText(\"gray\", S_BAR)} ` : \"\", s = this.options.find((u) => u.value === this.value) ?? t.options[0], c = wrapTextWithPrefix(\n t.output,\n l(s, \"selected\"),\n n\n );\n return `${a}${c}`;\n }\n case \"cancel\": {\n const n = e ? `${styleText(\"gray\", S_BAR)} ` : \"\", s = wrapTextWithPrefix(\n t.output,\n l(this.options[0], \"cancelled\"),\n n\n );\n return `${a}${s}${e ? `\n${styleText(\"gray\", S_BAR)}` : \"\"}`;\n }\n default: {\n const n = e ? `${styleText(\"cyan\", S_BAR)} ` : \"\", s = e ? styleText(\"cyan\", S_BAR_END) : \"\", c = this.options.map(\n (u, $) => wrapTextWithPrefix(\n t.output,\n l(u, $ === this.cursor ? \"active\" : \"inactive\"),\n n\n )\n ).join(`\n`);\n return `${a}${c}\n${s}\n`;\n }\n }\n }\n }).prompt();\n};\n\nconst i = `${styleText(\"gray\", S_BAR)} `;\nconst stream = {\n message: async (e, { symbol: l = styleText(\"gray\", S_BAR) } = {}) => {\n process.stdout.write(`${styleText(\"gray\", S_BAR)}\n${l} `);\n let s = 3;\n for await (let r of e) {\n r = r.replace(/\\n/g, `\n${i}`), r.includes(`\n`) && (s = 3 + stripVTControlCharacters(r.slice(r.lastIndexOf(`\n`))).length);\n const o = stripVTControlCharacters(r).length;\n s + o < process.stdout.columns ? (s += o, process.stdout.write(r)) : (process.stdout.write(`\n${i}${r.trimStart()}`), s = 3 + stripVTControlCharacters(r.trimStart()).length);\n }\n process.stdout.write(`\n`);\n },\n info: (e) => stream.message(e, { symbol: styleText(\"blue\", S_INFO) }),\n success: (e) => stream.message(e, { symbol: styleText(\"green\", S_SUCCESS) }),\n step: (e) => stream.message(e, { symbol: styleText(\"green\", S_STEP_SUBMIT) }),\n warn: (e) => stream.message(e, { symbol: styleText(\"yellow\", S_WARN) }),\n /** alias for `log.warn()`. */\n warning: (e) => stream.warn(e),\n error: (e) => stream.message(e, { symbol: styleText(\"red\", S_ERROR) })\n};\n\nconst tasks = async (o, e) => {\n for (const t of o) {\n if (t.enabled === false) continue;\n const s = spinner(e);\n s.start(t.title);\n const n = await t.task(s.message);\n s.stop(n || t.title);\n }\n};\n\nconst A = (l) => l.replace(/\\x1b\\[(?:\\d+;)*\\d*[ABCDEFGHfJKSTsu]|\\x1b\\[(s|u)/g, \"\");\nconst taskLog = (l) => {\n const r = l.output ?? process.stdout, O = getColumns(r), i = styleText(\"gray\", S_BAR), p = l.spacing ?? 1, k = 3, m = l.retainLog === true, d = !isCI() && isTTY(r);\n r.write(`${i}\n`), r.write(`${styleText(\"green\", S_STEP_SUBMIT)} ${l.title}\n`);\n for (let e = 0; e < p; e++)\n r.write(`${i}\n`);\n const n = [\n {\n value: \"\",\n full: \"\"\n }\n ];\n let v = false;\n const f = (e) => {\n if (n.length === 0)\n return;\n let s = 0;\n e && (s += p + 2);\n for (const t of n) {\n const { value: o, result: a } = t;\n let g = a?.message ?? o;\n if (g.length === 0)\n continue;\n a === void 0 && t.header !== void 0 && t.header !== \"\" && (g += `\n${t.header}`);\n const x = g.split(`\n`).reduce((b, w) => w === \"\" ? b + 1 : b + Math.ceil((w.length + k) / O), 0);\n s += x;\n }\n s > 0 && (s += 1, r.write(erase.lines(s)));\n }, h = (e, s, t) => {\n const o = t ? `${e.full}\n${e.value}` : e.value;\n e.header !== void 0 && e.header !== \"\" && log.message(\n e.header.split(`\n`).map((a) => styleText(\"bold\", a)),\n {\n output: r,\n secondarySymbol: i,\n symbol: i,\n spacing: 0\n }\n ), log.message(\n o.split(`\n`).map((a) => styleText(\"dim\", a)),\n {\n output: r,\n secondarySymbol: i,\n symbol: i,\n spacing: s ?? p\n }\n );\n }, T = () => {\n for (const e of n) {\n const { header: s, value: t, full: o } = e;\n (s === void 0 || s.length === 0) && t.length === 0 || h(e, void 0, m === true && o.length > 0);\n }\n }, L = (e, s, t) => {\n if (f(false), (t?.raw !== true || !v) && e.value !== \"\" && (e.value += `\n`), e.value += A(s), v = t?.raw === true, l.limit !== void 0) {\n const o = e.value.split(`\n`), a = o.length - l.limit;\n if (a > 0) {\n const g = o.splice(0, a);\n m && (e.full += (e.full === \"\" ? \"\" : `\n`) + g.join(`\n`));\n }\n e.value = o.join(`\n`);\n }\n d && y();\n }, y = () => {\n for (const e of n)\n e.result ? e.result.status === \"error\" ? log.error(e.result.message, { output: r, secondarySymbol: i, spacing: 0 }) : log.success(e.result.message, { output: r, secondarySymbol: i, spacing: 0 }) : e.value !== \"\" && h(e, 0);\n }, B = (e, s) => {\n f(false), e.result = s, d && y();\n };\n return {\n message(e, s) {\n L(n[0], e, s);\n },\n group(e) {\n const s = {\n header: e,\n value: \"\",\n full: \"\"\n };\n return n.push(s), {\n message(t, o) {\n L(s, t, o);\n },\n error(t) {\n B(s, {\n status: \"error\",\n message: t\n });\n },\n success(t) {\n B(s, {\n status: \"success\",\n message: t\n });\n }\n };\n },\n error(e, s) {\n f(true), log.error(e, { output: r, secondarySymbol: i, spacing: 1 }), s?.showLog !== false && T(), n.splice(1, n.length - 1), n[0].value = \"\", n[0].full = \"\";\n },\n success(e, s) {\n f(true), log.success(e, { output: r, secondarySymbol: i, spacing: 1 }), s?.showLog === true && T(), n.splice(1, n.length - 1), n[0].value = \"\", n[0].full = \"\";\n }\n };\n};\n\nconst text = (t) => new TextPrompt({\n validate: t.validate,\n placeholder: t.placeholder,\n defaultValue: t.defaultValue,\n initialValue: t.initialValue,\n output: t.output,\n signal: t.signal,\n input: t.input,\n render() {\n const i = t?.withGuide ?? settings.withGuide, s = `${`${i ? `${styleText(\"gray\", S_BAR)}\n` : \"\"}${symbol(this.state)} `}${t.message}\n`, c = t.placeholder ? styleText(\"inverse\", t.placeholder[0]) + styleText(\"dim\", t.placeholder.slice(1)) : styleText([\"inverse\", \"hidden\"], \"_\"), o = this.userInput ? this.userInputWithCursor : c, a = this.value ?? \"\";\n switch (this.state) {\n case \"error\": {\n const n = this.error ? ` ${styleText(\"yellow\", this.error)}` : \"\", r = i ? `${styleText(\"yellow\", S_BAR)} ` : \"\", d = i ? styleText(\"yellow\", S_BAR_END) : \"\";\n return `${s.trim()}\n${r}${o}\n${d}${n}\n`;\n }\n case \"submit\": {\n const n = a ? ` ${styleText(\"dim\", a)}` : \"\", r = i ? styleText(\"gray\", S_BAR) : \"\";\n return `${s}${r}${n}`;\n }\n case \"cancel\": {\n const n = a ? ` ${styleText([\"strikethrough\", \"dim\"], a)}` : \"\", r = i ? styleText(\"gray\", S_BAR) : \"\";\n return `${s}${r}${n}${a.trim() ? `\n${r}` : \"\"}`;\n }\n default: {\n const n = i ? `${styleText(\"cyan\", S_BAR)} ` : \"\", r = i ? styleText(\"cyan\", S_BAR_END) : \"\";\n return `${s}${n}${o}\n${r}\n`;\n }\n }\n }\n}).prompt();\n\nexport { MULTISELECT_INSTRUCTIONS, SELECT_INSTRUCTIONS, S_BAR, S_BAR_END, S_BAR_END_RIGHT, S_BAR_H, S_BAR_START, S_BAR_START_RIGHT, S_CHECKBOX_ACTIVE, S_CHECKBOX_INACTIVE, S_CHECKBOX_SELECTED, S_CONNECT_LEFT, S_CORNER_BOTTOM_LEFT, S_CORNER_BOTTOM_RIGHT, S_CORNER_TOP_LEFT, S_CORNER_TOP_RIGHT, S_ERROR, S_INFO, S_PASSWORD_MASK, S_RADIO_ACTIVE, S_RADIO_INACTIVE, S_STEP_ACTIVE, S_STEP_CANCEL, S_STEP_ERROR, S_STEP_SUBMIT, S_SUCCESS, S_WARN, autocomplete, autocompleteMultiselect, box, cancel, confirm, date, formatInstructionFooter, group, groupMultiselect, intro, isCI, isTTY, limitOptions, log, multiline, multiselect, note, outro, password, path, progress, select, selectKey, spinner, stream, symbol, symbolBar, taskLog, tasks, text, unicode, unicodeOr };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["ESC", "CSI", "cursor", "x", "erase", "i", "x", "i", "l", "NO_TRUNCATION", "dist_default", "dist_default", "i", "o", "l", "r", "t", "n", "i", "h", "f", "a", "p", "c", "m", "u", "T", "g", "styleText", "import_sisteransi", "o", "styleText", "r", "l", "g", "c", "h", "i", "C", "x", "m", "p", "f", "u", "W", "P", "t", "n", "M", "a", "T", "b", "V", "_", "R", "dist_default", "E", "A", "N"]
|
|
7
|
+
}
|
|
@@ -5,8 +5,9 @@ import {
|
|
|
5
5
|
logDebug,
|
|
6
6
|
logInfo,
|
|
7
7
|
logWarn
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-6S3G6GPO.js";
|
|
9
|
+
import "./chunk-7XXISOHU.js";
|
|
10
|
+
import "./chunk-2BXXQG7P.js";
|
|
10
11
|
import {
|
|
11
12
|
__esm
|
|
12
13
|
} from "./chunk-7K2YZTLD.js";
|
|
@@ -113,4 +114,4 @@ export {
|
|
|
113
114
|
sendWakeup,
|
|
114
115
|
startDnsWakeup
|
|
115
116
|
};
|
|
116
|
-
//# sourceMappingURL=dns-wakeup-
|
|
117
|
+
//# sourceMappingURL=dns-wakeup-KIURCCFJ.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/components/dns-wakeup.ts"],
|
|
4
4
|
"sourcesContent": ["/**\n * dns-wakeup.ts \u2014 mDNS-disguised UDP wake-up for A2A callback (#425).\n *\n * Sender crafts a valid mDNS PTR query: AB-<token>._workstation._tcp.local\n * Token = (ts(4) + nonce(1)) XOR HMAC-SHA256(peer.token, peername)[:5]\n *\n * Receiver tries each known peer, XORs to recover ts, validates within 60s.\n * On valid wake-up \u2192 triggers A2A callback (outbound TCP).\n *\n * Looks like normal mDNS service discovery to endpoint protection.\n */\n\nimport { createSocket, type Socket } from \"node:dgram\";\nimport { createHmac, randomBytes } from \"node:crypto\";\nimport { logInfo, logWarn, logDebug } from \"./logger.js\";\nimport type { PeerConfig } from \"./peer-config.js\";\n\nconst TAG = \"dns-wakeup\";\nconst PREFIX = \"ab-\";\nconst SUFFIX = \"._workstation._tcp.local\";\nconst PATTERN = /^ab-([a-f0-9]{10})\\._workstation\\._tcp\\.local$/;\nconst MAX_AGE_S = 60;\nconst RATE_LIMIT_MS = 5000;\n\nconst lastWakeup = new Map<string, number>();\n\n/** Parse the query name from a raw DNS/mDNS packet (minimal parser). */\nfunction parseMdnsQueryName(buf: Buffer): string | null {\n if (buf.length < 12) return null;\n let offset = 12; // skip DNS header\n const labels: string[] = [];\n while (offset < buf.length) {\n const len = buf[offset]!;\n if (len === 0) break;\n if (len > 63) return null; // compressed \u2014 not expected in queries\n offset++;\n if (offset + len > buf.length) return null;\n labels.push(buf.subarray(offset, offset + len).toString(\"ascii\"));\n offset += len;\n }\n return labels.join(\".\").toLowerCase();\n}\n\n/** Build a minimal mDNS query packet for a PTR record. */\nfunction buildMdnsQuery(name: string): Buffer {\n const labels = name.split(\".\");\n // Header: ID=0, flags=0 (standard query), QDCOUNT=1\n const header = Buffer.from([0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0]);\n // Question section: labels + null + type PTR (12) + class IN (1)\n const parts: Buffer[] = [header];\n for (const label of labels) {\n parts.push(Buffer.from([label.length]));\n parts.push(Buffer.from(label, \"ascii\"));\n }\n parts.push(Buffer.from([0])); // root label\n parts.push(Buffer.from([0, 12, 0, 1])); // type PTR, class IN\n return Buffer.concat(parts);\n}\n\n/** Build an empty mDNS response (no answers \u2014 looks like \"not found\"). */\nfunction buildEmptyResponse(queryBuf: Buffer): Buffer {\n const resp = Buffer.from(queryBuf);\n // Set QR=1 (response), RCODE=0 in flags\n if (resp.length >= 4) {\n resp[2] = 0x84; // QR=1, AA=1\n resp[3] = 0x00; // RCODE=0\n }\n return resp;\n}\n\nexport function startDnsWakeup(\n port: number,\n config: PeerConfig,\n onWakeup: (peerName: string) => void,\n): Socket {\n const sock = createSocket(\"udp4\");\n\n sock.on(\"message\", (msg, rinfo) => {\n const name = parseMdnsQueryName(msg);\n if (!name || !PATTERN.test(name)) return; // early bail \u2014 not ours\n\n const token10 = name.match(PATTERN)![1]!;\n const tokenBuf = Buffer.from(token10, \"hex\"); // 5 bytes\n\n for (const [peerName, peer] of Object.entries(config.peers)) {\n const hmac = createHmac(\"sha256\", peer.token).update(peerName).digest();\n const decoded = Buffer.alloc(5);\n for (let i = 0; i < 5; i++) decoded[i] = tokenBuf[i]! ^ hmac[i]!;\n const ts = decoded.readUInt32BE(0);\n // decoded[4] = nonce \u2014 discarded\n\n if (Math.abs(Date.now() / 1000 - ts) <= MAX_AGE_S) {\n // Rate limit\n const now = Date.now();\n const last = lastWakeup.get(peerName) ?? 0;\n if (now - last < RATE_LIMIT_MS) {\n logDebug(TAG, `Rate-limited wake-up from ${peerName}`);\n return;\n }\n lastWakeup.set(peerName, now);\n\n // Send empty mDNS response\n sock.send(buildEmptyResponse(msg), rinfo.port, rinfo.address);\n\n logInfo(TAG, `Valid wake-up from ${peerName} \u2014 initiating callback`);\n onWakeup(peerName);\n return;\n }\n }\n });\n\n sock.on(\"error\", (err) => logWarn(TAG, `Socket error: ${err.message}`));\n sock.bind(port, () => logInfo(TAG, `Listening on UDP port ${port}`));\n return sock;\n}\n\n/** Send a wake-up signal to a peer (mDNS-disguised). */\nexport function sendWakeup(peerName: string, peerHost: string, udpPort: number, token: string): void {\n const ts = Math.floor(Date.now() / 1000);\n const nonce = randomBytes(1);\n const hmac = createHmac(\"sha256\", token).update(peerName).digest();\n\n const plain = Buffer.alloc(5);\n plain.writeUInt32BE(ts, 0);\n plain[4] = nonce[0]!;\n\n const xored = Buffer.alloc(5);\n for (let i = 0; i < 5; i++) xored[i] = plain[i]! ^ hmac[i]!;\n\n const queryName = `${PREFIX}${xored.toString(\"hex\")}${SUFFIX}`;\n const query = buildMdnsQuery(queryName);\n\n const sock = createSocket(\"udp4\");\n sock.send(query, udpPort, peerHost, () => sock.close());\n logDebug(TAG, `Sent wake-up to ${peerName} at ${peerHost}:${udpPort}`);\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -5,8 +5,9 @@ import {
|
|
|
5
5
|
renderJson,
|
|
6
6
|
runAllProbes,
|
|
7
7
|
runFixes
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-LPF2HELD.js";
|
|
9
|
+
import "./chunk-7XXISOHU.js";
|
|
10
|
+
import "./chunk-2BXXQG7P.js";
|
|
10
11
|
import "./chunk-7K2YZTLD.js";
|
|
11
12
|
export {
|
|
12
13
|
renderHuman,
|
|
@@ -14,4 +15,4 @@ export {
|
|
|
14
15
|
runAllProbes,
|
|
15
16
|
runFixes
|
|
16
17
|
};
|
|
17
|
-
//# sourceMappingURL=doctor-probes-
|
|
18
|
+
//# sourceMappingURL=doctor-probes-46UKIROK.js.map
|
|
@@ -6,9 +6,10 @@ import {
|
|
|
6
6
|
getEnv,
|
|
7
7
|
initEnv,
|
|
8
8
|
init_env_schema
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-BWJ37KMW.js";
|
|
10
|
+
import "./chunk-6S3G6GPO.js";
|
|
11
|
+
import "./chunk-7XXISOHU.js";
|
|
12
|
+
import "./chunk-2BXXQG7P.js";
|
|
12
13
|
import "./chunk-7K2YZTLD.js";
|
|
13
14
|
init_env_schema();
|
|
14
15
|
export {
|
|
@@ -17,4 +18,4 @@ export {
|
|
|
17
18
|
getEnv,
|
|
18
19
|
initEnv
|
|
19
20
|
};
|
|
20
|
-
//# sourceMappingURL=env-schema-
|
|
21
|
+
//# sourceMappingURL=env-schema-YGHCKX5B.js.map
|
|
@@ -12,11 +12,12 @@ import {
|
|
|
12
12
|
startGossipListener,
|
|
13
13
|
stopGossip,
|
|
14
14
|
stopGossipListener
|
|
15
|
-
} from "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
15
|
+
} from "./chunk-XZ4ZBDM5.js";
|
|
16
|
+
import "./chunk-X7DLKIQM.js";
|
|
17
|
+
import "./chunk-2ZD7VQRW.js";
|
|
18
|
+
import "./chunk-6S3G6GPO.js";
|
|
19
|
+
import "./chunk-7XXISOHU.js";
|
|
20
|
+
import "./chunk-2BXXQG7P.js";
|
|
20
21
|
import "./chunk-7K2YZTLD.js";
|
|
21
22
|
init_gossip();
|
|
22
23
|
export {
|
|
@@ -31,4 +32,4 @@ export {
|
|
|
31
32
|
stopGossip,
|
|
32
33
|
stopGossipListener
|
|
33
34
|
};
|
|
34
|
-
//# sourceMappingURL=gossip-
|
|
35
|
+
//# sourceMappingURL=gossip-VSEY2HSE.js.map
|