abtars 0.1.0-alpha.2 → 0.1.0-alpha.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +64 -0
- package/bundle/_registry.generated-KQODGKTQ.js +36 -0
- package/bundle/{_registry.generated-M4WY2MMI.js.map → _registry.generated-KQODGKTQ.js.map} +1 -1
- package/bundle/abtars-browser.js +8 -7
- package/bundle/abtars-browser.js.map +1 -1
- package/bundle/abtars-cli.js +646 -73
- package/bundle/abtars-cli.js.map +4 -4
- package/bundle/abtars-restart.js +7 -6
- package/bundle/abtars-rss.js +2 -1
- package/bundle/abtars-rss.js.map +1 -1
- package/bundle/abtars-task.js +9 -8
- package/bundle/abtars-task.js.map +1 -1
- package/bundle/abtars.js +103 -96
- package/bundle/abtars.js.map +2 -2
- package/bundle/{agent-api-rate-limit-OQNFMXTZ.js → agent-api-rate-limit-7R5TX2F2.js} +7 -6
- package/bundle/{agent-api-rate-limit-OQNFMXTZ.js.map → agent-api-rate-limit-7R5TX2F2.js.map} +1 -1
- package/bundle/agent-registry-5M77ZOMV.js +19 -0
- package/bundle/agent-registry-VJMNIQ5W.js +19 -0
- package/bundle/{anthropic-adapter-2APTH3LA.js → anthropic-adapter-IBY3NPXW.js} +4 -3
- package/bundle/{anthropic-adapter-2APTH3LA.js.map → anthropic-adapter-IBY3NPXW.js.map} +1 -1
- package/bundle/{bridge-lock-transport-4AC2G5G6.js → bridge-lock-transport-HO545SBK.js} +9 -8
- package/bundle/browse-delivery-64GQIUHG.js +18 -0
- package/bundle/browser-EXR5OQGK.js +19 -0
- package/bundle/capability-HIE7UGFU.js +18 -0
- package/bundle/{chunk-BUUVFUPO.js → chunk-2BY6I4P5.js} +5 -4
- package/bundle/{chunk-BUUVFUPO.js.map → chunk-2BY6I4P5.js.map} +1 -1
- package/bundle/{chunk-Y6XAEX2Q.js → chunk-2F6XKG7Y.js} +15 -9
- package/bundle/chunk-2F6XKG7Y.js.map +7 -0
- package/bundle/{chunk-V76TVMCM.js → chunk-3MO2MDXJ.js} +5 -4
- package/bundle/{chunk-V76TVMCM.js.map → chunk-3MO2MDXJ.js.map} +1 -1
- package/bundle/{chunk-6UCRKRWR.js → chunk-6XX4OAAM.js} +22 -21
- package/bundle/chunk-6XX4OAAM.js.map +7 -0
- package/bundle/{chunk-XREWVCUO.js → chunk-7CHLS36W.js} +16 -148
- package/bundle/chunk-7CHLS36W.js.map +7 -0
- package/bundle/{chunk-NWDBD4PA.js → chunk-7K2YZTLD.js} +3 -2
- package/bundle/{chunk-JCJS4ZIB.js → chunk-AQVOAQQI.js} +5 -4
- package/bundle/{chunk-JCJS4ZIB.js.map → chunk-AQVOAQQI.js.map} +1 -1
- package/bundle/chunk-AUQD2PKM.js +136 -0
- package/bundle/chunk-AUQD2PKM.js.map +7 -0
- package/bundle/{chunk-YOCTDKKL.js → chunk-BYDUMHXT.js} +4 -3
- package/bundle/{chunk-YOCTDKKL.js.map → chunk-BYDUMHXT.js.map} +1 -1
- package/bundle/{chunk-RVE2N7FA.js → chunk-CELR236Q.js} +5 -4
- package/bundle/{chunk-RVE2N7FA.js.map → chunk-CELR236Q.js.map} +1 -1
- package/bundle/{chunk-2XU2X4OI.js → chunk-CUQA2AJT.js} +3 -2
- package/bundle/{chunk-2XU2X4OI.js.map → chunk-CUQA2AJT.js.map} +1 -1
- package/bundle/chunk-DMPR5MYT.js +183 -0
- package/bundle/chunk-DMPR5MYT.js.map +7 -0
- package/bundle/{chunk-BHMZ4RCC.js → chunk-DY3R7LDW.js} +55 -54
- package/bundle/{chunk-BHMZ4RCC.js.map → chunk-DY3R7LDW.js.map} +1 -1
- package/bundle/{chunk-AR6GO6YC.js → chunk-ELRAH7VL.js} +5 -4
- package/bundle/{chunk-AR6GO6YC.js.map → chunk-ELRAH7VL.js.map} +1 -1
- package/bundle/{chunk-FMWKEPM7.js → chunk-EX2SRTUE.js} +5 -4
- package/bundle/{chunk-FMWKEPM7.js.map → chunk-EX2SRTUE.js.map} +1 -1
- package/bundle/{chunk-JW6RU47G.js → chunk-FVQGP5YO.js} +8 -7
- package/bundle/{chunk-JW6RU47G.js.map → chunk-FVQGP5YO.js.map} +1 -1
- package/bundle/{chunk-GRNENTPA.js → chunk-G6IXMYIO.js} +4 -3
- package/bundle/{chunk-GRNENTPA.js.map → chunk-G6IXMYIO.js.map} +1 -1
- package/bundle/{chunk-6NR3OHEW.js → chunk-H2RZ4NEJ.js} +6 -5
- package/bundle/{chunk-6NR3OHEW.js.map → chunk-H2RZ4NEJ.js.map} +1 -1
- package/bundle/chunk-HVKJN3AG.js +189 -0
- package/bundle/chunk-HVKJN3AG.js.map +7 -0
- package/bundle/{chunk-265TPOPC.js → chunk-HXJRZWKA.js} +3 -2
- package/bundle/{chunk-265TPOPC.js.map → chunk-HXJRZWKA.js.map} +1 -1
- package/bundle/chunk-IU3RI5E4.js +645 -0
- package/bundle/chunk-IU3RI5E4.js.map +7 -0
- package/bundle/{chunk-GST5T3WZ.js → chunk-J5YIMCLT.js} +6 -5
- package/bundle/{chunk-GST5T3WZ.js.map → chunk-J5YIMCLT.js.map} +1 -1
- package/bundle/chunk-JAJ3DUQ2.js +30 -0
- package/bundle/{chunk-OP7BTAWY.js.map → chunk-JAJ3DUQ2.js.map} +1 -1
- package/bundle/chunk-JHF25OOG.js +645 -0
- package/bundle/chunk-JHF25OOG.js.map +7 -0
- package/bundle/{chunk-MPX525QO.js → chunk-JRG4EFMP.js} +5 -4
- package/bundle/{chunk-MPX525QO.js.map → chunk-JRG4EFMP.js.map} +1 -1
- package/bundle/{chunk-VVEDVGCR.js → chunk-JU3UBWLN.js} +17 -16
- package/bundle/{chunk-VVEDVGCR.js.map → chunk-JU3UBWLN.js.map} +1 -1
- package/bundle/{chunk-QBGBT5QS.js → chunk-JX3ZZU3O.js} +5 -4
- package/bundle/{chunk-QBGBT5QS.js.map → chunk-JX3ZZU3O.js.map} +1 -1
- package/bundle/{chunk-6SETMHNN.js → chunk-K7P74UNQ.js} +8 -7
- package/bundle/{chunk-6SETMHNN.js.map → chunk-K7P74UNQ.js.map} +1 -1
- package/bundle/{chunk-AZJIODTQ.js → chunk-KED3G7HS.js} +6 -5
- package/bundle/{chunk-AZJIODTQ.js.map → chunk-KED3G7HS.js.map} +1 -1
- package/bundle/chunk-KI2ROWAH.js +3707 -0
- package/bundle/chunk-KI2ROWAH.js.map +7 -0
- package/bundle/{chunk-UHRP745J.js → chunk-L7YHV5DL.js} +6 -5
- package/bundle/{chunk-UHRP745J.js.map → chunk-L7YHV5DL.js.map} +1 -1
- package/bundle/{chunk-BSSBCSCL.js → chunk-LD5BMLHG.js} +11 -10
- package/bundle/{chunk-BSSBCSCL.js.map → chunk-LD5BMLHG.js.map} +1 -1
- package/bundle/{chunk-2UPU3OW6.js → chunk-LYEAHE5V.js} +5 -4
- package/bundle/{chunk-2UPU3OW6.js.map → chunk-LYEAHE5V.js.map} +1 -1
- package/bundle/{chunk-3B7BBE4F.js → chunk-MCGEXAG5.js} +8 -7
- package/bundle/{chunk-3B7BBE4F.js.map → chunk-MCGEXAG5.js.map} +1 -1
- package/bundle/{chunk-X76UX47U.js → chunk-MJ6PHMOK.js} +4 -3
- package/bundle/{chunk-X76UX47U.js.map → chunk-MJ6PHMOK.js.map} +1 -1
- package/bundle/{chunk-LSPKJQCI.js → chunk-MV6CJFWR.js} +3 -2
- package/bundle/{chunk-LSPKJQCI.js.map → chunk-MV6CJFWR.js.map} +1 -1
- package/bundle/chunk-MZWMYN4O.js +17 -0
- package/bundle/{chunk-M6VBAPNT.js.map → chunk-MZWMYN4O.js.map} +1 -1
- package/bundle/{chunk-HX7Y7EYP.js → chunk-NIRYBWUW.js} +4 -3
- package/bundle/{chunk-HX7Y7EYP.js.map → chunk-NIRYBWUW.js.map} +1 -1
- package/bundle/{chunk-3E545J66.js → chunk-OW64RUE5.js} +3 -2
- package/bundle/{chunk-3E545J66.js.map → chunk-OW64RUE5.js.map} +1 -1
- package/bundle/chunk-P56PLAIC.js +126 -0
- package/bundle/chunk-P56PLAIC.js.map +7 -0
- package/bundle/{chunk-TZHIDLDS.js → chunk-P6PN34XD.js} +5 -4
- package/bundle/{chunk-TZHIDLDS.js.map → chunk-P6PN34XD.js.map} +1 -1
- package/bundle/{chunk-2UENBO6M.js → chunk-PF5UQ64X.js} +9 -8
- package/bundle/{chunk-2UENBO6M.js.map → chunk-PF5UQ64X.js.map} +1 -1
- package/bundle/{chunk-6CPN4IGS.js → chunk-PQ62LZNA.js} +9 -8
- package/bundle/{chunk-6CPN4IGS.js.map → chunk-PQ62LZNA.js.map} +1 -1
- package/bundle/{chunk-UCQ2WC3B.js → chunk-PQW5QBPY.js} +15 -8
- package/bundle/chunk-PQW5QBPY.js.map +7 -0
- package/bundle/{chunk-D2DCBO6M.js → chunk-R36WIOYX.js} +3 -2
- package/bundle/{chunk-D2DCBO6M.js.map → chunk-R36WIOYX.js.map} +1 -1
- package/bundle/chunk-RB3X66KM.js +386 -0
- package/bundle/chunk-RB3X66KM.js.map +7 -0
- package/bundle/{chunk-GUQVJC3U.js → chunk-RE3F3CFW.js} +7 -6
- package/bundle/{chunk-GUQVJC3U.js.map → chunk-RE3F3CFW.js.map} +1 -1
- package/bundle/chunk-RWUINZUQ.js +19 -0
- package/bundle/chunk-RWUINZUQ.js.map +7 -0
- package/bundle/{chunk-NT3OBORC.js → chunk-S54DBUZ4.js} +10 -9
- package/bundle/{chunk-NT3OBORC.js.map → chunk-S54DBUZ4.js.map} +1 -1
- package/bundle/{chunk-CWOHNFUV.js → chunk-SY67HM2Y.js} +3 -2
- package/bundle/{chunk-CWOHNFUV.js.map → chunk-SY67HM2Y.js.map} +1 -1
- package/bundle/{chunk-BQ2L4GMG.js → chunk-TBLYGCPQ.js} +4 -3
- package/bundle/{chunk-BQ2L4GMG.js.map → chunk-TBLYGCPQ.js.map} +1 -1
- package/bundle/chunk-TCBMBX3Z.js +183 -0
- package/bundle/chunk-TCBMBX3Z.js.map +7 -0
- package/bundle/chunk-TXRWQIQQ.js +3707 -0
- package/bundle/chunk-TXRWQIQQ.js.map +7 -0
- package/bundle/chunk-U34CSHFS.js +645 -0
- package/bundle/chunk-U34CSHFS.js.map +7 -0
- package/bundle/{chunk-CEVRHKJY.js → chunk-UDZIZB5F.js} +6 -5
- package/bundle/{chunk-CEVRHKJY.js.map → chunk-UDZIZB5F.js.map} +1 -1
- package/bundle/{chunk-W6FAL35D.js → chunk-VA5WKN3Z.js} +7 -6
- package/bundle/{chunk-W6FAL35D.js.map → chunk-VA5WKN3Z.js.map} +1 -1
- package/bundle/{chunk-X6TERNVJ.js → chunk-WX7GHGFX.js} +10 -9
- package/bundle/{chunk-X6TERNVJ.js.map → chunk-WX7GHGFX.js.map} +1 -1
- package/bundle/{chunk-PNEDC45Y.js → chunk-XETTJVEU.js} +4 -3
- package/bundle/{chunk-PNEDC45Y.js.map → chunk-XETTJVEU.js.map} +1 -1
- package/bundle/{chunk-PLCY3GFH.js → chunk-XLLSPBBT.js} +5 -4
- package/bundle/{chunk-PLCY3GFH.js.map → chunk-XLLSPBBT.js.map} +1 -1
- package/bundle/{chunk-ZXPXCDA6.js → chunk-XOCP5BMO.js} +6 -5
- package/bundle/{chunk-ZXPXCDA6.js.map → chunk-XOCP5BMO.js.map} +1 -1
- package/bundle/chunk-ZEY6YZAB.js +138 -0
- package/bundle/chunk-ZEY6YZAB.js.map +7 -0
- package/bundle/{chunk-MW6WDLU7.js → chunk-ZZR3JZHR.js} +10 -9
- package/bundle/{chunk-MW6WDLU7.js.map → chunk-ZZR3JZHR.js.map} +1 -1
- package/bundle/commands-AIL4XOIZ.js +33 -0
- package/bundle/commands-K77NVSXZ.js +32 -0
- package/bundle/commands-V6RSVC4Y.js +32 -0
- package/bundle/completion-buffer-S3LXDZG2.js +14 -0
- package/bundle/config-C6VHRJQ7.js +20 -0
- package/bundle/{config-show-ERTATR6E.js → config-show-ZTXX27FW.js} +4 -3
- package/bundle/{config-show-ERTATR6E.js.map → config-show-ZTXX27FW.js.map} +1 -1
- package/bundle/{context-HCEGZNDC.js → context-OCS7HLJP.js} +5 -4
- package/bundle/{context-HCEGZNDC.js.map → context-OCS7HLJP.js.map} +1 -1
- package/bundle/daemon-NPKYZ3CJ.js +292 -0
- package/bundle/daemon-NPKYZ3CJ.js.map +7 -0
- package/bundle/delegation-tools-PF7RD2RW.js +28 -0
- package/bundle/{deploy-lib-import-32ZFKHWP.js → deploy-lib-import-ODLDL2DB.js} +5 -4
- package/bundle/digital-signature-PNY4TR2W.js +14 -0
- package/bundle/{direct-api-transport-YR7SXXNN.js → direct-api-transport-EADHM67Z.js} +21 -20
- package/bundle/{direct-api-transport-YR7SXXNN.js.map → direct-api-transport-EADHM67Z.js.map} +1 -1
- package/bundle/direct-api-transport-SLJ2Z6NX.js +861 -0
- package/bundle/direct-api-transport-SLJ2Z6NX.js.map +7 -0
- package/bundle/{discord-adapter-YYWVMPPU.js → discord-adapter-FBJOJSTW.js} +25 -24
- package/bundle/{discord-adapter-YYWVMPPU.js.map → discord-adapter-FBJOJSTW.js.map} +1 -1
- package/bundle/discord-adapter-IJISVHUE.js +585 -0
- package/bundle/discord-adapter-IJISVHUE.js.map +7 -0
- package/bundle/discord-adapter-UYOCKRDF.js +586 -0
- package/bundle/discord-adapter-UYOCKRDF.js.map +7 -0
- package/bundle/{dist-MTMKARCP.js → dist-J3T4XVKX.js} +4 -3
- package/bundle/{dist-MTMKARCP.js.map → dist-J3T4XVKX.js.map} +1 -1
- package/bundle/{dns-wakeup-27M7D2MR.js → dns-wakeup-RYOCQ6GR.js} +6 -5
- package/bundle/{dns-wakeup-27M7D2MR.js.map → dns-wakeup-RYOCQ6GR.js.map} +1 -1
- package/bundle/{doctor-QNUSDY73.js → doctor-R54GZPKL.js} +10 -9
- package/bundle/{doctor-QNUSDY73.js.map → doctor-R54GZPKL.js.map} +1 -1
- package/bundle/{ensure-invariants-NMXNS476.js → ensure-invariants-K2ZUZ6NR.js} +7 -6
- package/bundle/{ensure-invariants-NMXNS476.js.map → ensure-invariants-K2ZUZ6NR.js.map} +1 -1
- package/bundle/ensure-invariants-KUXIW73S.js +50 -0
- package/bundle/ensure-invariants-KUXIW73S.js.map +7 -0
- package/bundle/env-schema-DGD6QWPA.js +20 -0
- package/bundle/{esm-DDP6NCZG.js → esm-PFOJARXA.js} +5 -4
- package/bundle/{esm-DDP6NCZG.js.map → esm-PFOJARXA.js.map} +1 -1
- package/bundle/{fallback-policy-L4QV2PEJ.js → fallback-policy-SR6ED5I3.js} +4 -3
- package/bundle/{fallback-policy-L4QV2PEJ.js.map → fallback-policy-SR6ED5I3.js.map} +1 -1
- package/bundle/{health-check-SPA7NT6N.js → health-check-RJ2SUJYL.js} +4 -3
- package/bundle/{health-check-SPA7NT6N.js.map → health-check-RJ2SUJYL.js.map} +1 -1
- package/bundle/hook-system-POI5VRIX.js +18 -0
- package/bundle/hotskills-6ECHLXTJ.js +13 -0
- package/bundle/install-24XR5FO5.js +13 -0
- package/bundle/install-AJ7VW76P.js +13 -0
- package/bundle/{install-log-IAPHYKD4.js → install-log-Q6RUHKWC.js} +4 -3
- package/bundle/{install-log-IAPHYKD4.js.map → install-log-Q6RUHKWC.js.map} +1 -1
- package/bundle/{install-manifest-SPQRUNXL.js → install-manifest-MCJCAYSR.js} +9 -7
- package/bundle/install-manifest-MCJCAYSR.js.map +7 -0
- package/bundle/install-manifest-ZETY4AFS.js +104 -0
- package/bundle/install-manifest-ZETY4AFS.js.map +7 -0
- package/bundle/{install-validate-PVLZXYLQ.js → install-validate-H74LUCE2.js} +4 -3
- package/bundle/{install-validate-PVLZXYLQ.js.map → install-validate-H74LUCE2.js.map} +1 -1
- package/bundle/{irc-adapter-OI5UZSQF.js → irc-adapter-RKRUSZXB.js} +7 -6
- package/bundle/{irc-adapter-OI5UZSQF.js.map → irc-adapter-RKRUSZXB.js.map} +1 -1
- package/bundle/{irc-config-55YO6EGB.js → irc-config-6VY67UPQ.js} +8 -7
- package/bundle/{irc-config-55YO6EGB.js.map → irc-config-6VY67UPQ.js.map} +1 -1
- package/bundle/{logs-ZNYXX5PA.js → logs-EK4HYRKR.js} +4 -3
- package/bundle/{logs-ZNYXX5PA.js.map → logs-EK4HYRKR.js.map} +1 -1
- package/bundle/{media-utils-XNNDTYFI.js → media-utils-QBY5WBF3.js} +8 -7
- package/bundle/{media-utils-XNNDTYFI.js.map → media-utils-QBY5WBF3.js.map} +1 -1
- package/bundle/message-pipeline-ANSMPK5O.js +34 -0
- package/bundle/message-pipeline-HXZMRGXZ.js +34 -0
- package/bundle/message-pipeline-XUUTGPFH.js +35 -0
- package/bundle/meta.json +1828 -1650
- package/bundle/model-health-registry-7ECZFCW4.js +12 -0
- package/bundle/model-health-registry-LDC76RPP.js +12 -0
- package/bundle/notification-OJ4YE4VG.js +14 -0
- package/bundle/{openrouter-credits-EDY7ETAU.js → openrouter-credits-L45SYKT3.js} +7 -6
- package/bundle/{openrouter-credits-EDY7ETAU.js.map → openrouter-credits-L45SYKT3.js.map} +1 -1
- package/bundle/{passwd-RRFV4CC5.js → passwd-QSHZJ2CG.js} +4 -3
- package/bundle/{passwd-RRFV4CC5.js.map → passwd-QSHZJ2CG.js.map} +1 -1
- package/bundle/paths-ZJYIDND2.js +18 -0
- package/bundle/{peer-client-52XYMNI7.js → peer-client-T44VI7NB.js} +13 -12
- package/bundle/{peer-client-52XYMNI7.js.map → peer-client-T44VI7NB.js.map} +1 -1
- package/bundle/peer-config-D5A4454H.js +17 -0
- package/bundle/{peer-sessions-EAXTNQ36.js → peer-sessions-MY2YVXHC.js} +4 -3
- package/bundle/{peer-sessions-EAXTNQ36.js.map → peer-sessions-MY2YVXHC.js.map} +1 -1
- package/bundle/{pending-callback-RIMQZ7FJ.js → pending-callback-6KLBSHLX.js} +4 -3
- package/bundle/{pending-callback-RIMQZ7FJ.js.map → pending-callback-6KLBSHLX.js.map} +1 -1
- package/bundle/phase-transport-43NP5XBK.js +23 -0
- package/bundle/phase-transport-GNUZI6EW.js +23 -0
- package/bundle/phase-transport-Q7K6V3VZ.js +23 -0
- package/bundle/phase-transport-SLJXIAY5.js +23 -0
- package/bundle/{responses-adapter-AAQTY3K4.js → responses-adapter-DAV2JUL7.js} +4 -3
- package/bundle/{responses-adapter-AAQTY3K4.js.map → responses-adapter-DAV2JUL7.js.map} +1 -1
- package/bundle/{restore-ZE3SEPSS.js → restore-ROJF22R2.js} +5 -4
- package/bundle/{restore-ZE3SEPSS.js.map → restore-ROJF22R2.js.map} +1 -1
- package/bundle/{self-healer-utils-DMUUXC47.js → self-healer-utils-7NFH22VJ.js} +7 -6
- package/bundle/{self-healer-utils-DMUUXC47.js.map → self-healer-utils-7NFH22VJ.js.map} +1 -1
- package/bundle/skill-stats-IPVKMWN3.js +23 -0
- package/bundle/sleep-4NVWZHVN.js +20 -0
- package/bundle/soul-bundle-7EYTEKFE.js +15 -0
- package/bundle/soul-loader-7FN7WDHM.js +18 -0
- package/bundle/soul-loader-K237NP4T.js +17 -0
- package/bundle/soul-loader-K237NP4T.js.map +7 -0
- package/bundle/soul-loader-UVJ6HZM3.js +17 -0
- package/bundle/soul-loader-UVJ6HZM3.js.map +7 -0
- package/bundle/src-Z3WR7SRT.js +9 -0
- package/bundle/src-Z3WR7SRT.js.map +7 -0
- package/bundle/{sse-parser-anthropic-P7CE2MH2.js → sse-parser-anthropic-H42TTLBD.js} +7 -6
- package/bundle/{sse-parser-anthropic-P7CE2MH2.js.map → sse-parser-anthropic-H42TTLBD.js.map} +1 -1
- package/bundle/{sse-parser-responses-EQQA5FWN.js → sse-parser-responses-WG2LY2ML.js} +7 -6
- package/bundle/{sse-parser-responses-EQQA5FWN.js.map → sse-parser-responses-WG2LY2ML.js.map} +1 -1
- package/bundle/{ssrf-guard-FZCBYIVW.js → ssrf-guard-E2KBBC5E.js} +7 -6
- package/bundle/{ssrf-guard-FZCBYIVW.js.map → ssrf-guard-E2KBBC5E.js.map} +1 -1
- package/bundle/{start-FH3GRMJ4.js → start-4IWBKLWO.js} +4 -3
- package/bundle/{start-FH3GRMJ4.js.map → start-4IWBKLWO.js.map} +1 -1
- package/bundle/{stream-single-WSG4D53C.js → stream-single-RFJNUTL6.js} +4 -3
- package/bundle/{stream-single-WSG4D53C.js.map → stream-single-RFJNUTL6.js.map} +1 -1
- package/bundle/stt-CF3CPFDC.js +15 -0
- package/bundle/stt-CF3CPFDC.js.map +7 -0
- package/bundle/subagent-runtime-P7GCFBM3.js +13 -0
- package/bundle/subagent-runtime-P7GCFBM3.js.map +7 -0
- package/bundle/subagent-runtime-USNPO4WF.js +13 -0
- package/bundle/subagent-runtime-USNPO4WF.js.map +7 -0
- package/bundle/subagent-runtime-XS2ZXYOZ.js +13 -0
- package/bundle/subagent-runtime-XS2ZXYOZ.js.map +7 -0
- package/bundle/{system-message-T5R3EYYN.js → system-message-TALP6GP2.js} +6 -5
- package/bundle/{system-message-T5R3EYYN.js.map → system-message-TALP6GP2.js.map} +1 -1
- package/bundle/{system-status-KQ6KHFJ6.js → system-status-2CR5OUDY.js} +10 -9
- package/bundle/{system-status-KQ6KHFJ6.js.map → system-status-2CR5OUDY.js.map} +1 -1
- package/bundle/task-store-KIBFZL5A.js +23 -0
- package/bundle/task-store-KIBFZL5A.js.map +7 -0
- package/bundle/{telegram-adapter-2V3XUMT5.js → telegram-adapter-ISQRW7PN.js} +34 -33
- package/bundle/{telegram-adapter-2V3XUMT5.js.map → telegram-adapter-ISQRW7PN.js.map} +1 -1
- package/bundle/telegram-adapter-QCD7AG5D.js +1062 -0
- package/bundle/telegram-adapter-QCD7AG5D.js.map +7 -0
- package/bundle/telegram-adapter-Y3PVA25S.js +1061 -0
- package/bundle/telegram-adapter-Y3PVA25S.js.map +7 -0
- package/bundle/telegram-adapter-YAXSK2RT.js +1062 -0
- package/bundle/telegram-adapter-YAXSK2RT.js.map +7 -0
- package/bundle/tool-registry-DFCCGZCB.js +39 -0
- package/bundle/tool-registry-DFCCGZCB.js.map +7 -0
- package/bundle/tool-sandbox-OZMXJZLQ.js +21 -0
- package/bundle/tool-sandbox-OZMXJZLQ.js.map +7 -0
- package/bundle/{transport-config-YLXU33RO.js → transport-config-ANPS2RYT.js} +11 -10
- package/bundle/transport-config-ANPS2RYT.js.map +7 -0
- package/bundle/update-check-O5MS6B3L.js +13 -0
- package/bundle/update-check-O5MS6B3L.js.map +7 -0
- package/bundle/usage-tracker-S4Z2G2K5.js +18 -0
- package/bundle/usage-tracker-S4Z2G2K5.js.map +7 -0
- package/bundle/user-registry-GTAJIW6E.js +17 -0
- package/bundle/user-registry-GTAJIW6E.js.map +7 -0
- package/config/.env +2 -0
- package/config/auto-fix.json +14 -0
- package/config/irc.json.example +30 -0
- package/config/models.json.example +229 -0
- package/config/peers.json.example +12 -0
- package/config/schemas/irc.schema.json +42 -0
- package/config/schemas/models.schema.json +17 -0
- package/config/schemas/peers.schema.json +35 -0
- package/config/schemas/transport.schema.json +35 -0
- package/config/schemas/users.schema.json +22 -0
- package/config/transport.default.json +30 -0
- package/config/transport.json.example +102 -0
- package/config/users.json.example +11 -0
- package/install-manifest.json +148 -0
- package/package.json +4 -2
- package/scripts/abtars-daemon.service +1 -0
- package/scripts/watchdog.sh +1 -1
- package/bundle/_registry.generated-M4WY2MMI.js +0 -35
- package/bundle/agent-registry-LT4JNQH6.js +0 -18
- package/bundle/browse-delivery-JXBY36GK.js +0 -17
- package/bundle/browser-ELNDVPLC.js +0 -18
- package/bundle/capability-CIL3G4FI.js +0 -17
- package/bundle/chunk-5R2ANXQ7.js +0 -510
- package/bundle/chunk-5R2ANXQ7.js.map +0 -7
- package/bundle/chunk-6UCRKRWR.js.map +0 -7
- package/bundle/chunk-M6VBAPNT.js +0 -16
- package/bundle/chunk-OP7BTAWY.js +0 -29
- package/bundle/chunk-UCQ2WC3B.js.map +0 -7
- package/bundle/chunk-XREWVCUO.js.map +0 -7
- package/bundle/chunk-Y6XAEX2Q.js.map +0 -7
- package/bundle/commands-BHVUOU3V.js +0 -31
- package/bundle/completion-buffer-P253ONKF.js +0 -13
- package/bundle/config-RGSDAPZN.js +0 -19
- package/bundle/delegation-tools-GYTS2D6A.js +0 -27
- package/bundle/digital-signature-OFCGSHWO.js +0 -13
- package/bundle/env-schema-2KBHBDGN.js +0 -19
- package/bundle/hook-system-6Q5YTR53.js +0 -17
- package/bundle/hotskills-K7BM4YLB.js +0 -12
- package/bundle/install-6HRZVKUM.js +0 -15
- package/bundle/install-manifest-SPQRUNXL.js.map +0 -7
- package/bundle/message-pipeline-LLH5SYMO.js +0 -33
- package/bundle/model-health-registry-35LQNVQR.js +0 -11
- package/bundle/notification-Y5S5MMLV.js +0 -13
- package/bundle/paths-G33RZWZ7.js +0 -17
- package/bundle/peer-config-VK6EDLN5.js +0 -16
- package/bundle/phase-transport-KYERDL2O.js +0 -22
- package/bundle/skill-stats-LLEXEXLR.js +0 -22
- package/bundle/sleep-OYIUOVQD.js +0 -19
- package/bundle/soul-loader-54WCVNLJ.js +0 -16
- package/bundle/src-JL4PVO23.js +0 -8
- package/bundle/stt-2UH3RITX.js +0 -14
- package/bundle/subagent-runtime-LE2ZXH3G.js +0 -12
- package/bundle/task-store-K7CQDEPI.js +0 -22
- package/bundle/tool-registry-MU3OX4UI.js +0 -38
- package/bundle/tool-sandbox-VYOK4ZOA.js +0 -20
- package/bundle/update-QCW5LXRN.js +0 -13
- package/bundle/update-check-27KZSAP6.js +0 -12
- package/bundle/usage-tracker-OVVEVMOY.js +0 -17
- package/bundle/user-registry-D4SD73UV.js +0 -16
- /package/bundle/{agent-registry-LT4JNQH6.js.map → agent-registry-5M77ZOMV.js.map} +0 -0
- /package/bundle/{bridge-lock-transport-4AC2G5G6.js.map → agent-registry-VJMNIQ5W.js.map} +0 -0
- /package/bundle/{browse-delivery-JXBY36GK.js.map → bridge-lock-transport-HO545SBK.js.map} +0 -0
- /package/bundle/{browser-ELNDVPLC.js.map → browse-delivery-64GQIUHG.js.map} +0 -0
- /package/bundle/{capability-CIL3G4FI.js.map → browser-EXR5OQGK.js.map} +0 -0
- /package/bundle/{chunk-NWDBD4PA.js.map → capability-HIE7UGFU.js.map} +0 -0
- /package/bundle/{commands-BHVUOU3V.js.map → chunk-7K2YZTLD.js.map} +0 -0
- /package/bundle/{completion-buffer-P253ONKF.js.map → commands-AIL4XOIZ.js.map} +0 -0
- /package/bundle/{config-RGSDAPZN.js.map → commands-K77NVSXZ.js.map} +0 -0
- /package/bundle/{delegation-tools-GYTS2D6A.js.map → commands-V6RSVC4Y.js.map} +0 -0
- /package/bundle/{deploy-lib-import-32ZFKHWP.js.map → completion-buffer-S3LXDZG2.js.map} +0 -0
- /package/bundle/{digital-signature-OFCGSHWO.js.map → config-C6VHRJQ7.js.map} +0 -0
- /package/bundle/{env-schema-2KBHBDGN.js.map → delegation-tools-PF7RD2RW.js.map} +0 -0
- /package/bundle/{hook-system-6Q5YTR53.js.map → deploy-lib-import-ODLDL2DB.js.map} +0 -0
- /package/bundle/{hotskills-K7BM4YLB.js.map → digital-signature-PNY4TR2W.js.map} +0 -0
- /package/bundle/{install-6HRZVKUM.js.map → env-schema-DGD6QWPA.js.map} +0 -0
- /package/bundle/{message-pipeline-LLH5SYMO.js.map → hook-system-POI5VRIX.js.map} +0 -0
- /package/bundle/{model-health-registry-35LQNVQR.js.map → hotskills-6ECHLXTJ.js.map} +0 -0
- /package/bundle/{notification-Y5S5MMLV.js.map → install-24XR5FO5.js.map} +0 -0
- /package/bundle/{paths-G33RZWZ7.js.map → install-AJ7VW76P.js.map} +0 -0
- /package/bundle/{peer-config-VK6EDLN5.js.map → message-pipeline-ANSMPK5O.js.map} +0 -0
- /package/bundle/{phase-transport-KYERDL2O.js.map → message-pipeline-HXZMRGXZ.js.map} +0 -0
- /package/bundle/{skill-stats-LLEXEXLR.js.map → message-pipeline-XUUTGPFH.js.map} +0 -0
- /package/bundle/{sleep-OYIUOVQD.js.map → model-health-registry-7ECZFCW4.js.map} +0 -0
- /package/bundle/{soul-loader-54WCVNLJ.js.map → model-health-registry-LDC76RPP.js.map} +0 -0
- /package/bundle/{src-JL4PVO23.js.map → notification-OJ4YE4VG.js.map} +0 -0
- /package/bundle/{stt-2UH3RITX.js.map → paths-ZJYIDND2.js.map} +0 -0
- /package/bundle/{subagent-runtime-LE2ZXH3G.js.map → peer-config-D5A4454H.js.map} +0 -0
- /package/bundle/{task-store-K7CQDEPI.js.map → phase-transport-43NP5XBK.js.map} +0 -0
- /package/bundle/{tool-registry-MU3OX4UI.js.map → phase-transport-GNUZI6EW.js.map} +0 -0
- /package/bundle/{tool-sandbox-VYOK4ZOA.js.map → phase-transport-Q7K6V3VZ.js.map} +0 -0
- /package/bundle/{transport-config-YLXU33RO.js.map → phase-transport-SLJXIAY5.js.map} +0 -0
- /package/bundle/{update-QCW5LXRN.js.map → skill-stats-IPVKMWN3.js.map} +0 -0
- /package/bundle/{update-check-27KZSAP6.js.map → sleep-4NVWZHVN.js.map} +0 -0
- /package/bundle/{usage-tracker-OVVEVMOY.js.map → soul-bundle-7EYTEKFE.js.map} +0 -0
- /package/bundle/{user-registry-D4SD73UV.js.map → soul-loader-7FN7WDHM.js.map} +0 -0
package/bundle/{direct-api-transport-YR7SXXNN.js.map → direct-api-transport-EADHM67Z.js.map}
RENAMED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/components/transport/direct-api-transport.ts", "../src/components/retry.ts", "../src/components/transport/conversation-session.ts", "../src/components/transport/sse-parser.ts", "../src/components/transport/transport-utils.ts"],
|
|
4
4
|
"sourcesContent": ["import { getEnv } from \"../env-schema.js\";\n/**\n * Direct API Transport \u2014 talks to any OpenAI-compatible endpoint.\n * Implements IKiroTransport with its own agent loop (send \u2192 stream \u2192 tools \u2192 loop).\n */\n\nimport { logInfo, logWarn, logDebug, logTrace } from \"../logger.js\";\nimport { logAndSwallow } from \"../log-and-swallow.js\";\nimport { withRetry, isFatal } from \"../retry.js\";\nimport { ConversationSession, type ToolCall, type ContentPart } from \"./conversation-session.js\";\nimport { parseSSEStream, type SSEToolCallDelta } from \"./sse-parser.js\";\nimport { getToolSchemas, executeToolCall } from \"./tool-registry.js\";\nimport { classifyError } from \"./model-health-registry.js\";\nimport { normalizeToolCalls, parseErrorStatus, parseRetryAfter, parseUsageLimitCooldown } from \"./transport-utils.js\";\nimport { recordUsage } from \"../usage-tracker.js\";\nimport type { FallbackPolicy } from \"./fallback-policy.js\";\nimport type { IKiroTransport } from \"./kiro-transport.js\";\n\nconst TAG = \"direct-api\";\n\n\nexport interface DirectApiConfig {\n endpoint: string;\n apiKey?: string;\n model: string;\n maxContext: number;\n maxOutput: number;\n maxTurns: number;\n apiFormat?: \"chat\" | \"responses\" | \"anthropic\";\n thinking?: { style: \"effort\"; default: string } | { style: \"extended\"; default: number };\n fallbacks?: Array<{ endpoint: string; apiKey?: string; model: string; maxContext?: number }>;\n}\n\nexport { normalizeToolCalls } from \"./transport-utils.js\";\n\nexport class DirectApiTransport implements IKiroTransport {\n private readonly config: DirectApiConfig;\n private readonly sessions = new Map<string, ConversationSession>();\n private readonly abortControllers = new Map<string, AbortController>();\n private systemPrompt = \"\";\n private _contextPercent = -1;\n private _lastAnswer = \"\";\n private _timeoutOverrideMs: number | null = null;\n private _toolCallsSucceeded = 0;\n private _intermediateText = \"\";\n private _promptStartedAt: number | null = null;\n private _lastActivityAt: number | null = null;\n private activeEndpoint: string;\n private activeApiKey?: string;\n private activeModel: string;\n private _lastPromptTokens = 0;\n private _activeSessionKey = \"\";\n private _activeUserId = \"master\";\n\n /** Currently active model (may differ from config if on fallback). */\n get currentModel(): string { return this.activeModel; }\n\n onIntermediateResponse?: (text: string) => void;\n onToolCallStart?: (toolName: string) => void;\n onSegmentBreak?: (text: string) => void;\n /** Sandbox policy for tool access control (#681). Set by pipeline before prompt. */\n sandboxPolicy?: import(\"../tool-sandbox.js\").SandboxPolicy;\n /** Called when fallback model is selected \u2014 send notification before response. */\n onFallback?: (model: string, ctxPercent: number, reason?: string) => void;\n /** Cooperative pause check \u2014 if returns true, agent loop breaks between tool calls. */\n isPaused?: () => boolean;\n /** Returns a pending instruction from parent, if any. Consumed once. */\n getPendingInstruction?: () => string | undefined;\n\n /** Context orchestrator \u2014 when set, messages are built from DB instead of in-memory session. */\n contextOrchestrator?: import(\"abmind\").ContextOrchestrator;\n\n private policy: FallbackPolicy | null;\n private emergencyOverride: { endpoint: string; apiKey?: string; model: string; maxContext: number } | null = null;\n\n /** Activate emergency (hailMary) mode \u2014 next prompts bypass the fallback policy. */\n setEmergencyMode(override: { endpoint: string; apiKey?: string; model: string; maxContext: number } | null): void {\n if (!override && !this.emergencyOverride) return; // no-op if already off\n this.emergencyOverride = override;\n if (override) logWarn(TAG, `\uD83D\uDEA8 EMERGENCY MODE: using ${override.model} (paid) \u2014 bypassing fallback chain`);\n else { this.activeModel = this.config.model; logInfo(TAG, `Emergency mode cleared \u2014 restored ${this.config.model}`); }\n }\n\n /** True if emergency (hailMary) mode is active. */\n get isEmergencyMode(): boolean { return this.emergencyOverride !== null; }\n\n constructor(config: DirectApiConfig, policy?: FallbackPolicy) {\n this.config = config;\n this.activeEndpoint = config.endpoint;\n this.activeApiKey = config.apiKey;\n this.activeModel = config.model;\n this.policy = policy ?? null;\n }\n\n async initialize(): Promise<void> {\n const count = this.policy ? this.policy.candidates.length : (this.config.fallbacks?.length ?? 0) + 1;\n const fb = count > 1 ? ` (+${count - 1} fallback${count > 2 ? \"s\" : \"\"})` : \"\";\n logInfo(TAG, `\uD83D\uDD0C Direct API transport (${this.config.endpoint}, model: ${this.config.model}${fb})`);\n }\n\n setSystemPrompt(prompt: string): void {\n this.systemPrompt = prompt;\n }\n\n async sendPrompt(sessionKey: string, message: string, image?: { mime: string; base64: string }, userId?: string): Promise<string> {\n const session = this.getOrCreateSession(sessionKey);\n this._activeSessionKey = sessionKey;\n this._activeUserId = userId || \"master\";\n\n // If context orchestrator is active, rebuild messages from DB\n if (this.contextOrchestrator) {\n try {\n const ctx = await this.contextOrchestrator.getContext(sessionKey, this.config.maxContext);\n // Replace session messages with DB-backed context + system prompt\n session.messages = [\n { role: \"system\" as const, content: this.systemPrompt },\n ...ctx.messages.map(m => ({ role: m.role as \"user\" | \"assistant\" | \"tool\", content: m.content })),\n ];\n if (ctx.compacted) logDebug(TAG, `Context compacted for ${sessionKey}`);\n } catch (err) {\n logWarn(TAG, `Context engine failed, falling back to in-memory: ${err}`);\n }\n }\n\n session.addUser(message, image);\n\n this._lastAnswer = \"\";\n this._toolCallsSucceeded = 0;\n this._intermediateText = \"\";\n this._promptStartedAt = Date.now();\n this._lastActivityAt = Date.now();\n\n const ac = new AbortController();\n this.abortControllers.set(sessionKey, ac);\n\n try {\n if (this.emergencyOverride) return await this.sendEmergency(session, ac.signal);\n if (!this.policy) throw new Error(\"DirectApiTransport requires a FallbackPolicy\");\n return await this.sendWithPolicy(session, ac.signal);\n } finally {\n // AfterPrompt hook \u2014 observe-only, fire-and-forget\n const durationMs = Date.now() - (this._promptStartedAt ?? Date.now());\n import(\"../hooks/hook-system.js\").then(({ hasHooks, fire }) => {\n if (!hasHooks(\"AfterPrompt\")) return;\n fire(\"AfterPrompt\", {\n event: \"AfterPrompt\", timestamp: new Date().toISOString(),\n sessionKey, platform: \"\", userId: \"\",\n model: this.activeModel, durationMs,\n inputTokens: this._lastPromptTokens || null,\n outputTokens: null, // not tracked per-prompt in DirectApi\n }).catch(err => logAndSwallow(TAG, \"fire AfterPrompt\", err));\n }).catch(err => logAndSwallow(TAG, \"import hook-system\", err));\n this._promptStartedAt = null;\n this.abortControllers.delete(sessionKey);\n }\n }\n\n private async sendEmergency(session: ConversationSession, signal: AbortSignal): Promise<string> {\n const em = this.emergencyOverride!;\n this.activeEndpoint = em.endpoint;\n this.activeApiKey = em.apiKey;\n this.activeModel = em.model;\n this._lastActivityAt = Date.now();\n logWarn(TAG, `\uD83D\uDEA8 Emergency mode: using ${em.model}`);\n const result = await this.agentLoop(session, signal);\n this._lastAnswer = result;\n return result;\n }\n\n private async sendWithPolicy(session: ConversationSession, signal: AbortSignal): Promise<string> {\n const policy = this.policy!;\n const failedAttempts: Array<{ model: string; kind: string; bucket: number }> = [];\n const isPrimary = (m: string): boolean => m === this.config.model;\n\n // Try each candidate via policy\n let candidate = policy.selectModel(this._lastPromptTokens);\n while (candidate) {\n this.activeEndpoint = candidate.endpoint;\n this.activeApiKey = candidate.apiKey;\n this.activeModel = candidate.model;\n this._lastActivityAt = Date.now();\n logDebug(TAG, `Trying model: ${candidate.model}`);\n\n if (!isPrimary(candidate.model) && this.onFallback) {\n const ctxPct = candidate.maxContext > 0 ? Math.round((this._lastPromptTokens / candidate.maxContext) * 100) : -1;\n const lastFail = failedAttempts[failedAttempts.length - 1];\n this.onFallback(candidate.model, ctxPct, lastFail?.kind);\n }\n\n try {\n const result = await this.agentLoop(session, signal);\n this._lastAnswer = result;\n if (!result || !result.trim()) {\n policy.recordError(candidate, \"weak\");\n } else {\n policy.recordSuccess(candidate);\n }\n return result;\n } catch (err) {\n if (signal.aborted) { session.rollbackToLastUser(); throw err; }\n const errMsg = err instanceof Error ? err.message : String(err);\n // Capability miss \u2014 strip image and retry text-only (#670)\n if (errMsg.includes(\"does not support image input\") || errMsg.includes(\"No endpoints found that support image\")) {\n session.rollbackToLastUser();\n // Strip image parts from session, retry same model text-only\n for (const m of session.messages) {\n if (Array.isArray(m.content)) {\n const textParts = (m.content as Array<{ type: string; text?: string }>).filter(p => p.type === \"text\");\n m.content = textParts.map(p => p.text ?? \"\").join(\"\\n\") || \"User sent an image (not supported by this model).\";\n }\n }\n logWarn(TAG, `${candidate.model} doesn't support images \u2014 retrying text-only`);\n if (this.onIntermediateResponse) this.onIntermediateResponse(\"\u26A0\uFE0F Model doesn't support images via this provider. Sending text-only.\\n\");\n try {\n const result = await this.agentLoop(session, signal);\n this._lastAnswer = result;\n policy.recordSuccess(candidate);\n return result;\n } catch (retryErr) {\n const retryStatus = this.parseErrorStatus(retryErr);\n const retryMsg = retryErr instanceof Error ? retryErr.message : String(retryErr);\n policy.recordError(candidate, classifyError(retryStatus, retryMsg));\n session.rollbackToLastUser();\n throw retryErr;\n }\n }\n const status = this.parseErrorStatus(err);\n const kind = classifyError(status, errMsg);\n const retryAfterMs = this.parseRetryAfter(err) ?? parseUsageLimitCooldown(errMsg);\n policy.recordError(candidate, kind, retryAfterMs);\n const bucket = policy.registry.getBucketLevel(candidate.model, candidate.endpoint);\n failedAttempts.push({ model: candidate.model, kind, bucket });\n session.rollbackToLastUser();\n logWarn(TAG, `${candidate.model} failed (${kind}, bucket: ${bucket}%${retryAfterMs ? `, retry-after: ${Math.round(retryAfterMs / 1000)}s` : \"\"}): ${errMsg.slice(0, 100)}`);\n }\n\n candidate = policy.selectModel(this._lastPromptTokens);\n }\n\n // Compaction fallback: pick smallest surviving candidate, truncate to fit\n const surviving = policy.survivingCandidates()\n .filter(c => c.maxContext > 0)\n .sort((a, b) => a.maxContext - b.maxContext);\n const smallest = surviving[0];\n\n if (smallest && this._lastPromptTokens > smallest.maxContext * 0.95) {\n logWarn(TAG, `Compacting session to fit ${smallest.model} (${smallest.maxContext} tokens)`);\n session.truncateToFit(smallest.maxContext);\n this.activeEndpoint = smallest.endpoint;\n this.activeApiKey = smallest.apiKey;\n this.activeModel = smallest.model;\n if (this.onFallback) {\n this.onFallback(`${smallest.model} (compacted)`, Math.round((session.estimateTokens() / smallest.maxContext) * 100));\n }\n try {\n const result = await this.agentLoop(session, signal);\n this._lastAnswer = result;\n if (!result || !result.trim()) policy.recordError(smallest, \"weak\");\n else policy.recordSuccess(smallest);\n return result;\n } catch (err) {\n const status = this.parseErrorStatus(err);\n const errMsg2 = err instanceof Error ? err.message : String(err);\n policy.recordError(smallest, classifyError(status, errMsg2));\n failedAttempts.push({ model: smallest.model, kind: classifyError(status, errMsg2), bucket: policy.registry.getBucketLevel(smallest.model, smallest.endpoint) });\n }\n }\n\n const summary = failedAttempts.map(a => ` - ${a.model}: ${a.kind} (bucket: ${a.bucket}%)`).join(\"\\n\");\n if (policy.lastDecision) {\n logDebug(TAG, `Last decision: ${JSON.stringify(policy.lastDecision)}`);\n }\n throw new Error(`All models exhausted:\\n${summary}`);\n }\n\n private async agentLoop(session: ConversationSession, signal: AbortSignal): Promise<string> {\n let zeroTokenRetries = 0;\n const loopStart = Date.now();\n for (let turn = 0; turn < this.config.maxTurns; turn++) {\n if (signal.aborted) throw new Error(\"Aborted\");\n if (this.isPaused?.()) return \"\u23F8 Session paused. Use `/session resume` to continue.\";\n\n const pendingInstruction = this.getPendingInstruction?.();\n if (pendingInstruction) session.addUser(pendingInstruction);\n\n const { content, toolCalls, usage } = await this.streamCompletion(session, signal);\n\n if (usage) {\n session.updateTokens(usage.prompt_tokens);\n this._contextPercent = session.contextPercent;\n this._lastPromptTokens = usage.prompt_tokens;\n this.contextOrchestrator?.onApiResponse(this._activeSessionKey, usage.prompt_tokens, this.config.maxContext);\n logTrace(TAG, `${this.activeModel} \u2014 ${usage.prompt_tokens}\u2192${usage.completion_tokens ?? 0} tokens, ${Date.now() - (this._lastActivityAt ?? Date.now())}ms`);\n recordUsage(this.activeModel, usage.prompt_tokens, usage.completion_tokens ?? 0);\n }\n\n if (toolCalls.length > 0) {\n session.addAssistant(content, toolCalls);\n logDebug(TAG, `Tool calls: ${toolCalls.map(tc => tc.function.name).join(\", \")}`);\n logTrace(TAG, `Tool args: ${toolCalls.map(tc => {\n // #621: redact abmind_store args based on classification\n if ((tc.function.name === \"abmind_store\" || tc.function.name === \"memory_store\") && /class(?:ification)?[\":\\s]+[23]/.test(tc.function.arguments)) {\n return `${tc.function.name}([REDACTED])`;\n }\n return `${tc.function.name}(${tc.function.arguments})`;\n }).join(\", \")}`);\n\n // Deliver pre-tool text immediately (segment break)\n if (content?.trim()) {\n this.onSegmentBreak?.(content.trim());\n }\n\n for (const tc of toolCalls) {\n if (signal.aborted) throw new Error(\"Aborted\");\n this._lastActivityAt = Date.now();\n this.onToolCallStart?.(tc.function.name ?? \"tool\");\n\n let args: Record<string, string>;\n try { args = JSON.parse(tc.function.arguments); } catch (err) { logAndSwallow(TAG, \"JSON.parse tool args\", err); args = {}; }\n\n const result = await executeToolCall(tc.function.name, args, { userId: this._activeUserId, signal, sandboxPolicy: this.sandboxPolicy });\n session.addToolResult(tc.id, tc.function.name, result);\n\n // #621: scrub secret values from conversation history after store\n if ((tc.function.name === \"abmind_store\" || tc.function.name === \"memory_store\") && parseInt(args.classification ?? args.class ?? \"1\", 10) >= 2) {\n const secretValue = args.content ?? args.value ?? args.translated;\n if (secretValue && secretValue.length > 4) {\n session.scrubFromHistory(secretValue);\n }\n }\n\n try { if (!JSON.parse(result).error) this._toolCallsSucceeded++; } catch (err) { logAndSwallow(TAG, \"JSON.parse tool result\", err); this._toolCallsSucceeded++; }\n }\n continue;\n }\n\n // No tool calls \u2014 final response\n const answer = content ?? \"\";\n // Budget-aware backoff on 0\u21920 token response (#732)\n if (!answer && usage && usage.prompt_tokens === 0) {\n const elapsed = Date.now() - loopStart;\n const remaining = (this._timeoutOverrideMs ?? 60_000) - elapsed;\n const retryDelay = 5000 + (zeroTokenRetries * 3000);\n if (remaining > retryDelay + 5000) {\n zeroTokenRetries++;\n logWarn(TAG, `API returned 0 tokens \u2014 retry #${zeroTokenRetries} after ${retryDelay / 1000}s (${Math.round(remaining / 1000)}s left)`);\n await new Promise(r => setTimeout(r, retryDelay));\n continue;\n }\n }\n session.addAssistant(answer);\n return answer;\n }\n\n logWarn(TAG, `Max turns (${this.config.maxTurns}) reached`);\n const last = session.messages.at(-1)?.content;\n return (typeof last === \"string\" ? last : null) ?? \"(max turns reached)\";\n }\n\n private parseErrorStatus(err: unknown): number { return parseErrorStatus(err); }\n\n /** Extract Retry-After from error (seconds or date). Returns ms or undefined. */\n private parseRetryAfter(err: unknown): number | undefined { return parseRetryAfter(err); }\n\n private async streamCompletion(\n session: ConversationSession,\n signal: AbortSignal,\n ): Promise<{ content: string | null; toolCalls: ToolCall[]; usage: { prompt_tokens: number; completion_tokens: number } | null }> {\n // Compose pipeline signal (user /stop) with per-request timeout\n const timeoutCtrl = new AbortController();\n const timer = setTimeout(() => timeoutCtrl.abort(new Error(\"model API timeout\")), this._timeoutOverrideMs ?? getEnv().modelApiTimeoutMs);\n const composed = AbortSignal.any([signal, timeoutCtrl.signal]);\n\n try {\n // Responses API format (#465, streaming #472)\n if (this.config.apiFormat === \"responses\") {\n const { toResponsesRequest } = await import(\"./responses-adapter.js\");\n const { parseResponsesSSE } = await import(\"./sse-parser-responses.js\");\n const msgs = session.messages.map(m => ({ role: m.role, content: m.content ?? \"\" as string | ContentPart[] }));\n const reqBody = { ...toResponsesRequest(this.activeModel, msgs, getToolSchemas(this.sandboxPolicy), this.config.maxOutput), stream: true };\n const hdrs: Record<string, string> = { \"Content-Type\": \"application/json\" };\n if (this.activeApiKey) hdrs[\"Authorization\"] = `Bearer ${this.activeApiKey}`;\n const res = await fetch(`${this.activeEndpoint}/responses`, {\n method: \"POST\", headers: hdrs, body: JSON.stringify(reqBody), signal: composed,\n });\n if (!res.ok) { const text = await res.text().catch(err => { logAndSwallow(TAG, \"read error body\", err); return \"\"; }); throw new Error(`API error ${res.status}: ${text.slice(0, 500)}`); }\n\n let content = \"\";\n let usage: { prompt_tokens: number; completion_tokens: number } | null = null;\n const toolCallAcc = new Map<string, { id: string; name: string; arguments: string }>();\n for await (const event of parseResponsesSSE(res, composed)) {\n this._lastActivityAt = Date.now();\n if (event.type === \"chunk\") { content += event.content; this._intermediateText += event.content; this.onIntermediateResponse?.(event.content); }\n else if (event.type === \"tool_call_delta\") { this.accumulateToolCall(toolCallAcc, event); }\n else if (event.type === \"done\") { usage = event.usage; }\n }\n clearTimeout(timer);\n const toolCalls = this.finalizeToolCalls(toolCallAcc);\n return { content: content || null, toolCalls, usage };\n }\n\n // Anthropic Messages API format (#467, streaming #472)\n if (this.config.apiFormat === \"anthropic\") {\n const { toAnthropicRequest, buildAnthropicHeaders } = await import(\"./anthropic-adapter.js\");\n const { parseAnthropicSSE } = await import(\"./sse-parser-anthropic.js\");\n const msgs = session.messages.map(m => ({ role: m.role, content: m.content ?? \"\" as string | ContentPart[], tool_call_id: m.tool_call_id }));\n const reqBody = { ...toAnthropicRequest(this.activeModel, msgs, this.config.maxOutput, getToolSchemas(this.sandboxPolicy)), stream: true };\n const hdrs = buildAnthropicHeaders(this.activeApiKey ?? \"\");\n const res = await fetch(`${this.activeEndpoint}/messages`, {\n method: \"POST\", headers: hdrs, body: JSON.stringify(reqBody), signal: composed,\n });\n if (!res.ok) { const text = await res.text().catch(err => { logAndSwallow(TAG, \"read error body\", err); return \"\"; }); throw new Error(`API error ${res.status}: ${text.slice(0, 500)}`); }\n\n let content = \"\";\n let usage: { prompt_tokens: number; completion_tokens: number } | null = null;\n const toolCallAcc = new Map<string, { id: string; name: string; arguments: string }>();\n for await (const event of parseAnthropicSSE(res, composed)) {\n this._lastActivityAt = Date.now();\n if (event.type === \"chunk\") { content += event.content; this._intermediateText += event.content; this.onIntermediateResponse?.(event.content); }\n else if (event.type === \"tool_call_delta\") { this.accumulateToolCall(toolCallAcc, event); }\n else if (event.type === \"done\") { usage = event.usage; }\n }\n clearTimeout(timer);\n const toolCalls = this.finalizeToolCalls(toolCallAcc);\n return { content: content || null, toolCalls, usage };\n }\n\n const body: Record<string, unknown> = {\n model: this.activeModel,\n messages: session.messages,\n tools: getToolSchemas(this.sandboxPolicy),\n max_tokens: this.config.maxOutput,\n stream: true,\n stream_options: { include_usage: true },\n };\n\n // #466: inject thinking/reasoning parameters\n if (this.config.thinking) {\n if (this.config.thinking.style === \"effort\") {\n body.reasoning_effort = this.config.thinking.default;\n } else if (this.config.thinking.style === \"extended\") {\n body.thinking = { type: \"enabled\", budget_tokens: this.config.thinking.default };\n }\n }\n\n const headers: Record<string, string> = { \"Content-Type\": \"application/json\" };\n if (this.activeApiKey) headers[\"Authorization\"] = `Bearer ${this.activeApiKey}`;\n\n const response = await withRetry(\n async () => {\n const res = await fetch(`${this.activeEndpoint}/chat/completions`, {\n method: \"POST\",\n headers,\n body: JSON.stringify(body),\n signal: composed,\n });\n if (!res.ok) {\n const text = await res.text().catch(err => { logAndSwallow(TAG, \"read error body\", err); return \"\"; });\n throw new Error(`API error ${res.status}: ${text.slice(0, 500)}`);\n }\n return res;\n },\n {\n attempts: 3, minDelayMs: 3000,\n isRecoverable: (err) => {\n const msg = err instanceof Error ? err.message : String(err);\n if (/model API timeout/.test(msg)) return false;\n // Don't retry 429/401/402/403 \u2014 let the bucket loop handle model switching\n if (/API error (429|401|402|403)/.test(msg)) return false;\n return !isFatal(err);\n },\n },\n );\n\n let content = \"\";\n const toolCallAccumulator = new Map<string, { id: string; name: string; arguments: string }>();\n let usage: { prompt_tokens: number; completion_tokens: number } | null = null;\n\n for await (const event of parseSSEStream(response, composed)) {\n this._lastActivityAt = Date.now();\n\n switch (event.type) {\n case \"chunk\":\n content += event.content;\n this._intermediateText += event.content;\n this.onIntermediateResponse?.(event.content);\n break;\n\n case \"tool_call_delta\":\n this.accumulateToolCall(toolCallAccumulator, event);\n break;\n\n case \"done\":\n usage = event.usage;\n break;\n }\n }\n\n const toolCalls = this.finalizeToolCalls(toolCallAccumulator);\n\n return { content: content || null, toolCalls, usage };\n } finally {\n clearTimeout(timer);\n }\n }\n\n /** Accumulate streaming tool call deltas by ID (Ollama-safe: tracks by ID not index). */\n private accumulateToolCall(\n acc: Map<string, { id: string; name: string; arguments: string }>,\n delta: SSEToolCallDelta,\n ): void {\n // Use ID if available, fall back to index-based key\n const key = delta.id ?? `idx:${delta.index}`;\n const existing = acc.get(key);\n if (existing) {\n if (delta.arguments) existing.arguments += delta.arguments;\n } else {\n acc.set(key, { id: delta.id ?? `call_${acc.size}`, name: delta.name ?? \"\", arguments: delta.arguments ?? \"\" });\n }\n }\n\n /**\n * Convert accumulated tool call map \u2192 normalized ToolCall array.\n * Handles model fragmentation: some models (nemotron, mistral-free) split a\n * single tool call across multiple SSE entries with different indices/IDs.\n * Pattern: [name=\"execute_bash\" args=\"{}\"], [name=\"\" args=\"\"], [name=\"\" args='{\"command\":\"...\"}']\n * Fix: merge adjacent unnamed entries' args into the preceding named entry.\n */\n private finalizeToolCalls(acc: Map<string, { id: string; name: string; arguments: string }>): ToolCall[] {\n const raw: ToolCall[] = [...acc.values()].map(tc => ({\n id: tc.id, type: \"function\" as const, function: { name: tc.name, arguments: tc.arguments },\n }));\n return normalizeToolCalls(raw);\n }\n\n private getOrCreateSession(sessionKey: string): ConversationSession {\n let session = this.sessions.get(sessionKey);\n if (!session) {\n session = new ConversationSession(this.systemPrompt, this.config.maxContext);\n this.sessions.set(sessionKey, session);\n }\n return session;\n }\n\n async resetSession(sessionKey: string): Promise<void> {\n const session = this.sessions.get(sessionKey);\n if (session) session.reset(this.systemPrompt);\n else this.sessions.delete(sessionKey);\n logInfo(TAG, `Session ${sessionKey} reset`);\n }\n\n async sendInterrupt(): Promise<void> {\n for (const ac of this.abortControllers.values()) ac.abort();\n }\n\n destroy(): void {\n for (const ac of this.abortControllers.values()) ac.abort();\n this.sessions.clear();\n this.abortControllers.clear();\n }\n\n get isReady(): boolean { return true; }\n get contextPercent(): number { return this._contextPercent; }\n get answerOnly(): string { return this._lastAnswer; }\n get toolCallsSucceeded(): number { return this._toolCallsSucceeded; }\n\n /** Hot-swap the active model. Takes effect on next API call. */\n setModel(model: string): void {\n this.activeModel = model;\n (this.config as { model: string }).model = model;\n logInfo(TAG, `Model switched (user): ${model}`);\n }\n\n /** Hot-swap provider+model+policy. Rejects if prompt is in flight. */\n switchProvider(opts: { endpoint: string; apiKey?: string; model: string; maxContext: number; policy: FallbackPolicy }): void {\n if (this._promptStartedAt !== null) {\n throw new Error(\"Cannot switch provider while a prompt is in progress \u2014 try after the response\");\n }\n this.activeEndpoint = opts.endpoint;\n this.activeApiKey = opts.apiKey;\n this.activeModel = opts.model;\n (this.config as { model: string; maxContext: number }).model = opts.model;\n (this.config as { maxContext: number }).maxContext = opts.maxContext;\n this.policy = opts.policy;\n logInfo(TAG, `Provider switched: ${opts.model} @ ${opts.endpoint} (maxCtx=${opts.maxContext})`);\n }\n\n /** Get current active model name. */\n getModel(): string { return this.activeModel; }\n get intermediateDeliveredText(): string { return this._intermediateText; }\n get transportCommands(): string[] { return []; }\n\n // Watchdog support\n get promptStartedAt(): number | null { return this._promptStartedAt; }\n setTimeoutOverride(ms: number | null): void { this._timeoutOverrideMs = ms; }\n\n get lastActivityAt(): number | null { return this._lastActivityAt; }\n\n private readonly _stuckTimeout = getEnv().watchdogSilentSec * 1000;\n\n async healthCheck(): Promise<void> {\n if (!this._promptStartedAt) return;\n const idle = Date.now() - (this._lastActivityAt ?? this._promptStartedAt);\n if (idle > this._stuckTimeout) {\n logWarn(TAG, `[transport-health] Prompt stuck (${Math.round(idle / 1000)}s idle) \u2014 aborting`);\n await this.sendInterrupt();\n }\n }\n}\n", "/**\n * Generic retry utility with escalating backoff, jitter, and fatal error detection.\n */\n\nexport interface RetryPolicy {\n /** Max attempts (including first). Default: 3 */\n attempts?: number;\n /** Initial delay in ms. Default: 300 */\n minDelayMs?: number;\n /** Max delay cap in ms. Default: 30_000 */\n maxDelayMs?: number;\n /** Jitter factor 0-1 (0.1 = \u00B110%). Default: 0.1 */\n jitter?: number;\n /** Return false to stop retrying (fatal error). Default: always retry. */\n isRecoverable?: (err: unknown) => boolean;\n /** Extract delay hint from error (e.g. rate limit header). */\n getDelayHint?: (err: unknown) => number | undefined;\n /** Called before each retry. */\n onAttempt?: (info: { attempt: number; maxAttempts: number; err: unknown; delayMs: number }) => void;\n}\n\nconst DEFAULTS = { attempts: 3, minDelayMs: 300, maxDelayMs: 30_000, jitter: 0.1 };\n\n/** Known-fatal error patterns \u2014 don't retry these. */\nexport const FATAL_PATTERNS = [\n /auth.*fail|invalid.*key|unauthorized/i,\n /model.*not found|not supported/i,\n /account.*suspended|quota.*exceeded/i,\n /bot was blocked/i,\n];\n\n/** Check if an error matches a known-fatal pattern. */\nexport function isFatal(err: unknown): boolean {\n const msg = err instanceof Error ? err.message : String(err);\n return FATAL_PATTERNS.some(p => p.test(msg));\n}\n\n/** Execute `fn` with retry, escalating backoff, and jitter. */\nexport async function withRetry<T>(fn: () => Promise<T>, policy?: RetryPolicy): Promise<T> {\n const attempts = Math.max(1, policy?.attempts ?? DEFAULTS.attempts);\n const minDelay = Math.max(0, policy?.minDelayMs ?? DEFAULTS.minDelayMs);\n const maxDelay = Math.max(minDelay, policy?.maxDelayMs ?? DEFAULTS.maxDelayMs);\n const jitter = Math.max(0, Math.min(1, policy?.jitter ?? DEFAULTS.jitter));\n const isRecoverable = policy?.isRecoverable ?? ((err: unknown) => !isFatal(err));\n\n let lastErr: unknown;\n for (let i = 0; i < attempts; i++) {\n try {\n return await fn();\n } catch (err) {\n lastErr = err;\n if (i === attempts - 1) break;\n if (!isRecoverable(err)) break;\n\n const hint = policy?.getDelayHint?.(err);\n const baseDelay = hint ?? Math.min(maxDelay, minDelay * Math.pow(2, i));\n const offset = jitter > 0 ? (Math.random() * 2 - 1) * jitter * baseDelay : 0;\n const delayMs = Math.max(0, Math.round(baseDelay + offset));\n\n policy?.onAttempt?.({ attempt: i + 1, maxAttempts: attempts, err, delayMs });\n await new Promise(r => setTimeout(r, delayMs));\n }\n }\n throw lastErr;\n}\n", "/**\n * Per-session conversation state for DirectApiTransport.\n * Manages message history and token tracking.\n */\n\nexport type ContentPart =\n | { type: \"text\"; text: string }\n | { type: \"image_url\"; image_url: { url: string } };\n\nexport type ChatMessage = {\n role: \"system\" | \"user\" | \"assistant\" | \"tool\";\n content: string | ContentPart[] | null;\n tool_calls?: ToolCall[];\n tool_call_id?: string;\n name?: string;\n};\n\nexport type ToolCall = {\n id: string;\n type: \"function\";\n function: { name: string; arguments: string };\n};\n\nexport class ConversationSession {\n messages: ChatMessage[] = [];\n totalPromptTokens = 0;\n private readonly maxContext: number;\n\n constructor(systemPrompt: string, maxContext: number) {\n this.maxContext = maxContext;\n this.messages.push({ role: \"system\", content: systemPrompt });\n }\n\n addUser(content: string, image?: { mime: string; base64: string }): void {\n if (image) {\n this.messages.push({ role: \"user\", content: [\n { type: \"image_url\", image_url: { url: `data:${image.mime};base64,${image.base64}` } },\n { type: \"text\", text: content },\n ]});\n } else {\n this.messages.push({ role: \"user\", content });\n }\n }\n\n addAssistant(content: string | null, toolCalls?: ToolCall[]): void {\n const msg: ChatMessage = { role: \"assistant\", content };\n if (toolCalls?.length) msg.tool_calls = toolCalls;\n this.messages.push(msg);\n }\n\n addToolResult(toolCallId: string, name: string, content: string): void {\n this.messages.push({ role: \"tool\", content, tool_call_id: toolCallId, name });\n }\n\n updateTokens(promptTokens: number): void {\n this.totalPromptTokens = promptTokens;\n }\n\n get contextPercent(): number {\n if (this.maxContext <= 0) return 0;\n return Math.round((this.totalPromptTokens / this.maxContext) * 100);\n }\n\n reset(systemPrompt: string): void {\n this.messages = [{ role: \"system\", content: systemPrompt }];\n this.totalPromptTokens = 0;\n }\n\n /** Roll back to last user message \u2014 remove everything after it for clean fallback. */\n rollbackToLastUser(): void {\n for (let i = this.messages.length - 1; i >= 0; i--) {\n if (this.messages[i]!.role === \"user\") {\n this.messages.splice(i + 1);\n return;\n }\n }\n }\n\n /** Rough token estimate: ~4 chars per token. */\n estimateTokens(): number {\n return Math.round(this.messages.reduce((sum, m) => sum + (typeof m.content === \"string\" ? m.content.length : 0), 0) / 4);\n }\n\n /** Drop oldest non-system messages until estimated tokens fit within limit. */\n truncateToFit(maxTokens: number): void {\n while (this.messages.length > 2 && this.estimateTokens() > maxTokens * 0.85) {\n this.messages.splice(1, 1); // remove oldest after system prompt\n }\n this.totalPromptTokens = this.estimateTokens();\n }\n\n /** #621: Replace a literal secret value with [REDACTED] across all messages. */\n scrubFromHistory(value: string): void {\n for (const msg of this.messages) {\n if (typeof msg.content === \"string\" && msg.content.includes(value)) {\n msg.content = msg.content.replaceAll(value, \"[REDACTED]\");\n }\n }\n }\n}\n", "/**\n * SSE stream parser for OpenAI-compatible chat completions.\n * Parses Server-Sent Events into typed events.\n */\n\nimport { logAndSwallow } from \"../log-and-swallow.js\";\n\nconst TAG = \"sse_parser\";\n\nexport type SSEChunkEvent = { type: \"chunk\"; content: string };\nexport type SSEToolCallDelta = { type: \"tool_call_delta\"; index: number; id?: string; name?: string; arguments?: string };\nexport type SSEDoneEvent = { type: \"done\"; usage: { prompt_tokens: number; completion_tokens: number } | null };\nexport type SSEEvent = SSEChunkEvent | SSEToolCallDelta | SSEDoneEvent;\n\nconst STALE_TIMEOUT_MS = 90_000;\n\nexport async function* parseSSEStream(\n response: Response,\n signal: AbortSignal,\n): AsyncGenerator<SSEEvent> {\n const reader = response.body?.getReader();\n if (!reader) throw new Error(\"Response body is not readable\");\n\n const decoder = new TextDecoder();\n let buffer = \"\";\n let lastChunkAt = Date.now();\n let staleTimer: ReturnType<typeof setTimeout> | null = null;\n\n const resetStaleTimer = (): void => {\n lastChunkAt = Date.now();\n if (staleTimer) clearTimeout(staleTimer);\n staleTimer = setTimeout(() => {\n if (Date.now() - lastChunkAt >= STALE_TIMEOUT_MS) {\n reader.cancel(\"stale stream\").catch(err => logAndSwallow(TAG, \"reader.cancel stale\", err));\n }\n }, STALE_TIMEOUT_MS);\n };\n\n try {\n resetStaleTimer();\n while (true) {\n if (signal.aborted) break;\n const { done, value } = await reader.read();\n if (done) break;\n\n resetStaleTimer();\n buffer += decoder.decode(value, { stream: true });\n\n const lines = buffer.split(\"\\n\");\n buffer = lines.pop() ?? \"\";\n\n for (const line of lines) {\n if (!line.startsWith(\"data: \")) continue;\n const data = line.slice(6).trim();\n if (data === \"[DONE]\") return;\n\n let parsed: Record<string, unknown>;\n try { parsed = JSON.parse(data); } catch (err) { logAndSwallow(TAG, \"JSON.parse SSE chunk\", err); continue; }\n\n // Usage in final chunk (stream_options: { include_usage: true })\n if (parsed[\"usage\"]) {\n const u = parsed[\"usage\"] as Record<string, number>;\n yield { type: \"done\", usage: { prompt_tokens: u[\"prompt_tokens\"] ?? 0, completion_tokens: u[\"completion_tokens\"] ?? 0 } };\n }\n\n const choices = parsed[\"choices\"] as Array<Record<string, unknown>> | undefined;\n if (!choices?.length) continue;\n const delta = choices[0]![\"delta\"] as Record<string, unknown> | undefined;\n if (!delta) continue;\n\n // Text content\n if (typeof delta[\"content\"] === \"string\" && delta[\"content\"]) {\n yield { type: \"chunk\", content: delta[\"content\"] as string };\n }\n\n // Tool calls\n const toolCalls = delta[\"tool_calls\"] as Array<Record<string, unknown>> | undefined;\n if (toolCalls) {\n for (const tc of toolCalls) {\n const fn = tc[\"function\"] as Record<string, string> | undefined;\n yield {\n type: \"tool_call_delta\",\n index: (tc[\"index\"] as number) ?? 0,\n id: tc[\"id\"] as string | undefined,\n name: fn?.[\"name\"],\n arguments: fn?.[\"arguments\"],\n };\n }\n }\n }\n }\n } finally {\n if (staleTimer) clearTimeout(staleTimer);\n reader.releaseLock();\n }\n}\n", "/**\n * transport-utils.ts \u2014 Pure utility functions for the transport layer.\n * No I/O, no state, no side effects (except logging).\n */\n\nimport { logWarn } from \"../logger.js\";\nimport type { ToolCall } from \"./conversation-session.js\";\n\nconst TAG = \"direct-api\";\n\n/**\n * Normalize tool calls from models that fragment a single call across multiple entries.\n * Pattern: [name=\"execute_bash\" args=\"{}\"], [name=\"\" args=\"\"], [name=\"\" args='{\"command\":\"...\"}']\n * Fix: merge next unnamed entry's args into preceding named entry. Drop remaining unnamed.\n */\nexport function normalizeToolCalls(raw: ToolCall[]): ToolCall[] {\n if (raw.length <= 1) return raw;\n\n const result: ToolCall[] = [];\n for (let i = 0; i < raw.length; i++) {\n const tc = raw[i]!;\n if (tc.function.name) {\n if (!tc.function.arguments || tc.function.arguments === \"{}\") {\n // Look ahead for the next unnamed entry with real args\n for (let j = i + 1; j < raw.length; j++) {\n const next = raw[j]!;\n if (next.function.name) break; // hit another named entry, stop\n if (next.function.arguments && next.function.arguments !== \"{}\") {\n tc.function.arguments = next.function.arguments;\n i = j; // skip all entries up to and including the merged one\n break;\n }\n }\n }\n result.push(tc);\n }\n }\n\n if (result.length !== raw.length) {\n logWarn(TAG, `Normalized ${raw.length} tool call entries \u2192 ${result.length} (model fragmentation): ${raw.map(tc => `${tc.function.name || \"(unnamed)\"}(${tc.function.arguments.slice(0, 60)})`).join(\", \")}`);\n }\n return result;\n}\n\n/** Extract HTTP status code from error message. Returns 0 if not found. */\nexport function parseErrorStatus(err: unknown): number {\n const msg = err instanceof Error ? err.message : String(err);\n const m = /API error (\\d+)/.exec(msg);\n return m ? parseInt(m[1]!, 10) : 0;\n}\n\n/** Extract Retry-After from error (seconds or date). Returns ms or undefined. */\nexport function parseRetryAfter(err: unknown): number | undefined {\n const msg = err instanceof Error ? err.message : String(err);\n const jsonMatch = /retry[_-]after[\"\\s:]+(\\d+(?:\\.\\d+)?)/i.exec(msg);\n if (jsonMatch) return Math.ceil(parseFloat(jsonMatch[1]!) * 1000);\n const resetMatch = /x-ratelimit-reset[\"\\s:]+(\\d{10,13})/i.exec(msg);\n if (resetMatch) {\n const ts = parseInt(resetMatch[1]!, 10);\n const ms = ts < 1e12 ? ts * 1000 : ts;\n const delta = ms - Date.now();\n return delta > 0 ? delta : undefined;\n }\n return undefined;\n}\n\n/** Detect \"day/week/month limit\" in error message and return cooldown ms. */\nexport function parseUsageLimitCooldown(message: string): number | undefined {\n const lower = message.toLowerCase();\n if (!lower.includes(\"limit\")) return undefined;\n if (lower.includes(\"day\")) {\n const tomorrow = new Date();\n tomorrow.setDate(tomorrow.getDate() + 1);\n tomorrow.setHours(0, 0, 0, 0);\n return tomorrow.getTime() - Date.now();\n }\n if (lower.includes(\"week\")) {\n const now = new Date();\n const daysUntilMonday = (8 - now.getDay()) % 7 || 7;\n const monday = new Date(now);\n monday.setDate(monday.getDate() + daysUntilMonday);\n monday.setHours(0, 0, 0, 0);\n return monday.getTime() - Date.now();\n }\n if (lower.includes(\"month\")) {\n const now = new Date();\n const nextMonth = new Date(now.getFullYear(), now.getMonth() + 1, 1);\n return nextMonth.getTime() - Date.now();\n }\n return undefined;\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["TAG", "TAG", "content", "usage", "toolCalls"]
|
|
7
7
|
}
|