@theokit/sdk 4.53.0 → 4.54.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 +1096 -8
- package/LICENSE +2 -2
- package/README.md +14 -9
- package/bin/theokit-migrate-config.mjs +11 -2
- 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-BiCINq25.d.ts → agent-CIUgz7cN.d.cts} +211 -858
- package/dist/{agent-Zta1kvGH.d.cts → agent-DSec-E0c.d.ts} +211 -858
- package/dist/agent-NOEGF4GI.cjs +61 -0
- package/dist/{agent-JX5SBYDE.cjs.map → agent-NOEGF4GI.cjs.map} +1 -1
- package/dist/agent-VGD5WL4N.js +52 -0
- package/dist/{agent-ZAGG6ZBS.js.map → agent-VGD5WL4N.js.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-JMU7ASDB.js.map → agent-session-store-P6V3FINW.js.map} +1 -1
- package/dist/agent-session-store-ZJ3JSRS4.cjs +24 -0
- package/dist/{agent-session-store-EPX2WQI4.cjs.map → agent-session-store-ZJ3JSRS4.cjs.map} +1 -1
- package/dist/agent.d.ts +25 -7
- package/dist/auth/index.cjs +53 -36
- package/dist/auth/index.cjs.map +1 -1
- package/dist/auth/index.d.cts +1 -1
- package/dist/auth/index.d.ts +1 -1
- package/dist/auth/index.js +27 -10
- package/dist/auth/index.js.map +1 -1
- package/dist/{batch-NLIS4QTW.js → batch-2TGJMNCJ.js} +14 -13
- package/dist/batch-2TGJMNCJ.js.map +1 -0
- package/dist/{batch-WQ3AJCDV.cjs → batch-ND32UKZS.cjs} +31 -30
- package/dist/batch-ND32UKZS.cjs.map +1 -0
- package/dist/{chunk-TR4V2LHV.cjs → chunk-2ADR2GSO.cjs} +8 -8
- package/dist/chunk-2ADR2GSO.cjs.map +1 -0
- package/dist/{chunk-7HQVDLFI.cjs → chunk-2C72DXQF.cjs} +65 -27
- package/dist/chunk-2C72DXQF.cjs.map +1 -0
- package/dist/{chunk-DEZ75ET5.js → chunk-2D34UTDC.js} +21 -5
- package/dist/chunk-2D34UTDC.js.map +1 -0
- package/dist/{chunk-XGYI2KQH.js → chunk-2QKTVKH3.js} +4 -4
- package/dist/{chunk-XGYI2KQH.js.map → chunk-2QKTVKH3.js.map} +1 -1
- package/dist/{chunk-BBZYXVLZ.cjs → chunk-2ZPEDVLM.cjs} +2 -2
- package/dist/chunk-2ZPEDVLM.cjs.map +1 -0
- package/dist/{chunk-DHVNJYTO.js → chunk-3E77SX4H.js} +4 -4
- package/dist/{chunk-DHVNJYTO.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-3KGLRRFC.cjs +18 -0
- package/dist/chunk-3KGLRRFC.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-FUASIT3E.cjs → chunk-3YJNUKYN.cjs} +15 -15
- package/dist/{chunk-FUASIT3E.cjs.map → chunk-3YJNUKYN.cjs.map} +1 -1
- package/dist/{chunk-R7TKOQMJ.js → chunk-44JAAH4X.js} +3 -3
- package/dist/chunk-44JAAH4X.js.map +1 -0
- package/dist/{chunk-XRI6DXPZ.js → chunk-44MBDIHG.js} +4 -4
- package/dist/chunk-44MBDIHG.js.map +1 -0
- package/dist/{chunk-BXVSBYGW.js → chunk-4ERPXIVB.js} +5 -5
- package/dist/{chunk-BXVSBYGW.js.map → chunk-4ERPXIVB.js.map} +1 -1
- package/dist/{chunk-T6QUCG7L.cjs → chunk-4I55V454.cjs} +4 -4
- package/dist/chunk-4I55V454.cjs.map +1 -0
- 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-3YYDHUNH.cjs → chunk-53CBTBWO.cjs} +11 -11
- package/dist/{chunk-3YYDHUNH.cjs.map → chunk-53CBTBWO.cjs.map} +1 -1
- package/dist/{chunk-2QMK627M.cjs → chunk-5BJV5UPY.cjs} +27 -27
- package/dist/chunk-5BJV5UPY.cjs.map +1 -0
- package/dist/{chunk-OZXPA3ME.js → chunk-5JLFFPCH.js} +4 -4
- package/dist/{chunk-OZXPA3ME.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-EQMLJ52C.cjs → chunk-5UOVYM3P.cjs} +36 -31
- package/dist/chunk-5UOVYM3P.cjs.map +1 -0
- package/dist/{chunk-33L2NVTJ.cjs → chunk-5USCYPPI.cjs} +15 -15
- package/dist/chunk-5USCYPPI.cjs.map +1 -0
- package/dist/{chunk-I732VEDW.js → chunk-AEOZTXVW.js} +3 -3
- package/dist/{chunk-I732VEDW.js.map → chunk-AEOZTXVW.js.map} +1 -1
- package/dist/{chunk-5XXUYU3M.js → chunk-AG5JPQIY.js} +3 -3
- package/dist/{chunk-5XXUYU3M.js.map → chunk-AG5JPQIY.js.map} +1 -1
- package/dist/{chunk-3SHW7XKK.js → chunk-AGSBJD2L.js} +27 -29
- package/dist/chunk-AGSBJD2L.js.map +1 -0
- package/dist/{chunk-KZBB4YKU.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-UJ3SXRZZ.js → chunk-BMAZLQQ4.js} +3 -3
- package/dist/{chunk-UJ3SXRZZ.js.map → chunk-BMAZLQQ4.js.map} +1 -1
- package/dist/{chunk-NUEL6RCZ.cjs → chunk-BVZW2B5V.cjs} +4 -4
- package/dist/chunk-BVZW2B5V.cjs.map +1 -0
- package/dist/{chunk-W4FV7JBH.js → chunk-CQ2TQ32Y.js} +4 -4
- package/dist/chunk-CQ2TQ32Y.js.map +1 -0
- package/dist/{chunk-NFATC6ZF.cjs → chunk-CQGYNZ3K.cjs} +4 -4
- package/dist/{chunk-NFATC6ZF.cjs.map → chunk-CQGYNZ3K.cjs.map} +1 -1
- package/dist/{chunk-3R4ZCQAZ.cjs → chunk-CTCGWIUD.cjs} +5 -5
- package/dist/{chunk-3R4ZCQAZ.cjs.map → chunk-CTCGWIUD.cjs.map} +1 -1
- package/dist/{chunk-HTK54K2J.js → chunk-CV7XMBHP.js} +4 -4
- package/dist/chunk-CV7XMBHP.js.map +1 -0
- package/dist/{chunk-NOS7PTKP.js → chunk-DAPSQZT4.js} +15 -10
- package/dist/chunk-DAPSQZT4.js.map +1 -0
- package/dist/{chunk-E3OCRJU6.cjs → chunk-DQKERTND.cjs} +11 -11
- package/dist/{chunk-E3OCRJU6.cjs.map → chunk-DQKERTND.cjs.map} +1 -1
- package/dist/{chunk-I5OTK2RP.js → chunk-DUIF54UP.js} +6 -6
- package/dist/chunk-DUIF54UP.js.map +1 -0
- package/dist/{chunk-C4EU627W.js → chunk-DZBSJX6J.js} +4 -4
- package/dist/{chunk-C4EU627W.js.map → chunk-DZBSJX6J.js.map} +1 -1
- package/dist/{chunk-ADVZIC43.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-RAACTJ7C.cjs → chunk-F3YZMOAU.cjs} +8 -8
- package/dist/{chunk-RAACTJ7C.cjs.map → chunk-F3YZMOAU.cjs.map} +1 -1
- package/dist/{chunk-KIX45IKP.js → chunk-F7AQV62G.js} +5 -4
- package/dist/chunk-F7AQV62G.js.map +1 -0
- package/dist/{chunk-2YWWPCGX.js → chunk-FXEUP75G.js} +10 -12
- package/dist/chunk-FXEUP75G.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-634YVZLU.js → chunk-GJ6RK75E.js} +5 -5
- package/dist/chunk-GJ6RK75E.js.map +1 -0
- package/dist/{chunk-Z5U2JGEK.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-BWGXYOBZ.cjs → chunk-GWC3HADL.cjs} +4 -4
- package/dist/{chunk-BWGXYOBZ.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-RTLUZKDL.cjs → chunk-HJBMA5MB.cjs} +11 -11
- package/dist/{chunk-RTLUZKDL.cjs.map → chunk-HJBMA5MB.cjs.map} +1 -1
- package/dist/{chunk-AM2CNBKE.js → chunk-HKCKOAIO.js} +2 -2
- package/dist/chunk-HKCKOAIO.js.map +1 -0
- package/dist/{chunk-PVBANCWU.cjs → chunk-HY57ULY2.cjs} +5 -5
- package/dist/{chunk-PVBANCWU.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-2CFEET3Y.cjs → chunk-I6TGFUCO.cjs} +4 -4
- package/dist/chunk-I6TGFUCO.cjs.map +1 -0
- package/dist/{chunk-HI4ZW62S.js → chunk-IDCKSLYH.js} +4 -4
- package/dist/chunk-IDCKSLYH.js.map +1 -0
- package/dist/{chunk-KNZU4YO5.cjs → chunk-ILCGLTSA.cjs} +4 -4
- package/dist/{chunk-KNZU4YO5.cjs.map → chunk-ILCGLTSA.cjs.map} +1 -1
- package/dist/{chunk-44IISBRZ.cjs → chunk-IWBGCBR6.cjs} +4 -4
- package/dist/{chunk-44IISBRZ.cjs.map → chunk-IWBGCBR6.cjs.map} +1 -1
- package/dist/{chunk-R3CKCRK3.cjs → chunk-J24VJOH3.cjs} +22 -6
- package/dist/chunk-J24VJOH3.cjs.map +1 -0
- package/dist/{chunk-ECPL5RV6.cjs → chunk-JHPGF3FP.cjs} +8 -8
- package/dist/{chunk-ECPL5RV6.cjs.map → chunk-JHPGF3FP.cjs.map} +1 -1
- package/dist/{chunk-SXSPMRSV.cjs → chunk-JTB5Q42C.cjs} +21 -19
- package/dist/chunk-JTB5Q42C.cjs.map +1 -0
- package/dist/{chunk-2YGIBOUH.cjs → chunk-K3FW2XZD.cjs} +9 -9
- package/dist/chunk-K3FW2XZD.cjs.map +1 -0
- package/dist/{chunk-6DCTL32L.cjs → chunk-NGESVVJN.cjs} +17 -17
- package/dist/chunk-NGESVVJN.cjs.map +1 -0
- package/dist/{chunk-MV4TOCUK.js → chunk-NLTVXLGT.js} +3 -3
- package/dist/{chunk-MV4TOCUK.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-ZSJPRPN7.js → chunk-OC4NTGMN.js} +3 -3
- package/dist/{chunk-ZSJPRPN7.js.map → chunk-OC4NTGMN.js.map} +1 -1
- package/dist/{chunk-K42QGAKM.cjs → chunk-P6A3M6VD.cjs} +10 -10
- package/dist/{chunk-K42QGAKM.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-2XLKLVVR.js → chunk-Q5EWJPRY.js} +2 -2
- package/dist/chunk-Q5EWJPRY.js.map +1 -0
- package/dist/{chunk-XWCTBGYK.js → chunk-QARJGQSA.js} +16 -7
- package/dist/chunk-QARJGQSA.js.map +1 -0
- package/dist/{chunk-EUBGGYPH.cjs → chunk-QDED6YO6.cjs} +5 -5
- package/dist/{chunk-EUBGGYPH.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-PLUCC4N5.js → chunk-QRSUA2CV.js} +3 -3
- package/dist/{chunk-PLUCC4N5.js.map → chunk-QRSUA2CV.js.map} +1 -1
- package/dist/{chunk-YTO5BRBD.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-BC5EUG7R.cjs → chunk-RM7Y65IG.cjs} +18 -20
- package/dist/chunk-RM7Y65IG.cjs.map +1 -0
- package/dist/{chunk-RP5HQVLD.js → chunk-RNB4APBZ.js} +30 -7
- package/dist/chunk-RNB4APBZ.js.map +1 -0
- package/dist/{chunk-V45L2OYP.cjs → chunk-ROYPRJH4.cjs} +9 -9
- package/dist/{chunk-V45L2OYP.cjs.map → chunk-ROYPRJH4.cjs.map} +1 -1
- package/dist/{chunk-JJZ4NIAG.js → chunk-RUDY2GTT.js} +61 -24
- package/dist/chunk-RUDY2GTT.js.map +1 -0
- package/dist/{chunk-QLAWEGTZ.cjs → chunk-SKXBJ2NU.cjs} +7 -7
- package/dist/chunk-SKXBJ2NU.cjs.map +1 -0
- package/dist/chunk-SSQZA3DZ.js +15 -0
- package/dist/chunk-SSQZA3DZ.js.map +1 -0
- package/dist/{chunk-7TB5U7RK.js → chunk-SUKXXLWD.js} +6 -6
- package/dist/chunk-SUKXXLWD.js.map +1 -0
- package/dist/{chunk-N43XLTHZ.js → chunk-T73NA43R.js} +3 -3
- package/dist/{chunk-N43XLTHZ.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-4X3SBHPK.js → chunk-T7XEKOVW.js} +18 -17
- package/dist/chunk-T7XEKOVW.js.map +1 -0
- package/dist/{chunk-NZOR3N4E.js → chunk-TPTZA6NI.js} +293 -126
- package/dist/chunk-TPTZA6NI.js.map +1 -0
- package/dist/{chunk-QN5N3ZVT.cjs → chunk-TTHBHAJI.cjs} +44 -46
- package/dist/chunk-TTHBHAJI.cjs.map +1 -0
- package/dist/{chunk-CZHPR2G7.cjs → chunk-U2AC6JUP.cjs} +8 -8
- package/dist/chunk-U2AC6JUP.cjs.map +1 -0
- package/dist/{chunk-ITQ4NO4P.js → chunk-UC3HT2S4.js} +3 -3
- package/dist/{chunk-ITQ4NO4P.js.map → chunk-UC3HT2S4.js.map} +1 -1
- package/dist/{chunk-2VFZQEDW.cjs → chunk-UFAO4T7Z.cjs} +565 -399
- package/dist/chunk-UFAO4T7Z.cjs.map +1 -0
- package/dist/{chunk-DM6Y5B2G.cjs → chunk-UNDROG5N.cjs} +201 -154
- package/dist/chunk-UNDROG5N.cjs.map +1 -0
- package/dist/{chunk-L7EGRCKJ.js → chunk-UPRJR6IP.js} +4 -4
- package/dist/chunk-UPRJR6IP.js.map +1 -0
- package/dist/{chunk-23VZBRDQ.js → chunk-UQGQFBRL.js} +3 -3
- package/dist/chunk-UQGQFBRL.js.map +1 -0
- package/dist/{chunk-2Y5NO2SY.js → chunk-VDEWG5TV.js} +88 -43
- package/dist/chunk-VDEWG5TV.js.map +1 -0
- package/dist/{chunk-CHVSMEKM.js → chunk-VF7EWVDG.js} +3 -3
- package/dist/chunk-VF7EWVDG.js.map +1 -0
- package/dist/{chunk-PNVDQL5Y.cjs → chunk-VTYY7XL5.cjs} +2 -2
- package/dist/chunk-VTYY7XL5.cjs.map +1 -0
- package/dist/{chunk-E6T264NS.js → chunk-WKRSH2VR.js} +3 -3
- package/dist/{chunk-E6T264NS.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-EFXJ5C7X.js → chunk-XN7NOENA.js} +6 -6
- package/dist/chunk-XN7NOENA.js.map +1 -0
- package/dist/{chunk-AMYY3JHQ.cjs → chunk-XSX2UU6Y.cjs} +10 -9
- package/dist/chunk-XSX2UU6Y.cjs.map +1 -0
- package/dist/{chunk-6PTCKXD3.js → chunk-XV4IZNV4.js} +9 -9
- package/dist/chunk-XV4IZNV4.js.map +1 -0
- package/dist/{chunk-FBZMSLDC.cjs → chunk-XWL6O3SW.cjs} +4 -4
- package/dist/chunk-XWL6O3SW.cjs.map +1 -0
- package/dist/{chunk-OIBHY6JQ.js → chunk-YMA4S2WO.js} +4 -4
- package/dist/{chunk-OIBHY6JQ.js.map → chunk-YMA4S2WO.js.map} +1 -1
- package/dist/{chunk-T5ZWI3MC.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-K5LXTBPJ.js +22 -0
- package/dist/{compact-session-EJ36VH5I.js.map → compact-session-K5LXTBPJ.js.map} +1 -1
- package/dist/compact-session-YCT6JMBX.cjs +59 -0
- package/dist/{compact-session-6GKIS4SD.cjs.map → compact-session-YCT6JMBX.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-DCECDKWN.js.map → context-FDOON2DB.js.map} +1 -1
- package/dist/context-VMIE4BMD.cjs +23 -0
- package/dist/{context-4HGPCOH6.cjs.map → context-VMIE4BMD.cjs.map} +1 -1
- package/dist/cron-CRwy2JBF.d.ts +240 -0
- package/dist/cron-DxxeQ-sK.d.cts +240 -0
- package/dist/cron.cjs +44 -42
- package/dist/cron.d.cts +5 -3
- package/dist/cron.d.ts +5 -3
- package/dist/cron.js +43 -41
- package/dist/define-tool.d.ts +14 -6
- package/dist/{errors-CHllybaU.d.ts → errors-BgJH9PHi.d.cts} +39 -24
- package/dist/{errors-BSoXcl3F.d.cts → 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 +62 -59
- 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 +52 -49
- package/dist/eval.js.map +1 -1
- package/dist/event-bus.d.ts +16 -0
- package/dist/{executor-3CGPLVJL.js → executor-BMEHFOXZ.js} +8 -7
- package/dist/executor-BMEHFOXZ.js.map +1 -0
- package/dist/{executor-4SW7QGZ4.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-VXXDIBGM.cjs.map → fs-session-store-3MOJQGP2.cjs.map} +1 -1
- package/dist/fs-session-store-IN7JTTXD.js +11 -0
- package/dist/{fs-session-store-LIKYT24K.js.map → fs-session-store-IN7JTTXD.js.map} +1 -1
- package/dist/generate-object-N5MDZUJI.js +8 -0
- package/dist/{generate-object-TVQCW2IZ.js.map → generate-object-N5MDZUJI.js.map} +1 -1
- package/dist/generate-object-PGSP5U7N.cjs +21 -0
- package/dist/{generate-object-E465DX5I.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-HGGL4DD5.cjs.map → index-manager-NG5YENWO.cjs.map} +1 -1
- package/dist/index-manager-ZMRJ6ZII.js +13 -0
- package/dist/{index-manager-EA6FGIQG.js.map → index-manager-ZMRJ6ZII.js.map} +1 -1
- package/dist/index.cjs +176 -154
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +761 -57
- package/dist/index.d.ts +761 -57
- package/dist/index.js +62 -59
- package/dist/index.js.map +1 -1
- package/dist/{inject-session-HO7FYVCX.js → inject-session-DDR6X6PC.js} +9 -8
- package/dist/inject-session-DDR6X6PC.js.map +1 -0
- package/dist/inject-session-XLO3KTBM.cjs +29 -0
- package/dist/inject-session-XLO3KTBM.cjs.map +1 -0
- package/dist/internal/auth/auth-types.d.ts +84 -2
- package/dist/internal/auth/credential-store.d.ts +34 -6
- package/dist/internal/auth/oauth-device.d.ts +2 -3
- 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/router.d.ts +8 -0
- package/dist/internal/llm/types.d.ts +12 -1
- package/dist/internal/local-agent/mcp-pool.d.ts +2 -4
- package/dist/internal/local-agent/real-local-run-provider.d.ts +8 -3
- package/dist/internal/local-agent/real-local-run-tools.d.ts +8 -0
- package/dist/internal/mcp/oauth.d.ts +19 -1
- package/dist/internal/mcp/token-storage.d.ts +52 -1
- 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/atomic-write.d.cts +93 -0
- package/dist/internal/persistence/atomic-write.d.ts +93 -0
- 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 +41 -1
- package/dist/internal/persistence/file-lock.d.ts +41 -1
- 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 +29 -1
- package/dist/internal/persistence/fts5-sanitize.d.ts +29 -1
- 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-dir.d.cts +1 -0
- package/dist/internal/persistence/session-dir.d.ts +1 -0
- package/dist/internal/persistence/session-writer.d.cts +20 -7
- package/dist/internal/persistence/session-writer.d.ts +20 -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 +53 -0
- package/dist/internal/persistence/sqlite-wal.d.ts +53 -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/cerebras.d.ts +2 -2
- package/dist/internal/providers/builtin/deepinfra.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 +37 -1
- 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/env-policy.d.ts +1 -3
- 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 +107 -0
- package/dist/internal/security/path-guard.d.ts +107 -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/compact-session.d.ts +2 -2
- 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 +38 -0
- package/dist/job-queue.d.ts +18 -0
- package/dist/judge-call-DWHAJATE.js +6 -0
- package/dist/{judge-call-QMKGC2ZK.js.map → judge-call-DWHAJATE.js.map} +1 -1
- package/dist/judge-call-EGYRC2RE.cjs +23 -0
- package/dist/{judge-call-GVIJWQVE.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 +43 -28
- package/dist/models.cjs.map +1 -1
- package/dist/models.js +26 -11
- 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-UBY26R4I.cjs.map → registry-VFKX7WOP.cjs.map} +1 -1
- package/dist/registry-VFP3WWQP.js +10 -0
- package/dist/{registry-GC7BQMSV.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.ts → run-BYSHf58D.d.cts} +185 -33
- package/dist/{run-C8FBAC8o.d.cts → 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 -14
- package/dist/sandbox/bwrap.d.ts +27 -14
- package/dist/sandbox/index.cjs +21 -20
- package/dist/sandbox/index.cjs.map +1 -1
- package/dist/sandbox/index.js +6 -5
- 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-SKIRBEJE.js.map → session-transcript-AKDYYGXQ.js.map} +1 -1
- package/dist/session-transcript-JXHFTB7G.cjs +51 -0
- package/dist/{session-transcript-TNAJ4O3M.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-T4DAMNVB.cjs.map → stream-object-BUCF5PHO.cjs.map} +1 -1
- package/dist/stream-object-L57K4OFS.js +8 -0
- package/dist/{stream-object-QMNR3YFF.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-3CXBQWWY.cjs.map → subagents-loader-AZIXJ7D3.cjs.map} +1 -1
- package/dist/subagents-loader-J54ESLDV.js +7 -0
- package/dist/{subagents-loader-WN2SB6PV.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 +69 -17
- 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 +21 -2
- 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 +208 -172
- package/docs/harness-capability-map.md +1357 -304
- package/package.json +21 -8
- 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-JX5SBYDE.cjs +0 -59
- package/dist/agent-ZAGG6ZBS.js +0 -50
- package/dist/agent-session-store-EPX2WQI4.cjs +0 -23
- package/dist/agent-session-store-JMU7ASDB.js +0 -6
- package/dist/batch-NLIS4QTW.js.map +0 -1
- package/dist/batch-WQ3AJCDV.cjs.map +0 -1
- package/dist/chunk-23VZBRDQ.js.map +0 -1
- package/dist/chunk-2CFEET3Y.cjs.map +0 -1
- package/dist/chunk-2QMK627M.cjs.map +0 -1
- package/dist/chunk-2RW7K6FN.cjs.map +0 -1
- package/dist/chunk-2VFZQEDW.cjs.map +0 -1
- package/dist/chunk-2XLKLVVR.js.map +0 -1
- package/dist/chunk-2Y5NO2SY.js.map +0 -1
- package/dist/chunk-2YGIBOUH.cjs.map +0 -1
- package/dist/chunk-2YWWPCGX.js.map +0 -1
- package/dist/chunk-33L2NVTJ.cjs.map +0 -1
- package/dist/chunk-34XOCZJO.js.map +0 -1
- package/dist/chunk-3SHW7XKK.js.map +0 -1
- package/dist/chunk-4NAKHID5.js.map +0 -1
- package/dist/chunk-4X3SBHPK.js.map +0 -1
- package/dist/chunk-5NBUH3NO.js.map +0 -1
- package/dist/chunk-634YVZLU.js.map +0 -1
- package/dist/chunk-6DCTL32L.cjs.map +0 -1
- package/dist/chunk-6PTCKXD3.js.map +0 -1
- package/dist/chunk-7HQVDLFI.cjs.map +0 -1
- package/dist/chunk-7TB5U7RK.js.map +0 -1
- package/dist/chunk-7W7ZWMLQ.js.map +0 -1
- package/dist/chunk-ADVZIC43.cjs.map +0 -1
- package/dist/chunk-AM2CNBKE.js.map +0 -1
- package/dist/chunk-AMYY3JHQ.cjs.map +0 -1
- package/dist/chunk-B4YA6BRS.cjs.map +0 -1
- package/dist/chunk-BBZYXVLZ.cjs.map +0 -1
- package/dist/chunk-BC5EUG7R.cjs.map +0 -1
- package/dist/chunk-CAH3G4IS.js.map +0 -1
- package/dist/chunk-CHVSMEKM.js.map +0 -1
- package/dist/chunk-CZHPR2G7.cjs.map +0 -1
- package/dist/chunk-DEZ75ET5.js.map +0 -1
- package/dist/chunk-DM6Y5B2G.cjs.map +0 -1
- package/dist/chunk-EFXJ5C7X.js.map +0 -1
- package/dist/chunk-EQMLJ52C.cjs.map +0 -1
- package/dist/chunk-FBZMSLDC.cjs.map +0 -1
- package/dist/chunk-HI4ZW62S.js.map +0 -1
- package/dist/chunk-HTK54K2J.js.map +0 -1
- package/dist/chunk-I5OTK2RP.js.map +0 -1
- package/dist/chunk-JJZ4NIAG.js.map +0 -1
- package/dist/chunk-KIX45IKP.js.map +0 -1
- package/dist/chunk-KZBB4YKU.js.map +0 -1
- package/dist/chunk-L5YO6PWL.cjs.map +0 -1
- package/dist/chunk-L7EGRCKJ.js.map +0 -1
- package/dist/chunk-NOS7PTKP.js.map +0 -1
- package/dist/chunk-NUEL6RCZ.cjs.map +0 -1
- package/dist/chunk-NZOR3N4E.js.map +0 -1
- package/dist/chunk-OKLYRPKL.cjs.map +0 -1
- package/dist/chunk-OXNYIMZZ.js.map +0 -1
- package/dist/chunk-PNVDQL5Y.cjs.map +0 -1
- package/dist/chunk-QLAWEGTZ.cjs.map +0 -1
- package/dist/chunk-QN5N3ZVT.cjs.map +0 -1
- package/dist/chunk-R3CKCRK3.cjs.map +0 -1
- package/dist/chunk-R7TKOQMJ.js.map +0 -1
- package/dist/chunk-RP5HQVLD.js.map +0 -1
- package/dist/chunk-SXSPMRSV.cjs.map +0 -1
- package/dist/chunk-T5ZWI3MC.cjs.map +0 -1
- package/dist/chunk-T6QUCG7L.cjs.map +0 -1
- package/dist/chunk-TR4V2LHV.cjs.map +0 -1
- package/dist/chunk-VYCKUKPA.cjs.map +0 -1
- package/dist/chunk-VYHJZVL5.cjs.map +0 -1
- package/dist/chunk-W4FV7JBH.js.map +0 -1
- package/dist/chunk-X2FR4OIT.js.map +0 -1
- package/dist/chunk-XRI6DXPZ.js.map +0 -1
- package/dist/chunk-XWCTBGYK.js.map +0 -1
- package/dist/chunk-YLQQX5W2.cjs.map +0 -1
- package/dist/chunk-YTO5BRBD.cjs.map +0 -1
- package/dist/chunk-Z5U2JGEK.cjs.map +0 -1
- package/dist/compact-session-6GKIS4SD.cjs +0 -58
- package/dist/compact-session-EJ36VH5I.js +0 -21
- package/dist/context-4HGPCOH6.cjs +0 -22
- package/dist/context-DCECDKWN.js +0 -5
- package/dist/cron-DgHJnMAK.d.cts +0 -631
- package/dist/cron-DyWQsEG6.d.ts +0 -631
- package/dist/executor-3CGPLVJL.js.map +0 -1
- package/dist/executor-4SW7QGZ4.cjs.map +0 -1
- package/dist/fs-session-store-LIKYT24K.js +0 -10
- package/dist/fs-session-store-VXXDIBGM.cjs +0 -19
- package/dist/generate-object-E465DX5I.cjs +0 -20
- package/dist/generate-object-TVQCW2IZ.js +0 -7
- package/dist/index-manager-EA6FGIQG.js +0 -12
- package/dist/index-manager-HGGL4DD5.cjs +0 -21
- package/dist/inject-session-67SF65FC.cjs +0 -28
- package/dist/inject-session-67SF65FC.cjs.map +0 -1
- package/dist/inject-session-HO7FYVCX.js.map +0 -1
- package/dist/judge-call-GVIJWQVE.cjs +0 -22
- package/dist/judge-call-QMKGC2ZK.js +0 -5
- package/dist/oauth-transaction-store-7CKHPQRN.cjs +0 -32
- package/dist/oauth-transaction-store-W74I6EFD.js +0 -3
- package/dist/registry-GC7BQMSV.js +0 -9
- package/dist/registry-UBY26R4I.cjs +0 -46
- package/dist/session-transcript-SKIRBEJE.js +0 -5
- package/dist/session-transcript-TNAJ4O3M.cjs +0 -50
- package/dist/stream-object-QMNR3YFF.js +0 -7
- package/dist/stream-object-T4DAMNVB.cjs +0 -20
- package/dist/subagents-loader-3CXBQWWY.cjs +0 -15
- package/dist/subagents-loader-WN2SB6PV.js +0 -6
|
@@ -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.
|