@theokit/sdk 4.53.1 → 4.55.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1184 -0
- package/README.md +9 -4
- package/dist/a2a/agent-mailbox.d.cts +27 -0
- package/dist/a2a/agent-mailbox.d.ts +27 -0
- package/dist/a2a/index.cjs +9 -4
- package/dist/a2a/index.cjs.map +1 -1
- package/dist/a2a/index.js +7 -2
- package/dist/a2a/index.js.map +1 -1
- package/dist/a2a/message-bus.d.cts +39 -0
- package/dist/a2a/message-bus.d.ts +39 -0
- package/dist/a2a/subagent.d.cts +68 -7
- package/dist/a2a/subagent.d.ts +68 -7
- package/dist/a2a/types.d.cts +26 -0
- package/dist/a2a/types.d.ts +26 -0
- package/dist/{agent-B9HXlwID.d.ts → agent-D3Xr_-6Z.d.cts} +245 -850
- package/dist/{agent-nLqeXKIX.d.cts → agent-DIu6FooJ.d.ts} +245 -850
- package/dist/agent-HDEVVUBS.js +52 -0
- package/dist/{agent-FFVV4U5N.js.map → agent-HDEVVUBS.js.map} +1 -1
- package/dist/agent-R2HOJFZJ.cjs +61 -0
- package/dist/{agent-YLAHVHEH.cjs.map → agent-R2HOJFZJ.cjs.map} +1 -1
- package/dist/agent-builder.d.ts +19 -0
- package/dist/agent-session-store-P6V3FINW.js +7 -0
- package/dist/{agent-session-store-TNCGL5RN.js.map → agent-session-store-P6V3FINW.js.map} +1 -1
- package/dist/agent-session-store-ZJ3JSRS4.cjs +24 -0
- package/dist/{agent-session-store-DUGBAX5V.cjs.map → agent-session-store-ZJ3JSRS4.cjs.map} +1 -1
- package/dist/agent.d.ts +9 -6
- package/dist/auth/index.cjs +52 -35
- package/dist/auth/index.cjs.map +1 -1
- package/dist/auth/index.js +26 -9
- package/dist/auth/index.js.map +1 -1
- package/dist/{batch-UPKN4SG6.js → batch-2TGJMNCJ.js} +14 -13
- package/dist/batch-2TGJMNCJ.js.map +1 -0
- package/dist/{batch-ZEFN5SO7.cjs → batch-ND32UKZS.cjs} +31 -30
- package/dist/batch-ND32UKZS.cjs.map +1 -0
- package/dist/{chunk-TTJ54H3E.cjs → chunk-2ADR2GSO.cjs} +8 -8
- package/dist/chunk-2ADR2GSO.cjs.map +1 -0
- package/dist/chunk-2BDH744Z.js +15 -0
- package/dist/chunk-2BDH744Z.js.map +1 -0
- package/dist/{chunk-VGPXHHF3.cjs → chunk-2C72DXQF.cjs} +63 -27
- package/dist/chunk-2C72DXQF.cjs.map +1 -0
- package/dist/{chunk-4Q4K4WB5.js → chunk-2D34UTDC.js} +20 -4
- package/dist/chunk-2D34UTDC.js.map +1 -0
- package/dist/{chunk-UFIXH26P.js → chunk-2QKTVKH3.js} +4 -4
- package/dist/{chunk-UFIXH26P.js.map → chunk-2QKTVKH3.js.map} +1 -1
- package/dist/{chunk-GBBDINFK.js → chunk-3E77SX4H.js} +4 -4
- package/dist/{chunk-GBBDINFK.js.map → chunk-3E77SX4H.js.map} +1 -1
- package/dist/{chunk-VYHJZVL5.cjs → chunk-3EE6LVWT.cjs} +2 -2
- package/dist/chunk-3EE6LVWT.cjs.map +1 -0
- package/dist/{chunk-5NBUH3NO.js → chunk-3OR54XG4.js} +2 -2
- package/dist/{chunk-C6Y6CWYD.cjs.map → chunk-3OR54XG4.js.map} +1 -1
- package/dist/{chunk-ZN2DGEY3.cjs → chunk-3YJNUKYN.cjs} +15 -15
- package/dist/{chunk-ZN2DGEY3.cjs.map → chunk-3YJNUKYN.cjs.map} +1 -1
- package/dist/{chunk-POWRZSK4.js → chunk-44JAAH4X.js} +3 -3
- package/dist/{chunk-POWRZSK4.js.map → chunk-44JAAH4X.js.map} +1 -1
- package/dist/{chunk-SSDD676S.js → chunk-44MBDIHG.js} +4 -4
- package/dist/{chunk-SSDD676S.js.map → chunk-44MBDIHG.js.map} +1 -1
- package/dist/{chunk-OY7O3Q6R.js → chunk-4ERPXIVB.js} +5 -5
- package/dist/{chunk-OY7O3Q6R.js.map → chunk-4ERPXIVB.js.map} +1 -1
- package/dist/{chunk-3BK6YR5P.cjs → chunk-4I55V454.cjs} +4 -4
- package/dist/{chunk-3BK6YR5P.cjs.map → chunk-4I55V454.cjs.map} +1 -1
- package/dist/{chunk-B4YA6BRS.cjs → chunk-4O5TGQBW.cjs} +30 -7
- package/dist/chunk-4O5TGQBW.cjs.map +1 -0
- package/dist/{chunk-4JBHSLQO.cjs → chunk-4OTIXDMU.cjs} +2 -2
- package/dist/{chunk-4JBHSLQO.cjs.map → chunk-4OTIXDMU.cjs.map} +1 -1
- package/dist/{chunk-C6Y6CWYD.cjs → chunk-52NKC5HT.cjs} +2 -2
- package/dist/chunk-52NKC5HT.cjs.map +1 -0
- package/dist/{chunk-665SFFFR.cjs → chunk-53CBTBWO.cjs} +11 -11
- package/dist/{chunk-665SFFFR.cjs.map → chunk-53CBTBWO.cjs.map} +1 -1
- package/dist/{chunk-FFM3SJTQ.js → chunk-5JLFFPCH.js} +4 -4
- package/dist/{chunk-FFM3SJTQ.js.map → chunk-5JLFFPCH.js.map} +1 -1
- package/dist/{chunk-34XOCZJO.js → chunk-5PHVENFV.js} +3 -3
- package/dist/chunk-5PHVENFV.js.map +1 -0
- package/dist/{chunk-BDTVFIPB.cjs → chunk-5UOVYM3P.cjs} +36 -31
- package/dist/chunk-5UOVYM3P.cjs.map +1 -0
- package/dist/{chunk-VF7X6HDR.cjs → chunk-5USCYPPI.cjs} +15 -15
- package/dist/{chunk-VF7X6HDR.cjs.map → chunk-5USCYPPI.cjs.map} +1 -1
- package/dist/chunk-6HTXPPHK.cjs +18 -0
- package/dist/chunk-6HTXPPHK.cjs.map +1 -0
- package/dist/{chunk-D24WJWN2.js → chunk-AEOZTXVW.js} +3 -3
- package/dist/{chunk-D24WJWN2.js.map → chunk-AEOZTXVW.js.map} +1 -1
- package/dist/{chunk-DGOG5NXR.js → chunk-AG5JPQIY.js} +3 -3
- package/dist/{chunk-DGOG5NXR.js.map → chunk-AG5JPQIY.js.map} +1 -1
- package/dist/{chunk-BFYGJGC5.js → chunk-AQLGBKNT.js} +3 -3
- package/dist/chunk-AQLGBKNT.js.map +1 -0
- package/dist/{chunk-7W7ZWMLQ.js → chunk-AWO27VRZ.js} +3 -3
- package/dist/chunk-AWO27VRZ.js.map +1 -0
- package/dist/{chunk-VYCKUKPA.cjs → chunk-B2J4ZMZL.cjs} +3 -2
- package/dist/chunk-B2J4ZMZL.cjs.map +1 -0
- package/dist/{chunk-BERBYXFH.js → chunk-BMAZLQQ4.js} +3 -3
- package/dist/{chunk-BERBYXFH.js.map → chunk-BMAZLQQ4.js.map} +1 -1
- package/dist/{chunk-5YKNEMXR.cjs → chunk-BVZW2B5V.cjs} +4 -4
- package/dist/chunk-BVZW2B5V.cjs.map +1 -0
- package/dist/{chunk-MSFLYJDY.js → chunk-CQ2TQ32Y.js} +4 -4
- package/dist/chunk-CQ2TQ32Y.js.map +1 -0
- package/dist/{chunk-C5DEO6OI.cjs → chunk-CQGYNZ3K.cjs} +4 -4
- package/dist/{chunk-C5DEO6OI.cjs.map → chunk-CQGYNZ3K.cjs.map} +1 -1
- package/dist/{chunk-D75S2X6I.cjs → chunk-CTCGWIUD.cjs} +5 -5
- package/dist/{chunk-D75S2X6I.cjs.map → chunk-CTCGWIUD.cjs.map} +1 -1
- package/dist/{chunk-NZL4BNFQ.js → chunk-CV7XMBHP.js} +4 -4
- package/dist/chunk-CV7XMBHP.js.map +1 -0
- package/dist/{chunk-SEL2ZQMT.js → chunk-DAPSQZT4.js} +15 -10
- package/dist/chunk-DAPSQZT4.js.map +1 -0
- package/dist/{chunk-SVO5WPZX.cjs → chunk-DQKERTND.cjs} +11 -11
- package/dist/{chunk-SVO5WPZX.cjs.map → chunk-DQKERTND.cjs.map} +1 -1
- package/dist/{chunk-N5CR3TJZ.js → chunk-DZBSJX6J.js} +4 -4
- package/dist/{chunk-N5CR3TJZ.js.map → chunk-DZBSJX6J.js.map} +1 -1
- package/dist/{chunk-RAHSWE5C.cjs → chunk-EI2Q7SJ5.cjs} +12 -12
- package/dist/chunk-EI2Q7SJ5.cjs.map +1 -0
- package/dist/{chunk-UCFONJBG.js → chunk-EPSICJLZ.js} +2 -2
- package/dist/{chunk-UCFONJBG.js.map → chunk-EPSICJLZ.js.map} +1 -1
- package/dist/{chunk-3X6PM7DU.cjs → chunk-F3YZMOAU.cjs} +8 -8
- package/dist/{chunk-3X6PM7DU.cjs.map → chunk-F3YZMOAU.cjs.map} +1 -1
- package/dist/{chunk-F77UENR6.cjs → chunk-F5WMX4EA.cjs} +586 -398
- package/dist/chunk-F5WMX4EA.cjs.map +1 -0
- package/dist/{chunk-HE4BIAOS.js → chunk-F7AQV62G.js} +5 -4
- package/dist/chunk-F7AQV62G.js.map +1 -0
- package/dist/{chunk-2RW7K6FN.cjs → chunk-GHX4P3V2.cjs} +2 -2
- package/dist/chunk-GHX4P3V2.cjs.map +1 -0
- package/dist/{chunk-B6HOIWQ6.js → chunk-GJ6RK75E.js} +5 -5
- package/dist/chunk-GJ6RK75E.js.map +1 -0
- package/dist/{chunk-FOXKFTVZ.cjs → chunk-GNT35C5U.cjs} +13 -13
- package/dist/chunk-GNT35C5U.cjs.map +1 -0
- package/dist/{chunk-4NAKHID5.js → chunk-GTKFV7O5.js} +2 -2
- package/dist/chunk-GTKFV7O5.js.map +1 -0
- package/dist/{chunk-ELKO4ZLR.cjs → chunk-GWC3HADL.cjs} +4 -4
- package/dist/{chunk-ELKO4ZLR.cjs.map → chunk-GWC3HADL.cjs.map} +1 -1
- package/dist/{chunk-OXNYIMZZ.js → chunk-H73MEMQB.js} +2 -2
- package/dist/chunk-H73MEMQB.js.map +1 -0
- package/dist/{chunk-E7FJOO4G.cjs → chunk-HJBMA5MB.cjs} +11 -11
- package/dist/{chunk-E7FJOO4G.cjs.map → chunk-HJBMA5MB.cjs.map} +1 -1
- package/dist/{chunk-2FYEVT2B.cjs → chunk-HLPSLDGL.cjs} +275 -160
- package/dist/chunk-HLPSLDGL.cjs.map +1 -0
- package/dist/{chunk-VW6M4B3Z.cjs → chunk-HY57ULY2.cjs} +5 -5
- package/dist/{chunk-VW6M4B3Z.cjs.map → chunk-HY57ULY2.cjs.map} +1 -1
- package/dist/{chunk-CAH3G4IS.js → chunk-HY66GLM6.js} +2 -2
- package/dist/chunk-HY66GLM6.js.map +1 -0
- package/dist/{chunk-G3JWXOGY.js → chunk-I5BE5M5L.js} +310 -122
- package/dist/chunk-I5BE5M5L.js.map +1 -0
- package/dist/{chunk-C4H6PB5J.cjs → chunk-I6TGFUCO.cjs} +4 -4
- package/dist/{chunk-C4H6PB5J.cjs.map → chunk-I6TGFUCO.cjs.map} +1 -1
- package/dist/{chunk-U4UJHOSH.js → chunk-IDCKSLYH.js} +3 -3
- package/dist/{chunk-U4UJHOSH.js.map → chunk-IDCKSLYH.js.map} +1 -1
- package/dist/{chunk-WQ53UQL4.cjs → chunk-ILCGLTSA.cjs} +4 -4
- package/dist/{chunk-WQ53UQL4.cjs.map → chunk-ILCGLTSA.cjs.map} +1 -1
- package/dist/{chunk-QBTVATSF.cjs → chunk-ITSSOVOB.cjs} +44 -47
- package/dist/chunk-ITSSOVOB.cjs.map +1 -0
- package/dist/{chunk-V6HWJQQV.js → chunk-IVNNSANC.js} +27 -30
- package/dist/chunk-IVNNSANC.js.map +1 -0
- package/dist/{chunk-SZHU7A5B.cjs → chunk-IWBGCBR6.cjs} +4 -4
- package/dist/{chunk-SZHU7A5B.cjs.map → chunk-IWBGCBR6.cjs.map} +1 -1
- package/dist/{chunk-Q4RESANI.cjs → chunk-J24VJOH3.cjs} +20 -4
- package/dist/chunk-J24VJOH3.cjs.map +1 -0
- package/dist/{chunk-Y4AXQOT4.cjs → chunk-JHPGF3FP.cjs} +8 -8
- package/dist/{chunk-Y4AXQOT4.cjs.map → chunk-JHPGF3FP.cjs.map} +1 -1
- package/dist/{chunk-BM6N4KHO.cjs → chunk-JTB5Q42C.cjs} +6 -22
- package/dist/chunk-JTB5Q42C.cjs.map +1 -0
- package/dist/{chunk-LPVIRJVF.cjs → chunk-K3FW2XZD.cjs} +9 -9
- package/dist/{chunk-LPVIRJVF.cjs.map → chunk-K3FW2XZD.cjs.map} +1 -1
- package/dist/{chunk-LS3LMQ23.js → chunk-MVAPK2BX.js} +162 -49
- package/dist/chunk-MVAPK2BX.js.map +1 -0
- package/dist/{chunk-XPR366DL.cjs → chunk-NGESVVJN.cjs} +17 -17
- package/dist/chunk-NGESVVJN.cjs.map +1 -0
- package/dist/{chunk-VUKQL3L2.cjs → chunk-NIRE5CNO.cjs} +20 -13
- package/dist/chunk-NIRE5CNO.cjs.map +1 -0
- package/dist/{chunk-VC5ABJXC.js → chunk-NLTVXLGT.js} +3 -3
- package/dist/{chunk-VC5ABJXC.js.map → chunk-NLTVXLGT.js.map} +1 -1
- package/dist/chunk-NUKRL3I6.cjs +23 -0
- package/dist/chunk-NUKRL3I6.cjs.map +1 -0
- package/dist/{chunk-R5YZACGK.js → chunk-OC4NTGMN.js} +3 -3
- package/dist/{chunk-R5YZACGK.js.map → chunk-OC4NTGMN.js.map} +1 -1
- package/dist/{chunk-GOVJO4YE.js → chunk-OHBIUXKM.js} +6 -6
- package/dist/chunk-OHBIUXKM.js.map +1 -0
- package/dist/{chunk-FPYT5WZP.cjs → chunk-P6A3M6VD.cjs} +10 -10
- package/dist/{chunk-FPYT5WZP.cjs.map → chunk-P6A3M6VD.cjs.map} +1 -1
- package/dist/{chunk-OKLYRPKL.cjs → chunk-Q47R5E2X.cjs} +8 -8
- package/dist/chunk-Q47R5E2X.cjs.map +1 -0
- package/dist/{chunk-HSQ5Q3I5.js → chunk-Q4CMI2LP.js} +12 -5
- package/dist/chunk-Q4CMI2LP.js.map +1 -0
- package/dist/{chunk-2XLKLVVR.js → chunk-Q5EWJPRY.js} +2 -2
- package/dist/chunk-Q5EWJPRY.js.map +1 -0
- package/dist/{chunk-SK4QLUBK.js → chunk-QARJGQSA.js} +16 -7
- package/dist/chunk-QARJGQSA.js.map +1 -0
- package/dist/{chunk-CZ2GKKYL.cjs → chunk-QDED6YO6.cjs} +5 -5
- package/dist/{chunk-CZ2GKKYL.cjs.map → chunk-QDED6YO6.cjs.map} +1 -1
- package/dist/{chunk-VK7MAV65.cjs → chunk-QKLOP4VC.cjs} +2 -2
- package/dist/{chunk-VK7MAV65.cjs.map → chunk-QKLOP4VC.cjs.map} +1 -1
- package/dist/{chunk-FIOCJYLA.js → chunk-QRSUA2CV.js} +3 -3
- package/dist/{chunk-FIOCJYLA.js.map → chunk-QRSUA2CV.js.map} +1 -1
- package/dist/{chunk-ZT57WTUJ.cjs → chunk-R3UPQFKK.cjs} +21 -12
- package/dist/chunk-R3UPQFKK.cjs.map +1 -0
- package/dist/{chunk-X2FR4OIT.js → chunk-R7WIIPUR.js} +2 -2
- package/dist/chunk-R7WIIPUR.js.map +1 -0
- package/dist/{chunk-RP5HQVLD.js → chunk-RNB4APBZ.js} +30 -7
- package/dist/chunk-RNB4APBZ.js.map +1 -0
- package/dist/{chunk-GD63JPGC.cjs → chunk-ROYPRJH4.cjs} +9 -9
- package/dist/{chunk-GD63JPGC.cjs.map → chunk-ROYPRJH4.cjs.map} +1 -1
- package/dist/{chunk-V26QVGUG.js → chunk-RUDY2GTT.js} +59 -23
- package/dist/chunk-RUDY2GTT.js.map +1 -0
- package/dist/{chunk-JIQRXKTA.cjs → chunk-SKXBJ2NU.cjs} +7 -7
- package/dist/chunk-SKXBJ2NU.cjs.map +1 -0
- package/dist/{chunk-XROIW6BH.js → chunk-SUKXXLWD.js} +6 -6
- package/dist/chunk-SUKXXLWD.js.map +1 -0
- package/dist/{chunk-LTSTGCL6.js → chunk-T73NA43R.js} +3 -3
- package/dist/{chunk-LTSTGCL6.js.map → chunk-T73NA43R.js.map} +1 -1
- package/dist/chunk-T7O6K6PX.js +20 -0
- package/dist/chunk-T7O6K6PX.js.map +1 -0
- package/dist/{chunk-5F5NWKPN.js → chunk-T7XEKOVW.js} +5 -20
- package/dist/chunk-T7XEKOVW.js.map +1 -0
- package/dist/{chunk-HAWE74GQ.cjs → chunk-U2AC6JUP.cjs} +8 -8
- package/dist/chunk-U2AC6JUP.cjs.map +1 -0
- package/dist/{chunk-3WVMJY7F.js → chunk-UC3HT2S4.js} +3 -3
- package/dist/{chunk-3WVMJY7F.js.map → chunk-UC3HT2S4.js.map} +1 -1
- package/dist/{chunk-PBZ7HMBP.js → chunk-UPRJR6IP.js} +4 -4
- package/dist/chunk-UPRJR6IP.js.map +1 -0
- package/dist/{chunk-3V7UJLQT.js → chunk-UQGQFBRL.js} +3 -3
- package/dist/chunk-UQGQFBRL.js.map +1 -0
- package/dist/{chunk-2D43RD5D.cjs → chunk-V2UUGUY4.cjs} +27 -27
- package/dist/chunk-V2UUGUY4.cjs.map +1 -0
- package/dist/{chunk-6AZDM6LK.js → chunk-VF7EWVDG.js} +3 -3
- package/dist/{chunk-6AZDM6LK.js.map → chunk-VF7EWVDG.js.map} +1 -1
- package/dist/{chunk-PNVDQL5Y.cjs → chunk-VTYY7XL5.cjs} +2 -2
- package/dist/chunk-VTYY7XL5.cjs.map +1 -0
- package/dist/{chunk-Y4I4EQFK.js → chunk-WKRSH2VR.js} +3 -3
- package/dist/{chunk-Y4I4EQFK.js.map → chunk-WKRSH2VR.js.map} +1 -1
- package/dist/{chunk-4QEC4CCS.js → chunk-WTMU7J4U.js} +2 -2
- package/dist/{chunk-4QEC4CCS.js.map → chunk-WTMU7J4U.js.map} +1 -1
- package/dist/{chunk-KSWHTR54.js → chunk-XN7NOENA.js} +6 -6
- package/dist/chunk-XN7NOENA.js.map +1 -0
- package/dist/{chunk-ADLLFY3H.cjs → chunk-XSX2UU6Y.cjs} +10 -9
- package/dist/chunk-XSX2UU6Y.cjs.map +1 -0
- package/dist/{chunk-LD4MOBFX.js → chunk-XV4IZNV4.js} +9 -9
- package/dist/chunk-XV4IZNV4.js.map +1 -0
- package/dist/{chunk-EZ2YEF4F.cjs → chunk-XWL6O3SW.cjs} +4 -4
- package/dist/chunk-XWL6O3SW.cjs.map +1 -0
- package/dist/{chunk-PGP7IOJ2.js → chunk-YMA4S2WO.js} +4 -4
- package/dist/{chunk-PGP7IOJ2.js.map → chunk-YMA4S2WO.js.map} +1 -1
- package/dist/{chunk-OUOXM36O.cjs → chunk-YPJ5NH5N.cjs} +11 -11
- package/dist/chunk-YPJ5NH5N.cjs.map +1 -0
- package/dist/{chunk-YLQQX5W2.cjs → chunk-ZF2LDKQQ.cjs} +2 -2
- package/dist/chunk-ZF2LDKQQ.cjs.map +1 -0
- package/dist/{chunk-L5YO6PWL.cjs → chunk-ZNW6V4Y6.cjs} +2 -2
- package/dist/chunk-ZNW6V4Y6.cjs.map +1 -0
- package/dist/client/index.cjs.map +1 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/theokit-client.d.cts +36 -0
- package/dist/client/theokit-client.d.ts +36 -0
- package/dist/client/types.d.cts +30 -0
- package/dist/client/types.d.ts +30 -0
- package/dist/compact-session-FUJDVF7B.js +22 -0
- package/dist/{compact-session-4MNKNMO2.js.map → compact-session-FUJDVF7B.js.map} +1 -1
- package/dist/compact-session-LEWF554G.cjs +59 -0
- package/dist/{compact-session-EPFBQ46Z.cjs.map → compact-session-LEWF554G.cjs.map} +1 -1
- package/dist/compaction.cjs +17 -16
- package/dist/compaction.d.cts +13 -13
- package/dist/compaction.d.ts +13 -13
- package/dist/compaction.js +4 -3
- package/dist/concurrency.cjs +7 -6
- package/dist/concurrency.cjs.map +1 -1
- package/dist/concurrency.js +5 -4
- package/dist/concurrency.js.map +1 -1
- package/dist/context/index.cjs +7 -7
- package/dist/context/index.js +3 -3
- package/dist/context-FDOON2DB.js +6 -0
- package/dist/{context-ENXZNF6J.js.map → context-FDOON2DB.js.map} +1 -1
- package/dist/context-VMIE4BMD.cjs +23 -0
- package/dist/{context-7USNN6LP.cjs.map → context-VMIE4BMD.cjs.map} +1 -1
- package/dist/cron-BcWmzWzT.d.cts +240 -0
- package/dist/cron-De6hzWCF.d.ts +240 -0
- package/dist/cron.cjs +43 -41
- package/dist/cron.d.cts +5 -3
- package/dist/cron.d.ts +5 -3
- package/dist/cron.js +42 -40
- package/dist/define-tool.d.ts +14 -6
- package/dist/{errors-BSoXcl3F.d.cts → errors-BgJH9PHi.d.cts} +39 -24
- package/dist/{errors-CHllybaU.d.ts → errors-C5fJUqLk.d.ts} +39 -24
- package/dist/errors.cjs +22 -21
- package/dist/errors.d.cts +2 -2
- package/dist/errors.d.ts +2 -2
- package/dist/errors.js +3 -2
- package/dist/eval.cjs +61 -58
- package/dist/eval.cjs.map +1 -1
- package/dist/eval.d.cts +38 -0
- package/dist/eval.d.ts +38 -0
- package/dist/eval.js +51 -48
- package/dist/eval.js.map +1 -1
- package/dist/event-bus.d.ts +16 -0
- package/dist/{executor-2Z6XJJJG.js → executor-BMEHFOXZ.js} +8 -7
- package/dist/executor-BMEHFOXZ.js.map +1 -0
- package/dist/{executor-2Z3LGG3I.cjs → executor-ZERJ3DGN.cjs} +25 -24
- package/dist/executor-ZERJ3DGN.cjs.map +1 -0
- package/dist/filesystem/index.cjs +8 -7
- package/dist/filesystem/index.cjs.map +1 -1
- package/dist/filesystem/index.js +4 -3
- package/dist/filesystem/index.js.map +1 -1
- package/dist/filesystem/local-filesystem.d.cts +18 -0
- package/dist/filesystem/local-filesystem.d.ts +18 -0
- package/dist/filesystem/types.d.cts +12 -0
- package/dist/filesystem/types.d.ts +12 -0
- package/dist/fs-session-store-3MOJQGP2.cjs +20 -0
- package/dist/{fs-session-store-VVY2AHWG.cjs.map → fs-session-store-3MOJQGP2.cjs.map} +1 -1
- package/dist/fs-session-store-IN7JTTXD.js +11 -0
- package/dist/{fs-session-store-R5FD3EN6.js.map → fs-session-store-IN7JTTXD.js.map} +1 -1
- package/dist/generate-object-N5MDZUJI.js +8 -0
- package/dist/{generate-object-WQRCXFD2.js.map → generate-object-N5MDZUJI.js.map} +1 -1
- package/dist/generate-object-PGSP5U7N.cjs +21 -0
- package/dist/{generate-object-AVXOJK2I.cjs.map → generate-object-PGSP5U7N.cjs.map} +1 -1
- package/dist/generate-object.d.ts +20 -0
- package/dist/index-manager-NG5YENWO.cjs +22 -0
- package/dist/{index-manager-VRU3A2YL.cjs.map → index-manager-NG5YENWO.cjs.map} +1 -1
- package/dist/index-manager-ZMRJ6ZII.js +13 -0
- package/dist/{index-manager-WS7TVKUW.js.map → index-manager-ZMRJ6ZII.js.map} +1 -1
- package/dist/index.cjs +169 -155
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +702 -54
- package/dist/index.d.ts +702 -54
- package/dist/index.js +61 -58
- package/dist/index.js.map +1 -1
- package/dist/{inject-session-GMBMJVNZ.js → inject-session-BJMJH5BX.js} +9 -8
- package/dist/inject-session-BJMJH5BX.js.map +1 -0
- package/dist/inject-session-WQGGMCQY.cjs +29 -0
- package/dist/inject-session-WQGGMCQY.cjs.map +1 -0
- package/dist/internal/auth/auth-types.d.ts +83 -1
- package/dist/internal/auth/credential-store.d.ts +34 -6
- package/dist/internal/auth/oauth-device.d.ts +0 -1
- package/dist/internal/auth/resolve-credential.d.ts +40 -0
- package/dist/internal/budget/tracker/budget.d.ts +12 -14
- package/dist/internal/budget/usage-accumulator.d.ts +15 -0
- package/dist/internal/llm/anthropic-shared.d.ts +8 -4
- package/dist/internal/llm/model-identifier.d.ts +26 -0
- package/dist/internal/llm/openai.d.ts +8 -0
- package/dist/internal/llm/prompt-cache-key.d.ts +1 -0
- package/dist/internal/llm/responses.d.ts +67 -1
- package/dist/internal/llm/router.d.ts +8 -0
- package/dist/internal/llm/types.d.ts +27 -1
- package/dist/internal/local-agent/real-local-run-provider.d.ts +8 -3
- package/dist/internal/local-agent/real-local-run-tools.d.ts +23 -4
- package/dist/internal/mcp/oauth.d.ts +5 -0
- package/dist/internal/mcp/token-storage.d.ts +34 -0
- package/dist/internal/memory/adapters/index.cjs +12 -11
- package/dist/internal/memory/adapters/index.d.cts +3 -1
- package/dist/internal/memory/adapters/index.d.ts +3 -1
- package/dist/internal/memory/adapters/index.js +9 -8
- package/dist/internal/memory/adapters/openai-compatible.d.cts +45 -0
- package/dist/internal/memory/adapters/openai-compatible.d.ts +45 -0
- package/dist/internal/memory/embedding-cache.d.ts +42 -1
- package/dist/internal/memory/escape-like-pattern.d.ts +22 -0
- package/dist/internal/memory/sqlite-vec-loader.d.ts +1 -3
- package/dist/internal/memory/storage/markdown-store.d.ts +0 -5
- package/dist/internal/persistence/cwd-mutex.d.cts +34 -0
- package/dist/internal/persistence/cwd-mutex.d.ts +34 -0
- package/dist/internal/persistence/exclusive-create.d.cts +31 -0
- package/dist/internal/persistence/exclusive-create.d.ts +31 -0
- package/dist/internal/persistence/file-lock.d.cts +28 -0
- package/dist/internal/persistence/file-lock.d.ts +28 -0
- package/dist/internal/persistence/fs-session-store.d.cts +3 -0
- package/dist/internal/persistence/fs-session-store.d.ts +3 -0
- package/dist/internal/persistence/fts5-sanitize.d.cts +20 -0
- package/dist/internal/persistence/fts5-sanitize.d.ts +20 -0
- package/dist/internal/persistence/index.cjs +40 -39
- package/dist/internal/persistence/index.cjs.map +1 -1
- package/dist/internal/persistence/index.d.cts +6 -1
- package/dist/internal/persistence/index.d.ts +6 -1
- package/dist/internal/persistence/index.js +9 -8
- package/dist/internal/persistence/index.js.map +1 -1
- package/dist/internal/persistence/paths.d.cts +54 -1
- package/dist/internal/persistence/paths.d.ts +54 -1
- package/dist/internal/persistence/persistence-schema.d.cts +9 -1
- package/dist/internal/persistence/persistence-schema.d.ts +9 -1
- package/dist/internal/persistence/schema-version.d.cts +215 -1
- package/dist/internal/persistence/schema-version.d.ts +215 -1
- package/dist/internal/persistence/session-writer.d.cts +7 -7
- package/dist/internal/persistence/session-writer.d.ts +7 -7
- package/dist/internal/persistence/sqlite-cas.d.cts +37 -1
- package/dist/internal/persistence/sqlite-cas.d.ts +37 -1
- package/dist/internal/persistence/sqlite-open.d.cts +14 -0
- package/dist/internal/persistence/sqlite-open.d.ts +14 -0
- package/dist/internal/persistence/sqlite-wal.d.cts +45 -0
- package/dist/internal/persistence/sqlite-wal.d.ts +45 -0
- package/dist/internal/persistence/transcript-ops.d.cts +7 -1
- package/dist/internal/persistence/transcript-ops.d.ts +7 -1
- package/dist/internal/plugins/types.d.cts +1 -1
- package/dist/internal/plugins/types.d.ts +1 -1
- package/dist/internal/providers/builtin/openai-chatgpt.d.ts +12 -0
- package/dist/internal/providers/catalog-loader.d.ts +8 -0
- package/dist/internal/providers/catalog-schema.d.ts +55 -0
- package/dist/internal/providers/catalog-source-models-dev.d.ts +36 -0
- package/dist/internal/runtime/concurrency/delegation-depth.d.ts +27 -0
- package/dist/internal/runtime/concurrency/subagent-credentials.d.ts +33 -1
- package/dist/internal/runtime/context/context-discovery-runner.d.ts +44 -0
- package/dist/internal/runtime/context/context-discovery.d.ts +58 -0
- package/dist/internal/runtime/context/context-rules-frontmatter.d.ts +70 -1
- package/dist/internal/runtime/fixtures/fixture-mode.d.ts +15 -1
- package/dist/internal/runtime/lifecycle/post-run-lifecycle.d.ts +15 -0
- package/dist/internal/runtime/registry/agent-registry-store.d.ts +12 -0
- package/dist/internal/runtime/registry/live-agent-registry.d.ts +37 -0
- package/dist/internal/scorers/llm-judge.d.ts +6 -1
- package/dist/internal/security/index.cjs +14 -13
- package/dist/internal/security/index.d.cts +4 -1
- package/dist/internal/security/index.d.ts +4 -1
- package/dist/internal/security/index.js +4 -3
- package/dist/internal/security/path-guard.d.cts +46 -0
- package/dist/internal/security/path-guard.d.ts +46 -0
- package/dist/internal/security/redact.d.cts +71 -0
- package/dist/internal/security/redact.d.ts +71 -0
- package/dist/internal/session/agent-session.d.ts +15 -4
- package/dist/internal/session/session-cache.d.ts +5 -0
- package/dist/internal/task/store.d.ts +91 -5
- package/dist/internal/telemetry/span-names.d.ts +0 -1
- package/dist/internal/telemetry/tracer.d.ts +14 -0
- package/dist/job-queue.d.ts +18 -0
- package/dist/judge-call-DWHAJATE.js +6 -0
- package/dist/{judge-call-MDIPTBJI.js.map → judge-call-DWHAJATE.js.map} +1 -1
- package/dist/judge-call-EGYRC2RE.cjs +23 -0
- package/dist/{judge-call-G5SGV2M2.cjs.map → judge-call-EGYRC2RE.cjs.map} +1 -1
- package/dist/mcp-auth.cjs +41 -25
- package/dist/mcp-auth.cjs.map +1 -1
- package/dist/mcp-auth.js +34 -18
- package/dist/mcp-auth.js.map +1 -1
- package/dist/models.cjs +42 -27
- package/dist/models.cjs.map +1 -1
- package/dist/models.js +25 -10
- package/dist/models.js.map +1 -1
- package/dist/oauth-transaction-store-BT4GLTLK.cjs +36 -0
- package/dist/{oauth-transaction-store-7CKHPQRN.cjs.map → oauth-transaction-store-BT4GLTLK.cjs.map} +1 -1
- package/dist/oauth-transaction-store-W52KVHQ4.js +3 -0
- package/dist/{oauth-transaction-store-W74I6EFD.js.map → oauth-transaction-store-W52KVHQ4.js.map} +1 -1
- package/dist/path-safety.cjs +11 -10
- package/dist/path-safety.js +4 -3
- package/dist/permission-engine.d.ts +55 -0
- package/dist/persistence.cjs +43 -42
- package/dist/persistence.cjs.map +1 -1
- package/dist/persistence.js +13 -12
- package/dist/persistence.js.map +1 -1
- package/dist/project.cjs +9 -8
- package/dist/project.cjs.map +1 -1
- package/dist/project.js +5 -4
- package/dist/project.js.map +1 -1
- package/dist/providers.cjs +23 -0
- package/dist/providers.cjs.map +1 -0
- package/dist/providers.d.cts +29 -0
- package/dist/providers.d.ts +29 -0
- package/dist/providers.js +10 -0
- package/dist/providers.js.map +1 -0
- package/dist/registry-VFKX7WOP.cjs +47 -0
- package/dist/{registry-63ASMXT4.cjs.map → registry-VFKX7WOP.cjs.map} +1 -1
- package/dist/registry-VFP3WWQP.js +10 -0
- package/dist/{registry-O7FJ2MPM.js.map → registry-VFP3WWQP.js.map} +1 -1
- package/dist/retry.cjs +5 -4
- package/dist/retry.js +4 -3
- package/dist/{run-C8FBAC8o.d.cts → run-BYSHf58D.d.cts} +185 -33
- package/dist/{run-C8FBAC8o.d.ts → run-BYSHf58D.d.ts} +185 -33
- package/dist/{run-to-completion-JDPIUKSH.js → run-to-completion-DRO77625.js} +3 -3
- package/dist/{run-to-completion-JDPIUKSH.js.map → run-to-completion-DRO77625.js.map} +1 -1
- package/dist/{run-to-completion-J73I6IY4.cjs → run-to-completion-X4OWM673.cjs} +13 -13
- package/dist/{run-to-completion-J73I6IY4.cjs.map → run-to-completion-X4OWM673.cjs.map} +1 -1
- package/dist/sandbox/bwrap.d.cts +27 -13
- package/dist/sandbox/bwrap.d.ts +27 -13
- package/dist/sandbox/index.cjs +20 -19
- package/dist/sandbox/index.cjs.map +1 -1
- package/dist/sandbox/index.js +5 -4
- package/dist/sandbox/index.js.map +1 -1
- package/dist/sandbox/linux-sandbox.d.cts +72 -0
- package/dist/sandbox/linux-sandbox.d.ts +72 -0
- package/dist/sandbox/local-sandbox.d.cts +41 -0
- package/dist/sandbox/local-sandbox.d.ts +41 -0
- package/dist/sandbox/seccomp.d.cts +6 -0
- package/dist/sandbox/seccomp.d.ts +6 -0
- package/dist/sandbox/types.d.cts +64 -0
- package/dist/sandbox/types.d.ts +64 -0
- package/dist/scorers.d.ts +38 -7
- package/dist/sdk-agent-D8qJVkuV.d.ts +860 -0
- package/dist/sdk-agent-DEoKhA8a.d.cts +860 -0
- package/dist/server/auth/errors.d.cts +1 -1
- package/dist/server/auth/errors.d.ts +1 -1
- package/dist/server/auth/index.cjs +29 -21
- package/dist/server/auth/index.cjs.map +1 -1
- package/dist/server/auth/index.d.cts +25 -15
- package/dist/server/auth/index.d.ts +25 -15
- package/dist/server/auth/index.js +15 -7
- package/dist/server/auth/index.js.map +1 -1
- package/dist/server/auth/oauth-transaction-store.d.cts +13 -1
- package/dist/server/auth/oauth-transaction-store.d.ts +13 -1
- package/dist/server/auth/orchestrator.d.cts +1 -1
- package/dist/server/auth/orchestrator.d.ts +1 -1
- package/dist/server/auth/types.d.cts +1 -1
- package/dist/server/auth/types.d.ts +1 -1
- package/dist/server/auth/validate-return-to.d.cts +21 -11
- package/dist/server/auth/validate-return-to.d.ts +21 -11
- package/dist/server/errors-envelope.cjs +15 -14
- package/dist/server/errors-envelope.cjs.map +1 -1
- package/dist/server/errors-envelope.d.cts +4 -4
- package/dist/server/errors-envelope.d.ts +4 -4
- package/dist/server/errors-envelope.js +4 -3
- package/dist/server/errors-envelope.js.map +1 -1
- package/dist/session-transcript-AKDYYGXQ.js +6 -0
- package/dist/{session-transcript-RAKEK76V.js.map → session-transcript-AKDYYGXQ.js.map} +1 -1
- package/dist/session-transcript-JXHFTB7G.cjs +51 -0
- package/dist/{session-transcript-DOM3UTXR.cjs.map → session-transcript-JXHFTB7G.cjs.map} +1 -1
- package/dist/skills.cjs +8 -7
- package/dist/skills.js +6 -5
- package/dist/stream-object-BUCF5PHO.cjs +21 -0
- package/dist/{stream-object-L3Q7PBMF.cjs.map → stream-object-BUCF5PHO.cjs.map} +1 -1
- package/dist/stream-object-L57K4OFS.js +8 -0
- package/dist/{stream-object-ZYXWS4B2.js.map → stream-object-L57K4OFS.js.map} +1 -1
- package/dist/{stream-to-completion-DFJ5T3BK.js → stream-to-completion-QV5HCL3J.js} +3 -3
- package/dist/{stream-to-completion-DFJ5T3BK.js.map → stream-to-completion-QV5HCL3J.js.map} +1 -1
- package/dist/{stream-to-completion-H2MHISSK.cjs → stream-to-completion-SRISU5AB.cjs} +10 -10
- package/dist/{stream-to-completion-H2MHISSK.cjs.map → stream-to-completion-SRISU5AB.cjs.map} +1 -1
- package/dist/subagents-loader-AZIXJ7D3.cjs +16 -0
- package/dist/{subagents-loader-VRW73QQT.cjs.map → subagents-loader-AZIXJ7D3.cjs.map} +1 -1
- package/dist/subagents-loader-J54ESLDV.js +7 -0
- package/dist/{subagents-loader-I56GSKAQ.js.map → subagents-loader-J54ESLDV.js.map} +1 -1
- package/dist/subagents-loader.cjs +7 -6
- package/dist/subagents-loader.cjs.map +1 -1
- package/dist/subagents-loader.d.cts +3 -2
- package/dist/subagents-loader.d.ts +3 -2
- package/dist/subagents-loader.js +5 -4
- package/dist/subagents-loader.js.map +1 -1
- package/dist/subscription/define-subscription.d.cts +1 -1
- package/dist/subscription/define-subscription.d.ts +1 -1
- package/dist/subscription/index.cjs +22 -9
- package/dist/subscription/index.cjs.map +1 -1
- package/dist/subscription/index.d.cts +1 -1
- package/dist/subscription/index.d.ts +1 -1
- package/dist/subscription/index.js +21 -8
- package/dist/subscription/index.js.map +1 -1
- package/dist/subscription/internal/adapter-types.d.cts +1 -1
- package/dist/subscription/internal/adapter-types.d.ts +1 -1
- package/dist/subscription/internal/server-integration.d.cts +1 -1
- package/dist/subscription/internal/server-integration.d.ts +1 -1
- package/dist/subscription/internal/sse-encoder.d.cts +1 -1
- package/dist/subscription/internal/sse-encoder.d.ts +1 -1
- package/dist/subscription/internal/sse-parser.d.cts +1 -1
- package/dist/subscription/internal/sse-parser.d.ts +1 -1
- package/dist/subscription/internal/subscription-runtime.d.cts +1 -1
- package/dist/subscription/internal/subscription-runtime.d.ts +1 -1
- package/dist/subscription/internal/ws-adapter-node.d.cts +1 -1
- package/dist/subscription/internal/ws-adapter-node.d.ts +1 -1
- package/dist/subscription/theokit-subscribe.d.cts +14 -1
- package/dist/subscription/theokit-subscribe.d.ts +14 -1
- package/dist/subscription/types.d.cts +19 -1
- package/dist/subscription/types.d.ts +19 -1
- package/dist/task-store.cjs +8 -7
- package/dist/task-store.js +5 -4
- package/dist/types/agent-prims.d.ts +14 -0
- package/dist/types/agent.d.ts +92 -11
- package/dist/types/batch.d.ts +7 -1
- package/dist/types/conversation.d.ts +18 -5
- package/dist/types/goal-events.d.ts +4 -8
- package/dist/types/memory-adapter.d.ts +12 -1
- package/dist/types/plugin.d.ts +101 -0
- package/dist/types/provider-profile.d.ts +32 -0
- package/dist/types/run-events.d.ts +28 -1
- package/dist/types/run.d.ts +35 -23
- package/dist/types/sdk-agent.d.ts +14 -0
- package/dist/types/session-record.d.ts +18 -1
- package/dist/types/task.d.ts +15 -1
- package/dist/types/theokit.d.ts +10 -1
- package/dist/types/updates.d.ts +35 -4
- package/dist/types/workflow.d.ts +155 -0
- package/dist/workflow.cjs +29 -28
- package/dist/workflow.d.cts +666 -17
- package/dist/workflow.d.ts +666 -17
- package/dist/workflow.js +8 -7
- package/docs/error-codes.md +215 -0
- package/docs/harness-capability-map.md +1358 -0
- package/package.json +29 -16
- package/bin/init-claude.mjs +0 -68
- package/claude-template/AGENTS.md +0 -157
- package/claude-template/CLAUDE.md +0 -66
- package/claude-template/dot-claude/rules/theokit-conventions.md +0 -32
- package/claude-template/dot-claude/settings.json +0 -16
- package/claude-template/dot-claude/skills/theokit-agent-core/SKILL.md +0 -209
- package/claude-template/dot-claude/skills/theokit-auth/SKILL.md +0 -102
- package/claude-template/dot-claude/skills/theokit-budget/SKILL.md +0 -176
- package/claude-template/dot-claude/skills/theokit-client/SKILL.md +0 -58
- package/claude-template/dot-claude/skills/theokit-compaction/SKILL.md +0 -102
- package/claude-template/dot-claude/skills/theokit-concurrency/SKILL.md +0 -68
- package/claude-template/dot-claude/skills/theokit-config/SKILL.md +0 -139
- package/claude-template/dot-claude/skills/theokit-cron/SKILL.md +0 -148
- package/claude-template/dot-claude/skills/theokit-di/SKILL.md +0 -233
- package/claude-template/dot-claude/skills/theokit-di-agent/SKILL.md +0 -294
- package/claude-template/dot-claude/skills/theokit-errors/SKILL.md +0 -172
- package/claude-template/dot-claude/skills/theokit-eval/SKILL.md +0 -179
- package/claude-template/dot-claude/skills/theokit-filesystem/SKILL.md +0 -74
- package/claude-template/dot-claude/skills/theokit-gateways/SKILL.md +0 -209
- package/claude-template/dot-claude/skills/theokit-memory/SKILL.md +0 -176
- package/claude-template/dot-claude/skills/theokit-messages/SKILL.md +0 -58
- package/claude-template/dot-claude/skills/theokit-models/SKILL.md +0 -79
- package/claude-template/dot-claude/skills/theokit-path-safety/SKILL.md +0 -60
- package/claude-template/dot-claude/skills/theokit-persistence/SKILL.md +0 -85
- package/claude-template/dot-claude/skills/theokit-project/SKILL.md +0 -55
- package/claude-template/dot-claude/skills/theokit-retry/SKILL.md +0 -50
- package/claude-template/dot-claude/skills/theokit-sandbox/SKILL.md +0 -93
- package/claude-template/dot-claude/skills/theokit-sanitize/SKILL.md +0 -66
- package/claude-template/dot-claude/skills/theokit-skills/SKILL.md +0 -68
- package/claude-template/dot-claude/skills/theokit-streaming/SKILL.md +0 -156
- package/claude-template/dot-claude/skills/theokit-subagents/SKILL.md +0 -109
- package/claude-template/dot-claude/skills/theokit-subscriptions/SKILL.md +0 -148
- package/claude-template/dot-claude/skills/theokit-task-store/SKILL.md +0 -75
- package/claude-template/dot-claude/skills/theokit-tools/SKILL.md +0 -170
- package/claude-template/dot-claude/skills/theokit-workflows/SKILL.md +0 -218
- package/dist/agent-FFVV4U5N.js +0 -50
- package/dist/agent-YLAHVHEH.cjs +0 -59
- package/dist/agent-session-store-DUGBAX5V.cjs +0 -23
- package/dist/agent-session-store-TNCGL5RN.js +0 -6
- package/dist/batch-UPKN4SG6.js.map +0 -1
- package/dist/batch-ZEFN5SO7.cjs.map +0 -1
- package/dist/chunk-2D43RD5D.cjs.map +0 -1
- package/dist/chunk-2FYEVT2B.cjs.map +0 -1
- package/dist/chunk-2RW7K6FN.cjs.map +0 -1
- package/dist/chunk-2XLKLVVR.js.map +0 -1
- package/dist/chunk-34XOCZJO.js.map +0 -1
- package/dist/chunk-3V7UJLQT.js.map +0 -1
- package/dist/chunk-4NAKHID5.js.map +0 -1
- package/dist/chunk-4Q4K4WB5.js.map +0 -1
- package/dist/chunk-5F5NWKPN.js.map +0 -1
- package/dist/chunk-5NBUH3NO.js.map +0 -1
- package/dist/chunk-5YKNEMXR.cjs.map +0 -1
- package/dist/chunk-7W7ZWMLQ.js.map +0 -1
- package/dist/chunk-ADLLFY3H.cjs.map +0 -1
- package/dist/chunk-B4YA6BRS.cjs.map +0 -1
- package/dist/chunk-B6HOIWQ6.js.map +0 -1
- package/dist/chunk-BDTVFIPB.cjs.map +0 -1
- package/dist/chunk-BFYGJGC5.js.map +0 -1
- package/dist/chunk-BM6N4KHO.cjs.map +0 -1
- package/dist/chunk-CAH3G4IS.js.map +0 -1
- package/dist/chunk-EZ2YEF4F.cjs.map +0 -1
- package/dist/chunk-F77UENR6.cjs.map +0 -1
- package/dist/chunk-FOXKFTVZ.cjs.map +0 -1
- package/dist/chunk-G3JWXOGY.js.map +0 -1
- package/dist/chunk-GOVJO4YE.js.map +0 -1
- package/dist/chunk-HAWE74GQ.cjs.map +0 -1
- package/dist/chunk-HE4BIAOS.js.map +0 -1
- package/dist/chunk-HSQ5Q3I5.js.map +0 -1
- package/dist/chunk-JIQRXKTA.cjs.map +0 -1
- package/dist/chunk-KSWHTR54.js.map +0 -1
- package/dist/chunk-L5YO6PWL.cjs.map +0 -1
- package/dist/chunk-LD4MOBFX.js.map +0 -1
- package/dist/chunk-LS3LMQ23.js.map +0 -1
- package/dist/chunk-MSFLYJDY.js.map +0 -1
- package/dist/chunk-NZL4BNFQ.js.map +0 -1
- package/dist/chunk-OKLYRPKL.cjs.map +0 -1
- package/dist/chunk-OUOXM36O.cjs.map +0 -1
- package/dist/chunk-OXNYIMZZ.js.map +0 -1
- package/dist/chunk-PBZ7HMBP.js.map +0 -1
- package/dist/chunk-PNVDQL5Y.cjs.map +0 -1
- package/dist/chunk-Q4RESANI.cjs.map +0 -1
- package/dist/chunk-QBTVATSF.cjs.map +0 -1
- package/dist/chunk-RAHSWE5C.cjs.map +0 -1
- package/dist/chunk-RP5HQVLD.js.map +0 -1
- package/dist/chunk-SEL2ZQMT.js.map +0 -1
- package/dist/chunk-SK4QLUBK.js.map +0 -1
- package/dist/chunk-TTJ54H3E.cjs.map +0 -1
- package/dist/chunk-V26QVGUG.js.map +0 -1
- package/dist/chunk-V6HWJQQV.js.map +0 -1
- package/dist/chunk-VGPXHHF3.cjs.map +0 -1
- package/dist/chunk-VUKQL3L2.cjs.map +0 -1
- package/dist/chunk-VYCKUKPA.cjs.map +0 -1
- package/dist/chunk-VYHJZVL5.cjs.map +0 -1
- package/dist/chunk-X2FR4OIT.js.map +0 -1
- package/dist/chunk-XPR366DL.cjs.map +0 -1
- package/dist/chunk-XROIW6BH.js.map +0 -1
- package/dist/chunk-YLQQX5W2.cjs.map +0 -1
- package/dist/chunk-ZT57WTUJ.cjs.map +0 -1
- package/dist/compact-session-4MNKNMO2.js +0 -21
- package/dist/compact-session-EPFBQ46Z.cjs +0 -58
- package/dist/context-7USNN6LP.cjs +0 -22
- package/dist/context-ENXZNF6J.js +0 -5
- package/dist/cron-BMjgFH-_.d.ts +0 -631
- package/dist/cron-DFDdCdMM.d.cts +0 -631
- package/dist/executor-2Z3LGG3I.cjs.map +0 -1
- package/dist/executor-2Z6XJJJG.js.map +0 -1
- package/dist/fs-session-store-R5FD3EN6.js +0 -10
- package/dist/fs-session-store-VVY2AHWG.cjs +0 -19
- package/dist/generate-object-AVXOJK2I.cjs +0 -20
- package/dist/generate-object-WQRCXFD2.js +0 -7
- package/dist/index-manager-VRU3A2YL.cjs +0 -21
- package/dist/index-manager-WS7TVKUW.js +0 -12
- package/dist/inject-session-AUQLBDRS.cjs +0 -28
- package/dist/inject-session-AUQLBDRS.cjs.map +0 -1
- package/dist/inject-session-GMBMJVNZ.js.map +0 -1
- package/dist/judge-call-G5SGV2M2.cjs +0 -22
- package/dist/judge-call-MDIPTBJI.js +0 -5
- package/dist/oauth-transaction-store-7CKHPQRN.cjs +0 -32
- package/dist/oauth-transaction-store-W74I6EFD.js +0 -3
- package/dist/registry-63ASMXT4.cjs +0 -46
- package/dist/registry-O7FJ2MPM.js +0 -9
- package/dist/session-transcript-DOM3UTXR.cjs +0 -50
- package/dist/session-transcript-RAKEK76V.js +0 -5
- package/dist/stream-object-L3Q7PBMF.cjs +0 -20
- package/dist/stream-object-ZYXWS4B2.js +0 -7
- package/dist/subagents-loader-I56GSKAQ.js +0 -6
- package/dist/subagents-loader-VRW73QQT.cjs +0 -15
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
user-invocable: false
|
|
3
|
-
paths:
|
|
4
|
-
- "**/*auth*"
|
|
5
|
-
- "**/*Auth*"
|
|
6
|
-
- "**/*envelope*"
|
|
7
|
-
description: TheoKit SDK server auth — Auth.create orchestrator, validateReturnTo, and the cross-layer error envelope
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# TheoKit Server Auth
|
|
11
|
-
|
|
12
|
-
Server-side auth orchestrator and the cross-layer error envelope. These live
|
|
13
|
-
under the `@theokit/sdk/server/*` sub-paths (not the main barrel). Concrete
|
|
14
|
-
OAuth/email providers ship in opt-in `@theokit/auth-*` packages — the SDK only
|
|
15
|
-
defines the orchestrator contract.
|
|
16
|
-
|
|
17
|
-
## `Auth.create` — session + provider orchestrator
|
|
18
|
-
|
|
19
|
-
```typescript
|
|
20
|
-
import {
|
|
21
|
-
Auth,
|
|
22
|
-
validateReturnTo,
|
|
23
|
-
AuthConfigError,
|
|
24
|
-
AuthProviderNotFoundError,
|
|
25
|
-
AuthCallbackError,
|
|
26
|
-
AuthCancelledError,
|
|
27
|
-
AuthSecretTooShortError,
|
|
28
|
-
} from "@theokit/sdk/server/auth";
|
|
29
|
-
import type {
|
|
30
|
-
AuthProvider,
|
|
31
|
-
SessionManager,
|
|
32
|
-
AuthOrchestrator,
|
|
33
|
-
} from "@theokit/sdk/server/auth";
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
`Auth.create(opts)` returns an `AuthOrchestrator<TSession>` with 5 methods.
|
|
37
|
-
`providers` is optional — an empty list is the manual-`signIn`-only escape hatch.
|
|
38
|
-
|
|
39
|
-
```typescript
|
|
40
|
-
const auth: AuthOrchestrator<Session> = Auth.create<Session>({
|
|
41
|
-
session, // your SessionManager<Session> implementation
|
|
42
|
-
providers: [githubProvider], // AuthProvider<Profile>[] from a @theokit/auth-* package
|
|
43
|
-
onSignIn: async ({ profile, provider }) => {
|
|
44
|
-
return toSession(profile, provider); // returns the TSession to persist
|
|
45
|
-
},
|
|
46
|
-
onSignOut: async (session) => {
|
|
47
|
-
/* revoke, audit, etc. */
|
|
48
|
-
},
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
// OAuth flow (node:http req/res):
|
|
52
|
-
const redirect = await auth.startSignIn("github", req, { returnTo: "/dashboard" });
|
|
53
|
-
const { session, returnTo } = await auth.finishSignIn("github", req, res); // rotates session id (OWASP A07)
|
|
54
|
-
const current = await auth.getSession(req);
|
|
55
|
-
await auth.signOut(res);
|
|
56
|
-
|
|
57
|
-
// Escape hatch — persist a session directly, skipping the OAuth flow:
|
|
58
|
-
const s = await auth.signIn(externalProfile, "github", req, res);
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
## `validateReturnTo` — open-redirect guard (OWASP A01)
|
|
62
|
-
|
|
63
|
-
Returns a safe same-origin path. Cross-origin, protocol-relative (`//evil.com`),
|
|
64
|
-
empty, and defensive cases all collapse to `"/"`.
|
|
65
|
-
|
|
66
|
-
```typescript
|
|
67
|
-
const safe = validateReturnTo(returnTo, new URL("https://app.example.com"));
|
|
68
|
-
// "/dashboard" -> kept; "https://evil.com" -> "/"; undefined -> "/"
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
Typed errors: `AuthConfigError`, `AuthProviderNotFoundError`, `AuthCallbackError`,
|
|
72
|
-
`AuthCancelledError`, `AuthSecretTooShortError`.
|
|
73
|
-
|
|
74
|
-
## Error envelope — cross-layer boundary translation
|
|
75
|
-
|
|
76
|
-
```typescript
|
|
77
|
-
import {
|
|
78
|
-
toEnvelope,
|
|
79
|
-
fromEnvelope,
|
|
80
|
-
MemoryAdapterError,
|
|
81
|
-
} from "@theokit/sdk/server/errors-envelope";
|
|
82
|
-
import type {
|
|
83
|
-
TheokitErrorEnvelope,
|
|
84
|
-
TheokitErrorCode,
|
|
85
|
-
} from "@theokit/sdk/server/errors-envelope";
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
`toEnvelope` translates any SDK error (or arbitrary thrown value) into the wire
|
|
89
|
-
envelope at egress; `fromEnvelope` reconstructs SDK class identity at ingress so
|
|
90
|
-
`instanceof` checks keep working across an IPC/serialization boundary.
|
|
91
|
-
|
|
92
|
-
```typescript
|
|
93
|
-
try {
|
|
94
|
-
await agent.send(prompt);
|
|
95
|
-
} catch (err) {
|
|
96
|
-
const envelope: TheokitErrorEnvelope = toEnvelope(err); // { code, message, meta?, ext? }
|
|
97
|
-
send(envelope); // code is a TheokitErrorCode, e.g. "RATE_LIMITED"
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
// Inbound edge (e.g. worker receiving the envelope):
|
|
101
|
-
const restored = fromEnvelope(envelope); // a TheokitAgentError subclass
|
|
102
|
-
```
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
user-invocable: false
|
|
3
|
-
paths:
|
|
4
|
-
- "**/*budget*"
|
|
5
|
-
- "**/*Budget*"
|
|
6
|
-
- "**/*cost*"
|
|
7
|
-
- "**/*token*"
|
|
8
|
-
description: TheoKit SDK Budget API reference — cost tracking, token budget enforcement, usage reporting
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# TheoKit Budget
|
|
12
|
-
|
|
13
|
-
Token cost enforcement primitive. Track, warn, and block LLM spend at the
|
|
14
|
-
process level with stacked USD limits and configurable enforcement modes.
|
|
15
|
-
|
|
16
|
-
## Quick start
|
|
17
|
-
|
|
18
|
-
```typescript
|
|
19
|
-
import { Budget } from "@theokit/sdk";
|
|
20
|
-
|
|
21
|
-
const handle = Budget.create({
|
|
22
|
-
name: "my-bot",
|
|
23
|
-
scope: "process",
|
|
24
|
-
mode: "warn",
|
|
25
|
-
limits: [
|
|
26
|
-
{ window: "1h", limitUsd: 5.0 },
|
|
27
|
-
{ window: "1d", limitUsd: 50.0 },
|
|
28
|
-
],
|
|
29
|
-
onThreshold: (event) => {
|
|
30
|
-
console.warn(`Budget ${event.budgetName}: ${event.threshold * 100}% of ${event.window} limit`);
|
|
31
|
-
},
|
|
32
|
-
onExceed: (event) => {
|
|
33
|
-
console.error(`Budget ${event.budgetName}: exceeded ${event.window} limit`);
|
|
34
|
-
},
|
|
35
|
-
});
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## Enforcement modes
|
|
39
|
-
|
|
40
|
-
| Mode | Behavior |
|
|
41
|
-
|---|---|
|
|
42
|
-
| `"audit"` | Log only. Never throws, never blocks. |
|
|
43
|
-
| `"warn"` | Callbacks fire at 80%, 95%, and 100% thresholds. No throw. Default. |
|
|
44
|
-
| `"block"` | Preflight throw (`BudgetExceededError`) BEFORE the LLM call when would-exceed. |
|
|
45
|
-
|
|
46
|
-
## Stacked limits
|
|
47
|
-
|
|
48
|
-
Pass multiple limits. ANY exceeded limit triggers enforcement:
|
|
49
|
-
|
|
50
|
-
```typescript
|
|
51
|
-
Budget.create({
|
|
52
|
-
name: "emergency-stop",
|
|
53
|
-
scope: "process",
|
|
54
|
-
mode: "block",
|
|
55
|
-
limits: [
|
|
56
|
-
{ window: "1h", limitUsd: 2.0 },
|
|
57
|
-
{ window: "1d", limitUsd: 10.0 },
|
|
58
|
-
{ window: "30d", limitUsd: 100.0 },
|
|
59
|
-
],
|
|
60
|
-
});
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
Empty `limits[]` is valid: pure tracking with no threshold/exceed callbacks.
|
|
64
|
-
|
|
65
|
-
## Time windows
|
|
66
|
-
|
|
67
|
-
| Window | Alignment |
|
|
68
|
-
|---|---|
|
|
69
|
-
| `"1h"` | Relative (last 60 minutes) |
|
|
70
|
-
| `"1d"` | UTC midnight boundary |
|
|
71
|
-
| `"1w"` | Monday 00:00 UTC |
|
|
72
|
-
| `"30d"` | 1st of month 00:00 UTC |
|
|
73
|
-
| `"365d"` | Jan 1 00:00 UTC |
|
|
74
|
-
|
|
75
|
-
## Managing budgets
|
|
76
|
-
|
|
77
|
-
```typescript
|
|
78
|
-
// Retrieve a budget handle
|
|
79
|
-
const handle = Budget.get("my-bot");
|
|
80
|
-
|
|
81
|
-
// Check spend and remaining
|
|
82
|
-
handle?.spentIn("1d"); // USD spent in current day window
|
|
83
|
-
handle?.remainingIn("1d"); // USD remaining before limit
|
|
84
|
-
|
|
85
|
-
// List all active budgets
|
|
86
|
-
const budgets = Budget.list();
|
|
87
|
-
|
|
88
|
-
// Snapshot all windows for all budgets
|
|
89
|
-
const snapshots = Budget.snapshot();
|
|
90
|
-
// [{ name, window, spentUsd, limitUsd, ratio }, ...]
|
|
91
|
-
|
|
92
|
-
// Delete a budget
|
|
93
|
-
Budget.delete("my-bot");
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
## Type reference
|
|
97
|
-
|
|
98
|
-
```typescript
|
|
99
|
-
type BudgetScope = "agent" | "call" | "process";
|
|
100
|
-
type BudgetWindow = "1h" | "1d" | "1w" | "30d" | "365d";
|
|
101
|
-
type BudgetMode = "audit" | "warn" | "block";
|
|
102
|
-
|
|
103
|
-
interface BudgetLimit {
|
|
104
|
-
readonly window: BudgetWindow;
|
|
105
|
-
readonly limitUsd: number;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
interface BudgetOptions {
|
|
109
|
-
readonly name: string; // must match ^[a-z0-9][a-z0-9_-]*$
|
|
110
|
-
readonly scope: BudgetScope;
|
|
111
|
-
readonly limits: ReadonlyArray<BudgetLimit>;
|
|
112
|
-
readonly mode?: BudgetMode; // default "warn"
|
|
113
|
-
readonly onThreshold?: (event: BudgetThresholdEvent) => void | Promise<void>;
|
|
114
|
-
readonly onExceed?: (event: BudgetExceedEvent) => void | Promise<void>;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
interface BudgetHandle {
|
|
118
|
-
readonly name: string;
|
|
119
|
-
readonly mode: BudgetMode;
|
|
120
|
-
readonly scope: BudgetScope;
|
|
121
|
-
readonly limits: ReadonlyArray<BudgetLimit>;
|
|
122
|
-
spentIn(window: BudgetWindow): number;
|
|
123
|
-
remainingIn(window: BudgetWindow): number;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
interface BudgetSnapshot {
|
|
127
|
-
readonly name: string;
|
|
128
|
-
readonly window: BudgetWindow;
|
|
129
|
-
readonly spentUsd: number;
|
|
130
|
-
readonly limitUsd: number;
|
|
131
|
-
readonly ratio: number;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
interface BudgetThresholdEvent {
|
|
135
|
-
readonly budgetName: string;
|
|
136
|
-
readonly window: BudgetWindow;
|
|
137
|
-
readonly threshold: 0.8 | 0.95;
|
|
138
|
-
readonly spentUsd: number;
|
|
139
|
-
readonly limitUsd: number;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
interface BudgetExceedEvent {
|
|
143
|
-
readonly budgetName: string;
|
|
144
|
-
readonly window: BudgetWindow;
|
|
145
|
-
readonly spentUsd: number;
|
|
146
|
-
readonly limitUsd: number;
|
|
147
|
-
readonly mode: BudgetMode;
|
|
148
|
-
}
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
## Wiring with agents
|
|
152
|
-
|
|
153
|
-
Budget enforcement integrates with `agent.send()`. When a budget is active
|
|
154
|
-
and mode is `"block"`, a preflight check runs before the LLM call. If the
|
|
155
|
-
estimated cost would exceed a limit, `BudgetExceededError` is thrown.
|
|
156
|
-
|
|
157
|
-
The `turn-ended` InteractionUpdate carries token usage that feeds the budget
|
|
158
|
-
ledger automatically:
|
|
159
|
-
|
|
160
|
-
```typescript
|
|
161
|
-
{ inputTokens, outputTokens, cacheReadTokens, cacheWriteTokens }
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
## Errors
|
|
165
|
-
|
|
166
|
-
| Error | When |
|
|
167
|
-
|---|---|
|
|
168
|
-
| `ConfigurationError` | Invalid `name` (grammar violation) or duplicate `name` |
|
|
169
|
-
| `BudgetExceededError` | `mode: "block"` and spend would exceed a limit |
|
|
170
|
-
|
|
171
|
-
## Known limitations
|
|
172
|
-
|
|
173
|
-
- v1 supports `scope: "process"` only. `"agent"` and `"call"` scopes are
|
|
174
|
-
reserved for future multi-tenant scenarios.
|
|
175
|
-
- In-flight `agent.send` calls referencing a deleted budget treat subsequent
|
|
176
|
-
charges as a silent no-op with a stderr warning.
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
user-invocable: false
|
|
3
|
-
paths:
|
|
4
|
-
- "**/*client*"
|
|
5
|
-
- "**/*Client*"
|
|
6
|
-
description: TheoKit SDK low-level HTTP client — TheoKitClient (DEPRECATED; prefer the Agent façade)
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# TheoKit Client
|
|
10
|
-
|
|
11
|
-
`TheoKitClient` is a browser-safe, zero-Node-dependency HTTP client (native
|
|
12
|
-
`fetch` + manual SSE parsing) for a legacy server-adapter contract.
|
|
13
|
-
|
|
14
|
-
> DEPRECATED since 2.x — the `@theokit/sdk/client` sub-path consumes a legacy
|
|
15
|
-
> server-adapter HTTP contract (`POST /agent/send`, `GET /agent/stream`) that the
|
|
16
|
-
> ecosystem no longer produces, and will be removed in the next major. For
|
|
17
|
-
> in-process runs use the `Agent` façade (`@theokit/sdk`); for HTTP, use the
|
|
18
|
-
> framework's typed `POST /api/agents/<name>` client. Reach for this only when
|
|
19
|
-
> maintaining an existing integration against the old contract.
|
|
20
|
-
|
|
21
|
-
```ts
|
|
22
|
-
import { TheoKitClient } from "@theokit/sdk/client";
|
|
23
|
-
import type { ClientOptions, SendResponse, StreamEvent } from "@theokit/sdk/client";
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
## Construct
|
|
27
|
-
|
|
28
|
-
The constructor takes `ClientOptions` — `baseUrl` (required), optional `basePath`
|
|
29
|
-
and `headers`.
|
|
30
|
-
|
|
31
|
-
```ts
|
|
32
|
-
const client = new TheoKitClient({
|
|
33
|
-
baseUrl: "https://adapter.example.com",
|
|
34
|
-
basePath: "/agent", // optional
|
|
35
|
-
headers: { authorization: "Bearer …" }, // optional
|
|
36
|
-
});
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## Send (one-shot)
|
|
40
|
-
|
|
41
|
-
`send(input)` POSTs and resolves a `SendResponse` (`{ status, output?, error? }`).
|
|
42
|
-
|
|
43
|
-
```ts
|
|
44
|
-
const res: SendResponse = await client.send("summarize the repo");
|
|
45
|
-
if (res.error) throw new Error(res.error);
|
|
46
|
-
console.log(res.status, res.output);
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
## Stream (SSE)
|
|
50
|
-
|
|
51
|
-
`stream(input)` returns an `AsyncGenerator<StreamEvent>`; each `StreamEvent` has a
|
|
52
|
-
`type` and an optional `text` (plus arbitrary extra fields).
|
|
53
|
-
|
|
54
|
-
```ts
|
|
55
|
-
for await (const event of client.stream("build the changelog")) {
|
|
56
|
-
if (event.type === "text" && event.text) process.stdout.write(event.text);
|
|
57
|
-
}
|
|
58
|
-
```
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
user-invocable: false
|
|
3
|
-
paths:
|
|
4
|
-
- "**/*compact*"
|
|
5
|
-
- "**/*Compact*"
|
|
6
|
-
description: TheoKit SDK compaction reference — compactTranscript, shouldCompact, checkpoints, context-overflow
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# TheoKit Compaction
|
|
10
|
-
|
|
11
|
-
Public context-management helpers. Every function is pure and never mutates its
|
|
12
|
-
input. A `CompressibleMessage` is `{ role: "user" | "assistant" | "system"; content: string }`.
|
|
13
|
-
|
|
14
|
-
```typescript
|
|
15
|
-
import {
|
|
16
|
-
compactTranscript,
|
|
17
|
-
shouldCompact,
|
|
18
|
-
estimateTokens,
|
|
19
|
-
buildCheckpoint,
|
|
20
|
-
filterFromLatestCheckpoint,
|
|
21
|
-
isContextOverflowError,
|
|
22
|
-
CHECKPOINT_MARKER,
|
|
23
|
-
SUMMARY_TEMPLATE,
|
|
24
|
-
type CompactTranscriptOptions,
|
|
25
|
-
type ShouldCompactInput,
|
|
26
|
-
type CompressibleMessage,
|
|
27
|
-
} from "@theokit/sdk/compaction";
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
## Pre-call gate — `estimateTokens` + `shouldCompact`
|
|
31
|
-
|
|
32
|
-
`estimateTokens` is a tokenizer-free `ceil(text.length / 4)` heuristic — a cheap
|
|
33
|
-
gate, NOT exact tokenization. `shouldCompact` is pure: the caller supplies the
|
|
34
|
-
model's window.
|
|
35
|
-
|
|
36
|
-
```typescript
|
|
37
|
-
const estimated = estimateTokens(transcript.map((m) => m.content).join("\n"));
|
|
38
|
-
|
|
39
|
-
const input: ShouldCompactInput = {
|
|
40
|
-
estimated,
|
|
41
|
-
contextWindow: 200_000,
|
|
42
|
-
buffer: 8_000, // headroom to reserve (output + safety margin)
|
|
43
|
-
maxOutput: 4_000, // optional; separate response reservation (default 0)
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
if (shouldCompact(input)) {
|
|
47
|
-
// compact before sending — see below
|
|
48
|
-
}
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
## `compactTranscript` — summarize the older window
|
|
52
|
-
|
|
53
|
-
Default `keepRecent` mode keeps the last N turns verbatim (default 6) and
|
|
54
|
-
preserves leading system prompts. The older window is summarized via the
|
|
55
|
-
caller-supplied `summarize` callback (or dropped if omitted). With `failSafe`, a
|
|
56
|
-
thrown summarizer returns the ORIGINAL transcript instead of propagating.
|
|
57
|
-
|
|
58
|
-
```typescript
|
|
59
|
-
const opts: CompactTranscriptOptions = {
|
|
60
|
-
keepRecent: 6, // OR keepTokens: 40_000 (token-budget mode, takes precedence)
|
|
61
|
-
failSafe: true,
|
|
62
|
-
summarize: async (older: CompressibleMessage[], template: string) => {
|
|
63
|
-
// template is SUMMARY_TEMPLATE unless overridden via summaryTemplate
|
|
64
|
-
const summary = await callYourModel(template, older);
|
|
65
|
-
return { role: "system", content: summary };
|
|
66
|
-
},
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
const compacted = await compactTranscript(transcript, opts);
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
## Checkpoints — mark and filter
|
|
73
|
-
|
|
74
|
-
`buildCheckpoint` produces a `system` turn whose content starts with
|
|
75
|
-
`CHECKPOINT_MARKER`. `filterFromLatestCheckpoint` returns turns relative to the
|
|
76
|
-
most recent marker (`include: "after"` excludes it — the default; `"from"`
|
|
77
|
-
includes it).
|
|
78
|
-
|
|
79
|
-
```typescript
|
|
80
|
-
const marked = [...transcript, buildCheckpoint("milestone: tests green")];
|
|
81
|
-
|
|
82
|
-
const recent = filterFromLatestCheckpoint(marked); // after (exclusive)
|
|
83
|
-
const withHead = filterFromLatestCheckpoint(marked, { include: "from" });
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
## Context-overflow detection
|
|
87
|
-
|
|
88
|
-
`isContextOverflowError` is `true` only for a `TheokitAgentError` reporting the
|
|
89
|
-
typed `context_too_long` code — never a brittle message regex.
|
|
90
|
-
|
|
91
|
-
```typescript
|
|
92
|
-
try {
|
|
93
|
-
await agent.send(prompt);
|
|
94
|
-
} catch (err) {
|
|
95
|
-
if (isContextOverflowError(err)) {
|
|
96
|
-
const compacted = await compactTranscript(transcript, { keepRecent: 4 });
|
|
97
|
-
// retry with the compacted transcript
|
|
98
|
-
} else {
|
|
99
|
-
throw err;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
```
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
user-invocable: false
|
|
3
|
-
description: Bound in-process parallelism with Semaphore.create and mapWithConcurrency from @theokit/sdk/concurrency.
|
|
4
|
-
paths:
|
|
5
|
-
- "**/*concurren*"
|
|
6
|
-
- "**/*semaphore*"
|
|
7
|
-
- "**/*Semaphore*"
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# TheoKit SDK -- Concurrency
|
|
11
|
-
|
|
12
|
-
In-house concurrency helpers (no `p-limit`/`p-map` dependency). `Semaphore.create(permits)` builds an N-permit async counting gate; `mapWithConcurrency` runs an async mapper over items with bounded parallelism while preserving input order.
|
|
13
|
-
|
|
14
|
-
## Import
|
|
15
|
-
|
|
16
|
-
```typescript
|
|
17
|
-
import { Semaphore, mapWithConcurrency } from "@theokit/sdk/concurrency";
|
|
18
|
-
import type { AsyncSemaphore } from "@theokit/sdk/concurrency";
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## Signatures
|
|
22
|
-
|
|
23
|
-
```typescript
|
|
24
|
-
class Semaphore {
|
|
25
|
-
static create(permits: number): AsyncSemaphore; // canonical factory (ADR 0015)
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
interface AsyncSemaphore {
|
|
29
|
-
acquire(): Promise<() => void>; // returns a release fn; call it exactly once
|
|
30
|
-
inFlight(): number; // permits currently held
|
|
31
|
-
pending(): number; // in-flight + queued waiters
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
function mapWithConcurrency<T, R>(
|
|
35
|
-
items: ReadonlyArray<T>,
|
|
36
|
-
concurrency: number, // positive integer; validated
|
|
37
|
-
fn: (item: T, index: number, signal: AbortSignal) => Promise<R>,
|
|
38
|
-
options?: { signal?: AbortSignal },
|
|
39
|
-
): Promise<R[]>; // ordered; fail-fast; throws ConfigurationError on bad concurrency
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
## Semaphore -- release in a finally
|
|
43
|
-
|
|
44
|
-
```typescript
|
|
45
|
-
const sem = Semaphore.create(4); // at most 4 in flight
|
|
46
|
-
|
|
47
|
-
async function guarded<T>(task: () => Promise<T>): Promise<T> {
|
|
48
|
-
const release = await sem.acquire();
|
|
49
|
-
try {
|
|
50
|
-
return await task();
|
|
51
|
-
} finally {
|
|
52
|
-
release(); // release exactly once (idempotent, but leaking it consumes a permit)
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
## mapWithConcurrency -- ordered bounded map
|
|
58
|
-
|
|
59
|
-
```typescript
|
|
60
|
-
const controller = new AbortController();
|
|
61
|
-
const results = await mapWithConcurrency(
|
|
62
|
-
["a", "b", "c"],
|
|
63
|
-
2, // max 2 concurrent fetches
|
|
64
|
-
async (url, _index, signal) => (await fetch(url, { signal })).json(),
|
|
65
|
-
{ signal: controller.signal },
|
|
66
|
-
);
|
|
67
|
-
// results align with input order; rejects on the first task error
|
|
68
|
-
```
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
user-invocable: false
|
|
3
|
-
paths:
|
|
4
|
-
- "**/.theokit/**"
|
|
5
|
-
- "**/config.*"
|
|
6
|
-
- "**/theo.config.*"
|
|
7
|
-
description: TheoKit SDK configuration reference — .theokit/ structure, mcp.json, hooks, env vars, config discovery
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# TheoKit Configuration
|
|
11
|
-
|
|
12
|
-
## Directory structure
|
|
13
|
-
|
|
14
|
-
```
|
|
15
|
-
.theokit/
|
|
16
|
-
+-- hooks/ # one .md per hook
|
|
17
|
-
| +-- shell-policy.md
|
|
18
|
-
+-- context/ # one .md per context source
|
|
19
|
-
| +-- bot-readme.md
|
|
20
|
-
+-- skills/<name>/SKILL.md # named capability packs
|
|
21
|
-
+-- plugins/<name>/PLUGIN.md # plugin definitions
|
|
22
|
-
+-- cron/
|
|
23
|
-
| +-- jobs.json # local cron state (auto-created)
|
|
24
|
-
+-- agents/*.md # subagent definitions (name + description frontmatter)
|
|
25
|
-
+-- memory/ # local memory storage
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
User-level config lives at `~/.theokit/` with the same structure.
|
|
29
|
-
|
|
30
|
-
## Config file format (v1.5+)
|
|
31
|
-
|
|
32
|
-
Markdown + YAML frontmatter. One file per entity.
|
|
33
|
-
|
|
34
|
-
### Hook example
|
|
35
|
-
|
|
36
|
-
```markdown
|
|
37
|
-
---
|
|
38
|
-
event: preToolUse
|
|
39
|
-
matcher: ^shell$
|
|
40
|
-
command: node .theokit/policy.js
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
# Shell tool policy gate
|
|
44
|
-
|
|
45
|
-
Vets shell tool invocations before spawn.
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
### Disabling an entry
|
|
49
|
-
|
|
50
|
-
Rename `<name>.md` to `<name>.md.disabled` — the loader silently skips it.
|
|
51
|
-
|
|
52
|
-
## Setting sources
|
|
53
|
-
|
|
54
|
-
`local.settingSources` controls which config layers a local agent loads:
|
|
55
|
-
|
|
56
|
-
| Value | Source |
|
|
57
|
-
|---|---|
|
|
58
|
-
| `"project"` | `.theokit/` in the workspace |
|
|
59
|
-
| `"user"` | `~/.theokit/` |
|
|
60
|
-
| `"team"` | Team settings synced from the dashboard |
|
|
61
|
-
| `"mdm"` | MDM-managed enterprise settings |
|
|
62
|
-
| `"plugins"` | Plugin-provided settings |
|
|
63
|
-
| `"all"` | All of the above |
|
|
64
|
-
|
|
65
|
-
Cloud agents always load project / team / plugins and ignore this field.
|
|
66
|
-
|
|
67
|
-
```typescript
|
|
68
|
-
const agent = await Agent.create({
|
|
69
|
-
apiKey: process.env.THEOKIT_API_KEY!,
|
|
70
|
-
model: { id: "google/gemini-2.0-flash-001" },
|
|
71
|
-
local: { cwd: process.cwd(), settingSources: ["project", "user"] },
|
|
72
|
-
});
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
## Environment variables
|
|
76
|
-
|
|
77
|
-
| Env var | Purpose |
|
|
78
|
-
|---|---|
|
|
79
|
-
| `THEOKIT_API_KEY` | Default API key (user or service account) |
|
|
80
|
-
| `THEOKIT_REDACT_SECRETS` | Set `false` to disable secret redaction (default: `true`) |
|
|
81
|
-
| `OLLAMA_HOST` | Ollama server URL (default: `http://localhost:11434`) |
|
|
82
|
-
| `OLLAMA_API_KEY` | Bearer token for Ollama Cloud or proxy |
|
|
83
|
-
| `OPENROUTER_API_KEY` | OpenRouter provider key |
|
|
84
|
-
| `ANTHROPIC_API_KEY` | Anthropic provider key |
|
|
85
|
-
| `OPENAI_API_KEY` | OpenAI provider key |
|
|
86
|
-
|
|
87
|
-
## MCP server discovery
|
|
88
|
-
|
|
89
|
-
Servers are loaded with first-match-wins precedence:
|
|
90
|
-
|
|
91
|
-
1. `mcpServers` on `agent.send()` — fully replaces creation-time servers
|
|
92
|
-
2. `mcpServers` on `Agent.create()` — used when no per-send override
|
|
93
|
-
3. Plugin servers (if settingSources includes `"plugins"`)
|
|
94
|
-
4. Project servers from `.theokit/mcp.json` (if settingSources includes `"project"`)
|
|
95
|
-
5. User servers from `~/.theokit/mcp.json` (if settingSources includes `"user"`)
|
|
96
|
-
|
|
97
|
-
## Context manager config
|
|
98
|
-
|
|
99
|
-
```typescript
|
|
100
|
-
const agent = await Agent.create({
|
|
101
|
-
context: {
|
|
102
|
-
manager: "file", // reads .theokit/context/<name>.md
|
|
103
|
-
maxTokens: 1200,
|
|
104
|
-
},
|
|
105
|
-
local: { cwd: process.cwd(), settingSources: ["project"] },
|
|
106
|
-
});
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
`manager: "inline"` uses `sources` passed directly in `Agent.create()`.
|
|
110
|
-
|
|
111
|
-
## Skills config
|
|
112
|
-
|
|
113
|
-
```typescript
|
|
114
|
-
const agent = await Agent.create({
|
|
115
|
-
skills: {
|
|
116
|
-
enabled: ["code-review", "test-architect"],
|
|
117
|
-
},
|
|
118
|
-
local: { cwd: process.cwd(), settingSources: ["project"] },
|
|
119
|
-
});
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
Skills live at `.theokit/skills/<name>/SKILL.md` with strict YAML frontmatter
|
|
123
|
-
(`name`, `description` required).
|
|
124
|
-
|
|
125
|
-
## Migration from legacy JSON
|
|
126
|
-
|
|
127
|
-
```bash
|
|
128
|
-
npx theokit-migrate-config --apply
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
Dry-run by default; `--apply` writes. Backs up originals to
|
|
132
|
-
`<file>.json.<unix-ts>.bak`. Legacy JSON still works in v1.x with a
|
|
133
|
-
deprecation warning. JSON support removed in v2.0.
|
|
134
|
-
|
|
135
|
-
## `agent.reload()`
|
|
136
|
-
|
|
137
|
-
Re-reads filesystem config (context, skills, hooks, project MCP, subagents)
|
|
138
|
-
without disposing the agent or losing conversation state. Invalid files
|
|
139
|
-
raise `ConfigurationError`.
|