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": ["../src/components/peer-transport/http-transport.ts", "../src/components/peer-transport/index.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * peer-transport/http-transport.ts \u2014 HTTP implementation of PeerTransport (#911).\n *\n * Wraps existing peer-client.ts (JWT auth, TLS, Ed25519 signing) behind the\n * PeerTransport interface. discover() reads peers.json (static).\n */\n\nimport type { PeerTransport, PeerCard, PeerMessage, TaskResult } from \"./interface.js\";\nimport { getAlivePeers } from \"./gossip.js\";\nimport { loadPeerConfig, type PeerEntry } from \"../peer-config.js\";\nimport { logInfo, logDebug, logTrace } from \"../logger.js\";\nimport type { WsPeerClient } from \"./ws-peer-client.js\";\n\nconst TAG = \"http-transport\";\n\nexport class HttpTransport implements PeerTransport {\n private handlers: Array<(from: string, message: PeerMessage) => void> = [];\n private wsClients = new Map<string, WsPeerClient>();\n\n /** Init WS connections for all ws-outbound peers. Call on boot. */\n async initWsConnections(): Promise<void> {\n const config = loadPeerConfig();\n const { WsPeerClient: Client } = await import(\"./ws-peer-client.js\");\n for (const [name, entry] of Object.entries(config.peers)) {\n if (entry.transport !== \"ws-outbound\") continue;\n const client = new Client(name, entry);\n client.onPush((method, payload) => {\n if (method === \"callback\") {\n // Inbound callback from peer \u2014 fire as if it arrived via HTTP /v1/callbacks\n const p = payload as { task_id: number; status: string; result_summary?: string; error?: string; tokens_used?: number };\n import(\"../tasks/kanban-board.js\").then(({ kanbanList, kanbanComplete, kanbanFail, kanbanAddTokens }) => {\n const cards = kanbanList(\"running\", \"status\").filter(c => {\n if (c.type !== \"remote\") return false;\n try { const m = JSON.parse(c.notes ?? \"{}\"); return m.peer === name && m.remote_task_id === p.task_id; } catch { return false; }\n });\n if (!cards.length) return;\n const card = cards[0]!;\n if (p.tokens_used) kanbanAddTokens(card.id, p.tokens_used);\n if (p.status === \"done\") kanbanComplete(card.id, null, p.result_summary ?? \"\");\n else kanbanFail(card.id, p.error ?? \"remote failure\");\n import(\"../nerve.js\").then(({ nerve }) => nerve.emit(p.status === \"done\" ? \"card:done\" : \"card:failed\", card.id));\n }).catch(() => {});\n } else if (method === \"channel\") {\n // Inbound channel message from peer\n const p = payload as { card_id: number; from_agent: string; message: string; created_at: string };\n import(\"../tasks/kanban-channel.js\").then(({ channelPost }) => {\n channelPost(p.card_id, p.from_agent, \"ALL\", p.message);\n }).catch(() => {});\n }\n for (const h of this.handlers) h(name, { type: method as any, payload: payload as any });\n });\n client.connect();\n this.wsClients.set(name, client);\n logInfo(TAG, `WS outbound: connecting to ${name}`);\n }\n }\n\n /** Check if a peer is reachable via WS. */\n hasWsConnection(peer: string): boolean {\n return this.wsClients.get(peer)?.connected ?? false;\n }\n\n discover(): PeerCard[] {\n return getAlivePeers();\n }\n\n async send(peer: string, message: PeerMessage): Promise<unknown> {\n if (message.type === \"ask\") {\n const { callPeer } = await import(\"../peer-client.js\");\n const config = loadPeerConfig();\n return callPeer(peer, message.payload.prompt as string, config.maxHops);\n }\n if (message.type === \"task\" && message.payload.action === \"callback\") {\n const config = loadPeerConfig();\n const entry = resolvePeer(config.peers, peer);\n logDebug(TAG, `\u2192 callback ${peer}: task_id=${message.payload.task_id} status=${message.payload.status}`);\n logTrace(TAG, `\u2192 callback ${peer} result: ${String(message.payload.result_summary ?? \"\").slice(0, 200)}`);\n const payload: Record<string, unknown> = { task_id: message.payload.task_id, status: message.payload.status, result_summary: message.payload.result_summary, error: message.payload.error };\n if (message.payload.artifacts) payload.artifacts = message.payload.artifacts;\n\n // #972: Push via WS if connected\n const ws = this.wsClients.get(peer);\n if (ws?.connected) {\n await ws.send(\"callback\", payload);\n logInfo(TAG, `CALLBACK ${peer} (ws) task_id=${message.payload.task_id}`);\n return;\n }\n\n const body = JSON.stringify(payload);\n return this.httpCall(entry, peer, \"POST\", \"/v1/callbacks\", body);\n }\n if (message.type === \"task\") return this.delegateTask(peer, message.payload.goal as string, message.payload as any);\n if (message.type === \"check\") return this.checkTask(peer, message.payload.taskId as number);\n if (message.type === \"terminate\") return this.terminateTask(peer, message.payload.taskId as number);\n throw new Error(`Unknown message type: ${message.type}`);\n }\n\n async broadcast(message: PeerMessage): Promise<void> {\n const peers = this.discover();\n await Promise.allSettled(peers.map(p => this.send(p.name, message)));\n }\n\n onMessage(handler: (from: string, message: PeerMessage) => void): void {\n this.handlers.push(handler);\n }\n\n /** Called by agent-api-server when an inbound peer message arrives. */\n dispatchInbound(from: string, message: PeerMessage): void {\n for (const h of this.handlers) { try { h(from, message); } catch {} }\n }\n\n async delegateTask(peer: string, goal: string, opts?: { priority?: string; context?: string; artifacts?: Array<{ name: string; content: string }> }): Promise<{ taskId: number; remoteSessionId?: string }> {\n const config = loadPeerConfig();\n const entry = resolvePeer(config.peers, peer);\n\n // Callback: remote peer looks us up in its peers.json by name\n\n logDebug(TAG, `\u2192 peer_delegate ${peer}: priority=${opts?.priority ?? \"MEDIUM\"}, goal=${goal.length}ch`);\n logTrace(TAG, `\u2192 peer_delegate ${peer} goal: ${goal.slice(0, 300)}`);\n\n // Size guard for artifacts (#928)\n if (opts?.artifacts?.length) {\n const MAX_SINGLE = 1_400_000; // 1.4MB base64 per artifact\n const MAX_TOTAL = 5_000_000; // 5MB total\n let total = 0;\n for (const a of opts.artifacts) {\n if (a.content.length > MAX_SINGLE) throw new Error(`Artifact '${a.name}' exceeds 1.4MB limit (${a.content.length} bytes)`);\n total += a.content.length;\n }\n if (total > MAX_TOTAL) throw new Error(`Total artifacts exceed 5MB limit (${total} bytes)`);\n }\n\n const payload: Record<string, unknown> = { goal, priority: opts?.priority ?? \"MEDIUM\", context: opts?.context, callback_peer: config.self.name };\n if (opts?.artifacts?.length) payload.artifacts = opts.artifacts;\n\n // #972: Route via WS if connected, otherwise HTTP\n const ws = this.wsClients.get(peer);\n if (ws?.connected) {\n const result = await ws.send(\"delegate\", payload) as any;\n logInfo(TAG, `PEER_DELEGATE ${peer} (ws) \u2192 remote#${result.taskId} (${goal.length}ch)`);\n return { taskId: result.taskId, remoteSessionId: result.session_id };\n }\n\n const body = JSON.stringify(payload);\n const response = await this.httpCall(entry, peer, \"POST\", \"/v1/tasks\", body);\n const parsed = JSON.parse(response);\n logInfo(TAG, `PEER_DELEGATE ${peer} \u2192 remote#${parsed.task_id} (${goal.length}ch)`);\n return { taskId: parsed.task_id, remoteSessionId: parsed.session_id };\n }\n\n async checkTask(peer: string, taskId: number): Promise<TaskResult> {\n const config = loadPeerConfig();\n const entry = resolvePeer(config.peers, peer);\n logDebug(TAG, `\u2192 peer_check ${peer}#${taskId}`);\n const response = await this.httpCall(entry, peer, \"GET\", `/v1/tasks/${taskId}`);\n const parsed = JSON.parse(response);\n logDebug(TAG, `\u2190 peer_check ${peer}#${taskId}: status=${parsed.status}`);\n logTrace(TAG, `\u2190 peer_check ${peer}#${taskId} result: ${(parsed.result_summary ?? \"\").slice(0, 200)}`);\n return {\n taskId: parsed.id ?? taskId,\n status: parsed.status,\n result: parsed.result_summary,\n error: parsed.error,\n tokensUsed: parsed.tokens_used,\n };\n }\n\n async terminateTask(peer: string, taskId: number): Promise<void> {\n const config = loadPeerConfig();\n const entry = resolvePeer(config.peers, peer);\n logDebug(TAG, `\u2192 peer_terminate ${peer}#${taskId}`);\n await this.httpCall(entry, peer, \"DELETE\", `/v1/tasks/${taskId}`);\n logInfo(TAG, `PEER_TERMINATE ${peer}#${taskId}`);\n }\n\n /** #949: Push a channel message to a remote peer. */\n async pushChannelMessage(peer: string, cardId: number, from: string, message: string, createdAt: string): Promise<void> {\n const config = loadPeerConfig();\n const entry = resolvePeer(config.peers, peer);\n await this.httpCall(entry, peer, \"POST\", `/v1/tasks/${cardId}/messages`, JSON.stringify({ from_agent: from, message, created_at: createdAt }));\n }\n\n private async httpCall(entry: PeerEntry, peerName: string, method: string, path: string, body?: string): Promise<string> {\n const { mintPeerJwt, signBody, tlsOptions } = await import(\"./peer-auth.js\");\n const jwt = mintPeerJwt(peerName);\n const finalBody = body ? await signBody(peerName, body) : undefined;\n const tls = tlsOptions(entry);\n const http = await import(\"node:https\");\n\n return new Promise((resolve, reject) => {\n const headers: Record<string, string> = {\n \"Authorization\": `Bearer ${jwt}`,\n \"Content-Type\": \"application/json\",\n };\n if (finalBody) headers[\"Content-Length\"] = String(Buffer.byteLength(finalBody));\n\n const req = http.request({\n hostname: entry.host,\n port: entry.port,\n path,\n method,\n headers,\n timeout: 60_000,\n ...tls,\n } as any, (res: any) => {\n let data = \"\";\n res.on(\"data\", (c: any) => data += c);\n res.on(\"end\", () => {\n if (res.statusCode >= 400) {\n reject(new Error(`Peer ${peerName} returned ${res.statusCode}: ${data.slice(0, 200)}`));\n return;\n }\n resolve(data);\n });\n });\n req.on(\"timeout\", () => { req.destroy(); reject(new Error(`Peer ${peerName} timeout`)); });\n req.on(\"error\", (err: Error) => reject(new Error(`Peer ${peerName} unreachable: ${err.message}`)));\n if (finalBody) req.write(finalBody);\n req.end();\n });\n }\n}\n\nfunction resolvePeer(peers: Record<string, PeerEntry>, name: string): PeerEntry {\n const key = Object.keys(peers).find(k => k.toLowerCase() === name.toLowerCase());\n if (!key || !peers[key]) throw new Error(`Unknown peer '${name}'. Available: ${Object.keys(peers).join(\", \")}`);\n return peers[key];\n}\n", "/**\n * peer-transport/index.ts \u2014 Factory + singleton (#911).\n */\n\nexport type { PeerTransport, PeerCard, PeerMessage, TaskResult, PeerHealth } from \"./interface.js\";\nexport { HttpTransport } from \"./http-transport.js\";\nexport { startGossipListener, gossipBroadcast, getAlivePeers, getPeerTable, setGossipInterval, stopGossipListener } from \"./gossip.js\";\n\nimport { HttpTransport } from \"./http-transport.js\";\nimport type { PeerTransport } from \"./interface.js\";\n\nlet _instance: PeerTransport | null = null;\n\n/** Get the singleton PeerTransport instance. */\nexport function getPeerTransport(): PeerTransport {\n if (!_instance) _instance = new HttpTransport();\n return _instance;\n}\n\n/** Initialize peer transport + WS outbound connections. Call at boot. */\nexport async function initPeerTransport(): Promise<void> {\n const transport = getPeerTransport() as HttpTransport;\n await transport.initWsConnections();\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import {
|
|
4
4
|
init_logger,
|
|
5
5
|
logError
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-6S3G6GPO.js";
|
|
7
7
|
import {
|
|
8
8
|
__esm
|
|
9
9
|
} from "./chunk-7K2YZTLD.js";
|
|
@@ -72,4 +72,4 @@ export {
|
|
|
72
72
|
parseSessionType,
|
|
73
73
|
init_spin_types
|
|
74
74
|
};
|
|
75
|
-
//# sourceMappingURL=chunk-
|
|
75
|
+
//# sourceMappingURL=chunk-52PQM4EZ.js.map
|
|
@@ -18,7 +18,7 @@ function initUsageTracker(home) {
|
|
|
18
18
|
function recordUsage(model, inputTokens, outputTokens, agent = "") {
|
|
19
19
|
_totalTokens += inputTokens + outputTokens;
|
|
20
20
|
if (agent) {
|
|
21
|
-
import("./budget-
|
|
21
|
+
import("./budget-QNK6IIT6.js").then(({ incrementBudgetCounter }) => incrementBudgetCounter(agent, inputTokens + outputTokens)).catch(() => {
|
|
22
22
|
});
|
|
23
23
|
}
|
|
24
24
|
if (!usagePath) return;
|
|
@@ -77,4 +77,4 @@ export {
|
|
|
77
77
|
readUsage,
|
|
78
78
|
resetUsage
|
|
79
79
|
};
|
|
80
|
-
//# sourceMappingURL=chunk-
|
|
80
|
+
//# sourceMappingURL=chunk-5P5HF7IJ.js.map
|
|
@@ -9,14 +9,14 @@ import {
|
|
|
9
9
|
require_subprotocol,
|
|
10
10
|
require_websocket,
|
|
11
11
|
require_websocket_server
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-R76K6L6H.js";
|
|
13
13
|
import {
|
|
14
14
|
__commonJS
|
|
15
15
|
} from "./chunk-7K2YZTLD.js";
|
|
16
16
|
|
|
17
|
-
// node_modules
|
|
17
|
+
// node_modules/ws/index.js
|
|
18
18
|
var require_ws = __commonJS({
|
|
19
|
-
"node_modules
|
|
19
|
+
"node_modules/ws/index.js"(exports, module) {
|
|
20
20
|
"use strict";
|
|
21
21
|
var createWebSocketStream = require_stream();
|
|
22
22
|
var extension = require_extension();
|
|
@@ -42,4 +42,4 @@ var require_ws = __commonJS({
|
|
|
42
42
|
export {
|
|
43
43
|
require_ws
|
|
44
44
|
};
|
|
45
|
-
//# sourceMappingURL=chunk-
|
|
45
|
+
//# sourceMappingURL=chunk-63A7ZRIH.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../node_modules
|
|
3
|
+
"sources": ["../node_modules/ws/index.js"],
|
|
4
4
|
"sourcesContent": ["'use strict';\n\nconst createWebSocketStream = require('./lib/stream');\nconst extension = require('./lib/extension');\nconst PerMessageDeflate = require('./lib/permessage-deflate');\nconst Receiver = require('./lib/receiver');\nconst Sender = require('./lib/sender');\nconst subprotocol = require('./lib/subprotocol');\nconst WebSocket = require('./lib/websocket');\nconst WebSocketServer = require('./lib/websocket-server');\n\nWebSocket.createWebSocketStream = createWebSocketStream;\nWebSocket.extension = extension;\nWebSocket.PerMessageDeflate = PerMessageDeflate;\nWebSocket.Receiver = Receiver;\nWebSocket.Sender = Sender;\nWebSocket.Server = WebSocketServer;\nWebSocket.subprotocol = subprotocol;\nWebSocket.WebSocket = WebSocket;\nWebSocket.WebSocketServer = WebSocketServer;\n\nmodule.exports = WebSocket;\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAEA,QAAM,wBAAwB;AAC9B,QAAM,YAAY;AAClB,QAAM,oBAAoB;AAC1B,QAAM,WAAW;AACjB,QAAM,SAAS;AACf,QAAM,cAAc;AACpB,QAAM,YAAY;AAClB,QAAM,kBAAkB;AAExB,cAAU,wBAAwB;AAClC,cAAU,YAAY;AACtB,cAAU,oBAAoB;AAC9B,cAAU,WAAW;AACrB,cAAU,SAAS;AACnB,cAAU,SAAS;AACnB,cAAU,cAAc;AACxB,cAAU,YAAY;AACtB,cAAU,kBAAkB;AAE5B,WAAO,UAAU;AAAA;AAAA;",
|
|
6
6
|
"names": []
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { createRequire as __bundleCreateRequire } from 'node:module'; import { fileURLToPath as __bundleFileURLToPath } from 'node:url'; import { dirname as __bundleDirname } from 'node:path'; const require = __bundleCreateRequire(import.meta.url); const __chunk_filename = __bundleFileURLToPath(import.meta.url); const __chunk_dirname = __bundleDirname(__chunk_filename);
|
|
3
|
+
import {
|
|
4
|
+
init_logger,
|
|
5
|
+
logDebug,
|
|
6
|
+
logError,
|
|
7
|
+
logWarn
|
|
8
|
+
} from "./chunk-6S3G6GPO.js";
|
|
9
|
+
|
|
10
|
+
// src/utils/abmind-lazy.ts
|
|
11
|
+
init_logger();
|
|
12
|
+
import { createRequire } from "node:module";
|
|
13
|
+
import { readFileSync } from "node:fs";
|
|
14
|
+
var ABMIND_MIN = [0, 3, 0];
|
|
15
|
+
var _mod = null;
|
|
16
|
+
var _loaded = false;
|
|
17
|
+
function resetAbmindCache() {
|
|
18
|
+
_mod = null;
|
|
19
|
+
_loaded = false;
|
|
20
|
+
}
|
|
21
|
+
function parseSemver(v) {
|
|
22
|
+
const m = /^(\d+)\.(\d+)\.(\d+)/.exec(v);
|
|
23
|
+
return m ? [Number(m[1]), Number(m[2]), Number(m[3])] : null;
|
|
24
|
+
}
|
|
25
|
+
function lt(a, b) {
|
|
26
|
+
return a[0] !== b[0] ? a[0] < b[0] : a[1] !== b[1] ? a[1] < b[1] : a[2] < b[2];
|
|
27
|
+
}
|
|
28
|
+
function isSupportedVersion(version) {
|
|
29
|
+
const p = parseSemver(version);
|
|
30
|
+
return !!p && !lt(p, ABMIND_MIN);
|
|
31
|
+
}
|
|
32
|
+
function readResolvedAbmindVersion() {
|
|
33
|
+
try {
|
|
34
|
+
const req = createRequire(import.meta.url);
|
|
35
|
+
const pkgPath = req.resolve("abmind/package.json");
|
|
36
|
+
return JSON.parse(readFileSync(pkgPath, "utf-8")).version ?? null;
|
|
37
|
+
} catch {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
async function loadAbmind() {
|
|
42
|
+
if (_loaded) return _mod;
|
|
43
|
+
_loaded = true;
|
|
44
|
+
let mod = null;
|
|
45
|
+
try {
|
|
46
|
+
mod = await import("abmind");
|
|
47
|
+
} catch {
|
|
48
|
+
mod = null;
|
|
49
|
+
}
|
|
50
|
+
if (!mod) {
|
|
51
|
+
logWarn("boot", "abmind not installed \u2014 running without persistent memory");
|
|
52
|
+
_mod = null;
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
const ver = readResolvedAbmindVersion();
|
|
56
|
+
if (!ver || !isSupportedVersion(ver)) {
|
|
57
|
+
logError(
|
|
58
|
+
"boot",
|
|
59
|
+
`abmind@${ver ?? "?"} is below the supported floor ${ABMIND_MIN.join(".")} \u2014 memory disabled to avoid a silent contract break. Upgrade: npm install -g abmind@latest`
|
|
60
|
+
);
|
|
61
|
+
_mod = null;
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
logDebug("boot", `memory: enabled via abmind@${ver}`);
|
|
65
|
+
_mod = mod;
|
|
66
|
+
return _mod;
|
|
67
|
+
}
|
|
68
|
+
function abmind() {
|
|
69
|
+
return _mod;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export {
|
|
73
|
+
resetAbmindCache,
|
|
74
|
+
loadAbmind,
|
|
75
|
+
abmind
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=chunk-6IB3GVXK.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/utils/abmind-lazy.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Lazy abmind loader \u2014 pre-loaded once at boot, then available synchronously.\n * ALL runtime access to abmind goes through here.\n *\n * If abmind is not installed, or is below the supported contract version\n * (#1243), abmind() returns null and the bridge runs without persistent\n * memory (nullMemory). A below-floor abmind is rejected loudly \u2014 never a\n * silent contract break that would quietly drop memory mid-session.\n */\nimport { createRequire } from \"node:module\";\nimport { readFileSync } from \"node:fs\";\nimport { logDebug, logError, logWarn } from \"../components/logger.js\";\n\ntype AbmindModule = typeof import(\"abmind\");\n\n/**\n * Minimum abmind version that provides the supported contract surface\n * (abmind SUPPORTED-SURFACE.md, #1243). Below this \u2192 memory disabled loudly.\n * Bump only when abtars starts relying on newer surface.\n */\nexport const ABMIND_MIN: readonly [number, number, number] = [0, 3, 0];\n\nlet _mod: AbmindModule | null = null;\nlet _loaded = false;\n\n/** Reset cache \u2014 called on in-process restart. */\nexport function resetAbmindCache(): void {\n _mod = null;\n _loaded = false;\n}\n\n/** Parse the leading major.minor.patch from a semver string (ignores pre-release/build). */\nexport function parseSemver(v: string): [number, number, number] | null {\n const m = /^(\\d+)\\.(\\d+)\\.(\\d+)/.exec(v);\n return m ? [Number(m[1]), Number(m[2]), Number(m[3])] : null;\n}\n\nfunction lt(a: readonly [number, number, number], b: readonly [number, number, number]): boolean {\n return a[0] !== b[0] ? a[0] < b[0] : a[1] !== b[1] ? a[1] < b[1] : a[2] < b[2];\n}\n\n/** True iff `version` is at least ABMIND_MIN (the supported contract floor). */\nexport function isSupportedVersion(version: string): boolean {\n const p = parseSemver(version);\n return !!p && !lt(p, ABMIND_MIN);\n}\n\n/** Read the version of the resolvable abmind package, or null if not resolvable. */\nfunction readResolvedAbmindVersion(): string | null {\n try {\n const req = createRequire(import.meta.url);\n const pkgPath = req.resolve(\"abmind/package.json\");\n return (JSON.parse(readFileSync(pkgPath, \"utf-8\")).version as string) ?? null;\n } catch {\n return null;\n }\n}\n\n/** Call once at boot (phase-memory). Caches the module. Returns null if unavailable or below-floor. */\nexport async function loadAbmind(): Promise<AbmindModule | null> {\n if (_loaded) return _mod;\n _loaded = true;\n\n let mod: AbmindModule | null = null;\n try {\n mod = await import(\"abmind\");\n } catch {\n mod = null;\n }\n if (!mod) {\n logWarn(\"boot\", \"abmind not installed \u2014 running without persistent memory\");\n _mod = null;\n return null;\n }\n\n const ver = readResolvedAbmindVersion();\n if (!ver || !isSupportedVersion(ver)) {\n logError(\n \"boot\",\n `abmind@${ver ?? \"?\"} is below the supported floor ${ABMIND_MIN.join(\".\")} \u2014 memory disabled to avoid a silent contract break. Upgrade: npm install -g abmind@latest`,\n );\n _mod = null;\n return null;\n }\n\n logDebug(\"boot\", `memory: enabled via abmind@${ver}`);\n _mod = mod;\n return _mod;\n}\n\n/** Synchronous access after loadAbmind() has been called. Returns null if unavailable. */\nexport function abmind(): AbmindModule | null {\n return _mod;\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;AAWA;AAFA,SAAS,qBAAqB;AAC9B,SAAS,oBAAoB;AAUtB,IAAM,aAAgD,CAAC,GAAG,GAAG,CAAC;AAErE,IAAI,OAA4B;AAChC,IAAI,UAAU;AAGP,SAAS,mBAAyB;AACvC,SAAO;AACP,YAAU;AACZ;AAGO,SAAS,YAAY,GAA4C;AACtE,QAAM,IAAI,uBAAuB,KAAK,CAAC;AACvC,SAAO,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI;AAC1D;AAEA,SAAS,GAAG,GAAsC,GAA+C;AAC/F,SAAO,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;AAC/E;AAGO,SAAS,mBAAmB,SAA0B;AAC3D,QAAM,IAAI,YAAY,OAAO;AAC7B,SAAO,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,UAAU;AACjC;AAGA,SAAS,4BAA2C;AAClD,MAAI;AACF,UAAM,MAAM,cAAc,YAAY,GAAG;AACzC,UAAM,UAAU,IAAI,QAAQ,qBAAqB;AACjD,WAAQ,KAAK,MAAM,aAAa,SAAS,OAAO,CAAC,EAAE,WAAsB;AAAA,EAC3E,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAGA,eAAsB,aAA2C;AAC/D,MAAI,QAAS,QAAO;AACpB,YAAU;AAEV,MAAI,MAA2B;AAC/B,MAAI;AACF,UAAM,MAAM,OAAO,QAAQ;AAAA,EAC7B,QAAQ;AACN,UAAM;AAAA,EACR;AACA,MAAI,CAAC,KAAK;AACR,YAAQ,QAAQ,+DAA0D;AAC1E,WAAO;AACP,WAAO;AAAA,EACT;AAEA,QAAM,MAAM,0BAA0B;AACtC,MAAI,CAAC,OAAO,CAAC,mBAAmB,GAAG,GAAG;AACpC;AAAA,MACE;AAAA,MACA,UAAU,OAAO,GAAG,iCAAiC,WAAW,KAAK,GAAG,CAAC;AAAA,IAC3E;AACA,WAAO;AACP,WAAO;AAAA,EACT;AAEA,WAAS,QAAQ,8BAA8B,GAAG,EAAE;AACpD,SAAO;AACP,SAAO;AACT;AAGO,SAAS,SAA8B;AAC5C,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import {
|
|
4
4
|
abtarsHome,
|
|
5
5
|
init_paths
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-7XXISOHU.js";
|
|
7
7
|
import {
|
|
8
8
|
__esm
|
|
9
9
|
} from "./chunk-7K2YZTLD.js";
|
|
@@ -162,4 +162,4 @@ export {
|
|
|
162
162
|
logTrace,
|
|
163
163
|
init_logger
|
|
164
164
|
};
|
|
165
|
-
//# sourceMappingURL=chunk-
|
|
165
|
+
//# sourceMappingURL=chunk-6S3G6GPO.js.map
|
|
@@ -5,20 +5,20 @@ import {
|
|
|
5
5
|
BrowserManager,
|
|
6
6
|
BrowserTool,
|
|
7
7
|
DomainAllowlist
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-OOUCUCUW.js";
|
|
9
9
|
import {
|
|
10
10
|
getEnv,
|
|
11
11
|
init_env_schema
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-BWJ37KMW.js";
|
|
13
13
|
import {
|
|
14
14
|
init_logger,
|
|
15
15
|
logError,
|
|
16
16
|
logInfo
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-6S3G6GPO.js";
|
|
18
18
|
import {
|
|
19
19
|
abtarsHome,
|
|
20
20
|
init_paths
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-7XXISOHU.js";
|
|
22
22
|
import {
|
|
23
23
|
__export
|
|
24
24
|
} from "./chunk-7K2YZTLD.js";
|
|
@@ -66,7 +66,7 @@ function register(api) {
|
|
|
66
66
|
buf = buf.slice(nl + 1);
|
|
67
67
|
try {
|
|
68
68
|
const { taskId, prompt, timeoutMs } = JSON.parse(line);
|
|
69
|
-
import("./spin-
|
|
69
|
+
import("./spin-76K4R6FK.js").then(({ spin: s }) => {
|
|
70
70
|
const { cardId } = s.dispatch({ type: "B", goal: prompt, source: "agent", timeoutMs });
|
|
71
71
|
conn.write(JSON.stringify({ ok: true, taskId, cardId, status: "spawned" }) + "\n");
|
|
72
72
|
}).catch((err) => {
|
|
@@ -98,4 +98,4 @@ export {
|
|
|
98
98
|
register,
|
|
99
99
|
browser_exports
|
|
100
100
|
};
|
|
101
|
-
//# sourceMappingURL=chunk-
|
|
101
|
+
//# sourceMappingURL=chunk-6VTHSN4V.js.map
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
import { createRequire as __bundleCreateRequire } from 'node:module'; import { fileURLToPath as __bundleFileURLToPath } from 'node:url'; import { dirname as __bundleDirname } from 'node:path'; const require = __bundleCreateRequire(import.meta.url); const __chunk_filename = __bundleFileURLToPath(import.meta.url); const __chunk_dirname = __bundleDirname(__chunk_filename);
|
|
3
3
|
import {
|
|
4
4
|
AcpTransport
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-YWHJJHJ2.js";
|
|
6
6
|
import {
|
|
7
7
|
getEnv,
|
|
8
8
|
init_env_schema
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-BWJ37KMW.js";
|
|
10
10
|
import {
|
|
11
11
|
init_logger,
|
|
12
12
|
logInfo,
|
|
13
13
|
logWarn
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-6S3G6GPO.js";
|
|
15
15
|
|
|
16
16
|
// src/components/agent-registry.ts
|
|
17
17
|
init_env_schema();
|
|
@@ -60,7 +60,7 @@ var SUBAGENT_ACP_ROLE = {
|
|
|
60
60
|
task: "task"
|
|
61
61
|
};
|
|
62
62
|
async function createSubagentTransport(role, registry, currentModel) {
|
|
63
|
-
const { resolveAgent, getEnvFallback, loadTransport } = await import("./transport-config-
|
|
63
|
+
const { resolveAgent, getEnvFallback, loadTransport } = await import("./transport-config-SF6GBV47.js");
|
|
64
64
|
const tc = loadTransport();
|
|
65
65
|
const agentName = SUBAGENT_TO_AGENT[role];
|
|
66
66
|
const resolved = tc ? resolveAgent(agentName, tc) : null;
|
|
@@ -70,7 +70,7 @@ async function createSubagentTransport(role, registry, currentModel) {
|
|
|
70
70
|
return { model: fb.model, provider: fb.provider, providerName: fb.providerName, contextWindow: fb.contextWindow, maxOutput: fb.maxOutput, fallbacks: [] };
|
|
71
71
|
})();
|
|
72
72
|
if (agent.provider.transport === "api") {
|
|
73
|
-
const { DirectApiTransport } = await import("./direct-api-transport-
|
|
73
|
+
const { DirectApiTransport } = await import("./direct-api-transport-YSROTC35.js");
|
|
74
74
|
const { FallbackPolicy } = await import("./fallback-policy-SR6ED5I3.js");
|
|
75
75
|
const apiKey = getEnv().getApiKey(agent.provider.apiKeyEnv ?? "API_KEY");
|
|
76
76
|
const startModel = currentModel ?? agent.model;
|
|
@@ -155,7 +155,7 @@ async function createSubagentTransport(role, registry, currentModel) {
|
|
|
155
155
|
logInfo("subagent", `${role} transport: DirectAPI ${agent.providerName} (model=${startModel}, ${candidates.length} candidates, shared registry: ${!!registry})`);
|
|
156
156
|
return { transport, model: agent.model };
|
|
157
157
|
}
|
|
158
|
-
const { loadAndValidateConfig } = await import("./config-
|
|
158
|
+
const { loadAndValidateConfig } = await import("./config-ZEWIM5Z2.js");
|
|
159
159
|
const config = await loadAndValidateConfig();
|
|
160
160
|
const chain = agent.provider.fallbackChain ?? [];
|
|
161
161
|
const modelsToTry = [agent.model, ...chain.filter((m) => m !== agent.model)];
|
|
@@ -187,4 +187,4 @@ export {
|
|
|
187
187
|
createAgentTransport,
|
|
188
188
|
createSubagentTransport
|
|
189
189
|
};
|
|
190
|
-
//# sourceMappingURL=chunk-
|
|
190
|
+
//# sourceMappingURL=chunk-76YN7O3U.js.map
|
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
import {
|
|
4
4
|
getEnv,
|
|
5
5
|
init_env_schema
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-BWJ37KMW.js";
|
|
7
7
|
import {
|
|
8
8
|
init_logger,
|
|
9
9
|
logInfo,
|
|
10
10
|
logWarn
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-6S3G6GPO.js";
|
|
12
12
|
import {
|
|
13
13
|
abtarsHome,
|
|
14
14
|
init_paths
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-7XXISOHU.js";
|
|
16
16
|
import {
|
|
17
17
|
__esm
|
|
18
18
|
} from "./chunk-7K2YZTLD.js";
|
|
@@ -100,4 +100,4 @@ export {
|
|
|
100
100
|
buildUsersBlock,
|
|
101
101
|
init_user_registry
|
|
102
102
|
};
|
|
103
|
-
//# sourceMappingURL=chunk-
|
|
103
|
+
//# sourceMappingURL=chunk-7LORCJCQ.js.map
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
import {
|
|
4
4
|
init_log_and_swallow,
|
|
5
5
|
logAndSwallow
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-W2PSVV2T.js";
|
|
7
7
|
import {
|
|
8
8
|
abtarsHome,
|
|
9
9
|
init_paths
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-7XXISOHU.js";
|
|
11
11
|
|
|
12
12
|
// src/components/tasks/task-store.ts
|
|
13
13
|
init_paths();
|
|
@@ -75,4 +75,4 @@ export {
|
|
|
75
75
|
recordRun,
|
|
76
76
|
closeDb
|
|
77
77
|
};
|
|
78
|
-
//# sourceMappingURL=chunk-
|
|
78
|
+
//# sourceMappingURL=chunk-7OI46MH7.js.map
|
|
@@ -1,10 +1,24 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire as __bundleCreateRequire } from 'node:module'; import { fileURLToPath as __bundleFileURLToPath } from 'node:url'; import { dirname as __bundleDirname } from 'node:path'; const require = __bundleCreateRequire(import.meta.url); const __chunk_filename = __bundleFileURLToPath(import.meta.url); const __chunk_dirname = __bundleDirname(__chunk_filename);
|
|
3
3
|
import {
|
|
4
|
-
|
|
4
|
+
init_paths,
|
|
5
|
+
resolveReleasesDir
|
|
6
|
+
} from "./chunk-2BXXQG7P.js";
|
|
7
|
+
import {
|
|
8
|
+
__esm,
|
|
9
|
+
__export
|
|
5
10
|
} from "./chunk-7K2YZTLD.js";
|
|
6
11
|
|
|
7
12
|
// src/paths.ts
|
|
13
|
+
var paths_exports = {};
|
|
14
|
+
__export(paths_exports, {
|
|
15
|
+
abmindHome: () => abmindHome,
|
|
16
|
+
abtarsHome: () => abtarsHome,
|
|
17
|
+
abtarsRoot: () => abtarsRoot,
|
|
18
|
+
ensureDir: () => ensureDir,
|
|
19
|
+
getDeployedVersion: () => getDeployedVersion,
|
|
20
|
+
setLazyRoots: () => setLazyRoots
|
|
21
|
+
});
|
|
8
22
|
import { resolve, join, relative } from "node:path";
|
|
9
23
|
import { homedir } from "node:os";
|
|
10
24
|
import { mkdirSync, readFileSync, realpathSync, existsSync } from "node:fs";
|
|
@@ -17,7 +31,7 @@ function abmindHome() {
|
|
|
17
31
|
function abtarsRoot() {
|
|
18
32
|
if (process.env.ABTARS_ROOT) return process.env.ABTARS_ROOT;
|
|
19
33
|
if (_abtarsRootCache) return _abtarsRootCache;
|
|
20
|
-
const releasesDir =
|
|
34
|
+
const releasesDir = join(resolveReleasesDir(), "current");
|
|
21
35
|
if (existsSync(releasesDir)) {
|
|
22
36
|
_abtarsRootCache = realpathSync(releasesDir);
|
|
23
37
|
return _abtarsRootCache;
|
|
@@ -56,8 +70,9 @@ function ensureDir(absPath) {
|
|
|
56
70
|
mkdirSync(absPath, { recursive: true });
|
|
57
71
|
}
|
|
58
72
|
var _abtarsRootCache, lazyRootsCache;
|
|
59
|
-
var
|
|
73
|
+
var init_paths2 = __esm({
|
|
60
74
|
"src/paths.ts"() {
|
|
75
|
+
init_paths();
|
|
61
76
|
_abtarsRootCache = null;
|
|
62
77
|
lazyRootsCache = null;
|
|
63
78
|
}
|
|
@@ -70,6 +85,7 @@ export {
|
|
|
70
85
|
getDeployedVersion,
|
|
71
86
|
setLazyRoots,
|
|
72
87
|
ensureDir,
|
|
73
|
-
|
|
88
|
+
paths_exports,
|
|
89
|
+
init_paths2 as init_paths
|
|
74
90
|
};
|
|
75
|
-
//# sourceMappingURL=chunk-
|
|
91
|
+
//# sourceMappingURL=chunk-7XXISOHU.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/paths.ts"],
|
|
4
|
+
"sourcesContent": ["import { resolve, join, relative } from \"node:path\";\nimport { homedir } from \"node:os\";\nimport { mkdirSync, readFileSync, realpathSync, existsSync } from \"node:fs\";\nimport { resolveReleasesDir } from \"./cli/deploy-lib/paths.js\";\n\n/** Base directory for all Abtars runtime data. Override with ABTARS_HOME env var. */\nexport function abtarsHome(): string {\n return process.env.ABTARS_HOME ?? resolve(homedir(), \".abtars\");\n}\n\n/** Base directory for abmind runtime data. Override with ABMIND_HOME env var. */\nexport function abmindHome(): string {\n return process.env.ABMIND_HOME ?? resolve(homedir(), \".abmind\");\n}\n\nlet _abtarsRootCache: string | null = null;\n\n/**\n * Root of the active release (code, prompts, scripts, templates).\n * Resolves ~/.abtars-releases/current symlink. Falls back to legacy layout.\n * Override with ABTARS_ROOT env var (always re-read, not cached).\n */\nexport function abtarsRoot(): string {\n if (process.env.ABTARS_ROOT) return process.env.ABTARS_ROOT;\n if (_abtarsRootCache) return _abtarsRootCache;\n const releasesDir = join(resolveReleasesDir(), \"current\");\n if (existsSync(releasesDir)) { _abtarsRootCache = realpathSync(releasesDir); return _abtarsRootCache; }\n // Legacy fallback: app/ inside abtarsHome (pre-#1089)\n const legacyApp = join(abtarsHome(), \"app\");\n if (existsSync(legacyApp)) { _abtarsRootCache = legacyApp; return _abtarsRootCache; }\n // Ultimate fallback: relative to this file (npm package layout)\n _abtarsRootCache = resolve(__dirname, \"..\");\n return _abtarsRootCache;\n}\n\n/** Single source of truth for deployed version. Reads ~/.abtars/manifest.json. */\nexport function getDeployedVersion(): { version: string; commit: string } {\n try {\n const manifest = JSON.parse(readFileSync(join(abtarsHome(), \"manifest.json\"), \"utf-8\"));\n return { version: manifest.version ?? \"?\", commit: manifest.commit ?? \"\" };\n } catch { return { version: \"?\", commit: \"\" }; }\n}\n\n// \u2500\u2500 Lazy directory creation \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\nlet lazyRootsCache: string[] | null = null;\n\n/** Set allowed lazy roots (called once at boot from manifest). */\nexport function setLazyRoots(roots: string[]): void { lazyRootsCache = roots; }\n\n/**\n * Create a directory under abtarsHome if it doesn't exist.\n * If lazyRoots are configured, warns on undeclared paths.\n */\nexport function ensureDir(absPath: string): void {\n const home = abtarsHome();\n const rel = relative(home, absPath);\n if (lazyRootsCache && !rel.startsWith(\"..\") && rel !== \"\") {\n const allowed = lazyRootsCache.some(root => rel === root || rel.startsWith(root + \"/\"));\n if (!allowed) {\n // Check if it's an eager dir (those are always allowed)\n const isEager = [\"config\", \"logs\", \"scripts\", \"bin\", \"releases\"].some(d => rel === d || rel.startsWith(d + \"/\"));\n if (!isEager) {\n // eslint-disable-next-line no-console\n console.warn(`[manifest] ensureDir: \"${rel}\" is not under a declared lazyRoot or eager directory`);\n }\n }\n }\n mkdirSync(absPath, { recursive: true });\n}\n\n\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAS,SAAS,MAAM,gBAAgB;AACxC,SAAS,eAAe;AACxB,SAAS,WAAW,cAAc,cAAc,kBAAkB;AAI3D,SAAS,aAAqB;AACnC,SAAO,QAAQ,IAAI,eAAe,QAAQ,QAAQ,GAAG,SAAS;AAChE;AAGO,SAAS,aAAqB;AACnC,SAAO,QAAQ,IAAI,eAAe,QAAQ,QAAQ,GAAG,SAAS;AAChE;AASO,SAAS,aAAqB;AACnC,MAAI,QAAQ,IAAI,YAAa,QAAO,QAAQ,IAAI;AAChD,MAAI,iBAAkB,QAAO;AAC7B,QAAM,cAAc,KAAK,mBAAmB,GAAG,SAAS;AACxD,MAAI,WAAW,WAAW,GAAG;AAAE,uBAAmB,aAAa,WAAW;AAAG,WAAO;AAAA,EAAkB;AAEtG,QAAM,YAAY,KAAK,WAAW,GAAG,KAAK;AAC1C,MAAI,WAAW,SAAS,GAAG;AAAE,uBAAmB;AAAW,WAAO;AAAA,EAAkB;AAEpF,qBAAmB,QAAQ,iBAAW,IAAI;AAC1C,SAAO;AACT;AAGO,SAAS,qBAA0D;AACxE,MAAI;AACF,UAAM,WAAW,KAAK,MAAM,aAAa,KAAK,WAAW,GAAG,eAAe,GAAG,OAAO,CAAC;AACtF,WAAO,EAAE,SAAS,SAAS,WAAW,KAAK,QAAQ,SAAS,UAAU,GAAG;AAAA,EAC3E,QAAQ;AAAE,WAAO,EAAE,SAAS,KAAK,QAAQ,GAAG;AAAA,EAAG;AACjD;AAOO,SAAS,aAAa,OAAuB;AAAE,mBAAiB;AAAO;AAMvE,SAAS,UAAU,SAAuB;AAC/C,QAAM,OAAO,WAAW;AACxB,QAAM,MAAM,SAAS,MAAM,OAAO;AAClC,MAAI,kBAAkB,CAAC,IAAI,WAAW,IAAI,KAAK,QAAQ,IAAI;AACzD,UAAM,UAAU,eAAe,KAAK,UAAQ,QAAQ,QAAQ,IAAI,WAAW,OAAO,GAAG,CAAC;AACtF,QAAI,CAAC,SAAS;AAEZ,YAAM,UAAU,CAAC,UAAU,QAAQ,WAAW,OAAO,UAAU,EAAE,KAAK,OAAK,QAAQ,KAAK,IAAI,WAAW,IAAI,GAAG,CAAC;AAC/G,UAAI,CAAC,SAAS;AAEZ,gBAAQ,KAAK,0BAA0B,GAAG,uDAAuD;AAAA,MACnG;AAAA,IACF;AAAA,EACF;AACA,YAAU,SAAS,EAAE,WAAW,KAAK,CAAC;AACxC;AArEA,IAeI,kBA8BA;AA7CJ,IAAAA,cAAA;AAAA;AAGA;AAYA,IAAI,mBAAkC;AA8BtC,IAAI,iBAAkC;AAAA;AAAA;",
|
|
6
|
+
"names": ["init_paths"]
|
|
7
|
+
}
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
import { createRequire as __bundleCreateRequire } from 'node:module'; import { fileURLToPath as __bundleFileURLToPath } from 'node:url'; import { dirname as __bundleDirname } from 'node:path'; const require = __bundleCreateRequire(import.meta.url); const __chunk_filename = __bundleFileURLToPath(import.meta.url); const __chunk_dirname = __bundleDirname(__chunk_filename);
|
|
3
3
|
import {
|
|
4
4
|
init_log_and_swallow
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-W2PSVV2T.js";
|
|
6
6
|
import {
|
|
7
7
|
init_logger
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-6S3G6GPO.js";
|
|
9
9
|
|
|
10
10
|
// src/components/command-registry.ts
|
|
11
11
|
var BOT_COMMANDS = [
|
|
@@ -279,4 +279,4 @@ export {
|
|
|
279
279
|
emojiToScore,
|
|
280
280
|
emojiToTag
|
|
281
281
|
};
|
|
282
|
-
//# sourceMappingURL=chunk-
|
|
282
|
+
//# sourceMappingURL=chunk-AFFW2LRY.js.map
|
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire as __bundleCreateRequire } from 'node:module'; import { fileURLToPath as __bundleFileURLToPath } from 'node:url'; import { dirname as __bundleDirname } from 'node:path'; const require = __bundleCreateRequire(import.meta.url); const __chunk_filename = __bundleFileURLToPath(import.meta.url); const __chunk_dirname = __bundleDirname(__chunk_filename);
|
|
3
|
-
import {
|
|
4
|
-
abmind
|
|
5
|
-
} from "./chunk-JAJ3DUQ2.js";
|
|
6
3
|
import {
|
|
7
4
|
readEnv,
|
|
8
5
|
readEnvWithDefault
|
|
9
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-OWPQIBAO.js";
|
|
7
|
+
import {
|
|
8
|
+
abmind
|
|
9
|
+
} from "./chunk-6IB3GVXK.js";
|
|
10
10
|
import {
|
|
11
11
|
init_bridge_lock_transport,
|
|
12
12
|
readAndClearForceSleep,
|
|
13
13
|
writeSleepStatus
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-ZKMKAO75.js";
|
|
15
15
|
import {
|
|
16
16
|
getEnv,
|
|
17
17
|
init_env_schema
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-BWJ37KMW.js";
|
|
19
19
|
import {
|
|
20
20
|
init_log_and_swallow,
|
|
21
21
|
logAndSwallow
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-W2PSVV2T.js";
|
|
23
23
|
import {
|
|
24
24
|
init_logger,
|
|
25
25
|
logDebug,
|
|
26
26
|
logInfo,
|
|
27
27
|
logWarn
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-6S3G6GPO.js";
|
|
29
29
|
import {
|
|
30
30
|
__export
|
|
31
31
|
} from "./chunk-7K2YZTLD.js";
|
|
@@ -235,4 +235,4 @@ export {
|
|
|
235
235
|
register,
|
|
236
236
|
sleep_exports
|
|
237
237
|
};
|
|
238
|
-
//# sourceMappingURL=chunk-
|
|
238
|
+
//# sourceMappingURL=chunk-AHJDG6OM.js.map
|