@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,66 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
user-invocable: false
|
|
3
|
-
description: Clean model-emitted tool arguments with sanitizeToolInput from @theokit/sdk/sanitize (total, never throws).
|
|
4
|
-
paths:
|
|
5
|
-
- "**/*sanitize*"
|
|
6
|
-
- "**/*Sanitize*"
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# TheoKit SDK -- Sanitize
|
|
10
|
-
|
|
11
|
-
`sanitizeToolInput` cleans the raw arguments a model emitted for a tool call: trim (default on), optionally coerce string values toward their expected type, optionally repair malformed JSON. It is pure, synchronous, and TOTAL -- it NEVER throws (non-object input is returned unchanged) and never changes a value's meaning, only its hygiene/representation.
|
|
12
|
-
|
|
13
|
-
## Import
|
|
14
|
-
|
|
15
|
-
```typescript
|
|
16
|
-
import { sanitizeToolInput } from "@theokit/sdk/sanitize";
|
|
17
|
-
import type { SanitizeOptions, SanitizeResult } from "@theokit/sdk/sanitize";
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## Signature
|
|
21
|
-
|
|
22
|
-
```typescript
|
|
23
|
-
function sanitizeToolInput(
|
|
24
|
-
input: Record<string, unknown>,
|
|
25
|
-
options?: SanitizeOptions,
|
|
26
|
-
): SanitizeResult;
|
|
27
|
-
|
|
28
|
-
interface SanitizeOptions {
|
|
29
|
-
trim?: boolean; // trim whitespace on string values. Default true
|
|
30
|
-
coerce?: boolean; // "5"->5, "true"->true, "null"->null, JSON. Default false
|
|
31
|
-
repairJson?: boolean; // repair-then-parse malformed JSON strings (jsonrepair). Default false
|
|
32
|
-
schema?: ZodType; // when a z.object(...), coercion is schema-aware per top-level field
|
|
33
|
-
deep?: boolean; // recurse into nested objects/arrays. Default false (shallow)
|
|
34
|
-
maxDepth?: number; // max recursion depth when deep. Default 8
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
interface SanitizeResult<T = Record<string, unknown>> {
|
|
38
|
-
value: T; // the sanitized copy
|
|
39
|
-
changed: boolean; // true when any value was altered
|
|
40
|
-
notes: string[]; // one human-readable line per change (for logging)
|
|
41
|
-
}
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## Trim only (default)
|
|
45
|
-
|
|
46
|
-
```typescript
|
|
47
|
-
const { value, changed, notes } = sanitizeToolInput({ query: " hello " });
|
|
48
|
-
// value -> { query: "hello" }, changed -> true, notes -> ["query: trimmed whitespace"]
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
## Schema-aware coercion inside a tool handler
|
|
52
|
-
|
|
53
|
-
Pass the tool's Zod object schema so a `z.string()` field keeps `"5"` as a string while a `z.number()` field coerces it. Never throws, so it is safe to run before `schema.parse`.
|
|
54
|
-
|
|
55
|
-
```typescript
|
|
56
|
-
import { z } from "zod";
|
|
57
|
-
|
|
58
|
-
const inputSchema = z.object({ count: z.number(), label: z.string() });
|
|
59
|
-
|
|
60
|
-
const { value } = sanitizeToolInput(
|
|
61
|
-
{ count: "5", label: "42" },
|
|
62
|
-
{ coerce: true, schema: inputSchema },
|
|
63
|
-
);
|
|
64
|
-
// value -> { count: 5, label: "42" } (label stays a string; count coerced)
|
|
65
|
-
const parsed = inputSchema.parse(value);
|
|
66
|
-
```
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
user-invocable: false
|
|
3
|
-
description: Discover SKILL.md packs and render the <skills> block with @theokit/sdk/skills, plus enabling skills on an agent.
|
|
4
|
-
paths:
|
|
5
|
-
- "**/*skill*"
|
|
6
|
-
- "**/*Skill*"
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# TheoKit SDK -- Skills
|
|
10
|
-
|
|
11
|
-
`discoverSkills` walks a directory for `<dir>/<name>/SKILL.md` packs, parses strict YAML frontmatter (`name`/`description` required; `category`/`dependencies` optional), skips malformed skills and symlink escapes, and NEVER throws (a missing/unreadable/non-directory path yields `[]`). `buildSkillsBlock` renders the prompt-injection-safe `<skills>` system-prompt block from the discovered list. These are the same primitives the SDK runtime uses internally for `.theokit/skills` discovery.
|
|
12
|
-
|
|
13
|
-
## Import
|
|
14
|
-
|
|
15
|
-
```typescript
|
|
16
|
-
import { discoverSkills, buildSkillsBlock } from "@theokit/sdk/skills";
|
|
17
|
-
import type { Skill, DiscoverSkillsOptions, InvalidSkillInfo } from "@theokit/sdk/skills";
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## Signatures
|
|
21
|
-
|
|
22
|
-
```typescript
|
|
23
|
-
function discoverSkills(dir: string, options?: DiscoverSkillsOptions): Promise<Skill[]>;
|
|
24
|
-
function buildSkillsBlock(
|
|
25
|
-
skills: ReadonlyArray<{ name: string; description: string }>,
|
|
26
|
-
): string | undefined; // undefined for an empty list
|
|
27
|
-
|
|
28
|
-
interface Skill {
|
|
29
|
-
name: string;
|
|
30
|
-
description: string;
|
|
31
|
-
source: string; // absolute path to the discovered SKILL.md
|
|
32
|
-
category?: string;
|
|
33
|
-
dependencies?: string[];
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
interface DiscoverSkillsOptions {
|
|
37
|
-
onInvalidSkill?: (info: InvalidSkillInfo) => void; // called per malformed SKILL.md
|
|
38
|
-
}
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
## Discover and render
|
|
42
|
-
|
|
43
|
-
```typescript
|
|
44
|
-
const skills = await discoverSkills(".theokit/skills", {
|
|
45
|
-
onInvalidSkill: (info: InvalidSkillInfo) =>
|
|
46
|
-
console.warn(`skipped ${info.name}: ${info.code} — ${info.message}`),
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
// readdir order is OS-dependent; sort for a stable block
|
|
50
|
-
skills.sort((a, b) => a.name.localeCompare(b.name));
|
|
51
|
-
|
|
52
|
-
const block = buildSkillsBlock(skills); // string | undefined
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
## Skill packs live at `.theokit/skills/<name>/SKILL.md`
|
|
56
|
-
|
|
57
|
-
Each pack is a directory with a `SKILL.md` whose frontmatter has `name` + `description`. Enable specific packs on an agent by name:
|
|
58
|
-
|
|
59
|
-
```typescript
|
|
60
|
-
import { Agent } from "@theokit/sdk";
|
|
61
|
-
|
|
62
|
-
const agent = await Agent.create({
|
|
63
|
-
apiKey: process.env.THEOKIT_API_KEY!,
|
|
64
|
-
model: { id: "google/gemini-2.0-flash-001" },
|
|
65
|
-
local: { cwd: process.cwd() },
|
|
66
|
-
skills: { enabled: ["research", "code-review"] },
|
|
67
|
-
});
|
|
68
|
-
```
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
user-invocable: false
|
|
3
|
-
paths:
|
|
4
|
-
- "**/*stream*"
|
|
5
|
-
- "**/*Stream*"
|
|
6
|
-
- "**/*SDKMessage*"
|
|
7
|
-
description: TheoKit SDK streaming reference — Run.stream(), SDKMessage union, streamObject, generateObject
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# TheoKit Streaming
|
|
11
|
-
|
|
12
|
-
## `Run.stream()` — SDKMessage events
|
|
13
|
-
|
|
14
|
-
```typescript
|
|
15
|
-
const run = await agent.send("Find the bug in src/auth.ts");
|
|
16
|
-
for await (const event of run.stream()) {
|
|
17
|
-
switch (event.type) {
|
|
18
|
-
case "assistant":
|
|
19
|
-
for (const block of event.message.content) {
|
|
20
|
-
if (block.type === "text") process.stdout.write(block.text);
|
|
21
|
-
}
|
|
22
|
-
break;
|
|
23
|
-
case "thinking":
|
|
24
|
-
process.stdout.write(event.text);
|
|
25
|
-
break;
|
|
26
|
-
case "tool_call":
|
|
27
|
-
console.log(`[tool] ${event.name}: ${event.status}`);
|
|
28
|
-
break;
|
|
29
|
-
case "status":
|
|
30
|
-
console.log(`[status] ${event.status}`);
|
|
31
|
-
break;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## SDKMessage discriminated union
|
|
37
|
-
|
|
38
|
-
```typescript
|
|
39
|
-
type SDKMessage =
|
|
40
|
-
| SDKSystemMessage // "system" — init metadata, emitted once
|
|
41
|
-
| SDKUserMessageEvent // "user" — echo of user prompt
|
|
42
|
-
| SDKAssistantMessage // "assistant" — model text output
|
|
43
|
-
| SDKThinkingMessage // "thinking" — reasoning content
|
|
44
|
-
| SDKToolUseMessage // "tool_call" — tool invocation lifecycle
|
|
45
|
-
| SDKStatusMessage // "status" — cloud run transitions
|
|
46
|
-
| SDKTaskMessage // "task" — task milestones/summaries
|
|
47
|
-
| SDKRequestMessage; // "request" — awaiting user input
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
All events include `agent_id` and `run_id`.
|
|
51
|
-
|
|
52
|
-
### Key message types
|
|
53
|
-
|
|
54
|
-
| Type | Key fields |
|
|
55
|
-
|---|---|
|
|
56
|
-
| `"system"` | `subtype?: "init"`, `model?`, `tools?` |
|
|
57
|
-
| `"assistant"` | `message.content: (TextBlock \| ToolUseBlock)[]` |
|
|
58
|
-
| `"thinking"` | `text`, `thinking_duration_ms?` |
|
|
59
|
-
| `"tool_call"` | `call_id`, `name`, `status`, `args?`, `result?`, `truncated?` |
|
|
60
|
-
| `"status"` | `status: "CREATING" \| "RUNNING" \| "FINISHED" \| ...` |
|
|
61
|
-
|
|
62
|
-
`tool_call` is emitted twice: once with `status: "running"` + `args`, then
|
|
63
|
-
again on completion with `status: "completed"` or `"error"` + `result`.
|
|
64
|
-
|
|
65
|
-
## Raw deltas — `onDelta` callback
|
|
66
|
-
|
|
67
|
-
For per-token streaming, pass `onDelta` to `agent.send()`:
|
|
68
|
-
|
|
69
|
-
```typescript
|
|
70
|
-
const run = await agent.send("Refactor the utils module", {
|
|
71
|
-
onDelta: ({ update }) => {
|
|
72
|
-
if (update.type === "text-delta") process.stdout.write(update.text);
|
|
73
|
-
if (update.type === "thinking-delta") process.stdout.write(update.text);
|
|
74
|
-
},
|
|
75
|
-
onStep: ({ step }) => {
|
|
76
|
-
console.log(`[step] ${step.type}`);
|
|
77
|
-
},
|
|
78
|
-
});
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
### InteractionUpdate types
|
|
82
|
-
|
|
83
|
-
`text-delta`, `thinking-delta`, `thinking-completed`, `tool-call-started`,
|
|
84
|
-
`tool-call-completed`, `partial-tool-call`, `token-delta`, `step-started`,
|
|
85
|
-
`step-completed`, `turn-ended`, `summary`, `shell-output-delta`.
|
|
86
|
-
|
|
87
|
-
`turn-ended` includes token usage:
|
|
88
|
-
```typescript
|
|
89
|
-
{ inputTokens, outputTokens, cacheReadTokens, cacheWriteTokens }
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
## `Agent.generateObject()` — structured output
|
|
93
|
-
|
|
94
|
-
```typescript
|
|
95
|
-
import { z } from "zod";
|
|
96
|
-
import { Agent } from "@theokit/sdk";
|
|
97
|
-
|
|
98
|
-
const { object, raw, usage, finishReason } = await Agent.generateObject({
|
|
99
|
-
schema: z.object({
|
|
100
|
-
title: z.string().min(1),
|
|
101
|
-
summary: z.string(),
|
|
102
|
-
year: z.number().nullable(),
|
|
103
|
-
}),
|
|
104
|
-
prompt: "Produce a fact card about: Brazilian samba.",
|
|
105
|
-
model: { id: "google/gemini-2.0-flash-001" },
|
|
106
|
-
local: { cwd: process.cwd(), sandboxOptions: { enabled: false } },
|
|
107
|
-
apiKey: process.env.THEOKIT_API_KEY,
|
|
108
|
-
maxRetries: 1,
|
|
109
|
-
});
|
|
110
|
-
// object is fully typed: z.infer<typeof schema>
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
Throws `GenerateObjectError` with `code: "no_tool_call" | "parse_failed"`.
|
|
114
|
-
|
|
115
|
-
## `Agent.streamObject()` — streaming structured output (v1.2+)
|
|
116
|
-
|
|
117
|
-
```typescript
|
|
118
|
-
for await (const evt of Agent.streamObject({
|
|
119
|
-
schema: FactCard,
|
|
120
|
-
prompt: "Produce a fact card about: jazz music.",
|
|
121
|
-
model: { id: "google/gemini-2.0-flash-001" },
|
|
122
|
-
apiKey: process.env.THEOKIT_API_KEY,
|
|
123
|
-
local: { cwd: process.cwd() },
|
|
124
|
-
})) {
|
|
125
|
-
if (evt.type === "partial") render(evt.partial);
|
|
126
|
-
if (evt.type === "complete") finalize(evt.object);
|
|
127
|
-
}
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
### StreamObjectEvent
|
|
131
|
-
|
|
132
|
-
```typescript
|
|
133
|
-
type StreamObjectEvent<T> =
|
|
134
|
-
| { type: "partial"; partial: DeepPartial<T>; attempt: number }
|
|
135
|
-
| { type: "complete"; object: T; raw: unknown; usage; finishReason };
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
The `complete` event always fires (or the iterator throws `StreamObjectError`).
|
|
139
|
-
Partials are best-effort.
|
|
140
|
-
|
|
141
|
-
## Waiting without streaming
|
|
142
|
-
|
|
143
|
-
```typescript
|
|
144
|
-
const result = await run.wait();
|
|
145
|
-
console.log(result.status); // "finished" | "error" | "cancelled"
|
|
146
|
-
console.log(result.result); // final assistant text
|
|
147
|
-
console.log(result.durationMs);
|
|
148
|
-
console.log(result.git); // cloud: { branches: [{ repoUrl, branch?, prUrl? }] }
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
## Cancelling
|
|
152
|
-
|
|
153
|
-
```typescript
|
|
154
|
-
await run.cancel();
|
|
155
|
-
// status moves to "cancelled", partial output preserved
|
|
156
|
-
```
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
user-invocable: false
|
|
3
|
-
paths:
|
|
4
|
-
- "**/*subagent*"
|
|
5
|
-
- "**/*a2a*"
|
|
6
|
-
- "**/*delegat*"
|
|
7
|
-
description: TheoKit SDK subagents — @theokit/sdk/a2a (SubAgent.create, AgentMailbox, MessageBus, delegation hooks) and @theokit/sdk/subagents (subagentToolWhitelist, withSubagentToolScope)
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# TheoKit SubAgents
|
|
11
|
-
|
|
12
|
-
Two subpaths cover delegation. `@theokit/sdk/a2a` builds a child agent invocable as
|
|
13
|
-
a tool plus the in-process message bus; `@theokit/sdk/subagents` scopes which tools a
|
|
14
|
-
subagent may call.
|
|
15
|
-
|
|
16
|
-
```typescript
|
|
17
|
-
import {
|
|
18
|
-
SubAgent,
|
|
19
|
-
AgentMailbox,
|
|
20
|
-
MessageBus,
|
|
21
|
-
MaxDelegationDepthError,
|
|
22
|
-
type SubAgentSpec,
|
|
23
|
-
} from "@theokit/sdk/a2a";
|
|
24
|
-
import { subagentToolWhitelist, withSubagentToolScope } from "@theokit/sdk/subagents";
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
## `SubAgent.create` — delegation as a tool
|
|
28
|
-
|
|
29
|
-
`SubAgent.create(spec, parentDepth?)` returns a `CustomTool`. When the LLM invokes it,
|
|
30
|
-
a child agent runs the input as a message. Depth is tracked — exceeding
|
|
31
|
-
`maxDelegationDepth` throws `MaxDelegationDepthError`.
|
|
32
|
-
|
|
33
|
-
```typescript
|
|
34
|
-
const researcher = SubAgent.create({
|
|
35
|
-
name: "researcher",
|
|
36
|
-
description: "Delegate research questions to a focused child agent",
|
|
37
|
-
instructions: "You research topics and return a concise summary.",
|
|
38
|
-
model: "google/gemini-2.0-flash-001",
|
|
39
|
-
tools: [], // CustomTool[] the child may use
|
|
40
|
-
maxDelegationDepth: 3,
|
|
41
|
-
onDelegationStart: (ctx) => {
|
|
42
|
-
if (ctx.iteration > 5) return { proceed: false, rejectionReason: "too many calls" };
|
|
43
|
-
return { proceed: true };
|
|
44
|
-
},
|
|
45
|
-
onDelegationComplete: (ctx) => {
|
|
46
|
-
if (ctx.result) return { feedback: "(reviewed)" };
|
|
47
|
-
},
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
const agent = await Agent.create({
|
|
51
|
-
apiKey: process.env.THEOKIT_API_KEY!,
|
|
52
|
-
model: { id: "google/gemini-2.0-flash-001" },
|
|
53
|
-
local: { cwd: process.cwd() },
|
|
54
|
-
tools: [researcher],
|
|
55
|
-
});
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
`SubAgentSpec` also supports `messageFilter` (opt-in parent-context forwarding, off by
|
|
59
|
-
default so memory isolation stays the default) and `includeToolResults` (append the
|
|
60
|
-
child's tool results, otherwise text-only).
|
|
61
|
-
|
|
62
|
-
## Inline subagents on `Agent.create`
|
|
63
|
-
|
|
64
|
-
Simple cases need no `SubAgent.create` — declare them inline:
|
|
65
|
-
|
|
66
|
-
```typescript
|
|
67
|
-
const agent = await Agent.create({
|
|
68
|
-
apiKey: process.env.THEOKIT_API_KEY!,
|
|
69
|
-
model: { id: "google/gemini-2.0-flash-001" },
|
|
70
|
-
local: { cwd: process.cwd() },
|
|
71
|
-
agents: {
|
|
72
|
-
reviewer: {
|
|
73
|
-
description: "Reviews code for bugs",
|
|
74
|
-
prompt: "You are a strict code reviewer.",
|
|
75
|
-
model: "google/gemini-2.0-flash-001",
|
|
76
|
-
},
|
|
77
|
-
},
|
|
78
|
-
});
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
## Tool scoping — `withSubagentToolScope`
|
|
82
|
-
|
|
83
|
-
`subagentToolWhitelist(definition)` derives the allowed tool-name `Set` (or `undefined`
|
|
84
|
-
when unscoped) from `definition.tools`. `withSubagentToolScope` runs a fn under that
|
|
85
|
-
whitelist so a `tools: ["read_file"]` subagent provably cannot call `write_file`.
|
|
86
|
-
|
|
87
|
-
```typescript
|
|
88
|
-
const whitelist = subagentToolWhitelist({ tools: ["read_file"] }); // Set(["read_file"])
|
|
89
|
-
|
|
90
|
-
await withSubagentToolScope({ tools: ["read_file"] }, async () => {
|
|
91
|
-
// dispatch veto enforces the whitelist here
|
|
92
|
-
});
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
## Agent-to-agent messaging
|
|
96
|
-
|
|
97
|
-
```typescript
|
|
98
|
-
const bus = new MessageBus();
|
|
99
|
-
const alice = new AgentMailbox("alice", bus);
|
|
100
|
-
const bob = new AgentMailbox("bob", bus);
|
|
101
|
-
|
|
102
|
-
bob.onMessage(async (msg) => ({ type: "ack", payload: { ok: true } }));
|
|
103
|
-
|
|
104
|
-
await alice.send("bob", { type: "greet", payload: { text: "hi" } });
|
|
105
|
-
const reply = await alice.request("bob", { type: "ping", payload: null }, { timeoutMs: 1000 });
|
|
106
|
-
|
|
107
|
-
alice.dispose();
|
|
108
|
-
bob.dispose();
|
|
109
|
-
```
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
user-invocable: false
|
|
3
|
-
paths:
|
|
4
|
-
- "**/*subscri*"
|
|
5
|
-
- "**/*sse*"
|
|
6
|
-
- "**/*websocket*"
|
|
7
|
-
- "**/*ws.*"
|
|
8
|
-
description: TheoKit SDK Subscriptions API — Subscription.create, SSE/WebSocket transport, subscribe, tracked, resume tokens
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# TheoKit Subscriptions
|
|
12
|
-
|
|
13
|
-
Typed WebSocket + W3C SSE subscriptions with opaque resume tokens. Available
|
|
14
|
-
via the `@theokit/sdk/subscription` sub-path import (not on the main barrel).
|
|
15
|
-
|
|
16
|
-
## Server side — `Subscription.create`
|
|
17
|
-
|
|
18
|
-
```typescript
|
|
19
|
-
import { Subscription } from "@theokit/sdk/subscription";
|
|
20
|
-
import { z } from "zod";
|
|
21
|
-
|
|
22
|
-
export default Subscription.create({
|
|
23
|
-
input: z.object({
|
|
24
|
-
room: z.string(),
|
|
25
|
-
lastEventId: z.string().optional(),
|
|
26
|
-
}),
|
|
27
|
-
output: z.object({
|
|
28
|
-
id: z.string(),
|
|
29
|
-
text: z.string(),
|
|
30
|
-
sender: z.string(),
|
|
31
|
-
ts: z.number(),
|
|
32
|
-
}),
|
|
33
|
-
async *handler(input, ctx) {
|
|
34
|
-
let cursor = input.lastEventId ?? "0";
|
|
35
|
-
while (!ctx.signal.aborted) {
|
|
36
|
-
const msgs = await fetchNewMessages(input.room, cursor);
|
|
37
|
-
for (const m of msgs) {
|
|
38
|
-
cursor = m.id;
|
|
39
|
-
yield ctx.tracked(m.id, {
|
|
40
|
-
id: m.id,
|
|
41
|
-
text: m.text,
|
|
42
|
-
sender: m.sender,
|
|
43
|
-
ts: m.ts,
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
await sleep(1000);
|
|
47
|
-
}
|
|
48
|
-
},
|
|
49
|
-
});
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
### `ctx.tracked(id, payload)`
|
|
53
|
-
|
|
54
|
-
Advertises a resume token alongside the payload. The client receives the token
|
|
55
|
-
and echoes it back on reconnect via `lastEventId`. The token is **opaque to
|
|
56
|
-
the SDK** — the server handler decides its semantics:
|
|
57
|
-
|
|
58
|
-
- Monotonic int: `"42"` — resume after event 42
|
|
59
|
-
- ULID: `"01H9X..."` — resume after that ULID
|
|
60
|
-
- Encrypted cursor: consumer decrypts + decodes
|
|
61
|
-
- Timestamp: `"2026-06-04T15:00:00Z"` — resume after that moment
|
|
62
|
-
|
|
63
|
-
## Client side — `subscribe`
|
|
64
|
-
|
|
65
|
-
```typescript
|
|
66
|
-
import { subscribe } from "@theokit/sdk/subscription";
|
|
67
|
-
|
|
68
|
-
for await (const msg of subscribe<
|
|
69
|
-
{ room: string },
|
|
70
|
-
{ id: string; text: string; sender: string; ts: number }
|
|
71
|
-
>(
|
|
72
|
-
"chat",
|
|
73
|
-
{ room: "lobby" },
|
|
74
|
-
{
|
|
75
|
-
baseUrl: "http://localhost:3000",
|
|
76
|
-
transport: "auto", // 'ws' | 'sse' | 'auto' (default)
|
|
77
|
-
maxReconnectAttempts: 10, // 0 disables reconnect
|
|
78
|
-
},
|
|
79
|
-
)) {
|
|
80
|
-
console.log(`[${msg.sender}] ${msg.text}`);
|
|
81
|
-
}
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
## Transport selection
|
|
85
|
-
|
|
86
|
-
| Mode | When to use |
|
|
87
|
-
|---|---|
|
|
88
|
-
| `'auto'` (default) | Prefer WS, fall back to SSE — works everywhere |
|
|
89
|
-
| `'ws'` | Strict bidirectional — error if WS unavailable |
|
|
90
|
-
| `'sse'` | Browser-native EventSource, no upgrade required |
|
|
91
|
-
|
|
92
|
-
## Composing with LLM streaming
|
|
93
|
-
|
|
94
|
-
`Agent.streamObject` and `Subscription.create` are independent surfaces. Call
|
|
95
|
-
`Agent.streamObject` inside a subscription handler:
|
|
96
|
-
|
|
97
|
-
```typescript
|
|
98
|
-
export default Subscription.create({
|
|
99
|
-
input: z.object({ topic: z.string() }),
|
|
100
|
-
output: z.object({ kind: z.enum(["partial", "complete"]), text: z.string() }),
|
|
101
|
-
async *handler(input, ctx) {
|
|
102
|
-
let counter = 0;
|
|
103
|
-
const iter = Agent.streamObject({
|
|
104
|
-
schema: z.object({ text: z.string() }),
|
|
105
|
-
prompt: `Write a haiku about ${input.topic}`,
|
|
106
|
-
model: { id: "openrouter/openai/gpt-4o-mini" },
|
|
107
|
-
apiKey: process.env.OPENROUTER_API_KEY,
|
|
108
|
-
local: { settingSources: [] },
|
|
109
|
-
});
|
|
110
|
-
for await (const evt of iter) {
|
|
111
|
-
if (evt.type === "partial") {
|
|
112
|
-
yield ctx.tracked(String(++counter), {
|
|
113
|
-
kind: "partial",
|
|
114
|
-
text: JSON.stringify(evt.partial),
|
|
115
|
-
});
|
|
116
|
-
} else if (evt.type === "complete") {
|
|
117
|
-
yield ctx.tracked(String(++counter), {
|
|
118
|
-
kind: "complete",
|
|
119
|
-
text: evt.object.text,
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
},
|
|
124
|
-
});
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
## Multi-runtime support
|
|
128
|
-
|
|
129
|
-
| Runtime | v1.7.0 | v1.8.x (planned) |
|
|
130
|
-
|---|---|---|
|
|
131
|
-
| Node 22+ | Yes (`ws` optional peer) | Yes |
|
|
132
|
-
| Cloudflare Workers | Consumer-supplied `WsAdapter` only | `@theokit/sdk-ws-cloudflare` |
|
|
133
|
-
| Bun | Consumer-supplied `WsAdapter` only | `@theokit/sdk-ws-bun` |
|
|
134
|
-
| Deno | Consumer-supplied `WsAdapter` only | `@theokit/sdk-ws-deno` |
|
|
135
|
-
|
|
136
|
-
## Security checklist
|
|
137
|
-
|
|
138
|
-
1. Authenticate WS upgrade via the request object — auth runs BEFORE upgrade
|
|
139
|
-
2. Validate input via Zod schema (done by SDK automatically)
|
|
140
|
-
3. Bind resume tokens to session when token leakage allows replay
|
|
141
|
-
4. Force-close on session revocation via `ctx.disconnect(code, reason)`
|
|
142
|
-
5. Never log payloads — telemetry captures `{subscriptionName, lastEventId}` only
|
|
143
|
-
|
|
144
|
-
## Why sub-path import?
|
|
145
|
-
|
|
146
|
-
`@theokit/sdk/subscription` is a dedicated entry point to isolate the
|
|
147
|
-
subscription module from the main `index.ts` DTS bundle. Once the internal
|
|
148
|
-
rollup-dts cycle is resolved, `Theokit.subscribe` can be promoted additively.
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
user-invocable: false
|
|
3
|
-
paths:
|
|
4
|
-
- "**/*task-store*"
|
|
5
|
-
- "**/*taskstore*"
|
|
6
|
-
- "**/*TaskStore*"
|
|
7
|
-
description: TheoKit SDK task persistence — @theokit/sdk/task-store (TaskStore interface, InMemoryTaskStore, JsonFileTaskStore, getTaskStoreFor factory)
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# TheoKit Task Store
|
|
11
|
-
|
|
12
|
-
`@theokit/sdk/task-store` is the storage layer behind the task registry. Pick
|
|
13
|
-
`InMemoryTaskStore` (transient, single-process default) or `JsonFileTaskStore` (one JSON
|
|
14
|
-
file per task under a dir; single-process invariant — v0.2 SQLite covers cross-process).
|
|
15
|
-
|
|
16
|
-
```typescript
|
|
17
|
-
import {
|
|
18
|
-
getTaskStoreFor,
|
|
19
|
-
InMemoryTaskStore,
|
|
20
|
-
JsonFileTaskStore,
|
|
21
|
-
type TaskStore,
|
|
22
|
-
} from "@theokit/sdk/task-store";
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
## The `TaskStore` interface
|
|
26
|
-
|
|
27
|
-
All methods are async. `TaskHandle` / `TaskFilter` come from the main `@theokit/sdk`
|
|
28
|
-
barrel.
|
|
29
|
-
|
|
30
|
-
```typescript
|
|
31
|
-
interface TaskStore {
|
|
32
|
-
insert(handle: TaskHandle): Promise<void>;
|
|
33
|
-
update(id: string, mutate: (h: TaskHandle) => TaskHandle): Promise<TaskHandle | undefined>;
|
|
34
|
-
get(id: string): Promise<TaskHandle | undefined>;
|
|
35
|
-
list(filter: TaskFilter): Promise<TaskHandle[]>;
|
|
36
|
-
delete(id: string): Promise<boolean>;
|
|
37
|
-
evictTerminalOlderThan(epochMs: number): Promise<number>;
|
|
38
|
-
}
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
## Factory — `getTaskStoreFor`
|
|
42
|
-
|
|
43
|
-
Discriminated on `backend`; the `json` backend auto-creates its dir (mkdir recursive).
|
|
44
|
-
|
|
45
|
-
```typescript
|
|
46
|
-
const memory: TaskStore = getTaskStoreFor({ backend: "memory" });
|
|
47
|
-
const onDisk: TaskStore = getTaskStoreFor({ backend: "json", dir: ".theokit/tasks" });
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
Or construct directly:
|
|
51
|
-
|
|
52
|
-
```typescript
|
|
53
|
-
const store = new JsonFileTaskStore(".theokit/tasks"); // constructor(dir: string)
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
## Reading tasks
|
|
57
|
-
|
|
58
|
-
`list` returns at most `filter.limit ?? 100` handles; `JsonFileTaskStore` hard-caps
|
|
59
|
-
loaded entries at 256 — page larger timelines via `submittedBefore`.
|
|
60
|
-
|
|
61
|
-
```typescript
|
|
62
|
-
import type { TaskFilter } from "@theokit/sdk";
|
|
63
|
-
|
|
64
|
-
const filter: TaskFilter = { state: ["running", "queued"], kind: "run", limit: 50 };
|
|
65
|
-
const running = await store.list(filter);
|
|
66
|
-
|
|
67
|
-
for (const h of running) {
|
|
68
|
-
console.log(h.id, h.state, h.submittedAt);
|
|
69
|
-
if (h.cancelRequested) console.log(" (cross-process cancel requested)");
|
|
70
|
-
}
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
`cancelRequested` is set by the CLI's cross-process best-effort cancel (EC-7); the owning
|
|
74
|
-
process polls it at checkpoints. `evictTerminalOlderThan(epochMs)` removes terminal
|
|
75
|
-
handles older than a cutoff and returns the count removed.
|